glimmervoid 0.46.2-next.110 → 0.46.2-next.115
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/{benchmark-panel-7Mwp8_8N.js → benchmark-panel-C4mpk8j2.js} +1 -1
- package/dist/client/assets/benchmark-panel-C4mpk8j2.js.br +0 -0
- package/dist/client/assets/{dialogs-2TynuBlk.js → dialogs-CNLg_Ggz.js} +2 -2
- package/dist/client/assets/dialogs-CNLg_Ggz.js.br +0 -0
- package/dist/client/assets/{hooks-panel-z3cBAfkm.js → hooks-panel-Dg0zOBrq.js} +1 -1
- package/dist/client/assets/hooks-panel-Dg0zOBrq.js.br +0 -0
- package/dist/client/assets/index-q6rb4Bxj.js +84 -0
- package/dist/client/assets/index-q6rb4Bxj.js.br +0 -0
- package/dist/client/assets/issues-panel-CfGIphXj.js +1 -0
- package/dist/client/assets/issues-panel-CfGIphXj.js.br +0 -0
- package/dist/client/assets/phone-shell-CsSctWYn.js +1 -0
- package/dist/client/assets/phone-shell-CsSctWYn.js.br +0 -0
- package/dist/client/assets/plan-face-C8wrPA9n.js +3 -0
- package/dist/client/assets/plan-face-C8wrPA9n.js.br +0 -0
- package/dist/client/assets/{pr-scope-tabs-BVTTAk2l.js → pr-scope-tabs-D1ubxrZ7.js} +1 -1
- package/dist/client/assets/pr-scope-tabs-D1ubxrZ7.js.br +0 -0
- package/dist/client/assets/{radar-panel-DvRmklxX.js → radar-panel-CfnVG4Os.js} +1 -1
- package/dist/client/assets/radar-panel-CfnVG4Os.js.br +0 -0
- package/dist/client/assets/review-queue-panel-D3PVIeCs.js +10 -0
- package/dist/client/assets/review-queue-panel-D3PVIeCs.js.br +0 -0
- package/dist/client/assets/{settings-panel-BlCmPEk0.js → settings-panel-CUhLnAVj.js} +4 -4
- package/dist/client/assets/settings-panel-CUhLnAVj.js.br +0 -0
- package/dist/client/assets/trace-panel-xiEqUO10.js +2 -0
- package/dist/client/assets/trace-panel-xiEqUO10.js.br +0 -0
- package/dist/client/assets/ui-state-core-Nssh-6QJ.js +1 -0
- package/dist/client/assets/usage-panel-DTZSVZrx.js +1 -0
- package/dist/client/assets/usage-panel-DTZSVZrx.js.br +0 -0
- package/dist/client/assets/{visions-panel-DW5taW_d.js → visions-panel-BOX-F0QV.js} +1 -1
- package/dist/client/assets/visions-panel-BOX-F0QV.js.br +0 -0
- package/dist/client/index.html +2 -1
- package/dist/client/index.html.br +0 -0
- package/package.json +1 -1
- package/dist/client/assets/benchmark-panel-7Mwp8_8N.js.br +0 -0
- package/dist/client/assets/dialogs-2TynuBlk.js.br +0 -0
- package/dist/client/assets/hooks-panel-z3cBAfkm.js.br +0 -0
- package/dist/client/assets/index-B_EPfadE.js +0 -84
- package/dist/client/assets/index-B_EPfadE.js.br +0 -0
- package/dist/client/assets/issues-panel-DDlmaCMc.js +0 -1
- package/dist/client/assets/issues-panel-DDlmaCMc.js.br +0 -0
- package/dist/client/assets/plan-face-CUPpYxiG.js +0 -3
- package/dist/client/assets/plan-face-CUPpYxiG.js.br +0 -0
- package/dist/client/assets/pr-scope-tabs-BVTTAk2l.js.br +0 -0
- package/dist/client/assets/radar-panel-DvRmklxX.js.br +0 -0
- package/dist/client/assets/review-queue-panel-CDNG-Bbp.js +0 -10
- package/dist/client/assets/review-queue-panel-CDNG-Bbp.js.br +0 -0
- package/dist/client/assets/settings-panel-BlCmPEk0.js.br +0 -0
- package/dist/client/assets/trace-panel-svTuppEP.js +0 -2
- package/dist/client/assets/trace-panel-svTuppEP.js.br +0 -0
- package/dist/client/assets/usage-panel-CEZmDrzW.js +0 -1
- package/dist/client/assets/usage-panel-CEZmDrzW.js.br +0 -0
- package/dist/client/assets/visions-panel-DW5taW_d.js.br +0 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dialogs-CNLg_Ggz.js","assets/dom-helpers-B98sy9ep.js","assets/zod-BRLv4KqJ.js","assets/control-ws-C8SS9PPx.js","assets/poll-ago-DdlzkUaM.js","assets/action-status-D9Sf2cZp.js","assets/modal-5t7_5VCF.js","assets/plan-face-C8wrPA9n.js","assets/ui-state-core-Nssh-6QJ.js","assets/roving-keys-core-BDobx2It.js","assets/plan-face-BKvWQchw.css","assets/phone-shell-CsSctWYn.js","assets/card-dom-BeRjc5Sk.js","assets/review-queue-panel-D3PVIeCs.js","assets/ui-prefs-Dvsgw_ZF.js","assets/pr-scope-tabs-D1ubxrZ7.js","assets/review-queue-panel-Dfky79CM.css","assets/issues-panel-CfGIphXj.js","assets/issues-panel-CPjbxcmf.css","assets/usage-panel-DTZSVZrx.js","assets/usage-panel-DNM1lX5J.css","assets/radar-panel-CfnVG4Os.js","assets/radar-panel-DZnRUVtP.css","assets/visions-panel-BOX-F0QV.js","assets/visions-panel-pBP6aaaP.css","assets/hooks-panel-Dg0zOBrq.js","assets/hooks-panel-vO6hRv8A.css","assets/trace-panel-xiEqUO10.js","assets/trace-panel-8Txvz14_.css","assets/benchmark-panel-C4mpk8j2.js","assets/benchmark-panel-DDwPBdjB.css","assets/settings-panel-CUhLnAVj.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,An as s,At as c,C as l,Ct as u,Dn as d,Dt as f,En as p,Et as m,F as h,Gt as g,Ht as _,I as v,Jt as y,Kt as b,L as ee,Mn as x,N as te,Nn as ne,O as re,On as S,Pn as ie,Qt as C,R as ae,Rt as oe,S as se,Tt as ce,Ut as le,Wt as ue,Xt as de,Zt as fe,_ as pe,_t as me,b as he,c as ge,d as _e,en as ve,f as ye,g as be,h as w,ht as xe,j as Se,jt as Ce,kt as we,l as Te,m as T,mt as Ee,n as De,o as E,qt as Oe,rt as ke,s as Ae,t as je,tn as Me,v as Ne,wn as Pe,wt as Fe,x as Ie,y as Le,yt as Re,z as ze}from"./dom-helpers-B98sy9ep.js";import{S as Be,_ as Ve,a as He,b as Ue,c as We,d as Ge,f as Ke,g as qe,h as Je,i as Ye,l as D,m as Xe,n as Ze,o as Qe,p as $e,r as et,s as tt,t as nt,u as O,v as rt,x as it,y as at}from"./control-ws-C8SS9PPx.js";import{a as ot,c as st,d as k,f as A,i as ct,l as lt,m as j,n as ut,o as dt,p as ft,s as pt,u as mt}from"./poll-ago-DdlzkUaM.js";import{n as M,t as ht}from"./ui-state-core-Nssh-6QJ.js";import{C as gt,Ct as _t,Dt as vt,E as yt,J as bt,K as xt,O as St,Ot as Ct,Q as wt,R as Tt,St as Et,T as Dt,Tt as Ot,U as kt,Y as At,Z as jt,_ as Mt,_t as Nt,a as Pt,at as Ft,b as It,bt as Lt,c as Rt,ct as zt,d as Bt,et as Vt,f as Ht,ft as Ut,gt as Wt,h as Gt,ht as Kt,i as qt,it as Jt,k as Yt,m as Xt,mt as Zt,n as Qt,o as $t,ot as en,p as tn,pt as nn,q as rn,rt as an,s as on,t as sn,u as cn,ut as ln,v as un,vt as dn,w as fn,wt as pn,x as mn,xt as hn,y as gn,yt as _n,z as vn}from"./ui-prefs-Dvsgw_ZF.js";import{C as yn,T as bn,c as xn,g as Sn,h as Cn,i as wn,m as Tn,n as En,o as N,r as Dn,s as On,t as P,u as kn,w as An}from"./action-status-D9Sf2cZp.js";import{A as jn,C as Mn,D as Nn,E as Pn,F as Fn,I as In,N as Ln,O as Rn,P as zn,R as Bn,S as Vn,T as Hn,_ as Un,a as Wn,b as Gn,c as Kn,d as qn,f as Jn,g as Yn,h as Xn,i as Zn,j as Qn,k as $n,l as er,m as tr,n as nr,o as rr,p as ir,r as ar,s as or,t as sr,u as cr,v as lr,w as ur,x as dr,y as fr,z as pr}from"./card-dom-BeRjc5Sk.js";import{n as mr,t as hr}from"./roving-keys-core-BDobx2It.js";import{a as gr,i as _r,n as vr,r as yr,t as br}from"./modal-5t7_5VCF.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 xr=new Map,Sr=new Set;function Cr(e){let t=ve.safeParse(e);if(!t.success)We(`reviews`,`dropped github-prs: ${Be(t.error.issues)}`);else{xr=new Map(Object.entries(t.data.prs));for(let e of Sr)e()}}function wr(e){return xr.get(e.toLowerCase())}function Tr(e){Sr.add(e)}function Er(e){return e===`remote`?`remote`:`local`}function Dr(e,t){return Er(t)===`local`||e!==`shutdown`}var Or=Object.freeze({setTimeoutFn:(e,t)=>setTimeout(e,t),clearTimeoutFn:e=>clearTimeout(e),setIntervalFn:(e,t)=>setInterval(e,t),clearIntervalFn:e=>clearInterval(e)});function kr(e){return typeof e!=`object`||!e||!(`unref`in e)||typeof e.unref!=`function`||e.unref(),e}function Ar({mode:e,delayMs:t,run:n,setTimeoutFn:r=Or.setTimeoutFn,clearTimeoutFn:i=Or.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&&kr(o))}return{schedule:c,cancel:s,get isArmed(){return o!==null}}}function jr(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:`}function Mr(){return M.snapshot().borrowedCardId}function Nr(e,t,n,{className:r}={}){if(!e?.card||!n)return;let i=Mr();i&&i!==t&&Pr();let a=e.card;a._cardHostClass&&a._cardHostClass!==r&&a.classList.remove(a._cardHostClass),a._cardHostClass=r||``,r&&a.classList.add(r),je(a,n),M.dispatch(`borrowCard`,t),e._ensureTerminalReady?.(),e._setBorrowed?.(!0),e._showPreferredFace?.()}function Pr(){let e=Mr();if(M.dispatch(`borrowCard`,null),!e)return null;let t=j.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,be(n,mt)),e}var Fr=68,Ir=42,Lr=768,Rr=.68,zr=64,Br=5,Vr=8,Hr=85;function Ur(e,t,n){return Math.min(Math.max(e,t),n)}function Wr({viewportWidthPx:e,viewportHeightPx:t,verticalProgress:n,isRightToLeft:r=!1,arcProgress:i=0}){let a=Ur(e/Lr,Rr,1),o=(Br+70*n*n)*t/100,s=Math.max(o,zr),c=Hr*t/100,l=Ur(i*Vr*t/100,zr-s,c-s),u=-.45*e,d=1.45*e;return{scale:a,spriteWidthPx:Fr,spriteHeightPx:Ir,topPx:s,startXpx:r?d:u,endXpx:r?u:d,facing:r?-1:1,arcPx:l}}function Gr(e,t){let n=Number.isFinite(t)&&t>0?t:1;return Math.max(1,Math.round(e*n))/n}function Kr(e,t,n){let r=Gr(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 qr=Wr({viewportWidthPx:1440,viewportHeightPx:900,verticalProgress:0});function Jr(e,t=``){let n=E(`div`,`flying-animal-preview ${t}`.trim());n.setAttribute(`aria-hidden`,`true`),n.style.setProperty(`--nyan-width`,`${qr.spriteWidthPx}px`),n.style.setProperty(`--nyan-height`,`${qr.spriteHeightPx}px`);let r=E(`div`,`flying-animal-preview-stage`);return r.append(E(`div`,`nyan-trail ${e.trail}`),E(`div`,`nyan-sprite ${e.sprite}`)),n.append(r),n}function Yr(){let e=vt(qt().flyingAnimalsExcludedSprites);return e===null?null:Ct[e]??null}var Xr=[],Zr=new Set;function Qr(e){let t=m.safeParse(e);if(t.success){Xr=t.data;for(let e of Zr)e()}}function $r(e){return Xr.find(t=>t.agent===e)??null}function ei(e){return Zr.add(e),()=>{Zr.delete(e)}}function ti(e,t=`explicit-state`){let n=t===`dormant-fallback`?e||b.DORMANT:e;return n===b.DORMANT?`start-session`:n===b.COMPLETE?`dismiss`:null}function ni({previousState:e,nextState:t,isPhoneLayout:n,isDocumentVisible:r,isDocumentFocused:i,isActiveViewer:a,hasFocusInsideTerminal:o}){return t!==b.COMPLETE||!e||e===b.COMPLETE||!r?!1:n?a:i&&o}function ri(e,t){if(!e)return null;let n=t.get(e);return!n||(n.currentState||b.DORMANT)===b.DORMANT?null:e}function ii(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 ai(e,t){let n=0;for(let r of t)ii(r,e)&&n++;return n}function oi(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 si(){let e=[];for(let[,t]of j)e.push(t.card.dataset.session??``);return e}function ci(e){return ai(e,si())}function li(e){return oi(e??``,si())}function F(){return M.snapshot().selectedSessionId}function ui(e){M.dispatch(`selectSession`,e)}function di(e){return M.subscribe((t,n)=>{n.includes(`selectedSessionId`)&&e(t.selectedSessionId)})}var fi=`modulepreload`,pi=function(e){return`/`+e},mi={},hi=function(e){return e.pathname.endsWith(`.css`)},gi=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},I=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=pi(t,n);let r=s(t),i=hi(r);return gi(mi,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`:fi,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)})};function _i(e,t=`explicit-state`){let n=j.get(e);if(!n)return null;let r=ti(n.currentState,t);return r&&tr(n,{type:r,id:e}),n}function vi(e,{rememberFocus:t=!0}={}){ui(e),t&&vn(e)}function yi(){return ri($t(),j)}function bi(e=ft){let t=[...j];return Rn(t,e)}function xi(e,t){let n=j.get(e);return n?tr(n,t):D(t)?!0:(N({source:`Session action`,sessionId:e,message:`${l} Try the action again once the header shows Connected.`}),!1)}var Si=`Add session`;function Ci(e){return e.type===`add-session-result`&&e.error?e.error:e.type===`error`?e.message:`The session was not added.`}var wi=!1;function Ti(e){wi||(wi=!0,I(()=>import(`./dialogs-CNLg_Ggz.js`).then(t=>{wi=!1,e(t)},()=>{wi=!1,N({source:Si,message:`The Add session dialog did not load. Reload the page, then add the session again.`})}),__vite__mapDeps([0,1,2,3,4,5,6])))}function Ei(){Ti(e=>e.createAddSessionDialog())}async function Di(e,t){try{let n=li(t),r=await O(`add-session`,{name:n,path:e},{timeoutMs:P});if(r.type===`add-session-result`&&r.ok){En(Si);return}N({source:Si,message:Ci(r)})}catch(e){N({source:Si,message:`The session was not added: ${On(e,P)} Add it again once the server answers.`})}}function Oi(e,t){e&&Di(e,t)}async function ki(e,t){try{let n=await O(`quick-session`,{id:e},{timeoutMs:P});if(n.type===`add-session-result`&&n.ok){En(Si),n.sessionId&&t(n.sessionId);return}N({source:Si,sessionId:e,message:Ci(n)})}catch(t){N({source:Si,sessionId:e,message:`The session was not added: ${On(t,P)} Add it again once the server answers.`})}}function Ai(e,t){ki(e,t)}var ji=39e5,Mi=`Remove session`;async function Ni(e,t,n,r=[]){try{let i=await O(`remove-session`,{id:t,discardWork:n,confirmedKeptPaths:r},{timeoutMs:ji});if(i.type!==`remove-session-result`||i.ok)return;if(!i.canDiscardWork){N({source:Mi,sessionId:t,message:`"${ft(e)}" was not removed: ${i.error??`the server gave no reason`}. Try Remove again from its actions menu.`});return}gr({title:`Remove Session`,message:i.error??`Remove session "${ft(e)}"?`,confirmLabel:`Remove`,danger:!0,onConfirm:()=>{Ni(e,t,!0,(i.keptPaths??[]).map(e=>e.path))}})}catch(n){N({source:Mi,sessionId:t,message:`"${ft(e)}" was not removed: ${On(n,ji)} Try Remove again from its actions menu.`})}}function Pi(e){let t=j.get(e);t&&Ni(t,e,!1)}var Fi=`(max-width: 768px)`,Ii=`(pointer: coarse)`;function Li({coarse:e,narrowWidth:t}={}){return e===!0&&t===!0?`phone`:`desktop`}var Ri=window.matchMedia?.(Ii),zi=window.matchMedia?.(Fi);function Bi(){return Li({coarse:!!Ri?.matches,narrowWidth:!!zi?.matches})}function Vi(e){document.documentElement.dataset.layout!==e&&(document.documentElement.dataset.layout=e)}function Hi(){M.subscribe((e,t)=>{t.includes(`layout`)&&Vi(e.layout)});let e=Bi();Vi(e),M.dispatch(`setLayout`,e);let t=()=>M.dispatch(`setLayout`,Bi());return Ri?.addEventListener?.(`change`,t),zi?.addEventListener?.(`change`,t),e}function L(){return M.snapshot().layout===`phone`}function Ui(e){return M.subscribe((t,n)=>{n.includes(`layout`)&&e(t.layout)})}function Wi(e,t,n){return{body:String(n||`Session needs attention`),tag:`glimmervoid-${e||``}-${t||``}`,renotify:!0}}var Gi=4e3;function Ki(e,t){return`glimmervoid-notify-claim-${e||``}-${t||``}`}function qi(e,t,n,r=Gi){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}}var Ji=`#plan/`;function Yi(e){return`${Ji}${encodeURIComponent(e)}`}function Xi(e){if(!e.startsWith(Ji))return null;let t=e.slice(6);if(!t||t.includes(`/`))return null;try{return decodeURIComponent(t)||null}catch{return null}}function Zi(){return typeof Notification>`u`?null:Notification}function Qi(){return Zi()!==null}function $i(){let e=Zi();return e?e.permission:`unavailable`}async function ea(){let e=Zi();if(!e)return`denied`;if(e.permission!=="default")return e.permission;try{return await e.requestPermission()}catch{return e.permission}}function ta(){return!Qi()&&!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.`:Qi()?$i()===`denied`&&It()?`Blocked by the browser. Allow notifications for this site in its site settings.`:null:`This browser does not support desktop notifications.`}function na(){return It()&&$i()==="default"}function ra(e=()=>{}){let t=E(`div`,`notification-permission`),n=()=>{let r=ta();if(t.replaceChildren(),t.hidden=!r&&!na(),r){t.append(E(`p`,`notification-permission-hint text-xs text-text-muted`,r));return}let i=E(`button`,`btn-dialog btn-dialog-cancel`,`Enable desktop notifications`);i.type=`button`,i.addEventListener(`click`,()=>{i.disabled=!0,ea().then(()=>{n(),e()})}),t.append(i)};return n(),{element:t,refresh:n}}var ia=`Notifications`,aa=`Desktop notifications are blocked by the browser, so alerts show only in this tab. Allow notifications for this site to get them again.`,oa=new Map,sa=!1;function ca(){sa||(sa=!0,N({source:ia,message:aa,hidesInStreamerMode:!1}))}function la(e,t){let n=oa.get(e)??new Set;n.add(t),oa.set(e,n),t.addEventListener(`close`,()=>n.delete(t))}function ua(e){let t=oa.get(e);if(t){oa.delete(e);for(let e of t)e.close()}}function da(e){return!Qi()||!It()||document.documentElement.hasAttribute(`data-streamer`)?!1:e||!document.hasFocus()}function fa(e=!1){return da(e)&&$i()===`granted`}function pa({session:e,category:t,message:n,kind:r,ignoreFocus:i=!1}={}){let a=Zi();if(!a||!da(!!i)||(a.permission===`denied`&&ca(),a.permission!==`granted`)||(En(ia),!qi(window.localStorage,Ki(e,t),Date.now())))return;let o=typeof e==`string`?e:``,s=j.get(o),c=s?ft(s):``;try{let i=new a(c||`Glimmervoid`,Wi(e,t,n));i.onclick=()=>{window.focus(),r===`plan`&&o&&(window.location.hash=Yi(o)),i.close()},s&&la(o,i)}catch{}}var ma=`claude-code`;function ha(e,{defaultId:t=ma}={}){let n=(Array.isArray(e)?e:[]).filter(e=>e?.resolvable&&typeof e.id==`string`&&e.id).map(e=>{let t=String(e.id);return{id:t,label:typeof e.label==`string`&&e.label?e.label:t}}),r=n.some(e=>e.id===t)?t:n.length>0?n[0].id:t;return{show:n.length>1,options:n,selectedId:r}}var ga=`No supported agent CLI was found on the PATH Glimmervoid runs with. Install Claude Code (or another supported agent), make sure its command is on that PATH, then run glimmervoid doctor to confirm.`;function _a(e){let t=typeof e==`object`&&e?e:null;return t===null||!Array.isArray(t.agents)||t.error||ha(t.agents).options.length>0?{canSpawn:!0,guidance:``}:{canSpawn:!1,guidance:ga}}var va={agent:`upcoming`,repoRoots:`upcoming`,firstSession:`upcoming`};function ya(e,t){return e<t?`done`:e===t?`current`:`upcoming`}function ba({agentListing:e,repoRoots:t}){let n=_a(e).canSpawn?t.length===0?2:3:1;return{agent:ya(1,n),repoRoots:ya(2,n),firstSession:ya(3,n)}}var xa=[[`agent`,`agent`],[`repoRoots`,`repo_roots`],[`firstSession`,`first_session`]];function Sa({step:e,state:t}){return`${e}:${t}`}function Ca(e,t){let n=[];for(let[r,i]of xa){let a=t[r];if(a===`upcoming`)continue;let o={step:i,state:a};e.has(Sa(o))||n.push(o)}return n}function wa(e){return ha(typeof e==`object`&&e?e.agents:[]).options.map(e=>e.label).join(`, `)}function Ta(e){return e===1?`1 git repo`:`${e} git repos`}function Ea(e,t){let n=[...e];for(let e of t){let t=e.trim();t&&!n.includes(t)&&n.push(t)}return n.length===e.length?null:n}function Da(e,t){return e.length>0?[]:t.filter(e=>e.gitRepoCount>0).map(e=>e.path)}var Oa=0,ka=`Could not read the current repository roots.`;function Aa(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}async function ja(e){let t=await O(`get-settings`,{});if(t.type!==`settings`)return ka;let n=t.settings.repoRoots;if(!Aa(n))return ka;let r=Ea(n,e);if(!r)return null;let i=await O(`update-settings`,{settings:{repoRoots:r}});return i.type===`settings-error`?i.message:null}function Ma({onAdded:e}){Oa+=1;let t=`repo-roots-adder-path-${Oa}`,n=E(`div`,`repo-roots-adder`),r=E(`div`,`repo-roots-adder-found`),i=E(`span`,`repo-roots-adder-label`,`FOUND ON THIS MACHINE`),a=E(`ul`,`repo-roots-adder-list`);r.append(i,a),r.hidden=!0;let o=E(`label`,`repo-roots-adder-label`,`TYPE A PATH`);o.htmlFor=t;let s=E(`div`,`repo-roots-adder-row`),c=E(`input`,`dialog-input repo-roots-adder-input`);c.id=t,c.type=`text`,c.placeholder=`/path/to/your/checkouts`,c.autocomplete=`off`,c.spellcheck=!1;let l=E(`button`,`btn-dialog btn-dialog-cancel`,`Add`);l.type=`button`,l.disabled=!0,s.append(c,l);let u=E(`p`,`repo-roots-adder-error`);u.setAttribute(`role`,`alert`),n.append(r,o,s,u);let d=!1;function f(e){d=e;for(let t of n.querySelectorAll(`button`))t.disabled=e;e||(l.disabled=c.value.trim()===``)}async function p(t,n){if(!d){f(!0),u.textContent=``;try{let r=await ja([t]);if(r){u.textContent=r;return}c.value=``,e(n)}catch(e){u.textContent=`Could not save the folder: ${e instanceof Error?e.message:String(e)}`}finally{f(!1)}}}c.addEventListener(`input`,()=>{l.disabled=d||c.value.trim()===``}),c.addEventListener(`keydown`,e=>{e.key===`Enter`&&c.value.trim()!==``&&(e.preventDefault(),p(c.value.trim(),`typed`))}),l.addEventListener(`click`,()=>{p(c.value.trim(),`typed`)});function m(e){a.textContent=``;for(let t of e){let e=E(`li`,`repo-roots-adder-suggestion`),n=E(`button`,`btn-dialog btn-dialog-cancel`,`Add`);n.type=`button`,n.setAttribute(`aria-label`,`Add ${t.label}`),n.addEventListener(`click`,()=>{p(t.path,`suggested`)}),e.append(E(`span`,`repo-roots-adder-path`,t.label),E(`span`,`repo-roots-adder-count`,Ta(t.gitRepoCount)),n),a.append(e)}r.hidden=e.length===0,o.textContent=e.length>0?`OR TYPE A PATH`:`TYPE A PATH`}return{element:n,setSuggestions:m}}var Na=`npm install -g @anthropic-ai/claude-code`,Pa={done:`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" role="img" aria-label="Done"><circle cx="12" cy="12" r="10"></circle><path d="M7.5 12.5l3 3 6-6.5"></path></svg>`,current:`<svg width="18" height="18" viewBox="0 0 24 24" role="img" aria-label="Needed"><path d="M12 3l9 9-9 9-9-9z" fill="currentColor"></path></svg>`,upcoming:`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" role="img" aria-label="Not started"><circle cx="12" cy="12" r="10"></circle></svg>`},Fa=null,Ia=null,La=null,Ra=null,za={steps:va,agentSummary:``,repoRoots:[]},Ba=0,Va=!1,Ha=!1,Ua=new Set,Wa=wn(`first-run-load-status`),Ga=ra();function Ka(e){D({type:`dashboard-telemetry`,event:`operator_action`,properties:{surface:`onboarding`,action:e}})}function qa(e){for(let t of Ca(Ua,e))D({type:`dashboard-telemetry`,event:`onboarding_step`,properties:t})&&Ua.add(Sa(t))}function Ja({title:e,state:t,summary:n,badge:r,body:i}){let a=E(`li`,`first-run-step`);a.dataset.state=t,t===`current`&&a.setAttribute(`aria-current`,`step`);let o=E(`div`,`first-run-step-head`),s=E(`span`,`first-run-step-icon`);if(s.innerHTML=Pa[t],o.append(s,E(`span`,`first-run-step-title`,e)),t===`done`&&n&&o.append(E(`span`,`first-run-step-summary`,n)),t===`current`&&r&&o.append(E(`span`,`first-run-step-badge`,r)),a.append(o),t!==`current`)return a;let c=E(`div`,`first-run-step-body`);return c.append(...i()),a.append(c),a}function Ya(){return L()?`No supported agent is on PATH of the machine running Glimmervoid. Install Claude Code, Codex or Grok there, then rescan.`:`No supported agent is on PATH. Install Claude Code, Codex or Grok, then rescan.`}function Xa(){let e=E(`div`,`first-run-command-row`);if(e.append(E(`code`,`first-run-command`,Na)),!navigator.clipboard?.writeText)return e;let t=E(`button`,`btn-dialog btn-dialog-cancel`,`Copy`);t.type=`button`;let n=E(`span`,`first-run-copy-status`);return n.setAttribute(`role`,`status`),t.addEventListener(`click`,async()=>{let e=Le(Na);n.textContent=e?await e.then(()=>`Copied`,()=>`Copy failed`):`Copy failed`}),e.append(t,n),e}function Za(){let e=E(`div`,`first-run-step-actions`);La=E(`button`,`btn-dialog btn-dialog-cancel`,`Rescan`),La.type=`button`,La.addEventListener(`click`,()=>{Ka(`rescan`),to({rescanAgents:!0})}),e.append(La);let t=[E(`p`,`first-run-step-text`,Ya()),Xa(),e];return Va?[...t,E(`p`,`first-run-step-hint`,`Still missing after a rescan? Restart Glimmervoid from a terminal where the command runs. Other terminal agents go under customAgents.`)]:t}function Qa(){let e=Ra??Ma({onAdded:e=>{Ka(e===`typed`?`add-root-typed`:`add-root-suggested`),to({rescanAgents:!1})}});return Ra=e,[E(`p`,`first-run-step-text`,`The folder that holds your git checkouts. Each subfolder becomes a project you can start a session in.`),e.element]}function $a(){let e=E(`div`,`first-run-step-actions`),t=E(`button`,`btn-dialog btn-dialog-confirm`,`+ Session`);return t.type=`button`,t.addEventListener(`click`,()=>{Ka(`add-session`),Ei()}),e.append(t),[E(`p`,`first-run-step-text`,`Pick a project and an agent. The session runs in its own git worktree, so your checkout is never touched.`),e]}function eo(){if(!Ia)return;let{steps:e,agentSummary:t,repoRoots:n}=za;Ia.replaceChildren(Ja({title:`1. Agent CLI`,state:e.agent,summary:t,badge:`MISSING`,body:Za}),Ja({title:`2. Repository roots`,state:e.repoRoots,summary:n.join(`, `),badge:`NEEDED`,body:Qa}),Ja({title:`3. First session`,state:e.firstSession,summary:``,badge:``,body:$a}))}async function to({rescanAgents:e}){Ba+=1;let t=Ba;La&&(La.disabled=!0);try{let[n,r]=await Promise.all([O(`list-agents`,e?{rescan:!0}:{},{timeoutMs:P}),O(`scan-repo-roots`,{includeSuggestions:!0},{timeoutMs:P})]);if(t!==Ba)return;let i=r.type===`repo-roots-scanned`,a=i?r.directories.map(e=>e.root):[],o=i?r.suggestions??[]:[],s=Da(a,o);if(s.length>0&&!Ha){Ha=!0;let e=await ja(s).catch(e=>String(e));if(t!==Ba)return;if(!e){to({rescanAgents:!1});return}}let c=ba({agentListing:n,repoRoots:a});e&&(Va=c.agent===`current`),za={steps:c,agentSummary:wa(n),repoRoots:a},Wa.clear(),eo(),qa(za.steps),Ra?.setSuggestions(o)}catch(e){if(La&&(La.disabled=!1),t!==Ba)return;Wa.show(`error`,`The checklist could not load: ${On(e,P)} It loads again once the server answers. If it stays like this, check the terminal running Glimmervoid, or run glimmervoid doctor.`)}}function no(){if(Fa)return Fa;let e=E(`section`,`first-run-checklist`);e.setAttribute(`aria-labelledby`,`first-run-title`);let t=E(`h2`,`first-run-title`,`Get to your first session`);t.id=`first-run-title`,Ia=E(`ol`,`first-run-steps`);let n=E(`div`,`first-run-optional`);return n.append(E(`span`,`first-run-eyebrow`,`OPTIONAL`),Ga.element),e.append(E(`span`,`first-run-eyebrow`,`FIRST RUN`),t,Ia,Wa.element,n),Fa=e,eo(),e}function ro(e,t){if(!t){Fa?.parentElement===e&&(Fa.hidden=!0);return}let n=no(),r=!n.hidden&&n.parentElement===e;n.parentElement!==e&&e.append(n),n.hidden=!1,Ga.refresh(),r||to({rescanAgents:!1})}function io(){Fa&&!Fa.hidden&&Fa.isConnected&&to({rescanAgents:!1})}var ao=new Set([`http:`,`https:`]);function oo(e){let t;try{t=new URL(e)}catch{return null}return ao.has(t.protocol)?t.href:null}var so=2,co=8,lo=/^ {0,3}(`{3,}|~{3,})([^`]*)$/,uo=/^(\s*)(?:([-+*])|(\d+)[.)])\s+(.+)$/,fo=/^ {0,3}(?:(?:\*\s*){3,}|(?:-\s*){3,}|(?:_\s*){3,})$/,po=/^:?-{3,}:?$/,mo=/^[A-Za-z0-9_+#.-]{1,32}$/;function ho(e){return C(e,{overlongLine:`reject`})}function go(e){let t=e.trim().split(/\s+/)[0]??``;return mo.test(t)?t:``}function _o(e,t){if(!t)return;let n=e.at(-1);n?.type===`text`?n.text+=t:e.push({type:`text`,text:t})}function vo(e,t){return e.startsWith(`**`,t)?`**`:e.startsWith(`__`,t)?`__`:null}function yo(e,t){return e.startsWith(`*`,t)?`*`:e.startsWith(`_`,t)?`_`:null}function bo(e,t,n){let r=e.indexOf(t,n);return r>n?r:-1}function xo(e,t){let n=e.indexOf(t);return function(r){return n===-1?-1:(n>=r||(n=e.indexOf(t,r)),n)}}function So(e,t){let n=1;for(let r=t;r<e.length;r++){let t=e[r];if(t===`(`&&n++,t===`)`&&n--,n===0)return r;if(n>so)return-1}return-1}function Co(e,t,n){if(e[t]!==`[`)return null;let r=n(t+1);if(r<=t+1||e[r+1]!==`(`)return null;let i=So(e,r+2);return i===-1?null:{label:e.slice(t+1,r),target:e.slice(r+2,i),end:i+1}}function wo(e){let t=[],n=xo(e,`]`),r=0;for(;r<e.length;){let i=Co(e,r,n);if(i){let e=oo(i.target.trim());e&&t.push({type:`link`,href:e,children:wo(i.label)}),e||_o(t,i.label),r=i.end;continue}if(e.startsWith("`",r)){let n=bo(e,"`",r+1);if(n!==-1){t.push({type:`code`,text:e.slice(r+1,n)}),r=n+1;continue}}let a=vo(e,r);if(a){let n=bo(e,a,r+a.length);if(n!==-1){t.push({type:`strong`,children:wo(e.slice(r+a.length,n))}),r=n+a.length;continue}}let o=yo(e,r);if(o){let n=bo(e,o,r+1);if(n!==-1){t.push({type:`emphasis`,children:wo(e.slice(r+1,n))}),r=n+1;continue}}_o(t,e[r]),r++}return t}function To(e){return e.map(e=>e.type===`text`||e.type===`code`?e.text:To(e.children)).join(``)}var Eo=`plan-h-`;function Do(e,t){let n=e.toLowerCase().normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`section`,r=(t.slugCounts.get(n)??0)+1;return t.slugCounts.set(n,r),`${Eo}${r===1?n:`${n}-${r}`}`}function Oo(e){if(typeof e!=`string`||!e.includes(`|`))return!1;let t=ko(e);return t.length<2?!1:t.every(e=>po.test(e))}function ko(e){let t=e.trim();return t.startsWith(`|`)&&(t=t.slice(1)),t.endsWith(`|`)&&(t=t.slice(0,-1)),t.split(`|`).map(e=>e.trim())}function Ao(e){let t=uo.exec(e);return t?{indent:t[1].replace(/\t/g,` `).length,ordered:!!t[3],content:t[4]}:null}function jo(e,t,n,r){let i=Ao(e[t]);if(!i)return null;let a=[],o=i.ordered,s=i.indent,c=t;for(;c<e.length;){let t=Ao(e[c]);if(!t||t.indent<s)break;if(t.indent>s){if(r>=co)break;let t=jo(e,c,n,r+1);if(!t||a.length===0)break;a.at(-1)?.children.push(t.block),c=t.next}else{if(t.ordered!==o)break;a.push({children:[{type:`paragraph`,children:wo(t.content)}]}),c++}}return{block:{type:`list`,ordered:o,items:a},next:c}}function Mo(e,t){let n=e[t]??``;return n.trim()===``||ho(n)||lo.test(n)||fo.test(n)||Ao(n)||/^ {0,3}>/.test(n)?!0:t+1<e.length&&n.includes(`|`)&&Oo(e[t+1])}function No(e,t,n){let r=[],i=0;for(;i<e.length;){let a=e[i];if(a.trim()===``){i++;continue}let o=lo.exec(a);if(o){let t=[],n=o[1][0],a=o[1].length;for(i++;i<e.length;){let r=/^ {0,3}(`{3,}|~{3,})\s*$/.exec(e[i]);if(r&&r[1][0]===n&&r[1].length>=a)break;t.push(e[i]),i++}i<e.length&&i++,r.push({type:`code`,language:go(o[2]),text:t.join(`
|
|
3
|
+
`)});continue}let s=ho(a);if(s){let e=wo(s.text);r.push({type:`heading`,level:s.level,id:Do(To(e),t),children:e}),i++;continue}if(fo.test(a)){r.push({type:`rule`}),i++;continue}if(i+1<e.length&&a.includes(`|`)&&Oo(e[i+1])){let t=ko(a).map(wo),n=[];for(i+=2;i<e.length&&e[i].includes(`|`)&&e[i].trim()!==``;)n.push(ko(e[i]).map(wo)),i++;r.push({type:`table`,header:t,rows:n});continue}let c=jo(e,i,t,n);if(c){r.push(c.block),i=c.next;continue}if(n<co&&/^ {0,3}>/.test(a)){let a=[];for(;i<e.length&&/^ {0,3}>/.test(e[i]);)a.push(e[i].replace(/^ {0,3}> ?/,``)),i++;r.push({type:`blockquote`,blocks:No(a,t,n+1)});continue}let l=[a.trim()];for(i++;i<e.length&&!Mo(e,i);)l.push(e[i].trim()),i++;r.push({type:`paragraph`,children:wo(l.join(` `))})}return r}function Po(e){return No(e.replace(/\r\n?/g,`
|
|
4
|
+
`).split(`
|
|
5
|
+
`),{slugCounts:new Map},0)}function Fo(e){let t=[],n={heading:null,id:null,level:0,blocks:[]},r=()=>{(n.heading!==null||n.blocks.length!==0)&&t.push(n)};for(let t of e)t.type===`heading`?(r(),n={heading:To(t.children),id:t.id,level:t.level,blocks:[t]}):n.blocks.push(t);return r(),t}function Io(e,t){for(let n of t){if(n.type===`text`){e.append(document.createTextNode(n.text));continue}if(n.type===`code`){e.append(E(`code`,`plan-inline-code`,n.text));continue}if(n.type===`emphasis`){let t=E(`em`);Io(t,n.children),e.append(t);continue}if(n.type===`strong`){let t=E(`strong`);Io(t,n.children),e.append(t);continue}let t=E(`a`,`plan-link`);t.href=n.href,t.target=`_blank`,t.rel=`noopener noreferrer`,Io(t,n.children),e.append(t)}}function Lo(e){let t=E(`li`);return Ro(t,e.children),t}function Ro(e,t){for(let n of t)if(n.type===`heading`){let t=E(`h${n.level}`,`plan-heading`);t.id=n.id,Io(t,n.children),e.append(t)}else if(n.type===`paragraph`){let t=E(`p`,`plan-paragraph`);Io(t,n.children),e.append(t)}else if(n.type===`list`){let t=n.ordered?E(`ol`,`plan-list`):E(`ul`,`plan-list`);t.append(...n.items.map(Lo)),e.append(t)}else if(n.type===`code`){let t=E(`pre`,`plan-code`),r=E(`code`,n.language?`language-${n.language}`:null,n.text);t.append(r),e.append(t)}else if(n.type===`table`){let t=E(`div`,`plan-table-wrap`),r=E(`table`,`plan-table`),i=E(`thead`),a=E(`tr`);for(let e of n.header){let t=E(`th`);Io(t,e),a.append(t)}i.append(a);let o=E(`tbody`);for(let e of n.rows){let t=E(`tr`);for(let n of e){let e=E(`td`);Io(e,n),t.append(e)}o.append(t)}r.append(i,o),t.append(r),e.append(t)}else if(n.type===`blockquote`){let t=E(`blockquote`,`plan-blockquote`);Ro(t,n.blocks),e.append(t)}else e.append(E(`hr`,`plan-rule`))}function zo(e){let t=E(`div`,`plan-document`);return Ro(t,e),t}function Bo(e,{hasComment:t,isComposing:n,onComment:r,attachmentFor:i}){let a=E(`div`,`plan-document`),o=[];for(let s of e){let e=E(`section`,`plan-section`);e.dataset.selected=`false`,e.addEventListener(`click`,()=>{for(let t of o)t.dataset.selected=String(t===e)}),o.push(e);let c=E(`div`,`plan-section-head`),l=s.blocks[0],u=l?.type===`heading`;if(u&&Ro(c,[l]),u||(e.id=`plan-introduction`),!t(s)&&!n(s)){let e=E(`button`,`plan-section-comment`,`Comment`);e.type=`button`,e.setAttribute(`aria-label`,`Comment on ${s.heading??`Introduction`}`),e.addEventListener(`click`,()=>r(s)),c.append(e)}let d=E(`div`,`plan-section-body`);Ro(d,u?s.blocks.slice(1):s.blocks),e.append(c,d);let f=i(s);f&&e.append(f),a.append(e)}return a}var Vo={added:`+`,removed:`-`,unchanged:` `,skipped:` `};function Ho(e){let t=E(`div`,`plan-diff`);for(let n of e.lines){let e=E(`div`,`plan-diff-line plan-diff-${n.kind}`),r=E(`span`,`plan-diff-gutter`,Vo[n.kind]);r.setAttribute(`aria-hidden`,`true`),e.append(r,E(`span`,`plan-diff-text`,n.text)),t.append(e)}return t}var Uo=`glimmervoid-streamer-mode`,Wo=new Set,Go=Zt(Uo,!1)===!0,Ko=null;function qo(e){document.documentElement.toggleAttribute(`data-streamer`,e),Ko?.setAttribute(`aria-pressed`,String(e))}qo(Go);function Jo(){return Go}function Yo(e){if(Kt(Uo,e),e!==Jo()){Go=e,qo(e);for(let t of Wo)t(e)}}function Xo(e){return Wo.add(e),()=>Wo.delete(e)}async function Zo(e){try{let t=await O(`update-settings`,{settings:{streamerMode:e}},{timeoutMs:P});return t.type===`settings-error`?String(t.message):(Yo(e),``)}catch(e){return On(e,P)}}var Qo=`Streamer mode`;async function $o(){let e=!Jo();e&&Yo(!0);let t=await Zo(e);t?N({source:Qo,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}):En(Qo)}function es(){$o()}function ts(e){Ko=e,qo(Jo()),e.addEventListener(`click`,es)}var ns=new Map,rs=null;function is(e){return ns.get(e)??[]}function as(e){return is(e).length>0}function os(e){k(e)?.btnDocs.classList.toggle(`visible`,as(e))}function ss(e){let t=is(e.sessionId);e.select.replaceChildren(...t.map(t=>{let n=E(`option`,null,t.name);return n.value=t.path,n.selected=t.path===e.docPath,n})),e.select.hidden=t.length<2,e.title.textContent=t.find(t=>t.path===e.docPath)?.name??e.title.textContent}function cs(e){let t=is(e.sessionId).some(t=>t.path===e.docPath);e.btnEdit.setAttribute(`aria-pressed`,String(e.mode===`edit`)),e.btnPreview.setAttribute(`aria-pressed`,String(e.mode===`preview`)),e.textarea.hidden=e.mode!==`edit`,e.preview.hidden=e.mode!==`preview`,e.select.disabled=e.isBusy,e.btnReload.disabled=e.isBusy||!t,e.btnSave.disabled=e.isBusy||!t||e.baseHash===null||!e.hasUnsavedChanges}function ls(e,t,n=`quiet`){e.status.textContent=t,e.status.dataset.tone=n}function us(e){e.preview.replaceChildren(zo(Po(e.textarea.value)))}function ds(e,t){gr({title:e,message:`Your unsaved edits will be lost.`,confirmLabel:`Discard`,danger:!0,onConfirm:t})}function fs(e,t,n){e.hasUnsavedChanges?ds(t,n):n()}async function ps(e,t){try{return{reply:await O(e,t,{timeoutMs:P}),failureText:null}}catch(e){return{reply:null,failureText:On(e,P)}}}async function ms(e,t){e.docPath=t,e.isBusy=!0,e.baseHash=null,e.textarea.readOnly=!0,ss(e),ls(e,`Loading`),cs(e);let{reply:n,failureText:r}=await ps(`session-doc-read`,{id:e.sessionId,path:t});if(rs!==e||e.docPath!==t)return;e.isBusy=!1,e.textarea.readOnly=!1;let i=n?.type===`session-doc-response`?n:null;!i?.ok||i.text===void 0||i.hash===void 0?(ls(e,i?.error||r||`Could not open this doc`,`warn`),cs(e)):(e.textarea.value=i.text,e.baseHash=i.hash,e.hasUnsavedChanges=!1,e.mode===`preview`&&us(e),ls(e,``),cs(e))}async function hs(e){if(e.btnSave.disabled||e.baseHash===null)return;e.isBusy=!0,ls(e,`Saving`),cs(e);let t=e.docPath,n=e.textarea.value,{reply:r,failureText:i}=await ps(`session-doc-save`,{id:e.sessionId,path:t,text:n,baseHash:e.baseHash});if(rs!==e||e.docPath!==t)return;e.isBusy=!1;let a=r?.type===`session-doc-save-result`?r:null;!a?.ok||a.hash===void 0?(ls(e,a?.conflict?`The agent changed this file since you opened it. Reload to see its version.`:a?.error||i||`Save failed`,`warn`),cs(e)):(e.baseHash=a.hash,e.hasUnsavedChanges=e.textarea.value!==n,ls(e,e.hasUnsavedChanges?`Unsaved changes`:`Saved`),cs(e))}function gs(e,t){e.mode=t,t===`preview`&&us(e),cs(e),t===`edit`&&e.textarea.focus()}function _s(e,t){let n=E(`button`,`plan-control ${t}`,e);return n.type=`button`,n}function vs(e){let t=is(e)[0];if(!t||rs)return;let n=()=>fs(y,`Close this doc?`,()=>y.close()),r=yr({dialogClass:`doc-editor`,closeOnBackdrop:!1,onEscape:n}),i=`doc-editor-title-${e}`,a=E(`h3`,`doc-editor-title`,t.name);a.id=i;let o=E(`select`,`plan-control doc-editor-picker`);o.setAttribute(`aria-label`,`Doc`);let s=E(`span`,`doc-editor-status`);s.setAttribute(`role`,`status`);let c=_s(`Edit`,`doc-editor-mode`),l=_s(`Preview`,`doc-editor-mode`),u=_s(`Reload`,`doc-editor-reload`),d=_s(`Save`,`doc-editor-save`),f=_s(`Close`,`doc-editor-close`),p=E(`div`,`doc-editor-modes`);p.append(c,l);let m=E(`div`,`doc-editor-actions`);m.append(s,u,d,f);let h=E(`div`,`doc-editor-header`);h.append(a,o,p,m);let g=E(`textarea`,`plan-editor doc-editor-text`);g.spellcheck=!0,g.setAttribute(`aria-labelledby`,i);let _=E(`div`,`doc-editor-preview`),v=E(`div`,`doc-editor-body`);v.append(g,_),r.dialog.append(h,v),br(r.dialog,i);let y={sessionId:e,docPath:t.path,baseHash:null,hasUnsavedChanges:!1,isBusy:!1,mode:Jo()?`preview`:`edit`,title:a,select:o,textarea:g,preview:_,status:s,btnEdit:c,btnPreview:l,btnReload:u,btnSave:d,close:()=>{rs=null,r.close()}};rs=y,g.addEventListener(`input`,()=>{y.hasUnsavedChanges||(y.hasUnsavedChanges=!0,ls(y,`Unsaved changes`),cs(y))}),g.addEventListener(`keydown`,e=>{(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`s`&&(e.preventDefault(),hs(y))}),o.addEventListener(`change`,()=>{let e=o.value;o.value=y.docPath,fs(y,`Open another doc?`,()=>{ms(y,e)})}),c.addEventListener(`click`,()=>gs(y,`edit`)),l.addEventListener(`click`,()=>gs(y,`preview`)),u.addEventListener(`click`,()=>{fs(y,`Reload this doc?`,()=>{ms(y,y.docPath)})}),d.addEventListener(`click`,()=>{hs(y)}),f.addEventListener(`click`,n),ms(y,t.path),y.mode===`edit`&&g.focus()}function ys(e){rs&&rs.sessionId===e&&(ss(rs),cs(rs),!is(e).some(e=>e.path===rs?.docPath)&&ls(rs,`This doc is no longer surfaced, so it cannot be saved.`,`warn`))}function bs(e){ns.set(e.id,e.docs),e.docs.length===0&&ns.delete(e.id),os(e.id),ys(e.id)}function xs(e){let t=[...ns.keys()];ns.clear();for(let[t,n]of Object.entries(e.sessions))ns.set(t,n);for(let e of new Set([...t,...ns.keys()]))os(e),ys(e)}var Ss=new Map,Cs=new Set,ws=[],Ts=[],Es=null,Ds=!1;function Os(e){return Ss.get(e)??[]}function ks(e){return Os(e).length>0}function As(e){return Cs.has(e)}function js(e){ws.push(e)}function Ms(e){Ts.push(e)}function Ns(e){let t=k(e);t&&(t.btnShown.classList.toggle(`visible`,ks(e)),t.shownUnopenedDot.hidden=!As(e))}function Ps(e,t){return`/shown/${encodeURIComponent(e)}/${encodeURIComponent(t.id)}`}function Fs(e){window.open(e,`_blank`,`noopener`)}function Is(e){return e.pageTitle??e.name}function Ls(e,t,n){let r=Ps(e,t);if(t.kind===`image`){let e=E(`img`,n?`shown-thumb-media`:`shown-stage-media`);return e.src=r,e.alt=t.caption??t.name,e.loading=`lazy`,e.decoding=`async`,e}if(t.kind===`video`){let e=E(`video`,n?`shown-thumb-media`:`shown-stage-media`);return e.src=r,e.preload=`metadata`,e.muted=n,e.controls=!n,e.playsInline=!0,e}let i=E(`div`,n?`shown-thumb-page`:`shown-stage-page`);if(i.append(E(`span`,`shown-page-kind`,`HTML page`),E(`span`,`shown-page-title`,Is(t))),n)return i;let a=E(`button`,`plan-control shown-open-page`,`Open page`);return a.type=`button`,a.addEventListener(`click`,()=>Fs(r)),i.append(E(`span`,`shown-page-name`,t.name),a),i}function Rs(e){let t=Os(e.sessionId);return t.find(t=>t.id===e.selectedFileId)??t.at(-1)??null}function zs(e,t){let n=[...Os(e.sessionId)].reverse();e.strip.hidden=n.length<2,e.strip.replaceChildren(...n.map(n=>{let r=E(`button`,`shown-thumb`);return r.type=`button`,r.title=n.caption??Is(n),r.setAttribute(`aria-label`,Is(n)),r.setAttribute(`aria-pressed`,String(n.id===t.id)),r.append(Ls(e.sessionId,n,!0)),r.addEventListener(`click`,()=>Vs(e,n.id)),r}))}function Bs(e){let t=Rs(e);if(!t){e.close();return}e.selectedFileId=t.id,e.title.textContent=Is(t),e.stage.replaceChildren(Ls(e.sessionId,t,!1));let n=t.caption?[E(`p`,`shown-caption`,t.caption)]:[];e.details.replaceChildren(...n,E(`p`,`shown-meta`,`${t.name}, shown ${ut(t.shownAt)}`)),zs(e,t)}function Vs(e,t){e.selectedFileId=t,Bs(e)}function Hs(e){if(Cs.delete(e)){Ns(e);for(let t of ws)t(e,[])}}function Us(e,t){let n=E(`button`,`plan-control ${t}`,e);return n.type=`button`,n}function Ws(e,t=null){let n=Os(e).at(-1);if(!n)return;Es?.close();let r=yr({dialogClass:`shown-lightbox`,closeOnBackdrop:!1,onEscape:()=>f.close()}),i=`shown-lightbox-title-${e}`,a=E(`h3`,`shown-lightbox-title`);a.id=i;let o=Us(`Open full size`,`shown-open-full-size`),s=Us(`Close`,`shown-close`),c=E(`div`,`shown-lightbox-header`);c.append(a,o,s);let l=E(`div`,`shown-stage`),u=E(`div`,`shown-details`),d=E(`div`,`shown-strip`);d.setAttribute(`aria-label`,`Shown files`),r.dialog.append(c,l,u,d),br(r.dialog,i);let f={sessionId:e,selectedFileId:t??n.id,title:a,stage:l,details:u,strip:d,btnOpenFullSize:o,close:()=>{Es===f&&(Es=null),r.close()}};Es=f,o.addEventListener(`click`,()=>{let t=Rs(f);t&&Fs(Ps(e,t))}),s.addEventListener(`click`,()=>f.close()),r.overlay.addEventListener(`click`,e=>{e.target===r.overlay&&f.close()}),Bs(f),Hs(e)}function Gs(e){return e.slice(-50)}function Ks(e,t){if(t.length===0)return;let n=Es?.sessionId===e;n||Cs.add(e),Ns(e),n&&Es&&Bs(Es);for(let n of ws)n(e,t)}function qs(e){let t=new Set(Os(e.id).map(e=>e.id)),n=e.files.filter(e=>!t.has(e.id));if(Ss.set(e.id,Gs([...Os(e.id),...n])),Ks(e.id,n),n.length!==0)for(let t of Ts)t(e.id,n)}function Js(e){let t=new Map(Ss),n=Ds;Ds=!0,Ss.clear();for(let[t,n]of Object.entries(e.sessions))Ss.set(t,Gs(n));for(let e of new Set([...t.keys(),...Ss.keys()])){ks(e)||Cs.delete(e);let r=new Set((t.get(e)??[]).map(e=>e.id)),i=n?Os(e).filter(e=>!r.has(e.id)):[];Ns(e),Ks(e,i),Es?.sessionId===e&&Bs(Es)}}function Ys({dialogClass:e,titleText:t,titleId:n,body:r,onCloseRequest:i}){let a=yr({dialogClass:e,closeOnBackdrop:!1,onEscape:i}),o=E(`div`,`coherence-journal-header`),s=E(`h3`,`dialog-title`,t);s.id=n;let c=E(`button`,`btn-dialog btn-dialog-cancel`,`Close`);return c.type=`button`,o.append(s,c),a.dialog.append(o,...r),br(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 Xs({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=et(e),m=Ys({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(),D(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 Zs=2,Qs={needsYou:1,broken:2,askedOfYou:3,waiting:4,settled:5},$s={danger:Qs.broken,warn:Qs.askedOfYou,wait:Qs.waiting,ok:Qs.settled,muted:Qs.settled};function ec(e){return e?$s[e]:Qs.settled}function tc(e){let t=[...e].sort((e,t)=>e.tier-t.tier),n=t.slice(Zs);return{visible:t.slice(0,Zs),overflowCount:n.length,overflowHoverText:n.map(e=>`${e.text} ${e.hoverText}`).join(`
|
|
6
|
+
`)}}function nc(e){return e.map(e=>[e.key,e.text,e.hoverText,e.look?.icon,e.look?.tone,e.tier].join(`|`)).join(`
|
|
7
|
+
`)}var rc={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 ic(e){return e?.active!==!1||e.reason===oe.notInstalled?[]:[{key:`coherence-hooks`,text:`Hooks off`,hoverText:`Coherence hooks not active: ${e.reason}${e.version?` (${e.version})`:``}`,look:{icon:`failed`,tone:`danger`},tier:Qs.broken}]}function ac(e){let t=Oe.safeParse(e.kind);return{heading:`${t.success?rc[t.data]:e.kind} | ${e.at??`Unknown time`} | ${e.id}`,text:e.text,detail:e.detail,supersedes:e.supersedes?`Supersedes: ${e.supersedes}`:null}}function oc(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 sc=new Map,cc=new Map,lc=Xs({requestPrefix:`coherence-journal`,dialogClass:`dialog coherence-journal-drawer`,titleText:`Coherence journal`,unavailableLabel:`Journal unavailable`,timeoutMs:5e3});function uc(e,t){cc.delete(e),t&&cc.set(e,t),gc(e)}function dc(e){sc.delete(e),cc.delete(e);let t=lc.currentPanel();t?.sessionId===e&&t.close()}function fc(e){let t=sc.get(e.id);t&&t.updatedAt>e.updatedAt||(sc.set(e.id,e),gc(e.id))}function pc(e){sc.clear();for(let[t,n]of Object.entries(e.sessions))sc.set(t,n);let t=lc.currentPanel();t&&gc(t.sessionId)}function mc(e){return ic(cc.get(e)??null).map(t=>({...t,onActivate:()=>_c(e)}))}function hc(e){return sc.get(e)?.journal.ok===!0}function gc(e){let t=lc.currentPanel();if(!t||t.sessionId!==e)return;let n=oc(cc.get(e)??null,sc.get(e)??null);t.parts.reading.replaceChildren(...n.lines.map(e=>E(`p`,null,e)))}function _c(e){let t=E(`div`,`coherence-journal-reading`),n=E(`p`,`coherence-journal-status`,`Loading journal`);n.setAttribute(`role`,`status`);let r=E(`div`,`coherence-journal-entries`);lc.open({sessionId:e,status:n,body:[t,n,r],parts:{reading:t,entries:r},paintBeforeRequest:()=>gc(e),buildRequest:t=>({type:`session-coherence-journal`,id:e,requestId:t})})}function vc(e){let t=lc.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=ac(e),n=E(`article`,`coherence-journal-entry`);return n.append(E(`h4`,null,t.heading),E(`p`,null,t.text)),t.detail&&n.append(E(`p`,null,t.detail)),t.supersedes&&n.append(E(`p`,null,t.supersedes)),n}))):t.status.textContent=`Journal unavailable: ${e.error||`could not read journal`}`)}var yc=/\bElectron\/\d/,bc=new Set([`localhost`,`127.0.0.1`]);function xc(e){return yc.test(e)}function Sc({userAgent:e,pageHostname:t}){return xc(e)&&bc.has(t)}function Cc(e){return oo(e)!==null}var wc=new Set([0,1]);function Tc({button:e,opensInNewTab:t}){return t&&wc.has(e)}function Ec(){return Sc({userAgent:navigator.userAgent,pageHostname:location.hostname})}function Dc(e){window.open(e,`_blank`,`noopener,noreferrer`)}async function Oc(e){try{let t=await $e();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 kc(e){!Ec()||!Cc(e)?Dc(e):Oc(e).then(t=>{t||Dc(e)})}function Ac(e){if(e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href]`):null;t instanceof HTMLAnchorElement&&Tc({button:e.button,opensInNewTab:t.target===`_blank`})&&Cc(t.href)&&(e.preventDefault(),kc(t.href))}function jc(e){Ec()&&(e.addEventListener(`click`,Ac,!0),e.addEventListener(`auxclick`,Ac,!0))}var Mc=`#c084fc`,Nc=Object.freeze({failed:{icon:he[b.FAILED],color:`#ef4444`},waiting:{icon:he[b.WAITING],color:`#f59e0b`}});function Pc(e){let{waitingCount:t,failedCount:n}=$n(Array.isArray(e)?e:[]);return t>0?`waiting`:n>0?`failed`:`idle`}function Fc(e){return Ie[e].map(({tag:e,attributes:t})=>`<${e} ${Object.entries(t).map(([e,t])=>`${e}="${t}"`).join(` `)}/>`).join(``)}function Ic(e){if(e===`idle`)return`<path d="M10 8 L22 16 L10 24Z" fill="${Mc}"/>`;let{icon:t,color:n}=Nc[e];return`<g color="${n}" transform="translate(4 4) scale(1.5)">${Fc(t)}</g>`}function Lc(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"/>${Ic(e)}</svg>`}function Rc(){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 zc=Rc(),Bc=`idle`;function Vc(e){let t=Pc([...e.values()].map(({currentState:e,unseenOutcome:t})=>({state:e,unseenOutcome:t})));t!==Bc&&(Bc=t,zc.href=`data:image/svg+xml,${encodeURIComponent(Lc(t))}`)}function Hc(e,t){return Number.isFinite(e)?Math.round(Math.min(t.maxPx,Math.max(t.minPx,e))):null}function Uc(e,t){return e===`ArrowRight`?t:e===`ArrowLeft`?-t:null}function Wc({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=Hc(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=Uc(e.key,a);if(n===null)return;e.preventDefault();let r=u(t.getBoundingClientRect().width+l*n);r!==null&&s(r)})}var Gc={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 Kc(e,t){let n=An(16,16);return n.classList.add(`pr-status-icon`),t&&(n.dataset.tone=t),n.append(bn(`path`,{d:Gc[e],fill:`currentColor`})),n}function qc(e,{className:t=``,linkUrl:n,ariaLabel:r,onActivate:i}={}){let a=`signal ${t}`.trim(),o=n?ge(a,``,n,e.hoverText):E(`span`,a);return o.title=e.hoverText,r&&o.setAttribute(`aria-label`,r),e.look&&(o.dataset.tone=e.look.tone,o.append(Kc(e.look.icon,e.look.tone))),o.append(e.text),i&&Jc(o,i,!n),o}function Jc(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 Yc(e){e.removeAttribute(`tabindex`),e.removeAttribute(`role`)}function Xc(e,t){if(e.closest(`button, a[href]`))for(let e of t){Yc(e);for(let t of e.querySelectorAll(`[role="button"]`))Yc(t)}}function Zc(e){if(e.overflowCount===0)return null;let t=E(`span`,`signal-overflow`,`+${e.overflowCount}`);return t.title=e.overflowHoverText,t}function Qc(e,t,n=e=>qc(e,e)){let r=nc(t);if(e.dataset.signalSignature===r)return;e.dataset.signalSignature=r;let i=tc(t),a=i.visible.map(n),o=Zc(i);o&&a.push(o),Xc(e,a),e.hidden=a.length===0,e.replaceChildren(...a)}var $c=[],el=`plan`,tl={parked:{text:`PARKED`,hoverText:`Merge parked`,look:{icon:`failed`,tone:`danger`},tier:Qs.broken},merging:{text:`MERGING`,hoverText:`Merging`,look:{icon:`queued`,tone:`wait`},tier:Qs.waiting}};function nl(e){$c.push(e)}function rl(e){let t=tl[e];return t?[{...t,key:`merge`}]:[]}function il(e){let t=e.closest(`.session-row`),n=t?.dataset.id;t&&n&&Qc(e,[...rl(t.dataset.merge??``),...$c.flatMap(e=>e(n))])}function al(){for(let e of document.querySelectorAll(`.session-row-signals`))il(e)}function ol(e,t=``){let n=E(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:T(n,`.session-row-glyph`),label:T(n,`.session-row-label`),ownership:T(n,`.session-row-ownership`),name:T(n,`.session-row-name`),cloud:T(n,`.session-row-cloud`),task:T(n,`.session-row-task`),signals:T(n,`.session-row-signals`),elapsed:T(n,`.session-row-elapsed`),attentionTab:T(n,`.session-row-attention-tab`)}}}function sl(e,t){let n=E(`div`,`session-row-item`),r=E(`button`,`session-row-remove`);return r.append(yn(Tn)),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 cl(e,t,n,r=!1,i=null){e.dataset.state=n,e.dataset.prompt=i??``;let{icon:a,label:o,isMonitoring:s}=Ne(n,r),c=i===el?`Plan ready`:o;return e.toggleAttribute(`data-monitoring`,s),kn(t.glyph,a),t.label.textContent=c,c}function ll(e,t){return e.hidden=!t,t?(e.title=ir(t),e.firstChild||e.append(yn(Cn)),e.title):null}function ul(e){let t=e.ownerId?j.get(e.ownerId):void 0,n=t?ft(t):null,r=e.card.dataset.id,i=[...j.values()].filter(e=>e.ownerId===r).length;return jn({ownerName:n,ownedCount:i})}function dl(e,t,n){let r=ul(n);return t.ownership.textContent=r??``,t.ownership.hidden=r===null,e.closest(`.session-row-item`)?.toggleAttribute(`data-owned`,n.ownerId!==null&&j.has(n.ownerId)),cr(n.card,r),r}function fl(e){return e===null?null:e===1?`next up`:`#${e} in line`}function pl(e,t,n){t.hidden=n===null,t.textContent=n===null?``:String(n),e.toggleAttribute(`data-attention-head`,n===1)}function ml(e,t,{ui:n,state:r,name:i,mergeStatus:a,attentionPosition:o}){let s=cl(e,t,r,n.awaitingBackgroundTasks,n.pendingPromptKind);t.name.textContent=i;let c=ll(t.cloud,n.card.dataset.remoteWorkspace);t.task.textContent=n.taskTitle,t.task.hidden=!n.taskTitle||n.taskTitle===i,e.dataset.merge=a,il(t.signals),e.dataset.activity=n._activity||``,t.elapsed.textContent=ot(n);let l=dl(e,t,n);pl(e,t.attentionTab,o);let u=[i,c,n.taskTitle,s,l,fl(o)].filter(Boolean).join(`, `);return e.setAttribute(`aria-label`,u),e.title=u,s}var hl={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.`}},gl=(e,t,n=!1)=>({state:e,awaitingBackgroundTasks:n,label:n?`Monitoring`:_[e],meaning:t}),_l=Object.freeze([gl(b.DORMANT,`Not started yet.`),gl(b.STARTING,`Setting up the worktree and booting the agent.`),gl(b.RUNNING,`The agent is mid-turn.`),gl(b.RUNNING,`The turn ended but background tasks or sub-agents are still running.`,!0),gl(b.WAITING,`Waiting on a permission prompt or your answer.`),gl(b.COMPLETE,`Finished a turn you have not looked at yet.`),gl(b.IDLE,`Ready for the next prompt.`),gl(b.DONE,`The agent process ended.`),gl(b.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 vl(e,t){let n=E(`section`,`status-legend`),r=E(`dl`,`status-legend-rows`);return r.append(...t),n.append(E(`h2`,`status-legend-title`,e),r),n}function yl(e,t){let n=E(`div`,`status-legend-row`);return n.append(e,E(`dd`,`status-legend-meaning`,t)),n}function bl(){return vl(`Status colors`,_l.map(e=>{let t=E(`dt`,`status-legend-badge`),n=E(`span`,`status-legend-glyph`),r=E(`span`,`status-legend-name`);n.setAttribute(`aria-hidden`,`true`),t.append(n,r);let i=yl(t,e.meaning);return cl(i,{glyph:n,label:r},e.state,e.awaitingBackgroundTasks),i}))}function xl(){return vl(`Pull request icons`,Object.keys(hl).map(e=>{let t=hl[e],n=E(`dt`,`status-legend-badge`);return n.append(Kc(e),E(`span`,`status-legend-name`,t.label)),yl(n,t.meaning)}))}var Sl=new Set(Pt());function Cl(){Tt([...Sl])}function wl(e){if(!e)return;let t=String(e);Sl.has(t)||(Sl.add(t),Cl())}function Tl(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),wl(i)}return[...Sl].filter(e=>!n.has(e))}function El(e){return!e||!Sl.delete(String(e))?!1:(Cl(),!0)}var Dl=Object.freeze({[b.IDLE]:`compaction_restore_idle`,[b.COMPLETE]:`compaction_restore_complete`,[b.WAITING]:`compaction_restore_waiting`});function Ol(e){return Object.values(Dl).some(t=>t===e)}var kl=new Set([`claude-code`,`codex`]),Al=`\x1B`,jl=`${Al}[200~`,Ml=`${Al}[201~`,Nl=400,Pl=4e3,Fl=/^\[Image: source: (.+)\]$/,Il=`uploads`,Ll=new Set([`Agent`,`Task`]),Rl=/^Async agent launched/,zl=`<task-notification>`,Bl=/<tool-use-id>([^<]+)<\/tool-use-id>/,Vl=/<task-id>([^<]+)<\/task-id>/,Hl=/agentId: ([\w-]+)/,Ul=/<status>([^<]+)<\/status>/,Wl=6e5;function Gl(e){return typeof e==`string`&&kl.has(e)}function Kl(e,t){if(!Gl(e))return null;let n=t.replace(/\r\n?/g,`
|
|
8
|
+
`).trim();return n?[{data:n.includes(`
|
|
9
|
+
`)?`${jl}${n}${Ml}`:n,delayBeforeMs:0},{data:`\r`,delayBeforeMs:Nl}]:null}function ql(e){return Gl(e)?[{data:`\r`,delayBeforeMs:0}]:null}function Jl(e){return Gl(e)?[{data:Al,delayBeforeMs:0}]:null}function Yl(e,t){return e===b.WAITING&&typeof t==`string`&&t!==``}function Xl(e,t){return e.uuid??`${e.kind}-${e.ts}-${t}`}function Zl(e){return typeof e.agentId==`string`}function Ql(e){let t=Fl.exec(e.trim());if(!t)return null;let[n,r,i]=t[1].split(/[\\/]/).slice(-3);return n!==Il||!r||!i?null:`/upload/${encodeURIComponent(r)}/${encodeURIComponent(i)}`}function $l(e,t){let n=e[e.length-1];n?.kind===`user`&&n.imageUrls.push(t)}function eu(e){if(!e||typeof e!=`object`)return`Agent`;let t=e.description;return typeof t==`string`&&t.trim()?t.trim():`Agent`}function tu(e,t,n){if(!e)return;if(t.isError){e.state=`failed`;return}if(!Rl.test(t.content)){e.state=`done`;return}let r=Hl.exec(t.content)?.[1];r&&n.set(r,e)}function nu(e){return e.trimStart().startsWith(zl)}function ru(e,t,n){let r=Bl.exec(e)?.[1];if(r)return t.get(r);let i=Vl.exec(e)?.[1];return i?n.get(i):void 0}function iu(e,t,n){let r=ru(e,t,n);r?.state===`running`&&(r.state=Ul.exec(e)?.[1]===`completed`?`done`:`failed`)}function au(e){let t=[],n=new Map,r=new Map,i=new Map,a=new Map,o=null;function s(){o&&t.push(o),o=null}function c(e,t){return o??={kind:`work`,key:e,steps:[],agentRuns:[],startedAt:t,endedAt:t},o.endedAt=Math.max(o.endedAt,t),o}return e.forEach((e,o)=>{let l=Xl(e,o);if(!Zl(e)){if((e.kind===`prompt`||e.kind===`expansion`)&&nu(e.text))iu(e.text,i,a);else if(e.kind===`prompt`)s(),t.push({kind:`user`,key:l,text:e.text,at:e.ts,imageUrls:[]});else if(e.kind===`expansion`)for(let n of e.text.split(`
|
|
10
|
+
`)){let e=Ql(n);e&&$l(t,e)}else if(e.kind===`assistant`){if(!e.text.trim())return;t.push({kind:`assistant`,key:l,text:e.text,at:e.ts})}else if(e.kind===`notice`)t.push({kind:`notice`,key:l,text:e.text,at:e.ts});else if(e.kind===`thinking`)c(l,e.ts);else if(e.kind===`tool_call`){let t=c(l,e.ts),a={isRunning:!0};if(t.steps.push(a),n.set(e.toolUseId,a),r.set(e.toolUseId,t),!Ll.has(e.name))return;let o={key:l,description:eu(e.input),state:`running`};t.agentRuns.push(o),i.set(e.toolUseId,o)}else if(e.kind===`tool_result`){let t=n.get(e.toolUseId),o=r.get(e.toolUseId);if(!t||!o)return;t.isRunning=!1,o.endedAt=Math.max(o.endedAt,e.ts),tu(i.get(e.toolUseId),e,a)}}}),s(),t}function ou(e){return e.flatMap(e=>e.kind===`work`?e.agentRuns.filter(e=>e.state===`running`):[])}function su(e){let t=e.at(-1);return t?.kind===`work`?t:null}function cu(e){return new Set(e.flatMap(e=>e.kind===`user`?[e.key]:[]))}function lu(e,t,n){if(n-e.sentAt>Wl)return!0;let r=e.text.trim();return t.some(t=>t.kind===`user`&&!e.userKeysAtSend.has(t.key)&&t.text.includes(r))}function uu(e){return`${e} ${e===1?`agent`:`agents`}`}function du(e){let t=Math.max(1,Math.round(e/1e3)),n=Math.floor(t/60),r=t%60;return n===0?`${r}s`:r===0?`${n}m`:`${n}m ${r}s`}function fu(e){let t=e.agentRuns.length>0?`, ${uu(e.agentRuns.length)}`:``;return`Worked ${du(e.endedAt-e.startedAt)}${t}`}function pu(e,t){let n=t>0?`${uu(t)} running`:``;return e===null?n:n?`Working ${du(e)}, ${n}`:`Working ${du(e)}`}function mu(e){return e.length<=Pl?e:e.slice(e.length-Pl)}var hu=`CommitMono`,gu=[400,700].map(e=>`${e} 14px ${hu}`),_u=`monospace`;function vu(e){return e.trim().replace(/^['"]|['"]$/g,``)}function yu(e,t){let n=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),r=t?n:n.filter(e=>vu(e)!==hu);return r.length>0?r.join(`, `):_u}function bu(e,t,n){return Promise.all(t.map(t=>e.load(t))).then(n,()=>void 0)}function xu(e,t){for(let n of e)n.term&&(n.term.options.fontFamily=t,n._syncGrid?.())}function Su(){return document.fonts?gu.every(e=>document.fonts.check(e)):!1}function Cu(){return yu(getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`),Su())}function wu(e){document.fonts&&bu(document.fonts,gu,e)}var Tu=nn(navigator.userAgent),Eu=`next-attention-keys`,Du=on();function Ou(){return Du}function ku(e,t){t.forEach((t,n)=>{n>0&&e.appendChild(E(`span`,`shortcut-sep`,`+`)),e.appendChild(E(`kbd`,`kbd`,t))})}function Au(e){let t=E(`span`,`shortcut-keys`);return ku(t,e),t}function ju(){let e=Au(ln(`next-attention`,Tu,Du));return e.classList.add(Eu),e}function Mu(e){Du=e;let t=ln(`next-attention`,Tu,e);for(let e of document.querySelectorAll(`.${Eu}`))e.replaceChildren(),ku(e,t)}var Nu=3e4,Pu=24,Fu=null,Iu=[`Android`,`iPhone`,`iPad`,`Windows`,`Mac OS X`,`Linux`],Lu=[/Firefox\/\d+/,/Edg\/\d+/,/Chrome\/\d+/,/Version\/\d+/];function Ru(){let e=navigator.userAgent,t=Iu.find(t=>e.includes(t))??`unknown platform`;return`${Lu.map(t=>t.exec(e)?.[0]).find(e=>e!==void 0)?.replace(`Version`,`Safari`)??`unknown browser`} on ${t}`}function zu(){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 Bu(){return[navigator.onLine?`online`:`offline`,...zu()].join(` `)}function Vu(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 Hu(e,t){let n=e.join(` `);if(n.length<=t)return n;let r=t-Pu,i=Vu(e,r/2),a=Vu(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 Uu(e){return e.marks.some(e=>e.startsWith(`terminal-bytes`))}function Wu(e){let t=Uu(e)&&!e.isCapped?`terminal live`:`terminal not live after ${Nu/1e3} s`,n=`hidden ${Math.round(e.hiddenForMs/1e3)} s, ${t}, ${Ru()}, ${e.networkAtWake}: `,r=n+Hu(e.marks,we-n.length);return D({type:`client-log`,scope:`wake`,text:r.slice(0,we)})}function Gu(){let e=Fu;e&&(e.isCapped||Uu(e))&&Wu(e)&&(Fu=null,clearTimeout(e.capTimer))}function Ku(){Fu&&(Fu.isCapped=!0,Gu())}function qu(e,t){e.marks.push(`${t}+${Math.round(performance.now()-e.startedAtMs)}`)}function Ju(e){Fu&&(e===`terminal-bytes`&&Uu(Fu)||(qu(Fu,e),(e===`terminal-bytes`||e===`control-opened`)&&Gu()))}function Yu(e){Fu&&qu(Fu,e===`link`?[`link`,...zu()].join(`-`):e)}function Xu(e,t){Fu||={startedAtMs:performance.now(),hiddenForMs:t,networkAtWake:Bu(),marks:[],isCapped:!1,capTimer:setTimeout(Ku,Nu)},Ju(e)}var Zu=6,Qu=262144,$u=16384,ed=()=>{};function td(e,t){if(t.length<=$u)e.push(t);else for(let n=0;n<t.length;n+=$u)e.push(t.slice(n,n+$u))}function nd({budget:e=Zu,maxChunkBytes:t=Qu,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)td(l,e),m+=e.length,a.readIdx++;else{m===0&&(td(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,ed);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 rd=nd(),id=.3,ad=null;function od(){return _t(ad)}function sd(e){return Et(e,ad)}async function cd(){try{let e=await fetch(Wt,{credentials:`same-origin`,cache:`no-store`});e.ok&&(ad=hn(await e.json()))}catch{}}function ld(){let e=new AudioContext;return e.state===`suspended`&&e.resume(),e}function ud(e,t){setTimeout(()=>e.close().catch(()=>{}),(t+.1)*1e3)}function dd(e){fd(dn[e]??dn.chime)}function fd(e){let t=ld(),n=t.createGain();n.gain.value=e.peakGain,n.connect(t.destination);let r=t.currentTime,i=0;for(let a of e.tones){let e=r+a.startSeconds,o=e+a.durationSeconds,s=t.createOscillator(),c=t.createGain();s.type=a.waveform,s.frequency.setValueAtTime(a.frequency,e),a.endFrequency&&s.frequency.exponentialRampToValueAtTime(a.endFrequency,o),c.gain.setValueAtTime(.001,e),c.gain.exponentialRampToValueAtTime(a.gain??1,e+.01),c.gain.exponentialRampToValueAtTime(.001,o),s.connect(c),c.connect(n),s.start(e),s.stop(o),i=Math.max(i,a.startSeconds+a.durationSeconds)}ud(t,i)}async function pd(e){try{let t=await fetch(Lt(e),{credentials:`same-origin`});return t.ok?await t.arrayBuffer():null}catch{return null}}async function md(e){let t=await pd(e);if(!t)return!1;let n=ld();try{let e=await n.decodeAudioData(t),r=n.createGain();r.gain.value=id,r.connect(n.destination);let i=n.createBufferSource();return i.buffer=e,i.connect(r),i.start(),ud(n,e.duration),!0}catch{return n.close().catch(()=>{}),!1}}var hd=[659.25,830.61,987.77,1108.73,987.77,830.61,739.99,659.25,739.99,830.61,987.77,1108.73,987.77,830.61];function gd(){try{let e=new AudioContext;if(e.state===`suspended`&&e.resume(),e.state===`suspended`)return;let t=e.createGain();t.gain.value=.05,t.connect(e.destination);let n=.125,r=e.currentTime;for(let i=0;i<hd.length;i++){let a=r+i*n,o=e.createOscillator(),s=e.createGain();o.type=`square`,o.frequency.value=hd[i],s.gain.setValueAtTime(.001,a),s.gain.exponentialRampToValueAtTime(1,a+.01),s.gain.exponentialRampToValueAtTime(.001,a+n*.9),o.connect(s),s.connect(t),o.start(a),o.stop(a+n)}let i=r+hd.length*n;t.gain.setValueAtTime(.05,i-.05),t.gain.exponentialRampToValueAtTime(.001,i),setTimeout(()=>e.close().catch(()=>{}),(i-r+.1)*1e3)}catch{}}function _d(){try{dd(Nt)}catch{}}function vd(e){try{let t=sd(e),n=_n(t);if(!n){dd(t);return}md(n).then(e=>{e||_d()})}catch{}}var yd={"--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)`},bd={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`},xd={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`,...yd,"--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:{...bd,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`,...yd,"--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:{...bd,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`,...yd,"--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:{...bd,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`}}},Sd=`phyrexian`,Cd=null;function wd(e){let t=xd[e];if(!t)return;let n=Cd;Cd=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`&&gd()}function Td(e){document.documentElement.toggleAttribute(`data-show-usage`,e)}function Ed(e){document.documentElement.toggleAttribute(`data-arrow-pad`,e)}function Dd(){let e=xd[Cd||Sd];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 Od(){return Object.entries(xd).map(([e,t])=>({id:e,label:t.label}))}var kd=e().int().min(1).max(500),Ad=e().int().min(1).max(200);r(`type`,[a({type:i(`input`),data:t()}),a({type:i(`claim`),cols:kd,rows:Ad}),a({type:i(`unview`)}),a({type:i(`pause-output`)}),a({type:i(`resume-output`)})]);var jd=a({type:i(`pty-size`),cols:kd,rows:Ad,seq:e().int().nonnegative()}),Md=a({type:i(`output-beat`)}),Nd=r(`type`,[jd,Md]),Pd=`history`,Fd=`output`,Id=`paused`;n([`screen`,`deep`]);function Ld(e){try{return JSON.parse(e)}catch{return null}}function Rd(e){let t=Nd.safeParse(Ld(e));return t.success?t.data:null}function zd(e,t){return!e||!t?!1:e.cols===t.cols&&e.rows===t.rows}function Bd(e){return!e||!Number.isInteger(e.cols)||!Number.isInteger(e.rows)?!1:e.cols>0&&e.rows>0}function Vd(e){return{cols:Math.min(Math.max(e.cols,1),500),rows:Math.min(Math.max(e.rows,1),200)}}function Hd({authoritative:e,isActiveViewer:t,lastClaim:n}){return!(t&&zd(e,n))}function Ud({isDocumentVisible:e,isDocumentFocused:t,hasFocusInsideCard:n,hasWindowBlurredSinceFocus:r,isPhoneLayout:i}){return e?i||t?!0:n&&!r:!1}function Wd({isBorrowedCard:e,isTerminalFaceShown:t}){return!e||!t}function Gd({viewportTopLine:e,scrollbackLineCount:t,isDeepHistoryLoadedOrPending:n}){return e===0&&t>0&&t<5e3&&!n}function Kd(e,t,n){let r=new URLSearchParams;t&&r.set(Pd,`deep`),n&&r.set(Fd,Id);let i=`/terminals/${encodeURIComponent(e)}`,a=r.toString();return a?`${i}?${a}`:i}function qd({authoritative:e,isActiveViewer:t,isDocumentEngaged:n,isDataWsOpen:r,lastClaim:i}){return!t||!n||!r?`none`:Hd({authoritative:e,isActiveViewer:t,lastClaim:i})?`rebid`:`resync`}function Jd({isActiveViewer:e,lastClaim:t,owedClaim:n}){return e?n??t:null}function Yd({authoritative:e,applied:t,proposal:n,isActiveViewer:r,isDataWsOpen:i,lastClaim:a}){let o=!!e&&!zd(e,t),s=Bd(n)?Vd(n):null,c=r&&!!s&&!zd(s,a);return{resizeTo:o?e:null,owedClaim:c?s:null,keepsPendingSettle:r&&!s,sendUnview:!r&&i&&!!a,isFollowing:Hd({authoritative:e,isActiveViewer:r,lastClaim:a})}}function Xd(e){return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?new TextDecoder().decode(e):null}function Zd(e){let t=Xd(e);return t===null?null:Rd(t)}function Qd(e,t){if(typeof e==`string`)return{kind:`bytes`,data:e};let n=Zd(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 $d=``,ef=`\x1B`,tf=`\r`,nf=new Map([[`deleteContentBackward`,$d],[`deleteByComposition`,$d],[`deleteCompositionText`,$d],[`deleteWordBackward`,ef],[`deleteSoftLineBackward`,ef],[`deleteHardLineBackward`,ef]]);function rf(e){return nf.get(e)??``}var af=new Set([`insertFromPaste`,`insertFromPasteAsQuotation`,`insertFromDrop`,`insertFromYank`,`historyUndo`,`historyRedo`]);function of(e){return typeof e!=`string`||e===``||!af.has(e)}function sf(e){return e?e.keyCode===229||e.key===`Process`:!1}function cf(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 $d.repeat(n.length-a)+r.slice(a).join(``).replace(/\r\n|\n|\r/g,tf)}var lf=/https?:\/\/[^\s<>"']+/g,uf=new Set([`.`,`,`,`;`,`:`,`!`,`?`,`'`,`"`]),df={")":`(`,"]":`[`,"}":`{`};function ff(e,t){let n=0;for(let r of e)r===t&&n++;return n}function pf(e){for(;;){let t=e[e.length-1];if(t===void 0)return e;if(uf.has(t)){e=e.slice(0,-1);continue}let n=df[t];if(n&&ff(e,n)<ff(e,t))e=e.slice(0,-1);else return e}}function mf(e){let t=[];for(let n of e.matchAll(lf)){let e=pf(n[0]);e.length<=8||t.push({start:n.index,end:n.index+e.length,url:e})}return t}var hf=50;function gf(){return{activate(e,t){kc(t)},allowNonHttpProtocols:!1}}function _f(e,t){let n=t-1;for(;n>0&&e.getLine(n)?.isWrapped&&t-1-n<hf;)n--;let r=t-1;for(;e.getLine(r+1)?.isWrapped&&r-(t-1)<hf;)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 vf(e){return e.registerLinkProvider({provideLinks(t,n){let r=e.buffer?.active;if(!r)return n(void 0);let{text:i,cellAt:a}=_f(r,t),o=[];for(let{start:e,end:t,url:n}of mf(i)){let r=a[e],i=a[t-1];r&&i&&o.push({range:{start:r,end:i},text:n,activate(e,t){kc(t)}})}n(o.length?o:void 0)}})}var yf=`(?:password|passwd|pwd|token|api[_-]?key|secret|credential|auth[_-]?token|access[_-]?key|secret[_-]?key|private[_-]?key|client[_-]?secret|connection[_-]?string)`,bf=`(?:"[^"\\r\\n]*"|'[^'\\r\\n]*'|[^\\s\\r\\n]+)`,R=`[^\\S\\r\\n]`,xf=`${yf}${R}*(?:=>|[:=])${R}*`,Sf=`[?&][A-Za-z0-9_.-]*`,Cf=`[^\\r\\n;&|]{0,200}?`,wf=`(?:mysql|mysqldump|mysqladmin|mysqlshow|mariadb|mariadb-dump)`,Tf=RegExp(`(${xf})${bf}`,`gi`),Ef=RegExp(`(\\bBearer${R}+)[A-Za-z0-9._~+/=-]{8,}`,`gi`),Df=[/\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],Of=[RegExp(`((?:^|\\s)--?${yf}${R}+)${bf}`,`gi`),RegExp(`((?:^|\\s)-(?:pwd|pw)(?![a-z])${R}*=?${R}*)${bf}`,`g`),RegExp(`(-AsPlainText${R}+)${bf}`,`gi`),RegExp(`((?:^|\\s)setx${R}+[^\\s\\r\\n]*${yf}[^\\s\\r\\n]*${R}+)${bf}`,`gi`)],kf=[RegExp(`(\\bauthorization${R}*:${R}*Basic${R}+)[A-Za-z0-9+/=_-]{8,}`,`gi`),RegExp(`(\\bdocker${R}+login\\b${Cf}${R}-p(?:${R}+|=))${bf}`,`gi`),RegExp(`(\\bcurl\\b${Cf}${R}(?:--user|-u)(?:${R}+|=)[^\\s:\\r\\n]+:)${bf}`,`gi`),RegExp(`(\\b${wf}\\b${Cf}${R}-p)${bf}`,`g`),/\b([a-z][a-z0-9+.-]*:\/\/[^\s:/@]+:)[^\s@/]+(?=@)/gi];[...Of,...kf];var Af=[/-----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],jf=RegExp(`(${Sf}(?:${yf}|_key)=)[^&#\\s]+`,`gi`),Mf=[Tf,RegExp(`(\\b(?=[A-Z0-9_]*(?:SECRET|TOKEN|KEY|PASSWORD))[A-Z][A-Z0-9_]*=)${bf}`,`g`)],Nf=[Ef,...Of,...kf,...Df,...Af];function Pf(e,t){return[...e.matchAll(t)].map(e=>({matchStart:e.index,valueStart:e.index+(e[1]??``).length,end:e.index+e[0].length}))}function Ff(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 If(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 Lf(e){let t=Pf(e,jf);return If([...t,...Mf.flatMap(n=>Ff(Pf(e,n),t)),...Nf.flatMap(t=>Pf(e,t))].map(e=>({start:e.valueStart,end:e.end})))}var Rf=`#808080`,zf=new WeakMap;function Bf(e,t,n){return`${e}:${t}:${n}`}function Vf(e){return Bf(e.marker.line,e.x,e.width)}function Hf(e,t){let n=t;for(;n>0&&t-n<63&&e.getLine(n)?.isWrapped;)n--;return n}function Uf(e,t){let n=t;for(;n-t<63&&e.getLine(n+1)?.isWrapped;)n++;return n}function Wf(e,t,n){let r=``;for(let i=t;i<=n;i++)r+=e.getLine(i)?.translateToString(!1)??``;return r}function Gf(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 Kf(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 qf(e,t,n,r){let i=[];if(Lf(Wf(e,t,n)).length===0)return i;let{text:a,cellAt:o}=Gf(e,t,n,r);for(let e of Lf(a))Kf(i,o.slice(e.start,e.end));return i}function Jf(e,t){let n=e.getNullCell(),r=[],i=t;for(;i<e.length;){let t=Uf(e,i);r.push(...qf(e,i,t,n)),i=t+1}return r}function Yf(){return{masks:[],watermark:null,isFullRescanOwed:!0}}function Xf(e){e.decoration.dispose(),e.marker.dispose()}function Zf(e){for(let t of e.masks)Xf(t);e.masks.length=0,e.watermark?.dispose(),e.watermark=null,e.isFullRescanOwed=!0}function Qf(e,t){let n=e.watermark;return e.isFullRescanOwed||!n||n.isDisposed?0:Math.min(n.line,t.baseY)}function $f(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 ep(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(Vf(r),r),r=e.masks.at(-1);return $f(e),n}function tp(e,t){let n={normal:Yf(),alternate:Yf()},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??Rf,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(!Jo())return;let t=e.buffer.active,r=n[t.type],i=Hf(t,Qf(r,t)),a=ep(r,i);for(let e of Jf(t,i)){let n=Bf(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())Xf(e);r.watermark?.dispose(),r.watermark=e.registerMarker(-t.cursorY)??null,r.isFullRescanOwed=!1}function u(){Zf(n.normal),Zf(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=>{Zf(n.alternate),s(`normal`),e.type===`alternate`&&l()})],p=Xo(d);t.addEventListener(`abort`,()=>{p();for(let e of f)e.dispose();u(),zf.delete(e)},{once:!0}),zf.set(e,d)}function np(e){zf.get(e)?.()}function rp({hasTerminal:e,isSocketOpen:t,isInputHeld:n}){return e?n||!t?`connecting`:`live`:`none`}var ip=`Upload`;async function ap(e,t){return En(ip,e),sp(e,t)}async function op(e,t){En(ip,e);for(let n of t)await sp(e,n)}async function sp(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:(N({source:ip,sessionId:e,message:await cp(r,t.name)}),!1)}catch{return N({source:ip,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 cp(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 lp=10,up=1.2,dp=.005,fp=4,pp=.08,mp=5;function hp(e,t){let n=Math.abs(t);return n<lp?!1:n>Math.abs(e)*up}function gp(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 _p(e,t,n){let r=e.length>=fp?e.slice(1):e.slice();return r.push({positionPx:t,timestampMs:n}),r}function vp(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>=pp))return 0;let o=Math.min(a,mp);return i<0?-o:o}function yp({velocityPxPerMs:e,startedAtMs:t,cellHeightPx:n,pendingPx:r=0}){return!e||!(n>0)?null:{velocityPxPerMs:e,lastMs:t,cellHeightPx:n,pendingPx:r}}function bp(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)-dp*n;if(!(r>0))return{scrollLines:0,state:null};let i=e.velocityPxPerMs<0?-1:1,a=i*r*n,{scrollLines:o,remainderPx:s}=gp(e.pendingPx+a,e.cellHeightPx);return{scrollLines:o,state:{velocityPxPerMs:i*r,lastMs:t,cellHeightPx:e.cellHeightPx,pendingPx:s}}}function xp(e,t){return e===`alternate`||!!t&&t!==`none`}function Sp(e,t){return!(e>0)||!(t>0)?0:e/t}var Cp=1;function wp(e){return typeof e._core?._viewport?.handleTouchScroll==`function`}function Tp(e,t){for(let n of e)if(n.identifier===t)return n;return null}function Ep(e,t){if(wp(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=()=>xp(t.buffer?.active?.type,t.modes?.mouseTrackingMode),m=()=>{let e=t.element?.querySelector(`.xterm-screen`);return Sp(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:Cp,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}=bp(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=yp({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=Tp(e.touches,r);if(!u)return;if(!s){if(!hp(u.clientX-i,u.clientY-a))return;s=!0,o=u.clientY,c=0,l=_p([],u.clientY,e.timeStamp)}e.cancelable&&e.preventDefault(),c+=u.clientY-o,o=u.clientY,l=_p(l,u.clientY,e.timeStamp);let d=p(),{scrollLines:f,remainderPx:h}=gp(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=_p(l,o,e.timeStamp);let t=vp(l),n=c;h(),t!==0&&v(t,performance.now(),n)},{passive:!0}),e.addEventListener(`touchcancel`,()=>{f(),h()},{passive:!0})}function Dp(e){return e.needsReload?!0:e.wasAttachedWithoutLayout&&e.hasLayoutNow}function Op(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 kp=null,Ap=null;function jp(){return kp}function Mp(){return kp?Promise.resolve(kp):(Ap??=Promise.all([I(()=>import(`./xterm-BdQ2Kshh.js`).then(e=>e.t),[]),I(()=>import(`./xterm-BdQ2Kshh.js`).then(e=>e.r),[]),I(()=>import(`./xterm-BdQ2Kshh.js`).then(e=>e.n),[])]).then(([e,t,n])=>(kp={Terminal:e.Terminal,FitAddon:t.FitAddon,WebglAddon:n.WebglAddon},kp)).catch(e=>{throw Ap=null,e}),Ap)}var Np=window.matchMedia?.(`(pointer: coarse)`).matches?4:12,Pp=new Map;function Fp(e){return e.clientWidth>0&&e.clientHeight>0}function Ip(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 Lp(e){Pp.delete(e),e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!1,Ip(e)}function Rp(e){let t=[e],n=M.snapshot().borrowedCardId,r=n?j.get(n):void 0;r&&t.push(r);for(let e of Op([...Pp.keys()],Np,t))Lp(e),e.needsWebGLReload=!0}function zp(e){e?.term&&Dp({needsReload:e.needsWebGLReload,wasAttachedWithoutLayout:e.webglAttachedWithoutLayout,hasLayoutNow:Fp(e.termWrap)})&&Wp(e,{isForced:!0})}function Bp(){for(let e of Pp.keys()){let t=e.term;if(e.webglAddon&&t)try{t.clearTextureAtlas(),t.refresh(0,t.rows-1)}catch{Lp(e),e.needsWebGLReload=!0}}}var Vp=!1;function Hp(){Vp||(Vp=!0,requestAnimationFrame(()=>{Vp=!1,Bp()}))}function Up(e){e?.addEventListener(`contextrestored`,Hp)}function Wp(e,t={}){try{if(e.webglAddon&&!e.needsWebGLReload&&!t.isForced){Pp.delete(e),Pp.set(e,!0);return}e.webglAddon&&(Ip(e),Pp.delete(e));let n=jp();if(!n)return;Rp(e);let r=new n.WebglAddon;r.onContextLoss(()=>{r.dispose(),e.webglAddon=null,Pp.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(Up),r.onAddTextureAtlasCanvas(Up),Up(r.textureAtlas),e.webglAddon=r,e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!Fp(e.termWrap),Pp.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,Pp.delete(e)}}function Gp(e){let t=zt(e,Tu,{isTerminalFocused:!0},Ou());return t?Ft(t,document.body.dataset.activeView):!1}var Kp=1024,qp=250,Jp=`(max-width: 768px)`,Yp=12,Xp=14,Zp=5e4,Qp=!1;function $p(e){Qp=e}var em=!1;window.addEventListener(`blur`,()=>{em=!0}),window.addEventListener(`focus`,()=>{em=!1});function tm(e){let t=document.activeElement;return Ud({isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),hasFocusInsideCard:t instanceof Node&&e.contains(t),hasWindowBlurredSinceFocus:em,isPhoneLayout:L()})}function nm(e,t){return Wd({isBorrowedCard:M.snapshot().borrowedCardId===t,isTerminalFaceShown:e.face===`terminal`})}var rm=new WeakMap,im=new WeakMap,am=new WeakSet,om=new WeakSet,sm=new WeakSet,cm=new WeakMap,lm=5e3,um=15e3,dm=`Keys you type now are held and sent once the terminal reconnects.`,fm=`The terminal is still reconnecting and its key buffer is full, so new keys are dropped.`,pm=`The agent copied text. The browser needs a click before it can reach your clipboard.`,mm=`The clipboard is unavailable in this browser.`;function hm(e,t,n,r){let i=cm.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(()=>gm(e,t),n===`ok`?lm:um)))}function gm(e,t){let n=cm.get(e);n&&n.shownKind===t&&(n.clearTimerId!==null&&clearTimeout(n.clearTimerId),n.clearTimerId=null,n.shownKind=null,n.status.clear())}function _m(e){let t=e.buffer.active;return t.viewportY<t.baseY}function vm(e,t,{hasNewOutput:n=!1}={}){let r=cm.get(e)?.jumpToLatestButton;if(!r)return;let i=_m(t);r.hidden=!i,i?n&&(r.dataset.hasNewOutput=`true`):delete r.dataset.hasNewOutput}function ym(e,t){if(rm.has(e)||!_m(t))return;let n=t.buffer.active,r=n.length-n.viewportY;am.has(e)?rm.set(e,r):im.set(e,r)}function bm(e,t,n){let r=e.term;r&&Gd({viewportTopLine:n,scrollbackLineCount:r.buffer.active.baseY,isDeepHistoryLoadedOrPending:am.has(e)})&&(am.add(e),om.add(e),rm.set(e,r.buffer.active.length-n),nh(t))}var xm=new WeakMap;function Sm(e,t){return document.visibilityState===`visible`&&!nm(e,t)}function Cm(e,t){if(e&&Wm(e,t))return;let n=e?.dataWs;if(!e||n?.readyState!==WebSocket.OPEN)return;let r=Sm(e,t);xm.get(n)!==r&&(xm.set(n,r),n.send(JSON.stringify({type:r?`resume-output`:`pause-output`})))}function wm(){for(let[e,t]of j)Cm(t,e)}document.addEventListener(`visibilitychange`,wm),M.subscribe((e,t)=>{t.includes(`borrowedCardId`)&&wm()});function Tm(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 Em(e,t,n){let r=(n instanceof Error?n.message:``)||String(n);console.error(`[clipboard:${t}]`,n),hm(e,`clipboard`,`error`,`Clipboard ${t} failed: ${r}`)}function Dm(e,t,n,r){let i=Le(t);i?i.then(()=>{r&&hm(e,`clipboard`,`ok`,r)}).catch(t=>Em(e,n,t)):hm(e,`clipboard`,`error`,mm)}function Om(e,t){let n=cm.get(e);n&&(n.pendingClipboardText=t,n.clipboardPrompt.hidden=!1)}function km(e){let t=cm.get(e),n=t?.pendingClipboardText;t&&n!=null&&(t.pendingClipboardText=null,t.clipboardPrompt.hidden=!0,Dm(e,n,`osc52 write`,`Copied to the clipboard.`))}function Am(e,t,n){let r=wn(`terminal-notice`),i=E(`div`,`terminal-clipboard-prompt`);i.hidden=!0;let a=E(`button`,`btn-dialog btn-dialog-confirm`,`Copy to clipboard`);a.type=`button`,a.addEventListener(`click`,()=>km(t)),i.append(E(`span`,`terminal-clipboard-prompt-text`,pm),a);let o=E(`div`,`terminal-notices`);o.append(i,r.element);let s=E(`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=E(`div`,`terminal-drop-zone`);c.setAttribute(`aria-hidden`,`true`),c.append(E(`span`,`terminal-drop-zone-label`,`Drop to upload to this session`)),e.append(o,s,c),cm.set(t,{status:r,shownKind:null,clearTimerId:null,clipboardPrompt:i,pendingClipboardText:null,jumpToLatestButton:s})}function jm(e,t){return j.get(e)===t&&!t.dataWs}function Mm(e){return e.querySelector(`:scope > .terminal-connecting`)}function Nm(e){if(Mm(e))return;let t=E(`div`,`terminal-connecting`);t.append(E(`span`,`terminal-connecting-label`,`Connecting`)),e.append(t)}function Pm(e){let t=Mm(e);if(!t)return;t.querySelector(`:scope > .terminal-connecting-animal`)?.remove();let n=Yr();n&&t.prepend(Jr(n,`terminal-connecting-animal`))}var Fm=new Set,Im=new WeakSet;function Lm(e){return Fm.add(e),()=>Fm.delete(e)}function Rm(){let e=0;for(let[t,n]of j)n.card.dataset.link===`connecting`&&Sm(n,t)&&e++;return e}function zm(e){let t=rp({hasTerminal:e.term!==null||Im.has(e),isSocketOpen:e.dataWs?.readyState===WebSocket.OPEN,isInputHeld:Qm}),n=t===`connecting`&&!Qm&&om.has(e)?`live`:t;if(n===`none`){delete e.card.dataset.link,Bm();return}let r=n===`connecting`&&e.card.dataset.link!==`connecting`;e.card.dataset.link=n,r&&Pm(e.termWrap),Bm()}function Bm(){for(let e of Fm)e()}function Vm(e,t,n){ym(t,n),rd.unregister(e),t.dataWs=null,zm(t),t._resetGridClaim?.()}var Hm=new WeakMap;function Um(e,t,n,r){Vm(e,t,n),clearTimeout(Hm.get(t)),Hm.delete(t),r===0&&Xe()?Zm(e,t,n):Hm.set(t,setTimeout(()=>{Hm.delete(t),jm(e,t)&&$e().catch(()=>{}).then(()=>{jm(e,t)&&Zm(e,t,n)})},r))}function Wm(e,t){let n=sm.has(e),r=!e.dataWs&&j.get(t)===e;return!(n||r)||!e.term||!Sm(e,t)?!1:(sm.delete(e),e._dataWsRetryAttempt=0,Um(t,e,e.term,0),!0)}function Gm(e,t,n){Vm(e,t,n),sm.add(t)}var Km=15e3,qm=new Map;function Jm(e){if(!Xe()||qm.has(e)||j.get(e)?.dataWs)return;let t=Kd(e,!1,!1),n=new WebSocket(rt(location,Je(t)));n.binaryType=`arraybuffer`;let r=[],i=e=>r.push(e),a=()=>Ym(e,n),o=()=>{n.readyState===WebSocket.CONNECTING&&a()};n.addEventListener(`message`,i),n.addEventListener(`close`,a);let s=setTimeout(o,qe),c=setTimeout(a,Km);qm.set(e,{socket:n,attachPath:t,bufferedMessages:r,release:()=>{n.removeEventListener(`message`,i),n.removeEventListener(`close`,a),clearTimeout(s),clearTimeout(c)}})}function Ym(e,t){let n=qm.get(e);n?.socket===t&&(qm.delete(e),n.release(),t.close())}function Xm(e,t){let n=qm.get(e);if(!n)return null;let r=n.socket.readyState===WebSocket.CONNECTING||n.socket.readyState===WebSocket.OPEN;return n.attachPath!==t||!r?(Ym(e,n.socket),null):(qm.delete(e),n.release(),n)}function Zm(e,t,n){sm.delete(t);let r=rm.get(t);rm.delete(t);let i=im.get(t);im.delete(t);let a=r!==void 0,o=r??i,s=!1,c=Sm(t,e),l=Kd(e,a,!c),u=Xm(e,l),d=u?.socket??new WebSocket(rt(location,Je(l)));xm.set(d,c),d.binaryType=`arraybuffer`,t.dataWs=d,c&&Ju(`terminal-connecting`),zm(t);let f=!1,p=!1,m={hasSeenSize:!1,lastSeq:0},h=setTimeout(()=>{d.readyState===WebSocket.CONNECTING&&(p=!0,c&&Ju(`terminal-abandoned`),d.close())},qe);rd.register(e,(e,t)=>n.write(e,t));let g=r=>{if(t.dataWs!==d)return;let i=Qd(r.data,m);if(i.kind===`bytes`){pt(t),xm.get(d)&&Ju(`terminal-bytes`);let r=s;if(s=!1,rd.enqueue(e,i.data),!r)return;let a=o??0;rd.enqueueAction(e,()=>{n.scrollToLine(Math.max(0,n.buffer.active.length-a))});return}if(i.kind===`beat`){pt(t);return}if(i.kind===`attach-size`){s=o!==void 0,a||am.delete(t),m.hasSeenSize=!0,m.lastSeq=i.seq,n.reset(),np(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};rd.enqueueAction(e,()=>{t.ptySize=c,t._syncGrid?.()})};d.addEventListener(`message`,g),d.addEventListener(`close`,()=>{if(clearTimeout(h),t.dataWs!==d)return;if(c&&!p&&Ju(`terminal-closed`),om.delete(t),!f&&!p&&Ke(),!Sm(t,e)){Gm(e,t,n);return}if(p){Um(e,t,n,0);return}let r=at(t._dataWsRetryAttempt||0);t._dataWsRetryAttempt=(t._dataWsRetryAttempt||0)+1,Um(e,t,n,r)});let _=()=>{clearTimeout(h),f=!0,c&&Ju(`terminal-opened`),t._dataWsRetryAttempt=0,om.delete(t),zm(t),Cm(t,e),t._syncGrid?.({isActivationEdge:!0}),t._retryOwedGridClaim?.(),t._inputQueue?.length&&setTimeout(()=>{t.dataWs===d&&$m(t)},50)};d.addEventListener(`open`,_),d.readyState===WebSocket.OPEN&&_();for(let e of u?.bufferedMessages??[])g(e)}var Qm=!1;function $m(e){let t=e._inputQueue,n=e.dataWs;if(!Qm&&t?.length&&n?.readyState===WebSocket.OPEN){for(let e of t)n.send(JSON.stringify({type:`input`,data:e}));t.length=0,gm(e,`keys`)}}function eh(){Qm=!0;for(let e of j.values())zm(e)}function th(){Qm=!1;for(let e of j.values())zm(e),$m(e)}function nh(e){let t=k(e);if(typeof e!=`string`||!t?.term)return;let n=t.dataWs;t._dataWsRetryAttempt=0,Um(e,t,t.term,0),n?.close()}function rh(){for(let[e,t]of j)t.term&&(Sm(t,e)?nh(e):ih(e,t,t.term))}function ih(e,t,n){let r=t.dataWs;r&&(Gm(e,t,n),r.close())}function ah(){for(let[e,t]of j)t.term&&ih(e,t,t.term)}function oh(e,t){let n=e.dataWs;e.dataWs=null,rd.unregister(t),n&&n.readyState<=WebSocket.OPEN&&n.close()}function sh(e,t,n){if(!e||t==null||t===``)return!1;if(n?.fromSoftKeyboard||e._resetSoftKeyboardBuffer?.(),!Qm&&!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>=Kp?(hm(e,`keys`,`error`,fm),!1):(e._inputQueue.push(t),r&&hm(e,`keys`,`busy`,dm),!0)}function ch(e,t,n){let r=window.matchMedia?.(Jp).matches?Yp:Xp,i=new n.Terminal({cursorBlink:Qp,fontSize:r,fontFamily:Cu(),theme:Dd(),scrollback:Zp,allowProposedApi:!0,linkHandler:gf()}),a=new n.FitAddon;i.loadAddon(a),Nm(e),i.open(e),Am(e,t,i),vf(i),tp(i,t.abortController.signal),t.term=i,t.fitAddon=a,Lp(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||!tm(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=Hd({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)},qp)}function h(){u&&s===null&&p(u)}function g({isActivationEdge:e=!1}={}){let n=t.term;if(!n)return;let r=Yd({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=qd({authoritative:t.ptySize??null,isActiveViewer:c,isDocumentEngaged:tm(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=Jd({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&&zp(t),g({isActivationEdge:!0}))},t.card.addEventListener(`focusin`,()=>{em=!1,_()},{signal:t.abortController.signal}),Wp(t);let y=null;i.onScroll(()=>{y===null&&(y=requestAnimationFrame(()=>{y=null,t.term&&(t.term.refresh(0,t.term.rows-1),vm(t,t.term))}))}),i.onWriteParsed(()=>vm(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=Tm(r)}catch(e){return Em(t,`osc52 decode`,e),!0}return document.hasFocus()&&navigator.userActivation?.isActive!==!1?(Dm(t,i,`osc52 write`),!0):(Om(t,i),!0)}),i.attachCustomKeyEventHandler(e=>{if(e.shiftKey&&e.key===`Enter`)return e.type===`keydown`&&sh(t,`\x1B\r`),!1;if(e.type!==`keydown`)return!0;if(Gp(e))return!1;let n=e.ctrlKey||e.metaKey;if(n&&e.key===`c`&&i.hasSelection()){let e=i.getSelection();return i.clearSelection(),Dm(t,e,`copy`),!1}return n&&e.key===`v`?!1:n&&e.key===`Backspace`?(sh(t,`\x1B`),!1):!0}),lh(e,i,t),Ep(e,i)}function lh(e,t,n){let r=t.textarea;if(!r)return;let i=``,a=()=>{i=r.value},o=()=>{i=``,L()&&r.value!==``&&(r.value=``)};n._resetSoftKeyboardBuffer=o;let s=()=>{let e=cf(i,r.value);return i=r.value,e!==``&&(sh(n,e,{fromSoftKeyboard:!0}),t.scrollToBottom(),!0)},c=(t,n)=>{e.addEventListener(t,e=>{L()?n(e):a()},!0)};c(`keydown`,e=>{sf(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(!of(e.inputType)){queueMicrotask(o);return}if(e.stopPropagation(),s())return;let r=rf(e.inputType);r!==``&&(sh(n,r,{fromSoftKeyboard:!0}),t.scrollToBottom())})}function uh(e,t){e._inputQueue=[];let n=e.term;n&&(n.onData(n=>{sh(e,n),e.unseenOutcome&&D({type:`dismiss`,id:t,expectedState:e.currentState})}),n.onScroll(n=>{bm(e,t,n)}),fh(e.termWrap,t,e.abortController.signal),zm(e),queueMicrotask(()=>{jm(t,e)&&Zm(t,e,n)}))}function dh(e){return!!e&&Array.from(e.types).includes(`Files`)}function fh(e,t,n){e.addEventListener(`paste`,e=>{let n=e.clipboardData;n&&n.files.length!==0&&n.getData(`text/plain`)===``&&(e.preventDefault(),e.stopPropagation(),op(t,Array.from(n.files)))},{capture:!0,signal:n}),e.addEventListener(`dragover`,t=>{dh(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,dh(n.dataTransfer)&&(n.preventDefault(),n.stopPropagation(),op(t,Array.from(n.dataTransfer.files)))},{capture:!0,signal:n})}function ph(e,t){if(e.term||Im.has(e))return;let n=jp();if(n){mh(e,t,n);return}Im.add(e);let r=e._isActiveViewer?.()===!0;e._isActiveViewer=()=>r,e._setActiveViewer=e=>{r=e},Nm(e.termWrap),zm(e),Mp().then(n=>{Im.delete(e),!(e.term||e.abortController.signal.aborted||j.get(t)!==e)&&(mh(e,t,n),e._setActiveViewer?.(r))},()=>{Im.delete(e),zm(e)})}function mh(e,t,n){ch(e.termWrap,e,n),uh(e,t)}function hh(e){e?._syncGridOnEngagementEdge?.()}function gh(e,t){if(!e)return;ph(e,t),Cm(e,t),zp(e);let n=e.term;n&&(n.refresh(0,n.rows-1),hh(e))}function _h(e,t,n){e&&(n&&ph(e,t),e._setActiveViewer?.(n))}var vh=`conversation:`,yh=1e4,bh=48,xh=`, `,Sh=`+`,Ch=`■`,wh=`↑`,Th=1e3,Eh={command:`Run command?`,fileChange:`Apply file changes?`,permissions:`Grant permissions?`},Dh=1;function Oh(e){e?.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function kh(e,t,n){let r=E(`button`,`conversation-icon-button ${e}`,t);return r.type=`button`,r.title=n,r.setAttribute(`aria-label`,n),r}function Ah(e){return e.conversationApproval!==null||Yl(e.currentState,e.pendingPromptKind)}function jh(e,t,n,r,i=0){let a=n[i];a?setTimeout(()=>{k(e)===t?i>0&&Ah(t)?r(`stopped-by-prompt`):sh(t,a.data)?jh(e,t,n,r,i+1):r(`unreachable`):r(`unreachable`)},a.delayBeforeMs):r(`sent`)}function Mh({signal:e,sendControl:t,showTerminal:n}){let r=E(`div`,`conversation-face`);r.hidden=!0;let i=E(`div`,`conversation-log`);i.setAttribute(`role`,`log`),i.setAttribute(`aria-live`,`polite`);let a=E(`p`,`conversation-empty`,`No conversation yet. Messages appear here as the agent works.`),o=E(`div`,`conversation-approval`);o.hidden=!0;let s=E(`p`,`conversation-bridge-note`,`Restart this Codex session to connect it to the conversation view. Until then, use the terminal.`);s.hidden=!0;let c=E(`p`,`conversation-bridge-note`,`The session trace is unavailable, so there is nothing to show here. Use the terminal.`);c.hidden=!0;let l=E(`details`,`conversation-working`),u=E(`summary`,`conversation-working-summary`);u.setAttribute(`role`,`status`);let d=E(`ul`,`conversation-agent-list`);l.append(u,d),l.hidden=!0;let f=E(`form`,`conversation-composer`),p=E(`p`,`conversation-status`);p.setAttribute(`role`,`status`);let m=E(`div`,`conversation-attachment`);m.hidden=!0;let h=E(`div`,`conversation-composer-row`),g=kh(`conversation-attach`,Sh,`Attach a photo or file`),_=E(`input`,`conversation-file-picker`);_.type=`file`,_.hidden=!0;let v=E(`textarea`,`conversation-input`);v.dataset.dashboardShortcuts=`allowed`,v.rows=1,v.placeholder=`Message the agent`,v.setAttribute(`aria-label`,`Message the agent`);let y=kh(`conversation-stop`,Ch,`Stop the current turn (Esc)`),ee=kh(`conversation-send`,wh,`Send`);ee.type=`submit`,h.append(g,v,y,ee),f.append(p,m,h,_),r.append(i,l,c,s,o,f);let x=null,te=[],ne=0,re=!1,S=null,ie=!1,C=null,ae=!1,oe=[],se=[],ce=null,le=!1,ue=new Set;function de(){return x?k(x)??null:null}function fe(e){p.textContent=e}function pe(){v.style.height=`auto`,v.style.height=`${v.scrollHeight+v.offsetHeight-v.clientHeight}px`}function me(){S&&clearTimeout(S.timeoutHandle),S=null}function he(){if(!x||r.hidden||!c.hidden)return;if(S){ie=!0;return}let e=`${vh}${Dh++}`,n=re?ne:null;t(n===null?{type:`session-trace`,id:x,requestId:e,endingAt:`tail`}:{type:`session-trace`,id:x,requestId:e,after:n})?(ie=!1,S={requestId:e,after:n,timeoutHandle:setTimeout(()=>{S=null,he()},yh)}):fe(`Conversation unavailable while disconnected.`)}function ge(){return i.scrollHeight-i.scrollTop-i.clientHeight<=bh}function _e(e){let t=E(`a`,`conversation-image-link`);t.href=e,t.target=`_blank`,t.rel=`noopener`;let n=E(`img`,`conversation-image`);return n.src=e,n.alt=`Attached image`,n.loading=`lazy`,n.addEventListener(`error`,()=>t.remove(),{once:!0}),t.append(n),t}function ve(e){let t=E(`article`,`conversation-message conversation-user is-pending`);return e.text&&t.append(E(`p`,`conversation-text`,e.text)),e.attachment?.previewUrl&&t.append(_e(e.attachment.previewUrl)),e.attachment&&!e.attachment.previewUrl&&t.append(E(`p`,`conversation-attachment-name`,e.attachment.name)),t}function ye(e){let t=E(`article`,`conversation-message conversation-${e.kind}`);return e.kind===`assistant`?(t.append(zo(Po(e.text))),t):(t.append(E(`p`,`conversation-text`,e.text)),e.kind===`user`&&t.append(...e.imageUrls.map(_e)),t)}function be(e,t){e.replaceChildren(...t.map(e=>{let t=E(`li`,`conversation-agent is-${e.state}`);return t.append(E(`span`,`conversation-agent-name`,e.description),E(`span`,`conversation-agent-state`,e.state)),t}))}function w(e){if(e.agentRuns.length===0)return E(`p`,`conversation-work`,fu(e));let t=E(`details`,`conversation-work`);t.open=ue.has(e.key),t.addEventListener(`toggle`,()=>{t.open?ue.add(e.key):ue.delete(e.key)});let n=E(`ul`,`conversation-agent-list`);return be(n,e.agentRuns),t.append(E(`summary`,``,fu(e)),n),t}function xe(){return de()?.currentState===b.RUNNING}function Se(){let e=de(),t=ou(se),n=xe()?su(se)?.agentRuns??[]:[],r=[...new Set([...n,...t])];if(l.hidden=!e||!xe()&&t.length===0,l.hidden||!e)return;let i=xe()?Math.max(0,Date.now()-e.stateSince):null;u.textContent=pu(i,t.length),l.classList.toggle(`has-agents`,r.length>0),be(d,r)}function Ce(){let e=!r.hidden&&xe();e&&!ce&&(ce=setInterval(Se,Th)),!e&&ce&&(clearInterval(ce),ce=null),Se()}function we(){i.scrollTop=i.scrollHeight}function Te(){let e=le||ge();se=au(te);let t=Date.now(),n=oe.filter(e=>lu(e,se,t));for(let e of n)Oh(e.attachment);oe=oe.filter(e=>!n.includes(e));let r=[...(xe()&&su(se)?se.slice(0,-1):se).map(e=>e.kind===`work`?w(e):ye(e)),...oe.map(ve)];i.replaceChildren(...r.length>0?r:[a]),Se(),e&&(we(),requestAnimationFrame(we),re&&(le=!1))}function T(){if(m.replaceChildren(),m.hidden=!C,C){if(C.previewUrl){let e=E(`img`,`conversation-attachment-thumbnail`);e.src=C.previewUrl,e.alt=``,m.append(e)}m.append(E(`span`,`conversation-attachment-name`,C.name))}}function Ee(e){C!==e&&Oh(C),C=e,T()}function De(e,t=()=>{}){let n=de();if(!n||!x||!e){fe(`Unable to reach this session.`);return}fe(``);let r={sent:``,unreachable:`Unable to reach this session.`,"stopped-by-prompt":`Not sent: a prompt appeared, so the message was typed but not submitted. Check the terminal.`};jh(x,n,e,e=>{fe(r[e]),t(e)})}function Oe(e,n,r){x&&fe(t({type:`conversation-approval`,id:x,requestId:e.requestId,decision:n,...r?{answers:r}:{}})?``:`Unable to send the answer while disconnected.`)}function ke(e,t){let n=E(`button`,`conversation-approval-action`,e);return n.type=`button`,n.addEventListener(`click`,t),n}function Ae(e){return e.kind===`tool`?`Allow ${e.toolName??`this tool`}?`:Eh[e.kind]??`Approve this request?`}function je(e){o.append(E(`p`,`conversation-approval-note`,`This request cannot be shown in full here. Read and answer it in the terminal.`));let t=E(`div`,`conversation-approval-actions`);t.append(ke(`Open terminal`,()=>n()),ke(`Decline`,()=>Oe(e,`decline`))),o.append(t)}function Me(e){if(o.append(E(`p`,`conversation-approval-title`,Ae(e)),E(`pre`,`conversation-approval-summary`,e.summary)),e.isSummaryTruncated){je(e);return}let t=E(`div`,`conversation-approval-actions`);t.append(ke(`Approve`,()=>Oe(e,`accept`))),e.kind!==`tool`&&t.append(ke(`Approve for session`,()=>Oe(e,`acceptForSession`))),e.alwaysAllowSummary&&(o.append(E(`p`,`conversation-approval-note`,`Always allow adds, for this session only: ${e.alwaysAllowSummary}`)),t.append(ke(`Always allow`,()=>Oe(e,`acceptForSession`)))),t.append(ke(`Decline`,()=>Oe(e,`decline`))),o.append(t)}function Ne(e){let t=E(`p`,`conversation-approval-title`,e.question);return e.header&&t.prepend(E(`span`,`conversation-question-header`,e.header)),t}function Pe(e,t){o.append(Ne(t));let n=E(`div`,`conversation-question-options`);for(let r of t.options){let i=ke(r.label,()=>Oe(e,`accept`,{[t.question]:r.label}));r.description&&(i.title=r.description),n.append(i)}let r=E(`div`,`conversation-approval-actions`);r.append(ke(`Decline`,()=>Oe(e,`decline`))),o.append(n,r)}function Fe(e,t){let n=E(`form`,`conversation-question-form`);t.forEach((e,t)=>{let r=E(`fieldset`,`conversation-question`),i=E(`legend`,`conversation-question-text`,e.question);e.header&&i.prepend(E(`span`,`conversation-question-header`,e.header)),r.append(i);for(let n of e.options){let i=E(`label`,`conversation-question-option`),a=E(`input`);a.type=e.multiSelect?`checkbox`:`radio`,a.name=`question-${t}`,a.value=n.label,i.append(a,E(`span`,``,n.label)),n.description&&(i.title=n.description),r.append(i)}n.append(r)});let r=E(`div`,`conversation-approval-actions`),i=E(`button`,`conversation-approval-action`,`Send answers`);i.type=`submit`,r.append(i,ke(`Decline`,()=>Oe(e,`decline`))),n.append(r),n.addEventListener(`submit`,r=>{r.preventDefault();let i={};t.forEach((e,t)=>{let r=[...n.querySelectorAll(`input[name="question-${t}"]:checked`)].map(e=>e.value);r.length>0&&(i[e.question]=r.join(xh))}),Object.keys(i).length===t.length?Oe(e,`accept`,i):fe(`Answer every question first.`)}),o.append(n)}function Ie(e){let t=e.questions??[];if(e.isSummaryTruncated||t.length===0){o.append(E(`p`,`conversation-approval-title`,`Claude Code has a question`),E(`pre`,`conversation-approval-summary`,e.summary)),je(e);return}let[n]=t;t.length===1&&!n.multiSelect?Pe(e,n):Fe(e,t)}function Le(e){e.kind===`question`?Ie(e):Me(e)}function Re(){o.append(E(`p`,`conversation-approval-title`,`The agent is waiting on a prompt`)),o.append(E(`p`,`conversation-approval-note`,`Read and answer it in the terminal.`));let e=E(`div`,`conversation-approval-actions`);e.append(ke(`Open terminal`,()=>n())),o.append(e)}function ze(){let e=de();o.replaceChildren();let t=e?.conversationApproval??null,n=e?Yl(e.currentState,e.pendingPromptKind):!1,r=e?.agent===`codex`&&!e.hasConversationBridge;s.hidden=!r,o.hidden=!t&&!n,ee.disabled=!o.hidden||r,Be(),e&&(t?Le(t):n&&Re())}function Be(){g.disabled=ee.disabled||ae}function Ve(e){let t=Kl(e,v.value);return t||!C?t:ql(e)}function He(){let e=de();y.disabled=e?.currentState!==b.RUNNING,Ce()}f.addEventListener(`submit`,e=>{if(e.preventDefault(),ee.disabled)return;let t=Ve(de()?.agent);if(!t)return;let n={text:v.value.trim(),attachment:C,sentAt:Date.now(),userKeysAtSend:cu(se)};v.value=``,pe(),C=null,T(),oe.push(n),le=!0,Te(),De(t,e=>{e!==`sent`&&(Oh(n.attachment),oe=oe.filter(e=>e!==n),Te())})},{signal:e}),v.addEventListener(`input`,pe,{signal:e});let Ue=0,We=new ResizeObserver(()=>{let e=i.clientHeight,t=Ue===0;Ue=e,t&&e!==0&&(le=!0,we(),re&&(le=!1))});We.observe(i),e?.addEventListener(`abort`,()=>{ce&&clearInterval(ce),We.disconnect()},{once:!0}),v.addEventListener(`keydown`,e=>{e.key!==`Enter`||e.shiftKey||e.isComposing||L()||(e.preventDefault(),f.requestSubmit())},{signal:e}),y.addEventListener(`click`,()=>De(Jl(de()?.agent)),{signal:e}),g.addEventListener(`click`,()=>_.click(),{signal:e}),_.addEventListener(`change`,()=>{let e=_.files?.[0];if(_.value=``,!e||!x)return;if(ee.disabled){fe(`Not attached: the agent is not ready for a message. Check the terminal.`);return}let t=x;ae=!0,Be(),ap(t,e).then(n=>{if(ae=!1,Be(),!n||x!==t)return;let r=e.type.startsWith(`image/`)?URL.createObjectURL(e):null;Ee({name:e.name,previewUrl:r})})},{signal:e});function Ge(e){if(x!==e){x=e,te=[],ne=0,re=!1,me(),Ee(null),ue.clear();for(let e of oe)Oh(e.attachment);oe=[],fe(``)}r.hidden=!1,c.hidden=!0,le=!0,Te(),qe(),he()}function Ke(){r.hidden=!0,me(),Ce()}function qe(){r.hidden||(ze(),He(),Te())}function Je(e){if(!S||e.requestId!==S.requestId)return!1;let t=S;if(me(),e.id!==x)return!0;let n=t.after!==null&&e.start===t.after&&!e.reset;return t.after!==null&&!n?(re=!1,te=[],he(),!0):(te=mu(t.after===null?[...e.records]:[...te,...e.records]),ne=e.next,re=!0,Te(),ie&&he(),!0)}function Ye(e){return!S||e.requestId!==S.requestId?!1:(me(),ie=!1,c.hidden=!1,!0)}function D(e){e!==x||r.hidden||(c.hidden=!0,he())}return{el:r,show:Ge,hide:Ke,refresh:qe,applyTraceResponse:Je,applyTraceError:Ye,applyTraceChanged:D}}var Nh=22,Ph={image:`Image`,video:`Video`,page:`Page`},Fh=new WeakMap;function Ih(e){let t=e.registerMarker(0);if(!t)return null;let n=Fh.get(e);if(n&&!n.marker.isDisposed&&n.marker.line===t.line)return t.dispose(),n;let r={marker:t,chipCount:0};return Fh.set(e,r),r}function Lh(e,t){let n=E(`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=E(`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(E(`span`,`shown-chip-kind`,Ph[t.kind])),n.append(E(`span`,`shown-chip-name`,t.pageTitle??t.name)),n.addEventListener(`click`,n=>{n.stopPropagation(),Ws(e,t.id)}),n}function Rh(e,t,n){let r=Ih(e);if(!r)return;let i=e.registerDecoration({marker:r.marker,anchor:`right`,x:r.chipCount*Nh,width:Nh,layer:`top`});if(!i)return;r.chipCount+=1;let a=Lh(t,n);i.onRender(e=>{e.contains(a)||e.replaceChildren(a),e.classList.add(`shown-chip-slot`)})}function zh(e,t){let n=k(e)?.term;if(n)for(let r of t)Rh(n,e,r)}function Bh(e){if(!e)return 0;let t=0;return e.listenerMismatch&&t++,e.orphanPty&&t++,e.destroyedReachable&&t++,t}function Vh(e,t){return e||Bh(t)>0}var Hh={DORMANT:`DOR`,INITIALIZING:`INI`,STARTING:`STA`,RUNNING:`RUN`,WAITING:`WAI`,IDLE:`IDL`,COMPLETE:`CMP`,DONE:`DON`,FAILED:`FAI`},Uh=null,Wh=!1,Gh=!1,Kh=null,qh=null,Jh=null,Yh=`—`;function Xh(e){return e==null?Yh:me(e,`GB`)}function Zh(e){return e==null?Yh:u(e,{smallestUnit:`s`,dropsZeroRemainder:!1})}function Qh(e){return e==null?Yh:`${Zh(Math.max(0,Math.round((Date.now()-e)/1e3)))} ago`}function $h(){let e=E(`div`,`health-footer`);e.dataset.expanded=`false`,e.hidden=!0;let t=E(`div`,`health-summary`),n=E(`button`,`health-toggle`);n.type=`button`,n.setAttribute(`aria-expanded`,`false`),n.setAttribute(`aria-controls`,`health-detail`);let r=E(`span`,`health-chev`,`▲`);r.setAttribute(`aria-hidden`,`true`),n.append(r,E(`span`,`health-toggle-label`,`Health`));let i=E(`div`,`health-stats`);t.append(n,i);let a=E(`div`,`health-detail`);return a.id=`health-detail`,a.hidden=!0,n.addEventListener(`click`,()=>{Gh=!Gh,e.dataset.expanded=String(Gh),n.setAttribute(`aria-expanded`,String(Gh)),a.hidden=!Gh,Gh&&(D({type:`request-health-snapshot`}),tg())}),e.append(t,a),Kh=e,qh=i,Jh=a,e}function eg(){if(!qh||!Uh)return;let e=Uh,t=Bh(e.anomalies);qh.innerHTML=`
|
|
11
|
+
<span class="health-stat" title="V8 heap used"><span class="health-stat-label">Heap</span> ${Xh(e.process.heapUsed)}</span>
|
|
12
|
+
<span class="health-stat" title="Resident set size (process memory)"><span class="health-stat-label">RSS</span> ${Xh(e.process.rss)}</span>
|
|
13
|
+
<span class="health-stat" title="External buffers (PTY data lives here)"><span class="health-stat-label">Ext</span> ${Xh(e.process.external)}</span>
|
|
14
|
+
<span class="health-stat" title="Active resources (handles + requests)"><span class="health-stat-label">Hdl</span> ${e.process.activeResources}</span>
|
|
15
|
+
<span class="health-stat" title="Memory headroom at the last start check, and starts held for memory"><span class="health-stat-label">Mem</span> ${Xh(e.memoryGate?.headroomBytes)} / ${e.memoryGate?.heldStartCount??0} held</span>
|
|
16
|
+
<span class="health-stat" title="Sessions: alivePty / total"><span class="health-stat-label">Sess</span> ${e.sessions.alivePty}/${e.sessions.total}</span>
|
|
17
|
+
<span class="health-stat" title="WebSockets: control + data"><span class="health-stat-label">WS</span> ${e.websockets.control}+${e.websockets.data}</span>
|
|
18
|
+
<span class="health-stat" title="Server uptime"><span class="health-stat-label">Up</span> ${Zh(e.uptimeSeconds)}</span>
|
|
19
|
+
${t>0?`<span class="health-anomaly" title="${t} anomaly type(s), expand for details">⚠ ${t}</span>`:``}
|
|
20
|
+
`}function tg(){if(!Jh||!Uh)return;let e=Uh,t=e.process,n=e.websockets,r=e.sessions,i=e.anomalies,a=``;if(Bh(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=`
|
|
21
|
+
<div class="health-section health-section-warn">
|
|
22
|
+
<div class="health-section-title">⚠ Anomalies</div>
|
|
23
|
+
${e.map(e=>`<div class="health-row">${e}</div>`).join(``)}
|
|
24
|
+
</div>
|
|
25
|
+
`}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`
|
|
26
|
+
<tr>
|
|
27
|
+
<td>${Hn(e.name)}</td>
|
|
28
|
+
<td class="health-mono">${Hh[e.state]||e.state}</td>
|
|
29
|
+
<td class="health-mono">${e.hasPty?e.ptyPid:Yh}</td>
|
|
30
|
+
<td class="health-mono">${Xh(e.outputBufferBytes)}</td>
|
|
31
|
+
<td class="health-mono">${e.outputBufferEntries}</td>
|
|
32
|
+
<td class="health-mono">${e.dataListenerCount}</td>
|
|
33
|
+
<td class="health-mono health-dim">${n}</td>
|
|
34
|
+
<td class="health-mono health-dim">${t.join(` `)||``}</td>
|
|
35
|
+
</tr>
|
|
36
|
+
`}).join(``);Jh.innerHTML=`
|
|
37
|
+
${a}
|
|
38
|
+
<div class="health-section">
|
|
39
|
+
<div class="health-section-title">Process</div>
|
|
40
|
+
<div class="health-grid">
|
|
41
|
+
<div class="health-row"><span class="health-label">Heap used</span><span class="health-mono">${Xh(t.heapUsed)}</span></div>
|
|
42
|
+
<div class="health-row"><span class="health-label">Heap total</span><span class="health-mono">${Xh(t.heapTotal)}</span></div>
|
|
43
|
+
<div class="health-row"><span class="health-label">RSS</span><span class="health-mono">${Xh(t.rss)}</span></div>
|
|
44
|
+
<div class="health-row"><span class="health-label">External</span><span class="health-mono">${Xh(t.external)}</span></div>
|
|
45
|
+
<div class="health-row"><span class="health-label">Array buffers</span><span class="health-mono">${Xh(t.arrayBuffers)}</span></div>
|
|
46
|
+
<div class="health-row"><span class="health-label">Active resources</span><span class="health-mono">${t.activeResources}</span></div>
|
|
47
|
+
<div class="health-row"><span class="health-label">Uptime</span><span class="health-mono">${Zh(e.uptimeSeconds)}</span></div>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
<div class="health-section">
|
|
52
|
+
<div class="health-section-title">Memory gate</div>
|
|
53
|
+
<div class="health-grid">
|
|
54
|
+
<div class="health-row"><span class="health-label">Headroom</span><span class="health-mono">${Xh(e.memoryGate?.headroomBytes)}</span></div>
|
|
55
|
+
<div class="health-row"><span class="health-label">Read</span><span class="health-mono">${Qh(e.memoryGate?.headroomReadAtMs)}</span></div>
|
|
56
|
+
<div class="health-row"><span class="health-label">Starts held</span><span class="health-mono">${e.memoryGate?.heldStartCount??0}</span></div>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
<div class="health-section">
|
|
61
|
+
<div class="health-section-title">WebSockets</div>
|
|
62
|
+
<div class="health-grid">
|
|
63
|
+
<div class="health-row"><span class="health-label">Control clients</span><span class="health-mono">${n.control}</span></div>
|
|
64
|
+
<div class="health-row"><span class="health-label">Data clients</span><span class="health-mono">${n.data}</span></div>
|
|
65
|
+
<div class="health-row"><span class="health-label">Tracked per session</span><span class="health-mono">${n.dataPerSessionTotal}</span></div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<div class="health-section">
|
|
70
|
+
<div class="health-section-title">Sessions (${r.total} total · ${r.alivePty} alive PTY)</div>
|
|
71
|
+
<div class="health-row health-dim">Listeners ${r.totalDataListeners} · Output buffer ${Xh(r.totalOutputBufferBytes)}</div>
|
|
72
|
+
<table class="health-table">
|
|
73
|
+
<thead>
|
|
74
|
+
<tr>
|
|
75
|
+
<th>Name</th><th>State</th><th>PID</th><th>Buffer</th><th>Entries</th><th>Listeners</th><th>Timers</th><th>Flags</th>
|
|
76
|
+
</tr>
|
|
77
|
+
</thead>
|
|
78
|
+
<tbody>${o||`<tr><td colspan="8" class="health-dim">No sessions</td></tr>`}</tbody>
|
|
79
|
+
</table>
|
|
80
|
+
</div>
|
|
81
|
+
`}function ng(){if(!Kh)return;let e=Vh(Wh,Uh?.anomalies),t=Kh.hidden;Kh.hidden=!e,e&&t&&Uh&&(eg(),Gh&&tg())}function rg(e){Wh=e,ng()}function ig(e){if(Kh)return Kh;let t=$h();return e.appendChild(t),ng(),t}function ag(e){Uh=e,ng(),Kh&&!Kh.hidden&&(eg(),Gh&&tg())}var og=Object.freeze([{kind:`approve`,label:`Approve`},{kind:`revise`,label:`Send feedback`},{kind:`terminal`,label:`Answer in terminal`}]);function sg(e){return e===`approve`||e===`approve-accept-edits`}function cg(e){return(e.state===`decided`||e.state===`closed`)&&sg(e.lastDecision)}function lg(e,t){let n=e.reviews.find(e=>e.agentId===t);return n!==void 0&&cg(n)}function ug(e,t){return e.reviews.find(e=>e.agentId===t)??e.reviews[0]??null}function dg(e){let t=ug(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 fg(e,t){return ug(e,t)?.openRevision?.revision??null}function pg(e,t,n){if(n===null)return null;let r=ug(e,t)?.revisions??[],i=r.findIndex(e=>e.revision===n);return i<=0?null:r[i-1].revision}function mg(e,t){let n=t-e;return Number.isFinite(n)?Re(n,{rounding:`floor`,wording:`abbreviated`,suffix:` ago`,justNowBelowSeconds:60}):`just now`}function hg(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 gg(e,t,n){let r=hg(e,t,n),i=(e.pendingCommentCount??0)>0,a=e.hasUnsavedComment!==!0;return og.map(({kind:e,label:t})=>({kind:e,label:t,enabled:r&&(e===`terminal`||a&&(e===`revise`?i:!i))}))}function _g(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 vg(e){let t=0;for(let n of e.comments??[])t+=n.comment.trim().length+(n.heading?.length??0);return t}function yg(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength+c}function bg(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 ${de} characters, so nothing was sent`:vg(e)>1e4?`the feedback composes more than the ${fe} characters the hook reply carries, so nothing was sent`:yg(e)>Ce?`the decision is larger than one control frame carries, so nothing was sent`:null}function xg(e){return e?`, ${e}`:``}function Sg(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=_g(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 Cg(e,t,n){let r=Sg(e,t,n);return r?`${r}${xg(e.problem)}`:e.problem??``}function wg(e){let t=ug(e.state,e.selectedAgentId),n=dg(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:pg(e.state,t?.agentId??null,n),status:Cg(e,t,n),actions:gg(e,t,n),modes:[{kind:`read`,label:`Read`,enabled:!0},{kind:`changes`,label:`Changes`,enabled:pg(e.state,t?.agentId??null,n)!==null&&e.isDraft!==!0},{kind:`edit`,label:`Edit`,enabled:hg(e,t,n)}]}}function Tg(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 Eg({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 Dg=10;function Og(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 kg(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 Ag(e,t,n){let r=e.get(t)??[];r.push(n),e.set(t,r)}function jg(e,t){for(let n of e.hotspots)Ag(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<Dg||Ag(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 Mg(e,t){return t.severity-e.severity||e.openPath.localeCompare(t.openPath)||e.dedupeKey.localeCompare(t.dedupeKey)}function Ng(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:Og(r)});let r=new Map,i=new Map,a=e.error?[e.error]:[];for(let t of e.repos){for(let e of kg(t,n))r.has(e.dedupeKey)||r.set(e.dedupeKey,e);jg(t,i),t.error&&a.push(e.repos.length>1?`${t.name}: ${t.error}`:t.error)}return{worthALook:[...r.values()].sort(Mg),hintsByOpenPath:i,repos:e.repos.map(e=>({name:e.name,sessionPathPrefix:e.sessionPathPrefix})),errors:a}}function Pg(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 Fg=5;function Ig(e,t){let n=E(`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(E(`span`,`review-look-file`,e.path),E(`span`,`review-look-text`,e.text)),n.addEventListener(`click`,()=>t(e.openPath)),n}function Lg(e,{isShowingAll:t,onShowAll:n,onOpenFile:r}){if(e.worthALook.length===0&&e.errors.length===0)return null;let i=E(`section`,`review-look`);if(i.append(E(`h3`,`review-group-label`,`Worth a look`)),e.errors.length>0){let t=E(`p`,`review-look-error`,`Could not check this change for anything worth a look.`);t.title=e.errors.join(`
|
|
82
|
+
`),i.append(t)}let a=t?e.worthALook:e.worthALook.slice(0,Fg);if(a.length>0){let e=E(`div`,`review-look-list`);for(let t of a)e.append(Ig(t,r));i.append(e)}let o=e.worthALook.length-a.length;if(o===0)return i;let s=E(`div`,`review-look-more`),c=E(`button`,`review-look-show-all`,`Show all`);return c.type=`button`,c.addEventListener(`click`,n),s.append(E(`span`,`review-look-more-count`,`+${o} more`),c),i.append(s),i}function Rg(e){return(e??[]).map(e=>{let t=E(`span`,`review-file-hint`,e.text);return t.title=e.title,t})}function zg(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 Bg(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=zg(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 Vg(e,t){return t===`merged`||t===`none`||e===`parked`&&t===`pending-review`}function Hg(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 Ug({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=Jg(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 Wg({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?Ug({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 Gg(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 ${Jg(t)}.`}function Kg(e,t){return e.namesMergeTarget?null:`merges into ${Jg(t)}`}function qg({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 Jg(e){return e||`base`}function Yg(e,t){return`Merge into ${Jg(e)}, push it, and rebase this worktree, then keep working (${t})`}function Xg(e){return e===`base-diverged`?`Resync the base branch by hand, then Merge again.`:`Needs manual merge`}function Zg(e,t,n){let r=e!==`parked`||e===`parked`&&t===`base-diverged`;return{isRendered:r,isEnabled:r&&e!==`merging`&&n}}function Qg({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 $g(e){return e.map(e=>{let t=e.member?`${e.member}/ `:``,n=ie(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 e_({fetched:e,changedFileCount:t,hasCommits:n}){return!e||t>0||n}function t_(e){return e||`its upstream`}function n_(e){if(!e)return null;let t=e.branch||`Base branch`,{state:n,ahead:r,behind:i}=e,a=t_(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 r_(e){return!e||e.fetched===!1?`recheck`:e.state===`ahead`||e.state===`behind`?`resync`:`recheck`}function i_(e,t,n){let r=n?` (${t})`:``;if(!e||r_(e)===`recheck`)return`Click to fetch and check again${r}`;let i=e.branch||`Base branch`,a=t_(e.upstream);return e.state===`behind`?`Click to fast-forward ${i} to ${a}${r}`:`Click to push ${i} to ${a}${r}`}function a_(e){return e?.state!==`in-sync`||e.fetched===!1}function o_(e){if(e.error)return`Resync failed: ${e.error}`;let t=e.branch||`The base branch`,n=t_(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 s_=new Set([`pending-review`,`parked`]),c_=600,l_=Ut(`merge`,Tu),u_=Ut(`resolve-or-resync`,Tu),d_={minPx:260,maxPx:700},f_=16,p_=5e3,m_=new Map,h_=new Map,g_=new Map,__=new Map,v_=new Map,y_=new Map,b_=new Set,x_=new WeakMap,S_=new WeakMap,C_=new Set,w_=new Set,T_=!1,E_=null,D_=null,z=null,B=null,O_=null,k_=null,A_=null,j_=null,M_=null,N_=!1,P_=null,F_=null,I_=null,L_=null,R_=new Map,V=null,z_=null;function B_(e,t){let n=E(`button`,`review-icon-button`);return n.type=`button`,n.title=e,n.setAttribute(`aria-label`,e),n.append(yn(t)),n}function V_(){N_=!1,z?.querySelector(`.review-more-menu`)?.remove(),z?.querySelector(`.review-more-button`)?.setAttribute(`aria-expanded`,`false`)}function H_({panel:e}){if(D_=e,!D_)return;let t=D_,n=E(`div`,`review-sidebar-head`),r=E(`span`,`review-sidebar-title`,`Review`);M_=E(`span`,`review-sidebar-session`),r.append(M_);let i=e=>{t.toggleAttribute(`data-collapsed`,e),At(!e)},a=B_(`Close review`,`M6 3L11 8L6 13`);a.classList.add(`review-sidebar-close`),a.addEventListener(`click`,()=>i(!0)),n.append(r,a);let o=E(`div`,`review-sidebar-rail`),s=B_(`Open review`,`M10 3L5 8L10 13`);s.classList.add(`review-sidebar-open`),s.addEventListener(`click`,()=>i(!1)),k_=E(`div`,`review-rail-status`),A_=E(`span`,`review-rail-added`),j_=E(`span`,`review-rail-removed`),k_.append(A_,j_),O_=E(`span`,`review-rail-label`,`Review`),o.append(s,O_,k_),z=E(`div`,`review-controls`),B=E(`div`,`review-sidebar-body`);let c=E(`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,z,B,c),t.toggleAttribute(`data-collapsed`,!gt()),W_(B),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&N_&&(e.preventDefault(),V_(),z?.querySelector(`.review-more-button`)?.focus())}),document.addEventListener(`pointerdown`,e=>{N_&&e.target instanceof Element&&(z?.contains(e.target)&&e.target.closest(`.review-more-button, .review-more-menu`)||V_())}),Wc({resizer:c,column:t,widthHost:t,widthProperty:`--sidebar-width`,bounds:d_,keyStepPx:f_,getStoredWidth:tn,setStoredWidth:jt,growsLeftward:!0}),di(e=>{N_=!1,I_=null,C_.clear(),w_.clear(),T_=!1,E_=null,e&&_v(e),e&&!yv(e)&&bv(e),H()}),H()}function U_(e,t){let n=m_.get(e);m_.set(e,t),Vg(n,t)&&(g_.delete(e),__.delete(e),v_.delete(e),e===F()&&vv(e)),e===F()&&H()}function W_(e){let t=!1,n=null,r=null,i=e=>D({type:`watch-session-changes`,id:e}),a=()=>{let e=t&&document.visibilityState===`visible`?F():null;e!==n&&(r&&clearInterval(r),r=null,n=e,i(e),e&&(r=setInterval(()=>i(e),f)))};new IntersectionObserver(e=>{t=e[e.length-1]?.isIntersecting??!1,a()}).observe(e),document.addEventListener(`visibilitychange`,a),di(a)}function G_(e){D_&&(e?(je(D_,e),H()):(be(D_),H()))}function K_(e,t,n=null){let r=t||`none`;h_.set(e,n);let i=R_.get(e);i!==void 0&&i!==r&&R_.delete(e),U_(e,r)}function q_(e){let t=A(e);t&&R_.delete(t)&&t===F()&&H()}function J_(e,t,n=null){h_.set(e,n),R_.delete(e),U_(e,t||`none`)}function Y_(e,t){g_.set(e,t),__.delete(e),e===F()&&(E_&&Ev(E_,t),H(),Dv())}function X_(e,t){let n=A(e);n&&(__.set(n,t),n===F()&&H())}function Z_(e,t){let n=A(e);if(!n)return;let r=y.safeParse(t);r.success&&r.data.sessionId===n&&(v_.set(n,r.data),n===F()&&H())}function Q_(e,t){let n=A(e),r=t;y_.set(n,r),r&&r.action!==void 0&&$_(n,r),n===F()&&H()}function $_(e,t){b_.delete(e),clearTimeout(z_??void 0),z_=null;let n=o_(t);V=n?{forId:e,text:n,isError:!!t.error}:null,V&&!V.isError&&(z_=setTimeout(()=>{V&&V.forId===e&&(V=null),H()},5e3))}function ev(e){let t=A(e);t&&t===F()&&_v(t)}function tv(e){let t=A(e);if(t!==F())return;let n=!g_.has(t)||__.has(t),r=!v_.has(t)||nv(v_.get(t));n&&_v(t),r&&!n&&vv(t),H()}function nv(e){return e?!!e.error||e.repos.some(e=>e.error!==null):!1}function rv(e){let t=A(e);m_.delete(t),h_.delete(t),g_.delete(t),__.delete(t),v_.delete(t),y_.delete(t),b_.delete(t),V&&V.forId===t&&(clearTimeout(z_??void 0),V=null),t===F()?ui(null):H()}function iv(){let e=F(),t=e?j.get(e):null;if(!e||!t)return av(null,`No session is open to merge.`);if(yv(e))return av(e,`A workspace session has no worktree to merge.`);if(R_.has(e))return av(e,`Merge is already on its way for "${Tv(t,e)}".`);let n=m_.get(e)||`none`,r=!!g_.get(e)?.hasCommits,i=Zg(n,h_.get(e)||null,pv(t.currentState,r));return qg({status:n,mergeReason:h_.get(e)||null,live:gv(t.currentState),isMergeRendered:i.isRendered,hasChanges:fv(e)})!==`merge`||!i.isEnabled?av(e,Qg({status:n,hasCommits:r,live:gv(t.currentState),state:t.currentState})??`Nothing to merge in "${Tv(t,e)}" right now.`):(mv(e,t.currentState),!0)}function av(e,t){return I_={forId:e,text:t},clearTimeout(L_??void 0),L_=setTimeout(()=>{I_=null,H()},p_),H(),!1}function ov(){let e=F();if(!e||yv(e))return!1;let t=j.get(e);if(!t)return!1;let n=m_.get(e)||`none`,r=h_.get(e)||null;return qg({status:n,mergeReason:r,live:gv(t.currentState),isMergeRendered:Zg(n,r,!1).isRendered,hasChanges:fv(e)})!==`resolve`||sv(e)?!1:(cv(e),!0)}function sv(e){return P_?.forId===e&&!P_.isError}function cv(e){let t=D({type:`resolve-session-merge`,id:e});P_=t?{forId:e,text:`Resolve prompt sent`,isError:!1}:{forId:e,text:`Not connected. The resolve prompt was not sent.`,isError:!0},clearTimeout(F_??void 0),F_=setTimeout(()=>{P_=null,H()},t?3e3:p_),H()}function lv(){let e=F();return!e||!j.has(e)||yv(e)||Sv(e)?!1:(Cv(e),!0)}function uv(e){if(!e)return{committed:[],uncommitted:[]};let t=x_.get(e);if(t)return t;let n={committed:Bg(e.committed?.diff||``),uncommitted:Bg(e.uncommitted?.diff||``)};return x_.set(e,n),n}function dv(e){let t=S_.get(e);if(t)return t;let n=Ng(e);return S_.set(e,n),n}function fv(e){let t=uv(g_.get(e)),n=[...t.committed,...t.uncommitted],r=g_.get(e)??null;return e_({fetched:g_.has(e),changedFileCount:Hg(n).files,hasCommits:!!r?.hasCommits})}function pv(e,t){return(ue.includes(e)||e===b.RUNNING)&&t}function mv(e,t){t===b.RUNNING?gr({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:()=>hv(e,!0)}):hv(e,!1)}function hv(e,t){R_.has(e)||(D(t?{type:`merge-continue-session`,id:e,force:!0}:{type:`merge-continue-session`,id:e})?(R_.set(e,m_.get(e)||`none`),e===F()&&H()):av(e,`Not connected. The merge was not sent.`))}function gv(e){return e!==b.DORMANT&&e!==b.DONE&&e!==b.FAILED}function _v(e){D({type:`request-session-diff`,id:e}),vv(e)}function vv(e){v_.has(e)||v_.set(e,null),D({type:`request-change-map`,id:e})}function yv(e){return j.get(e)?.card.dataset.workspace!==void 0}function bv(e){y_.set(e,null),D({type:`request-branch-sync`,id:e}),e===F()&&H()}function xv(e){b_.add(e),clearTimeout(z_??void 0),V&&V.forId===e&&(V=null),D({type:`resync-branch`,id:e}),e===F()&&H()}function Sv(e){return b_.has(e)||y_.get(e)===null}function Cv(e){Sv(e)||(r_(y_.get(e))===`resync`?xv(e):bv(e))}function wv(e,t){return t?{text:`Resyncing`,loading:!0,error:!1}:V&&V.forId===e?{text:V.text,loading:!1,error:V.isError}:null}function Tv(e,t){return e?.card?.dataset.session||t}function Ev(e,t){if(!t)return;let{committed:n,uncommitted:r}=uv(t);for(let t of n)(t.path===e||t.oldPath===e)&&C_.add(`committed:${t.path}`);for(let t of r)(t.path===e||t.oldPath===e)&&C_.add(`uncommitted:${t.path}`)}function Dv(){if(!B||!E_)return;let e=B.querySelectorAll(`.review-file`);for(let t of e)if(t.dataset.path===E_||t.dataset.oldPath===E_){t.scrollIntoView({block:`nearest`}),E_=null;return}}function Ov(e){E_=e,Ev(e,g_.get(F()??``)),H(),Dv()}function kv(){T_=!0,H()}function H(){let e=B?.scrollTop??0;Av(),B&&(B.scrollTop=e)}function Av(){if(!z||!B)return;z.replaceChildren(),B.replaceChildren(),O_&&(O_.hidden=!0),k_&&(k_.hidden=!0);let e=F(),t=e?j.get(e):null;if(Mv(e,t),!e||!t){I_&&z.append(jv(I_.text,!0)),Nv(`No session selected`,`Click a session name to review its changes here.`);return}let n=yv(e),r=m_.get(e)||`none`,i=h_.get(e)||null,a=t.currentState,o=s_.has(r),s=g_.has(e),c=s?g_.get(e):null,l=__.get(e)??null,{committed:u,uncommitted:d}=uv(c),f=!!c?.hasCommits,p=gv(a),m=Zg(r,i,pv(a,f)),h=y_.get(e),g=b_.has(e),_=Jg(t.effectiveBase),v=Hg([...u,...d]),y=qg({status:r,mergeReason:i,live:p,hasChanges:e_({fetched:s,changedFileCount:v.files,hasCommits:f}),isMergeRendered:m.isRendered}),b=Wg({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}),ee=b.isEmpty===!0,x=ee||L()||a_(h),te=E(`div`,`review-status-headline`);if(te.append(E(`span`,`review-status-text`,b.text)),!n&&!x){let t=n_(h);if(t){te.title=t;let n=B_(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);n.classList.add(`review-branch-sync-refresh`),n.title=i_(h,u_,y!==`resolve`),n.disabled=Sv(e),n.setAttribute(`aria-description`,t),n.addEventListener(`click`,()=>Cv(e)),te.append(E(`span`,`sr-only`,t),n)}}if(ee||z.append(te),u.length>0)for(let e of $g(c?.bases??[])){let t=E(`div`,e.isUnverified?`review-diff-base review-diff-base-unverified`:`review-diff-base`,e.text);t.title=e.fullSha,z.append(t)}let ne=E(`div`,`review-status-meta`);if(s&&v.files>0&&ne.append(E(`span`,`review-status-added`,`+${v.added}`),E(`span`,`review-status-removed`,`-${v.removed}`),E(`span`,`review-status-spacer`)),!n&&x){let t=Pv(e,y!==`resolve`);t&&ne.append(t)}ne.childElementCount>0&&z.append(ne),r===`parked`&&z.append(E(`div`,`review-status-explanation`,Xg(i))),O_&&(O_.hidden=!1),k_&&(k_.hidden=!1,k_.setAttribute(`aria-label`,`${b.text}, +${v.added}, -${v.removed}`),k_.title=b.text),A_&&(A_.textContent=`+${v.added}`),j_&&(j_.textContent=`-${v.removed}`);let re=n?null:zv(e,{status:r,reviewable:o,mergeAction:m,live:p,state:a,effectiveBase:_,primaryAction:y});re&&z.append(re);let S=n?null:wv(e,g),ie=!n&&y===`merge`&&!m.isEnabled?Qg({status:r,hasCommits:f,live:p,state:a}):null;if(ie){let e=E(`div`,`review-control-reason`,ie);e.id=`review-merge-reason`,z.append(e),z.querySelector(`#review-merge-btn`)?.setAttribute(`aria-describedby`,e.id)}if(S?.text){let e=E(`div`,S.loading?`review-control-reason review-loading`:`review-control-reason`,S.text);e.id=`review-resync-reason`,S.error&&e.classList.add(`review-control-reason-error`),e.setAttribute(`role`,`status`),ne.append(e),ne.isConnected||z.insertBefore(ne,te.isConnected?te.nextSibling:z.firstChild),z.querySelector(`.review-branch-sync-button, .review-branch-sync-refresh`)?.setAttribute(`aria-describedby`,e.id)}if(P_?.forId===e&&z.append(jv(P_.text,P_.isError)),I_&&(I_.forId===e||I_.forId===null)&&z.append(jv(I_.text,!0)),l){B.append(E(`p`,`review-diff-error`,l));return}if(ee){Nv(b.text,Gg(n,_));return}let C=v_.get(e),ae=C?dv(C):null,oe=ae?Lg(ae,{isShowingAll:T_,onShowAll:kv,onOpenFile:Ov}):null;oe&&B.append(oe);let se=u.length>0&&d.length>0;u.length>0&&B.append(Fv({kind:`committed`,label:se?`Committed`:null,meaning:Kg(b,_),files:u,changeMapView:ae})),d.length>0&&B.append(Fv({kind:`uncommitted`,label:se?`Not committed yet`:null,meaning:null,files:d,changeMapView:ae}))}function jv(e,t){let n=E(`div`,t?`review-control-reason review-control-reason-error`:`review-resolve-sent`,e);return n.setAttribute(`role`,`status`),n}function Mv(e,t){if(!M_)return;let n=e&&t?Tv(t,e):``;M_.textContent=n,M_.hidden=!n,M_.title=n}function Nv(e,t){if(!B)return;let n=E(`div`,`review-empty`);n.append(E(`div`,`review-empty-title`,e),E(`div`,`review-empty-desc`,t)),B.append(n)}function Pv(e,t){let n=y_.get(e);if(n===void 0)return null;if(n===null)return E(`span`,`review-branch-sync-text review-loading`,`Checking branch sync...`);let r=n_(n)||`Base branch: sync state unknown`,i=E(`span`,`review-branch-sync-text`);n.state&&(i.dataset.syncState=n.state),n.fetched===!1&&(i.dataset.stale=`true`);let a=B_(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);return a.classList.add(`review-branch-sync-button`),a.title=i_(n,u_,t),a.disabled=b_.has(e),a.addEventListener(`click`,()=>Cv(e)),i.append(a,E(`span`,`review-branch-sync-label`,r)),i}function Fv({kind:e,label:t,meaning:n,files:r,changeMapView:i}){let a=E(`div`,`review-section`);a.dataset.kind=e,t&&a.append(Iv(t,n,r));let o=E(`div`,`review-diff`),s=i&&i.repos.length>1?i.repos:[],c=null;for(let t of r){let n=s.length>0?Pg(s,t.path):null;n&&n!==c&&o.append(E(`div`,`review-repo-label`,n)),c=n,o.append(Lv(t,e,i))}return a.append(o),a}function Iv(e,t,n){let r=Hg(n),i=E(`div`,`review-section-head`),a=E(`div`,`review-section-id`);a.append(E(`span`,`review-section-label`,e)),t&&a.append(E(`span`,`review-section-meaning`,t));let o=E(`div`,`review-section-stat`);return o.append(E(`span`,`review-stat-files`,`${r.files} file${r.files===1?``:`s`}`),E(`span`,`review-add`,`+${r.added}`),E(`span`,`review-del`,`-${r.removed}`)),i.append(a,o),i}function Lv(e,t,n){let r=`${t}:${e.path}`,i=C_.has(r),a=E(`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=E(`button`,`review-file-head`);o.type=`button`,o.setAttribute(`aria-expanded`,i?`true`:`false`);let s=E(`span`,`review-file-twisty`,i?`▾`:`▸`);s.setAttribute(`aria-hidden`,`true`);let c=E(`span`,`review-file-name`);c.append(E(`span`,`review-file-path`,e.path));let l=Rg(n?.hintsByOpenPath.get(e.path));if(l.length>0){let e=E(`span`,`review-file-hints`);e.append(...l),c.append(e)}o.append(s,c);let u=E(`span`,`review-file-counts`);if(e.binary&&u.append(E(`span`,`review-bin`,`bin`)),e.binary||u.append(E(`span`,`review-add`,`+${e.added}`),E(`span`,`review-del`,`-${e.removed}`)),o.append(u),o.addEventListener(`click`,()=>{let e=C_.has(r);e&&C_.delete(r),e||C_.add(r),H()}),a.append(o),!i)return a;let d=E(`div`,`review-file-body`);if(e.binary)return d.append(E(`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>=c_&&!w_.has(r)){p=!0;break}d.append(E(`div`,`review-hunk-head`,t.header));for(let e of t.lines){if(f>=c_&&!w_.has(r)){p=!0;break}let t=E(`div`,`review-line review-line-${e.type}`),n=e.type===`add`?`+`:e.type===`del`?`-`:e.type===`meta`?`\\`:` `;t.append(E(`span`,`review-line-gutter`,n)),t.append(E(`span`,`review-line-text`,e.text)),d.append(t),f++}if(p)break}if(p){let e=E(`button`,`review-expand`,`Show the rest of this file`);e.type=`button`,e.addEventListener(`click`,()=>{w_.add(r),H()}),d.append(e)}return a.append(d),a}function Rv({id:e,label:t,shortcut:n,title:r,disabled:i=!1,danger:a=!1,onClick:o}){let s=E(`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 zv(e,{status:t,reviewable:n,mergeAction:r,live:i,state:a,effectiveBase:o,primaryAction:s}){let c=E(`div`,`review-actions`),l=s===`resolve`;s===`merge`&&c.append(Rv({id:`review-merge-btn`,label:`Merge`,shortcut:l_,title:Yg(o,l_),disabled:!r.isEnabled||R_.has(e),onClick:()=>mv(e,a)})),l&&c.append(Rv({label:`Resolve`,shortcut:u_,title:`Paste a resolve prompt into this session so the agent can finish the merge (${u_})`,disabled:sv(e),onClick:()=>cv(e)}));let u=E(`div`,`review-action-controls`);if(u.append(c),!n||i)return c.childElementCount>0?u:null;let d=B_(`More review actions`,Sn);if(d.classList.add(`review-more-button`),d.setAttribute(`aria-haspopup`,`menu`),d.setAttribute(`aria-expanded`,String(N_)),d.setAttribute(`aria-controls`,`review-more-menu`),d.addEventListener(`click`,()=>{N_=!N_,H(),(z?.querySelector(N_?`.review-more-menu button:not(:disabled)`:`.review-more-button`)??z?.querySelector(`.review-more-button`))?.focus()}),c.append(d),!N_)return u;let f=E(`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=Rv({label:`Discard worktree`,danger:!0,disabled:t===`merging`,onClick:()=>{N_=!1,H();let t=Tv(j.get(e),e);gr({title:`Discard worktree`,message:`Throw away the worktree changes for "${t}"? This cannot be undone.`,confirmLabel:`Discard`,danger:!0,onConfirm:()=>D({type:`discard-session-worktree`,id:e})})}});n.setAttribute(`role`,`menuitem`),f.append(n)}return u.append(f),u}var Bv=160,Vv=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 Hv(e){let t=e.split(/\r?\n/,1)[0]?.trim()??``;return t.length<=Bv?t:`${t.slice(0,157)}...`}function Uv(e,t){let n=Vv[e];if(!n||!t||typeof t!=`object`||Array.isArray(t))return``;let r=t[n];return typeof r==`string`?Hv(r):``}var Wv=5e3;function Gv(e){let t=e.match(/<command-name>([^<]*)<\/command-name>/)?.[1];return t===void 0||/[\r\n]/.test(t)?null:t.trim()||null}function Kv(e,t){if(!e.toolUseId)return Gv(e.text)??`context`;let n=t.get(e.toolUseId);return n?Uv(n.name,n.input)||n.name:`expansion`}function qv(e){return e.kind!==`expansion`||e.toolUseId?!1:Gv(e.text)!==null}function Jv(e){return e.kind===`prompt`||e.kind===`session`||qv(e)}function Yv(e){return new TextEncoder().encode(e).byteLength}var Xv={prompt:`PROMPT`,expansion:`EXPANSION`,thinking:`THINKING`,assistant:`ASSISTANT`,tool_call:`TOOL`,tool_result:`RESULT`,session:`SESSION`,notice:`NOTICE`,raw:`RAW`};function Zv(e,t){if(e.kind===`prompt`)return{prefix:`Prompt: `,text:Hv(e.text)};if(e.kind===`thinking`)return{prefix:`Thinking: `,text:Hv(e.text)};if(e.kind===`assistant`)return{prefix:`Assistant: `,text:Hv(e.text)};if(e.kind===`notice`)return{prefix:`Notice: `,text:Hv(e.text)};if(e.kind===`raw`)return{prefix:`Raw: `,text:Hv(e.line)};if(e.kind===`session`)return{prefix:`Session: `,text:`${e.vendor} ${e.vendorSessionId}`};if(e.kind===`expansion`)return{prefix:`Expansion: `,text:Kv(e,t)};if(e.kind===`tool_call`){let t=Uv(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:`${Yv(e.content)} bytes`}}function Qv(e){if(!e.agentType)return``;let t=e.agentId?` ${e.agentId.slice(-6)}`:``;return`[${e.agentType}${t}] `}function $v(e,t){let n=Zv(e,t),r=Qv(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:Xv[e.kind],text:`${r}${i}`,tone:o,badges:a}}function ey(e,t){return{record:e,...$v(e,t)}}function ty(e){return e.kind!==`tool_result`&&e.kind!==`expansion`?null:e.toolUseId||null}function ny(e,t){let n=ty(e);return!n||t.has(n)?null:n}function ry(e,t,n=1){e.set(t,(e.get(t)??0)+n)}function iy(e,t){let n=(e.get(t)??0)-1;n>0?e.set(t,n):e.delete(t)}function ay(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=ty(i.record);a&&t.has(a)&&(n.rows[r]=ey(i.record,e.toolCallByUseId))}}function oy(){return{turns:[],toolCallByUseId:new Map,unresolvedToolUseCounts:new Map}}function sy(){return{rowCount:0,toolCallCount:0,errorCount:0,resultBytes:0}}function cy(e,t,n){e.metrics.rowCount+=n,t.record.kind===`tool_call`&&(e.metrics.toolCallCount+=n),t.record.kind===`tool_result`&&(e.metrics.resultBytes+=Yv(t.record.content)*n,t.record.isError&&(e.metrics.errorCount+=n))}function ly(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=ny(i,e.toolCallByUseId);t&&ry(e.unresolvedToolUseCounts,t);let a=ey(i,e.toolCallByUseId);if(Jv(i)){r={head:a,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:sy()},cy(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:sy()},e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:null,rows:[]})),r.rows.push(a),cy(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 uy(e,t){let n=oy();ly(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)||ry(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],ay(e,i),{newTurns:n.turns,mergedHead:c,mergedRows:l,needsRerender:i.size>0}}function dy(e){return e.rows.length+ +!!e.head}function fy(e){let t=0;for(let n of e.turns)t+=dy(n);return t}function py(e,t){for(let n of t){if(n.record.kind===`tool_call`){e.toolCallByUseId.delete(n.record.toolUseId);continue}let t=ty(n.record);t&&iy(e.unresolvedToolUseCounts,t)}}function my(e,t){py(e,t.head?[t.head,...t.rows]:t.rows)}function hy(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);py(e,i);for(let e of i)cy(n,e,-1);return n.rows=n.rows.slice(r),n.hasTrimmedRows=!0,r}function gy(e,t=Wv){let n=fy(e),r=0;for(;n>t&&r<e.turns.length-1;){let t=e.turns[r];if(!t)break;n-=dy(t),my(e,t),r+=1}return r>0&&(e.turns=e.turns.slice(r)),n<=t?{droppedTurnCount:r,droppedRowCount:0}:{droppedTurnCount:r,droppedRowCount:hy(e,n-t)}}function _y(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 vy(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 yy(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 by(e,t=Wv){return!e.selectedSessionId||!e.hasLoadedOnce||e.hasDroppedEarliestRows||e.residentRowCount>=t?!1:e.firstOffset>0}function xy(e,t=Wv){return!by(e,t)||e.hasPendingRequest||!e.selectedSessionId?null:{id:e.selectedSessionId,direction:`earlier`,after:0,endingAt:e.firstOffset}}function Sy(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 Cy=1e4,wy=null,Ty=null,Ey=[],Dy=null,Oy=null,U=null,ky=null,Ay=!1,jy=null,My=()=>!1,Ny=new Set;function W(e){for(let t of Ny)t(e)}function Py(){ky&&=(clearTimeout(ky.timeoutHandle),null)}function Fy(){ky=null,jy=`The trace did not load within ${Math.round(Cy/1e3)} s.`,W({kind:`rebuild`})}function Iy(e){Py(),Ay=!1,jy=null,Dy=e,U=e?{sessionId:e,grouping:oy(),firstOffset:0,nextOffset:0,hasDroppedEarliestRows:!1,filePath:``,hasLoadedOnce:!1}:null,W({kind:`selection-reset`})}function Ly(e){let t=vy(Ey,Oy,Dy,e);return Oy&&t===Oy&&(Oy=null),t!==Dy&&(Iy(t),!0)}function Ry(e){if(!wy)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};wy(t)?ky={request:e,timeoutHandle:setTimeout(Fy,Cy)}:(jy=l,W({kind:`header`}))}function zy(e=!1){if(!wy)return;let t=yy({selectedSessionId:Dy,isPanelVisible:e||My(),hasPendingRequest:!!ky,hasLoadedOnce:U?.hasLoadedOnce??!1,nextOffset:U?.nextOffset??0});t&&Ry(t)}function By(){Ay&&!ky&&(Ay=!1,zy())}function Vy(){if(!U)return;let e=gy(U.grouping),t=e.droppedTurnCount>0||e.droppedRowCount>0,n=t&&!U.hasDroppedEarliestRows;t&&(U.hasDroppedEarliestRows=!0),W({kind:`trimmed`,trim:{droppedTurnCount:e.droppedTurnCount,droppedRowCount:e.droppedRowCount,hasJustDroppedEarliestRows:n}})}function Hy(e){U&&(W({kind:`records-appended`,appends:ly(U.grouping,e)}),Vy())}function Uy(e){U&&(W({kind:`records-prepended`,prepend:uy(U.grouping,e)}),Vy())}function Wy(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 Gy(){return{selectedSessionId:Dy,hasPendingRequest:!!ky,hasLoadedOnce:U?.hasLoadedOnce??!1,hasDroppedEarliestRows:U?.hasDroppedEarliestRows??!1,firstOffset:U?.firstOffset??0,residentRowCount:U?fy(U.grouping):0}}function Ky(){return{sessionOptions:Ey,selectedSessionId:Dy,selectedTrace:U,pendingSessionId:ky?.request.id??null,traceFailureText:jy}}function qy(e){Ny.add(e)}function Jy(e){My=e}function Yy(){if(!wy)return;let e=xy(Gy());e&&Ry(e)}function Xy(e){Ey.some(t=>t.id===e)&&e!==Dy&&(Oy=null,Iy(e),zy(),W({kind:`rebuild`}))}function Zy(){let e=Ly(!0);return zy(!0),e}function Qy(e){wy=e}function $y(e){Ty=e}function eb(e){Oy=e,Ty?.()}function tb(e){Ey=_y(e);let t=Ly(My());t&&zy(),W({kind:`sessions`,hasSelectionChanged:t})}function nb(e){let t=Wy(e);if(!t)return;let n=Sy({pendingRequest:ky?.request??null,resident:U?{sessionId:U.sessionId,firstOffset:U.firstOffset,nextOffset:U.nextOffset,hasLoadedOnce:U.hasLoadedOnce}:null,reply:{id:t.id,start:t.start,next:t.next,reset:t.reset}});n===`ignore`?By():(Py(),jy&&(jy=null,W({kind:`header`})),n===`stale`?By():n===`reset`?(Iy(t.id),U&&(U.filePath=t.path),zy(),W({kind:`rebuild`}),By()):U&&(U.filePath=t.path,n===`prepend`?(U.firstOffset=t.start,Uy(t.records),By()):(n===`seed`&&(U.hasLoadedOnce=!0,U.firstOffset=t.start),U.nextOffset=t.next,Hy(t.records),By())))}function rb(e){let t=e?.id;typeof t==`string`&&t===Dy&&My()&&(ky?Ay=!0:zy())}function ib(e){let t=e?.id;if(typeof t!=`string`||ky?.request.id!==t)return!1;Py(),Ay=!1;let n=e?.message;return jy=typeof n==`string`&&n?n:`The trace could not be read.`,W({kind:`rebuild`}),!0}function ab(e){Py(),Ay=!1,jy=e?null:l,e?(W({kind:`header`}),zy()):W({kind:`rebuild`})}var ob=80,sb=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 cb(e){return e.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function lb(e){return e.includes(`.`)?e.replace(/0+$/,``).replace(/\.$/,``):e}function ub(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.round(e);return`${t<0?`-`:``}${cb(String(Math.abs(t)))}`}function db(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}$${cb(r)}.${i}`}function fb(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}${lb((n/1e3).toFixed(1))}k`:n<999995e3?`${t}${lb((n/1e6).toFixed(2))}M`:`${t}${lb((n/1e9).toFixed(2))}B`}function pb(e){return typeof e!=`number`||!Number.isFinite(e)?`ok`:e>=100?`crit`:e>=ob?`warn`:`ok`}function mb(e){let t=Fe(e?.max,null);return t===null||t<=0?null:t}function hb(e){let t=mb(e),n=Fe(e?.pct,null);return t===null||n===null?null:n*100}function gb(e,t){let n=mb(t),r=Fe(e?.projectedTokens,null);return n===null||r===null?null:r/n*100}var _b=90;function vb(e){let t=e?.budget?.rows;return Array.isArray(t)?t.filter(e=>e&&Fe(e.budgetUsd,null)!==null):[]}function yb(e){let t=Fe(e?.pct,null);return t===null?0:t}function bb(e,t){let n=e?.[t];if(!n||typeof n!=`object`)return null;let r=Fe(n.pct,null),i=Fe(n.resetsAtMs,null);return r===null&&i===null?null:{pct:r,resetsAtMs:i}}function xb(e){return e?.vendor===`codex`?`codex`:`claude`}function Sb(e){return bb(e,`fiveHour`)?.pct??null}function Cb(e,t=null){let n=Sb(t);if(n!==null)return pb(n);let r=pb(hb(e?.tokenLimit));return r===`ok`?pb(gb(e?.activeBlock?.projection,e?.tokenLimit)):r}function wb(e,t=null){let n=[],r=Cb(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 vb(e)){let e=yb(t);if(e<_b)continue;let r=typeof t?.scope==`string`&&t.scope?t.scope:`budget`;n.push(`budget:${r}:${e>=100?`over`:`near`}`)}return Ee(n)}function Tb(e,t=``){let n=e?.source;if(n===`fetched`){let e=ce(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=ce(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 Eb(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 Db(e){if(Array.isArray(e))return e.length;let t=Number(e);return Number.isFinite(t)?t:null}function Ob(e){if(!e||typeof e!=`object`)return``;let t=[],n=Db(e.dirs);if(n!==null&&t.push(`${ub(n)} transcript ${n===1?`directory`:`directories`}`),Number.isFinite(e.files)&&t.push(`${ub(e.files)} files`),Number.isFinite(e.entries)&&t.push(`${ub(e.entries)} entries`),Number.isFinite(e.lastScanMs)&&t.push(`last pass ${ub(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 kb(e){return ce(e?.error,``)}function Ab(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return n==null||n===t}function jb(e){let t=Fe(e?.officialCostUSD,null);if(t!==null&&t>0)return{costUSD:t,source:`official`};let n=Fe(e?.costUSD,null);return n!==null&&n>0?{costUSD:n,source:`estimated`}:{costUSD:null,source:null}}function Mb(e){let t=Number(e?.tokens);if(!Number.isFinite(t)||t<=0)return``;let{costUSD:n}=jb(e);return n===null?fb(t):`${fb(t)} ${db(n)}`}function Nb(e){let{source:t}=jb(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 Pb({hasPlan:e,pendingPromptKind:t,hasOpenReview:n,hasApprovedReview:r=!1}){return e&&(n||t===`plan`&&!r)?`plan`:`terminal`}function Fb({hasPlan:e,isBorrowed:t,face:n}){return!e||n===`plan`?`hidden`:t?`face`:`navigate`}function Ib(e,t){return t===b.RUNNING?e===`restart-fresh`?{title:`Restart fresh`,message:`This agent is mid-turn. A fresh restart ends this conversation and starts a new one. Restart anyway?`,confirmLabel:`Restart fresh`,danger:!0}:e===`restart-into`?{title:`Restart`,message:`This agent is mid-turn. Restarting interrupts the current turn and switches to the earlier conversation you picked. Restart anyway?`,confirmLabel:`Restart`,danger:!0}:{title:`Restart`,message:`This agent is mid-turn. Restarting interrupts the current turn and keeps this conversation. Restart anyway?`,confirmLabel:`Restart`,danger:!1}:null}function Lb(e,t,n,r){let i=le.includes(t)?`force-restart`:`restart`;return e===`restart-fresh`?{type:i,id:n,fresh:!0}:e===`restart-into`?{type:i,id:n,conversationId:r}:{type:i,id:n}}function Rb(e,t,n,r=``){let i=()=>n.send(Lb(e,n.readState(),t,r)),a=Ib(e,n.readState());a?n.confirm({...a,onConfirm:i}):i()}var zb=`DORMANT`;function Bb(e){return e?Re(Date.now()-e,{rounding:`round`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:60}):``}function Vb(e){return[e.worktreeName,e.gitBranch?e.gitBranch.replace(/^refs\/heads\//,``):null,Bb(e.mtime)].filter(Boolean).join(` · `)}function Hb(e,t){let n=E(`button`,`resume-item`);return n.type=`button`,n.setAttribute(`role`,`option`),n.setAttribute(`aria-selected`,`false`),n.innerHTML=`<span class="resume-item-title">${Hn(e)}</span><span class="resume-item-meta">${Hn(t)}</span>`,n}async function Ub(e,t,n){if(t.kind===`this`)return!0;let r=t.kind===`earlier`?t.conversationId:``,i=await xn(`resume-conversation`,{id:e,conversationId:r},n);return i?i.type===`resume-conversation-ack`&&i.ok?!0:(n.show(`error`,i.type===`error`?i.message:`The conversation was not changed.`),!1):!1}var Wb={this:`restart`,fresh:`restart-fresh`,earlier:`restart-into`};function Gb(e,t,n,r){let i=n.kind===`earlier`?n.conversationId:``;Rb(Wb[n.kind],t,{readState:r,send:t=>{tr(e,t)},confirm:gr},i)}function Kb(e,{readState:t,canListEarlier:n}){let{overlay:r,dialog:i,close:a,actions:o,btnCancel:s}=vr({title:`Restart`,dialogClass:`dialog resume-dialog`}),c=E(`p`,`dialog-message`,n?`Restart into this conversation, a fresh one, or an earlier one from this repo (any worktree).`:`Restart into this conversation or a fresh one.`),l=E(`div`,`resume-list`);l.setAttribute(`role`,`listbox`),l.setAttribute(`aria-label`,`Conversation to restart into`);let u=E(`button`,`btn-dialog btn-dialog-confirm`,`Restart`);u.type=`button`,o.append(u);let d=wn(`dialog-error`);i.append(c,l,d.element,o);let f={kind:`this`};function p(e,t){for(let e of l.querySelectorAll(`.resume-item`))e.classList.remove(`resume-item-current`),e.setAttribute(`aria-selected`,`false`);e.classList.add(`resume-item-current`),e.setAttribute(`aria-selected`,`true`),f=t}function m(e,t,n){let r=Hb(t,n);return r.addEventListener(`click`,()=>p(r,e)),l.append(r),r}p(m({kind:`this`},`This conversation`,`Keeps the current conversation`),{kind:`this`}),m({kind:`fresh`},`Fresh conversation`,`Ends this conversation and starts a new one`);async function h(t,n){i.dataset.applying=``;let r=await Ub(e,n,d);delete i.dataset.applying,r&&(a(),tr(t,{type:`start-session`,id:e}))}function g(){if(i.dataset.applying!==void 0)return;let n=j.get(e);n?t()===zb?h(n,f):(a(),Gb(n,e,f,t)):a()}if(s.addEventListener(`click`,a),u.addEventListener(`click`,g),requestAnimationFrame(()=>u.focus()),!n)return;let _=E(`div`,`resume-empty`,`Loading earlier conversations...`);l.append(_),O(`list-conversations`,{id:e},{timeoutMs:P}).then(e=>{if(!r.isConnected)return;if(e.error){_.textContent=`Could not list earlier conversations: ${e.error}`;return}let t=e.type===`conversations`?e.current??null:null,n=(e.type===`conversations`?e.conversations:[]).filter(e=>e.id!==t);if(n.length===0)_.textContent=`No earlier conversations found for this repo.`;else{_.remove();for(let e of n)m({kind:`earlier`,conversationId:e.id},e.title||e.id,Vb(e))}}).catch(e=>{r.isConnected&&(_.textContent=`Could not list earlier conversations: ${On(e,P)}`)})}function qb(e){return e instanceof Error?e.message:String(e)}function Jb(e,t,n=!1){let r=E(`label`,`dialog-checkbox-label`),i=E(`input`);return i.type=`checkbox`,i.className=`dialog-checkbox`,i.value=t,i.checked=n,r.append(i,E(`span`,null,e)),r}function Yb(e){return e.split(/[\\/]/).filter(Boolean).at(-1)??e}async function Xb(e){let[t,n]=await Promise.all([O(`get-workspace-repos`,{id:e}),O(`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:Yb(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 Zb(e){let{overlay:t,dialog:n,close:r,actions:i,btnCancel:a}=vr({title:`Workspace repositories`}),o=E(`p`,`dialog-message`,`Saving restarts the session and resumes its conversation. A removed repository keeps its workspace branch, so committed work survives.`),s=E(`fieldset`,`dialog-workspace-list`);s.setAttribute(`aria-label`,`Workspace repositories`),s.append(E(`div`,`dialog-hint`,`Loading repositories...`));let c=E(`div`,`dialog-hint`);c.setAttribute(`role`,`status`);let l=E(`div`,`dialog-error`),u=E(`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()),Xb(e).then(e=>{if(t.isConnected){s.textContent=``;for(let t of e)s.append(Jb(t.name,t.path,t.isMember));u.disabled=!1}}).catch(e=>{t.isConnected&&(s.textContent=``,l.textContent=`Could not load repositories: ${qb(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`,O(`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: ${qb(e)}`)}).finally(()=>{c.textContent=``,u.disabled=!1}))})}var Qb=e=>e==null?``:String(e),$b=e=>le.includes(e),ex=e=>g.includes(e),tx=!1;Ms(zh);var nx=null,rx=null;function ix(){return rx??=I(()=>import(`./plan-face-C8wrPA9n.js`).then(e=>(nx=e,e),()=>(rx=null,null)),__vite__mapDeps([7,1,2,8,9,6,10])),rx}function ax(e){let t=E(`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,ix().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 ox(e){return tx&&Gl(e.agent)&&e.card.dataset.ephemeral===void 0}function sx(e){return ox(e)&&e.isConversationViewOn&&e.isBorrowed}function cx(e){e.btnConversationView.classList.toggle(`visible`,ox(e)),e.btnConversationView.setAttribute(`aria-checked`,String(e.isConversationViewOn))}function lx(e){tx=e;for(let t of j.values())!e&&t.face===`conversation`&&t._showTerminalFace?.(),hx(t)}function ux(e){let t=k(e);return!t||!sx(t)?!1:(t.face=`conversation`,t.card.dataset.face=`conversation`,t.termWrap.hidden=!0,t.planFace.hide(),t.conversationFace.show(A(e)),hx(t),Cm(t,A(e)),!0)}function dx(e,t){let n=k(e);if(!n)return;let r=n.isConversationViewOn;n.hasConversationBridge=t.hasConversationBridge,n.conversationApproval=t.conversationApproval,n.isConversationViewOn=t.isConversationViewOn,hx(n),n.conversationFace.refresh(),r!==t.isConversationViewOn&&(t.isConversationViewOn?ux(e):n.face===`conversation`&&n._showTerminalFace?.())}function fx(e){return k(e.id)?.conversationFace.applyTraceResponse(e)===!0}function px(e){k(e.id)?.conversationFace.applyTraceError(e)}function mx(e){k(e)?.conversationFace.applyTraceChanged(A(e))}function hx(e){cx(e);let t=e.currentState;e.btnRestart.classList.toggle(`visible`,$b(t)||ex(t)||t===b.DORMANT),e.btnWorkspaceRepos.classList.toggle(`visible`,e.card.dataset.workspace!==void 0),e.btnTrace.classList.toggle(`visible`,Wn()),e.btnPlan.classList.toggle(`visible`,Fb(e)!==`hidden`),e.btnRemove.classList.add(`visible`)}function gx(e){e.sessionMenu.classList.remove(`open`),e.btnSessionMenu.setAttribute(`aria-expanded`,`false`)}function _x(e,t){or(e.taskTitleEl,()=>Vn(e,t)),e.nameEl.addEventListener(`dblclick`,n=>{n.preventDefault(),dr(e,t)}),e.nameEl.addEventListener(`click`,()=>{rr(e.nameEl)||ui(t)}),e.nameEl.addEventListener(`keydown`,n=>{n.target===e.nameEl&&(n.key===`F2`||n.key===`Enter`)&&(n.preventDefault(),dr(e,t))}),e.btnRestart.addEventListener(`click`,()=>{gx(e),Kb(t,{readState:()=>e.currentState,canListEarlier:e.card.dataset.ephemeral===void 0})}),e.btnWorkspaceRepos.addEventListener(`click`,()=>{gx(e),Zb(t)}),e.btnTrace.addEventListener(`click`,()=>{gx(e),eb(t)}),e.btnDocs.addEventListener(`click`,()=>{gx(e),vs(t)}),e.btnShown.addEventListener(`click`,()=>{gx(e),Ws(t)}),e.btnConversationView.addEventListener(`click`,()=>{gx(e),tr(e,{type:`set-session-conversation-view`,id:t,isOn:!e.isConversationViewOn})}),e.btnGuardrails.addEventListener(`click`,()=>{if(e.btnGuardrails.getAttribute(`aria-disabled`)===`true`)return;let n=n=>()=>{tr(e,{type:`set-session-guardrails`,id:t,isOn:n})};e.card.dataset.guarded===void 0?gr({title:`Restore guardrails`,message:`This session restarts with guardrails on, interrupting any turn in progress.`,confirmLabel:`Restore guardrails`,danger:!1,onConfirm:n(!0)}):gr({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=Fb(e);n!==`hidden`&&(n===`face`?Dx(t):location.hash=Yi(t))}),e.btnRemove.addEventListener(`click`,()=>{gx(e),Pi(t)});function n(){for(let[,t]of j)t!==e&&gx(t);e.sessionMenu.classList.add(`open`),e.btnSessionMenu.setAttribute(`aria-expanded`,`true`)}e.btnSessionMenu.addEventListener(`click`,t=>{t.stopPropagation(),e.sessionMenu.classList.contains(`open`)?gx(e):n()}),ur({trigger:e.btnSessionMenu,menu:e.sessionMenu,menuItems:()=>[...e.sessionMenu.querySelectorAll(`.popup-menu-item.visible`)],isOpen:()=>e.sessionMenu.classList.contains(`open`),open:n,close:()=>gx(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&&gx(e)},{signal:e.abortController.signal}),e.btnDebug.addEventListener(`click`,n=>{n.stopPropagation(),er(e,t)}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;e.debugOpen&&!e.card.contains(n)&&nr(e)},{signal:e.abortController.signal})}function vx(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&&Jn(e,r.taskTitle)}}function yx(e){return typeof e==`string`&&j.has(e)}function bx(){return j.size}function xx(e){let t=e||{};t.cursorBlink!=null&&$p(t.cursorBlink),t.debugMode!=null&&(lr(t.debugMode),rg(t.debugMode));for(let[,e]of j)e.term&&t.cursorBlink!=null&&(e.term.options.cursorBlink=t.cursorBlink)}function Sx(){xu(j.values(),Cu())}function Cx(){let e=$n([...j.values()].map(e=>({state:e.currentState,unseenOutcome:e.unseenOutcome}))),t=pr(e);document.title=t>0?`(${t}) Glimmervoid`:`Glimmervoid`}function wx(e,t,n,r={}){if(!mt)return;let i=A(e),a=Qb(n)||b.DORMANT,o=sr(i,Qb(t),a,r),s=a===b.DORMANT;mt.appendChild(o.card);let c;function l(){c.face=`terminal`,c.card.dataset.face=`terminal`,c.termWrap.hidden=!1,c.planFace.hide(),c.conversationFace.hide(),hx(c),gh(c,i)}function u(){ux(i)||l()}let d=new AbortController,f=ax({signal:d.signal,requestPlan:(e,t,n)=>D({type:`session-plan`,id:e,agentId:t,revision:n}),requestDraft:(e,t)=>D({type:`session-plan`,id:e,agentId:t,draft:!0}),showTerminal:u,sendDecision:(e,t)=>D({type:`plan-decision`,id:e,...t}),reportProblem:e=>Xx(i,e)}),p=Mh({signal:d.signal,sendControl:e=>D(e),showTerminal:l});return 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,btnConversationView:o.btnConversationView,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:d,currentState:a,face:`terminal`,isBorrowed:!1,hasPlan:!1,pendingPromptKind:null,planReviewState:{reviews:[]},planFace:f,conversationFace:p,conversationApproval:null,hasConversationBridge:!1,isConversationViewOn:!1},c._ensureTerminalReady=()=>gh(c,i),c._showTerminalFace=l,c._showPreferredFace=()=>{Tx(c)===`plan`?Dx(i):ux(i)||l()},c._setBorrowed=e=>{c.isBorrowed=e,hx(c)},o.card.append(f.el,p.el),j.set(i,c),_x(c,i),hx(c),c.btnDocs.classList.toggle(`visible`,as(i)),Ns(i),a===b.RUNNING&<(c,!0),s||ph(c,i),Cx(),c}function Tx(e){let t=e.planReviewState.reviews.some(e=>e.state===`open`),n=e.planReviewState.reviews.some(cg);return Pb({hasPlan:e.hasPlan,pendingPromptKind:e.pendingPromptKind,hasOpenReview:t,hasApprovedReview:n})}function Ex(e){let t=k(e);return!t?.isBorrowed||Tx(t)!==`plan`?!1:Dx(e)}function Dx(e){let t=k(e);return!t?.isBorrowed||!t.hasPlan?!1:(t.face=`plan`,t.card.dataset.face=`plan`,t.termWrap.hidden=!0,t.conversationFace.hide(),t.planFace.show(A(e)),hx(t),Cm(t,A(e)),!0)}function Ox(e,t){let n=k(e);n&&(n.hasPlan=t===!0,hx(n),Ex(e))}function kx(e){let t=k(e.id);t&&(t.planReviewState=Tg(t.planReviewState,e),t.hasPlan=e.hasPlan,t.planFace.update({state:t.planReviewState}),hx(t),Ex(e.id))}function Ax(e){let t=k(e.id);t&&t.planFace.update({draft:e})}function jx(e){let t=k(e.id);t&&(t.planReviewState={reviews:e.reviews},t.hasPlan=!0,t.planFace.update({response:e}),hx(t))}function Mx(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 Nx(e){for(let[,t]of j)t.planFace.update({isConnected:e})}function Px(e,t){let n=k(e);n&&(n.effectiveBase=typeof t==`string`?t:void 0)}function Fx(e,t){let n=k(e);n&&(n.agent=typeof t==`string`?t:null,hx(n))}function Ix(e,t){let n=k(e);n&&(t?n.card.dataset.worktree=``:delete n.card.dataset.worktree)}function Lx(e,t,n){let r=k(e);r&&(Rx(r.card,`guarded`,t),Rx(r.card,`guardrailsReleased`,n),qn(r.btnGuardrails,r.card))}function Rx(e,t,n){n?e.dataset[t]=``:delete e.dataset[t]}function zx(e,t,n=!1){let r=k(e);r&&(r.activeAgents=Math.max(0,Number(t)||0),r.awaitingBackgroundTasks=Te(r.currentState,n===!0),r.card.toggleAttribute(`data-monitoring`,r.awaitingBackgroundTasks))}function Bx(e,t){let n=k(e);if(!n)return;let r=Mb(t),i=n.card.querySelector(`.usage-badge`);if(r)n.card.dataset.usage=``,i&&(i.dataset.tipLabel=r,i.dataset.tipDetail=Nb(t),Mn(i));else{if(delete n.card.dataset.usage,!i)return;delete i.dataset.tipLabel,Mn(i)}}function Vx(e,t){let n=k(e);n&&(n.pendingPromptKind=typeof t==`string`?t:null,n.conversationFace.refresh(),!Ex(e)&&(typeof t!=`string`||t===``)&&n.face===`terminal`&&ux(e))}function Hx(e,t){let n=k(e);n&&(n.unseenOutcome=t??null)}function Ux(e,t){t===`pending-review`||t===`parked`||t===`merging`?e.dataset.merge=t:delete e.dataset.merge}function Wx(e,t,n=null){let r=k(e),i=Qb(t)||`none`;r&&Ux(r.card,i),K_(A(e),i,Qb(n)||null)}function Gx(e,t,n=null){let r=k(e),i=Qb(t)||`none`;r&&Ux(r.card,i),J_(A(e),i,Qb(n)||null)}function Kx(e,t){Y_(A(e),t)}function qx(e,t){let n=k(e);if(!n)return;let r=Qb(t);n.card.dataset.session=r,n.nameEl.textContent=r}function Jx(e){let t=k(e);t&&(nr(t),j.delete(A(e)),nx?.dropPlanBodyCache(A(e)),t.resizeObserver&&t.resizeObserver.disconnect(),t.abortController&&t.abortController.abort(),oh(t,A(e)),Lp(t),t.term&&t.term.dispose(),t.term=null,t.fitAddon=null,t.card&&t.card.remove(),Cx())}function Yx(e,t,n){if(!t||!e.term)return;let r=n===b.DONE?`Session complete`:`Session failed`,i=n===b.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 Xx(e,t){let n=k(e);n?Xn(n).show(`error`,t):N({source:`Session`,sessionId:typeof e==`string`?e:void 0,message:t})}function Zx(e,t){let n=k(e);if(!n)return;let r=n.card.querySelector(`:scope > .session-failure-reason`);if(!(n.currentState===b.FAILED&&t)){r?.remove();return}let i=r??E(`p`,`session-failure-reason`);i.setAttribute(`role`,`status`),i.textContent=t,r||n.termWrap.before(i)}function Qx(e,t){e.term&&(t===b.DONE||t===b.FAILED)&&(e.term.clear(),e.term.reset())}function $x(e){let t=j.get(e);t&&Ln({state:t.currentState,unseenOutcome:t.unseenOutcome})&&document.visibilityState===`visible`&&(L()||document.hasFocus())&&D({type:`dismiss`,id:e,expectedState:t.currentState})}function eS(e,t,n){let r=document.activeElement;return ni({previousState:t,nextState:n,isPhoneLayout:L(),isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),isActiveViewer:e._isActiveViewer?.()===!0,hasFocusInsideTerminal:r instanceof Node&&e.termWrap.contains(r)})}function tS(){return Dt()&&!fa()}function nS(e,t,n,r=``){let i=k(e);if(!i)return;let a=Qb(t),o=i.currentState;i.currentState=a,a!==b.RUNNING&&(i.awaitingBackgroundTasks=!1),i.conversationFace.refresh(),a!==o&&(i.stateSince=typeof n==`number`&&Number.isFinite(n)?n:Date.now(),lt(i,a===b.RUNNING)),o===b.DORMANT&&a!==b.DORMANT&&ph(i,A(e)),Bn({state:a})===`resting`&&ua(A(e)),i.card.dataset.state=a,i.card.toggleAttribute(`data-monitoring`,Te(a,i.awaitingBackgroundTasks)),hx(i),(a===b.WAITING&&o!==b.WAITING||a===b.COMPLETE&&o!==b.COMPLETE)&&!Ol(r)&&tS()&&vd(Xt()),eS(i,o,a)&&D({type:`dismiss`,id:A(e),expectedState:b.COMPLETE});let s=a===b.DONE||a===b.FAILED,c=o!==b.DONE&&o!==b.FAILED&&o!==b.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})})}),tS()&&vd(Xt())),(a===b.DONE||a===b.FAILED)&&Yx(i,c,a),a===b.INITIALIZING&&Qx(i,o),Cx()}var rS=`(no path)`;function iS(e){if(!e)return rS;let t=String(e).replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return(n===-1?t:t.slice(n+1))||`(no path)`}function aS(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):rS,a=i.get(r);a||(a={key:r,label:r===`(no path)`?rS:iS(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:iS(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 oS(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 sS({onAdd:e,onForget:t}){let n=E(`div`,`session-group-header`),r=E(`span`,`session-group-label`),i=E(`span`,`session-group-count`),a=E(`span`,`session-group-rule`);a.setAttribute(`aria-hidden`,`true`);let o=E(`button`,`session-group-add`,`+`);o.type=`button`,o.addEventListener(`click`,()=>e(n.dataset.path,n.dataset.label));let s=E(`button`,`session-group-forget`);return s.type=`button`,s.append(yn(Tn)),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 cS(e,t,n){let{header:r,label:i,count:a,addButton:o,forgetButton:s}=e,c=t.key===rS,l=t.rows.length===0;r.dataset.path=t.key,r.dataset.label=t.label,r.title=t.title,r.toggleAttribute(`data-empty`,l),i.textContent=t.label,a.textContent=String(t.rows.length),a.title=`${t.rows.length} ${t.rows.length===1?`session`:`sessions`}`,o.hidden=c,s.hidden=c||!l,c||(o.title=`Add a session to ${t.label}`,o.setAttribute(`aria-label`,`Add a session to ${t.label}`)),!c&&l&&(s.title=`Remove ${t.label} from the ${n}`,s.setAttribute(`aria-label`,`Remove ${t.label} from the ${n}`))}var lS={waitingCount:0,finishedCount:0,failedCount:0},uS={failed:he[b.FAILED],waiting:he[b.WAITING],finished:he[b.COMPLETE]},dS={failed:`failed`,waiting:`needs you`,finished:`finished`},fS=[`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`],pS=2500,mS=`cubic-bezier(0.16, 1, 0.3, 1)`,hS=`cubic-bezier(0.5, 0, 0.2, 1)`,gS=260,_S=200,vS=200,yS=300,bS=28,xS=360,SS=420,CS=200,wS=3,TS=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),ES=new WeakMap;function DS(e){let t=ES.get(e);if(!t)throw Error(`attention banner was not built by buildAttentionBanner`);return t}function OS(e){return!document.hidden&&typeof e.animate==`function`&&e.getClientRects().length>0}function kS(){return TS?.matches??!1}function AS(e){return e.map(e=>({easing:mS,...e}))}function jS(e,t){let n=E(`div`,`attention-banner`);n.setAttribute(`role`,`status`),n.style.setProperty(`--attention-head-tile-px`,`${Pn.headTile}px`),n.style.setProperty(`--attention-tile-px`,`${Pn.tile}px`),n.style.setProperty(`--attention-tile-gap-px`,`${Pn.tileGap}px`),n.style.setProperty(`--attention-overflow-px`,`${Pn.overflowSlot}px`);let r=E(`span`,`attention-banner-chips`),i=E(`span`,`attention-tile-overflow`);i.setAttribute(`aria-hidden`,`true`),i.hidden=!0,r.append(i);let a=E(`span`,`attention-banner-line`);a.setAttribute(`aria-hidden`,`true`);let o=E(`span`,`attention-banner-status`);o.append(r,E(`span`,`attention-banner-count`),a);let s=E(`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),ES.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(()=>NS(n)).observe(r),MS(n,lS,[]),n}function MS(e,t,n){let r=DS(e);r.tiles=n,T(e,`.attention-banner-count`).textContent=Nn(t);let i=n.length>0;e.toggleAttribute(`data-empty`,!i),e.toggleAttribute(`data-jumpable`,i),i&&YS(e,r),NS(e)}function NS(e){let t=DS(e),n=T(e,`.attention-banner-chips`),r=T(n,`.attention-tile-overflow`),i=OS(e),a=t.tiles.slice(0,Qn(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():LS(n,l[r])});let u=t.headId,d=[],f=null;a.forEach((i,a)=>{let o=t.tileById.get(i.id),s=o??FS(e,i.id);o||(t.tileById.set(i.id,s),d.push(s)),IS(s,i,a===0),(s.parentElement!==n||PS(s)!==f)&&n.insertBefore(s,r),f=s});let p=t.tiles.length-a.length;r.hidden=p===0,r.textContent=`+${p}`,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)&&VS(e,null),i){for(let e of d)RS(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?BS(r,a):a!==0&&zS(r,a,n)})}}function PS(e){let t=e.previousElementSibling;for(;t?.hasAttribute(`data-leaving`);)t=t.previousElementSibling;return t}function FS(e,t){let n=E(`span`,`attention-tile`);n.setAttribute(`role`,`img`),n.dataset.id=t;let r=E(`span`,`attention-tile-icon`);return r.setAttribute(`aria-hidden`,`true`),n.append(r),n.addEventListener(`pointerenter`,()=>VS(e,t)),n.addEventListener(`pointerleave`,()=>VS(e,null)),n}function IS(e,{kind:t,name:n},r){e.dataset.kind=t,e.toggleAttribute(`data-head`,r);let i=`${n}, ${dS[t]}`;e.title=i,e.setAttribute(`aria-label`,i),kn(T(e,`.attention-tile-icon`),uS[t])}function LS(e,t){e.toggleAttribute(`data-leaving`,!0),e.style.left=`${t.left}px`,e.style.top=`${t.top}px`;let n=kS()?[{opacity:1},{opacity:0}]:AS([{transform:`none`,opacity:1},{transform:`scale(0.6)`,opacity:0}]),r=e.animate(n,{duration:vS,fill:`forwards`});r.onfinish=()=>e.remove(),r.oncancel=()=>e.remove()}function RS(e){let t=kS()?[{opacity:0},{opacity:1}]:AS([{transform:`scale(0.6)`,opacity:0},{transform:`none`,opacity:1}]);e.animate(t,{duration:_S})}function zS(e,t,n){kS()||e.animate(AS([{transform:`translateX(${t}px)`},{transform:`none`}]),{duration:yS,delay:n*bS,fill:`backwards`})}function BS(e,t){kS()?e.animate([{opacity:.35},{opacity:1}],{duration:xS,easing:mS}):e.animate(AS([{transform:`translateX(${t}px) scale(0.8)`,filter:`brightness(1.8)`},{transform:`scale(1.1)`,offset:.6},{transform:`none`,filter:`none`}]),{duration:xS})}function VS(e,t){let n=DS(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 HS(e){return!e||e.getClientRects().length===0?null:e.getBoundingClientRect()}function US(e,t,n){let r=DS(e);if(r.flyingIds.has(t))return;let i=r.tileById.get(t);if(!i||!OS(e)){n();return}VS(e,null),r.flyingIds.add(t);let a=r.hooks.rowFor(t),o=i.getBoundingClientRect(),s=HS(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(WS(o,s),GS(s)),u=()=>{c.remove(),r.flyingIds.delete(t),i.isConnected&&(i.style.visibility=``),n()};l.onfinish=u,l.oncancel=u}function WS(e,t){return!t||kS()?[{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 GS(e){return!e||kS()?{duration:CS,fill:`forwards`}:{duration:SS,easing:hS,fill:`forwards`}}function KS(e){let t=DS(e);e.hasAttribute(`data-empty`)&&JS(e,t);for(let e of t.pressAnimations)e.cancel();if(t.pressAnimations=[],!OS(e))return;let n={duration:gS};if(t.pressAnimations.push(e.animate(AS([{opacity:0},{opacity:.07,offset:.3},{opacity:0}]),{...n,pseudoElement:`::after`})),!kS()){t.pressAnimations.push(e.animate(AS([{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(AS([{transform:`none`},{transform:`translateY(${wS}px)`,offset:.3},{transform:`none`}]),n),r.animate(AS([{transform:`none`},{transform:`translateY(-${wS}px)`,offset:.3},{transform:`none`}]),{...n,pseudoElement:`::after`}))}}function qS(e){let t=fS.filter(t=>t!==e);return t[Math.floor(Math.random()*t.length)]??fS[0]}function JS(e,t){let n=qS(t.lastAllClearLine);t.lastAllClearLine=n,T(e,`.attention-banner-line`).textContent=n,e.toggleAttribute(`data-all-clear-line`,!0),t.allClearLineTimer!==null&&window.clearTimeout(t.allClearLineTimer),t.allClearLineTimer=window.setTimeout(()=>YS(e,t),pS)}function YS(e,t){t.allClearLineTimer!==null&&window.clearTimeout(t.allClearLineTimer),t.allClearLineTimer=null,e.toggleAttribute(`data-all-clear-line`,!1)}var XS=e=>e.ui.path,ZS=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),QS=null,G=null,$S=null,eC=null,tC=null,nC=null,rC=null,K=!1,iC=!1,aC=new Map,q=new Map,oC=new Map,sC=new Map,J=null,cC=``,lC=[],uC=new Set;function dC(){return oS(pC(SC()),uC)}function fC(e){let t=J;if(J=e||null,t&&t!==J){let e=q.get(t);e&&(e.tabIndex=-1,e.setAttribute(`aria-selected`,`false`))}if(J){let e=q.get(J);e&&(e.tabIndex=0,e.setAttribute(`aria-selected`,`true`))}}function pC(e){return aS(e,XS,Tl(e,XS))}function mC(e){let t=sC.get(e.key),n=oC.get(e.key);return(!t||!n)&&(t=sS({onAdd:Oi,onForget:e=>{El(e),OC()}}),n=E(`div`,`focus-rail-list`),n.setAttribute(`role`,`listbox`),sC.set(e.key,t),oC.set(e.key,n)),cS(t,e,`rail`),n.setAttribute(`aria-label`,`${e.label} sessions`),{header:t.header,list:n}}function hC(){return K}function gC(){return M.snapshot().focusedSessionId}function _C({rail:e,center:t,resizer:n}){if(QS=e,$S=t,!QS||!$S)return;let r=QS,i=$S;bC(n),r.removeAttribute(`role`),r.removeAttribute(`aria-label`),r.setAttribute(`aria-keyshortcuts`,en(Tu)),G=jS({onJump:MC,rowFor:e=>q.get(e)},ju());let a=E(`details`,`rail-status-key`);a.append(E(`summary`,`rail-status-key-summary`,`Status key`),bl()),r.append(G,a),tC=E(`div`,`focus-empty`),tC.innerHTML=`<p class="focus-empty-title"></p><p class="focus-empty-desc"></p>`,nC=tC.querySelector(`.focus-empty-title`),rC=tC.querySelector(`.focus-empty-desc`),eC=E(`div`,`focus-card-slot`),i.append(tC,eC),r.addEventListener(`keydown`,xC)}var vC={minPx:180,maxPx:480},yC=16;function bC(e){e&&QS&&Wc({resizer:e,column:QS,widthHost:QS,widthProperty:`--rail-width`,bounds:vC,keyStepPx:yC,getStoredWidth:Ht,setStoredWidth:bt})}function xC(e){if(e.key===`Delete`||e.key===`Backspace`){let t=e.target instanceof HTMLElement?e.target:null,n=t?.dataset.id;if(!n||q.get(n)!==t)return;e.preventDefault(),Pi(n);return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||e.altKey||e.metaKey||e.ctrlKey||e.shiftKey)return;let t=In(dC(),J,e.key===`ArrowDown`?1:-1);t!=null&&(e.preventDefault(),fC(t),q.get(t)?.focus())}function SC(){return Fn(bi(CC))}function CC(e){return e.nameEl?e.nameEl.textContent:e.card&&(e.card.dataset.session||e.card.dataset.id)||``}function wC(e){let{row:t,refs:n}=ol(`button`);t.type=`button`,t.dataset.id=e,t.setAttribute(`role`,`option`),t.addEventListener(`click`,()=>TC(e)),t.addEventListener(`pointerenter`,()=>{G&&VS(G,e)}),t.addEventListener(`pointerleave`,()=>{G&&VS(G,null)});let{item:r,removeButton:i}=sl(t,()=>Pi(e));return r.setAttribute(`role`,`presentation`),i.tabIndex=-1,Object.assign(t,{_refs:n,_row:r})}function TC(e){let t=_i(e);t&&(RC(e),PC(t,e))}function EC(e,{id:t,ui:n,state:r,name:i},a){let o=aC.get(t)||`none`;ml(e,e._refs,{ui:n,state:r,name:i??``,mergeStatus:o===`none`?``:o,attentionPosition:a}),e.classList.toggle(`focused`,t===gC()),e.classList.toggle(`has-unopened-shown`,As(t));let s=t===J;e.setAttribute(`aria-selected`,String(s)),e.tabIndex=s?0:-1}function DC(e,t){if(!K)return;let n=e?.card?.dataset.id,r=n?q.get(n):null;r&&(t===`flag`?r.dataset.activity=e._activity||``:st(r._refs?.glyph))}dt(DC),ct(()=>{if(K)for(let[e,t]of q){let n=j.get(e);n&&(t._refs.elapsed.textContent=ot(n))}});function OC(){if(!K)return;let e=QS;if(!e)return;let t=SC(),n=pC(t),r=new Set,i=zn(t,gC()),a=new Map(i.map(({id:e},t)=>[e,t+1])),o=(e,t)=>{let n=e.map(e=>e.id).join(`,`),i=t._lastOrderKey===n&&t.childElementCount===e.length;for(let n of e){let{id:e}=n;r.add(e);let o=q.get(e);o||(o=wC(e),q.set(e,o)),EC(o,n,a.get(e)??null),i||t.appendChild(o._row)}t._lastOrderKey=n},s=new Set(n.order),c=n.groups.map(e=>e.key).join(`
|
|
83
|
+
`),l=c===cC;cC=c;for(let t of n.groups){let{header:n,list:r}=mC(t);l||e.append(n,r),o(t.rows,r)}for(let[e,t]of[...sC])s.has(e)||(t.header.remove(),oC.get(e)?.remove(),sC.delete(e),oC.delete(e));for(let[e,t]of q)r.has(e)||(t._row.remove(),q.delete(e),e===J&&(J=null));for(let e of[...aC.keys()])j.has(e)||aC.delete(e);let u=lC;lC=oS(n,uC);let d=gC();if(d&&!j.has(d)){M.dispatch(`focusSession`,null),J=null;let e=kC(u,d);if(e){let t=!document.activeElement||document.activeElement===document.body;RC(e),t&&PC(j.get(e),e);return}}zC();let f=gC();if(f){let e=j.get(f);e&&e.card.parentElement!==eC&&IC(e,f)}jC(t,i)}function kC(e,t){let n=e.filter(e=>e===t||j.has(e));if(n.length<2)return lC.find(e=>j.has(e))??null;let r=n.indexOf(t)===n.length-1;return In(n,t,r?-1:1)}function AC(){return zn(SC(),gC())}function jC(e,t){G&&MS(G,$n(e),t)}function MC(){if(!K)return;G&&KS(G);let e=AC()[0]?.id;e&&NC(e)}function NC(e){if(!K)return;q.get(e)?.scrollIntoView({block:`nearest`}),G&&US(G,e,()=>FC(e));let t=j.get(e);_i(e),RC(e),PC(t,e)}function PC(e,t){e&&requestAnimationFrame(()=>requestAnimationFrame(()=>{K&&gC()===t&&e.term?.focus()}))}function FC(e){if(ZS?.matches||document.hidden)return;let t=q.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=j.get(e)?.card;n?.animate&&n.animate([{opacity:.8},{opacity:1}],{duration:240,easing:`ease-out`})}function IC(e,t){eC&&(Nr(e,t,eC,{className:`focus-centered`}),_h(e,t,!0))}function LC(){let e=gC();e&&(Mr()===e&&Pr(),M.dispatch(`focusSession`,null))}function RC(e){K&&j.has(e)&&($x(e),vi(e),e!==gC()&&(LC(),M.dispatch(`focusSession`,e),J=e,OC()))}function zC(){if(!tC||!nC||!rC)return;let e=gC(),t=!!(e&&j.has(e)),n=j.size>0;tC.hidden=t,ro(tC,!n),nC.hidden=!n,rC.hidden=!n,!t&&n&&(nC.textContent=`No session selected`,rC.textContent=`Select a session from the rail on the left to focus it here.`)}function BC(e,t){aC.set(A(e),typeof t==`string`&&t?t:`none`),K&&OC()}function VC(e){K&&j.has(e)&&RC(e)}function HC(e){return!K||!j.has(e)?!1:(RC(e),Dx(e))}function UC(e){if(!K)return;let t=dC()[e-1];t&&TC(t)}function WC(e){if(!K)return;let t=In(dC(),J,e);t!=null&&(TC(t),q.get(t)?.scrollIntoView({block:`nearest`}))}window.addEventListener(`focus`,()=>{let e=gC();K&&e&&$x(e)});function GC(){QS&&(K=!0,LC(),J=null,OC(),iC&&AC().length>0?MC():(iC&&G&&KS(G),qC()))}function KC(e){iC=!0;try{e()}finally{iC=!1}}function qC(){if(!K||gC())return;let e=yi();e&&RC(e)}function JC(){K&&=(LC(),J=null,!1)}var YC=`t-[0-9a-f]{8}`,XC=`No intent yet. The visions proposes one after its first pass.`,ZC=`Unowned`,QC=RegExp(`^${YC}$`);function $C(){return{byProject:{},unowned:[]}}function ew(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`&&QC.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 tw(e){if(Array.isArray(e))return e.map(ew).filter(e=>e!==null);let t=ew(e);return t?[t]:[]}function nw(e){let t=e?.intent;if(!t||typeof t!=`object`)return $C();let n=t;if(!(Object.hasOwn(n,`byProject`)||Object.hasOwn(n,`unowned`)||Object.hasOwn(n,`global`)))return{byProject:{},unowned:tw(n)};let r=n.byProject&&typeof n.byProject==`object`?n.byProject:{},i=[];for(let[e,t]of Object.entries(r)){let n=tw(t);n.length!==0&&e&&i.push([e,n])}return{byProject:Object.fromEntries(i),unowned:tw(Object.hasOwn(n,`unowned`)?n.unowned:n.global)}}function rw(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 iw(e,t){let n=e||$C(),r=t?.intent;if(!r||typeof r!=`object`)return n;let i=r,a=rw(Array.isArray(i.threads)?tw(i.threads):tw(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 aw(e,t=null){let n=t&&typeof t.get==`function`?t.get(e):null;return typeof n==`string`&&n?n:e}function ow(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:uw(e,r)}))}function sw(e,t=null,n=Date.now()){let r=e||$C(),i=Object.entries(r.byProject||{}).filter(([e,t])=>e&&Array.isArray(t)&&t.length>0).map(([e,n])=>({projectId:e,label:aw(e,t),threads:n})).sort((e,t)=>e.label.localeCompare(t.label)).flatMap(({projectId:e,label:t,threads:r})=>ow(r,{key:e,label:t,now:n})),a=ow(Array.isArray(r.unowned)?r.unowned:[],{key:`unowned`,label:ZC,now:n});return i.length+a.length>0?[...a,...i]:[{key:`unowned`,label:ZC,text:XC,hasText:!1,active:!1,meta:``}]}function cw(e){return e?.text?`proposed by visions`:``}function lw(e,t=Date.now()){let n=Number(e);return!Number.isFinite(n)||n<=0?``:Re(Number(t)-n,{rounding:`floor`,wording:`spelled`,suffix:` ago`,justNowBelowSeconds:60})}function uw(e,t=Date.now()){let n=cw(e);if(!n)return``;let r=typeof e?.id==`string`&&e.id?`thread ${e.id}, `:``,i=lw(e?.ts,t);return i?`${r}${n}, ${i}`:`${r}${n}`}function dw(e){let t=Number(e?.range?.start?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function fw(e){return(typeof e?.hand==`string`?e.hand.trim():``)||null}function pw(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=fw(t);return i?(n.set(r,i),n):(n.delete(r),n)}function mw(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 hw=`hand`,gw=`unseen`,_w=`
|
|
84
|
+
`;function vw(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 yw(e,t){return vw(JSON.stringify([e,...t]))}function bw(e,t){return yw(`finding`,[e,dw(t),String(t.code??``),String(t.message??``)])}function xw(e,t){return yw(`comment`,[e,Ew(t),String(t.message??``)])}function Sw(e){return yw(`fix`,[e.uri,Pw(e),e.code,e.message,Fw(e)])}function Cw(e){return yw(`intent`,[e.key,e.text,e.active])}function ww(e,t,n,r=[],i=null){let a=[...n].map(([e,t])=>yw(`hand`,[e,t])).sort(),o=new Set;for(let r of[...e.keys(),...t.keys(),...n.keys()])o.add(yw(`document`,[r]));for(let[t,n]of e)for(let e of n)o.add(bw(t,e));for(let[e,n]of t)for(let t of n)o.add(xw(e,t));for(let e of r)o.add(Sw(e));for(let e of sw(i,null,0))e.hasText&&o.add(Cw(e));let s=[...o].sort();return{signature:[...a,...s].join(_w),handEntries:a,contentEntries:s}}function Tw(e,t){let n=new Set(t.split(_w));return e.handEntries.some(e=>!n.has(e))?hw:e.contentEntries.some(e=>!n.has(e))?gw:null}function Ew(e){let t=Number(e?.line);return!Number.isFinite(t)||t<1?`L?`:`L${Math.floor(t)}`}function Dw(e){return Array.isArray(e?.diagnostics)?e.diagnostics:[]}function Ow(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=Dw(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function kw(e){return Array.isArray(e?.comments)?e.comments:[]}function Aw(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=kw(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function jw(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 Mw(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 Nw=20;function Pw(e){let t=Number(e?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function Fw(e){return e?.applied===!0?`applied`:`refused`}function Iw(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 Lw(e){let t=typeof e?.uri==`string`?e.uri:``,n=Number(e?.ts);return Iw(e?.fix,{uri:t,ts:Number.isFinite(n)?n:0})}function Rw(e,t,{max:n=Nw}={}){let r=Lw(t);return r?[r,...e].slice(0,Math.max(0,Math.floor(n))):[...e]}function zw(e,{max:t=Nw}={}){let n=Array.isArray(e?.fixes)?e.fixes:[],r=[];for(let e of n){let t=Iw(e);t&&r.push(t)}return r.slice(0,Math.max(0,Math.floor(t)))}var Bw=100;function Vw(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 Hw(e){let t=Array.isArray(e?.events)?e.events:[],n=[];for(let e of t){let t=Vw(e);t&&n.push(t)}return n}function Uw(e){let t=Number(e?.overflow);return!Number.isFinite(t)||t<=0?0:Math.floor(t)}function Ww(e,t){return[...e].sort((e,t)=>t.seq-e.seq).slice(0,Math.max(0,Math.floor(t)))}function Gw(e,t,{max:n=Bw}={}){let r=Hw(t);if(r.length===0)return Ww(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 Ww([...i.values()],n)}function Kw(e,{max:t=Bw}={}){return Ww(Hw(e),t)}var qw=new Map,Jw=new Map,Yw=new Map,Xw=$C(),Zw=new Map,Qw=null,$w=!0,eT=[],tT=0,nT=[],rT=null,iT=()=>!1,aT=new Set,oT=ww(qw,Jw,Yw,nT,Xw),sT=un(),cT=xe({getAck:()=>sT,setAck:e=>{sT=e,Jt(e)},signature:()=>oT.signature,isLooking:()=>iT()});function lT(e){for(let t of aT)t(e)}function uT(){oT=ww(qw,Jw,Yw,nT,Xw),oT.signature!==``&&cT.refresh(),rT?.(Tw(oT,sT))}function dT(e){lT(e),uT()}function fT(){return{findingsByUri:qw,commentsByUri:Jw,handsByUri:Yw,intent:Xw,projectNamesById:Zw,isEnabled:Qw,isConnected:$w,activityEvents:eT,activityOverflow:tT,fixEntries:nT}}function pT(e){aT.add(e)}function mT(e){iT=e,uT()}function hT(e){rT=e,uT()}function gT(){oT.signature!==``&&cT.acknowledge(),uT()}function _T(e){Zw=e instanceof Map?e:new Map,lT([`intent`])}function vT(e){Qw=e?.visions?.enabled===!0,lT([`feed`])}function yT(e){$w=e,lT([`connection`])}function bT(e){nT=Rw(nT,e),dT([`fixes`])}function xT(e){qw=Ow(qw,e),dT([`feed`])}function ST(e){Jw=Aw(Jw,e),dT([`feed`])}function CT(e){Yw=pw(Yw,e),dT([`feed`])}function wT(e){Xw=iw(Xw,e),dT([`intent`])}function TT(e){eT=Gw(eT,e),tT=Uw(e),dT([`activity`])}function ET(e){eT=Kw(e),tT=0,dT([`activity`])}function DT(e){qw=jw(e),Jw=Mw(e),Yw=mw(e),Xw=nw(e),nT=zw(e),dT([`intent`,`feed`,`fixes`])}var OT=null,kT=null,AT=!1,jT=null,MT=new Set;function NT(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return typeof n!=`string`||!t||n===t}function PT(){for(let e of MT)e()}function FT(){return{report:OT,hasReportSendFailed:AT}}function IT(e){MT.add(e)}function LT(e){kT=e}function RT(){if(!kT)return;jT=et(`hooks-report`);let e=kT({type:`request-hooks-report`,requestId:jT});e!==!AT&&(AT=!e,PT())}function zT(e){NT(e,jT)&&(OT=e,AT=!1,PT())}function BT(){RT()}function VT(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 HT=null,UT=null,WT={},GT=null,KT=null,qT=null,JT=new Map,YT=new Map;function XT(){return UT??=I(()=>import(`./phone-shell-CsSctWYn.js`).then(e=>{e.mountPhoneShell(WT),qT&&e.orderPhonePanels(qT);for(let[t,n]of JT)e.setPhoneScreenAvailable(t,n);for(let[t,n]of YT)e.setPhoneScreenAttention(t,n);return HT=e,e},e=>(UT=null,We(`phone-shell`,`phone shell failed to load: ${it(e)}`),null)),__vite__mapDeps([11,1,2,4,8,5,3,12,9,6])),UT}function ZT(e){WT=e}async function QT(e){let t={options:e};GT=t;let n=await XT();if(GT!==t)return!1;if(!n)return GT=null,KT=null,!1;GT=null,n.activatePhoneShell(t.options);let r=KT;return KT=null,r?.(n),!0}function $T(){GT=null,KT=null,HT?.deactivatePhoneShell()}function eE(){return GT!==null||(HT?.isPhoneShellActive()??!1)}function tE(){return GT?GT.options?.sessionId??null:HT?.getPhoneSessionId()??null}function nE(e){qT=e,HT?.orderPhonePanels(e)}function rE(e,t){JT.set(e,t),HT?.setPhoneScreenAvailable(e,t)}function iE(e,t){YT.set(e,t),HT?.setPhoneScreenAttention(e,t)}function aE(){HT?.refreshPhoneBoard()}function oE(){HT?.syncPhoneHistory()}function sE(e){return GT?(KT=t=>{e(t)},!0):HT?e(HT):!1}function cE(e){return sE(t=>t.showPhonePlan(e))}function lE(e){return sE(t=>t.showPhoneSession(e))}function uE(e){return sE(t=>t.showPhoneScreen(e))}var dE={MERGE:`a merge commit`,SQUASH:`squash and merge`,REBASE:`rebase and merge`},fE=new Set([`FAILURE`,`ERROR`]);function pE(e){return dE[e]}function mE(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&&fE.has(e.checks.state)?`Checks are failing`:e.stage===`ready`?null:`Not ready to merge yet`:`Closed`}function hE(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 gE(e){let t=Pe.parse({...e,key:`${e.repo}#${e.number}`,stage:`unknown`});return{...t,stage:hE(t)}}var _E=[`Needs you`,`Waiting`,`Ready to merge`,`Drafts`,`Merged today`],vE=[`Ready to merge`,`Needs you`,`Waiting`,`Drafts`,`Merged today`],yE={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`},bE={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`},xE={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`},SE={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 CE(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 wE(e){return _E[e.rows.reduce((e,{pr:t})=>Math.min(e,_E.indexOf(yE[t.stage])),_E.length-1)]}function TE(e){let t=new Map(_E.map(e=>[e,{title:e,prs:[],rows:[]}]));for(let n of CE(e)){let e=t.get(wE(n));if(e)for(let t of n.rows)e.rows.push(t),e.prs.push(t.pr)}return vE.flatMap(e=>t.get(e)??[])}function EE(e){return bE[e]}function DE(e){return xE[e]}function OE(e){return SE[e]}function kE(e,t){return e.flatMap(e=>{let n=t(e.key);if(!n)return[];let r=e.key.slice(0,e.key.lastIndexOf(`#`));return[{...gE({...n,repo:r}),...e}]})}function AE(e){let t=new Map;for(let n of e)for(let e of n.links){let r=Me(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 jE(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 ME=3;function NE(e){if(e.length===1)return{message:`Merged ${e[0].key}`,detailLines:[e[0].title]};let t=e.slice(0,ME).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 PE(e,t){if(!e)return null;let n=e=>{let n=t(e.key);return n?{...e,checksState:n.rollupState,reviewDecision:x(n.reviewDecision,n.opinionatedWriterReviewStates),isDraft:n.isDraft,liveHead:n.headRefOid,prStage:gE(n).stage}:e};return{...e,drafts:e.drafts.map(n),inFlight:e.inFlight.map(n),queued:e.queued.map(n)}}function FE(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 IE(e){let t=e.viewerThreads;return t!==void 0&&t.total>0&&t.resolved===t.total}function LE(e){return e.status===`posted`&&RE(e)}function RE(e){if(!IE(e)||ne(e))return!1;let t=VE(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 zE(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[FE(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(HE(r).length>0||LE(r)){n.actionable.push(r);continue}let e=(r.status===`ready`||r.status===`stale`||r.status===`error`)&&!UE(r);e&&t.noReviewNeeded.push(r),r.status===`ready`&&!e&&n[FE(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 BE(e,t){return e.commit===t?e.isViewer||S.has(e.state):!1}function VE(e){return e.liveHead??e.reviewedHead}function HE(e){return(e.threads??[]).filter(e=>!e.isNit&&!e.isResolved)}function UE(e){return HE(e).length>0?!0:ne(e)?!1:RE(e)?!0:!(e.githubReviews??[]).some(t=>BE(t,VE(e)))}function WE(e,t){return`${e}#${t}`}var GE=null,KE=null,qE=new Set;function JE(e){for(let t of qE)t(e)}function YE(){KE=PE(GE,wr),JE({kind:`status`})}function XE(e){qE.add(e)}function ZE(){return KE}function QE(){return zE(KE)}function $E(e){let t=s.safeParse(e);t.success?(GE=t.data,YE()):We(`reviews`,`dropped team-review-status: ${Be(t.error.issues)}`)}function eD(e){JE({kind:`action-result`,message:e})}function tD(e){JE({kind:`open-session-result`,message:e})}function nD(e){JE({kind:`connection`,isConnected:e})}Tr(YE);var rD=1.2,iD=1.55,aD=.12,oD=523.25,sD=2,cD=8,Y=(e,t,n)=>({semitone:e,startBeat:t,beats:n}),lD={melody:[Y(7,4,.5),Y(11,4.5,.5),Y(12,5,3)],bass:[Y(-5,4,1),Y(-12,5,3)]},uD=[{melody:[Y(0,0,1),Y(4,1,1),Y(7,2,1),Y(9,3,1)],bass:[Y(-12,0,2),Y(-8,2,2)]},{melody:[Y(7,0,.67),Y(7,.67,.67),Y(7,1.33,.67),Y(9,2,1),Y(5,3,1)],bass:[Y(-12,0,2),Y(-7,2,2)]},{melody:[Y(5,0,1),Y(9,1,1),Y(7,2,1),Y(4,3,1)],bass:[Y(-7,0,2),Y(-12,2,2)]},{melody:[Y(12,0,.5),Y(7,.5,.5),Y(12,1,.5),Y(16,1.5,.5),Y(16,2,1),Y(14,3,1)],bass:[Y(-12,0,2),Y(-3,2,2)]},{melody:[Y(4,0,1),Y(7,1,1),Y(4,2,.5),Y(5,2.5,.5),Y(7,3,.5),Y(4,3.5,.5)],bass:[Y(-8,0,2),Y(-12,2,2)]}].map(e=>({melody:[...e.melody,...lD.melody],bass:[...e.bass,...lD.bass]}));function dD(e,t){return oD*2**((e+t)/12)}function fD(e,t){let n=(e,n,r)=>e.map(e=>({frequency:dD(e.semitone,t),startSeconds:iD+e.startBeat*aD,durationSeconds:e.beats*aD,waveform:n,gain:r}));return[...n(e.melody,`square`,.2),...n(e.melody,`triangle`,.5),...n(e.bass,`triangle`,.6)]}var pD=[{frequency:220,endFrequency:880,startSeconds:0,durationSeconds:.32,waveform:`triangle`,gain:.25},{frequency:160,endFrequency:45,startSeconds:rD,durationSeconds:.28,waveform:`sine`,gain:1},{frequency:1400,endFrequency:380,startSeconds:rD,durationSeconds:.06,waveform:`square`,gain:.12}];function mD(e){let t=uD[e%uD.length],n=Math.min(e*sD,cD);return{peakGain:.1,tones:[...pD,...fD(t,n)]}}function hD(e){return Math.round(Math.sqrt(2*e/780)*1e3)}function X(e,t,n=Math.random){return Math.round(e+n()*(t-e))}function gD(e,t=Math.random){let n=[...e];for(let e=n.length-1;e>0;--e){let r=Math.floor(t()*(e+1));[n[e],n[r]]=[n[r],n[e]]}return n}var _D=.6,vD=.25,yD=1.6;function bD(e){return Math.min(_D+e*vD,yD)}var xD=[`var(--accent)`,`var(--state-running)`,`var(--state-idle)`,`var(--state-waiting)`,`var(--state-failed)`];function SD(e,t=Math.random){let n=X(320,520,t),r=X(1800,2800,t);return[[`--confetti-start-x`,`${X(4,96,t)}%`],[`--confetti-x`,`${X(-140,140,t)}px`],[`--confetti-rise`,`${-X(20,55,t)}px`],[`--confetti-fall`,`${X(45,70,t)}vh`],[`--confetti-rise-ms`,`${n}ms`],[`--confetti-fall-ms`,`${r}ms`],[`--confetti-flight-ms`,`${n+r}ms`],[`--confetti-tilt`,`${X(0,180,t)}deg`],[`--confetti-spin`,`${X(-360,360,t)}deg`],[`--confetti-flutter-ms`,`${X(160,340,t)}ms`],[`--confetti-delay`,`${X(0,160,t)}ms`],[`--confetti-color`,xD[e%xD.length]]]}var CD=`<svg viewBox="0 0 36 36" aria-hidden="true"><circle class="merge-bullseye-ring-light" cx="18" cy="18" r="17"/><circle class="merge-bullseye-ring-red" cx="18" cy="18" r="13"/><circle class="merge-bullseye-ring-light" cx="18" cy="18" r="9"/><circle class="merge-bullseye-ring-red" cx="18" cy="18" r="5"/></svg>`,wD=`<svg viewBox="0 0 26 8" aria-hidden="true"><path class="merge-bullseye-dart-flight" d="M0 0L7 3V5L0 8L2 4Z"/><rect class="merge-bullseye-dart-shaft" x="6" y="3.3" width="8" height="1.4"/><rect class="merge-bullseye-dart-barrel" x="13" y="2.5" width="7" height="3" rx="1"/><path class="merge-bullseye-dart-tip" d="M20 3L26 4L20 5Z"/></svg>`;function TD(){let e=Ae(`div`,`merge-bullseye-target`,CD);return e.append(E(`span`,`merge-bullseye-ripple`)),e}function ED(){let e=E(`div`,`merge-bullseye-dart-drift`),t=E(`div`,`merge-bullseye-dart-arc`),n=E(`div`,`merge-bullseye-dart-aim`);return n.append(Ae(`div`,`merge-bullseye-dart`,wD)),t.append(n),e.append(t),e}function DD(){let e=E(`div`,`merge-bullseye-range`),t=E(`div`,`merge-bullseye-track`);return t.append(ED()),e.append(TD(),t),e}var OD={title:`BULLSEYE!`,buildScene:DD},kD=6,AD=30,jD=-14,MD=16;function ND(e=Math.random){return[[`--crosshair-start-left`,`${X(kD,AD,e)}%`],[`--crosshair-start-offset-y`,`${X(jD,MD,e)}px`]]}var PD=`<svg viewBox="0 0 26 40" aria-hidden="true"><path class="merge-headshot-target-body" d="M9 13H17L18 16Q25 18 25 24V40H1V24Q1 18 8 16Z"/><circle class="merge-headshot-target-head" cx="13" cy="7" r="6"/><circle class="merge-headshot-target-ring" cx="13" cy="7" r="3"/><circle class="merge-headshot-target-ring" cx="13" cy="27" r="6"/><circle class="merge-headshot-target-ring" cx="13" cy="27" r="2.5"/></svg>`,FD=`<svg viewBox="0 0 22 22" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="M11 0V5M11 17V22M0 11H5M17 11H22"/><circle class="merge-headshot-crosshair-dot" cx="11" cy="11" r="1"/></svg>`,ID=`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M3 3L8 8M21 3L16 8M3 21L8 16M21 21L16 16"/></svg>`;function LD(){let e=E(`div`,`merge-headshot-sweep`);pe(e,ND());let t=E(`div`,`merge-headshot-aim`);t.append(Ae(`div`,`merge-headshot-crosshair`,FD));let n=E(`div`,`merge-headshot-bob`);return n.append(t,Ae(`div`,`merge-headshot-hitmarker`,ID)),e.append(n),e}function RD(){let e=E(`div`,`merge-headshot-range`),t=E(`div`,`merge-headshot-track`);return t.append(LD()),e.append(Ae(`div`,`merge-headshot-target`,PD),t),e}var zD={title:`HEADSHOT!`,buildScene:RD},BD=[`10`,`J`,`Q`,`K`,`A`],VD=160,HD=19,UD=5,WD=9,GD=780,KD=70,qD=70,JD=35;function YD(e){let t=BD.length-1,n=e-t/2;return{offsetPx:n*HD,titleSpreadFraction:n/t,tiltDegrees:n*UD,bottomPx:WD-n**2,dealLeadMs:GD-e*KD,flipLeadMs:VD+(t-e)*qD,waveDelayMs:e*JD}}function XD(e){return[[`--card-offset`,`${e.offsetPx}px`],[`--card-title-spread`,String(e.titleSpreadFraction)],[`--card-tilt`,`${e.tiltDegrees}deg`],[`--card-bottom`,`${e.bottomPx}px`],[`--card-deal-lead-ms`,`${e.dealLeadMs}ms`],[`--card-flip-lead-ms`,`${e.flipLeadMs}ms`],[`--card-wave-delay-ms`,`${e.waveDelayMs}ms`]]}function ZD(){return[[`--card-flip-ms`,`${VD}ms`]]}var QD=`<svg viewBox="0 0 10 9" aria-hidden="true"><path d="M5 8.5C5 8.5 0 5.3 0 2.6C0 1.1 1.2 0 2.6 0C3.6 0 4.5 .6 5 1.4C5.5 .6 6.4 0 7.4 0C8.8 0 10 1.1 10 2.6C10 5.3 5 8.5 5 8.5Z"/></svg>`;function $D(e,t){let n=E(`div`,`merge-flush-deal`);pe(n,XD(YD(t)));let r=E(`div`,`merge-flush-hop`),i=E(`div`,`merge-flush-card`),a=E(`div`,`merge-flush-face`);return a.append(E(`span`,`merge-flush-rank`,e)),a.insertAdjacentHTML(`beforeend`,QD),i.append(E(`div`,`merge-flush-back`),a),r.append(i),n.append(r),n}function eO(){let e=E(`div`,`merge-flush-table`);return pe(e,ZD()),e.append(...BD.map($D)),e}var tO={title:`ROYAL FLUSH!`,buildScene:eO},nO=[1,2,3,4],rO=14,iO=3,aO=3,oO=10,sO=20,cO=2,lO=28,uO=18,dO=.01,fO=1.5,pO=2200,mO=1,hO=120,gO=.35,_O=15,vO=105,yO=4,bO=65,xO=145;function SO(e){return Math.round(e/(Math.PI*uO)*360)}function CO(e){return sO-e*cO}function wO(e){return e.rowIndex*rO+e.depthIndex*iO}function TO(e,t,n){return Array.from({length:n},(r,i)=>e+(t-e)*i/(n-1))}function EO(){return nO.flatMap((e,t)=>Array.from({length:e},(n,r)=>({rowIndex:t,depthIndex:e-1-r})))}function DO(e,t){let n=gD(TO(_O,vO,e),t),r=gD(TO(bO,xO,e),t);return n.map((e,n)=>({angleDegrees:e+X(-4,yO,t),depthScalePercent:Math.round(r[n])}))}function OO(e,t,n){let r=X(240,380,n),i=t.angleDegrees*Math.PI/180,a=r*Math.cos(i),o=(r*Math.sin(i))**2/1560,s=X(15,45,n),c=hD(o),l=hD(o+s),u=c+l,d=X(540,1080,n),f=a>=0?1:-1,p=wO(e);return{depthIndex:e.depthIndex,launchAngleDegrees:t.angleDegrees,distanceFromHeadPinPx:p,layer:CO(e.depthIndex),flyXPx:Math.round(a*u/1e3),peakRisePx:Math.round(o),landingDropPx:s,riseMs:c,fallMs:l,flightMs:u,spinDegrees:Math.round(f*d*u/1e3),glintMs:Math.round(180/d*1e3),depthScalePercent:t.depthScalePercent,delayMs:Math.round(p/gO)}}function kO(e=Math.random){let t=EO(),n=DO(t.length,e);return t.map((t,r)=>OO(t,n[r],e))}function AO(e){return[[`--pin-left`,`${e.distanceFromHeadPinPx}px`],[`--pin-raise`,`${e.depthIndex*aO}px`],[`--pin-shade`,`${100-e.depthIndex*12}%`],[`--pin-fly-x`,`${e.flyXPx}px`],[`--pin-peak-y`,`${-e.peakRisePx}px`],[`--pin-land-y`,`${e.landingDropPx}px`],[`--pin-rise-ms`,`${e.riseMs}ms`],[`--pin-fall-ms`,`${e.fallMs}ms`],[`--pin-flight-ms`,`${e.flightMs}ms`],[`--pin-spin`,`${e.spinDegrees}deg`],[`--pin-glint-ms`,`${e.glintMs}ms`],[`--pin-depth-scale`,`${e.depthScalePercent}%`],[`--pin-depth-shade`,`${e.depthScalePercent-10}%`],[`--pin-delay`,`${e.delayMs}ms`],[`--pin-layer`,String(e.layer)]]}function jO(){return CO(fO)}function MO(){return Math.max(...EO().map(wO))+oO}function NO(){let e=MO(),t=lO+e+uO-mO;return[[`--ball-follow-px`,`${hO}px`],[`--ball-follow-ms`,`${Math.round(hO/gO)}ms`],[`--ball-follow-spin`,`${SO(hO)}deg`],[`--ball-size`,`${uO}px`],[`--ball-approach-spin`,`${pO}deg`],[`--ball-impact-inset`,`${t}px`],[`--ball-layer`,String(jO())],[`--rack-right`,`${lO}px`],[`--rack-width`,`${e}px`],[`--pin-width`,`${oO}px`]]}function PO(e=Math.random){return e()>=dO?null:Ct[Math.floor(e()*Ct.length)].sprite}var FO=`<svg viewBox="0 0 10 24" aria-hidden="true"><path class="merge-strike-pin-body" d="M5 0C7 0 7.6 2 7.2 4C6.9 5.6 6.3 6.6 6.4 8C6.6 10 9.6 12 9.6 16C9.6 19.5 8.4 22 7.6 24H2.4C1.6 22 .4 19.5 .4 16C.4 12 3.4 10 3.6 8C3.7 6.6 3.1 5.6 2.8 4C2.4 2 3 0 5 0Z"/><path class="merge-strike-pin-stripe" d="M3.1 5.2H6.9V6.2H3.1ZM3.4 7H6.6V8H3.4Z"/></svg>`;function IO(e){let t=E(`span`,`merge-strike-pin`);return t.append(Ae(`span`,`merge-strike-pin-arc`,FO)),pe(t,AO(e)),t}function LO(){let e=PO();if(!e)return E(`span`,`merge-strike-ball`);let t=E(`span`,`merge-strike-ball is-animal`);return t.append(E(`span`,`nyan-sprite ${e}`)),t}function RO(){let e=E(`div`,`merge-strike-lane`);pe(e,NO());let t=E(`div`,`merge-strike-rack`);t.append(...kO().map(IO));let n=E(`div`,`merge-strike-track`);return n.append(LO()),e.append(t,n),e}var zO={title:`STRIKE!`,buildScene:RO},BO=20,VO=92,HO=23,UO=7,WO=-40;function GO(){let e=hD(72),t=hD(69),n=780*t/1e3;return{launchHeightPx:BO,peakHeightPx:VO,heightThroughRimPx:HO,heightLeavingNetPx:UO,heightOutOfCardPx:WO,riseMs:e,fallToRimMs:t,speedThroughRimPxPerSecond:n,netCatchMs:Math.round(32/n*1e3),dropMs:hD(47)}}function KO(e=GO()){return[[`--ball-launch-y`,`${-e.launchHeightPx}px`],[`--ball-peak-y`,`${-e.peakHeightPx}px`],[`--ball-rim-y`,`${-e.heightThroughRimPx}px`],[`--ball-net-exit-y`,`${-e.heightLeavingNetPx}px`],[`--ball-drop-out-y`,`${-e.heightOutOfCardPx}px`],[`--ball-rise-ms`,`${e.riseMs}ms`],[`--ball-fall-to-rim-ms`,`${e.fallToRimMs}ms`],[`--ball-to-rim-ms`,`${e.riseMs+e.fallToRimMs}ms`],[`--ball-net-catch-ms`,`${e.netCatchMs}ms`],[`--ball-drop-ms`,`${e.dropMs}ms`]]}var qO=`<svg viewBox="0 0 40 48" aria-hidden="true"><rect class="merge-swish-pole" x="36" y="28" width="2" height="20"/><rect class="merge-swish-backboard" x="35" y="2" width="3" height="26" rx="1"/><path class="merge-swish-rim" d="M31 18H35M7 18A12 2.5 0 0 1 31 18"/></svg>`,JO=`<svg viewBox="0 0 40 48" aria-hidden="true"><g class="merge-swish-net"><path d="M8 18L12 32M13.5 18L15.5 32M19 18V32M24.5 18L22.5 32M30 18L26 32M9.5 23Q19 25 28.5 23M11 28Q19 29.5 27 28"/></g><path class="merge-swish-rim" d="M7 18A12 2.5 0 0 0 31 18"/></svg>`;function YO(){let e=E(`div`,`merge-swish-ball-drift`),t=E(`div`,`merge-swish-ball-arc`);return t.append(E(`span`,`merge-swish-ball`)),e.append(t),e}function XO(){let e=E(`div`,`merge-swish-court`);pe(e,KO());let t=E(`div`,`merge-swish-track`);return t.append(YO()),e.append(Ae(`div`,`merge-swish-hoop-back`,qO),t,Ae(`div`,`merge-swish-hoop-front`,JO)),e}var ZO=[zO,{title:`SWISH!`,buildScene:XO},OD,zD,tO],QO=48,$O=5600,ek=20,tk=null,nk=[],rk=null,ik=!1,ak=0;function ok(e){let t=E(`span`,`merge-confetti-piece`),n=E(`span`,`merge-confetti-arc`);return n.append(E(`span`,`merge-confetti-paper`)),t.append(n),pe(t,SD(e)),t}function sk(e){let t=E(`p`,`merge-celebration-title`);return t.setAttribute(`aria-hidden`,`true`),Array.from(e).forEach((e,n)=>{let r=E(`span`,`merge-celebration-letter`,e);r.style.setProperty(`--letter-delay`,`${n*45}ms`),t.append(r)}),t}function ck(e,t,n){let r=t.firstElementChild,i=t.lastElementChild;r instanceof HTMLElement&&i instanceof HTMLElement&&(e.style.setProperty(`--celebration-title-width`,`${i.offsetLeft+i.offsetWidth-r.offsetLeft}px`),e.style.setProperty(`--celebration-title-center-y`,`${t.offsetTop+t.offsetHeight/2-n.offsetTop}px`))}function lk(e){let t=E(`div`,`merge-celebration-scene`);return t.setAttribute(`aria-hidden`,`true`),t.append(e.buildScene()),t}function uk(){return ZO[Math.floor(Math.random()*ZO.length)]}function dk(e){if(Dt())try{fd(mD(e))}catch{}}function fk(e){let t=E(`ul`,`merge-celebration-details`);for(let n of e)t.append(E(`li`,`merge-celebration-detail`,n));return t}function pk(e,t,n){tk?.remove(),dk(n);let r=E(`div`,`merge-celebration`);r.setAttribute(`role`,`status`);let i=E(`div`,`merge-celebration-card`),a=E(`div`,`merge-celebration-stage`),o=sk(t.title),s=lk(t);a.append(o,E(`p`,`merge-celebration-message`,e.message),fk(e.detailLines),s);let c=E(`div`,`merge-confetti`);c.style.setProperty(`--confetti-scale`,String(bD(n)));for(let e=0;e<QO;e+=1)c.append(ok(e));i.append(c,a),r.append(i),document.body.append(r),ck(a,o,s),tk=r,window.setTimeout(()=>{r.remove(),tk===r&&(tk=null)},$O)}function mk(e){return ik?`playing`:e?`queued`:`empty`}function hk(){if(!rk)return;let e=nk.length>0;rk.tray.dataset.state=mk(e),rk.count.textContent=e?String(nk.length):``,rk.button.disabled=ik||!e}function gk(){let e=nk.shift();ik=e!==void 0,hk(),e&&(pk(e.text,e.scene,ak),ak+=1,window.setTimeout(gk,$O))}function _k(e,t,n){rk={tray:e,button:t,count:n},t.addEventListener(`click`,()=>{ak=0,gk()}),hk()}function vk(e,t=uk()){nk.push({text:e,scene:t}),nk.length>ek&&nk.shift(),hk()}var yk=null,bk=null,xk=new Set,Sk=new Map,Ck=!1,wk=new Set;function Tk(e){for(let t of wk)t(e)}function Ek(){return[...Sk].flatMap(([e,t])=>{let n=j.get(e);return!n||t.length===0?[]:[{id:e,title:ft(n)||e,links:t}]})}function Dk(){let e=kE(yk?.prs??[],wr),t=jE(bk,e);bk=e,jk(t),Tk({kind:`prs`})}function Ok(){Ck||(Ck=!0,queueMicrotask(()=>{Ck=!1,Dk()}))}function kk(e){wk.add(e)}function Ak(){return{prs:kE(yk?.prs??[],wr),status:yk,sessionsByPrKey:AE(Ek())}}function jk(e){let t=e.filter(e=>!xk.has(e.key));if(t.length!==0){for(let e of t)xk.add(e.key);vk(NE(t))}}function Mk(e){Sk=e,Ok()}function Nk(){Tk({kind:`session-state`})}function Pk(e){let t=p.safeParse(e);t.success?(yk=t.data,Dk()):We(`reviews`,`dropped my-prs-status: ${Be(t.error.issues)}`)}function Fk(e){Tk({kind:`merge-result`,message:e})}function Ik(e){Tk({kind:`connection`,isConnected:e})}Tr(Ok);var Lk=[{id:`all`,label:`All`},{id:`reviewing`,label:`Reviewing`},{id:`mine`,label:`Mine`}],Rk={turn:`Your turn`,working:`Agent working`,waiting:`Waiting on others`,aside:`Set aside`},zk=[`turn`,`working`,`waiting`,`aside`],Bk={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`},Vk={directAsk:0,followUp:1,mineNeedsYou:2,teamReady:3,mineReady:4,failedReview:5,staleReview:6};function Hk(e,t){return{source:`team`,key:`team:${e.key}`,prKey:Me(e),kind:t,review:e}}function Uk(e){return e.status===`ready`?FE(e).band===`blocking-others`?Vk.directAsk:Vk.teamReady:Vk.followUp}function Wk(e){return[...e.ready.map(e=>({item:Hk(e,`ready`),group:`turn`,turnRank:Uk(e)})),...e.attention.map(e=>({item:Hk(e,`attention`),group:`turn`,turnRank:e.status===`error`?Vk.failedReview:Vk.staleReview})),...e.inReview.map(e=>({item:Hk(e,`inReview`),group:`working`,turnRank:0})),...e.queued.map(e=>({item:Hk(e,`queued`),group:`working`,turnRank:0})),...e.noReviewNeeded.map(e=>({item:Hk(e,`settled`),group:`waiting`,turnRank:0})),...e.posted.map(e=>({item:Hk(e,`posted`),group:`waiting`,turnRank:0})),...e.discarded.map(e=>({item:Hk(e,`discarded`),group:`aside`,turnRank:0}))]}function Gk(e,t){let n=Bk[e.stage];return n===`turn`&&e.stage!==`ready`&&t.has(Me(e))?`working`:n}function Kk(e,t){return TE(e).flatMap(e=>e.rows).map(({pr:e,parentKey:n})=>({item:{source:`mine`,key:`mine:${e.key}`,prKey:Me(e),pr:e,stackedOn:n},group:Gk(e,t),turnRank:e.stage===`ready`?Vk.mineReady:Vk.mineNeedsYou}))}function qk(e,t,n){let r=[...Wk(e),...Kk(t,n)];return zk.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:Rk[e],items:n.map(e=>e.item)}})}function Jk(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 Yk(e){return e.find(e=>e.id===`turn`)?.items??[]}function Xk(e,t){return t?e.flatMap(e=>e.items).find(e=>e.key===t)??null:null}function Zk(e,t){return Xk(e,t)?t:e.flatMap(e=>e.items)[0]?.key??null}function Qk(e){return e.source===`mine`?WE(e.pr.repo,e.pr.number):WE(e.review.repo,e.review.number)}function $k(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 eA(e){return Yk(e).map(e=>({id:e.key,kind:$k(e),name:Qk(e)}))}function tA(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 nA(e,t){return eA(e).filter(e=>e.id!==t)}function rA({capturedOrder:e,actedKey:t,groups:n}){let r=Yk(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 iA(e,t){let n=Yk(e).map(e=>e.key),r=t?n.indexOf(t):-1;return r===-1?``:`${r+1} of ${n.length} in Your turn`}function aA(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 oA(e){return Yk(e).map(aA)}function sA({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:Ee([...i]),unseen:Ee([...o])};for(let e of s)o.add(e);return{isShown:s.length>0,acknowledged:Ee([...a]),unseen:Ee([...o])}}function cA(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 lA(e){return new Set(e.flatMap(e=>e.items).map(e=>(e.source===`mine`?e.pr.repo:e.review.repo).toLowerCase())).size>1}function uA(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 dA=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 fA(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`:dA.get(e.key)??null}function pA(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 mA=[],hA=null,gA=null,_A=null,vA=!1,yA=null,bA=Rt(),xA=cn(),SA=new Set(xA.split(`|`).filter(Boolean)),CA=new Set,wA=new Set;function TA(e){for(let t of wA)t(e)}function EA(e){e!==bA&&(bA=e,kt(e))}function DA(e){e!==xA&&(xA=e,SA=new Set(e.split(`|`).filter(Boolean)),xt(e))}function OA(){return ZE()!==null&&Ak().status!==null}function kA(){if(!OA())return;let e=sA({turnEntries:oA(mA),acknowledged:bA,unseen:xA,isLooking:gA?.isLooking()??!1});EA(e.acknowledged),DA(e.unseen),yA?.(e.isShown)}function AA(e){_A=e,TA({kind:`reveal`})}function jA(e){wA.add(e)}function MA(e){gA=e,kA()}function NA(){let{prs:e,sessionsByPrKey:t}=Ak();return mA=qk(QE(),e,new Set(t.keys())),kA(),mA}function PA(){OA()&&(EA(Ee(oA(mA))),kA())}function FA(e){yA=e,kA()}function IA(){return xA}function LA(e){return SA.has(e)}function RA(e){return SA.has(e)?(DA(Ee([...SA].filter(t=>t!==e))),!0):!1}function zA(e){hA=e}function BA(){return hA}function VA(){let e=_A;return _A=null,e}function HA(e){if(e!==vA){vA=e;for(let e of CA)e()}}function UA(e){CA.add(e)}function WA(){return document.documentElement.dataset.layout===`phone`&&vA}function GA(){WA()&&TA({kind:`return-to-queue`})}function KA(){let e=nA(mA,gA?.selectedKey()??null)[0]?.id??null;return e?(AA(e),!0):!1}function qA(e){let t=mA.flatMap(e=>e.items).find(t=>t.prKey===e.toLowerCase());return!t||!hA?.openReviews()?!1:(AA(t.key),PA(),!0)}XE(e=>{e.kind===`status`&&NA()}),kk(e=>{e.kind===`prs`&&NA()});var JA={OPEN:0,MERGED:1,CLOSED:2};function YA(e){return e?JA[e.state]:JA.OPEN}function XA(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:ec(void 0)};let i=DE(t.stage);return{key:n,text:r,url:t.url,hoverText:`${e.repo}: ${t.title} (${EE(t.stage)})`,look:{icon:OE(t.stage),tone:i},tier:ec(i)}}function ZA(e,t){let n=e.map(e=>{let n=t(Me(e));return{link:e,pr:n?gE(n):void 0}});return n.sort((e,t)=>YA(e.pr)-YA(t.pr)||t.link.linkedAt-e.link.linkedAt),n.map(({link:e,pr:t})=>XA(e,t))}var QA=new Map;function $A(e){return document.querySelectorAll(`[data-pr-chips-for="${CSS.escape(e)}"]`)}function ej(e){return ZA(QA.get(e)??[],wr).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:()=>{qA(e.key)||kc(e.url)}}))}function tj(e,t){let n=qc(e,e),r=E(`button`,`session-pr-chip-unlink`);r.append(yn(Tn)),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(),gr({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:()=>{xi(t,{type:`unlink-session-pr`,id:t,key:e.key})}})});let i=E(`span`,`session-pr-chip-item`);return i.append(n,r),i}function nj(e,t){e.dataset.prChipsFor=t,Qc(e,ej(t),e=>tj(e,t))}function rj(e){for(let t of e){let e=t.dataset.prChipsFor;e&&nj(t,e)}al()}function ij(e,t){let n=d.shape.links.safeParse(t??[]);QA.set(e,n.success?n.data:[]),rj($A(e)),Mk(QA)}function aj(e){QA.delete(e),Mk(QA)}Tr(()=>rj(document.querySelectorAll(`[data-pr-chips-for]`)));var oj=null,sj=new Set;function cj(){oj?.setAttribute(`aria-pressed`,String(!Dt()))}function lj(e){wt(e),cj();for(let t of sj)t(e)}function uj(e){sj.add(e)}function dj(e){oj=e,cj(),e.addEventListener(`click`,()=>lj(!Dt()))}var fj={mine:`Mining merged pull requests.`,run:`Starting the run.`,cancel:`Cancelling the run.`},pj=null,mj=null,hj=!0,gj=new Map,_j=new Map,vj=new Set;function yj(){for(let e of vj)e()}function bj(e){vj.add(e)}function xj(){return{status:pj,isServerConnected:hj,pendingActionBySuite:gj,outcomeBySuite:_j}}function Sj(e){mj=e}function Cj(e,t){mj?.({type:`benchmark-action`,requestId:et(`benchmark`),suiteId:e,action:t})===!0?(gj.set(e,t),_j.set(e,fj[t]),yj()):(_j.set(e,l),yj())}function wj(e){if(hj=e,!e){for(let e of gj.keys())_j.delete(e);gj.clear()}yj()}function Tj(e){pj=e,yj()}function Ej(e){gj.delete(e.suiteId);let t=pj?.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.`};_j.set(e.suiteId,e.ok?n[e.action]:e.error||`The server refused the action.`),yj()}var Dj=45e3,Oj=`The server did not answer within ${Dj/1e3} s.`,kj=`Select the issue to load its description.`,Aj=null,jj=null,Mj=new Map,Nj=null,Pj=new Map,Fj=new Map,Ij=new Map,Lj=new Map,Rj=new Map,zj=new Set;function Bj(e){for(let t of zj)t(e)}function Vj(e){return`${e.key}:${e.updatedAt}`}function Hj(e){let t=Pj.get(e);t&&(Pj.delete(e),Fj.set(t.issueKey,{text:Oj,tone:`error`}),Bj(`detail`))}function Uj(e){let t=Pj.get(e);return t?(clearTimeout(t.timeoutHandle),Pj.delete(e),t):null}function Wj(){return{latestStatus:jj,issueByKey:Mj,selectedKey:Aj}}function Gj(e){zj.add(e)}function Kj(e){Aj=e}function qj(e){return[...Pj.values()].some(t=>t.issueKey===e.key)}function Jj(e){return Fj.get(e.key)}function Yj(e){let t=Vj(e),n=Lj.get(t);return n===``?`No description.`:n??Rj.get(t)??`Loading description.`}function Xj(e){let t=Vj(e);if(Lj.has(t)||[...Ij.values()].some(e=>e.cacheKey===t))return;let n=et(`issue-detail`);Rj.delete(t),Nj?.({type:`issue-detail`,requestId:n,repo:e.repo,issueNumber:e.number})?Ij.set(n,{cacheKey:t,timeoutHandle:setTimeout(()=>{Ij.delete(n),Rj.set(t,`${Oj} ${kj}`),Bj(`detail`)},Dj)}):Rj.set(t,`${l} ${kj}`)}function Zj(e){let t=e.projectId;if(!t||qj(e))return;let n=et(`open-issue-session`);Nj?.({type:`open-issue-session`,requestId:n,projectId:t,repo:e.repo,issueNumber:e.number})?(Pj.set(n,{issueKey:e.key,issueNumber:e.number,timeoutHandle:setTimeout(()=>Hj(n),Dj)}),Fj.set(e.key,{text:`Opening session.`,tone:`busy`}),Bj(`detail`)):(Fj.set(e.key,{text:l,tone:`error`}),Bj(`detail`))}function Qj(e){Nj?.({type:`dashboard-telemetry`,event:`operator_action`,properties:{surface:`issues`,action:e}})}function $j(e){Nj=e}function eM(){Bj(`session-state`)}function tM(e){if(!e){for(let e of Pj.values())clearTimeout(e.timeoutHandle),Fj.set(e.issueKey,{text:l,tone:`error`});Pj.clear();for(let e of Ij.values())clearTimeout(e.timeoutHandle),Rj.set(e.cacheKey,`${l} ${kj}`);Ij.clear(),Bj(`status`)}}function nM(e){let t=jj?.issues.find(e=>e.key===Aj);jj=e,Mj=new Map(e.issues.map(e=>[e.key,e]));let n=e.issues.find(e=>e.key===Aj);n&&n.updatedAt!==t?.updatedAt&&Xj(n),Bj(`status`)}function rM(e){let t=Ij.get(e.requestId);t&&(clearTimeout(t.timeoutHandle),Ij.delete(e.requestId),e.ok&&e.body!==null&&Lj.set(t.cacheKey,e.body),(!e.ok||e.body===null)&&Rj.set(t.cacheKey,e.error||`Could not load description. Select the issue to try again.`),Bj(`detail`))}function iM(e){if(typeof e.requestId!=`string`)return;let t=Uj(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`;Fj.set(n,{text:`Session "${r}" ${a}.${i}`,tone:`ok`});let o=jj?.issues.find(e=>e.key===n);o&&typeof e.sessionId==`string`&&(o.sessionId=e.sessionId),Bj(`status`);return}let r=typeof e.error==`string`&&e.error?e.error:`Could not open session.`;Fj.set(n,{text:r,tone:`error`}),Bj(`detail`)}var aM=null,oM=null,sM=null,cM=()=>!1,lM=new Set,uM=new Set,dM=xe({getAck:Bt,setAck:rn,signature:()=>o({posthog:aM}),isLooking:()=>cM()});function fM(e){for(let t of uM)t(e)}function pM(){oM?.(dM.refresh())}function mM(){return{latest:aM,archivedLocally:lM,traceOpener:sM}}function hM(e){uM.add(e)}function gM(e){cM=e,pM()}function _M(e){lM.add(e)}function vM(){dM.acknowledge(),pM()}function yM(e){oM=e,pM()}function bM(e){sM=e}function xM(e){aM=e,ke(aM,lM),fM({kind:`status`}),pM()}function SM(e){let t=ze(aM,e.projectId,e.issueId)?.inFlight===!0;ee(aM,e)&&fM({kind:`investigation-activity`,projectId:e.projectId,issueId:e.issueId,wasInFlight:t})}function CM(e){let t=ae(aM,e);fM({kind:`investigation-finished`,frame:e,isPatched:t}),t&&pM()}var wM=Xs({requestPrefix:`session-setup`,dialogClass:`dialog coherence-journal-drawer session-setup-dialog`,titleText:`Session setup`,unavailableLabel:`Session setup unavailable`,timeoutMs:15e3});function TM(e){let t=E(`ul`,`session-setup-list`);return t.append(...e.map(e=>E(`li`,null,e))),t}function EM(e,t){e.replaceChildren();function n(t,n){if(n.length===0)return;let r=De(`session-setup`,t);r.append(...n),e.append(r)}n(`Model`,t.model?[E(`p`,null,t.model)]:[]),n(`Plugins`,t.plugins.map(e=>{let t=E(`div`,`session-setup-plugin`);return t.append(E(`h3`,null,e.name)),e.skills.length>0&&t.append(E(`p`,`session-setup-label`,`Skills`),TM(e.skills)),e.agents.length>0&&t.append(E(`p`,`session-setup-label`,`Agents`),TM(e.agents)),t})),n(`MCP servers`,t.mcpServers.length>0?[TM(t.mcpServers)]:[]),n(`Hooks`,[...t.hookEvents.map(e=>{let t=E(`p`,`session-setup-hook`);return t.append(E(`span`,null,e.event),E(`span`,`session-setup-label`,`${e.runCount} runs`)),t}),...t.hookCommands.map(e=>E(`pre`,`coherence-command`,e))]),n(`Skills`,t.skills.length>0?[TM(t.skills)]:[]),n(`Agents`,t.agents.length>0?[TM(t.agents)]:[])}function DM(e){let t=E(`p`,`coherence-journal-status`,`Loading session setup`);t.setAttribute(`role`,`status`);let n=E(`div`,`session-setup-sections`);wM.open({sessionId:e,status:t,body:[t,n],parts:{sections:n},buildRequest:t=>({type:`session-setup`,id:e,requestId:t})})}function OM(e){let t=wM.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;EM(n,e.setup),t.status.textContent=n.childElementCount>0?``:`No session setup recorded yet`,t.status.hidden=n.childElementCount>0}function kM(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 AM={isVisible:document.visibilityState===`visible`,isFrozen:!1,isProbing:!1,isReplacing:!1},jM=document.visibilityState===`visible`?null:Date.now(),MM=null,NM=null;function PM(){MM!==null&&window.clearTimeout(MM),MM=null}function FM(e){PM();let t=Date.now()+e;MM=window.setTimeout(()=>{MM=null,RM({kind:`heartbeat-due`,lateByMs:Date.now()-t})},e)}function IM(){NM!==null&&window.clearTimeout(NM),NM=null}function LM(e){switch(e.kind){case`probe-control`:Qe(e.deadlineMs,e.isAnnounced).then(e=>{RM({kind:e?`pong`:`pong-missed`})});return;case`replace-control`:tt();return;case`close-sockets`:IM(),nt(),ah();return;case`reconnect-shown-terminals`:rh();return;case`hold-input`:eh();return;case`release-input`:th();return;case`schedule-heartbeat`:FM(e.inMs);return;case`cancel-heartbeat`:PM();return}}function RM(e){let t=Ve(AM,e);AM=t.state;for(let e of t.actions)LM(e)}function zM(){if(document.visibilityState!==`visible`){jM=Date.now(),RM({kind:`hidden`});return}let e=jM===null?0:Date.now()-jM;jM=null,Xu(`shown`,e),RM({kind:`shown`,hiddenForMs:e})}function BM(e){IM(),Ju(`control-${e}`),e===`connecting`?NM=window.setTimeout(()=>{NM=null,RM({kind:`handshake-overdue`})},qe):RM({kind:e===`opened`?`control-opened`:`control-closed`})}function VM(){Xu(`resumed`,jM===null?0:Date.now()-jM),RM({kind:`resumed`})}function HM(){let e=Reflect.get(navigator,`connection`);e instanceof EventTarget&&e.addEventListener(`change`,()=>{Yu(`link`),RM({kind:`network-changed`})})}function UM(){He(BM),document.addEventListener(`visibilitychange`,zM),document.addEventListener(`freeze`,()=>RM({kind:`frozen`})),document.addEventListener(`resume`,VM),window.addEventListener(`pagehide`,e=>{e.persisted&&RM({kind:`frozen`})}),window.addEventListener(`pageshow`,e=>{e.persisted&&VM()}),window.addEventListener(`online`,()=>{Yu(`online`),RM({kind:`network-changed`})}),window.addEventListener(`offline`,()=>Yu(`offline`)),HM()}var WM={},GM=null,KM=null,qM=se,JM=null,YM=!1,XM=null,ZM=[],QM=null,$M=()=>null,eN=()=>{},tN=new Set,nN=new Set;function rN(e){for(let t of nN)t(e)}function iN(e){nN.add(e)}function aN(){return WM}function oN(e){return WM={...WM,...e},WM}function sN(){return{status:GM,journal:KM,request:qM,lastAutoCheckAt:JM,isCheckInFlight:YM,checkSendFailure:XM}}function cN(e){let t=re(qM,e);t!==qM&&(qM=t,rN({kind:`update`,frame:`request`}))}function lN(){cN(D({type:`update-apply`})?`request-sent`:`request-unsent`)}function uN(){JM=Date.now();let e=D({type:`update-check`});YM=e,XM=e?null:l,rN({kind:`update`,frame:`request`})}function dN(e){eN=e}function fN(){eN()}function pN(e){ZM=[...e]}function mN(){return ZM}function hN(e=null,t=null,n=null){let r=QM!==null&&(QM.sectionId!==null||QM.isLink);e===null&&n===null&&r||(QM={sectionId:e,settingId:t,hashAtRequest:n??location.hash,isLink:n!==null},rN({kind:`activate`}))}function gN(){let e=QM;return QM=null,e}function _N(e){$M=e}function vN(){for(let e of tN)e()}function yN(e){tN.add(e)}function bN(){return L()&&$M()===`section`}function xN(){bN()&&rN({kind:`return-to-list`})}function SN(e){e&&(WM=e,Qr(WM.agentLogins),rN({kind:`broadcast`}))}function CN(){rN({kind:`status`})}function wN(e){CN()}function TN(e){GM=e,YM=!1,XM=null,qM=re(qM,`status-frame`),rN({kind:`update`,frame:`status`})}function EN(e){KM=e,qM=re(qM,`progress-frame`),rN({kind:`update`,frame:`progress`})}function DN(e){if(e.scope!==`update`)return!1;let t=te(e.message),n=qM.requested;return qM=re(qM,`error-frame`,t),YM=!1,n||(XM=t),rN({kind:`update`,frame:`error`}),!0}function ON(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 kN=200;function AN(e,t=null){return`#settings/${encodeURIComponent(e)}${t?`/${encodeURIComponent(t)}`:``}`}function jN(e){return/^#settings(?:[/?]|$)/.test(e)}function MN(e){let t=e.trim();return t?`#settings?q=${encodeURIComponent(t)}`:`#settings`}function NN(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,kN).join(``).trim()}}function PN(e,t,n){let r=E(`a`,`settings-link`,n);return r.href=AN(e,t),r}var Z=null,FN=null,IN=null,LN=null,RN=null,zN=null,BN=-1,VN=null,HN={isRightToLeft:!1,arcProgress:0},UN=1,WN=3;function GN(){if(!Z||VN===null)return;let e=Wr({viewportWidthPx:document.documentElement.clientWidth,viewportHeightPx:document.documentElement.clientHeight,verticalProgress:VN,...HN});pe(Z,Kr(e,UN,window.devicePixelRatio))}function KN(){zN!==null&&(clearTimeout(zN),zN=null)}function qN(e=gn()){return Ot({isEnabled:e,hasReducedMotion:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,isPhone:L(),options:qt()})}function JN(e){e.onanimationend=null,e.style.animation=`none`,LN&&(LN.style.animation=`none`),e.hidden=!0}function YN(e,t){if(!Z||!FN||!IN||!LN||qN())return;let n=qt();KN();let r=pn(n,BN,Math.random,t);if(JN(Z),!r){zN=setTimeout(()=>YN(!1),1e3);return}VN=r.verticalProgress,HN={isRightToLeft:r.isRightToLeft,arcProgress:r.arcProgress},UN=n.flyingAnimalsScale,GN();let i=Ct[r.animalIndex];FN.className=`nyan-sprite ${i.sprite}`,IN.className=`nyan-trail ${i.trail}`,BN=r.animalIndex,RN?.classList.remove(`is-booped`),Z.hidden=!1,Z.offsetWidth,Z.style.animation=`nyan-fly ${r.durationSeconds}s linear`,LN.style.animation=`nyan-trail-hold ${r.durationSeconds}s linear`,e&&(Z.style.animationDelay=`-${r.firstDelaySeconds}s`,LN.style.animationDelay=`-${r.firstDelaySeconds}s`),Z.onanimationend=e=>{Z&&e.target===Z&&(JN(Z),zN=setTimeout(()=>YN(!1),r.gapMs))}}function XN(){RN&&(RN.classList.remove(`is-booped`),RN.offsetWidth,RN.classList.add(`is-booped`))}function ZN(e){if(Z&&LN&&e.target===RN)for(let e of[...Z.getAnimations(),...LN.getAnimations()])e.playbackRate=WN}function QN(){if(Z||qN())return;Z=document.createElement(`div`),Z.className=`nyan-flight`,Z.setAttribute(`aria-hidden`,`true`);let e=document.createElement(`div`);e.className=`nyan-trail-window`,LN=document.createElement(`div`),LN.className=`nyan-trail-hold`,IN=document.createElement(`div`),LN.append(IN),e.append(LN),FN=document.createElement(`div`),RN=document.createElement(`div`),RN.className=`nyan-boop`,RN.append(FN),RN.addEventListener(`pointerdown`,XN),RN.addEventListener(`animationend`,ZN),Z.append(e,RN),document.body.appendChild(Z),window.addEventListener(`resize`,GN),window.addEventListener(`orientationchange`,GN),YN(!0)}function $N(e){QN(),YN(!1,e)}function eP(){KN(),window.removeEventListener(`resize`,GN),window.removeEventListener(`orientationchange`,GN),Z?.remove(),Z=null,FN=null,IN=null,LN=null,RN=null,BN=-1,VN=null}var tP=!1;function nP(e){let t=document.documentElement;if(tP||(tP=!0,Ui(()=>nP(gn())),window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,()=>nP(gn()))),e){if(t.dataset.flyingAnimals=`true`,qN(e)){eP();return}QN()}else delete t.dataset.flyingAnimals,eP()}var rP=`•`.repeat(8),iP=`[^/\\\\\\s"'\`<>:]+`,aP=RegExp(`(?<![\\w./\\\\-])(?:/home/${iP}|/Users/${iP}|[A-Za-z]:[\\\\/]Users[\\\\/]${iP}|/root(?![\\w.-]))`,`g`);function oP(e){let t=Lf(e);if(t.length===0)return e;let n=``,r=0;for(let i of t)n+=e.slice(r,i.start)+rP,r=i.end;return n+e.slice(r)}function sP(e){return e.replace(aP,`~`)}function cP(e){return sP(oP(e))}var lP=`.xterm, input, textarea, script, style, [contenteditable]:not([contenteditable="false"])`,uP=[`title`,`label`],dP=new WeakMap,fP=new WeakMap,pP=null;function mP(e){let t=e instanceof Element?e:e.parentElement;return!t||t.closest(lP)!==null}function hP(e){let t=e.parentElement?.closest(`option`);return t!=null&&!t.hasAttribute(`value`)}function gP(e,t){if(t&&e===t.masked)return t;let n=cP(e);return n===e?null:{original:e,masked:n}}function _P(e){let t=hP(e)?null:gP(e.data,dP.get(e));t?(dP.set(e,t),e.data!==t.masked&&(e.data=t.masked)):dP.delete(e)}function vP(e,t){let n=e.getAttribute(t),r=fP.get(e),i=n===null?null:gP(n,r?.get(t));if(!i){r?.delete(t);return}let a=r??new Map;a.set(t,i),fP.set(e,a),n!==i.masked&&e.setAttribute(t,i.masked)}function yP(e){for(let t of uP)vP(e,t)}function bP(e){return e instanceof Element&&e.matches(lP)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}function xP(e){yP(e);let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,bP);for(let e=t.nextNode();e;e=t.nextNode())e instanceof Text&&_P(e),e instanceof Element&&yP(e)}function SP(e){mP(e)||(e instanceof Text&&_P(e),e instanceof Element&&xP(e))}function CP(e){e instanceof Element&&!mP(e)&&yP(e)}function wP(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&&SP(e);for(let e of n)e.isConnected&&CP(e)}function TP(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT);EP(e);for(let e=t.nextNode();e;e=t.nextNode())EP(e)}function EP(e){if(e instanceof Text){let t=dP.get(e);t&&e.data===t.masked&&(e.data=t.original);return}if(!(e instanceof Element))return;let t=fP.get(e);if(t)for(let[n,r]of t)e.getAttribute(n)===r.masked&&e.setAttribute(n,r.original)}function DP(){if(pP)return;let e=new MutationObserver(t=>{wP(t),e.takeRecords()});xP(document.body),e.observe(document.body,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:uP}),pP=e}function OP(){pP&&(pP.disconnect(),pP=null,TP(document.body),dP=new WeakMap,fP=new WeakMap)}function kP(e){e?DP():OP()}function AP(){kP(Jo()),Xo(kP)}function jP(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 MP(e){return typeof e!=`object`||!e||!(`telemetryForcedOff`in e)?!1:e.telemetryForcedOff===!0}function NP(e,t){return t||MP(e)?!1:jP(e)}var PP=2500;function FP({hasSnapshot:e,connectingTerminalCount:t,msSinceConnected:n}){return n<2500&&(!e||t>0)?`wait`:`reveal`}var IP=2e4,LP=null,RP=null,zP={claude:null,codex:null},BP=null,VP=null,HP=null,UP=`all`,WP=!1,GP=null,KP=null,qP=!0,JP=()=>!1,YP=new Set,XP=xe({getAck:Mt,setAck:an,signature:()=>wb(LP,zP.claude),isLooking:()=>JP()});function ZP(e){for(let t of YP)t(e)}function QP(){BP?.(XP.refresh())}function $P(e){WP=e,ZP(`refresh-status`),GP&&=(clearTimeout(GP),null),e&&(GP=setTimeout(()=>{GP=null,WP=!1,KP=`Usage did not answer within ${Math.round(IP/1e3)} s. Refresh to try again.`,ZP(`refresh-status`)},IP))}function eF(e){let t=sb.find(t=>t.value===e);return t?t.days:null}function tF(){return{report:LP,sessions:RP,planLimitsByVendor:zP,rangeValue:UP}}function nF(){let e=!qP||!WP&&KP!==null;return qP?WP?{text:`Refreshing`,isPending:!0,hasFailure:e}:{text:KP??``,isPending:!1,hasFailure:e}:{text:LP?`${l} The figures below are from before the connection dropped.`:l,isPending:WP,hasFailure:e}}function rF(e){YP.add(e)}function iF(e){JP=e,QP()}function aF(){XP.acknowledge(),QP()}function oF(e){BP=e,QP()}function sF(e){VP?.({type:`dashboard-telemetry`,event:`operator_action`,properties:{surface:`usage`,action:e}})}function cF(e){VP=e}function lF(e){UP=e}function uF({force:e=!1}={}){if(!VP)return;HP=et(`usage`);let t={type:`request-usage-report`,requestId:HP};e&&(t.force=!0);let n=eF(UP);n!==null&&(t.days=n),KP=null,$P(!0),!VP(t)&&(KP=l,$P(!1))}function dF(e){qP=e,ZP(`refresh-status`)}function fF(e){RP=e,ZP(`sessions`)}function pF(e){let t=e;zP={...zP,[xb(t)]:t},ZP(`plan-limits`),QP()}function mF(e){Ab(e,HP)&&(KP=null,$P(!1),LP=e,ZP(`report`),QP())}function hF(){let e=LP?.pricing||(RP?{source:RP.pricingSource}:null),t=Eb(e?.fetchedAt),n=[Tb(e,t!==null&&t>0?ut(t):``)],r=kb(LP);r&&n.push(r);let i=Ob(LP?.scan);return i&&n.push(i),n}var gF={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},_F=[{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 vF(e,t){return t.isPhoneShellActive?t.phoneScreen===e:t.activeView===e}function yF(e,t){return e.flatMap(e=>!e.gate||!(`fromSettings`in e.gate)?[]:[{view:e,isAvailable:e.gate.fromSettings(t)}])}function bF(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 xF(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 SF(e){return{isActive:e===!0||typeof e==`string`,level:typeof e==`string`?e:null}}function CF(e,t,n){t&&e?.refreshOn?.includes(n)&&t.refresh?.(n)}function wF(e,t,n,r){for(let i of e)vF(i.view,t)&&CF(i,r(i.view),n)}function TF(){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 EF(e,t,n){let r=Number(e);return!e||!Number.isFinite(r)||t-r>n}var DF=`glimmervoid:preload-error-reload-at`,OF=3e4,kF=1e3,AF=TF();function jF(e,t){let n=AF.mountedModuleOf(e.view);n?t(n):AF.show(e).then(t).catch(t=>{throw We(`view`,`${e.view} failed to show: ${it(t)}`),t})}function MF(e){return AF.mountedModuleOf(e)}function NF(e){AF.mountEagerViews(e)}function PF(e){let t=()=>{AF.prefetch(e.filter(e=>!e.tab.hidden))};`requestIdleCallback`in window?window.requestIdleCallback(t):setTimeout(t,kF)}function FF(e){window.addEventListener(`vite:preloadError`,()=>{let t=e(),n=Date.now();EF(t.getItem(DF),n,OF)&&(t.setItem(DF,String(n)),location.reload())})}function IF(e){zA({openTerminal:e.openTerminal,openReviews:e.openReviews}),dN(e.onRestart);let t=[{view:`focus`,label:`Focus`,panelClass:`focus-view`,hasOwnPhoneScreen:!0,hasPanelChrome:!1,hasReviewSidebar:!0,module:{mount:()=>_C({rail:document.getElementById(`focus-rail`),center:document.getElementById(`focus-center`),resizer:document.getElementById(`focus-rail-resizer`)}),activate:GC,deactivate:JC}},{view:`prs`,label:`Reviews`,glyph:`⇅`,panelClass:`pr-view`,gate:{fromSettings:gF.teamReview},load:()=>I(()=>import(`./review-queue-panel-D3PVIeCs.js`).then(e=>e.view),__vite__mapDeps([13,1,2,3,4,14,5,6,15,9,16])),attention:{subscribe:FA,acknowledge:PA},onConnectionChange:e=>{Ik(e),nD(e)}},{view:`issues`,label:`Issues`,glyph:`#`,panelClass:`issues-view`,gate:{fromSettings:gF.issues},load:()=>I(()=>import(`./issues-panel-CfGIphXj.js`).then(e=>e.view),__vite__mapDeps([17,1,2,4,5,3,15,14,9,6,18])),refreshOn:[`shown`],onConnectionChange:tM},{view:`usage`,label:`Usage`,glyph:`◔`,panelClass:`usage-view`,gate:{fromSettings:gF.usage},load:()=>I(()=>import(`./usage-panel-DTZSVZrx.js`).then(e=>e.view),__vite__mapDeps([19,1,2,4,20])),attention:{subscribe:oF,acknowledge:aF},onConnectionChange:dF,refreshOn:[`shown`,`connected`,`usage-sessions`]},{view:`radar`,label:`Radar`,glyph:`◎`,panelClass:`radar-view`,gate:{fromSettings:gF.posthog},load:()=>I(()=>import(`./radar-panel-CfnVG4Os.js`).then(e=>e.view),__vite__mapDeps([21,1,2,3,4,5,6,0,22])),attention:{subscribe:yM,acknowledge:vM}},{view:`visions`,label:`Visions`,glyph:`◇`,panelClass:`visions-view`,gate:{fromSettings:gF.visions},load:()=>I(()=>import(`./visions-panel-BOX-F0QV.js`).then(e=>e.view),__vite__mapDeps([23,1,2,5,3,24])),attention:{subscribe:hT,acknowledge:gT},refreshOn:[`shown`],onConnectionChange:yT},{view:`hooks`,label:`Hooks`,glyph:`◈`,panelClass:`hooks-view`,load:()=>I(()=>import(`./hooks-panel-Dg0zOBrq.js`).then(e=>e.view),__vite__mapDeps([25,2,1,3,5,6,26])),refreshOn:[`shown`,`connected`,`hooks-updated`]},{view:`trace`,label:`Trace`,panelClass:`trace-view`,gate:{subscribe:Kn},load:()=>I(()=>import(`./trace-panel-xiEqUO10.js`).then(e=>e.view),__vite__mapDeps([27,1,2,14,5,3,28])),refreshOn:[`shown`],onAvailabilityChange:e=>bM(e?eb:null),onConnectionChange:ab},{view:`benchmarks`,label:`Bench`,panelClass:`bench-view`,gate:{fromSettings:gF.benchmarks},load:()=>I(()=>import(`./benchmark-panel-C4mpk8j2.js`).then(e=>e.view),__vite__mapDeps([29,1,2,30])),onConnectionChange:wj},{view:`settings`,label:`Settings`,glyph:`@`,panelClass:`settings-view`,hasPanelChrome:!1,load:()=>I(()=>import(`./settings-panel-CUhLnAVj.js`).then(e=>e.view),__vite__mapDeps([31,1,2,3,4,14,5,6,0,32]))}],n=w(document,`#app-main`,`main`),r=t.map(t=>{let r=E(`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)??E(`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=E(`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}=SF(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 w(document,`#header-tabs`,`div`).replaceChildren(...r.map(e=>e.tab)),r}wd(Gt()),Td(fn()),nP(gn()),Hi(),jc(document);var LF=w(document,`#connection-status`,`span`),RF=w(LF,`.connection-label`,`span`),zF=w(document,`#loading-screen`,`div`),BF=w(document,`#loading-status`,`div`),VF=w(document,`#loading-detail`,`div`),HF=w(document,`#shutdown-screen`,`div`),UF=w(document,`#shutdown-status`,`div`),WF=!1,GF=null,KF=!1;function qF(){let e=Yr(),t=zF.querySelector(`.loading-spinner`);e&&t&&t.replaceWith(Jr(e,`loading-animal`))}qF();function JF(){WF||GF===null||FP({hasSnapshot:KF,connectingTerminalCount:Rm(),msSinceConnected:performance.now()-GF})===`reveal`&&YF()}Lm(JF);function YF(){if(WF)return;WF=!0,zF.classList.add(`fade-out`),PF(Q);let e=()=>zF.remove();zF.addEventListener(`transitionend`,e,{once:!0}),setTimeout(e,1e3)}function XF(e,t){LF.dataset.state=`shutdown`,RF.textContent=e,LF.title=e,HI.disabled=!0,UF.textContent=t,HF.classList.add(`active`)}var ZF=new Set([`disconnected`,`connecting`]);function QF(e,t,n){LF.dataset.state=e,LF.toggleAttribute(`data-reconnected`,n),RF.textContent=t,LF.title=t}function $F(e,t){QF(e,t,e===`connected`&&ZF.has(LF.dataset.state??``))}function eI(e,t){LF.dataset.state!==`shutdown`&&QF(e===`verified`?`connected`:e,t,!1)}var tI=1e4,nI=`Server`,rI=`Worktree`,iI=`Worktree warning`,aI=`The server is not answering. Check the terminal running Glimmervoid for errors, or start it again with glimmervoid. This page reconnects on its own.`,oI=`Server not answering. Check the Glimmervoid terminal for errors, or run glimmervoid. This page retries on its own.`,sI=null,cI=!1;function lI(){BF.textContent=`Reconnecting to server...`,VF.textContent=oI,VF.hidden=!cI}function uI(){sI=null,cI=!0,WF?N({source:nI,message:aI,hidesInStreamerMode:!1}):lI()}function dI(){sI!==null||cI||(sI=window.setTimeout(uI,tI))}function fI(){sI!==null&&window.clearTimeout(sI),sI=null,cI=!1,VF.hidden=!0,En(nI)}Ge((e,t)=>{if(e===`connecting`||e===`verified`)eI(e,t);else{$F(e,t),Nx(e===`connected`);for(let t of Q)t.onConnectionChange?.(e===`connected`);if(e===`connected`){if(fI(),oL&&sL(oL),HF.classList.contains(`active`)){location.reload();return}io(),document.body.classList.add(`app-ready`),!WF&&GF===null&&(GF=performance.now(),BF.textContent=`Connecting to sessions...`,setTimeout(YF,PP)),JF(),NL(),wI(`connected`),O(`get-settings`,{}).then(e=>{e.settings&&(fL(e.settings),ht()===`settings`&&qI(location.hash))}).catch(()=>{})}else e===`disconnected`&&HF.classList.contains(`active`)?UF.textContent=`Waiting for server...`:(dI(),WF||lI())}});function pI(){eM(),Nk(),aE()}function mI(){OC(),pI()}js(()=>OC());var hI=null;function gI(e){let t=ON(hI,e);hI=t.knownBuild,t.reload&&location.reload()}function _I(e){_T(new Map(e.filter(e=>!e.ephemeral).map(e=>[e.id,e.name]))),wN(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){uc(t.id,t.coherenceHooks),t.ephemeral||wl(t.path),ij(t.id,t.linkedPrs);let e=yx(t.id);e&&nS(t.id,t.state,t.stateSince),e&&Gn(t.id,!!t.saneYolo),e&&Lx(t.id,t.isGuarded,t.isGuardrailsReleased),e||wx(t.id,t.name,t.state,kM(t)),Zx(t.id,t.failureReason),vx(t.id,t.taskTitle,t.taskTitleIsCustom),Fx(t.id,t.agent),Gx(t.id,t.mergeStatus,t.mergeReason),Px(t.id,t.effectiveBase),zx(t.id,t.activeAgents,t.awaitingBackgroundTasks),Vx(t.id,t.pendingPromptKind),Hx(t.id,t.unseenOutcome),dx(t.id,t),Ox(t.id,t.hasPlan),CI(t.id)}Cx(),Vc(j),OC(),qC(),pI(),vI(),XI(location.hash),PL(),KF=!0,JF()}function vI(){tb([...j].map(([e,t])=>({id:e,name:ft(t)||e})))}function yI(e,t){Ox(e,t?.hasPlan===!0),Hx(e,t?.unseenOutcome),CI(e)}function bI(e){if(!yx(e.id))wx(e.id,e.session,e.to,kM({skipPerms:e.skipPerms,saneYolo:e.saneYolo,stateSince:e.timestamp})),Vc(j),eM();else if(e.to===b.DORMANT&&e.from!==b.DORMANT){let t=j.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;Jx(e.id),wx(e.id,e.session,b.DORMANT,kM({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})),Fx(e.id,t?.agent),yI(e.id,t),mI(),tv(e.id),Vc(j)}else nS(e.id,e.to,e.timestamp,e.event),Zx(e.id,e.failureReason),e.saneYolo!==void 0&&Gn(e.id,e.saneYolo),Vc(j),tv(e.id),mI(),ar(e.id),e.to===b.INITIALIZING&&(e.from===b.DONE||e.from===b.FAILED)&&nh(e.id)}var xI=new Map;function SI(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};xI.set(n.id,e),Bx(n.id,e)}for(let e of[...xI.keys()])t.has(e)||(xI.delete(e),Bx(e,null))}function CI(e){let t=xI.get(e);t&&Bx(e,t)}cF(D),LT(D),Qy(D),$j(D),Sj(D),fr(nj),nl(mc),nl(ej),Yn({isReadable:hc,open:_c}),Un(DM);function wI(e){wF(Q,{isPhoneShellActive:eE(),activeView:ht(),phoneScreen:M.snapshot().phoneScreen},e,MF)}Xo(()=>wI(`settings-updated`));var TI={snapshot:e=>{gI(e.serverBuild),_I(e.sessions)},"hooks-report":e=>zT(e),"save-hook-result":()=>BT(),"delete-hook-result":()=>BT(),"state-change":e=>bI(e),"session-added":e=>{e.ephemeral||wl(e.path),ij(e.id,e.linkedPrs),yx(e.id)||(wx(e.id,e.session,e.state,kM(e)),Fx(e.id,e.agent),CI(e.id)),Vc(j),mI(),vI()},"session-close-confirm":e=>{Pi(e.id)},"session-removed":e=>{Dn(e.id),Jx(e.id),dc(e.id),rv(e.id),aj(e.id),Vc(j),mI(),vI()},"session-title":e=>{vx(e.id,e.taskTitle,e.isCustom),mI()},"session-prs":e=>ij(e.id,e.linkedPrs),"session-renamed":e=>{qx(e.id,e.newName),mI(),vI()},"session-modified":e=>{e.ephemeral||wl(e.path);let t=j.get(String(e.id)),n=F()===String(e.id);uc(e.id,null),Jx(e.id),rv(e.id),ij(e.id,e.linkedPrs),wx(e.id,e.session,e.state,kM(e)),n&&ui(String(e.id)),Fx(e.id,e.agent),yI(e.id,t),Vc(j),mI(),vI()},"session-git":e=>Ix(e.id,!!e.worktree),"session-agents":e=>{zx(e.id,e.activeAgents,e.awaitingBackgroundTasks),mI(),ar(e.id)},"session-unseen":e=>{Hx(e.id,e.unseenOutcome),Cx(),Vc(j),mI()},"session-prompt":e=>{Vx(e.id,e.pendingPromptKind),pI()},"session-merge-status":e=>{Wx(e.id,e.mergeStatus,e.reason),BC(e.id,e.mergeStatus),pI()},"session-worktree-blocked":e=>{N({source:rI,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=>{N({source:iI,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=>{En(rI,e.id),Px(e.id,e.base)},"session-diff":e=>{Kx(e.id,e)},"session-diff-error":e=>{X_(e.id,e.message)},"change-map":e=>Z_(e.id,e.map),"branch-sync-status":e=>Q_(e.id,e),"session-changed":e=>ev(e.id),"debug-state-response":e=>Zn(e),"session-trace-response":e=>{fx(e)||nb(e)},"session-trace-changed":e=>{mx(e.id),rb(e)},"session-conversation":e=>{dx(e.id,e),pI()},"session-plan-changed":e=>{kx(e),pI()},"session-plan-draft":e=>{Ax(e)},"session-plan-response":e=>{jx(e)},"session-docs-changed":e=>bs(e),"session-docs-snapshot":e=>xs(e),"session-shown":e=>qs(e),"session-shown-snapshot":e=>Js(e),"session-coherence-hooks":e=>{uc(e.id,e.coherenceHooks),mI()},"session-coherence":e=>{fc(e),mI()},"session-coherence-snapshot":e=>{pc(e),mI()},"session-coherence-journal-response":e=>vc(e),"session-setup-response":e=>OM(e),notify:e=>{pa(e),ar(e.session)},"update-status":e=>{MI(e),TN(e)},"update-progress":e=>EN(e.journal),"post-turn-leftovers":e=>PI(e),error:e=>{let t=DN(e),n=ib(e);px(e);let r=Mx(e);t||n||r||(e.id?Xx(e.id,e.message):N({source:nI,message:e.message}))},"session-error":e=>{q_(e.id),!Mx(e)&&Xx(e.id,e.message)},"settings-updated":e=>{e.settings&&fL(e.settings),io()},"agent-logins":e=>Qr(e.logins),"health-snapshot":e=>{e.stats&&ag(e.stats)},"radar-status":e=>xM(e),"radar-investigation-activity":e=>SM(e),"radar-investigation-finished":e=>CM(e),"team-review-status":e=>$E(e),"github-prs":e=>Cr(e),"my-prs-status":Pk,"benchmark-status":e=>Tj(e),"benchmark-action-result":e=>Ej(e),"my-pr-merge-result":e=>Fk(e),"team-review-action-result":e=>eD(e),"open-team-review-session-result":e=>tD(e),"issues-status":e=>nM(e),"issue-detail-result":e=>rM(e),"open-issue-session-result":e=>iM(e),"usage-sessions":e=>{SI(e.sessions),fF(e)},"usage-report":e=>{mF(e),CN()},"plan-limits":e=>pF(e),"usage-budget-alert":e=>pa({session:`budget-${e.scope}-${e.periodKey}`,category:`threshold-${e.threshold}`,message:e.text,ignoreFocus:!0}),"visions-findings":e=>xT(e),"visions-comments":e=>ST(e),"visions-hand":e=>CT(e),"visions-intent":e=>wT(e),"visions-fix":e=>bT(e),"visions-snapshot":e=>DT(e),"ingest-activity":e=>TT(e),"ingest-snapshot":e=>ET(e),"client-trust":e=>DL(e.trust),"shutting-down":()=>XF(`Shutting down...`,`Shutting down sessions...`),restarting:()=>XF(`Restarting...`,`Restarting server...`)};function EI(e){let t=TI[e.type];t&&t(e)}Ye(e=>{EI(e),wI(e.type)});var DI,OI=null;function kI(e,t,n){e.onclick=()=>{let e=Le(n);e?e.then(()=>{t.textContent=`Copied`}).catch(()=>{t.textContent=`Copy failed`}):t.textContent=`Copy failed`}}var AI=PN(v,h,`Update`).href;function jI(e){let{latestSha:t,latest:n}=e;return typeof n==`string`&&n?n:typeof t==`string`&&t?t:null}function MI(e){let t=w(document,`#update-banner`,`div`),{mode:n,tone:r,text:i}=Se(e),a=r===`security`;if(!e.updateAvailable&&!a){t.hidden=!0;return}let o=jI(e),s=o&&n===`restart`?`${o}:ready`:o;if(a&&i===OI||!a&&DI!==void 0&&s===DI||!a&&s&&Qt()===s)return;t.classList.toggle(`update-banner-security`,a);let c=String(e.command??``);w(document,`#update-banner-text`,`span`).textContent=i,w(document,`#update-banner-cmd`,`code`).textContent=c;let l=w(document,`#update-banner-update`,`a`);l.href=AI,l.hidden=n!==`link`;let u=w(document,`#update-banner-restart`,`button`);u.hidden=n!==`restart`,u.onclick=EL;let d=w(document,`#update-banner-cmd`,`code`);d.hidden=n!==`command`;let f=w(document,`#update-banner-copy`,`button`);f.hidden=n!==`command`;let p=w(document,`#update-banner-copy-status`,`span`);p.hidden=n!==`command`,p.textContent=``;let m=w(document,`#update-banner-link`,`a`);m.hidden=!e.releaseUrl,m.href=typeof e.releaseUrl==`string`?e.releaseUrl:``,t.hidden=!1,kI(f,p,c),w(document,`#update-banner-dismiss`,`button`).onclick=()=>{t.hidden=!0,a?OI=i:(DI=s,Yt(s))}}var NI=!1;function PI({repositories:e,command:t}){let n=w(document,`#post-turn-leftovers-banner`,`div`);if(e.length===0){n.hidden=!0;return}if(NI)return;let r=w(document,`#post-turn-leftovers-copy-status`,`span`);w(document,`#post-turn-leftovers-text`,`span`).textContent=jr(e.length),w(document,`#post-turn-leftovers-cmd`,`code`).textContent=t,r.textContent=``,n.hidden=!1,kI(w(document,`#post-turn-leftovers-copy`,`button`),r,t),w(document,`#post-turn-leftovers-dismiss`,`button`).onclick=()=>{NI=!0,n.hidden=!0}}var FI=w(document,`#telemetry-banner`,`div`);function II(){Vt(!0),FI.hidden=!0}function LI(e){FI.hidden=!NP(e,yt())}var RI=w(document,`#telemetry-banner-settings`,`a`);RI.href=PN(`privacy`,`telemetry-enabled`,`What's collected`).href,RI.addEventListener(`click`,II),w(document,`#telemetry-banner-dismiss`,`button`).addEventListener(`click`,II),w(document,`#btn-add-session-header`,`button`).addEventListener(`click`,Ei);var zI=w(document,`#btn-mute`,`button`);dj(zI);var BI=w(document,`#btn-streamer`,`button`);ts(BI),AP();var VI=w(document,`#power-menu`,`div`),HI=w(document,`#btn-power`,`button`),UI=w(document,`#power-menu-dropdown`,`div`);function WI(e){VI.classList.toggle(`open`,e),HI.setAttribute(`aria-expanded`,String(e))}HI.addEventListener(`click`,e=>{e.stopPropagation(),WI(!VI.classList.contains(`open`))}),ur({trigger:HI,menu:UI,menuItems:()=>[...UI.querySelectorAll(`[role="menuitem"]`)].filter(e=>!e.hidden),isOpen:()=>VI.classList.contains(`open`),open:()=>WI(!0),close:()=>WI(!1)}),document.addEventListener(`click`,e=>{e.target instanceof Node&&(VI.contains(e.target)||WI(!1))}),ye(document.querySelector(`.header`));function GI(e){e&&hN(e),!uE(`settings`)&&$(`settings`,{section:e})}function KI(){jN(location.hash)&&history.replaceState(history.state,``,`${location.pathname}${location.search}`)}function qI(e){return jN(e)?(hN(null,null,e),uE(`settings`)||$(`settings`,{persist:!1}),!0):!1}var JI=`No plan is stored for this session yet. It appears here once the agent writes one.`,YI=`Plan`;function XI(e){let t=Xi(e);return t?!yx(t)||(history.replaceState(history.state,``,`${location.pathname}${location.search}`),eE()?(cE(t)||N({source:YI,sessionId:t,message:JI}),!0):($(`focus`,{persist:!1}),HC(t)||N({source:YI,sessionId:t,message:JI}),!0)):!1}function ZI(e){return XI(e)?!0:qI(e)}function QI(e){e.newURL===location.href&&ZI(location.hash)}document.addEventListener(`click`,e=>{if(!eE()||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href^="#"]`):null;t instanceof HTMLAnchorElement&&ZI(t.hash)&&e.preventDefault()}),_k(w(document,`#celebration-tray`,`div`),w(document,`#btn-celebrations`,`button`),w(document,`#celebration-tray-count`,`span`)),w(document,`#btn-help`,`button`).addEventListener(`click`,()=>{GI(`browser-shortcuts`)});var Q=IF({onRestart:EL,openTerminal:e=>{lE(e)||($(`focus`),VC(e))},openPlan:e=>{$(`focus`),HC(e)},openReviews:()=>nL(`prs`)?(uE(`prs`)||$(`prs`),!0):!1,setPhoneAttention:iE});function $I(){return Q.map(e=>e.view)}var eL=$I();pN(Q),H_({panel:document.getElementById(`review-sidebar`)}),NF(Q);function tL(e){return Q.find(t=>t.view===e)}function nL(e){return Q.some(t=>t.view===e&&!t.tab.hidden)}var rL=!0,iL=null;function aL(e){tL(e)?.attention?.acknowledge()}var oL=null;function sL(e){oL=D({type:`dashboard-telemetry`,event:`view_shown`,properties:{view:e}})?null:e}function cL(e){let t=tL(e);t&&(jF(t,e=>CF(t,e,`shown`)),sL(e))}function $(e,{section:t,setting:n,persist:r=!0}={}){let i=tL(e);if(!i||!nL(e))return;let a=ht();M.dispatch(`setActiveView`,e),rL=r,r&&(iL=null),document.body.dataset.activeView=e,document.body.dataset.reviewSidebarHidden=String(i.hasReviewSidebar!==!0),r&&St(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&&MF(a)?.deactivate?.(),jF(i,r=>{ht()===e&&(r.activate?.(),CF(i,r,`shown`),e===`settings`&&t&&hN(t,n??null))}),sL(e),a===`settings`&&e!==`settings`&&KI(),aL(e)}function lL(e,t){let{view:n}=e;e.tab.hidden=!t,rE(n,t),e.onAvailabilityChange?.(t),!eE()&&(!t&&ht()===n&&$(`focus`),t&&iL===n&&$(n))}function uL(e){for(let{view:t,isAvailable:n}of yF(Q,e))lL(t,n)}function dL(e){let t=bF(eL,e);Q.every((e,n)=>e.view===t[n])||(Q.sort((e,n)=>t.indexOf(e.view)-t.indexOf(n.view)),w(document,`#header-tabs`,`div`).append(...Q.map(e=>e.tab)),nE(t))}function fL(e){Ed(e.isExperimentalBuild===!0&&mn()),xx(e),SN(e),vT(e),uL(e),LI(e),dL(e.viewTabOrder),Yo(e.streamerMode===!0),lx(e.conversationView===!0)}for(let e of Q)e.gate&&(lL(e,!1),`subscribe`in e.gate&&e.gate.subscribe(t=>lL(e,t)));$y(()=>{nL(`trace`)&&(uE(`trace`)||$(`trace`))});function pL(){return Q.filter(e=>!e.tab.hidden)}function mL(e,t){let n=e[t];return $(n.view),n.tab}function hL(e,t){let n=pL(),r=n.findIndex(t=>t.view===e);return mL(n,mr(r,t,n.length))}function gL(e){Q.some(e=>e.tab===document.activeElement)&&e.focus()}var _L=null;function vL(e){let t=$I();dL(e),O(`update-settings`,{settings:{viewTabOrder:e}}).then(e=>{e.type===`settings-error`&&dL(t)}).catch(()=>dL(t))}function yL(e){let t=_L;if(_L=null,!t||t===e)return;let n=$I();vL(xF(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=>{_L=t,e.dataTransfer?.setData(`text/plain`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),n.addEventListener(`dragover`,e=>{_L&&_L!==t&&(e.preventDefault(),n.dataset.dropTarget=`true`)}),n.addEventListener(`dragleave`,()=>delete n.dataset.dropTarget),n.addEventListener(`drop`,e=>{e.preventDefault(),delete n.dataset.dropTarget,yL(t)}),n.addEventListener(`dragend`,()=>{_L=null}),n.addEventListener(`keydown`,e=>{if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;let t=pL(),n=t.findIndex(e=>e.view===ht()),r=hr(e.key,n,t.length,`horizontal`);r!==null&&(e.preventDefault(),mL(t,r).focus())})}var bL=sn(),xL=jN(location.hash),SL=Xi(location.hash);if(xL&&(hN(null,null,location.hash),$(`settings`,{persist:!1})),SL&&$(`focus`,{persist:!1}),!xL&&!SL){let e=nL(bL);e||(iL=bL),$(e?bL:`focus`,{persist:e})}ZT({panels:VT(Q),onScreenShown:e=>{cL(e),e!==`settings`&&KI(),e===`settings`&&!jN(location.hash)&&hN(),aL(e)},canGoBack:e=>e===`settings`&&bN()||e===`prs`&&WA(),onBack:e=>{e===`settings`&&xN(),e===`prs`&&GA()},headerControls:[w(document,`.header-title`,`h1`),w(document,`#status-indicator`,`div`),w(document,`#celebration-tray`,`div`),w(document,`#btn-add-session-header`,`button`),w(document,`#btn-help`,`button`),zI,BI,VI]}),yN(oE),UA(oE);function CL(e){if(e===`phone`){let e=gC();for(let e of Q)MF(e.view)?.deactivate?.();let t=jN(location.hash);QT({sessionId:e??void 0,linkedScreenId:t?`settings`:void 0}).then(e=>{e&&t&&hN(null,null,location.hash),!e&&L()&&!eE()&&wL()});return}let t=tE();$T(),wL(),t&&VC(t)}function wL(){let e=ht();$(nL(e)?e:`focus`,{persist:rL})}L()&&CL(`phone`),Ui(CL),window.addEventListener(`hashchange`,QI);function TL({type:e,title:t,confirmLabel:n,danger:r,idleMessage:i,actionAfterKillingSessions:a}){WI(!1);let o=bx(),s=o>0?`Kill ${o} session${o>1?`s`:``} and ${a}?`:i;gr({title:t,message:s,confirmLabel:n,danger:r||o>0,onConfirm:()=>D({type:e})})}function EL(){TL({type:`restart-server`,title:`Restart Server`,confirmLabel:`Restart`,danger:!1,idleMessage:`Restart the server?`,actionAfterKillingSessions:`restart the server`})}w(document,`#btn-restart`,`button`).addEventListener(`click`,EL);function DL(e){let t=Dr(`shutdown`,e);w(document,`#btn-shutdown`,`button`).hidden=!t,w(document,`#menu-divider-shutdown`,`div`).hidden=!t}w(document,`#btn-shutdown`,`button`).addEventListener(`click`,()=>{TL({type:`shutdown`,title:`Shut Down Server`,confirmLabel:`Shut Down`,danger:!0,idleMessage:`Shut down the server?`,actionAfterKillingSessions:`shut down the server`})});function OL(){return(document.activeElement?.closest(`.session-card`))?.dataset.id??null}function kL(e){VC(e),vi(e),requestAnimationFrame(()=>requestAnimationFrame(()=>j.get(e)?.term?.focus()))}function AL(){let e=OL()??F();e?Ai(e,kL):document.getElementById(`btn-add-session-header`)?.click()}function jL({action:e,step:t}){switch(e){case`merge`:return iv(),!0;case`close-session`:{let e=F();return e?(Pi(e),!0):!1}case`resolve-or-resync`:return ov()||lv(),!0;case`new-session`:return document.getElementById(`btn-add-session-header`)?.click(),!0;case`quick-session`:return AL(),!0;case`next-attention`:return L()?!1:hC()?(MC(),!0):(ht()===`prs`&&KA()||KC(()=>$(`focus`)),!0);case`rail-step`:return hC()?(WC(t),!0):!1;case`view-step`:return!L()&&(gL(hL(ht(),t)),!0);case`session-nth`:return hC()?(UC(t),!0):!1;case`streamer-mode`:return es(),!0}}document.addEventListener(`keydown`,e=>{if(e.repeat||_e(e))return;let t=document.activeElement?.classList.contains(`xterm-helper-textarea`)??!1,n=zt(e,Tu,{isTerminalFocused:t},Ou());n&&(_r()||jL(n)&&e.preventDefault())});var ML=Ar({mode:`trailing`,delayMs:150,run:()=>{D({type:`focus-change`,focused:document.hasFocus()})}});function NL(){ML.schedule()}function PL(){let e=tE();e&&k(e)?._isActiveViewer?.()===!0&&$x(e)}function FL(){NL(),hh(k(Mr())),PL()}window.addEventListener(`focus`,FL),window.addEventListener(`blur`,FL),document.addEventListener(`visibilitychange`,FL),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&Bp()});var IL=Ue(D);window.addEventListener(`error`,e=>{IL(e.error),We(`uncaught`,it(e.error??e.message))}),window.addEventListener(`unhandledrejection`,e=>{IL(e.reason),We(`unhandled-rejection`,it(e.reason))}),FF(()=>window.sessionStorage),window.addEventListener(`pageshow`,e=>{e.persisted&&Bp()}),ig(w(document,`#health-footer-mount`,`div`)),wu(Sx),dI(),UM(),Ze();var LL=$t();LL&&$e().then(()=>Jm(LL));export{KA as $,Mu as $n,jS as $t,sN as A,by as An,Ui as Ar,FE as At,Zj as B,sh as Bn,$r as Br,pE as Bt,lN as C,Zy as Cn,ma as Cr,iA as Ct,_N as D,qy as Dn,ea as Dr,XE as Dt,xN as E,Jy as En,ra as Er,kk as Et,gM as F,lg as Fn,_i as Fr,LE as Ft,Gj as G,wd as Gn,Mr as Gr,mT as Gt,Qj as H,ap as Hn,ei as Hr,FT as Ht,hM as I,sg as In,Pi as Ir,WE as It,bj as J,vd as Jn,Tr as Jr,Ew as Jt,xj as K,Od as Kn,Pr as Kr,pT as Kt,qj as L,fg as Ln,vi as Lr,OE as Lt,gN as M,wg as Mn,yi as Mr,zE as Mt,_M as N,Eg as Nn,Oi as Nr,IE as Nt,mN as O,Gy as On,Qi as Or,ZE as Ot,mM as P,mg as Pn,bi as Pr,RE as Pt,LA as Q,ku as Qn,sw as Qt,Yj as R,bg as Rn,ci as Rr,EE as Rt,vN as S,kb as Sn,Ma as Sr,Yk as St,fN as T,Xy as Tn,ha as Tr,Ak as Tt,Xj as U,Ed as Un,Jr as Ur,RT as Ut,Jj as V,_h as Vn,Qr as Vr,mE as Vt,Kj as W,Td as Wn,Nr as Wr,IT as Wt,uj as X,od as Xn,Pw as Xt,lj as Y,sd as Yn,dw as Yt,MA as Z,Tu as Zn,Fw as Zt,NN as _,hb as _n,Ho as _r,aA as _t,sF as a,aS as an,xl as ar,HA as at,SN as b,pb as bn,Fo as br,lA as bt,lF as c,Dx as cn,ml as cr,Lk as ct,tF as d,Cb as dn,Kc as dr,nA as dt,MS as en,ju as er,RA as et,hF as f,yb as fn,Wc as fr,cA as ft,PN as g,db as gn,zo as gr,rA as gt,$N as h,fb as hn,Zo as hr,Jk as ht,_F as i,cS as in,El as ir,IA as it,iN as j,G_ as jn,Ci as jr,VE as jt,aN as k,Ky as kn,L as kr,HE as kt,rF as l,Jb as ln,cl as lr,tA as lt,qN as m,ub as mn,Xo as mr,uA as mt,bF as n,US as nn,Ou as nr,GA as nt,uF as o,oS as on,bl as or,jA as ot,nP as p,vb as pn,Jo as pr,Zk as pt,Cj as q,cd as qn,wr as qr,fT as qt,gF as r,sS as rn,Tl as rr,BA as rt,iF as s,$x as sn,ol as sr,VA as st,xF as t,KS as tn,Au as tr,NA as tt,nF as u,sb as un,sl as ur,eA as ut,AN as v,bb as vn,Bo as vr,Xk as vt,uN as w,Yy as wn,_a as wr,jk as wt,oN as x,lb as xn,ro as xr,pA as xt,MN as y,gb as yn,Po as yr,fA as yt,Wj as z,pg as zn,li as zr,DE as zt};
|