glimmervoid 0.46.2-next.128 → 0.46.2-next.129
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{alert-sound-DtBAKaBq.js → alert-sound-Deu-O2kQ.js} +1 -1
- package/dist/client/assets/alert-sound-Deu-O2kQ.js.br +0 -0
- package/dist/client/assets/{benchmark-panel-UXPwWXlC.js → benchmark-panel-B6pAjrlO.js} +1 -1
- package/dist/client/assets/benchmark-panel-B6pAjrlO.js.br +0 -0
- package/dist/client/assets/{celebration-player-7pNCNJMm.js → celebration-player-Cf5DwFjN.js} +1 -1
- package/dist/client/assets/celebration-player-Cf5DwFjN.js.br +0 -0
- package/dist/client/assets/{dialogs-AT7hx_Yt.js → dialogs-ThZLhht_.js} +1 -1
- package/dist/client/assets/dialogs-ThZLhht_.js.br +0 -0
- package/dist/client/assets/{doc-editor-ui-CzwAWNnH.js → doc-editor-ui-2H4K5ZBp.js} +1 -1
- package/dist/client/assets/doc-editor-ui-2H4K5ZBp.js.br +0 -0
- package/dist/client/assets/{first-run-checklist-DLiTQWjW.js → first-run-checklist-DQ69ORji.js} +1 -1
- package/dist/client/assets/first-run-checklist-DQ69ORji.js.br +0 -0
- package/dist/client/assets/{hooks-panel-Cahf_xlg.js → hooks-panel-tXOqrUHw.js} +1 -1
- package/dist/client/assets/hooks-panel-tXOqrUHw.js.br +0 -0
- package/dist/client/assets/{index-BBlFnRrx.js → index-nxt6LMXr.js} +5 -5
- package/dist/client/assets/index-nxt6LMXr.js.br +0 -0
- package/dist/client/assets/{issues-panel-weIVXxlJ.js → issues-panel-DzX5iyjG.js} +1 -1
- package/dist/client/assets/issues-panel-DzX5iyjG.js.br +0 -0
- package/dist/client/assets/{nyan-cat-Cp3CN-62.js → nyan-cat-D8iLr_Fu.js} +1 -1
- package/dist/client/assets/nyan-cat-D8iLr_Fu.js.br +0 -0
- package/dist/client/assets/{phone-shell-o9v0BG-8.js → phone-shell-BDURyW87.js} +1 -1
- package/dist/client/assets/phone-shell-BDURyW87.js.br +0 -0
- package/dist/client/assets/{plan-face-DQ3x4uBa.js → plan-face-CFPT9PGb.js} +1 -1
- package/dist/client/assets/plan-face-CFPT9PGb.js.br +0 -0
- package/dist/client/assets/{pr-scope-tabs-BjfSLH0T.js → pr-scope-tabs-CfkDxERy.js} +1 -1
- package/dist/client/assets/pr-scope-tabs-CfkDxERy.js.br +0 -0
- package/dist/client/assets/{radar-panel-0Ww_eesW.js → radar-panel-BgGOypoL.js} +1 -1
- package/dist/client/assets/radar-panel-BgGOypoL.js.br +0 -0
- package/dist/client/assets/{resume-dialog-BwQDDfuH.js → resume-dialog-jWY_EzSD.js} +1 -1
- package/dist/client/assets/resume-dialog-jWY_EzSD.js.br +0 -0
- package/dist/client/assets/{review-queue-panel-MOcc95uF.js → review-queue-panel-ubZpHxn9.js} +1 -1
- package/dist/client/assets/review-queue-panel-ubZpHxn9.js.br +0 -0
- package/dist/client/assets/{settings-panel-BLjoJWHa.js → settings-panel-BQ7bYcI0.js} +2 -2
- package/dist/client/assets/settings-panel-BQ7bYcI0.js.br +0 -0
- package/dist/client/assets/{shown-lightbox-CUkV3apl.js → shown-lightbox-YlHonAJa.js} +1 -1
- package/dist/client/assets/shown-lightbox-YlHonAJa.js.br +0 -0
- package/dist/client/assets/{trace-panel-Ce7Ke68D.js → trace-panel-G-7MhhOz.js} +1 -1
- package/dist/client/assets/trace-panel-G-7MhhOz.js.br +0 -0
- package/dist/client/assets/{usage-panel-BDJlBhKt.js → usage-panel-21GwQKME.js} +1 -1
- package/dist/client/assets/usage-panel-21GwQKME.js.br +0 -0
- package/dist/client/assets/{visions-panel-Ci_qyGGT.js → visions-panel-SBNiN9Os.js} +1 -1
- package/dist/client/assets/visions-panel-SBNiN9Os.js.br +0 -0
- package/dist/client/index.html +1 -1
- package/dist/client/index.html.br +0 -0
- package/package.json +1 -1
- package/dist/client/assets/alert-sound-DtBAKaBq.js.br +0 -0
- package/dist/client/assets/benchmark-panel-UXPwWXlC.js.br +0 -0
- package/dist/client/assets/celebration-player-7pNCNJMm.js.br +0 -0
- package/dist/client/assets/dialogs-AT7hx_Yt.js.br +0 -0
- package/dist/client/assets/doc-editor-ui-CzwAWNnH.js.br +0 -0
- package/dist/client/assets/first-run-checklist-DLiTQWjW.js.br +0 -0
- package/dist/client/assets/hooks-panel-Cahf_xlg.js.br +0 -0
- package/dist/client/assets/index-BBlFnRrx.js.br +0 -0
- package/dist/client/assets/issues-panel-weIVXxlJ.js.br +0 -0
- package/dist/client/assets/nyan-cat-Cp3CN-62.js.br +0 -0
- package/dist/client/assets/phone-shell-o9v0BG-8.js.br +0 -0
- package/dist/client/assets/plan-face-DQ3x4uBa.js.br +0 -0
- package/dist/client/assets/pr-scope-tabs-BjfSLH0T.js.br +0 -0
- package/dist/client/assets/radar-panel-0Ww_eesW.js.br +0 -0
- package/dist/client/assets/resume-dialog-BwQDDfuH.js.br +0 -0
- package/dist/client/assets/review-queue-panel-MOcc95uF.js.br +0 -0
- package/dist/client/assets/settings-panel-BLjoJWHa.js.br +0 -0
- package/dist/client/assets/shown-lightbox-CUkV3apl.js.br +0 -0
- package/dist/client/assets/trace-panel-Ce7Ke68D.js.br +0 -0
- package/dist/client/assets/usage-panel-BDJlBhKt.js.br +0 -0
- package/dist/client/assets/visions-panel-Ci_qyGGT.js.br +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/first-run-checklist-
|
|
2
|
-
import{l as e,m as t,n,o as r,s as i,u as a}from"./zod-BRLv4KqJ.js";import{$ as o,Bt as s,Et as c,Ft as l,I as u,J as d,Lt as f,M as p,Nt as m,Ot as h,Pt as ee,Q as g,St as _,Tt as v,Vt as y,X as b,Y as te,_ as x,_t as S,at as C,ct as ne,f as w,g as re,h as T,ht as ie,it as ae,jt as oe,kt as se,lt as ce,m as le,n as E,nt as ue,ot as de,q as fe,rt as pe,s as me,t as he,u as ge,ut as _e,v as ve,vt as ye,wt as be,xt as xe,yt as Se,zt as Ce}from"./updates-view-core-D49Cb8qb.js";import{A as we,C as Te,D,E as O,O as Ee,S as De,T as Oe,b as ke,c as Ae,d as je,f as Me,g as Ne,h as k,k as Pe,l as Fe,m as A,n as Ie,o as j,t as Le,v as Re,w as ze,x as Be,y as Ve}from"./dom-helpers-C7P3_59O.js";import{S as He,_ as Ue,a as We,b as Ge,c as M,d as Ke,f as qe,g as Je,h as Ye,i as Xe,l as N,m as Ze,n as Qe,o as $e,p as et,r as tt,s as nt,t as rt,u as it,v as at,x as ot,y as st}from"./control-ws-BGxkawWT.js";import{S as ct,_ as lt,a as ut,b as dt,c as ft,d as pt,f as mt,g as ht,h as gt,i as P,l as _t,m as vt,n as yt,o as F,r as I,s as bt,t as L,u as xt,x as St,y as Ct}from"./card-registry-DTBOn8Bd.js";import{a as wt,i as Tt,n as Et,r as Dt,t as Ot}from"./modal-Bh-cVr-I.js";import{a as kt,c as At,i as jt,n as Mt,o as Nt,r as Pt,s as Ft,t as It}from"./session-tick-Pvo63zK2.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Lt=new Map,Rt=new Set;function zt(e){let t=h.safeParse(e);if(!t.success)M(`reviews`,`dropped github-prs: ${He(t.error.issues)}`);else{Lt=new Map(Object.entries(t.data.prs));for(let e of Rt)e()}}function Bt(e){return Lt.get(e.toLowerCase())}function Vt(e){Rt.add(e)}function Ht(e){return e===`remote`?`remote`:`local`}function Ut(e,t){return Ht(t)===`local`||e!==`shutdown`}var Wt=Object.freeze({setTimeoutFn:(e,t)=>setTimeout(e,t),clearTimeoutFn:e=>clearTimeout(e),setIntervalFn:(e,t)=>setInterval(e,t),clearIntervalFn:e=>clearInterval(e)});function Gt(e){return typeof e!=`object`||!e||!(`unref`in e)||typeof e.unref!=`function`||e.unref(),e}function Kt({mode:e,delayMs:t,run:n,setTimeoutFn:r=Wt.setTimeoutFn,clearTimeoutFn:i=Wt.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&&Gt(o))}return{schedule:c,cancel:s,get isArmed(){return o!==null}}}function qt(e){return`Git tracks an old Glimmervoid post-turn report in ${e===1?`1 repository`:`${e} repositories`}. Nothing reads it, so run this to stop git tracking it and commit the deletion git then shows. Glimmervoid deletes the file itself on its next start:`}var Jt=Object.freeze({layout:`desktop`,activeView:`focus`,phoneScreen:null,focusedSessionId:null,selectedSessionId:null,borrowedCardId:null}),Yt=e=>e||null,Xt=Object.freeze({setLayout:e=>({layout:e}),setActiveView:e=>({activeView:e}),setPhoneScreen:e=>({phoneScreen:Yt(e)}),focusSession:e=>({focusedSessionId:Yt(e)}),selectSession:e=>({selectedSessionId:Yt(e)}),borrowCard:e=>({borrowedCardId:Yt(e)})});function Zt(e){let t=Object.freeze({...Jt,...e}),n=new Set;function r(){return t}function i(e){return typeof e==`function`?(n.add(e),()=>n.delete(e)):()=>{}}function a(e){let n=[];for(let r of Object.keys(e)){if(!(r in Jt))throw Error(`ui-state: unknown key "${r}"`);Object.is(t[r],e[r])||n.push(r)}return n}function o(e,r){let i=Xt[e];if(!i)throw Error(`ui-state: unknown action "${e}"`);let o=i(r),s=a(o);if(s.length===0)return t;let c=t;t=Object.freeze({...t,...o});for(let e of n)try{e(t,s,c)}catch{}return t}return{snapshot:r,subscribe:i,dispatch:o}}var R=Zt(),Qt=()=>R.snapshot().activeView;function $t(){return R.snapshot().borrowedCardId}function en(e,t,n,{className:r}={}){if(!e?.card||!n)return;let i=$t();i&&i!==t&&tn();let a=e.card;a._cardHostClass&&a._cardHostClass!==r&&a.classList.remove(a._cardHostClass),a._cardHostClass=r||``,r&&a.classList.add(r),Le(a,n),R.dispatch(`borrowCard`,t),e._ensureTerminalReady?.(),e._setBorrowed?.(!0),e._showPreferredFace?.()}function tn(){let e=$t();if(R.dispatch(`borrowCard`,null),!e)return null;let t=F.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,Ne(n,yt)),e}var nn=[{name:`Nyan cat`,sprite:`is-cat`,trail:`is-rainbow`},{name:`Unicorn`,sprite:`is-unicorn`,trail:`is-sparkles`},{name:`Dragon`,sprite:`is-dragon`,trail:`is-embers`},{name:`Pig`,sprite:`is-pig`,trail:`is-hearts`},{name:`Whale`,sprite:`is-whale`,trail:`is-bubbles`},{name:`Fox`,sprite:`is-fox`,trail:`is-paws`},{name:`Frog`,sprite:`is-frog`,trail:`is-dust`},{name:`Penguin`,sprite:`is-penguin`,trail:`is-snow`},{name:`Bee`,sprite:`is-bee`,trail:`is-honey`},{name:`Owl`,sprite:`is-owl`,trail:`is-stars`},{name:`Cow`,sprite:`is-cow`,trail:`is-daisies`},{name:`Panda`,sprite:`is-panda`,trail:`is-bamboo`},{name:`Red panda`,sprite:`is-red-panda`,trail:`is-leaves`},{name:`Deer`,sprite:`is-deer`,trail:`is-acorns`},{name:`Horse`,sprite:`is-horse`,trail:`is-clover`},{name:`Sheep`,sprite:`is-sheep`,trail:`is-clouds`},{name:`Hamster`,sprite:`is-hamster`,trail:`is-seeds`},{name:`Giraffe`,sprite:`is-giraffe`,trail:`is-acacia`},{name:`Hedgehog`,sprite:`is-hedgehog`,trail:`is-logomarks`}],rn=1/25,an=3;function on(e,t,n){return typeof e!=`number`||!Number.isFinite(e)?t:Math.min(n.max,Math.max(n.min,e))}function sn(e){if(!Array.isArray(e))return[];let t=new Set(nn.map(e=>e.sprite));return[...new Set(e.filter(e=>typeof e==`string`&&t.has(e)))]}function cn(e={}){let t=D,n=Pe,r=Ee,i=on(e.flyingAnimalsMinGapSeconds,t.flyingAnimalsMinGapSeconds,n),a=on(e.flyingAnimalsMaxGapSeconds,t.flyingAnimalsMaxGapSeconds,n),o=on(e.flyingAnimalsMinDurationSeconds,t.flyingAnimalsMinDurationSeconds,r),s=on(e.flyingAnimalsMaxDurationSeconds,t.flyingAnimalsMaxDurationSeconds,r);return{flyingAnimalsMinGapSeconds:Math.min(i,a),flyingAnimalsMaxGapSeconds:Math.max(i,a),flyingAnimalsMinDurationSeconds:Math.min(o,s),flyingAnimalsMaxDurationSeconds:Math.max(o,s),flyingAnimalsScale:on(e.flyingAnimalsScale,t.flyingAnimalsScale,we),flyingAnimalsOnPhone:typeof e.flyingAnimalsOnPhone==`boolean`?e.flyingAnimalsOnPhone:t.flyingAnimalsOnPhone,flyingAnimalsExcludedSprites:sn(e.flyingAnimalsExcludedSprites)}}function ln(e){return nn.some(t=>!e.includes(t.sprite))}function un(e,t=-1,n=Math.random){let r=nn.flatMap((t,n)=>e.includes(t.sprite)?[]:[n]);if(r.length===0)return null;let i=r.length>1?r.filter(e=>e!==t):r,a=Math.min(1,Math.max(0,n()));return i[Math.min(i.length-1,Math.floor(a*i.length))]}function dn(e,t,n=Math.random,r){let i=r===void 0?un(e.flyingAnimalsExcludedSprites,t,n):nn.findIndex(e=>e.sprite===r);if(i===null||i<0)return null;let a=e.flyingAnimalsMinDurationSeconds+n()*(e.flyingAnimalsMaxDurationSeconds-e.flyingAnimalsMinDurationSeconds),o=1e3*(e.flyingAnimalsMinGapSeconds+n()*(e.flyingAnimalsMaxGapSeconds-e.flyingAnimalsMinGapSeconds)),s=n()*a,c=n(),l=n()<.5,u=n()<rn?an:1;return{animalIndex:i,durationSeconds:a,gapMs:o,firstDelaySeconds:s,verticalProgress:c,isRightToLeft:l,arcProgress:(n()*2-1)*u}}function fn({isEnabled:e,hasReducedMotion:t,isPhone:n,options:r}){return t?`Flights are disabled because reduced motion is enabled.`:e?n&&!r.flyingAnimalsOnPhone?`Turn on Show on phone layout to use Fly now here.`:null:`Turn on flying animals to use Fly now.`}var pn=68,mn=42,hn=768,gn=.68,_n=64,vn=5,yn=8,bn=85;function xn(e,t,n){return Math.min(Math.max(e,t),n)}function Sn({viewportWidthPx:e,viewportHeightPx:t,verticalProgress:n,isRightToLeft:r=!1,arcProgress:i=0}){let a=xn(e/hn,gn,1),o=(vn+70*n*n)*t/100,s=Math.max(o,_n),c=bn*t/100,l=xn(i*yn*t/100,_n-s,c-s),u=-.45*e,d=1.45*e;return{scale:a,spriteWidthPx:pn,spriteHeightPx:mn,topPx:s,startXpx:r?d:u,endXpx:r?u:d,facing:r?-1:1,arcPx:l}}function Cn(e,t){let n=Number.isFinite(t)&&t>0?t:1;return Math.max(1,Math.round(e*n))/n}function wn(e,t,n){let r=Cn(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 Tn=`chime`,En=`custom:`,Dn=`/custom-sounds`,On=Object.freeze({chime:{label:`Chime`,peakGain:.12,tones:[{frequency:659.25,startSeconds:0,durationSeconds:.35,waveform:`sine`},{frequency:987.77,startSeconds:.14,durationSeconds:.5,waveform:`sine`}]},ping:{label:`Soft ping`,peakGain:.08,tones:[{frequency:1046.5,startSeconds:0,durationSeconds:.12,waveform:`triangle`},{frequency:1046.5,startSeconds:.13,durationSeconds:.12,waveform:`triangle`},{frequency:1318.51,startSeconds:.26,durationSeconds:.2,waveform:`triangle`}]},beep:{label:`Beep`,peakGain:.15,tones:[{frequency:880,startSeconds:0,durationSeconds:.2,waveform:`sine`}]}}),kn=Object.freeze(Object.entries(On).map(([e,t])=>({id:e,label:t.label})));function An(e){return`${En}${e}`}function jn(e){return`${Dn}/${encodeURIComponent(e)}`}function Mn(e){return e.startsWith(En)&&e.slice(7)||null}function Nn(e){let t=(e??[]).map(e=>({id:An(e),label:e}));return[...kn,...t]}function Pn(e,t){if(typeof e!=`string`)return Tn;if(Object.hasOwn(On,e))return e;let n=Mn(e);return n&&(t===null||t.includes(n))?e:Tn}function Fn(e){return typeof e!=`object`||!e||!(`sounds`in e)||!Array.isArray(e.sounds)?[]:e.sounds.filter(e=>typeof e==`string`&&e!==``)}function In(e,t){try{let n=localStorage.getItem(e);return n===null?t:JSON.parse(n)}catch{return t}}function Ln(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var Rn=`↑`,zn=`↓`,Bn=`←`,Vn=`→`,Hn=`⌘`,Un=`⌥`,Wn=Array.from({length:9},(e,t)=>[`Digit${t+1}`,t+1]),Gn=`KeyJ`,Kn=new Map([[`Minus`,`-`],[`Equal`,`=`],[`BracketLeft`,`[`],[`BracketRight`,`]`],[`Semicolon`,`;`],[`Quote`,`'`],[`Comma`,`,`],[`Period`,`.`],[`Slash`,`/`],[`Backquote`,"`"],[`Backslash`,`\\`]]),qn=new Set([`KeyQ`,`KeyW`,`KeyT`,`KeyN`,`KeyL`,`KeyR`]),Jn=new Set([`KeyC`,`KeyV`,`KeyX`,`KeyA`,`KeyZ`]);function Yn(e){let t=/^(?:Key|Digit)([A-Z0-9])$/.exec(e);return t?t[1]:Kn.get(e)??null}function Xn(e){return{action:`next-attention`,keyCaptions:[Yn(e)??e],label:`Jump to the next session needing you`,stepByCode:new Map([[e,0]])}}var Zn=[{action:`rail-step`,keyCaptions:[Rn,zn],label:`Previous / next session in the rail`,stepByCode:new Map([[`ArrowUp`,-1],[`ArrowDown`,1]])},{action:`view-step`,keyCaptions:[Bn,Vn],label:`Previous / next view tab`,stepByCode:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1]]),unavailablePlatform:`other`},{action:`view-step`,keyCaptions:[`PgUp`,`PgDn`],label:`Previous / next view tab`,stepByCode:new Map([[`PageUp`,-1],[`PageDown`,1]]),unavailablePlatform:`mac`},{action:`session-nth`,keyCaptions:[`1..9`],label:`Jump to session 1 to 9`,stepByCode:new Map(Wn),isShellChord:!0,needsMacOption:!0},{action:`new-session`,keyCaptions:[`0`],label:`Add a session`,stepByCode:new Map([[`Digit0`,0]]),isShellChord:!0},{action:`quick-session`,keyCaptions:[`0`],label:`Add a session like the one you are in`,stepByCode:new Map([[`Digit0`,0]]),needsMacOption:!0,needsShiftOffMac:!0},{action:`merge`,keyCaptions:[`I`],label:`Merge the selected session`,stepByCode:new Map([[`KeyI`,0]])},{action:`close-session`,keyCaptions:[`K`],label:`Close the selected session`,stepByCode:new Map([[`KeyK`,0]])},{action:`resolve-or-resync`,keyCaptions:[`U`],label:`Resolve a parked merge, or resync the base branch`,stepByCode:new Map([[`KeyU`,0]]),isShellChord:!0},{action:`streamer-mode`,keyCaptions:[`\\`],label:`Turn streamer mode on or off`,stepByCode:new Map([[`Backslash`,0]]),isShellChord:!0}];function Qn(e,t){return[Xn(t),...Zn].filter(t=>t.unavailablePlatform!==e)}function $n(e){if(Yn(e)===null)return`Pick a letter, digit or punctuation key.`;if(qn.has(e))return`The browser keeps that shortcut for itself.`;if(Jn.has(e))return`That shortcut stays with copy, cut, paste, select all and undo.`;let t=Zn.find(t=>t.stepByCode.has(e));return t?`That key is already used to ${t.label.charAt(0).toLowerCase()}${t.label.slice(1)}.`:null}function er(e){return typeof e==`string`&&$n(e)===null}var tr=new Set([`Meta`,`Alt`,`Control`,`Shift`,`OS`]);function nr(e,t){if(e.key===`Escape`)return{kind:`cancelled`};if(tr.has(e.key))return{kind:`ignored`};let n=t===`mac`?`Cmd`:`Alt`;if(!ir(e,t,Xn(e.code)))return{kind:`refused`,reason:`Hold ${n} alone while pressing the key.`};let r=$n(e.code);return r?{kind:`refused`,reason:r}:{kind:`recorded`,keyCode:e.code}}function rr(e){return/Mac|iPhone|iPad/.test(e)?`mac`:`other`}function ir(e,t,n){return e.ctrlKey?!1:t===`mac`?!e.shiftKey&&e.metaKey&&e.altKey===!!n.needsMacOption:e.altKey&&!e.metaKey&&e.shiftKey===!!n.needsShiftOffMac}function ar(e,t,n){return n.isTerminalFocused&&t!==`mac`&&!!e.isShellChord}var or=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`]);function sr(e){return or.has(e.key)?e.key:e.code}function cr(e,t,n={isTerminalFocused:!1},r=Gn){let i=sr(e);for(let a of Qn(t,r)){let r=a.stepByCode.get(i);if(r!==void 0&&ir(e,t,a))return ar(a,t,n)?null:{action:a.action,step:r}}return null}function lr(e,t){return t===`focus`||e.action===`quick-session`}function ur(e,t){return e===`mac`?t?.needsMacOption?`${Hn}${Un}`:Hn:t?.needsShiftOffMac?`Alt+Shift`:`Alt`}function dr(e,t,n){let r=Qn(t,n).find(t=>t.action===e);if(!r)throw Error(`Unknown dashboard shortcut: ${e}`);return r}function fr(e,t,n=Gn){let r=dr(e,t,n);return[ur(t,r),r.keyCaptions.join(` `)]}function pr(e,t){let[n,r]=fr(e,t);return t===`mac`?`${n}${r}`:`${n}+${r}`}function mr(e){let t=e===`mac`?`Meta`:`Alt`;return`ArrowUp ArrowDown ${t}+ArrowUp ${t}+ArrowDown`}function hr(e){return e===`mac`?`Cmd+Enter`:`Ctrl+Enter`}function gr(e,t=Gn){let n=e===`mac`?Hn:`Ctrl`;return[{title:`Dashboard`,items:Qn(e,t).map(t=>({combos:t.keyCaptions.map(n=>[ur(e,t),n]),label:t.label}))},{title:`Navigation`,items:[{combos:[[Rn],[zn]],label:`Move rail highlight (rail focused)`},{combos:[[Bn],[Vn]],label:`Switch view tab (tab focused)`}]},{title:`Reviews`,items:[{combos:[[`J`],[`K`]],label:`Next / previous pull request in the queue`},{combos:[[`N`],[`P`]],label:`Next / previous finding`},{combos:[[`X`]],label:`Post or drop the current finding`},{combos:[[`O`]],label:`Open the pull request in a session`},{combos:[[`A`],[`R`],[`C`]],label:`Pick Approve, Request changes or Comment`},{combos:[[n,`Enter`]],label:`Post the picked action, or the leading one from the note`},{combos:[[`Esc`]],label:`Drop the picked action`}]},{title:`Terminal`,items:[{combos:[[n,`C`]],label:`Copy selection`},{combos:[[n,`V`]],label:`Paste`},{combos:[[n,`Backspace`]],label:`Delete previous word`}]},{title:`General`,items:[{combos:[[`Esc`]],label:`Close dialog / cancel rename`}]}]}var _r=`glimmervoid-ui-prefs`,vr=`glimmervoid:sidebar-width`,yr=e=>t=>typeof t==`boolean`?t:e,br=e=>t=>typeof t==`string`?t:e,xr=e=>typeof e==`string`&&e?e:null,Sr=e=>typeof e==`number`&&Number.isFinite(e)?e:null,Cr=e=>t=>Sr(t)??e,wr=e=>Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e!==``))]:[],Tr={soundEnabled:yr(!0),soundId:br(Tn),themeId:br(`phyrexian`),flyingAnimalsEnabled:yr(!1),flyingAnimalsMinGapSeconds:Cr(D.flyingAnimalsMinGapSeconds),flyingAnimalsMaxGapSeconds:Cr(D.flyingAnimalsMaxGapSeconds),flyingAnimalsMinDurationSeconds:Cr(D.flyingAnimalsMinDurationSeconds),flyingAnimalsMaxDurationSeconds:Cr(D.flyingAnimalsMaxDurationSeconds),flyingAnimalsScale:Cr(D.flyingAnimalsScale),flyingAnimalsOnPhone:yr(D.flyingAnimalsOnPhone),flyingAnimalsExcludedSprites:sn,notificationsEnabled:yr(!0),sessionUsageChips:yr(!1),phoneArrowPad:yr(!1),nextAttentionKeyCode:e=>er(e)?e:Gn,activeView:br(`focus`),lastFocusedSessionId:xr,railWidth:Sr,reviewSidebarExpanded:yr(!1),prsQueueWidth:Sr,prsQueueCollapsed:yr(!1),keptProjects:wr,traceHiddenKinds:wr,dismissedUpdate:xr,telemetryNoticeDismissed:yr(!1),radarAttentionAck:br(``),prsAttentionAck:br(``),prsUnseenRows:br(``),usageAttentionAck:br(``),visionsAttentionAck:br(``)};function Er(e,t,n){e[t]=Tr[t](n)}function Dr(){let e=In(_r,{}),t={};for(let n of Object.keys(Tr))Er(t,n,e?.[n]);return t}function z(e){return Dr()[e]}function B(e,t){let n=Dr();Er(n,e,t),Ln(_r,n)}var Or=()=>z(`soundEnabled`),kr=e=>B(`soundEnabled`,e),Ar=()=>z(`soundId`),jr=e=>B(`soundId`,e),Mr=()=>z(`notificationsEnabled`),Nr=e=>B(`notificationsEnabled`,e),Pr=()=>z(`sessionUsageChips`),Fr=e=>B(`sessionUsageChips`,e),Ir=()=>z(`phoneArrowPad`),Lr=e=>B(`phoneArrowPad`,e),Rr=()=>z(`nextAttentionKeyCode`),zr=e=>B(`nextAttentionKeyCode`,e),Br=()=>z(`themeId`),Vr=e=>B(`themeId`,e),Hr=()=>z(`flyingAnimalsEnabled`),Ur=e=>B(`flyingAnimalsEnabled`,e),Wr=()=>z(`activeView`),Gr=e=>B(`activeView`,e),Kr=()=>z(`railWidth`),qr=e=>B(`railWidth`,e),Jr=()=>z(`reviewSidebarExpanded`),Yr=e=>B(`reviewSidebarExpanded`,e),Xr=()=>z(`prsQueueWidth`),Zr=e=>B(`prsQueueWidth`,e),Qr=()=>z(`prsQueueCollapsed`),$r=e=>B(`prsQueueCollapsed`,e),ei=()=>z(`keptProjects`),ti=e=>B(`keptProjects`,e),ni=()=>z(`traceHiddenKinds`),ri=e=>B(`traceHiddenKinds`,e),ii=()=>z(`dismissedUpdate`),ai=e=>B(`dismissedUpdate`,e),oi=()=>z(`telemetryNoticeDismissed`),si=e=>B(`telemetryNoticeDismissed`,e),ci=()=>z(`radarAttentionAck`),li=e=>B(`radarAttentionAck`,e),ui=()=>z(`prsAttentionAck`),di=e=>B(`prsAttentionAck`,e),fi=()=>z(`prsUnseenRows`),pi=e=>B(`prsUnseenRows`,e),mi=()=>z(`usageAttentionAck`),hi=e=>B(`usageAttentionAck`,e),gi=()=>z(`visionsAttentionAck`),_i=e=>B(`visionsAttentionAck`,e),vi=()=>z(`lastFocusedSessionId`),yi=e=>B(`lastFocusedSessionId`,e),bi=()=>Sr(In(vr,null)),xi=e=>Ln(vr,Sr(e)),Si=e=>B(`flyingAnimalsMinGapSeconds`,e),Ci=e=>B(`flyingAnimalsMaxGapSeconds`,e),wi=e=>B(`flyingAnimalsMinDurationSeconds`,e),Ti=e=>B(`flyingAnimalsMaxDurationSeconds`,e),Ei=e=>B(`flyingAnimalsScale`,e),Di=e=>B(`flyingAnimalsOnPhone`,e),Oi=e=>B(`flyingAnimalsExcludedSprites`,e),ki=()=>cn(Dr()),Ai=()=>{let e=Dr();return Object.fromEntries(Object.keys(D).map(t=>[t,e[t]]))},ji=()=>Ln(_r,{...Dr(),...D}),Mi=Sn({viewportWidthPx:1440,viewportHeightPx:900,verticalProgress:0});function Ni(e,t=``){let n=j(`div`,`flying-animal-preview ${t}`.trim());n.setAttribute(`aria-hidden`,`true`),n.style.setProperty(`--nyan-width`,`${Mi.spriteWidthPx}px`),n.style.setProperty(`--nyan-height`,`${Mi.spriteHeightPx}px`);let r=j(`div`,`flying-animal-preview-stage`);return r.append(j(`div`,`nyan-trail ${e.trail}`),j(`div`,`nyan-sprite ${e.sprite}`)),n.append(r),n}function Pi(){let e=un(ki().flyingAnimalsExcludedSprites);return e===null?null:nn[e]??null}var Fi=[],Ii=new Set;function Li(e){let t=C.safeParse(e);if(t.success){Fi=t.data;for(let e of Ii)e()}}function Ri(e){return Fi.find(t=>t.agent===e)??null}function zi(e){return Ii.add(e),()=>{Ii.delete(e)}}var Bi=`modulepreload`,Vi=function(e){return`/`+e},Hi={},Ui=function(e){return e.pathname.endsWith(`.css`)},Wi=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},V=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=Vi(t,n);let r=s(t),i=Ui(r);return Wi(Hi,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`:Bi,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)})},Gi=null,Ki=null,qi=!1,Ji=null;function Yi(){return Ki??=V(()=>import(`./first-run-checklist-DLiTQWjW.js`).then(e=>(Gi=e,e),e=>(Ki=null,M(`first-run`,`first-run checklist failed to load: ${ot(e)}`),null)),__vite__mapDeps([0,1,2,3,4,5])),Ki}function Xi(e,t){Ji={host:e,isShown:t},Gi?Gi.showFirstRunChecklist(e,t):t&&qi&&Yi().then(e=>{e&&Ji&&e.showFirstRunChecklist(Ji.host,Ji.isShown)})}function Zi(){Gi?.refreshFirstRunChecklist()}function Qi(){qi=!0,Ji&&Xi(Ji.host,Ji.isShown)}var $i=new Map;function ea(e){return $i.get(e)??[]}function ta(e){return ea(e).length>0}function na(e){I(e)?.btnDocs.classList.toggle(`visible`,ta(e))}var ra=null,ia=null;function aa(){return ia??=V(()=>import(`./doc-editor-ui-CzwAWNnH.js`).then(e=>(ra=e,e),e=>(ia=null,M(`doc-editor`,`doc editor failed to load: ${ot(e)}`),null)),__vite__mapDeps([6,1,2,3,4,7])),ia}function oa(e){aa().then(t=>t?.openDocEditor(e))}function sa(e){ra?.applyDocsToOpenEditor(e)}function ca(e){$i.set(e.id,e.docs),e.docs.length===0&&$i.delete(e.id),na(e.id),sa(e.id)}function la(e){let t=[...$i.keys()];$i.clear();for(let[t,n]of Object.entries(e.sessions))$i.set(t,n);for(let e of new Set([...t,...$i.keys()]))na(e),sa(e)}var ua=new Map,da=new Set,fa=[],pa=[],ma=null,ha=null,ga=!1;function _a(e){return ua.get(e)??[]}function va(e){return _a(e).length>0}function ya(e){return da.has(e)}function ba(e){fa.push(e)}function xa(e){pa.push(e)}function Sa(e){let t=I(e);t&&(t.btnShown.classList.toggle(`visible`,va(e)),t.shownUnopenedDot.hidden=!ya(e))}function Ca(e){if(da.delete(e)){Sa(e);for(let t of fa)t(e,[])}}function wa(){return ha??=V(()=>import(`./shown-lightbox-CUkV3apl.js`).then(e=>(ma=e,e),e=>(ha=null,M(`shown-files`,`shown file viewer failed to load: ${ot(e)}`),null)),__vite__mapDeps([8,1,7])),ha}function Ta(e,t=null){va(e)&&wa().then(n=>n?.openShownLightbox(e,t))}function Ea(e){return e.slice(-50)}function Da(e,t){if(t.length===0)return;let n=ma?.isLightboxOpenOn(e)??!1;n||da.add(e),Sa(e),n&&ma?.repaintLightboxOn(e);for(let n of fa)n(e,t)}function Oa(e){let t=new Set(_a(e.id).map(e=>e.id)),n=e.files.filter(e=>!t.has(e.id));if(ua.set(e.id,Ea([..._a(e.id),...n])),Da(e.id,n),n.length!==0)for(let t of pa)t(e.id,n)}function ka(e){let t=new Map(ua),n=ga;ga=!0,ua.clear();for(let[t,n]of Object.entries(e.sessions))ua.set(t,Ea(n));for(let e of new Set([...t.keys(),...ua.keys()])){va(e)||da.delete(e);let r=new Set((t.get(e)??[]).map(e=>e.id)),i=n?_a(e).filter(e=>!r.has(e.id)):[];Sa(e),Da(e,i),ma?.repaintLightboxOn(e)}}function Aa({dialogClass:e,titleText:t,titleId:n,body:r,onCloseRequest:i}){let a=Dt({dialogClass:e,closeOnBackdrop:!1,onEscape:i}),o=j(`div`,`coherence-journal-header`),s=j(`h3`,`dialog-title`,t);s.id=n;let c=j(`button`,`btn-dialog btn-dialog-cancel`,`Close`);return c.type=`button`,o.append(s,c),a.dialog.append(o,...r),Ot(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 ja({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=tt(e),m=Aa({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(),N(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 Ma=2,Na={needsYou:1,broken:2,askedOfYou:3,waiting:4,settled:5},Pa={danger:Na.broken,warn:Na.askedOfYou,wait:Na.waiting,ok:Na.settled,muted:Na.settled};function Fa(e){return e?Pa[e]:Na.settled}function Ia(e){let t=[...e].sort((e,t)=>e.tier-t.tier),n=t.slice(Ma);return{visible:t.slice(0,Ma),overflowCount:n.length,overflowHoverText:n.map(e=>`${e.text} ${e.hoverText}`).join(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/first-run-checklist-DQ69ORji.js","assets/dom-helpers-C7P3_59O.js","assets/control-ws-BGxkawWT.js","assets/updates-view-core-D49Cb8qb.js","assets/zod-BRLv4KqJ.js","assets/repo-roots-adder-BuUJoPeG.js","assets/doc-editor-ui-2H4K5ZBp.js","assets/modal-Bh-cVr-I.js","assets/shown-lightbox-YlHonAJa.js","assets/dialogs-ThZLhht_.js","assets/session-tick-Pvo63zK2.js","assets/card-registry-DTBOn8Bd.js","assets/xterm-CdMfg81L.js","assets/rolldown-runtime-DK3Fl9T5.js","assets/resume-dialog-jWY_EzSD.js","assets/plan-face-CFPT9PGb.js","assets/plan-face-BKvWQchw.css","assets/phone-shell-BDURyW87.js","assets/celebration-player-Cf5DwFjN.js","assets/alert-sound-Deu-O2kQ.js","assets/nyan-cat-D8iLr_Fu.js","assets/review-queue-panel-ubZpHxn9.js","assets/pr-scope-tabs-CfkDxERy.js","assets/review-queue-panel-Dfky79CM.css","assets/issues-panel-DzX5iyjG.js","assets/issues-panel-CPjbxcmf.css","assets/usage-panel-21GwQKME.js","assets/usage-panel-DNM1lX5J.css","assets/radar-panel-BgGOypoL.js","assets/radar-panel-DZnRUVtP.css","assets/visions-panel-SBNiN9Os.js","assets/visions-panel-pBP6aaaP.css","assets/hooks-panel-tXOqrUHw.js","assets/hooks-panel-vO6hRv8A.css","assets/trace-panel-G-7MhhOz.js","assets/trace-panel-8Txvz14_.css","assets/benchmark-panel-B6pAjrlO.js","assets/benchmark-panel-DDwPBdjB.css","assets/settings-panel-BQ7bYcI0.js","assets/settings-panel-DF9_cNvu.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{l as e,m as t,n,o as r,s as i,u as a}from"./zod-BRLv4KqJ.js";import{$ as o,Bt as s,Et as c,Ft as l,I as u,J as d,Lt as f,M as p,Nt as m,Ot as h,Pt as ee,Q as g,St as _,Tt as v,Vt as y,X as b,Y as te,_ as x,_t as S,at as C,ct as ne,f as w,g as re,h as T,ht as ie,it as ae,jt as oe,kt as se,lt as ce,m as le,n as E,nt as ue,ot as de,q as fe,rt as pe,s as me,t as he,u as ge,ut as _e,v as ve,vt as ye,wt as be,xt as xe,yt as Se,zt as Ce}from"./updates-view-core-D49Cb8qb.js";import{A as we,C as Te,D,E as O,O as Ee,S as De,T as Oe,b as ke,c as Ae,d as je,f as Me,g as Ne,h as k,k as Pe,l as Fe,m as A,n as Ie,o as j,t as Le,v as Re,w as ze,x as Be,y as Ve}from"./dom-helpers-C7P3_59O.js";import{S as He,_ as Ue,a as We,b as Ge,c as M,d as Ke,f as qe,g as Je,h as Ye,i as Xe,l as N,m as Ze,n as Qe,o as $e,p as et,r as tt,s as nt,t as rt,u as it,v as at,x as ot,y as st}from"./control-ws-BGxkawWT.js";import{S as ct,_ as lt,a as ut,b as dt,c as ft,d as pt,f as mt,g as ht,h as gt,i as P,l as _t,m as vt,n as yt,o as F,r as I,s as bt,t as L,u as xt,x as St,y as Ct}from"./card-registry-DTBOn8Bd.js";import{a as wt,i as Tt,n as Et,r as Dt,t as Ot}from"./modal-Bh-cVr-I.js";import{a as kt,c as At,i as jt,n as Mt,o as Nt,r as Pt,s as Ft,t as It}from"./session-tick-Pvo63zK2.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Lt=new Map,Rt=new Set;function zt(e){let t=h.safeParse(e);if(!t.success)M(`reviews`,`dropped github-prs: ${He(t.error.issues)}`);else{Lt=new Map(Object.entries(t.data.prs));for(let e of Rt)e()}}function Bt(e){return Lt.get(e.toLowerCase())}function Vt(e){Rt.add(e)}function Ht(e){return e===`remote`?`remote`:`local`}function Ut(e,t){return Ht(t)===`local`||e!==`shutdown`}var Wt=Object.freeze({setTimeoutFn:(e,t)=>setTimeout(e,t),clearTimeoutFn:e=>clearTimeout(e),setIntervalFn:(e,t)=>setInterval(e,t),clearIntervalFn:e=>clearInterval(e)});function Gt(e){return typeof e!=`object`||!e||!(`unref`in e)||typeof e.unref!=`function`||e.unref(),e}function Kt({mode:e,delayMs:t,run:n,setTimeoutFn:r=Wt.setTimeoutFn,clearTimeoutFn:i=Wt.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&&Gt(o))}return{schedule:c,cancel:s,get isArmed(){return o!==null}}}function qt(e){return`Git tracks an old Glimmervoid post-turn report in ${e===1?`1 repository`:`${e} repositories`}. Nothing reads it, so run this to stop git tracking it and commit the deletion git then shows. Glimmervoid deletes the file itself on its next start:`}var Jt=Object.freeze({layout:`desktop`,activeView:`focus`,phoneScreen:null,focusedSessionId:null,selectedSessionId:null,borrowedCardId:null}),Yt=e=>e||null,Xt=Object.freeze({setLayout:e=>({layout:e}),setActiveView:e=>({activeView:e}),setPhoneScreen:e=>({phoneScreen:Yt(e)}),focusSession:e=>({focusedSessionId:Yt(e)}),selectSession:e=>({selectedSessionId:Yt(e)}),borrowCard:e=>({borrowedCardId:Yt(e)})});function Zt(e){let t=Object.freeze({...Jt,...e}),n=new Set;function r(){return t}function i(e){return typeof e==`function`?(n.add(e),()=>n.delete(e)):()=>{}}function a(e){let n=[];for(let r of Object.keys(e)){if(!(r in Jt))throw Error(`ui-state: unknown key "${r}"`);Object.is(t[r],e[r])||n.push(r)}return n}function o(e,r){let i=Xt[e];if(!i)throw Error(`ui-state: unknown action "${e}"`);let o=i(r),s=a(o);if(s.length===0)return t;let c=t;t=Object.freeze({...t,...o});for(let e of n)try{e(t,s,c)}catch{}return t}return{snapshot:r,subscribe:i,dispatch:o}}var R=Zt(),Qt=()=>R.snapshot().activeView;function $t(){return R.snapshot().borrowedCardId}function en(e,t,n,{className:r}={}){if(!e?.card||!n)return;let i=$t();i&&i!==t&&tn();let a=e.card;a._cardHostClass&&a._cardHostClass!==r&&a.classList.remove(a._cardHostClass),a._cardHostClass=r||``,r&&a.classList.add(r),Le(a,n),R.dispatch(`borrowCard`,t),e._ensureTerminalReady?.(),e._setBorrowed?.(!0),e._showPreferredFace?.()}function tn(){let e=$t();if(R.dispatch(`borrowCard`,null),!e)return null;let t=F.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,Ne(n,yt)),e}var nn=[{name:`Nyan cat`,sprite:`is-cat`,trail:`is-rainbow`},{name:`Unicorn`,sprite:`is-unicorn`,trail:`is-sparkles`},{name:`Dragon`,sprite:`is-dragon`,trail:`is-embers`},{name:`Pig`,sprite:`is-pig`,trail:`is-hearts`},{name:`Whale`,sprite:`is-whale`,trail:`is-bubbles`},{name:`Fox`,sprite:`is-fox`,trail:`is-paws`},{name:`Frog`,sprite:`is-frog`,trail:`is-dust`},{name:`Penguin`,sprite:`is-penguin`,trail:`is-snow`},{name:`Bee`,sprite:`is-bee`,trail:`is-honey`},{name:`Owl`,sprite:`is-owl`,trail:`is-stars`},{name:`Cow`,sprite:`is-cow`,trail:`is-daisies`},{name:`Panda`,sprite:`is-panda`,trail:`is-bamboo`},{name:`Red panda`,sprite:`is-red-panda`,trail:`is-leaves`},{name:`Deer`,sprite:`is-deer`,trail:`is-acorns`},{name:`Horse`,sprite:`is-horse`,trail:`is-clover`},{name:`Sheep`,sprite:`is-sheep`,trail:`is-clouds`},{name:`Hamster`,sprite:`is-hamster`,trail:`is-seeds`},{name:`Giraffe`,sprite:`is-giraffe`,trail:`is-acacia`},{name:`Hedgehog`,sprite:`is-hedgehog`,trail:`is-logomarks`}],rn=1/25,an=3;function on(e,t,n){return typeof e!=`number`||!Number.isFinite(e)?t:Math.min(n.max,Math.max(n.min,e))}function sn(e){if(!Array.isArray(e))return[];let t=new Set(nn.map(e=>e.sprite));return[...new Set(e.filter(e=>typeof e==`string`&&t.has(e)))]}function cn(e={}){let t=D,n=Pe,r=Ee,i=on(e.flyingAnimalsMinGapSeconds,t.flyingAnimalsMinGapSeconds,n),a=on(e.flyingAnimalsMaxGapSeconds,t.flyingAnimalsMaxGapSeconds,n),o=on(e.flyingAnimalsMinDurationSeconds,t.flyingAnimalsMinDurationSeconds,r),s=on(e.flyingAnimalsMaxDurationSeconds,t.flyingAnimalsMaxDurationSeconds,r);return{flyingAnimalsMinGapSeconds:Math.min(i,a),flyingAnimalsMaxGapSeconds:Math.max(i,a),flyingAnimalsMinDurationSeconds:Math.min(o,s),flyingAnimalsMaxDurationSeconds:Math.max(o,s),flyingAnimalsScale:on(e.flyingAnimalsScale,t.flyingAnimalsScale,we),flyingAnimalsOnPhone:typeof e.flyingAnimalsOnPhone==`boolean`?e.flyingAnimalsOnPhone:t.flyingAnimalsOnPhone,flyingAnimalsExcludedSprites:sn(e.flyingAnimalsExcludedSprites)}}function ln(e){return nn.some(t=>!e.includes(t.sprite))}function un(e,t=-1,n=Math.random){let r=nn.flatMap((t,n)=>e.includes(t.sprite)?[]:[n]);if(r.length===0)return null;let i=r.length>1?r.filter(e=>e!==t):r,a=Math.min(1,Math.max(0,n()));return i[Math.min(i.length-1,Math.floor(a*i.length))]}function dn(e,t,n=Math.random,r){let i=r===void 0?un(e.flyingAnimalsExcludedSprites,t,n):nn.findIndex(e=>e.sprite===r);if(i===null||i<0)return null;let a=e.flyingAnimalsMinDurationSeconds+n()*(e.flyingAnimalsMaxDurationSeconds-e.flyingAnimalsMinDurationSeconds),o=1e3*(e.flyingAnimalsMinGapSeconds+n()*(e.flyingAnimalsMaxGapSeconds-e.flyingAnimalsMinGapSeconds)),s=n()*a,c=n(),l=n()<.5,u=n()<rn?an:1;return{animalIndex:i,durationSeconds:a,gapMs:o,firstDelaySeconds:s,verticalProgress:c,isRightToLeft:l,arcProgress:(n()*2-1)*u}}function fn({isEnabled:e,hasReducedMotion:t,isPhone:n,options:r}){return t?`Flights are disabled because reduced motion is enabled.`:e?n&&!r.flyingAnimalsOnPhone?`Turn on Show on phone layout to use Fly now here.`:null:`Turn on flying animals to use Fly now.`}var pn=68,mn=42,hn=768,gn=.68,_n=64,vn=5,yn=8,bn=85;function xn(e,t,n){return Math.min(Math.max(e,t),n)}function Sn({viewportWidthPx:e,viewportHeightPx:t,verticalProgress:n,isRightToLeft:r=!1,arcProgress:i=0}){let a=xn(e/hn,gn,1),o=(vn+70*n*n)*t/100,s=Math.max(o,_n),c=bn*t/100,l=xn(i*yn*t/100,_n-s,c-s),u=-.45*e,d=1.45*e;return{scale:a,spriteWidthPx:pn,spriteHeightPx:mn,topPx:s,startXpx:r?d:u,endXpx:r?u:d,facing:r?-1:1,arcPx:l}}function Cn(e,t){let n=Number.isFinite(t)&&t>0?t:1;return Math.max(1,Math.round(e*n))/n}function wn(e,t,n){let r=Cn(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 Tn=`chime`,En=`custom:`,Dn=`/custom-sounds`,On=Object.freeze({chime:{label:`Chime`,peakGain:.12,tones:[{frequency:659.25,startSeconds:0,durationSeconds:.35,waveform:`sine`},{frequency:987.77,startSeconds:.14,durationSeconds:.5,waveform:`sine`}]},ping:{label:`Soft ping`,peakGain:.08,tones:[{frequency:1046.5,startSeconds:0,durationSeconds:.12,waveform:`triangle`},{frequency:1046.5,startSeconds:.13,durationSeconds:.12,waveform:`triangle`},{frequency:1318.51,startSeconds:.26,durationSeconds:.2,waveform:`triangle`}]},beep:{label:`Beep`,peakGain:.15,tones:[{frequency:880,startSeconds:0,durationSeconds:.2,waveform:`sine`}]}}),kn=Object.freeze(Object.entries(On).map(([e,t])=>({id:e,label:t.label})));function An(e){return`${En}${e}`}function jn(e){return`${Dn}/${encodeURIComponent(e)}`}function Mn(e){return e.startsWith(En)&&e.slice(7)||null}function Nn(e){let t=(e??[]).map(e=>({id:An(e),label:e}));return[...kn,...t]}function Pn(e,t){if(typeof e!=`string`)return Tn;if(Object.hasOwn(On,e))return e;let n=Mn(e);return n&&(t===null||t.includes(n))?e:Tn}function Fn(e){return typeof e!=`object`||!e||!(`sounds`in e)||!Array.isArray(e.sounds)?[]:e.sounds.filter(e=>typeof e==`string`&&e!==``)}function In(e,t){try{let n=localStorage.getItem(e);return n===null?t:JSON.parse(n)}catch{return t}}function Ln(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var Rn=`↑`,zn=`↓`,Bn=`←`,Vn=`→`,Hn=`⌘`,Un=`⌥`,Wn=Array.from({length:9},(e,t)=>[`Digit${t+1}`,t+1]),Gn=`KeyJ`,Kn=new Map([[`Minus`,`-`],[`Equal`,`=`],[`BracketLeft`,`[`],[`BracketRight`,`]`],[`Semicolon`,`;`],[`Quote`,`'`],[`Comma`,`,`],[`Period`,`.`],[`Slash`,`/`],[`Backquote`,"`"],[`Backslash`,`\\`]]),qn=new Set([`KeyQ`,`KeyW`,`KeyT`,`KeyN`,`KeyL`,`KeyR`]),Jn=new Set([`KeyC`,`KeyV`,`KeyX`,`KeyA`,`KeyZ`]);function Yn(e){let t=/^(?:Key|Digit)([A-Z0-9])$/.exec(e);return t?t[1]:Kn.get(e)??null}function Xn(e){return{action:`next-attention`,keyCaptions:[Yn(e)??e],label:`Jump to the next session needing you`,stepByCode:new Map([[e,0]])}}var Zn=[{action:`rail-step`,keyCaptions:[Rn,zn],label:`Previous / next session in the rail`,stepByCode:new Map([[`ArrowUp`,-1],[`ArrowDown`,1]])},{action:`view-step`,keyCaptions:[Bn,Vn],label:`Previous / next view tab`,stepByCode:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1]]),unavailablePlatform:`other`},{action:`view-step`,keyCaptions:[`PgUp`,`PgDn`],label:`Previous / next view tab`,stepByCode:new Map([[`PageUp`,-1],[`PageDown`,1]]),unavailablePlatform:`mac`},{action:`session-nth`,keyCaptions:[`1..9`],label:`Jump to session 1 to 9`,stepByCode:new Map(Wn),isShellChord:!0,needsMacOption:!0},{action:`new-session`,keyCaptions:[`0`],label:`Add a session`,stepByCode:new Map([[`Digit0`,0]]),isShellChord:!0},{action:`quick-session`,keyCaptions:[`0`],label:`Add a session like the one you are in`,stepByCode:new Map([[`Digit0`,0]]),needsMacOption:!0,needsShiftOffMac:!0},{action:`merge`,keyCaptions:[`I`],label:`Merge the selected session`,stepByCode:new Map([[`KeyI`,0]])},{action:`close-session`,keyCaptions:[`K`],label:`Close the selected session`,stepByCode:new Map([[`KeyK`,0]])},{action:`resolve-or-resync`,keyCaptions:[`U`],label:`Resolve a parked merge, or resync the base branch`,stepByCode:new Map([[`KeyU`,0]]),isShellChord:!0},{action:`streamer-mode`,keyCaptions:[`\\`],label:`Turn streamer mode on or off`,stepByCode:new Map([[`Backslash`,0]]),isShellChord:!0}];function Qn(e,t){return[Xn(t),...Zn].filter(t=>t.unavailablePlatform!==e)}function $n(e){if(Yn(e)===null)return`Pick a letter, digit or punctuation key.`;if(qn.has(e))return`The browser keeps that shortcut for itself.`;if(Jn.has(e))return`That shortcut stays with copy, cut, paste, select all and undo.`;let t=Zn.find(t=>t.stepByCode.has(e));return t?`That key is already used to ${t.label.charAt(0).toLowerCase()}${t.label.slice(1)}.`:null}function er(e){return typeof e==`string`&&$n(e)===null}var tr=new Set([`Meta`,`Alt`,`Control`,`Shift`,`OS`]);function nr(e,t){if(e.key===`Escape`)return{kind:`cancelled`};if(tr.has(e.key))return{kind:`ignored`};let n=t===`mac`?`Cmd`:`Alt`;if(!ir(e,t,Xn(e.code)))return{kind:`refused`,reason:`Hold ${n} alone while pressing the key.`};let r=$n(e.code);return r?{kind:`refused`,reason:r}:{kind:`recorded`,keyCode:e.code}}function rr(e){return/Mac|iPhone|iPad/.test(e)?`mac`:`other`}function ir(e,t,n){return e.ctrlKey?!1:t===`mac`?!e.shiftKey&&e.metaKey&&e.altKey===!!n.needsMacOption:e.altKey&&!e.metaKey&&e.shiftKey===!!n.needsShiftOffMac}function ar(e,t,n){return n.isTerminalFocused&&t!==`mac`&&!!e.isShellChord}var or=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`]);function sr(e){return or.has(e.key)?e.key:e.code}function cr(e,t,n={isTerminalFocused:!1},r=Gn){let i=sr(e);for(let a of Qn(t,r)){let r=a.stepByCode.get(i);if(r!==void 0&&ir(e,t,a))return ar(a,t,n)?null:{action:a.action,step:r}}return null}function lr(e,t){return t===`focus`||e.action===`quick-session`}function ur(e,t){return e===`mac`?t?.needsMacOption?`${Hn}${Un}`:Hn:t?.needsShiftOffMac?`Alt+Shift`:`Alt`}function dr(e,t,n){let r=Qn(t,n).find(t=>t.action===e);if(!r)throw Error(`Unknown dashboard shortcut: ${e}`);return r}function fr(e,t,n=Gn){let r=dr(e,t,n);return[ur(t,r),r.keyCaptions.join(` `)]}function pr(e,t){let[n,r]=fr(e,t);return t===`mac`?`${n}${r}`:`${n}+${r}`}function mr(e){let t=e===`mac`?`Meta`:`Alt`;return`ArrowUp ArrowDown ${t}+ArrowUp ${t}+ArrowDown`}function hr(e){return e===`mac`?`Cmd+Enter`:`Ctrl+Enter`}function gr(e,t=Gn){let n=e===`mac`?Hn:`Ctrl`;return[{title:`Dashboard`,items:Qn(e,t).map(t=>({combos:t.keyCaptions.map(n=>[ur(e,t),n]),label:t.label}))},{title:`Navigation`,items:[{combos:[[Rn],[zn]],label:`Move rail highlight (rail focused)`},{combos:[[Bn],[Vn]],label:`Switch view tab (tab focused)`}]},{title:`Reviews`,items:[{combos:[[`J`],[`K`]],label:`Next / previous pull request in the queue`},{combos:[[`N`],[`P`]],label:`Next / previous finding`},{combos:[[`X`]],label:`Post or drop the current finding`},{combos:[[`O`]],label:`Open the pull request in a session`},{combos:[[`A`],[`R`],[`C`]],label:`Pick Approve, Request changes or Comment`},{combos:[[n,`Enter`]],label:`Post the picked action, or the leading one from the note`},{combos:[[`Esc`]],label:`Drop the picked action`}]},{title:`Terminal`,items:[{combos:[[n,`C`]],label:`Copy selection`},{combos:[[n,`V`]],label:`Paste`},{combos:[[n,`Backspace`]],label:`Delete previous word`}]},{title:`General`,items:[{combos:[[`Esc`]],label:`Close dialog / cancel rename`}]}]}var _r=`glimmervoid-ui-prefs`,vr=`glimmervoid:sidebar-width`,yr=e=>t=>typeof t==`boolean`?t:e,br=e=>t=>typeof t==`string`?t:e,xr=e=>typeof e==`string`&&e?e:null,Sr=e=>typeof e==`number`&&Number.isFinite(e)?e:null,Cr=e=>t=>Sr(t)??e,wr=e=>Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e!==``))]:[],Tr={soundEnabled:yr(!0),soundId:br(Tn),themeId:br(`phyrexian`),flyingAnimalsEnabled:yr(!1),flyingAnimalsMinGapSeconds:Cr(D.flyingAnimalsMinGapSeconds),flyingAnimalsMaxGapSeconds:Cr(D.flyingAnimalsMaxGapSeconds),flyingAnimalsMinDurationSeconds:Cr(D.flyingAnimalsMinDurationSeconds),flyingAnimalsMaxDurationSeconds:Cr(D.flyingAnimalsMaxDurationSeconds),flyingAnimalsScale:Cr(D.flyingAnimalsScale),flyingAnimalsOnPhone:yr(D.flyingAnimalsOnPhone),flyingAnimalsExcludedSprites:sn,notificationsEnabled:yr(!0),sessionUsageChips:yr(!1),phoneArrowPad:yr(!1),nextAttentionKeyCode:e=>er(e)?e:Gn,activeView:br(`focus`),lastFocusedSessionId:xr,railWidth:Sr,reviewSidebarExpanded:yr(!1),prsQueueWidth:Sr,prsQueueCollapsed:yr(!1),keptProjects:wr,traceHiddenKinds:wr,dismissedUpdate:xr,telemetryNoticeDismissed:yr(!1),radarAttentionAck:br(``),prsAttentionAck:br(``),prsUnseenRows:br(``),usageAttentionAck:br(``),visionsAttentionAck:br(``)};function Er(e,t,n){e[t]=Tr[t](n)}function Dr(){let e=In(_r,{}),t={};for(let n of Object.keys(Tr))Er(t,n,e?.[n]);return t}function z(e){return Dr()[e]}function B(e,t){let n=Dr();Er(n,e,t),Ln(_r,n)}var Or=()=>z(`soundEnabled`),kr=e=>B(`soundEnabled`,e),Ar=()=>z(`soundId`),jr=e=>B(`soundId`,e),Mr=()=>z(`notificationsEnabled`),Nr=e=>B(`notificationsEnabled`,e),Pr=()=>z(`sessionUsageChips`),Fr=e=>B(`sessionUsageChips`,e),Ir=()=>z(`phoneArrowPad`),Lr=e=>B(`phoneArrowPad`,e),Rr=()=>z(`nextAttentionKeyCode`),zr=e=>B(`nextAttentionKeyCode`,e),Br=()=>z(`themeId`),Vr=e=>B(`themeId`,e),Hr=()=>z(`flyingAnimalsEnabled`),Ur=e=>B(`flyingAnimalsEnabled`,e),Wr=()=>z(`activeView`),Gr=e=>B(`activeView`,e),Kr=()=>z(`railWidth`),qr=e=>B(`railWidth`,e),Jr=()=>z(`reviewSidebarExpanded`),Yr=e=>B(`reviewSidebarExpanded`,e),Xr=()=>z(`prsQueueWidth`),Zr=e=>B(`prsQueueWidth`,e),Qr=()=>z(`prsQueueCollapsed`),$r=e=>B(`prsQueueCollapsed`,e),ei=()=>z(`keptProjects`),ti=e=>B(`keptProjects`,e),ni=()=>z(`traceHiddenKinds`),ri=e=>B(`traceHiddenKinds`,e),ii=()=>z(`dismissedUpdate`),ai=e=>B(`dismissedUpdate`,e),oi=()=>z(`telemetryNoticeDismissed`),si=e=>B(`telemetryNoticeDismissed`,e),ci=()=>z(`radarAttentionAck`),li=e=>B(`radarAttentionAck`,e),ui=()=>z(`prsAttentionAck`),di=e=>B(`prsAttentionAck`,e),fi=()=>z(`prsUnseenRows`),pi=e=>B(`prsUnseenRows`,e),mi=()=>z(`usageAttentionAck`),hi=e=>B(`usageAttentionAck`,e),gi=()=>z(`visionsAttentionAck`),_i=e=>B(`visionsAttentionAck`,e),vi=()=>z(`lastFocusedSessionId`),yi=e=>B(`lastFocusedSessionId`,e),bi=()=>Sr(In(vr,null)),xi=e=>Ln(vr,Sr(e)),Si=e=>B(`flyingAnimalsMinGapSeconds`,e),Ci=e=>B(`flyingAnimalsMaxGapSeconds`,e),wi=e=>B(`flyingAnimalsMinDurationSeconds`,e),Ti=e=>B(`flyingAnimalsMaxDurationSeconds`,e),Ei=e=>B(`flyingAnimalsScale`,e),Di=e=>B(`flyingAnimalsOnPhone`,e),Oi=e=>B(`flyingAnimalsExcludedSprites`,e),ki=()=>cn(Dr()),Ai=()=>{let e=Dr();return Object.fromEntries(Object.keys(D).map(t=>[t,e[t]]))},ji=()=>Ln(_r,{...Dr(),...D}),Mi=Sn({viewportWidthPx:1440,viewportHeightPx:900,verticalProgress:0});function Ni(e,t=``){let n=j(`div`,`flying-animal-preview ${t}`.trim());n.setAttribute(`aria-hidden`,`true`),n.style.setProperty(`--nyan-width`,`${Mi.spriteWidthPx}px`),n.style.setProperty(`--nyan-height`,`${Mi.spriteHeightPx}px`);let r=j(`div`,`flying-animal-preview-stage`);return r.append(j(`div`,`nyan-trail ${e.trail}`),j(`div`,`nyan-sprite ${e.sprite}`)),n.append(r),n}function Pi(){let e=un(ki().flyingAnimalsExcludedSprites);return e===null?null:nn[e]??null}var Fi=[],Ii=new Set;function Li(e){let t=C.safeParse(e);if(t.success){Fi=t.data;for(let e of Ii)e()}}function Ri(e){return Fi.find(t=>t.agent===e)??null}function zi(e){return Ii.add(e),()=>{Ii.delete(e)}}var Bi=`modulepreload`,Vi=function(e){return`/`+e},Hi={},Ui=function(e){return e.pathname.endsWith(`.css`)},Wi=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},V=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=Vi(t,n);let r=s(t),i=Ui(r);return Wi(Hi,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`:Bi,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)})},Gi=null,Ki=null,qi=!1,Ji=null;function Yi(){return Ki??=V(()=>import(`./first-run-checklist-DQ69ORji.js`).then(e=>(Gi=e,e),e=>(Ki=null,M(`first-run`,`first-run checklist failed to load: ${ot(e)}`),null)),__vite__mapDeps([0,1,2,3,4,5])),Ki}function Xi(e,t){Ji={host:e,isShown:t},Gi?Gi.showFirstRunChecklist(e,t):t&&qi&&Yi().then(e=>{e&&Ji&&e.showFirstRunChecklist(Ji.host,Ji.isShown)})}function Zi(){Gi?.refreshFirstRunChecklist()}function Qi(){qi=!0,Ji&&Xi(Ji.host,Ji.isShown)}var $i=new Map;function ea(e){return $i.get(e)??[]}function ta(e){return ea(e).length>0}function na(e){I(e)?.btnDocs.classList.toggle(`visible`,ta(e))}var ra=null,ia=null;function aa(){return ia??=V(()=>import(`./doc-editor-ui-2H4K5ZBp.js`).then(e=>(ra=e,e),e=>(ia=null,M(`doc-editor`,`doc editor failed to load: ${ot(e)}`),null)),__vite__mapDeps([6,1,2,3,4,7])),ia}function oa(e){aa().then(t=>t?.openDocEditor(e))}function sa(e){ra?.applyDocsToOpenEditor(e)}function ca(e){$i.set(e.id,e.docs),e.docs.length===0&&$i.delete(e.id),na(e.id),sa(e.id)}function la(e){let t=[...$i.keys()];$i.clear();for(let[t,n]of Object.entries(e.sessions))$i.set(t,n);for(let e of new Set([...t,...$i.keys()]))na(e),sa(e)}var ua=new Map,da=new Set,fa=[],pa=[],ma=null,ha=null,ga=!1;function _a(e){return ua.get(e)??[]}function va(e){return _a(e).length>0}function ya(e){return da.has(e)}function ba(e){fa.push(e)}function xa(e){pa.push(e)}function Sa(e){let t=I(e);t&&(t.btnShown.classList.toggle(`visible`,va(e)),t.shownUnopenedDot.hidden=!ya(e))}function Ca(e){if(da.delete(e)){Sa(e);for(let t of fa)t(e,[])}}function wa(){return ha??=V(()=>import(`./shown-lightbox-YlHonAJa.js`).then(e=>(ma=e,e),e=>(ha=null,M(`shown-files`,`shown file viewer failed to load: ${ot(e)}`),null)),__vite__mapDeps([8,1,7])),ha}function Ta(e,t=null){va(e)&&wa().then(n=>n?.openShownLightbox(e,t))}function Ea(e){return e.slice(-50)}function Da(e,t){if(t.length===0)return;let n=ma?.isLightboxOpenOn(e)??!1;n||da.add(e),Sa(e),n&&ma?.repaintLightboxOn(e);for(let n of fa)n(e,t)}function Oa(e){let t=new Set(_a(e.id).map(e=>e.id)),n=e.files.filter(e=>!t.has(e.id));if(ua.set(e.id,Ea([..._a(e.id),...n])),Da(e.id,n),n.length!==0)for(let t of pa)t(e.id,n)}function ka(e){let t=new Map(ua),n=ga;ga=!0,ua.clear();for(let[t,n]of Object.entries(e.sessions))ua.set(t,Ea(n));for(let e of new Set([...t.keys(),...ua.keys()])){va(e)||da.delete(e);let r=new Set((t.get(e)??[]).map(e=>e.id)),i=n?_a(e).filter(e=>!r.has(e.id)):[];Sa(e),Da(e,i),ma?.repaintLightboxOn(e)}}function Aa({dialogClass:e,titleText:t,titleId:n,body:r,onCloseRequest:i}){let a=Dt({dialogClass:e,closeOnBackdrop:!1,onEscape:i}),o=j(`div`,`coherence-journal-header`),s=j(`h3`,`dialog-title`,t);s.id=n;let c=j(`button`,`btn-dialog btn-dialog-cancel`,`Close`);return c.type=`button`,o.append(s,c),a.dialog.append(o,...r),Ot(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 ja({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=tt(e),m=Aa({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(),N(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 Ma=2,Na={needsYou:1,broken:2,askedOfYou:3,waiting:4,settled:5},Pa={danger:Na.broken,warn:Na.askedOfYou,wait:Na.waiting,ok:Na.settled,muted:Na.settled};function Fa(e){return e?Pa[e]:Na.settled}function Ia(e){let t=[...e].sort((e,t)=>e.tier-t.tier),n=t.slice(Ma);return{visible:t.slice(0,Ma),overflowCount:n.length,overflowHoverText:n.map(e=>`${e.text} ${e.hoverText}`).join(`
|
|
3
3
|
`)}}function La(e){return e.map(e=>[e.key,e.text,e.hoverText,e.look?.icon,e.look?.tone,e.tier].join(`|`)).join(`
|
|
4
|
-
`)}var Ra={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 za(e){return e?.active!==!1||e.reason===S.notInstalled?[]:[{key:`coherence-hooks`,text:`Hooks off`,hoverText:`Coherence hooks not active: ${e.reason}${e.version?` (${e.version})`:``}`,look:{icon:`failed`,tone:`danger`},tier:Na.broken}]}function Ba(e){let t=xe.safeParse(e.kind);return{heading:`${t.success?Ra[t.data]:e.kind} | ${e.at??`Unknown time`} | ${e.id}`,text:e.text,detail:e.detail,supersedes:e.supersedes?`Supersedes: ${e.supersedes}`:null}}function Va(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 Ha=new Map,Ua=new Map,Wa=ja({requestPrefix:`coherence-journal`,dialogClass:`dialog coherence-journal-drawer`,titleText:`Coherence journal`,unavailableLabel:`Journal unavailable`,timeoutMs:5e3});function Ga(e,t){Ua.delete(e),t&&Ua.set(e,t),Za(e)}function Ka(e){Ha.delete(e),Ua.delete(e);let t=Wa.currentPanel();t?.sessionId===e&&t.close()}function qa(e){let t=Ha.get(e.id);t&&t.updatedAt>e.updatedAt||(Ha.set(e.id,e),Za(e.id))}function Ja(e){Ha.clear();for(let[t,n]of Object.entries(e.sessions))Ha.set(t,n);let t=Wa.currentPanel();t&&Za(t.sessionId)}function Ya(e){return za(Ua.get(e)??null).map(t=>({...t,onActivate:()=>Qa(e)}))}function Xa(e){return Ha.get(e)?.journal.ok===!0}function Za(e){let t=Wa.currentPanel();if(!t||t.sessionId!==e)return;let n=Va(Ua.get(e)??null,Ha.get(e)??null);t.parts.reading.replaceChildren(...n.lines.map(e=>j(`p`,null,e)))}function Qa(e){let t=j(`div`,`coherence-journal-reading`),n=j(`p`,`coherence-journal-status`,`Loading journal`);n.setAttribute(`role`,`status`);let r=j(`div`,`coherence-journal-entries`);Wa.open({sessionId:e,status:n,body:[t,n,r],parts:{reading:t,entries:r},paintBeforeRequest:()=>Za(e),buildRequest:t=>({type:`session-coherence-journal`,id:e,requestId:t})})}function $a(e){let t=Wa.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=Ba(e),n=j(`article`,`coherence-journal-entry`);return n.append(j(`h4`,null,t.heading),j(`p`,null,t.text)),t.detail&&n.append(j(`p`,null,t.detail)),t.supersedes&&n.append(j(`p`,null,t.supersedes)),n}))):t.status.textContent=`Journal unavailable: ${e.error||`could not read journal`}`)}var eo=new Set([`http:`,`https:`]);function to(e){let t;try{t=new URL(e)}catch{return null}return eo.has(t.protocol)?t.href:null}var no=/\bElectron\/\d/,ro=new Set([`localhost`,`127.0.0.1`]);function io(e){return no.test(e)}function ao({userAgent:e,pageHostname:t}){return io(e)&&ro.has(t)}function oo(e){return to(e)!==null}var so=new Set([0,1]);function co({button:e,opensInNewTab:t}){return t&&so.has(e)}function lo(){return ao({userAgent:navigator.userAgent,pageHostname:location.hostname})}function uo(e){window.open(e,`_blank`,`noopener,noreferrer`)}async function fo(e){try{let t=await et();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 po(e){!lo()||!oo(e)?uo(e):fo(e).then(t=>{t||uo(e)})}function mo(e){if(e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href]`):null;t instanceof HTMLAnchorElement&&co({button:e.button,opensInNewTab:t.target===`_blank`})&&oo(t.href)&&(e.preventDefault(),po(t.href))}function ho(e){lo()&&(e.addEventListener(`click`,mo,!0),e.addEventListener(`auxclick`,mo,!0))}var go=`#c084fc`,_o=Object.freeze({failed:{icon:ke[O.FAILED],color:`#ef4444`},waiting:{icon:ke[O.WAITING],color:`#f59e0b`}});function vo({waitingCount:e,failedCount:t}){return e>0?`waiting`:t>0?`failed`:`idle`}function yo(e){return Be[e].map(({tag:e,attributes:t})=>`<${e} ${Object.entries(t).map(([e,t])=>`${e}="${t}"`).join(` `)}/>`).join(``)}function bo(e){if(e===`idle`)return`<path d="M10 8 L22 16 L10 24Z" fill="${go}"/>`;let{icon:t,color:n}=_o[e];return`<g color="${n}" transform="translate(4 4) scale(1.5)">${yo(t)}</g>`}function xo(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"/>${bo(e)}</svg>`}function So(){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 Co=So(),wo=`idle`;function To(e){let t=vo(e);t!==wo&&(wo=t,Co.href=`data:image/svg+xml,${encodeURIComponent(xo(t))}`)}function Eo(e,t){return Number.isFinite(e)?Math.round(Math.min(t.maxPx,Math.max(t.minPx,e))):null}function Do(e,t){return e===`ArrowRight`?t:e===`ArrowLeft`?-t:null}function Oo({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=Eo(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=Do(e.key,a);if(n===null)return;e.preventDefault();let r=u(t.getBoundingClientRect().width+l*n);r!==null&&s(r)})}var ko=new Set,Ao=!1,jo=()=>{};function Mo(e){jo=e}function No(e){ko.add(e),!Ao&&(Ao=!0,requestAnimationFrame(Po))}function Po(){if(Ao=!1,ko.size===0)return;let e=new Set(ko);ko.clear(),jo(e)}document.addEventListener(`visibilitychange`,()=>{document.hidden||Po()});function Fo(e){let t=[],n=[],r=n=>e[t[n]??0]??0;e.forEach((e,i)=>{if(e<0)return;let a=0,o=t.length;for(;a<o;){let t=a+o>>1;r(t)<e?a=t+1:o=t}n[i]=a>0?t[a-1]??-1:-1,t[a]=i});let i=new Set,a=t.at(-1)??-1;for(;a>=0;)i.add(a),a=n[a]??-1;return i}function Io(e,t){let n=new Map;Array.from(e.children).forEach((e,t)=>{n.set(e,t)});let r=Fo(t.map(e=>n.get(e)??-1)),i=null;for(let n=t.length-1;n>=0;--n){let a=t[n];a&&(r.has(n)||e.insertBefore(a,i),i=a)}}function Lo(e,t){e.textContent!==t&&(e.textContent=t)}function Ro(e,t){e.hidden!==t&&(e.hidden=t)}function zo(e,t,n){e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Bo(e,t,n){e.dataset[t]!==n&&(e.dataset[t]=n)}var Vo=`http://www.w3.org/2000/svg`;function Ho(e,t){let n=document.createElementNS(Vo,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function Uo(e,t){let n=document.createElementNS(Vo,`svg`);return n.setAttribute(`width`,String(e)),n.setAttribute(`height`,String(t)),n.setAttribute(`viewBox`,`0 0 ${e} ${t}`),n.setAttribute(`aria-hidden`,`true`),n}var Wo=`M4 4L12 12M12 4L4 12`,Go=`M10 3L5 8L10 13`,Ko=`M12 8a4 4 0 1 1-8 0a4 4 0 1 1 8 0M8 1.5v2.5M8 12v2.5M1.5 8h2.5M12 8h2.5M3.4 3.4l1.77 1.77M10.83 10.83l1.77 1.77M3.4 12.6l1.77-1.77M10.83 5.17l1.77-1.77`,qo=`M3 4h10M3 8h10M3 12h10`,Jo=`M3 8h0.01M8 8h0.01M13 8h0.01`,Yo=`M8 2.5v6M5 5.5h6M5 12.5h6`,Xo=`M4.5 12.5h7a3 3 0 0 0 0.4-5.97a4 4 0 0 0-7.7 0.57a2.7 2.7 0 0 0 0.3 5.4z`,Zo=`M8 1.8l5.2 2v4c0 3.2-2.2 5.4-5.2 6.4c-3-1-5.2-3.2-5.2-6.4v-4z`,Qo=`${Zo}M2 2l12 12`,$o=`M9.2 1.5L3.5 9h4.3l-1 5.5L12.5 7H8.2z`,es=`M8.7 4.2L5.6 8.6h2.5l-.6 3.2l3.1-4.4H8.1z`,ts=`M3 13V9M8 13V3M13 13V6.5`;function ns(e,t=`2`){let n=Uo(16,16);return n.classList.add(`line-icon`),n.append(Ho(`path`,{d:e,fill:`none`,stroke:`currentColor`,"stroke-width":t,"stroke-linecap":`round`,"stroke-linejoin":`round`})),n}function rs(e,t){let{class:n,...r}=t,i=Uo(16,16);return n!==void 0&&i.classList.add(n),i.append(Ho(e,r)),i}function is(e){let t=document.createElement(`span`);t.className=`status-icon`,t.dataset.icon=e;for(let n of Be[e])t.append(rs(n.tag,n.attributes));return t}function as(e,t){e.dataset.icon!==t&&(e.dataset.icon=t,e.replaceChildren(is(t)))}var os={busy:`text-text-muted`,ok:`text-state-done`,error:`text-state-failed`},ss=15e3,cs=`Something went wrong. Details are hidden in streamer mode.`;function ls(e,t){return e!==`error`||t.startsWith(`Not connected to the server. Reconnecting.`)?t:document.documentElement.hasAttribute(`data-streamer`)?cs:t}var us={busy:`working`,ok:`complete`,error:`failed`};function ds(e){let t=e.querySelector(`:scope > .action-status-icon`),n=e.querySelector(`:scope > .action-status-text`);if(t&&n&&e.childNodes.length===2)return{iconElement:t,textElement:n};let r=j(`span`,`action-status-icon`);r.setAttribute(`aria-hidden`,`true`);let i=j(`span`,`action-status-text`);return e.replaceChildren(r,i),{iconElement:r,textElement:i}}function fs(e){e.replaceChildren(),delete e.dataset.tone}function ps(e,t,n){if(!n){fs(e);return}if(!t){fs(e),e.textContent=n;return}e.dataset.tone=t;let{iconElement:r,textElement:i}=ds(e);as(r,us[t]),i.textContent=ls(t,n)}function ms(e=`action-status`){let t=j(`p`,e);return t.setAttribute(`role`,`status`),t.hidden=!0,{element:t,show:(n,r)=>{t.className=`${e} text-xs ${os[n]}`,ps(t,n,r),t.hidden=!r},clear:()=>{t.hidden=!0,fs(t)}}}function hs(e,t){return N(e)?!0:(t.show(`error`,E),!1)}function gs(e,t){let n=e instanceof Error?e.message:``;return n===`Request timed out`?`The server did not answer within ${Math.round(t/1e3)} s.`:n||`Not connected to the server. Reconnecting.`}async function _s(e,t,n,{busyText:r,timeoutMs:i=ss}={}){r&&n.show(`busy`,r);try{let r=await it(e,t,{timeoutMs:i});return n.clear(),r}catch(e){return n.show(`error`,gs(e,i)),null}}var vs=null,ys=3e4,bs=null;function xs(){let e=document.getElementById(`header-status`),t=document.getElementById(`header-status-text`),n=document.getElementById(`header-status-age`),r=document.getElementById(`header-status-dismiss`);return!e||!t||!n||!r?null:(r.dataset.wired===void 0&&(r.dataset.wired=``,r.addEventListener(`click`,Ts)),{line:e,text:t,age:n})}function Ss(){let e=xs();if(!e||!vs)return;let t=g(Date.now()-vs.raisedAt,{...te,justNowBelowSeconds:60});e.age.textContent!==t&&(e.age.textContent=t)}function H({source:e,sessionId:t,message:n,hidesInStreamerMode:r=!0}){let i=xs();if(!i)return;let a=r?ls(`error`,n):n,o=j(`strong`,`header-status-source`,e);i.text.replaceChildren(o,` ${a}`),i.text.title=`${e}: ${a}`,vs={source:e,sessionId:t??null,raisedAt:Date.now()},Ss(),bs??=window.setInterval(Ss,ys),i.line.hidden=!1}function Cs(e,t){vs?.source===e&&(t===void 0||vs.sessionId===t)&&Ts()}function ws(e){vs?.sessionId===e&&Ts()}function Ts(){vs=null,bs!==null&&window.clearInterval(bs),bs=null;let e=xs();e&&(e.line.hidden=!0,e.text.replaceChildren(),e.text.title=``,e.age.textContent=``)}function U(e){return String(e).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}var Es={horizontal:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1]]),vertical:new Map([[`ArrowUp`,-1],[`ArrowDown`,1]]),both:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1],[`ArrowUp`,-1],[`ArrowDown`,1]])};function Ds(e,t,n){return e<0?t>0?0:n-1:((e+t)%n+n)%n}function Os(e,t,n,r){if(n===0)return null;if(e===`Home`)return 0;if(e===`End`)return n-1;let i=Es[r].get(e);return i===void 0?null:Ds(t,i,n)}function ks(e,t,n){let r=j(`button`,`popup-menu-item ${n}`);return r.type=`button`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-label`,e),r.append(j(`span`,`popup-menu-item-label`,e),j(`span`,`popup-menu-item-hint`,t)),r}function As(e){return e.key===`ArrowDown`||e.key===`ArrowUp`}function js(e,t){let n=document.activeElement,r=n instanceof HTMLElement?e.indexOf(n):-1,i=Os(t.key,r,e.length,`vertical`);i!==null&&e[i].focus()}function Ms(e){return e.key===`Home`||e.key===`End`}function Ns(e){return e.metaKey||e.altKey||e.ctrlKey}function Ps(e,t,n){let r=e.relatedTarget;return r instanceof Node&&!t.contains(r)&&!n.contains(r)}function Fs({trigger:e,menu:t,menuItems:n,isOpen:r,open:i,close:a,signal:o}){function s(e){e.preventDefault(),e.stopPropagation(),r()||i(),js(n(),e)}e.addEventListener(`keydown`,e=>{!Ns(e)&&As(e)&&s(e)},{signal:o}),t.addEventListener(`keydown`,e=>{Ns(e)||(As(e)||Ms(e))&&s(e)},{signal:o}),document.addEventListener(`keydown`,t=>{t.key!==`Escape`||t.defaultPrevented||!r()||Tt()||(t.preventDefault(),a(),e.focus())},{signal:o});for(let n of[e,t])n.addEventListener(`focusout`,n=>{r()&&Ps(n,t,e)&&a()},{signal:o})}var Is=`hover-tip`,Ls=`[data-tip-label]`,Rs=6,zs=8,Bs=null,Vs=null;function Hs(e){return e instanceof Element?e.closest(Ls):null}function Us(){return Bs||(Bs=j(`div`,`hover-tip`),Bs.id=Is,Bs.setAttribute(`role`,`tooltip`),Bs.hidden=!0,document.body.append(Bs),Bs)}function Ws(e,t){let n=j(`span`,`hover-tip-text`);n.append(j(`b`,`hover-tip-label`,t.dataset.tipLabel??``));let r=t.dataset.tipDetail;r&&n.append(j(`span`,`hover-tip-detail`,r));let i=t.querySelector(`svg`)?.cloneNode(!0);e.replaceChildren(...i?[i]:[],n)}function Gs(e,t){let n=t.getBoundingClientRect(),r=e.offsetWidth,i=window.innerWidth-r-zs,a=Math.max(zs,Math.min(n.right-r,i));e.style.left=`${a}px`,e.style.top=`${n.bottom+Rs}px`}function Ks(e){let t=Us();Vs&&Vs!==e&&Vs.removeAttribute(`aria-describedby`),Vs=e,Ws(t,e),t.hidden=!1,Gs(t,e),e.setAttribute(`aria-describedby`,Is)}function qs(){Vs&&(Vs.removeAttribute(`aria-describedby`),Vs=null,Bs&&(Bs.hidden=!0))}function Js(e){Vs===e&&(!e.dataset.tipLabel||!e.isConnected?qs():Ks(e))}var Ys=!1;function Xs(){Ys||(Ys=!0,document.addEventListener(`pointerover`,e=>{let t=Hs(e.target);t?Ks(t):qs()}),document.addEventListener(`pointerout`,e=>{Vs&&(e.relatedTarget instanceof Node&&Vs.contains(e.relatedTarget)||qs())}),document.addEventListener(`focusin`,e=>{let t=Hs(e.target);t?Ks(t):qs()}),document.addEventListener(`focusout`,qs),document.addEventListener(`pointerdown`,qs),document.addEventListener(`scroll`,qs,!0),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&qs()}))}var Zs=new WeakMap;function Qs(e){let t=Zs.get(e);if(t?.element.parentElement===e.card)return t;let n=t??ms(`session-action-status m-0 px-3 py-1`);return e.termWrap.before(n.element),Zs.set(e,n),n}function $s(e,t){let n=Qs(e);return hs(t,n)?(n.clear(),!0):!1}var ec=!1,tc=new Set;function nc(e){ec=!!e,Lc();for(let e of tc)e(ec)}function rc(e){return tc.add(e),()=>tc.delete(e)}function ic(){return ec}var ac=null;function oc(e){ac=e}var sc=null;function cc(e){sc=e}var lc=null;function uc(e){lc=e}function dc(e,t){let n=j(`span`,`tag-icon ${e}`);return n.tabIndex=0,n.setAttribute(`role`,`img`),n.setAttribute(`aria-label`,t),n}function fc(e){let t=Uo(16,16);return t.classList.add(`line-icon`),t.append(Ho(`path`,{d:e,fill:`currentColor`})),t}function pc(){let e=ns(Zo,`1.5`);return e.append(Ho(`path`,{d:es,fill:`currentColor`})),e}function mc(e){return`Runs in Coder workspace ${e}`}function hc(e,t){let n=t?`Sane YOLO`:`YOLO`;e.setAttribute(`aria-label`,n),e.dataset.tipLabel=n,e.dataset.tipDetail=t?`Skips permission prompts; Sane YOLO blocks catastrophic commands`:`Running with --dangerously-skip-permissions`,e.replaceChildren(t?pc():fc($o)),Js(e)}function gc(e,t){t&&(e.dataset.saneYolo=``),t||delete e.dataset.saneYolo;let n=e.querySelector(`.perms-badge`);n&&hc(n,t)}function _c(e,t){let n=I(e);n&&gc(n.card,t)}function vc(e,t,n,r={}){let i=n||O.INITIALIZING,a=j(`div`,`session-card`);a.dataset.id=e,a.dataset.session=t,a.dataset.state=i,r.skipPerms&&(a.dataset.skipPerms=``),r.saneYolo&&(a.dataset.saneYolo=``),r.worktree&&(a.dataset.worktree=``),r.workspace&&(a.dataset.workspace=``),r.remoteWorkspace&&(a.dataset.remoteWorkspace=r.remoteWorkspace),r.guarded&&(a.dataset.guarded=``),r.guardrailsReleased&&(a.dataset.guardrailsReleased=``),r.ephemeral&&(a.dataset.ephemeral=``),r.path&&(a.dataset.path=String(r.path));let o=j(`div`,`session-card-header`),s=j(`span`,`session-name`,t);s.title=`Double-click or press F2 to rename`,s.tabIndex=0;let c=r.skipPerms?dc(`perms-badge`,`YOLO`):null;c&&hc(c,r.saneYolo===!0);let l=j(`span`,`session-task-title`);wc(l,r.taskTitle);let u=j(`div`,`session-actions`),d=j(`div`,`session-overflow`),f=j(`button`,`btn-action btn-session-menu visible`);f.append(ns(Jo)),f.type=`button`,f.title=`Session actions`,f.setAttribute(`aria-label`,`Session actions`),f.setAttribute(`aria-haspopup`,`menu`),f.setAttribute(`aria-expanded`,`false`);let p=j(`div`,`popup-menu session-overflow-menu`);p.id=`session-menu-${e}`,p.setAttribute(`role`,`menu`),f.setAttribute(`aria-controls`,p.id);let m=ks(`Restart...`,`Into this conversation, a fresh one, or an earlier one`,`overflow-restart`);m.setAttribute(`aria-haspopup`,`dialog`);let h=ks(`Edit repositories...`,`Add or remove repositories in this workspace`,`overflow-workspace-repos`),ee=ks(`Link pull request...`,`Link or unlink pull requests for this session`,`overflow-link-pr visible`),g=ks(`Conversation view`,`Show this session as messages (experimental)`,`overflow-conversation-view`);g.setAttribute(`role`,`menuitemcheckbox`),g.setAttribute(`aria-checked`,`false`);let _=j(`button`,`tag-icon guardrails-badge`);_.type=`button`,_.setAttribute(`aria-label`,`Guardrails`),bc(_,a),ee.onclick=()=>{p.classList.remove(`open`),f.setAttribute(`aria-expanded`,`false`),xc(e)};let v=ks(`Coherence journal`,`Decisions and notes this session recorded`,`overflow-coherence-journal`);v.setAttribute(`aria-haspopup`,`dialog`);let y=()=>v.classList.toggle(`visible`,sc?.isReadable(e)===!0);f.onclick=y,f.onkeydown=y,v.onclick=()=>{p.classList.remove(`open`),f.setAttribute(`aria-expanded`,`false`),sc?.open(e)};let b=ks(`Session setup`,`MCP servers, plugins and hooks this session loaded`,`overflow-session-setup visible`);b.setAttribute(`aria-haspopup`,`dialog`),b.onclick=()=>{p.classList.remove(`open`),f.setAttribute(`aria-expanded`,`false`),lc?.(e)},p.append(m,h,g,v,b,ee),d.append(f,p);let te=j(`button`,`btn-action btn-debug`);te.append(ns(Ko)),te.title=`Debug state`,te.setAttribute(`aria-label`,`Debug session state`);let x=j(`button`,`btn-action btn-trace`);x.append(ns(qo)),x.type=`button`,x.title=`Trace`,x.setAttribute(`aria-label`,`Trace`);let S=j(`button`,`btn-action btn-remove visible`);S.append(ns(Wo)),S.type=`button`,S.title=`Remove session`,S.setAttribute(`aria-label`,`Remove session`);let C=j(`button`,`btn-action btn-face-plan`,`Plan`);C.type=`button`,C.title=`Show plan`;let ne=j(`button`,`btn-action btn-face-plan btn-docs`,`Docs`);ne.type=`button`,ne.title=`Open docs the agent surfaced`;let w=j(`button`,`btn-action btn-face-plan btn-shown`,`Shown`);w.type=`button`,w.title=`Open files the agent showed you`;let re=j(`span`,`shown-unopened-dot`);re.hidden=!0,re.title=`New shown file`,u.append(re,w,ne,C,te,x,d,S);let T=j(`div`,`session-card-tags`),ie=dc(`usage-badge`,`Usage`);ie.append(ns(ts,`2.2`)),c&&T.append(c),T.append(_,ie),Xs();let ae=j(`span`,`session-ownership`);ae.hidden=!0,o.append(s,l,ae,T,u);let oe=j(`div`,`terminal-wrap`);return a.append(o,oe),{card:a,header:o,nameEl:s,taskTitleEl:l,btnRestart:m,btnSessionMenu:f,btnWorkspaceRepos:h,btnConversationView:g,btnGuardrails:_,btnTrace:x,btnRemove:S,btnPlan:C,btnDocs:ne,btnShown:w,shownUnopenedDot:re,btnDebug:te,sessionMenu:p,termWrap:oe}}var yc={on:`Credentials, Glimmervoid state and blocked folders are off-limits to this session.`,released:`This session can read, write and reach anything your account can.`};function bc(e,t){let n=t.dataset.guarded!==void 0,r=t.dataset.ephemeral===void 0&&(n||t.dataset.guardrailsReleased!==void 0),i=n?` Click to release.`:` Click to restore.`;e.setAttribute(`aria-pressed`,String(n)),e.setAttribute(`aria-disabled`,String(!r)),e.dataset.tipLabel=n?`Guardrails on`:`Guardrails released`,e.dataset.tipDetail=`${n?yc.on:yc.released}${r?i:``}`,e.replaceChildren(ns(n?Zo:Qo,`1.6`)),Js(e)}function xc(e){let{dialog:t,close:n,actions:r,btnCancel:i}=Et({title:`Link pull request`}),a=j(`p`,`dialog-message`,`Paste a GitHub pull request URL or owner/repo#number.`),o=j(`input`,`dialog-input`);o.type=`text`,o.placeholder=`owner/repo#123`,o.autocomplete=`off`,o.spellcheck=!1,o.setAttribute(`aria-label`,`Pull request URL or owner/repo#number`);let s=j(`div`,`dialog-error`);s.setAttribute(`role`,`alert`);let c=j(`div`,`session-pr-chips dialog-linked-prs`);c.hidden=!0,ac?.(c,e);let l=j(`button`,`btn-dialog btn-dialog-confirm`,`Link`);l.type=`button`,r.append(l),t.append(c,a,o,s,r);function u(){let t=ie(o.value);t?N({type:`link-session-pr`,id:e,key:t})?n():s.textContent=E:s.textContent=`Enter a github.com pull request URL or owner/repo#number.`}i.addEventListener(`click`,n),l.addEventListener(`click`,u),o.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),u())}),requestAnimationFrame(()=>o.focus())}function Sc(e,t){e.tabIndex=0,e.setAttribute(`role`,`button`),e.addEventListener(`click`,t),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())})}function Cc(e,t){let n=e.querySelector(`.session-ownership`);n&&(Lo(n,t??``),Ro(n,t===null))}function wc(e,t){e.title=t??``,t&&e.removeAttribute(`aria-label`),t||e.setAttribute(`aria-label`,`Describe the task`),!e.querySelector(`input`)&&(e.textContent=t??``)}function Tc(e,t){let n=e.titleTargetEl?.isConnected?e.titleTargetEl:e.taskTitleEl;if(n.querySelector(`input`))return;let r=document.createElement(`input`);r.type=`text`,r.className=`session-title-input`,r.setAttribute(`aria-label`,`Task`),r.value=e.taskTitleIsCustom?e.taskTitle??``:``,r.placeholder=e.taskTitle??`What is this session working on?`,r.maxLength=120;let i=n.getAttribute(`role`),a=n.getAttribute(`tabindex`);n.removeAttribute(`role`),n.removeAttribute(`tabindex`),n.replaceChildren(r),r.focus(),r.select();function o(o){r.removeEventListener(`blur`,s),r.removeEventListener(`keydown`,c),o&&$s(e,{type:`set-session-title`,id:t,title:r.value.trim()}),n.replaceChildren(),i!==null&&n.setAttribute(`role`,i),a!==null&&n.setAttribute(`tabindex`,a),wc(n,e.taskTitle)}function s(){o(!0)}function c(e){e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),o(!0)),e.key===`Escape`&&(e.preventDefault(),o(!1))}r.addEventListener(`blur`,s),r.addEventListener(`keydown`,c)}var Ec=`session-rename-input`;function Dc(e){return!!e?.querySelector(`.${Ec}`)}function Oc(e,t,{returnsFocusToTerminal:n=!0}={}){let r=e.renameTargetEl?.isConnected?e.renameTargetEl:e.nameEl;if(!r||Dc(r))return;let i=e.card?.dataset.session??r.textContent??``,a=document.createElement(`input`);a.type=`text`,a.className=Ec,a.value=i,a.maxLength=64,r.textContent=``,r.appendChild(a),a.focus(),a.select();let o=Qs(e);function s(t){return e.card.dataset.ephemeral===void 0?ye.test(t)?[...F.values()].some(n=>n!==e&&n.card.dataset.session===t)?`Session "${t}" already exists.`:``:Se:`This session cannot be renamed`}function c(t=e.card?.dataset.session??i){r.textContent=t,e.nameEl&&e.nameEl!==r&&(e.nameEl.textContent=t),n&&e.term?.focus()}function l(){let e=a.value.trim(),t=e&&e!==i?s(e):``;t?(o.show(`error`,t),a.select()):u()}function u(){let n=a.value.trim();if(f(),!n||n===i){c();return}let r=s(n);r?(o.show(`error`,r),c()):$s(e,{type:`rename-session`,id:t,newName:n})?c(n):c()}function d(){f(),c()}function f(){a.removeEventListener(`blur`,u),a.removeEventListener(`keydown`,p)}function p(e){e.key===`Enter`&&(e.preventDefault(),l()),e.key===`Escape`&&(e.preventDefault(),d()),e.stopPropagation()}a.addEventListener(`blur`,u),a.addEventListener(`keydown`,p)}function kc(){let e=j(`button`,`debug-close`);return e.type=`button`,e.title=`Close`,e.setAttribute(`aria-label`,`Close debug overlay`),e.append(ns(Wo)),e}function Ac(e){return e?o(new Date(e)):`-`}function jc(e){return`${(Number(e||0)/1e3).toFixed(1)}s`}function Mc(e){return e.decision===`gated`?`(${Number(e.active)||0} bg)`:e.decision===`wait`||e.decision===`release`?`(quiet ${jc(e.quietMs)})`:``}function Nc(e){let t=`<span class="debug-dim">${Ac(e.ts)}</span>`;if(e.kind===`signal`){let n=U([e.signal,e.source].filter(Boolean).join(`/`));return e.action===`transition`?`${t} ${n} → <span class="debug-label">${U(e.event||``)}</span>`:e.action===`gate-held`?`${t} ${n} → held <span class="debug-dim">(${Number(e.active)||0} bg)</span>`:`${t} ${n} → <span class="debug-dim">no-op</span>`}if(e.kind===`gate`){let n=(e.repeats??0)>1?` <span class="debug-dim">x${Number(e.repeats)}</span>`:``,r=Mc(e),i=r?` <span class="debug-dim">${r}</span>`:``;return`${t} gate <span class="debug-label">${U(e.decision||`?`)}</span>${i}${n}`}if(e.kind===`notify`){let n=U(e.category||e.to||`?`);return e.category?`${t} notify <span class="debug-label">${n}</span>: fired`:`${t} notify ${n}: <span class="debug-dim">silent (${U(e.reason||``)})</span>`}return e.kind===`notify-state`?`${t} notify ${U(e.category||`?`)}: <span class="debug-dim">${U(e.from||`?`)} → ${U(e.to||`?`)}</span>`:`${t} <span class="debug-dim">${U(e.kind||`decision`)}</span>`}function Pc(e,t){if(!e.debugOverlay)return;let n=t,r=``;if(r+=`<div class="debug-section"><div class="debug-section-title">State</div>`,r+=`<div class="debug-field"><span class="debug-label">Current:</span> <span class="debug-value">${U(n.state)}</span></div>`,r+=`</div>`,r+=`<div class="debug-section"><div class="debug-section-title">Transitions (last ${n.transitions.length})</div>`,n.transitions.length===0&&(r+=`<div class="debug-field debug-dim">No transitions recorded</div>`),n.transitions.length>0)for(let e of n.transitions){let t=e.detail&&typeof e.detail==`object`?e.detail:null,n=t?[t.signal,t.source,t.deferred?`deferred`:null].filter(Boolean):[],i=n.length>0?` <span class="debug-dim">${U(n.join(`/`))}</span>`:``;r+=`<div class="debug-field"><span class="debug-dim">${Ac(e.timestamp)}</span> ${U(e.from)} → ${U(e.to)} <span class="debug-label">${U(e.event)}</span>${i}</div>`}r+=`</div>`;let i=n.detection||{},a=i.lastSignal,o=i.titleState||{};r+=`<div class="debug-section"><div class="debug-section-title">Detection</div>`,r+=`<div class="debug-field"><span class="debug-label">Last signal:</span> <span class="debug-value">${a?`${U(a.signal)} (${U(a.source||`?`)}${a.confidence?`/${U(a.confidence)}`:``})`:`none`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hooks injected:</span> <span class="debug-value">${i.hooksInjected?`yes`:`no`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hook seen:</span> <span class="debug-value">${i.hookSeen?`yes`:`no (degraded → title)`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Title state:</span> <span class="debug-value">${U(o.lastKind||`none`)}${o.hasSeenSpinner?` · spun`:``}</span></div>`,r+=`</div>`;let s=i.agents||{},c=i.gate;r+=`<div class="debug-section"><div class="debug-section-title">Agents</div>`,r+=`<div class="debug-field"><span class="debug-label">Active:</span> <span class="debug-value">${Number(s.active)||0} (counted ${Number(s.counted)||0}, declared ${Number(s.declared)||0})</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Idle:</span> <span class="debug-value">${Number(s.idleNames)||0} names, ${Number(s.idleTasks)||0} tasks</span></div>`;let l=c?`held ${jc(c.heldForMs)} (seq ${Number(c.seq)||0}, lastActivity ${Number(c.lastActivitySeq)||0})`:`none`;r+=`<div class="debug-field"><span class="debug-label">Gate:</span> <span class="debug-value">${U(l)}</span></div>`,r+=`</div>`;let u=Array.isArray(n.decisions)?n.decisions:[];r+=`<div class="debug-section"><div class="debug-section-title">Decisions (last ${u.length})</div>`,u.length===0&&(r+=`<div class="debug-field debug-dim">No decisions recorded</div>`);for(let e of u)r+=`<div class="debug-field">${Nc(e)}</div>`;r+=`</div>`,e.debugOverlay.innerHTML=r,e.debugOverlay.prepend(kc())}function Fc(e,t){if(e.debugOpen){Ic(e);return}let n=document.createElement(`div`);n.className=`debug-overlay`,n.innerHTML=`<div class="debug-field debug-dim">Loading...</div>`,n.prepend(kc()),e.card.appendChild(n),e.debugOverlay=n,e.debugOpen=!0,n.addEventListener(`click`,t=>{t.stopPropagation(),t.target instanceof Element&&t.target.closest(`.debug-close`)&&Ic(e)}),N({type:`debug-state`,id:t})}function Ic(e){e.debugOverlay&&=(e.debugOverlay.remove(),null),e.debugOpen=!1}function Lc(){for(let[,e]of F)e.btnDebug.classList.toggle(`visible`,ec),e.btnTrace.classList.toggle(`visible`,ec),!ec&&e.debugOpen&&Ic(e)}function Rc(e){let t=typeof e.id==`string`?F.get(e.id):void 0;t?.debugOpen&&Pc(t,e.payload)}function zc(e){I(e)?.debugOpen&&N({type:`debug-state`,id:e})}var Bc={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 Vc(e,t){let n=Uo(16,16);return n.classList.add(`pr-status-icon`),t&&(n.dataset.tone=t),n.append(Ho(`path`,{d:Bc[e],fill:`currentColor`})),n}function Hc(e,{className:t=``,linkUrl:n,ariaLabel:r,onActivate:i}={}){let a=`signal ${t}`.trim(),o=n?Ae(a,``,n,e.hoverText):j(`span`,a);return o.title=e.hoverText,r&&o.setAttribute(`aria-label`,r),e.look&&(o.dataset.tone=e.look.tone,o.append(Vc(e.look.icon,e.look.tone))),o.append(e.text),i&&Uc(o,i,!n),o}function Uc(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 Wc(e){e.removeAttribute(`tabindex`),e.removeAttribute(`role`)}function Gc(e,t){if(e.closest(`button, a[href]`))for(let e of t){Wc(e);for(let t of e.querySelectorAll(`[role="button"]`))Wc(t)}}function Kc(e){if(e.overflowCount===0)return null;let t=j(`span`,`signal-overflow`,`+${e.overflowCount}`);return t.title=e.overflowHoverText,t}function qc(e,t,n=e=>Hc(e,e)){let r=La(t);if(e.dataset.signalSignature===r)return;e.dataset.signalSignature=r;let i=Ia(t),a=i.visible.map(n),o=Kc(i);o&&a.push(o),Gc(e,a),e.hidden=a.length===0,e.replaceChildren(...a)}var Jc=[],Yc=`plan`,Xc={parked:{text:`PARKED`,hoverText:`Merge parked`,look:{icon:`failed`,tone:`danger`},tier:Na.broken},merging:{text:`MERGING`,hoverText:`Merging`,look:{icon:`queued`,tone:`wait`},tier:Na.waiting}};function Zc(e){Jc.push(e)}function Qc(e){let t=Xc[e];return t?[{...t,key:`merge`}]:[]}function $c(e){let t=e.closest(`.session-row`),n=t?.dataset.id;t&&n&&qc(e,[...Qc(t.dataset.merge??``),...Jc.flatMap(e=>e(n))])}function el(){for(let e of document.querySelectorAll(`.session-row-signals`))$c(e)}function tl(e,t=``){let n=j(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:A(n,`.session-row-glyph`),label:A(n,`.session-row-label`),ownership:A(n,`.session-row-ownership`),name:A(n,`.session-row-name`),cloud:A(n,`.session-row-cloud`),task:A(n,`.session-row-task`),signals:A(n,`.session-row-signals`),elapsed:A(n,`.session-row-elapsed`),attentionTab:A(n,`.session-row-attention-tab`)}}}function nl(e,t){let n=j(`div`,`session-row-item`),r=j(`button`,`session-row-remove`);return r.append(ns(Wo)),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 rl(e,t,n,r=!1,i=null){Bo(e,`state`,n),Bo(e,`prompt`,i??``);let{icon:a,label:o,isMonitoring:s}=Re(n,r),c=i===Yc?`Plan ready`:o;return e.toggleAttribute(`data-monitoring`,s),as(t.glyph,a),Lo(t.label,c),c}function il(e,t){return Ro(e,!t),t?(e.title=mc(t),e.firstChild||e.append(ns(Xo)),e.title):null}function al(e){let t=e.ownerId?F.get(e.ownerId):void 0,n=t?ut(t):null,r=L.ownedCountByOwnerId.get(e.card.dataset.id??``)??0;return pt({ownerName:n,ownedCount:r})}function ol(e,t,n){let r=al(n);return Lo(t.ownership,r??``),Ro(t.ownership,r===null),e.closest(`.session-row-item`)?.toggleAttribute(`data-owned`,n.ownerId!==null&&F.has(n.ownerId)),Cc(n.card,r),r}function sl(e){return e===null?null:e===1?`next up`:`#${e} in line`}function cl(e,t,n){Ro(t,n===null),Lo(t,n===null?``:String(n)),e.toggleAttribute(`data-attention-head`,n===1)}function ll(e,t,{ui:n,state:r,name:i,mergeStatus:a,attentionPosition:o}){let s=rl(e,t,r,n.awaitingBackgroundTasks,n.pendingPromptKind);Lo(t.name,i);let c=il(t.cloud,n.card.dataset.remoteWorkspace);Lo(t.task,n.taskTitle??``),Ro(t.task,!n.taskTitle||n.taskTitle===i),Bo(e,`merge`,a),$c(t.signals),Bo(e,`activity`,n._activity||``),Lo(t.elapsed,Pt(n));let l=ol(e,t,n);cl(e,t.attentionTab,o);let u=[i,c,n.taskTitle,s,l,sl(o)].filter(Boolean).join(`, `);return zo(e,`aria-label`,u),zo(e,`title`,u),s}var ul={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.`}},dl=(e,t,n=!1)=>({state:e,awaitingBackgroundTasks:n,label:n?`Monitoring`:De[e],meaning:t}),fl=Object.freeze([dl(O.DORMANT,`Not started yet.`),dl(O.STARTING,`Setting up the worktree and booting the agent.`),dl(O.RUNNING,`The agent is mid-turn.`),dl(O.RUNNING,`The turn ended but background tasks or sub-agents are still running.`,!0),dl(O.WAITING,`Waiting on a permission prompt or your answer.`),dl(O.COMPLETE,`Finished a turn you have not looked at yet.`),dl(O.IDLE,`Ready for the next prompt.`),dl(O.DONE,`The agent process ended.`),dl(O.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 pl(e,t){let n=j(`section`,`status-legend`),r=j(`dl`,`status-legend-rows`);return r.append(...t),n.append(j(`h2`,`status-legend-title`,e),r),n}function ml(e,t){let n=j(`div`,`status-legend-row`);return n.append(e,j(`dd`,`status-legend-meaning`,t)),n}function hl(){return pl(`Status colors`,fl.map(e=>{let t=j(`dt`,`status-legend-badge`),n=j(`span`,`status-legend-glyph`),r=j(`span`,`status-legend-name`);n.setAttribute(`aria-hidden`,`true`),t.append(n,r);let i=ml(t,e.meaning);return rl(i,{glyph:n,label:r},e.state,e.awaitingBackgroundTasks),i}))}function gl(){return pl(`Pull request icons`,Object.keys(ul).map(e=>{let t=ul[e],n=j(`dt`,`status-legend-badge`);return n.append(Vc(e),j(`span`,`status-legend-name`,t.label)),ml(n,t.meaning)}))}var _l=new Set(ei());function vl(){ti([..._l])}function yl(e){if(!e)return;let t=String(e);_l.has(t)||(_l.add(t),vl())}function bl(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),yl(i)}return[..._l].filter(e=>!n.has(e))}function xl(e){return!e||!_l.delete(String(e))?!1:(vl(),!0)}function Sl(e,t=`explicit-state`){let n=t===`dormant-fallback`?e||O.DORMANT:e;return n===O.DORMANT?`start-session`:n===O.COMPLETE?`dismiss`:null}function Cl({previousState:e,nextState:t,isPhoneLayout:n,isDocumentVisible:r,isDocumentFocused:i,isActiveViewer:a,hasFocusInsideTerminal:o}){return t!==O.COMPLETE||!e||e===O.COMPLETE||!r?!1:n?a:i&&o}function wl(e,t){if(!e)return null;let n=t.get(e);return!n||(n.currentState||O.DORMANT)===O.DORMANT?null:e}function Tl(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 El(e,t){let n=0;for(let r of t)Tl(r,e)&&n++;return n}function Dl(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 Ol(){let e=[];for(let[,t]of F)e.push(t.card.dataset.session??``);return e}function kl(e){return El(e,Ol())}function Al(e){return Dl(e??``,Ol())}function W(){return R.snapshot().selectedSessionId}function jl(e){R.dispatch(`selectSession`,e)}function Ml(e){return R.subscribe((t,n)=>{n.includes(`selectedSessionId`)&&e(t.selectedSessionId)})}function Nl(e,t=`explicit-state`){let n=F.get(e);if(!n)return null;let r=Sl(n.currentState,t);return r&&$s(n,{type:r,id:e}),n}function Pl(e,{rememberFocus:t=!0}={}){jl(e),t&&yi(e)}function Fl(){return wl(vi(),F)}function Il(e=ut){let t=[...F];return _t(t,e)}function Ll(e,t){let n=F.get(e);return n?$s(n,t):N(t)?!0:(H({source:`Session action`,sessionId:e,message:`${E} Try the action again once the header shows Connected.`}),!1)}var Rl=`Add session`;function zl(e){return e.type===`add-session-result`&&e.error?e.error:e.type===`error`?e.message:`The session was not added.`}var Bl=!1;function Vl(e){Bl||(Bl=!0,V(()=>import(`./dialogs-AT7hx_Yt.js`).then(t=>{Bl=!1,e(t)},()=>{Bl=!1,H({source:Rl,message:`The Add session dialog did not load. Reload the page, then add the session again.`})}),__vite__mapDeps([9,3,4,1,2,7,10,11,5])))}function Hl(){Vl(e=>e.createAddSessionDialog())}async function Ul(e,t){try{let n=Al(t),r=await it(`add-session`,{name:n,path:e},{timeoutMs:ss});if(r.type===`add-session-result`&&r.ok){Cs(Rl);return}H({source:Rl,message:zl(r)})}catch(e){H({source:Rl,message:`The session was not added: ${gs(e,ss)} Add it again once the server answers.`})}}function Wl(e,t){e&&Ul(e,t)}async function Gl(e,t){try{let n=await it(`quick-session`,{id:e},{timeoutMs:ss});if(n.type===`add-session-result`&&n.ok){Cs(Rl),n.sessionId&&t(n.sessionId);return}H({source:Rl,sessionId:e,message:zl(n)})}catch(t){H({source:Rl,sessionId:e,message:`The session was not added: ${gs(t,ss)} Add it again once the server answers.`})}}function Kl(e,t){Gl(e,t)}var ql=39e5,Jl=`Remove session`;async function Yl(e,t,n,r=[]){try{let i=await it(`remove-session`,{id:t,discardWork:n,confirmedKeptPaths:r},{timeoutMs:ql});if(i.type!==`remove-session-result`||i.ok)return;if(!i.canDiscardWork){H({source:Jl,sessionId:t,message:`"${ut(e)}" was not removed: ${i.error??`the server gave no reason`}. Try Remove again from its actions menu.`});return}wt({title:`Remove Session`,message:i.error??`Remove session "${ut(e)}"?`,confirmLabel:`Remove`,danger:!0,onConfirm:()=>{Yl(e,t,!0,(i.keptPaths??[]).map(e=>e.path))}})}catch(n){H({source:Jl,sessionId:t,message:`"${ut(e)}" was not removed: ${gs(n,ql)} Try Remove again from its actions menu.`})}}function Xl(e){let t=F.get(e);t&&Yl(t,e,!1)}var Zl=Object.freeze({[O.IDLE]:`compaction_restore_idle`,[O.COMPLETE]:`compaction_restore_complete`,[O.WAITING]:`compaction_restore_waiting`});function Ql(e){return Object.values(Zl).some(t=>t===e)}var $l=new Set([`claude-code`,`codex`]),eu=`\x1B`,tu=`${eu}[200~`,nu=`${eu}[201~`,ru=400,iu=4e3,au=/^\[Image: source: (.+)\]$/,ou=`uploads`,su=new Set([`Agent`,`Task`]),cu=/^Async agent launched/,lu=`<task-notification>`,uu=/<tool-use-id>([^<]+)<\/tool-use-id>/,du=/<task-id>([^<]+)<\/task-id>/,fu=/agentId: ([\w-]+)/,pu=/<status>([^<]+)<\/status>/,mu=6e5;function hu(e){return typeof e==`string`&&$l.has(e)}function gu(e,t){if(!hu(e))return null;let n=t.replace(/\r\n?/g,`
|
|
4
|
+
`)}var Ra={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 za(e){return e?.active!==!1||e.reason===S.notInstalled?[]:[{key:`coherence-hooks`,text:`Hooks off`,hoverText:`Coherence hooks not active: ${e.reason}${e.version?` (${e.version})`:``}`,look:{icon:`failed`,tone:`danger`},tier:Na.broken}]}function Ba(e){let t=xe.safeParse(e.kind);return{heading:`${t.success?Ra[t.data]:e.kind} | ${e.at??`Unknown time`} | ${e.id}`,text:e.text,detail:e.detail,supersedes:e.supersedes?`Supersedes: ${e.supersedes}`:null}}function Va(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 Ha=new Map,Ua=new Map,Wa=ja({requestPrefix:`coherence-journal`,dialogClass:`dialog coherence-journal-drawer`,titleText:`Coherence journal`,unavailableLabel:`Journal unavailable`,timeoutMs:5e3});function Ga(e,t){Ua.delete(e),t&&Ua.set(e,t),Za(e)}function Ka(e){Ha.delete(e),Ua.delete(e);let t=Wa.currentPanel();t?.sessionId===e&&t.close()}function qa(e){let t=Ha.get(e.id);t&&t.updatedAt>e.updatedAt||(Ha.set(e.id,e),Za(e.id))}function Ja(e){Ha.clear();for(let[t,n]of Object.entries(e.sessions))Ha.set(t,n);let t=Wa.currentPanel();t&&Za(t.sessionId)}function Ya(e){return za(Ua.get(e)??null).map(t=>({...t,onActivate:()=>Qa(e)}))}function Xa(e){return Ha.get(e)?.journal.ok===!0}function Za(e){let t=Wa.currentPanel();if(!t||t.sessionId!==e)return;let n=Va(Ua.get(e)??null,Ha.get(e)??null);t.parts.reading.replaceChildren(...n.lines.map(e=>j(`p`,null,e)))}function Qa(e){let t=j(`div`,`coherence-journal-reading`),n=j(`p`,`coherence-journal-status`,`Loading journal`);n.setAttribute(`role`,`status`);let r=j(`div`,`coherence-journal-entries`);Wa.open({sessionId:e,status:n,body:[t,n,r],parts:{reading:t,entries:r},paintBeforeRequest:()=>Za(e),buildRequest:t=>({type:`session-coherence-journal`,id:e,requestId:t})})}function $a(e){let t=Wa.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=Ba(e),n=j(`article`,`coherence-journal-entry`);return n.append(j(`h4`,null,t.heading),j(`p`,null,t.text)),t.detail&&n.append(j(`p`,null,t.detail)),t.supersedes&&n.append(j(`p`,null,t.supersedes)),n}))):t.status.textContent=`Journal unavailable: ${e.error||`could not read journal`}`)}var eo=new Set([`http:`,`https:`]);function to(e){let t;try{t=new URL(e)}catch{return null}return eo.has(t.protocol)?t.href:null}var no=/\bElectron\/\d/,ro=new Set([`localhost`,`127.0.0.1`]);function io(e){return no.test(e)}function ao({userAgent:e,pageHostname:t}){return io(e)&&ro.has(t)}function oo(e){return to(e)!==null}var so=new Set([0,1]);function co({button:e,opensInNewTab:t}){return t&&so.has(e)}function lo(){return ao({userAgent:navigator.userAgent,pageHostname:location.hostname})}function uo(e){window.open(e,`_blank`,`noopener,noreferrer`)}async function fo(e){try{let t=await et();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 po(e){!lo()||!oo(e)?uo(e):fo(e).then(t=>{t||uo(e)})}function mo(e){if(e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href]`):null;t instanceof HTMLAnchorElement&&co({button:e.button,opensInNewTab:t.target===`_blank`})&&oo(t.href)&&(e.preventDefault(),po(t.href))}function ho(e){lo()&&(e.addEventListener(`click`,mo,!0),e.addEventListener(`auxclick`,mo,!0))}var go=`#c084fc`,_o=Object.freeze({failed:{icon:ke[O.FAILED],color:`#ef4444`},waiting:{icon:ke[O.WAITING],color:`#f59e0b`}});function vo({waitingCount:e,failedCount:t}){return e>0?`waiting`:t>0?`failed`:`idle`}function yo(e){return Be[e].map(({tag:e,attributes:t})=>`<${e} ${Object.entries(t).map(([e,t])=>`${e}="${t}"`).join(` `)}/>`).join(``)}function bo(e){if(e===`idle`)return`<path d="M10 8 L22 16 L10 24Z" fill="${go}"/>`;let{icon:t,color:n}=_o[e];return`<g color="${n}" transform="translate(4 4) scale(1.5)">${yo(t)}</g>`}function xo(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"/>${bo(e)}</svg>`}function So(){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 Co=So(),wo=`idle`;function To(e){let t=vo(e);t!==wo&&(wo=t,Co.href=`data:image/svg+xml,${encodeURIComponent(xo(t))}`)}function Eo(e,t){return Number.isFinite(e)?Math.round(Math.min(t.maxPx,Math.max(t.minPx,e))):null}function Do(e,t){return e===`ArrowRight`?t:e===`ArrowLeft`?-t:null}function Oo({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=Eo(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=Do(e.key,a);if(n===null)return;e.preventDefault();let r=u(t.getBoundingClientRect().width+l*n);r!==null&&s(r)})}var ko=new Set,Ao=!1,jo=()=>{};function Mo(e){jo=e}function No(e){ko.add(e),!Ao&&(Ao=!0,requestAnimationFrame(Po))}function Po(){if(Ao=!1,ko.size===0)return;let e=new Set(ko);ko.clear(),jo(e)}document.addEventListener(`visibilitychange`,()=>{document.hidden||Po()});function Fo(e){let t=[],n=[],r=n=>e[t[n]??0]??0;e.forEach((e,i)=>{if(e<0)return;let a=0,o=t.length;for(;a<o;){let t=a+o>>1;r(t)<e?a=t+1:o=t}n[i]=a>0?t[a-1]??-1:-1,t[a]=i});let i=new Set,a=t.at(-1)??-1;for(;a>=0;)i.add(a),a=n[a]??-1;return i}function Io(e,t){let n=new Map;Array.from(e.children).forEach((e,t)=>{n.set(e,t)});let r=Fo(t.map(e=>n.get(e)??-1)),i=null;for(let n=t.length-1;n>=0;--n){let a=t[n];a&&(r.has(n)||e.insertBefore(a,i),i=a)}}function Lo(e,t){e.textContent!==t&&(e.textContent=t)}function Ro(e,t){e.hidden!==t&&(e.hidden=t)}function zo(e,t,n){e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Bo(e,t,n){e.dataset[t]!==n&&(e.dataset[t]=n)}var Vo=`http://www.w3.org/2000/svg`;function Ho(e,t){let n=document.createElementNS(Vo,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function Uo(e,t){let n=document.createElementNS(Vo,`svg`);return n.setAttribute(`width`,String(e)),n.setAttribute(`height`,String(t)),n.setAttribute(`viewBox`,`0 0 ${e} ${t}`),n.setAttribute(`aria-hidden`,`true`),n}var Wo=`M4 4L12 12M12 4L4 12`,Go=`M10 3L5 8L10 13`,Ko=`M12 8a4 4 0 1 1-8 0a4 4 0 1 1 8 0M8 1.5v2.5M8 12v2.5M1.5 8h2.5M12 8h2.5M3.4 3.4l1.77 1.77M10.83 10.83l1.77 1.77M3.4 12.6l1.77-1.77M10.83 5.17l1.77-1.77`,qo=`M3 4h10M3 8h10M3 12h10`,Jo=`M3 8h0.01M8 8h0.01M13 8h0.01`,Yo=`M8 2.5v6M5 5.5h6M5 12.5h6`,Xo=`M4.5 12.5h7a3 3 0 0 0 0.4-5.97a4 4 0 0 0-7.7 0.57a2.7 2.7 0 0 0 0.3 5.4z`,Zo=`M8 1.8l5.2 2v4c0 3.2-2.2 5.4-5.2 6.4c-3-1-5.2-3.2-5.2-6.4v-4z`,Qo=`${Zo}M2 2l12 12`,$o=`M9.2 1.5L3.5 9h4.3l-1 5.5L12.5 7H8.2z`,es=`M8.7 4.2L5.6 8.6h2.5l-.6 3.2l3.1-4.4H8.1z`,ts=`M3 13V9M8 13V3M13 13V6.5`;function ns(e,t=`2`){let n=Uo(16,16);return n.classList.add(`line-icon`),n.append(Ho(`path`,{d:e,fill:`none`,stroke:`currentColor`,"stroke-width":t,"stroke-linecap":`round`,"stroke-linejoin":`round`})),n}function rs(e,t){let{class:n,...r}=t,i=Uo(16,16);return n!==void 0&&i.classList.add(n),i.append(Ho(e,r)),i}function is(e){let t=document.createElement(`span`);t.className=`status-icon`,t.dataset.icon=e;for(let n of Be[e])t.append(rs(n.tag,n.attributes));return t}function as(e,t){e.dataset.icon!==t&&(e.dataset.icon=t,e.replaceChildren(is(t)))}var os={busy:`text-text-muted`,ok:`text-state-done`,error:`text-state-failed`},ss=15e3,cs=`Something went wrong. Details are hidden in streamer mode.`;function ls(e,t){return e!==`error`||t.startsWith(`Not connected to the server. Reconnecting.`)?t:document.documentElement.hasAttribute(`data-streamer`)?cs:t}var us={busy:`working`,ok:`complete`,error:`failed`};function ds(e){let t=e.querySelector(`:scope > .action-status-icon`),n=e.querySelector(`:scope > .action-status-text`);if(t&&n&&e.childNodes.length===2)return{iconElement:t,textElement:n};let r=j(`span`,`action-status-icon`);r.setAttribute(`aria-hidden`,`true`);let i=j(`span`,`action-status-text`);return e.replaceChildren(r,i),{iconElement:r,textElement:i}}function fs(e){e.replaceChildren(),delete e.dataset.tone}function ps(e,t,n){if(!n){fs(e);return}if(!t){fs(e),e.textContent=n;return}e.dataset.tone=t;let{iconElement:r,textElement:i}=ds(e);as(r,us[t]),i.textContent=ls(t,n)}function ms(e=`action-status`){let t=j(`p`,e);return t.setAttribute(`role`,`status`),t.hidden=!0,{element:t,show:(n,r)=>{t.className=`${e} text-xs ${os[n]}`,ps(t,n,r),t.hidden=!r},clear:()=>{t.hidden=!0,fs(t)}}}function hs(e,t){return N(e)?!0:(t.show(`error`,E),!1)}function gs(e,t){let n=e instanceof Error?e.message:``;return n===`Request timed out`?`The server did not answer within ${Math.round(t/1e3)} s.`:n||`Not connected to the server. Reconnecting.`}async function _s(e,t,n,{busyText:r,timeoutMs:i=ss}={}){r&&n.show(`busy`,r);try{let r=await it(e,t,{timeoutMs:i});return n.clear(),r}catch(e){return n.show(`error`,gs(e,i)),null}}var vs=null,ys=3e4,bs=null;function xs(){let e=document.getElementById(`header-status`),t=document.getElementById(`header-status-text`),n=document.getElementById(`header-status-age`),r=document.getElementById(`header-status-dismiss`);return!e||!t||!n||!r?null:(r.dataset.wired===void 0&&(r.dataset.wired=``,r.addEventListener(`click`,Ts)),{line:e,text:t,age:n})}function Ss(){let e=xs();if(!e||!vs)return;let t=g(Date.now()-vs.raisedAt,{...te,justNowBelowSeconds:60});e.age.textContent!==t&&(e.age.textContent=t)}function H({source:e,sessionId:t,message:n,hidesInStreamerMode:r=!0}){let i=xs();if(!i)return;let a=r?ls(`error`,n):n,o=j(`strong`,`header-status-source`,e);i.text.replaceChildren(o,` ${a}`),i.text.title=`${e}: ${a}`,vs={source:e,sessionId:t??null,raisedAt:Date.now()},Ss(),bs??=window.setInterval(Ss,ys),i.line.hidden=!1}function Cs(e,t){vs?.source===e&&(t===void 0||vs.sessionId===t)&&Ts()}function ws(e){vs?.sessionId===e&&Ts()}function Ts(){vs=null,bs!==null&&window.clearInterval(bs),bs=null;let e=xs();e&&(e.line.hidden=!0,e.text.replaceChildren(),e.text.title=``,e.age.textContent=``)}function U(e){return String(e).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}var Es={horizontal:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1]]),vertical:new Map([[`ArrowUp`,-1],[`ArrowDown`,1]]),both:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1],[`ArrowUp`,-1],[`ArrowDown`,1]])};function Ds(e,t,n){return e<0?t>0?0:n-1:((e+t)%n+n)%n}function Os(e,t,n,r){if(n===0)return null;if(e===`Home`)return 0;if(e===`End`)return n-1;let i=Es[r].get(e);return i===void 0?null:Ds(t,i,n)}function ks(e,t,n){let r=j(`button`,`popup-menu-item ${n}`);return r.type=`button`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-label`,e),r.append(j(`span`,`popup-menu-item-label`,e),j(`span`,`popup-menu-item-hint`,t)),r}function As(e){return e.key===`ArrowDown`||e.key===`ArrowUp`}function js(e,t){let n=document.activeElement,r=n instanceof HTMLElement?e.indexOf(n):-1,i=Os(t.key,r,e.length,`vertical`);i!==null&&e[i].focus()}function Ms(e){return e.key===`Home`||e.key===`End`}function Ns(e){return e.metaKey||e.altKey||e.ctrlKey}function Ps(e,t,n){let r=e.relatedTarget;return r instanceof Node&&!t.contains(r)&&!n.contains(r)}function Fs({trigger:e,menu:t,menuItems:n,isOpen:r,open:i,close:a,signal:o}){function s(e){e.preventDefault(),e.stopPropagation(),r()||i(),js(n(),e)}e.addEventListener(`keydown`,e=>{!Ns(e)&&As(e)&&s(e)},{signal:o}),t.addEventListener(`keydown`,e=>{Ns(e)||(As(e)||Ms(e))&&s(e)},{signal:o}),document.addEventListener(`keydown`,t=>{t.key!==`Escape`||t.defaultPrevented||!r()||Tt()||(t.preventDefault(),a(),e.focus())},{signal:o});for(let n of[e,t])n.addEventListener(`focusout`,n=>{r()&&Ps(n,t,e)&&a()},{signal:o})}var Is=`hover-tip`,Ls=`[data-tip-label]`,Rs=6,zs=8,Bs=null,Vs=null;function Hs(e){return e instanceof Element?e.closest(Ls):null}function Us(){return Bs||(Bs=j(`div`,`hover-tip`),Bs.id=Is,Bs.setAttribute(`role`,`tooltip`),Bs.hidden=!0,document.body.append(Bs),Bs)}function Ws(e,t){let n=j(`span`,`hover-tip-text`);n.append(j(`b`,`hover-tip-label`,t.dataset.tipLabel??``));let r=t.dataset.tipDetail;r&&n.append(j(`span`,`hover-tip-detail`,r));let i=t.querySelector(`svg`)?.cloneNode(!0);e.replaceChildren(...i?[i]:[],n)}function Gs(e,t){let n=t.getBoundingClientRect(),r=e.offsetWidth,i=window.innerWidth-r-zs,a=Math.max(zs,Math.min(n.right-r,i));e.style.left=`${a}px`,e.style.top=`${n.bottom+Rs}px`}function Ks(e){let t=Us();Vs&&Vs!==e&&Vs.removeAttribute(`aria-describedby`),Vs=e,Ws(t,e),t.hidden=!1,Gs(t,e),e.setAttribute(`aria-describedby`,Is)}function qs(){Vs&&(Vs.removeAttribute(`aria-describedby`),Vs=null,Bs&&(Bs.hidden=!0))}function Js(e){Vs===e&&(!e.dataset.tipLabel||!e.isConnected?qs():Ks(e))}var Ys=!1;function Xs(){Ys||(Ys=!0,document.addEventListener(`pointerover`,e=>{let t=Hs(e.target);t?Ks(t):qs()}),document.addEventListener(`pointerout`,e=>{Vs&&(e.relatedTarget instanceof Node&&Vs.contains(e.relatedTarget)||qs())}),document.addEventListener(`focusin`,e=>{let t=Hs(e.target);t?Ks(t):qs()}),document.addEventListener(`focusout`,qs),document.addEventListener(`pointerdown`,qs),document.addEventListener(`scroll`,qs,!0),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&qs()}))}var Zs=new WeakMap;function Qs(e){let t=Zs.get(e);if(t?.element.parentElement===e.card)return t;let n=t??ms(`session-action-status m-0 px-3 py-1`);return e.termWrap.before(n.element),Zs.set(e,n),n}function $s(e,t){let n=Qs(e);return hs(t,n)?(n.clear(),!0):!1}var ec=!1,tc=new Set;function nc(e){ec=!!e,Lc();for(let e of tc)e(ec)}function rc(e){return tc.add(e),()=>tc.delete(e)}function ic(){return ec}var ac=null;function oc(e){ac=e}var sc=null;function cc(e){sc=e}var lc=null;function uc(e){lc=e}function dc(e,t){let n=j(`span`,`tag-icon ${e}`);return n.tabIndex=0,n.setAttribute(`role`,`img`),n.setAttribute(`aria-label`,t),n}function fc(e){let t=Uo(16,16);return t.classList.add(`line-icon`),t.append(Ho(`path`,{d:e,fill:`currentColor`})),t}function pc(){let e=ns(Zo,`1.5`);return e.append(Ho(`path`,{d:es,fill:`currentColor`})),e}function mc(e){return`Runs in Coder workspace ${e}`}function hc(e,t){let n=t?`Sane YOLO`:`YOLO`;e.setAttribute(`aria-label`,n),e.dataset.tipLabel=n,e.dataset.tipDetail=t?`Skips permission prompts; Sane YOLO blocks catastrophic commands`:`Running with --dangerously-skip-permissions`,e.replaceChildren(t?pc():fc($o)),Js(e)}function gc(e,t){t&&(e.dataset.saneYolo=``),t||delete e.dataset.saneYolo;let n=e.querySelector(`.perms-badge`);n&&hc(n,t)}function _c(e,t){let n=I(e);n&&gc(n.card,t)}function vc(e,t,n,r={}){let i=n||O.INITIALIZING,a=j(`div`,`session-card`);a.dataset.id=e,a.dataset.session=t,a.dataset.state=i,r.skipPerms&&(a.dataset.skipPerms=``),r.saneYolo&&(a.dataset.saneYolo=``),r.worktree&&(a.dataset.worktree=``),r.workspace&&(a.dataset.workspace=``),r.remoteWorkspace&&(a.dataset.remoteWorkspace=r.remoteWorkspace),r.guarded&&(a.dataset.guarded=``),r.guardrailsReleased&&(a.dataset.guardrailsReleased=``),r.ephemeral&&(a.dataset.ephemeral=``),r.path&&(a.dataset.path=String(r.path));let o=j(`div`,`session-card-header`),s=j(`span`,`session-name`,t);s.title=`Double-click or press F2 to rename`,s.tabIndex=0;let c=r.skipPerms?dc(`perms-badge`,`YOLO`):null;c&&hc(c,r.saneYolo===!0);let l=j(`span`,`session-task-title`);wc(l,r.taskTitle);let u=j(`div`,`session-actions`),d=j(`div`,`session-overflow`),f=j(`button`,`btn-action btn-session-menu visible`);f.append(ns(Jo)),f.type=`button`,f.title=`Session actions`,f.setAttribute(`aria-label`,`Session actions`),f.setAttribute(`aria-haspopup`,`menu`),f.setAttribute(`aria-expanded`,`false`);let p=j(`div`,`popup-menu session-overflow-menu`);p.id=`session-menu-${e}`,p.setAttribute(`role`,`menu`),f.setAttribute(`aria-controls`,p.id);let m=ks(`Restart...`,`Into this conversation, a fresh one, or an earlier one`,`overflow-restart`);m.setAttribute(`aria-haspopup`,`dialog`);let h=ks(`Edit repositories...`,`Add or remove repositories in this workspace`,`overflow-workspace-repos`),ee=ks(`Link pull request...`,`Link or unlink pull requests for this session`,`overflow-link-pr visible`),g=ks(`Conversation view`,`Show this session as messages (experimental)`,`overflow-conversation-view`);g.setAttribute(`role`,`menuitemcheckbox`),g.setAttribute(`aria-checked`,`false`);let _=j(`button`,`tag-icon guardrails-badge`);_.type=`button`,_.setAttribute(`aria-label`,`Guardrails`),bc(_,a),ee.onclick=()=>{p.classList.remove(`open`),f.setAttribute(`aria-expanded`,`false`),xc(e)};let v=ks(`Coherence journal`,`Decisions and notes this session recorded`,`overflow-coherence-journal`);v.setAttribute(`aria-haspopup`,`dialog`);let y=()=>v.classList.toggle(`visible`,sc?.isReadable(e)===!0);f.onclick=y,f.onkeydown=y,v.onclick=()=>{p.classList.remove(`open`),f.setAttribute(`aria-expanded`,`false`),sc?.open(e)};let b=ks(`Session setup`,`MCP servers, plugins and hooks this session loaded`,`overflow-session-setup visible`);b.setAttribute(`aria-haspopup`,`dialog`),b.onclick=()=>{p.classList.remove(`open`),f.setAttribute(`aria-expanded`,`false`),lc?.(e)},p.append(m,h,g,v,b,ee),d.append(f,p);let te=j(`button`,`btn-action btn-debug`);te.append(ns(Ko)),te.title=`Debug state`,te.setAttribute(`aria-label`,`Debug session state`);let x=j(`button`,`btn-action btn-trace`);x.append(ns(qo)),x.type=`button`,x.title=`Trace`,x.setAttribute(`aria-label`,`Trace`);let S=j(`button`,`btn-action btn-remove visible`);S.append(ns(Wo)),S.type=`button`,S.title=`Remove session`,S.setAttribute(`aria-label`,`Remove session`);let C=j(`button`,`btn-action btn-face-plan`,`Plan`);C.type=`button`,C.title=`Show plan`;let ne=j(`button`,`btn-action btn-face-plan btn-docs`,`Docs`);ne.type=`button`,ne.title=`Open docs the agent surfaced`;let w=j(`button`,`btn-action btn-face-plan btn-shown`,`Shown`);w.type=`button`,w.title=`Open files the agent showed you`;let re=j(`span`,`shown-unopened-dot`);re.hidden=!0,re.title=`New shown file`,u.append(re,w,ne,C,te,x,d,S);let T=j(`div`,`session-card-tags`),ie=dc(`usage-badge`,`Usage`);ie.append(ns(ts,`2.2`)),c&&T.append(c),T.append(_,ie),Xs();let ae=j(`span`,`session-ownership`);ae.hidden=!0,o.append(s,l,ae,T,u);let oe=j(`div`,`terminal-wrap`);return a.append(o,oe),{card:a,header:o,nameEl:s,taskTitleEl:l,btnRestart:m,btnSessionMenu:f,btnWorkspaceRepos:h,btnConversationView:g,btnGuardrails:_,btnTrace:x,btnRemove:S,btnPlan:C,btnDocs:ne,btnShown:w,shownUnopenedDot:re,btnDebug:te,sessionMenu:p,termWrap:oe}}var yc={on:`Credentials, Glimmervoid state and blocked folders are off-limits to this session.`,released:`This session can read, write and reach anything your account can.`};function bc(e,t){let n=t.dataset.guarded!==void 0,r=t.dataset.ephemeral===void 0&&(n||t.dataset.guardrailsReleased!==void 0),i=n?` Click to release.`:` Click to restore.`;e.setAttribute(`aria-pressed`,String(n)),e.setAttribute(`aria-disabled`,String(!r)),e.dataset.tipLabel=n?`Guardrails on`:`Guardrails released`,e.dataset.tipDetail=`${n?yc.on:yc.released}${r?i:``}`,e.replaceChildren(ns(n?Zo:Qo,`1.6`)),Js(e)}function xc(e){let{dialog:t,close:n,actions:r,btnCancel:i}=Et({title:`Link pull request`}),a=j(`p`,`dialog-message`,`Paste a GitHub pull request URL or owner/repo#number.`),o=j(`input`,`dialog-input`);o.type=`text`,o.placeholder=`owner/repo#123`,o.autocomplete=`off`,o.spellcheck=!1,o.setAttribute(`aria-label`,`Pull request URL or owner/repo#number`);let s=j(`div`,`dialog-error`);s.setAttribute(`role`,`alert`);let c=j(`div`,`session-pr-chips dialog-linked-prs`);c.hidden=!0,ac?.(c,e);let l=j(`button`,`btn-dialog btn-dialog-confirm`,`Link`);l.type=`button`,r.append(l),t.append(c,a,o,s,r);function u(){let t=ie(o.value);t?N({type:`link-session-pr`,id:e,key:t})?n():s.textContent=E:s.textContent=`Enter a github.com pull request URL or owner/repo#number.`}i.addEventListener(`click`,n),l.addEventListener(`click`,u),o.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),u())}),requestAnimationFrame(()=>o.focus())}function Sc(e,t){e.tabIndex=0,e.setAttribute(`role`,`button`),e.addEventListener(`click`,t),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())})}function Cc(e,t){let n=e.querySelector(`.session-ownership`);n&&(Lo(n,t??``),Ro(n,t===null))}function wc(e,t){e.title=t??``,t&&e.removeAttribute(`aria-label`),t||e.setAttribute(`aria-label`,`Describe the task`),!e.querySelector(`input`)&&(e.textContent=t??``)}function Tc(e,t){let n=e.titleTargetEl?.isConnected?e.titleTargetEl:e.taskTitleEl;if(n.querySelector(`input`))return;let r=document.createElement(`input`);r.type=`text`,r.className=`session-title-input`,r.setAttribute(`aria-label`,`Task`),r.value=e.taskTitleIsCustom?e.taskTitle??``:``,r.placeholder=e.taskTitle??`What is this session working on?`,r.maxLength=120;let i=n.getAttribute(`role`),a=n.getAttribute(`tabindex`);n.removeAttribute(`role`),n.removeAttribute(`tabindex`),n.replaceChildren(r),r.focus(),r.select();function o(o){r.removeEventListener(`blur`,s),r.removeEventListener(`keydown`,c),o&&$s(e,{type:`set-session-title`,id:t,title:r.value.trim()}),n.replaceChildren(),i!==null&&n.setAttribute(`role`,i),a!==null&&n.setAttribute(`tabindex`,a),wc(n,e.taskTitle)}function s(){o(!0)}function c(e){e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),o(!0)),e.key===`Escape`&&(e.preventDefault(),o(!1))}r.addEventListener(`blur`,s),r.addEventListener(`keydown`,c)}var Ec=`session-rename-input`;function Dc(e){return!!e?.querySelector(`.${Ec}`)}function Oc(e,t,{returnsFocusToTerminal:n=!0}={}){let r=e.renameTargetEl?.isConnected?e.renameTargetEl:e.nameEl;if(!r||Dc(r))return;let i=e.card?.dataset.session??r.textContent??``,a=document.createElement(`input`);a.type=`text`,a.className=Ec,a.value=i,a.maxLength=64,r.textContent=``,r.appendChild(a),a.focus(),a.select();let o=Qs(e);function s(t){return e.card.dataset.ephemeral===void 0?ye.test(t)?[...F.values()].some(n=>n!==e&&n.card.dataset.session===t)?`Session "${t}" already exists.`:``:Se:`This session cannot be renamed`}function c(t=e.card?.dataset.session??i){r.textContent=t,e.nameEl&&e.nameEl!==r&&(e.nameEl.textContent=t),n&&e.term?.focus()}function l(){let e=a.value.trim(),t=e&&e!==i?s(e):``;t?(o.show(`error`,t),a.select()):u()}function u(){let n=a.value.trim();if(f(),!n||n===i){c();return}let r=s(n);r?(o.show(`error`,r),c()):$s(e,{type:`rename-session`,id:t,newName:n})?c(n):c()}function d(){f(),c()}function f(){a.removeEventListener(`blur`,u),a.removeEventListener(`keydown`,p)}function p(e){e.key===`Enter`&&(e.preventDefault(),l()),e.key===`Escape`&&(e.preventDefault(),d()),e.stopPropagation()}a.addEventListener(`blur`,u),a.addEventListener(`keydown`,p)}function kc(){let e=j(`button`,`debug-close`);return e.type=`button`,e.title=`Close`,e.setAttribute(`aria-label`,`Close debug overlay`),e.append(ns(Wo)),e}function Ac(e){return e?o(new Date(e)):`-`}function jc(e){return`${(Number(e||0)/1e3).toFixed(1)}s`}function Mc(e){return e.decision===`gated`?`(${Number(e.active)||0} bg)`:e.decision===`wait`||e.decision===`release`?`(quiet ${jc(e.quietMs)})`:``}function Nc(e){let t=`<span class="debug-dim">${Ac(e.ts)}</span>`;if(e.kind===`signal`){let n=U([e.signal,e.source].filter(Boolean).join(`/`));return e.action===`transition`?`${t} ${n} → <span class="debug-label">${U(e.event||``)}</span>`:e.action===`gate-held`?`${t} ${n} → held <span class="debug-dim">(${Number(e.active)||0} bg)</span>`:`${t} ${n} → <span class="debug-dim">no-op</span>`}if(e.kind===`gate`){let n=(e.repeats??0)>1?` <span class="debug-dim">x${Number(e.repeats)}</span>`:``,r=Mc(e),i=r?` <span class="debug-dim">${r}</span>`:``;return`${t} gate <span class="debug-label">${U(e.decision||`?`)}</span>${i}${n}`}if(e.kind===`notify`){let n=U(e.category||e.to||`?`);return e.category?`${t} notify <span class="debug-label">${n}</span>: fired`:`${t} notify ${n}: <span class="debug-dim">silent (${U(e.reason||``)})</span>`}return e.kind===`notify-state`?`${t} notify ${U(e.category||`?`)}: <span class="debug-dim">${U(e.from||`?`)} → ${U(e.to||`?`)}</span>`:`${t} <span class="debug-dim">${U(e.kind||`decision`)}</span>`}function Pc(e,t){if(!e.debugOverlay)return;let n=t,r=``;if(r+=`<div class="debug-section"><div class="debug-section-title">State</div>`,r+=`<div class="debug-field"><span class="debug-label">Current:</span> <span class="debug-value">${U(n.state)}</span></div>`,r+=`</div>`,r+=`<div class="debug-section"><div class="debug-section-title">Transitions (last ${n.transitions.length})</div>`,n.transitions.length===0&&(r+=`<div class="debug-field debug-dim">No transitions recorded</div>`),n.transitions.length>0)for(let e of n.transitions){let t=e.detail&&typeof e.detail==`object`?e.detail:null,n=t?[t.signal,t.source,t.deferred?`deferred`:null].filter(Boolean):[],i=n.length>0?` <span class="debug-dim">${U(n.join(`/`))}</span>`:``;r+=`<div class="debug-field"><span class="debug-dim">${Ac(e.timestamp)}</span> ${U(e.from)} → ${U(e.to)} <span class="debug-label">${U(e.event)}</span>${i}</div>`}r+=`</div>`;let i=n.detection||{},a=i.lastSignal,o=i.titleState||{};r+=`<div class="debug-section"><div class="debug-section-title">Detection</div>`,r+=`<div class="debug-field"><span class="debug-label">Last signal:</span> <span class="debug-value">${a?`${U(a.signal)} (${U(a.source||`?`)}${a.confidence?`/${U(a.confidence)}`:``})`:`none`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hooks injected:</span> <span class="debug-value">${i.hooksInjected?`yes`:`no`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hook seen:</span> <span class="debug-value">${i.hookSeen?`yes`:`no (degraded → title)`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Title state:</span> <span class="debug-value">${U(o.lastKind||`none`)}${o.hasSeenSpinner?` · spun`:``}</span></div>`,r+=`</div>`;let s=i.agents||{},c=i.gate;r+=`<div class="debug-section"><div class="debug-section-title">Agents</div>`,r+=`<div class="debug-field"><span class="debug-label">Active:</span> <span class="debug-value">${Number(s.active)||0} (counted ${Number(s.counted)||0}, declared ${Number(s.declared)||0})</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Idle:</span> <span class="debug-value">${Number(s.idleNames)||0} names, ${Number(s.idleTasks)||0} tasks</span></div>`;let l=c?`held ${jc(c.heldForMs)} (seq ${Number(c.seq)||0}, lastActivity ${Number(c.lastActivitySeq)||0})`:`none`;r+=`<div class="debug-field"><span class="debug-label">Gate:</span> <span class="debug-value">${U(l)}</span></div>`,r+=`</div>`;let u=Array.isArray(n.decisions)?n.decisions:[];r+=`<div class="debug-section"><div class="debug-section-title">Decisions (last ${u.length})</div>`,u.length===0&&(r+=`<div class="debug-field debug-dim">No decisions recorded</div>`);for(let e of u)r+=`<div class="debug-field">${Nc(e)}</div>`;r+=`</div>`,e.debugOverlay.innerHTML=r,e.debugOverlay.prepend(kc())}function Fc(e,t){if(e.debugOpen){Ic(e);return}let n=document.createElement(`div`);n.className=`debug-overlay`,n.innerHTML=`<div class="debug-field debug-dim">Loading...</div>`,n.prepend(kc()),e.card.appendChild(n),e.debugOverlay=n,e.debugOpen=!0,n.addEventListener(`click`,t=>{t.stopPropagation(),t.target instanceof Element&&t.target.closest(`.debug-close`)&&Ic(e)}),N({type:`debug-state`,id:t})}function Ic(e){e.debugOverlay&&=(e.debugOverlay.remove(),null),e.debugOpen=!1}function Lc(){for(let[,e]of F)e.btnDebug.classList.toggle(`visible`,ec),e.btnTrace.classList.toggle(`visible`,ec),!ec&&e.debugOpen&&Ic(e)}function Rc(e){let t=typeof e.id==`string`?F.get(e.id):void 0;t?.debugOpen&&Pc(t,e.payload)}function zc(e){I(e)?.debugOpen&&N({type:`debug-state`,id:e})}var Bc={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 Vc(e,t){let n=Uo(16,16);return n.classList.add(`pr-status-icon`),t&&(n.dataset.tone=t),n.append(Ho(`path`,{d:Bc[e],fill:`currentColor`})),n}function Hc(e,{className:t=``,linkUrl:n,ariaLabel:r,onActivate:i}={}){let a=`signal ${t}`.trim(),o=n?Ae(a,``,n,e.hoverText):j(`span`,a);return o.title=e.hoverText,r&&o.setAttribute(`aria-label`,r),e.look&&(o.dataset.tone=e.look.tone,o.append(Vc(e.look.icon,e.look.tone))),o.append(e.text),i&&Uc(o,i,!n),o}function Uc(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 Wc(e){e.removeAttribute(`tabindex`),e.removeAttribute(`role`)}function Gc(e,t){if(e.closest(`button, a[href]`))for(let e of t){Wc(e);for(let t of e.querySelectorAll(`[role="button"]`))Wc(t)}}function Kc(e){if(e.overflowCount===0)return null;let t=j(`span`,`signal-overflow`,`+${e.overflowCount}`);return t.title=e.overflowHoverText,t}function qc(e,t,n=e=>Hc(e,e)){let r=La(t);if(e.dataset.signalSignature===r)return;e.dataset.signalSignature=r;let i=Ia(t),a=i.visible.map(n),o=Kc(i);o&&a.push(o),Gc(e,a),e.hidden=a.length===0,e.replaceChildren(...a)}var Jc=[],Yc=`plan`,Xc={parked:{text:`PARKED`,hoverText:`Merge parked`,look:{icon:`failed`,tone:`danger`},tier:Na.broken},merging:{text:`MERGING`,hoverText:`Merging`,look:{icon:`queued`,tone:`wait`},tier:Na.waiting}};function Zc(e){Jc.push(e)}function Qc(e){let t=Xc[e];return t?[{...t,key:`merge`}]:[]}function $c(e){let t=e.closest(`.session-row`),n=t?.dataset.id;t&&n&&qc(e,[...Qc(t.dataset.merge??``),...Jc.flatMap(e=>e(n))])}function el(){for(let e of document.querySelectorAll(`.session-row-signals`))$c(e)}function tl(e,t=``){let n=j(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:A(n,`.session-row-glyph`),label:A(n,`.session-row-label`),ownership:A(n,`.session-row-ownership`),name:A(n,`.session-row-name`),cloud:A(n,`.session-row-cloud`),task:A(n,`.session-row-task`),signals:A(n,`.session-row-signals`),elapsed:A(n,`.session-row-elapsed`),attentionTab:A(n,`.session-row-attention-tab`)}}}function nl(e,t){let n=j(`div`,`session-row-item`),r=j(`button`,`session-row-remove`);return r.append(ns(Wo)),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 rl(e,t,n,r=!1,i=null){Bo(e,`state`,n),Bo(e,`prompt`,i??``);let{icon:a,label:o,isMonitoring:s}=Re(n,r),c=i===Yc?`Plan ready`:o;return e.toggleAttribute(`data-monitoring`,s),as(t.glyph,a),Lo(t.label,c),c}function il(e,t){return Ro(e,!t),t?(e.title=mc(t),e.firstChild||e.append(ns(Xo)),e.title):null}function al(e){let t=e.ownerId?F.get(e.ownerId):void 0,n=t?ut(t):null,r=L.ownedCountByOwnerId.get(e.card.dataset.id??``)??0;return pt({ownerName:n,ownedCount:r})}function ol(e,t,n){let r=al(n);return Lo(t.ownership,r??``),Ro(t.ownership,r===null),e.closest(`.session-row-item`)?.toggleAttribute(`data-owned`,n.ownerId!==null&&F.has(n.ownerId)),Cc(n.card,r),r}function sl(e){return e===null?null:e===1?`next up`:`#${e} in line`}function cl(e,t,n){Ro(t,n===null),Lo(t,n===null?``:String(n)),e.toggleAttribute(`data-attention-head`,n===1)}function ll(e,t,{ui:n,state:r,name:i,mergeStatus:a,attentionPosition:o}){let s=rl(e,t,r,n.awaitingBackgroundTasks,n.pendingPromptKind);Lo(t.name,i);let c=il(t.cloud,n.card.dataset.remoteWorkspace);Lo(t.task,n.taskTitle??``),Ro(t.task,!n.taskTitle||n.taskTitle===i),Bo(e,`merge`,a),$c(t.signals),Bo(e,`activity`,n._activity||``),Lo(t.elapsed,Pt(n));let l=ol(e,t,n);cl(e,t.attentionTab,o);let u=[i,c,n.taskTitle,s,l,sl(o)].filter(Boolean).join(`, `);return zo(e,`aria-label`,u),zo(e,`title`,u),s}var ul={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.`}},dl=(e,t,n=!1)=>({state:e,awaitingBackgroundTasks:n,label:n?`Monitoring`:De[e],meaning:t}),fl=Object.freeze([dl(O.DORMANT,`Not started yet.`),dl(O.STARTING,`Setting up the worktree and booting the agent.`),dl(O.RUNNING,`The agent is mid-turn.`),dl(O.RUNNING,`The turn ended but background tasks or sub-agents are still running.`,!0),dl(O.WAITING,`Waiting on a permission prompt or your answer.`),dl(O.COMPLETE,`Finished a turn you have not looked at yet.`),dl(O.IDLE,`Ready for the next prompt.`),dl(O.DONE,`The agent process ended.`),dl(O.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 pl(e,t){let n=j(`section`,`status-legend`),r=j(`dl`,`status-legend-rows`);return r.append(...t),n.append(j(`h2`,`status-legend-title`,e),r),n}function ml(e,t){let n=j(`div`,`status-legend-row`);return n.append(e,j(`dd`,`status-legend-meaning`,t)),n}function hl(){return pl(`Status colors`,fl.map(e=>{let t=j(`dt`,`status-legend-badge`),n=j(`span`,`status-legend-glyph`),r=j(`span`,`status-legend-name`);n.setAttribute(`aria-hidden`,`true`),t.append(n,r);let i=ml(t,e.meaning);return rl(i,{glyph:n,label:r},e.state,e.awaitingBackgroundTasks),i}))}function gl(){return pl(`Pull request icons`,Object.keys(ul).map(e=>{let t=ul[e],n=j(`dt`,`status-legend-badge`);return n.append(Vc(e),j(`span`,`status-legend-name`,t.label)),ml(n,t.meaning)}))}var _l=new Set(ei());function vl(){ti([..._l])}function yl(e){if(!e)return;let t=String(e);_l.has(t)||(_l.add(t),vl())}function bl(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),yl(i)}return[..._l].filter(e=>!n.has(e))}function xl(e){return!e||!_l.delete(String(e))?!1:(vl(),!0)}function Sl(e,t=`explicit-state`){let n=t===`dormant-fallback`?e||O.DORMANT:e;return n===O.DORMANT?`start-session`:n===O.COMPLETE?`dismiss`:null}function Cl({previousState:e,nextState:t,isPhoneLayout:n,isDocumentVisible:r,isDocumentFocused:i,isActiveViewer:a,hasFocusInsideTerminal:o}){return t!==O.COMPLETE||!e||e===O.COMPLETE||!r?!1:n?a:i&&o}function wl(e,t){if(!e)return null;let n=t.get(e);return!n||(n.currentState||O.DORMANT)===O.DORMANT?null:e}function Tl(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 El(e,t){let n=0;for(let r of t)Tl(r,e)&&n++;return n}function Dl(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 Ol(){let e=[];for(let[,t]of F)e.push(t.card.dataset.session??``);return e}function kl(e){return El(e,Ol())}function Al(e){return Dl(e??``,Ol())}function W(){return R.snapshot().selectedSessionId}function jl(e){R.dispatch(`selectSession`,e)}function Ml(e){return R.subscribe((t,n)=>{n.includes(`selectedSessionId`)&&e(t.selectedSessionId)})}function Nl(e,t=`explicit-state`){let n=F.get(e);if(!n)return null;let r=Sl(n.currentState,t);return r&&$s(n,{type:r,id:e}),n}function Pl(e,{rememberFocus:t=!0}={}){jl(e),t&&yi(e)}function Fl(){return wl(vi(),F)}function Il(e=ut){let t=[...F];return _t(t,e)}function Ll(e,t){let n=F.get(e);return n?$s(n,t):N(t)?!0:(H({source:`Session action`,sessionId:e,message:`${E} Try the action again once the header shows Connected.`}),!1)}var Rl=`Add session`;function zl(e){return e.type===`add-session-result`&&e.error?e.error:e.type===`error`?e.message:`The session was not added.`}var Bl=!1;function Vl(e){Bl||(Bl=!0,V(()=>import(`./dialogs-ThZLhht_.js`).then(t=>{Bl=!1,e(t)},()=>{Bl=!1,H({source:Rl,message:`The Add session dialog did not load. Reload the page, then add the session again.`})}),__vite__mapDeps([9,3,4,1,2,7,10,11,5])))}function Hl(){Vl(e=>e.createAddSessionDialog())}async function Ul(e,t){try{let n=Al(t),r=await it(`add-session`,{name:n,path:e},{timeoutMs:ss});if(r.type===`add-session-result`&&r.ok){Cs(Rl);return}H({source:Rl,message:zl(r)})}catch(e){H({source:Rl,message:`The session was not added: ${gs(e,ss)} Add it again once the server answers.`})}}function Wl(e,t){e&&Ul(e,t)}async function Gl(e,t){try{let n=await it(`quick-session`,{id:e},{timeoutMs:ss});if(n.type===`add-session-result`&&n.ok){Cs(Rl),n.sessionId&&t(n.sessionId);return}H({source:Rl,sessionId:e,message:zl(n)})}catch(t){H({source:Rl,sessionId:e,message:`The session was not added: ${gs(t,ss)} Add it again once the server answers.`})}}function Kl(e,t){Gl(e,t)}var ql=39e5,Jl=`Remove session`;async function Yl(e,t,n,r=[]){try{let i=await it(`remove-session`,{id:t,discardWork:n,confirmedKeptPaths:r},{timeoutMs:ql});if(i.type!==`remove-session-result`||i.ok)return;if(!i.canDiscardWork){H({source:Jl,sessionId:t,message:`"${ut(e)}" was not removed: ${i.error??`the server gave no reason`}. Try Remove again from its actions menu.`});return}wt({title:`Remove Session`,message:i.error??`Remove session "${ut(e)}"?`,confirmLabel:`Remove`,danger:!0,onConfirm:()=>{Yl(e,t,!0,(i.keptPaths??[]).map(e=>e.path))}})}catch(n){H({source:Jl,sessionId:t,message:`"${ut(e)}" was not removed: ${gs(n,ql)} Try Remove again from its actions menu.`})}}function Xl(e){let t=F.get(e);t&&Yl(t,e,!1)}var Zl=Object.freeze({[O.IDLE]:`compaction_restore_idle`,[O.COMPLETE]:`compaction_restore_complete`,[O.WAITING]:`compaction_restore_waiting`});function Ql(e){return Object.values(Zl).some(t=>t===e)}var $l=new Set([`claude-code`,`codex`]),eu=`\x1B`,tu=`${eu}[200~`,nu=`${eu}[201~`,ru=400,iu=4e3,au=/^\[Image: source: (.+)\]$/,ou=`uploads`,su=new Set([`Agent`,`Task`]),cu=/^Async agent launched/,lu=`<task-notification>`,uu=/<tool-use-id>([^<]+)<\/tool-use-id>/,du=/<task-id>([^<]+)<\/task-id>/,fu=/agentId: ([\w-]+)/,pu=/<status>([^<]+)<\/status>/,mu=6e5;function hu(e){return typeof e==`string`&&$l.has(e)}function gu(e,t){if(!hu(e))return null;let n=t.replace(/\r\n?/g,`
|
|
5
5
|
`).trim();return n?[{data:n.includes(`
|
|
6
6
|
`)?`${tu}${n}${nu}`:n,delayBeforeMs:0},{data:`\r`,delayBeforeMs:ru}]:null}function _u(e){return hu(e)?[{data:`\r`,delayBeforeMs:0}]:null}function vu(e){return hu(e)?[{data:eu,delayBeforeMs:0}]:null}function yu(e,t){return e===O.WAITING&&typeof t==`string`&&t!==``}function bu(e,t){return e.uuid??`${e.kind}-${e.ts}-${t}`}function xu(e){return typeof e.agentId==`string`}function Su(e){let t=au.exec(e.trim());if(!t)return null;let[n,r,i]=t[1].split(/[\\/]/).slice(-3);return n!==ou||!r||!i?null:`/upload/${encodeURIComponent(r)}/${encodeURIComponent(i)}`}function Cu(e,t){let n=e[e.length-1];n?.kind===`user`&&n.imageUrls.push(t)}function wu(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(!cu.test(t.content)){e.state=`done`;return}let r=fu.exec(t.content)?.[1];r&&n.set(r,e)}function Eu(e){return e.trimStart().startsWith(lu)}function Du(e,t,n){let r=uu.exec(e)?.[1];if(r)return t.get(r);let i=du.exec(e)?.[1];return i?n.get(i):void 0}function Ou(e,t,n){let r=Du(e,t,n);r?.state===`running`&&(r.state=pu.exec(e)?.[1]===`completed`?`done`:`failed`)}function ku(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=bu(e,o);if(!xu(e)){if((e.kind===`prompt`||e.kind===`expansion`)&&Eu(e.text))Ou(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(`
|
|
7
7
|
`)){let e=Su(n);e&&Cu(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),!su.has(e.name))return;let o={key:l,description:wu(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 Au(e){return e.flatMap(e=>e.kind===`work`?e.agentRuns.filter(e=>e.state===`running`):[])}function ju(e){let t=e.at(-1);return t?.kind===`work`?t:null}function Mu(e){return new Set(e.flatMap(e=>e.kind===`user`?[e.key]:[]))}function Nu(e,t,n){if(n-e.sentAt>mu)return!0;let r=e.text.trim();return t.some(t=>t.kind===`user`&&!e.userKeysAtSend.has(t.key)&&t.text.includes(r))}function Pu(e){return`${e} ${e===1?`agent`:`agents`}`}function Fu(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 Iu(e){let t=e.agentRuns.length>0?`, ${Pu(e.agentRuns.length)}`:``;return`Worked ${Fu(e.endedAt-e.startedAt)}${t}`}function Lu(e,t){let n=t>0?`${Pu(t)} running`:``;return e===null?n:n?`Working ${Fu(e)}, ${n}`:`Working ${Fu(e)}`}function Ru(e){return e.length<=iu?e:e.slice(e.length-iu)}var zu=`(max-width: 768px)`,Bu=`(pointer: coarse)`;function Vu({coarse:e,narrowWidth:t}={}){return e===!0&&t===!0?`phone`:`desktop`}var Hu=window.matchMedia?.(Bu),Uu=window.matchMedia?.(zu);function Wu(){return Vu({coarse:!!Hu?.matches,narrowWidth:!!Uu?.matches})}function Gu(e){document.documentElement.dataset.layout!==e&&(document.documentElement.dataset.layout=e)}function Ku(){R.subscribe((e,t)=>{t.includes(`layout`)&&Gu(e.layout)});let e=Wu();Gu(e),R.dispatch(`setLayout`,e);let t=()=>R.dispatch(`setLayout`,Wu());return Hu?.addEventListener?.(`change`,t),Uu?.addEventListener?.(`change`,t),e}function qu(){return R.snapshot().layout===`phone`}function Ju(e){return R.subscribe((t,n)=>{n.includes(`layout`)&&e(t.layout)})}var Yu=2,Xu=8,Zu=/^ {0,3}(`{3,}|~{3,})([^`]*)$/,Qu=/^(\s*)(?:([-+*])|(\d+)[.)])\s+(.+)$/,$u=/^ {0,3}(?:(?:\*\s*){3,}|(?:-\s*){3,}|(?:_\s*){3,})$/,ed=/^:?-{3,}:?$/,td=/^[A-Za-z0-9_+#.-]{1,32}$/;function nd(e){return c(e,{overlongLine:`reject`})}function rd(e){let t=e.trim().split(/\s+/)[0]??``;return td.test(t)?t:``}function id(e,t){if(!t)return;let n=e.at(-1);n?.type===`text`?n.text+=t:e.push({type:`text`,text:t})}function ad(e,t){return e.startsWith(`**`,t)?`**`:e.startsWith(`__`,t)?`__`:null}function od(e,t){return e.startsWith(`*`,t)?`*`:e.startsWith(`_`,t)?`_`:null}function sd(e,t,n){let r=e.indexOf(t,n);return r>n?r:-1}function cd(e,t){let n=e.indexOf(t);return function(r){return n===-1?-1:(n>=r||(n=e.indexOf(t,r)),n)}}function ld(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>Yu)return-1}return-1}function ud(e,t,n){if(e[t]!==`[`)return null;let r=n(t+1);if(r<=t+1||e[r+1]!==`(`)return null;let i=ld(e,r+2);return i===-1?null:{label:e.slice(t+1,r),target:e.slice(r+2,i),end:i+1}}function dd(e){let t=[],n=cd(e,`]`),r=0;for(;r<e.length;){let i=ud(e,r,n);if(i){let e=to(i.target.trim());e&&t.push({type:`link`,href:e,children:dd(i.label)}),e||id(t,i.label),r=i.end;continue}if(e.startsWith("`",r)){let n=sd(e,"`",r+1);if(n!==-1){t.push({type:`code`,text:e.slice(r+1,n)}),r=n+1;continue}}let a=ad(e,r);if(a){let n=sd(e,a,r+a.length);if(n!==-1){t.push({type:`strong`,children:dd(e.slice(r+a.length,n))}),r=n+a.length;continue}}let o=od(e,r);if(o){let n=sd(e,o,r+1);if(n!==-1){t.push({type:`emphasis`,children:dd(e.slice(r+1,n))}),r=n+1;continue}}id(t,e[r]),r++}return t}function fd(e){return e.map(e=>e.type===`text`||e.type===`code`?e.text:fd(e.children)).join(``)}var pd=`plan-h-`;function md(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),`${pd}${r===1?n:`${n}-${r}`}`}function hd(e){if(typeof e!=`string`||!e.includes(`|`))return!1;let t=gd(e);return t.length<2?!1:t.every(e=>ed.test(e))}function gd(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 _d(e){let t=Qu.exec(e);return t?{indent:t[1].replace(/\t/g,` `).length,ordered:!!t[3],content:t[4]}:null}function vd(e,t,n,r){let i=_d(e[t]);if(!i)return null;let a=[],o=i.ordered,s=i.indent,c=t;for(;c<e.length;){let t=_d(e[c]);if(!t||t.indent<s)break;if(t.indent>s){if(r>=Xu)break;let t=vd(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:dd(t.content)}]}),c++}}return{block:{type:`list`,ordered:o,items:a},next:c}}function yd(e,t){let n=e[t]??``;return n.trim()===``||nd(n)||Zu.test(n)||$u.test(n)||_d(n)||/^ {0,3}>/.test(n)?!0:t+1<e.length&&n.includes(`|`)&&hd(e[t+1])}function bd(e,t,n){let r=[],i=0;for(;i<e.length;){let a=e[i];if(a.trim()===``){i++;continue}let o=Zu.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:rd(o[2]),text:t.join(`
|
|
@@ -79,6 +79,6 @@ import{l as e,m as t,n,o as r,s as i,u as a}from"./zod-BRLv4KqJ.js";import{$ as
|
|
|
79
79
|
</table>
|
|
80
80
|
</div>
|
|
81
81
|
`}function __(){if(!s_)return;let e=n_(a_,i_?.anomalies),t=s_.hidden;s_.hidden=!e,e&&t&&i_&&(h_(),o_&&g_())}function v_(e){a_=e,__()}function y_(e){if(s_)return s_;let t=m_();return e.appendChild(t),__(),t}function b_(e){i_=e,__(),s_&&!s_.hidden&&(h_(),o_&&g_())}var x_=`#plan/`;function S_(e){return`${x_}${encodeURIComponent(e)}`}function C_(e){if(!e.startsWith(x_))return null;let t=e.slice(6);if(!t||t.includes(`/`))return null;try{return decodeURIComponent(t)||null}catch{return null}}var w_=Object.freeze([{kind:`approve`,label:`Approve`},{kind:`revise`,label:`Send feedback`},{kind:`terminal`,label:`Answer in terminal`}]);function T_(e){return e===`approve`||e===`approve-accept-edits`}function E_(e){return(e.state===`decided`||e.state===`closed`)&&T_(e.lastDecision)}function D_(e,t){let n=e.reviews.find(e=>e.agentId===t);return n!==void 0&&E_(n)}function O_(e,t){return e.reviews.find(e=>e.agentId===t)??e.reviews[0]??null}function k_(e){let t=O_(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 A_(e,t){return O_(e,t)?.openRevision?.revision??null}function j_(e,t,n){if(n===null)return null;let r=O_(e,t)?.revisions??[],i=r.findIndex(e=>e.revision===n);return i<=0?null:r[i-1].revision}function M_(e,t){let n=t-e;return Number.isFinite(n)?g(n,{rounding:`floor`,wording:`abbreviated`,suffix:` ago`,justNowBelowSeconds:60}):`just now`}function N_(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 P_(e,t,n){let r=N_(e,t,n),i=(e.pendingCommentCount??0)>0,a=e.hasUnsavedComment!==!0;return w_.map(({kind:e,label:t})=>({kind:e,label:t,enabled:r&&(e===`terminal`||a&&(e===`revise`?i:!i))}))}function F_(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 I_(e){let t=0;for(let n of e.comments??[])t+=n.comment.trim().length+(n.heading?.length??0);return t}function L_(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength+ce}function R_(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 ${be} characters, so nothing was sent`:I_(e)>1e4?`the feedback composes more than the ${v} characters the hook reply carries, so nothing was sent`:L_(e)>_e?`the decision is larger than one control frame carries, so nothing was sent`:null}function z_(e){return e?`, ${e}`:``}function B_(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=F_(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 V_(e,t,n){let r=B_(e,t,n);return r?`${r}${z_(e.problem)}`:e.problem??``}function H_(e){let t=O_(e.state,e.selectedAgentId),n=k_(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:j_(e.state,t?.agentId??null,n),status:V_(e,t,n),actions:P_(e,t,n),modes:[{kind:`read`,label:`Read`,enabled:!0},{kind:`changes`,label:`Changes`,enabled:j_(e.state,t?.agentId??null,n)!==null&&e.isDraft!==!0},{kind:`edit`,label:`Edit`,enabled:N_(e,t,n)}]}}function U_(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 W_({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 G_=10;function K_(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 q_(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 J_(e,t,n){let r=e.get(t)??[];r.push(n),e.set(t,r)}function Y_(e,t){for(let n of e.hotspots)J_(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<G_||J_(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 X_(e,t){return t.severity-e.severity||e.openPath.localeCompare(t.openPath)||e.dedupeKey.localeCompare(t.dedupeKey)}function Z_(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:K_(r)});let r=new Map,i=new Map,a=e.error?[e.error]:[];for(let t of e.repos){for(let e of q_(t,n))r.has(e.dedupeKey)||r.set(e.dedupeKey,e);Y_(t,i),t.error&&a.push(e.repos.length>1?`${t.name}: ${t.error}`:t.error)}return{worthALook:[...r.values()].sort(X_),hintsByOpenPath:i,repos:e.repos.map(e=>({name:e.name,sessionPathPrefix:e.sessionPathPrefix})),errors:a}}function Q_(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 $_=5;function ev(e,t){let n=j(`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(j(`span`,`review-look-file`,e.path),j(`span`,`review-look-text`,e.text)),n.addEventListener(`click`,()=>t(e.openPath)),n}function tv(e,{isShowingAll:t,onShowAll:n,onOpenFile:r}){if(e.worthALook.length===0&&e.errors.length===0)return null;let i=j(`section`,`review-look`);if(i.append(j(`h3`,`review-group-label`,`Worth a look`)),e.errors.length>0){let t=j(`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,$_);if(a.length>0){let e=j(`div`,`review-look-list`);for(let t of a)e.append(ev(t,r));i.append(e)}let o=e.worthALook.length-a.length;if(o===0)return i;let s=j(`div`,`review-look-more`),c=j(`button`,`review-look-show-all`,`Show all`);return c.type=`button`,c.addEventListener(`click`,n),s.append(j(`span`,`review-look-more-count`,`+${o} more`),c),i.append(s),i}function nv(e){return(e??[]).map(e=>{let t=j(`span`,`review-file-hint`,e.text);return t.title=e.title,t})}function rv(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 iv(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=rv(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 av(e,t){return t===`merged`||t===`none`||e===`parked`&&t===`pending-review`}function ov(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 sv({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=fv(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 cv({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?sv({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 lv(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 ${fv(t)}.`}function uv(e,t){return e.namesMergeTarget?null:`merges into ${fv(t)}`}function dv({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 fv(e){return e||`base`}function pv(e,t){return`Merge into ${fv(e)}, push it, and rebase this worktree, then keep working (${t})`}function mv(e){return e===`base-diverged`?`Resync the base branch by hand, then Merge again.`:`Needs manual merge`}function hv(e,t,n){let r=e!==`parked`||e===`parked`&&t===`base-diverged`;return{isRendered:r,isEnabled:r&&e!==`merging`&&n}}function gv({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 _v(e){return e.map(e=>{let t=e.member?`${e.member}/ `:``,n=y(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 vv({fetched:e,changedFileCount:t,hasCommits:n}){return!e||t>0||n}function yv(e){return e||`its upstream`}function bv(e){if(!e)return null;let t=e.branch||`Base branch`,{state:n,ahead:r,behind:i}=e,a=yv(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 xv(e){return!e||e.fetched===!1?`recheck`:e.state===`ahead`||e.state===`behind`?`resync`:`recheck`}function Sv(e,t,n){let r=n?` (${t})`:``;if(!e||xv(e)===`recheck`)return`Click to fetch and check again${r}`;let i=e.branch||`Base branch`,a=yv(e.upstream);return e.state===`behind`?`Click to fast-forward ${i} to ${a}${r}`:`Click to push ${i} to ${a}${r}`}function Cv(e){return e?.state!==`in-sync`||e.fetched===!1}function wv(e){if(e.error)return`Resync failed: ${e.error}`;let t=e.branch||`The base branch`,n=yv(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 Tv=new Set([`pending-review`,`parked`]),Ev=600,Dv=pr(`merge`,Bd),Ov=pr(`resolve-or-resync`,Bd),kv={minPx:260,maxPx:700},Av=16,jv=5e3,Mv=new Map,Nv=new Map,Pv=new Map,Fv=new Map,Iv=new Map,Lv=new Map,Rv=new Set,zv=new WeakMap,Bv=new WeakMap,Vv=new Set,Hv=new Set,Uv=!1,Wv=null,Gv=null,K=null,q=null,Kv=null,qv=null,Jv=null,Yv=null,Xv=null,Zv=!1,Qv=null,$v=null,ey=null,ty=null,ny=new Map,J=null,ry=null;function iy(e,t){let n=j(`button`,`review-icon-button`);return n.type=`button`,n.title=e,n.setAttribute(`aria-label`,e),n.append(ns(t)),n}function ay(){Zv=!1,K?.querySelector(`.review-more-menu`)?.remove(),K?.querySelector(`.review-more-button`)?.setAttribute(`aria-expanded`,`false`)}function oy({panel:e}){if(Gv=e,!Gv)return;let t=Gv,n=j(`div`,`review-sidebar-head`),r=j(`span`,`review-sidebar-title`,`Review`);Xv=j(`span`,`review-sidebar-session`),r.append(Xv);let i=e=>{t.toggleAttribute(`data-collapsed`,e),Yr(!e)},a=iy(`Close review`,`M6 3L11 8L6 13`);a.classList.add(`review-sidebar-close`),a.addEventListener(`click`,()=>i(!0)),n.append(r,a);let o=j(`div`,`review-sidebar-rail`),s=iy(`Open review`,`M10 3L5 8L10 13`);s.classList.add(`review-sidebar-open`),s.addEventListener(`click`,()=>i(!1)),qv=j(`div`,`review-rail-status`),Jv=j(`span`,`review-rail-added`),Yv=j(`span`,`review-rail-removed`),qv.append(Jv,Yv),Kv=j(`span`,`review-rail-label`,`Review`),o.append(s,Kv,qv),K=j(`div`,`review-controls`),q=j(`div`,`review-sidebar-body`);let c=j(`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,K,q,c),t.toggleAttribute(`data-collapsed`,!Jr()),cy(q),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&Zv&&(e.preventDefault(),ay(),K?.querySelector(`.review-more-button`)?.focus())}),document.addEventListener(`pointerdown`,e=>{Zv&&e.target instanceof Element&&(K?.contains(e.target)&&e.target.closest(`.review-more-button, .review-more-menu`)||ay())}),Oo({resizer:c,column:t,widthHost:t,widthProperty:`--sidebar-width`,bounds:kv,keyStepPx:Av,getStoredWidth:bi,setStoredWidth:xi,growsLeftward:!0}),Ml(e=>{Zv=!1,ey=null,Vv.clear(),Hv.clear(),Uv=!1,Wv=null,e&&Fy(e),e&&!Ly(e)&&Ry(e),Y()}),Y()}function sy(e,t){let n=Mv.get(e);Mv.set(e,t),av(n,t)&&(Pv.delete(e),Fv.delete(e),Iv.delete(e),e===W()&&Iy(e)),e===W()&&Y()}function cy(e){let t=!1,n=null,r=null,i=e=>N({type:`watch-session-changes`,id:e}),a=()=>{let e=t&&document.visibilityState===`visible`?W():null;e!==n&&(r&&clearInterval(r),r=null,n=e,i(e),e&&(r=setInterval(()=>i(e),de)))};new IntersectionObserver(e=>{t=e[e.length-1]?.isIntersecting??!1,a()}).observe(e),document.addEventListener(`visibilitychange`,a),Ml(a)}function ly(e){Gv&&(e?(Le(Gv,e),Y()):(Ne(Gv),Y()))}function uy(e,t,n=null){let r=t||`none`;Nv.set(e,n);let i=ny.get(e);i!==void 0&&i!==r&&ny.delete(e),sy(e,r)}function dy(e){let t=P(e);t&&ny.delete(t)&&t===W()&&Y()}function fy(e,t,n=null){Nv.set(e,n),ny.delete(e),sy(e,t||`none`)}function py(e,t){Pv.set(e,t),Fv.delete(e),e===W()&&(Wv&&Wy(Wv,t),Y(),Gy())}function my(e,t){let n=P(e);n&&(Fv.set(n,t),n===W()&&Y())}function hy(e,t){let n=P(e);if(!n)return;let r=_.safeParse(t);r.success&&r.data.sessionId===n&&(Iv.set(n,r.data),n===W()&&Y())}function gy(e,t){let n=P(e),r=t;Lv.set(n,r),r&&r.action!==void 0&&_y(n,r),n===W()&&Y()}function _y(e,t){Rv.delete(e),clearTimeout(ry??void 0),ry=null;let n=wv(t);J=n?{forId:e,text:n,isError:!!t.error}:null,J&&!J.isError&&(ry=setTimeout(()=>{J&&J.forId===e&&(J=null),Y()},5e3))}function vy(e){let t=P(e);t&&t===W()&&Fy(t)}function yy(e){let t=P(e);if(t!==W())return;let n=!Pv.has(t)||Fv.has(t),r=!Iv.has(t)||by(Iv.get(t));n&&Fy(t),r&&!n&&Iy(t),Y()}function by(e){return e?!!e.error||e.repos.some(e=>e.error!==null):!1}function xy(e){let t=P(e);Mv.delete(t),Nv.delete(t),Pv.delete(t),Fv.delete(t),Iv.delete(t),Lv.delete(t),Rv.delete(t),J&&J.forId===t&&(clearTimeout(ry??void 0),J=null),t===W()?jl(null):Y()}function Sy(){let e=W(),t=e?F.get(e):null;if(!e||!t)return Cy(null,`No session is open to merge.`);if(Ly(e))return Cy(e,`A workspace session has no worktree to merge.`);if(ny.has(e))return Cy(e,`Merge is already on its way for "${Uy(t,e)}".`);let n=Mv.get(e)||`none`,r=!!Pv.get(e)?.hasCommits,i=hv(n,Nv.get(e)||null,jy(t.currentState,r));return dv({status:n,mergeReason:Nv.get(e)||null,live:Py(t.currentState),isMergeRendered:i.isRendered,hasChanges:Ay(e)})!==`merge`||!i.isEnabled?Cy(e,gv({status:n,hasCommits:r,live:Py(t.currentState),state:t.currentState})??`Nothing to merge in "${Uy(t,e)}" right now.`):(My(e,t.currentState),!0)}function Cy(e,t){return ey={forId:e,text:t},clearTimeout(ty??void 0),ty=setTimeout(()=>{ey=null,Y()},jv),Y(),!1}function wy(){let e=W();if(!e||Ly(e))return!1;let t=F.get(e);if(!t)return!1;let n=Mv.get(e)||`none`,r=Nv.get(e)||null;return dv({status:n,mergeReason:r,live:Py(t.currentState),isMergeRendered:hv(n,r,!1).isRendered,hasChanges:Ay(e)})!==`resolve`||Ty(e)?!1:(Ey(e),!0)}function Ty(e){return Qv?.forId===e&&!Qv.isError}function Ey(e){let t=N({type:`resolve-session-merge`,id:e});Qv=t?{forId:e,text:`Resolve prompt sent`,isError:!1}:{forId:e,text:`Not connected. The resolve prompt was not sent.`,isError:!0},clearTimeout($v??void 0),$v=setTimeout(()=>{Qv=null,Y()},t?3e3:jv),Y()}function Dy(){let e=W();return!e||!F.has(e)||Ly(e)||By(e)?!1:(Vy(e),!0)}function Oy(e){if(!e)return{committed:[],uncommitted:[]};let t=zv.get(e);if(t)return t;let n={committed:iv(e.committed?.diff||``),uncommitted:iv(e.uncommitted?.diff||``)};return zv.set(e,n),n}function ky(e){let t=Bv.get(e);if(t)return t;let n=Z_(e);return Bv.set(e,n),n}function Ay(e){let t=Oy(Pv.get(e)),n=[...t.committed,...t.uncommitted],r=Pv.get(e)??null;return vv({fetched:Pv.has(e),changedFileCount:ov(n).files,hasCommits:!!r?.hasCommits})}function jy(e,t){return(ze.includes(e)||e===O.RUNNING)&&t}function My(e,t){t===O.RUNNING?wt({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:()=>Ny(e,!0)}):Ny(e,!1)}function Ny(e,t){ny.has(e)||(N(t?{type:`merge-continue-session`,id:e,force:!0}:{type:`merge-continue-session`,id:e})?(ny.set(e,Mv.get(e)||`none`),e===W()&&Y()):Cy(e,`Not connected. The merge was not sent.`))}function Py(e){return e!==O.DORMANT&&e!==O.DONE&&e!==O.FAILED}function Fy(e){N({type:`request-session-diff`,id:e}),Iy(e)}function Iy(e){Iv.has(e)||Iv.set(e,null),N({type:`request-change-map`,id:e})}function Ly(e){return F.get(e)?.card.dataset.workspace!==void 0}function Ry(e){Lv.set(e,null),N({type:`request-branch-sync`,id:e}),e===W()&&Y()}function zy(e){Rv.add(e),clearTimeout(ry??void 0),J&&J.forId===e&&(J=null),N({type:`resync-branch`,id:e}),e===W()&&Y()}function By(e){return Rv.has(e)||Lv.get(e)===null}function Vy(e){By(e)||(xv(Lv.get(e))===`resync`?zy(e):Ry(e))}function Hy(e,t){return t?{text:`Resyncing`,loading:!0,error:!1}:J&&J.forId===e?{text:J.text,loading:!1,error:J.isError}:null}function Uy(e,t){return e?.card?.dataset.session||t}function Wy(e,t){if(!t)return;let{committed:n,uncommitted:r}=Oy(t);for(let t of n)(t.path===e||t.oldPath===e)&&Vv.add(`committed:${t.path}`);for(let t of r)(t.path===e||t.oldPath===e)&&Vv.add(`uncommitted:${t.path}`)}function Gy(){if(!q||!Wv)return;let e=q.querySelectorAll(`.review-file`);for(let t of e)if(t.dataset.path===Wv||t.dataset.oldPath===Wv){t.scrollIntoView({block:`nearest`}),Wv=null;return}}function Ky(e){Wv=e,Wy(e,Pv.get(W()??``)),Y(),Gy()}function qy(){Uv=!0,Y()}function Y(){let e=q?.scrollTop??0;Jy(),q&&(q.scrollTop=e)}function Jy(){if(!K||!q)return;K.replaceChildren(),q.replaceChildren(),Kv&&(Kv.hidden=!0),qv&&(qv.hidden=!0);let e=W(),t=e?F.get(e):null;if(Xy(e,t),!e||!t){ey&&K.append(Yy(ey.text,!0)),Zy(`No session selected`,`Click a session name to review its changes here.`);return}let n=Ly(e),r=Mv.get(e)||`none`,i=Nv.get(e)||null,a=t.currentState,o=Tv.has(r),s=Pv.has(e),c=s?Pv.get(e):null,l=Fv.get(e)??null,{committed:u,uncommitted:d}=Oy(c),f=!!c?.hasCommits,p=Py(a),m=hv(r,i,jy(a,f)),h=Lv.get(e),ee=Rv.has(e),g=fv(t.effectiveBase),_=ov([...u,...d]),v=dv({status:r,mergeReason:i,live:p,hasChanges:vv({fetched:s,changedFileCount:_.files,hasCommits:f}),isMergeRendered:m.isRendered}),y=cv({status:r,mergeReason:i,fetched:s,hasDiffError:l!==null,hasChanges:_.files>0||f,hasCommits:f,canMerge:!n&&m.isEnabled,isWorkspace:n,live:p,effectiveBase:g,changedFileCount:_.files}),b=y.isEmpty===!0,te=b||qu()||Cv(h),x=j(`div`,`review-status-headline`);if(x.append(j(`span`,`review-status-text`,y.text)),!n&&!te){let t=bv(h);if(t){x.title=t;let n=iy(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);n.classList.add(`review-branch-sync-refresh`),n.title=Sv(h,Ov,v!==`resolve`),n.disabled=By(e),n.setAttribute(`aria-description`,t),n.addEventListener(`click`,()=>Vy(e)),x.append(j(`span`,`sr-only`,t),n)}}if(b||K.append(x),u.length>0)for(let e of _v(c?.bases??[])){let t=j(`div`,e.isUnverified?`review-diff-base review-diff-base-unverified`:`review-diff-base`,e.text);t.title=e.fullSha,K.append(t)}let S=j(`div`,`review-status-meta`);if(s&&_.files>0&&S.append(j(`span`,`review-status-added`,`+${_.added}`),j(`span`,`review-status-removed`,`-${_.removed}`),j(`span`,`review-status-spacer`)),!n&&te){let t=Qy(e,v!==`resolve`);t&&S.append(t)}S.childElementCount>0&&K.append(S),r===`parked`&&K.append(j(`div`,`review-status-explanation`,mv(i))),Kv&&(Kv.hidden=!1),qv&&(qv.hidden=!1,qv.setAttribute(`aria-label`,`${y.text}, +${_.added}, -${_.removed}`),qv.title=y.text),Jv&&(Jv.textContent=`+${_.added}`),Yv&&(Yv.textContent=`-${_.removed}`);let C=n?null:rb(e,{status:r,reviewable:o,mergeAction:m,live:p,state:a,effectiveBase:g,primaryAction:v});C&&K.append(C);let ne=n?null:Hy(e,ee),w=!n&&v===`merge`&&!m.isEnabled?gv({status:r,hasCommits:f,live:p,state:a}):null;if(w){let e=j(`div`,`review-control-reason`,w);e.id=`review-merge-reason`,K.append(e),K.querySelector(`#review-merge-btn`)?.setAttribute(`aria-describedby`,e.id)}if(ne?.text){let e=j(`div`,ne.loading?`review-control-reason review-loading`:`review-control-reason`,ne.text);e.id=`review-resync-reason`,ne.error&&e.classList.add(`review-control-reason-error`),e.setAttribute(`role`,`status`),S.append(e),S.isConnected||K.insertBefore(S,x.isConnected?x.nextSibling:K.firstChild),K.querySelector(`.review-branch-sync-button, .review-branch-sync-refresh`)?.setAttribute(`aria-describedby`,e.id)}if(Qv?.forId===e&&K.append(Yy(Qv.text,Qv.isError)),ey&&(ey.forId===e||ey.forId===null)&&K.append(Yy(ey.text,!0)),l){q.append(j(`p`,`review-diff-error`,l));return}if(b){Zy(y.text,lv(n,g));return}let re=Iv.get(e),T=re?ky(re):null,ie=T?tv(T,{isShowingAll:Uv,onShowAll:qy,onOpenFile:Ky}):null;ie&&q.append(ie);let ae=u.length>0&&d.length>0;u.length>0&&q.append($y({kind:`committed`,label:ae?`Committed`:null,meaning:uv(y,g),files:u,changeMapView:T})),d.length>0&&q.append($y({kind:`uncommitted`,label:ae?`Not committed yet`:null,meaning:null,files:d,changeMapView:T}))}function Yy(e,t){let n=j(`div`,t?`review-control-reason review-control-reason-error`:`review-resolve-sent`,e);return n.setAttribute(`role`,`status`),n}function Xy(e,t){if(!Xv)return;let n=e&&t?Uy(t,e):``;Xv.textContent=n,Xv.hidden=!n,Xv.title=n}function Zy(e,t){if(!q)return;let n=j(`div`,`review-empty`);n.append(j(`div`,`review-empty-title`,e),j(`div`,`review-empty-desc`,t)),q.append(n)}function Qy(e,t){let n=Lv.get(e);if(n===void 0)return null;if(n===null)return j(`span`,`review-branch-sync-text review-loading`,`Checking branch sync...`);let r=bv(n)||`Base branch: sync state unknown`,i=j(`span`,`review-branch-sync-text`);n.state&&(i.dataset.syncState=n.state),n.fetched===!1&&(i.dataset.stale=`true`);let a=iy(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);return a.classList.add(`review-branch-sync-button`),a.title=Sv(n,Ov,t),a.disabled=Rv.has(e),a.addEventListener(`click`,()=>Vy(e)),i.append(a,j(`span`,`review-branch-sync-label`,r)),i}function $y({kind:e,label:t,meaning:n,files:r,changeMapView:i}){let a=j(`div`,`review-section`);a.dataset.kind=e,t&&a.append(eb(t,n,r));let o=j(`div`,`review-diff`),s=i&&i.repos.length>1?i.repos:[],c=null;for(let t of r){let n=s.length>0?Q_(s,t.path):null;n&&n!==c&&o.append(j(`div`,`review-repo-label`,n)),c=n,o.append(tb(t,e,i))}return a.append(o),a}function eb(e,t,n){let r=ov(n),i=j(`div`,`review-section-head`),a=j(`div`,`review-section-id`);a.append(j(`span`,`review-section-label`,e)),t&&a.append(j(`span`,`review-section-meaning`,t));let o=j(`div`,`review-section-stat`);return o.append(j(`span`,`review-stat-files`,`${r.files} file${r.files===1?``:`s`}`),j(`span`,`review-add`,`+${r.added}`),j(`span`,`review-del`,`-${r.removed}`)),i.append(a,o),i}function tb(e,t,n){let r=`${t}:${e.path}`,i=Vv.has(r),a=j(`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=j(`button`,`review-file-head`);o.type=`button`,o.setAttribute(`aria-expanded`,i?`true`:`false`);let s=j(`span`,`review-file-twisty`,i?`▾`:`▸`);s.setAttribute(`aria-hidden`,`true`);let c=j(`span`,`review-file-name`);c.append(j(`span`,`review-file-path`,e.path));let l=nv(n?.hintsByOpenPath.get(e.path));if(l.length>0){let e=j(`span`,`review-file-hints`);e.append(...l),c.append(e)}o.append(s,c);let u=j(`span`,`review-file-counts`);if(e.binary&&u.append(j(`span`,`review-bin`,`bin`)),e.binary||u.append(j(`span`,`review-add`,`+${e.added}`),j(`span`,`review-del`,`-${e.removed}`)),o.append(u),o.addEventListener(`click`,()=>{let e=Vv.has(r);e&&Vv.delete(r),e||Vv.add(r),Y()}),a.append(o),!i)return a;let d=j(`div`,`review-file-body`);if(e.binary)return d.append(j(`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>=Ev&&!Hv.has(r)){p=!0;break}d.append(j(`div`,`review-hunk-head`,t.header));for(let e of t.lines){if(f>=Ev&&!Hv.has(r)){p=!0;break}let t=j(`div`,`review-line review-line-${e.type}`),n=e.type===`add`?`+`:e.type===`del`?`-`:e.type===`meta`?`\\`:` `;t.append(j(`span`,`review-line-gutter`,n)),t.append(j(`span`,`review-line-text`,e.text)),d.append(t),f++}if(p)break}if(p){let e=j(`button`,`review-expand`,`Show the rest of this file`);e.type=`button`,e.addEventListener(`click`,()=>{Hv.add(r),Y()}),d.append(e)}return a.append(d),a}function nb({id:e,label:t,shortcut:n,title:r,disabled:i=!1,danger:a=!1,onClick:o}){let s=j(`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 rb(e,{status:t,reviewable:n,mergeAction:r,live:i,state:a,effectiveBase:o,primaryAction:s}){let c=j(`div`,`review-actions`),l=s===`resolve`;s===`merge`&&c.append(nb({id:`review-merge-btn`,label:`Merge`,shortcut:Dv,title:pv(o,Dv),disabled:!r.isEnabled||ny.has(e),onClick:()=>My(e,a)})),l&&c.append(nb({label:`Resolve`,shortcut:Ov,title:`Paste a resolve prompt into this session so the agent can finish the merge (${Ov})`,disabled:Ty(e),onClick:()=>Ey(e)}));let u=j(`div`,`review-action-controls`);if(u.append(c),!n||i)return c.childElementCount>0?u:null;let d=iy(`More review actions`,Jo);if(d.classList.add(`review-more-button`),d.setAttribute(`aria-haspopup`,`menu`),d.setAttribute(`aria-expanded`,String(Zv)),d.setAttribute(`aria-controls`,`review-more-menu`),d.addEventListener(`click`,()=>{Zv=!Zv,Y(),(K?.querySelector(Zv?`.review-more-menu button:not(:disabled)`:`.review-more-button`)??K?.querySelector(`.review-more-button`))?.focus()}),c.append(d),!Zv)return u;let f=j(`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=nb({label:`Discard worktree`,danger:!0,disabled:t===`merging`,onClick:()=>{Zv=!1,Y();let t=Uy(F.get(e),e);wt({title:`Discard worktree`,message:`Throw away the worktree changes for "${t}"? This cannot be undone.`,confirmLabel:`Discard`,danger:!0,onConfirm:()=>N({type:`discard-session-worktree`,id:e})})}});n.setAttribute(`role`,`menuitem`),f.append(n)}return u.append(f),u}var ib=160,ab=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 ob(e){let t=e.split(/\r?\n/,1)[0]?.trim()??``;return t.length<=ib?t:`${t.slice(0,157)}...`}function sb(e,t){let n=ab[e];if(!n||!t||typeof t!=`object`||Array.isArray(t))return``;let r=t[n];return typeof r==`string`?ob(r):``}var cb=5e3;function lb(e){let t=e.match(/<command-name>([^<]*)<\/command-name>/)?.[1];return t===void 0||/[\r\n]/.test(t)?null:t.trim()||null}function ub(e,t){if(!e.toolUseId)return lb(e.text)??`context`;let n=t.get(e.toolUseId);return n?sb(n.name,n.input)||n.name:`expansion`}function db(e){return e.kind!==`expansion`||e.toolUseId?!1:lb(e.text)!==null}function fb(e){return e.kind===`prompt`||e.kind===`session`||db(e)}function pb(e){return new TextEncoder().encode(e).byteLength}var mb={prompt:`PROMPT`,expansion:`EXPANSION`,thinking:`THINKING`,assistant:`ASSISTANT`,tool_call:`TOOL`,tool_result:`RESULT`,session:`SESSION`,notice:`NOTICE`,raw:`RAW`};function hb(e,t){if(e.kind===`prompt`)return{prefix:`Prompt: `,text:ob(e.text)};if(e.kind===`thinking`)return{prefix:`Thinking: `,text:ob(e.text)};if(e.kind===`assistant`)return{prefix:`Assistant: `,text:ob(e.text)};if(e.kind===`notice`)return{prefix:`Notice: `,text:ob(e.text)};if(e.kind===`raw`)return{prefix:`Raw: `,text:ob(e.line)};if(e.kind===`session`)return{prefix:`Session: `,text:`${e.vendor} ${e.vendorSessionId}`};if(e.kind===`expansion`)return{prefix:`Expansion: `,text:ub(e,t)};if(e.kind===`tool_call`){let t=sb(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:`${pb(e.content)} bytes`}}function gb(e){if(!e.agentType)return``;let t=e.agentId?` ${e.agentId.slice(-6)}`:``;return`[${e.agentType}${t}] `}function _b(e,t){let n=hb(e,t),r=gb(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:mb[e.kind],text:`${r}${i}`,tone:o,badges:a}}function vb(e,t){return{record:e,..._b(e,t)}}function yb(e){return e.kind!==`tool_result`&&e.kind!==`expansion`?null:e.toolUseId||null}function bb(e,t){let n=yb(e);return!n||t.has(n)?null:n}function xb(e,t,n=1){e.set(t,(e.get(t)??0)+n)}function Sb(e,t){let n=(e.get(t)??0)-1;n>0?e.set(t,n):e.delete(t)}function Cb(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=yb(i.record);a&&t.has(a)&&(n.rows[r]=vb(i.record,e.toolCallByUseId))}}function wb(){return{turns:[],toolCallByUseId:new Map,unresolvedToolUseCounts:new Map}}function Tb(){return{rowCount:0,toolCallCount:0,errorCount:0,resultBytes:0}}function Eb(e,t,n){e.metrics.rowCount+=n,t.record.kind===`tool_call`&&(e.metrics.toolCallCount+=n),t.record.kind===`tool_result`&&(e.metrics.resultBytes+=pb(t.record.content)*n,t.record.isError&&(e.metrics.errorCount+=n))}function Db(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=bb(i,e.toolCallByUseId);t&&xb(e.unresolvedToolUseCounts,t);let a=vb(i,e.toolCallByUseId);if(fb(i)){r={head:a,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:Tb()},Eb(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:Tb()},e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:null,rows:[]})),r.rows.push(a),Eb(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 Ob(e,t){let n=wb();Db(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)||xb(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],Cb(e,i),{newTurns:n.turns,mergedHead:c,mergedRows:l,needsRerender:i.size>0}}function kb(e){return e.rows.length+ +!!e.head}function Ab(e){let t=0;for(let n of e.turns)t+=kb(n);return t}function jb(e,t){for(let n of t){if(n.record.kind===`tool_call`){e.toolCallByUseId.delete(n.record.toolUseId);continue}let t=yb(n.record);t&&Sb(e.unresolvedToolUseCounts,t)}}function Mb(e,t){jb(e,t.head?[t.head,...t.rows]:t.rows)}function Nb(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);jb(e,i);for(let e of i)Eb(n,e,-1);return n.rows=n.rows.slice(r),n.hasTrimmedRows=!0,r}function Pb(e,t=cb){let n=Ab(e),r=0;for(;n>t&&r<e.turns.length-1;){let t=e.turns[r];if(!t)break;n-=kb(t),Mb(e,t),r+=1}return r>0&&(e.turns=e.turns.slice(r)),n<=t?{droppedTurnCount:r,droppedRowCount:0}:{droppedTurnCount:r,droppedRowCount:Nb(e,n-t)}}function Fb(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 Ib(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 Lb(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 Rb(e,t=cb){return!e.selectedSessionId||!e.hasLoadedOnce||e.hasDroppedEarliestRows||e.residentRowCount>=t?!1:e.firstOffset>0}function zb(e,t=cb){return!Rb(e,t)||e.hasPendingRequest||!e.selectedSessionId?null:{id:e.selectedSessionId,direction:`earlier`,after:0,endingAt:e.firstOffset}}function Bb(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 Vb=1e4,Hb=null,Ub=null,Wb=[],Gb=null,Kb=null,X=null,qb=null,Jb=!1,Yb=null,Xb=()=>!1,Zb=new Set;function Qb(e){for(let t of Zb)t(e)}function $b(){qb&&=(clearTimeout(qb.timeoutHandle),null)}function ex(){qb=null,Yb=`The trace did not load within ${Math.round(Vb/1e3)} s.`,Qb({kind:`rebuild`})}function tx(e){$b(),Jb=!1,Yb=null,Gb=e,X=e?{sessionId:e,grouping:wb(),firstOffset:0,nextOffset:0,hasDroppedEarliestRows:!1,filePath:``,hasLoadedOnce:!1}:null,Qb({kind:`selection-reset`})}function nx(e){let t=Ib(Wb,Kb,Gb,e);return Kb&&t===Kb&&(Kb=null),t!==Gb&&(tx(t),!0)}function rx(e){if(!Hb)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};Hb(t)?qb={request:e,timeoutHandle:setTimeout(ex,Vb)}:(Yb=E,Qb({kind:`header`}))}function ix(e=!1){if(!Hb)return;let t=Lb({selectedSessionId:Gb,isPanelVisible:e||Xb(),hasPendingRequest:!!qb,hasLoadedOnce:X?.hasLoadedOnce??!1,nextOffset:X?.nextOffset??0});t&&rx(t)}function ax(){Jb&&!qb&&(Jb=!1,ix())}function ox(){if(!X)return;let e=Pb(X.grouping),t=e.droppedTurnCount>0||e.droppedRowCount>0,n=t&&!X.hasDroppedEarliestRows;t&&(X.hasDroppedEarliestRows=!0),Qb({kind:`trimmed`,trim:{droppedTurnCount:e.droppedTurnCount,droppedRowCount:e.droppedRowCount,hasJustDroppedEarliestRows:n}})}function sx(e){X&&(Qb({kind:`records-appended`,appends:Db(X.grouping,e)}),ox())}function cx(e){X&&(Qb({kind:`records-prepended`,prepend:Ob(X.grouping,e)}),ox())}function lx(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 ux(){return{selectedSessionId:Gb,hasPendingRequest:!!qb,hasLoadedOnce:X?.hasLoadedOnce??!1,hasDroppedEarliestRows:X?.hasDroppedEarliestRows??!1,firstOffset:X?.firstOffset??0,residentRowCount:X?Ab(X.grouping):0}}function dx(){return{sessionOptions:Wb,selectedSessionId:Gb,selectedTrace:X,pendingSessionId:qb?.request.id??null,traceFailureText:Yb}}function fx(e){Zb.add(e)}function px(e){Xb=e}function mx(){if(!Hb)return;let e=zb(ux());e&&rx(e)}function hx(e){Wb.some(t=>t.id===e)&&e!==Gb&&(Kb=null,tx(e),ix(),Qb({kind:`rebuild`}))}function gx(){let e=nx(!0);return ix(!0),e}function _x(e){Hb=e}function vx(e){Ub=e}function yx(e){Kb=e,Ub?.()}function bx(e){Wb=Fb(e);let t=nx(Xb());t&&ix(),Qb({kind:`sessions`,hasSelectionChanged:t})}function xx(e){let t=lx(e);if(!t)return;let n=Bb({pendingRequest:qb?.request??null,resident:X?{sessionId:X.sessionId,firstOffset:X.firstOffset,nextOffset:X.nextOffset,hasLoadedOnce:X.hasLoadedOnce}:null,reply:{id:t.id,start:t.start,next:t.next,reset:t.reset}});n===`ignore`?ax():($b(),Yb&&(Yb=null,Qb({kind:`header`})),n===`stale`?ax():n===`reset`?(tx(t.id),X&&(X.filePath=t.path),ix(),Qb({kind:`rebuild`}),ax()):X&&(X.filePath=t.path,n===`prepend`?(X.firstOffset=t.start,cx(t.records),ax()):(n===`seed`&&(X.hasLoadedOnce=!0,X.firstOffset=t.start),X.nextOffset=t.next,sx(t.records),ax())))}function Sx(e){let t=e?.id;typeof t==`string`&&t===Gb&&Xb()&&(qb?Jb=!0:ix())}function Cx(e){let t=e?.id;if(typeof t!=`string`||qb?.request.id!==t)return!1;$b(),Jb=!1;let n=e?.message;return Yb=typeof n==`string`&&n?n:`The trace could not be read.`,Qb({kind:`rebuild`}),!0}function wx(e){$b(),Jb=!1,Yb=e?null:E,e?(Qb({kind:`header`}),ix()):Qb({kind:`rebuild`})}var Tx=80,Ex=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 Dx(e){return e.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function Ox(e){return e.includes(`.`)?e.replace(/0+$/,``).replace(/\.$/,``):e}function kx(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.round(e);return`${t<0?`-`:``}${Dx(String(Math.abs(t)))}`}function Ax(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}$${Dx(r)}.${i}`}function jx(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}${Ox((n/1e3).toFixed(1))}k`:n<999995e3?`${t}${Ox((n/1e6).toFixed(2))}M`:`${t}${Ox((n/1e9).toFixed(2))}B`}function Mx(e){return typeof e!=`number`||!Number.isFinite(e)?`ok`:e>=100?`crit`:e>=Tx?`warn`:`ok`}function Nx(e){let t=pe(e?.max,null);return t===null||t<=0?null:t}function Px(e){let t=Nx(e),n=pe(e?.pct,null);return t===null||n===null?null:n*100}function Fx(e,t){let n=Nx(t),r=pe(e?.projectedTokens,null);return n===null||r===null?null:r/n*100}var Ix=90;function Lx(e){let t=e?.budget?.rows;return Array.isArray(t)?t.filter(e=>e&&pe(e.budgetUsd,null)!==null):[]}function Rx(e){let t=pe(e?.pct,null);return t===null?0:t}function zx(e,t){let n=e?.[t];if(!n||typeof n!=`object`)return null;let r=pe(n.pct,null),i=pe(n.resetsAtMs,null);return r===null&&i===null?null:{pct:r,resetsAtMs:i}}function Bx(e){return e?.vendor===`codex`?`codex`:`claude`}function Vx(e){return zx(e,`fiveHour`)?.pct??null}function Hx(e,t=null){let n=Vx(t);if(n!==null)return Mx(n);let r=Mx(Px(e?.tokenLimit));return r===`ok`?Mx(Fx(e?.activeBlock?.projection,e?.tokenLimit)):r}function Ux(e,t=null){let n=[],r=Hx(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 Lx(e)){let e=Rx(t);if(e<Ix)continue;let r=typeof t?.scope==`string`&&t.scope?t.scope:`budget`;n.push(`budget:${r}:${e>=100?`over`:`near`}`)}return fe(n)}function Wx(e,t=``){let n=e?.source;if(n===`fetched`){let e=ae(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=ae(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 Gx(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 Kx(e){if(Array.isArray(e))return e.length;let t=Number(e);return Number.isFinite(t)?t:null}function qx(e){if(!e||typeof e!=`object`)return``;let t=[],n=Kx(e.dirs);if(n!==null&&t.push(`${kx(n)} transcript ${n===1?`directory`:`directories`}`),Number.isFinite(e.files)&&t.push(`${kx(e.files)} files`),Number.isFinite(e.entries)&&t.push(`${kx(e.entries)} entries`),Number.isFinite(e.lastScanMs)&&t.push(`last pass ${kx(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 Jx(e){return ae(e?.error,``)}function Yx(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return n==null||n===t}function Xx(e){let t=pe(e?.officialCostUSD,null);if(t!==null&&t>0)return{costUSD:t,source:`official`};let n=pe(e?.costUSD,null);return n!==null&&n>0?{costUSD:n,source:`estimated`}:{costUSD:null,source:null}}function Zx(e){let t=Number(e?.tokens);if(!Number.isFinite(t)||t<=0)return``;let{costUSD:n}=Xx(e);return n===null?jx(t):`${jx(t)} ${Ax(n)}`}function Qx(e){let{source:t}=Xx(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 $x({hasPlan:e,pendingPromptKind:t,hasOpenReview:n,hasApprovedReview:r=!1}){return e&&(n||t===`plan`&&!r)?`plan`:`terminal`}function eS({hasPlan:e,isBorrowed:t,face:n}){return!e||n===`plan`?`hidden`:t?`face`:`navigate`}function tS(e){return e instanceof Error?e.message:String(e)}function nS(e,t,n=!1){let r=j(`label`,`dialog-checkbox-label`),i=j(`input`);return i.type=`checkbox`,i.className=`dialog-checkbox`,i.value=t,i.checked=n,r.append(i,j(`span`,null,e)),r}function rS(e){return e.split(/[\\/]/).filter(Boolean).at(-1)??e}async function iS(e){let[t,n]=await Promise.all([it(`get-workspace-repos`,{id:e}),it(`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:rS(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 aS(e){let{overlay:t,dialog:n,close:r,actions:i,btnCancel:a}=Et({title:`Workspace repositories`}),o=j(`p`,`dialog-message`,`Saving restarts the session and resumes its conversation. A removed repository keeps its workspace branch, so committed work survives.`),s=j(`fieldset`,`dialog-workspace-list`);s.setAttribute(`aria-label`,`Workspace repositories`),s.append(j(`div`,`dialog-hint`,`Loading repositories...`));let c=j(`div`,`dialog-hint`);c.setAttribute(`role`,`status`);let l=j(`div`,`dialog-error`),u=j(`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()),iS(e).then(e=>{if(t.isConnected){s.textContent=``;for(let t of e)s.append(nS(t.name,t.path,t.isMember));u.disabled=!1}}).catch(e=>{t.isConnected&&(s.textContent=``,l.textContent=`Could not load repositories: ${tS(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`,it(`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: ${tS(e)}`)}).finally(()=>{c.textContent=``,u.disabled=!1}))})}function oS(e,t,n){return{body:String(n||`Session needs attention`),tag:`glimmervoid-${e||``}-${t||``}`,renotify:!0}}var sS=4e3;function cS(e,t){return`glimmervoid-notify-claim-${e||``}-${t||``}`}function lS(e,t,n,r=sS){try{let i=e.getItem(t);if(i){let e=Number(i);if(Number.isFinite(e)&&n-e<r)return!1}return e.setItem(t,String(n)),!0}catch{return!0}}function uS(){return typeof Notification>`u`?null:Notification}function dS(){return uS()!==null}function fS(){let e=uS();return e?e.permission:`unavailable`}async function pS(){let e=uS();if(!e)return`denied`;if(e.permission!=="default")return e.permission;try{return await e.requestPermission()}catch{return e.permission}}function mS(){return!dS()&&!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.`:dS()?fS()===`denied`&&Mr()?`Blocked by the browser. Allow notifications for this site in its site settings.`:null:`This browser does not support desktop notifications.`}function hS(){return Mr()&&fS()==="default"}function gS(e=()=>{}){let t=j(`div`,`notification-permission`),n=()=>{let r=mS();if(t.replaceChildren(),t.hidden=!r&&!hS(),r){t.append(j(`p`,`notification-permission-hint text-xs text-text-muted`,r));return}let i=j(`button`,`btn-dialog btn-dialog-cancel`,`Enable desktop notifications`);i.type=`button`,i.addEventListener(`click`,()=>{i.disabled=!0,pS().then(()=>{n(),e()})}),t.append(i)};return n(),{element:t,refresh:n}}var _S=`Notifications`,vS=`Desktop notifications are blocked by the browser, so alerts show only in this tab. Allow notifications for this site to get them again.`,yS=new Map,bS=!1;function xS(){bS||(bS=!0,H({source:_S,message:vS,hidesInStreamerMode:!1}))}function SS(e,t){let n=yS.get(e)??new Set;n.add(t),yS.set(e,n),t.addEventListener(`close`,()=>n.delete(t))}function CS(e){let t=yS.get(e);if(t){yS.delete(e);for(let e of t)e.close()}}function wS(e){return!dS()||!Mr()||document.documentElement.hasAttribute(`data-streamer`)?!1:e||!document.hasFocus()}function TS(e=!1){return wS(e)&&fS()===`granted`}function ES({session:e,category:t,message:n,kind:r,ignoreFocus:i=!1}={}){let a=uS();if(!a||!wS(!!i)||(a.permission===`denied`&&xS(),a.permission!==`granted`)||(Cs(_S),!lS(window.localStorage,cS(e,t),Date.now())))return;let o=typeof e==`string`?e:``,s=F.get(o),c=s?ut(s):``;try{let i=new a(c||`Glimmervoid`,oS(e,t,n));i.onclick=()=>{window.focus(),r===`plan`&&o&&(window.location.hash=S_(o)),i.close()},s&&SS(o,i)}catch{}}var DS=e=>e==null?``:String(e),OS=e=>Te.includes(e),kS=e=>Oe.includes(e),AS=!1;xa(e_);var jS=null,MS=null;function NS(){return jS??=V(()=>import(`./alert-sound-DtBAKaBq.js`),[]).catch(e=>(jS=null,M(`alert-sound`,`alert sound failed to load: ${ot(e)}`),null)),jS}function PS(){return MS??=V(()=>import(`./resume-dialog-BwQDDfuH.js`),__vite__mapDeps([14,3,4,1,2,11,7])).catch(e=>(MS=null,M(`resume-dialog`,`restart dialog failed to load: ${ot(e)}`),null)),MS}function FS(){let e=Ar();NS().then(t=>t?.playAlertSound(e))}var IS=null,LS=null;function RS(){return LS??=V(()=>import(`./plan-face-DQ3x4uBa.js`).then(e=>(IS=e,e),()=>(LS=null,null)),__vite__mapDeps([15,3,4,1,7,16])),LS}function zS(e){let t=j(`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,RS().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 BS(e){return AS&&hu(e.agent)&&e.card.dataset.ephemeral===void 0}function VS(e){return BS(e)&&e.isConversationViewOn&&e.isBorrowed}function HS(e){e.btnConversationView.classList.toggle(`visible`,BS(e)),zo(e.btnConversationView,`aria-checked`,String(e.isConversationViewOn))}function US(e){AS=e;for(let t of F.values())!e&&t.face===`conversation`&&t._showTerminalFace?.(),YS(t)}function WS(e){let t=I(e);return!t||!VS(t)?!1:(t.face=`conversation`,t.card.dataset.face=`conversation`,t.termWrap.hidden=!0,t.planFace.hide(),t.conversationFace.show(P(e)),YS(t),Rh(t,P(e)),!0)}function GS(e,t){let n=I(e);if(!n)return;let r=n.isConversationViewOn;n.hasConversationBridge=t.hasConversationBridge,n.conversationApproval=t.conversationApproval,n.isConversationViewOn=t.isConversationViewOn,YS(n),n.conversationFace.refresh(),r!==t.isConversationViewOn&&(t.isConversationViewOn?WS(e):n.face===`conversation`&&n._showTerminalFace?.())}function KS(e){return I(e.id)?.conversationFace.applyTraceResponse(e)===!0}function qS(e){I(e.id)?.conversationFace.applyTraceError(e)}function JS(e){I(e)?.conversationFace.applyTraceChanged(P(e))}function YS(e){HS(e);let t=e.currentState;e.btnRestart.classList.toggle(`visible`,OS(t)||kS(t)||t===O.DORMANT),e.btnWorkspaceRepos.classList.toggle(`visible`,e.card.dataset.workspace!==void 0),e.btnTrace.classList.toggle(`visible`,ic()),e.btnPlan.classList.toggle(`visible`,eS(e)!==`hidden`)}function XS(e){e.sessionMenu.classList.remove(`open`),e.btnSessionMenu.setAttribute(`aria-expanded`,`false`)}function ZS(e,t){Sc(e.taskTitleEl,()=>Tc(e,t)),e.nameEl.addEventListener(`dblclick`,n=>{n.preventDefault(),Oc(e,t)}),e.nameEl.addEventListener(`click`,()=>{Dc(e.nameEl)||jl(t)}),e.nameEl.addEventListener(`keydown`,n=>{n.target===e.nameEl&&(n.key===`F2`||n.key===`Enter`)&&(n.preventDefault(),Oc(e,t))}),e.btnRestart.addEventListener(`click`,()=>{XS(e),PS().then(n=>n?.openRestartDialog(t,{readState:()=>e.currentState,canListEarlier:e.card.dataset.ephemeral===void 0}))}),e.btnWorkspaceRepos.addEventListener(`click`,()=>{XS(e),aS(t)}),e.btnTrace.addEventListener(`click`,()=>{XS(e),yx(t)}),e.btnDocs.addEventListener(`click`,()=>{XS(e),oa(t)}),e.btnShown.addEventListener(`click`,()=>{XS(e),Ta(t)}),e.btnConversationView.addEventListener(`click`,()=>{XS(e),$s(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=>()=>{$s(e,{type:`set-session-guardrails`,id:t,isOn:n})};e.card.dataset.guarded===void 0?wt({title:`Restore guardrails`,message:`This session restarts with guardrails on, interrupting any turn in progress.`,confirmLabel:`Restore guardrails`,danger:!1,onConfirm:n(!0)}):wt({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=eS(e);n!==`hidden`&&(n===`face`?cC(t):location.hash=S_(t))}),e.btnRemove.addEventListener(`click`,()=>{XS(e),Xl(t)});function n(){for(let[,t]of F)t!==e&&XS(t);e.sessionMenu.classList.add(`open`),e.btnSessionMenu.setAttribute(`aria-expanded`,`true`)}e.btnSessionMenu.addEventListener(`click`,t=>{t.stopPropagation(),e.sessionMenu.classList.contains(`open`)?XS(e):n()}),Fs({trigger:e.btnSessionMenu,menu:e.sessionMenu,menuItems:()=>[...e.sessionMenu.querySelectorAll(`.popup-menu-item.visible`)],isOpen:()=>e.sessionMenu.classList.contains(`open`),open:n,close:()=>XS(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&&XS(e)},{signal:e.abortController.signal}),e.btnDebug.addEventListener(`click`,n=>{n.stopPropagation(),Fc(e,t)}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;e.debugOpen&&!e.card.contains(n)&&Ic(e)},{signal:e.abortController.signal})}function QS(e,t,n){let r=I(e);if(r){r.taskTitle=typeof t==`string`?t:null,r.taskTitleIsCustom=n===!0;for(let e of[r.taskTitleEl,r.titleTargetEl])e&&wc(e,r.taskTitle)}}function $S(e){return typeof e==`string`&&F.has(e)}function eC(){return F.size}function tC(e){let t=e||{};t.cursorBlink!=null&&mh(t.cursorBlink),t.debugMode!=null&&(nc(t.debugMode),v_(t.debugMode));for(let[,e]of F)e.term&&t.cursorBlink!=null&&(e.term.options.cursorBlink=t.cursorBlink)}function nC(){Id(F.values(),Rd())}function rC(e){return{state:e.currentState,unseenOutcome:e.unseenOutcome,ownerId:e.ownerId}}function iC(){let e=ct(L.counts),t=e>0?`(${e}) Glimmervoid`:`Glimmervoid`;document.title!==t&&(document.title=t)}function aC(e,t,n,r={}){if(!yt)return;let i=P(e),a=DS(n)||O.DORMANT,o=vc(i,DS(t),a,r),s=a===O.DORMANT;yt.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(),YS(c),jg(c,i)}function u(){WS(i)||l()}let d=new AbortController,f=zS({signal:d.signal,requestPlan:(e,t,n)=>N({type:`session-plan`,id:e,agentId:t,revision:n}),requestDraft:(e,t)=>N({type:`session-plan`,id:e,agentId:t,draft:!0}),showTerminal:u,sendDecision:(e,t)=>N({type:`plan-decision`,id:e,...t}),reportProblem:e=>jC(i,e)}),p=qg({signal:d.signal,sendControl:e=>N(e),showTerminal:l});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:DS(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=()=>jg(c,i),c._showTerminalFace=l,c._showPreferredFace=()=>{oC(c)===`plan`?cC(i):WS(i)||l()},c._setBorrowed=e=>{c.isBorrowed=e,YS(c)},o.card.append(f.el,p.el);let m=F.get(i);return m&&St(L,rC(m)),F.set(i,c),dt(L,rC(c)),jt(i,c),ZS(c,i),YS(c),c.btnDocs.classList.toggle(`visible`,ta(i)),Sa(i),a===O.RUNNING&&At(c,!0),s||Og(c,i),iC(),c}function oC(e){let t=e.planReviewState.reviews.some(e=>e.state===`open`),n=e.planReviewState.reviews.some(E_);return $x({hasPlan:e.hasPlan,pendingPromptKind:e.pendingPromptKind,hasOpenReview:t,hasApprovedReview:n})}function sC(e){let t=I(e);return!t?.isBorrowed||oC(t)!==`plan`?!1:cC(e)}function cC(e){let t=I(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(P(e)),YS(t),Rh(t,P(e)),!0)}function lC(e,t){let n=I(e);n&&(n.hasPlan=t===!0,YS(n),sC(e))}function uC(e){let t=I(e.id);t&&(t.planReviewState=U_(t.planReviewState,e),t.hasPlan=e.hasPlan,t.planFace.update({state:t.planReviewState}),YS(t),sC(e.id))}function dC(e){let t=I(e.id);t&&t.planFace.update({draft:e})}function fC(e){let t=I(e.id);t&&(t.planReviewState={reviews:e.reviews},t.hasPlan=!0,t.planFace.update({response:e}),YS(t))}function pC(e){if(e.type!==`error`&&e.type!==`session-error`||e.scope!==`plan`&&e.scope!==`plan-decision`)return!1;let t=I(e.id);return t?e.scope===`plan`?(t.planFace.update({requestFailed:!0}),!0):(t.planFace.update({decisionRefused:!0,refusalText:e.message}),!0):!1}function mC(e){for(let[,t]of F)t.planFace.update({isConnected:e})}function hC(e,t){let n=I(e);n&&(n.effectiveBase=typeof t==`string`?t:void 0)}function gC(e,t){let n=I(e);n&&(n.agent=typeof t==`string`?t:null,YS(n))}function _C(e,t){let n=I(e);n&&(t?n.card.dataset.worktree=``:delete n.card.dataset.worktree)}function vC(e,t,n){let r=I(e);r&&(yC(r.card,`guarded`,t),yC(r.card,`guardrailsReleased`,n),bc(r.btnGuardrails,r.card))}function yC(e,t,n){n?e.dataset[t]=``:delete e.dataset[t]}function bC(e,t,n=!1){let r=I(e);r&&(r.activeAgents=Math.max(0,Number(t)||0),r.awaitingBackgroundTasks=Fe(r.currentState,n===!0),r.card.toggleAttribute(`data-monitoring`,r.awaitingBackgroundTasks))}function xC(e,t){let n=I(e);if(!n)return;let r=Zx(t),i=n.card.querySelector(`.usage-badge`);if(r)n.card.dataset.usage=``,i&&(i.dataset.tipLabel=r,i.dataset.tipDetail=Qx(t),Js(i));else{if(delete n.card.dataset.usage,!i)return;delete i.dataset.tipLabel,Js(i)}}function SC(e,t){let n=I(e);n&&(n.pendingPromptKind=typeof t==`string`?t:null,n.conversationFace.refresh(),!sC(e)&&(typeof t!=`string`||t===``)&&n.face===`terminal`&&WS(e))}function CC(e,t){let n=I(e);n&&(St(L,rC(n)),n.unseenOutcome=t??null,dt(L,rC(n)))}function wC(e,t){t===`pending-review`||t===`parked`||t===`merging`?e.dataset.merge=t:delete e.dataset.merge}function TC(e,t,n=null){let r=I(e),i=DS(t)||`none`;r&&wC(r.card,i),uy(P(e),i,DS(n)||null)}function EC(e,t,n=null){let r=I(e),i=DS(t)||`none`;r&&wC(r.card,i),fy(P(e),i,DS(n)||null)}function DC(e,t){py(P(e),t)}function OC(e,t){let n=I(e);if(!n)return;let r=DS(t);n.card.dataset.session=r,n.nameEl.textContent=r}function kC(e){let t=I(e);t&&(Ic(t),St(L,rC(t)),F.delete(P(e)),jt(P(e),void 0),IS?.dropPlanBodyCache(P(e)),t.resizeObserver&&t.resizeObserver.disconnect(),t.abortController&&t.abortController.abort(),xg(t,P(e)),Qm(t),t.term&&t.term.dispose(),t.term=null,t.fitAddon=null,t.card&&t.card.remove(),iC())}function AC(e,t,n){if(!t||!e.term)return;let r=n===O.DONE?`Session complete`:`Session failed`,i=n===O.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 jC(e,t){let n=I(e);n?Qs(n).show(`error`,t):H({source:`Session`,sessionId:typeof e==`string`?e:void 0,message:t})}function MC(e,t){let n=I(e);if(!n)return;let r=n.card.querySelector(`:scope > .session-failure-reason`);if(!(n.currentState===O.FAILED&&t)){r?.remove();return}let i=r??j(`p`,`session-failure-reason`);i.setAttribute(`role`,`status`),i.textContent=t,r||n.termWrap.before(i)}function NC(e,t){e.term&&(t===O.DONE||t===O.FAILED)&&(e.term.clear(),e.term.reset())}function PC(e){let t=F.get(e);t&&vt({state:t.currentState,unseenOutcome:t.unseenOutcome})&&document.visibilityState===`visible`&&(qu()||document.hasFocus())&&N({type:`dismiss`,id:e,expectedState:t.currentState})}function FC(e,t,n){let r=document.activeElement;return Cl({previousState:t,nextState:n,isPhoneLayout:qu(),isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),isActiveViewer:e._isActiveViewer?.()===!0,hasFocusInsideTerminal:r instanceof Node&&e.termWrap.contains(r)})}function IC(){return Or()&&!TS()}function LC(e,t,n,r=``){let i=I(e);if(!i)return;let a=DS(t),o=i.currentState;St(L,rC(i)),i.currentState=a,dt(L,rC(i)),jt(P(e),i),a!==O.RUNNING&&(i.awaitingBackgroundTasks=!1),i.conversationFace.refresh(),a!==o&&(i.stateSince=typeof n==`number`&&Number.isFinite(n)?n:Date.now(),At(i,a===O.RUNNING)),o===O.DORMANT&&a!==O.DORMANT&&Og(i,P(e)),Ct({state:a})===`resting`&&CS(P(e)),i.card.dataset.state=a,i.card.toggleAttribute(`data-monitoring`,Fe(a,i.awaitingBackgroundTasks)),YS(i),(a===O.WAITING&&o!==O.WAITING||a===O.COMPLETE&&o!==O.COMPLETE)&&!Ql(r)&&IC()&&FS(),FC(i,o,a)&&N({type:`dismiss`,id:P(e),expectedState:O.COMPLETE});let s=a===O.DONE||a===O.FAILED,c=o!==O.DONE&&o!==O.FAILED&&o!==O.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})})}),IC()&&FS()),(a===O.DONE||a===O.FAILED)&&AC(i,c,a),a===O.INITIALIZING&&NC(i,o),iC()}var RC=`(no path)`;function zC(e){if(!e)return RC;let t=String(e).replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return(n===-1?t:t.slice(n+1))||`(no path)`}function BC(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):RC,a=i.get(r);a||(a={key:r,label:r===`(no path)`?RC:zC(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:zC(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 VC(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 HC({onAdd:e,onForget:t}){let n=j(`div`,`session-group-header`),r=j(`span`,`session-group-label`),i=j(`span`,`session-group-count`),a=j(`span`,`session-group-rule`);a.setAttribute(`aria-hidden`,`true`);let o=j(`button`,`session-group-add`,`+`);o.type=`button`,o.addEventListener(`click`,()=>e(n.dataset.path,n.dataset.label));let s=j(`button`,`session-group-forget`);return s.type=`button`,s.append(ns(Wo)),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 UC(e,t,n){let{header:r,label:i,count:a,addButton:o,forgetButton:s}=e,c=t.key===RC,l=t.rows.length===0;Bo(r,`path`,t.key),Bo(r,`label`,t.label),zo(r,`title`,t.title),r.toggleAttribute(`data-empty`,l),Lo(i,t.label),Lo(a,String(t.rows.length)),zo(a,`title`,`${t.rows.length} ${t.rows.length===1?`session`:`sessions`}`),Ro(o,c),Ro(s,c||!l),c||(zo(o,`title`,`Add a session to ${t.label}`),zo(o,`aria-label`,`Add a session to ${t.label}`)),!c&&l&&(zo(s,`title`,`Remove ${t.label} from the ${n}`),zo(s,`aria-label`,`Remove ${t.label} from the ${n}`))}var WC={waitingCount:0,finishedCount:0,failedCount:0},GC={failed:ke[O.FAILED],waiting:ke[O.WAITING],finished:ke[O.COMPLETE]},KC={failed:`failed`,waiting:`needs you`,finished:`finished`},qC=[`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`],JC=2500,YC=`cubic-bezier(0.16, 1, 0.3, 1)`,XC=`cubic-bezier(0.5, 0, 0.2, 1)`,ZC=260,QC=200,$C=200,ew=300,tw=28,nw=360,rw=420,iw=200,aw=3,ow=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),sw=new WeakMap;function cw(e){let t=sw.get(e);if(!t)throw Error(`attention banner was not built by buildAttentionBanner`);return t}function lw(e){return!document.hidden&&typeof e.animate==`function`&&e.getClientRects().length>0}function uw(){return ow?.matches??!1}function dw(e){return e.map(e=>({easing:YC,...e}))}function fw(e,t){let n=j(`div`,`attention-banner`);n.setAttribute(`role`,`status`),n.style.setProperty(`--attention-head-tile-px`,`${bt.headTile}px`),n.style.setProperty(`--attention-tile-px`,`${bt.tile}px`),n.style.setProperty(`--attention-tile-gap-px`,`${bt.tileGap}px`),n.style.setProperty(`--attention-overflow-px`,`${bt.overflowSlot}px`);let r=j(`span`,`attention-banner-chips`),i=j(`span`,`attention-tile-overflow`);i.setAttribute(`aria-hidden`,`true`),i.hidden=!0,r.append(i);let a=j(`span`,`attention-banner-line`);a.setAttribute(`aria-hidden`,`true`);let o=j(`span`,`attention-banner-status`);o.append(r,j(`span`,`attention-banner-count`),a);let s=j(`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),sw.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(()=>mw(n)).observe(r),pw(n,WC,[]),n}function pw(e,t,n){let r=cw(e);r.tiles=n,Lo(A(e,`.attention-banner-count`),ft(t));let i=n.length>0;e.toggleAttribute(`data-empty`,!i),e.toggleAttribute(`data-jumpable`,i),i&&Aw(e,r),mw(e)}function mw(e){let t=cw(e),n=A(e,`.attention-banner-chips`),r=A(n,`.attention-tile-overflow`),i=lw(e),a=t.tiles.slice(0,mt(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():vw(n,l[r])});let u=t.headId,d=[],f=null;a.forEach((i,a)=>{let o=t.tileById.get(i.id),s=o??gw(e,i.id);o||(t.tileById.set(i.id,s),d.push(s)),_w(s,i,a===0),(s.parentElement!==n||hw(s)!==f)&&n.insertBefore(s,r),f=s});let p=t.tiles.length-a.length;Ro(r,p===0),Lo(r,`+${p}`),zo(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)&&Sw(e,null),i){for(let e of d)yw(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?xw(r,a):a!==0&&bw(r,a,n)})}}function hw(e){let t=e.previousElementSibling;for(;t?.hasAttribute(`data-leaving`);)t=t.previousElementSibling;return t}function gw(e,t){let n=j(`span`,`attention-tile`);n.setAttribute(`role`,`img`),n.dataset.id=t;let r=j(`span`,`attention-tile-icon`);return r.setAttribute(`aria-hidden`,`true`),n.append(r),n.addEventListener(`pointerenter`,()=>Sw(e,t)),n.addEventListener(`pointerleave`,()=>Sw(e,null)),n}function _w(e,{kind:t,name:n},r){e.dataset.kind=t,e.toggleAttribute(`data-head`,r);let i=`${n}, ${KC[t]}`;e.title=i,e.setAttribute(`aria-label`,i),as(A(e,`.attention-tile-icon`),GC[t])}function vw(e,t){e.toggleAttribute(`data-leaving`,!0),e.style.left=`${t.left}px`,e.style.top=`${t.top}px`;let n=uw()?[{opacity:1},{opacity:0}]:dw([{transform:`none`,opacity:1},{transform:`scale(0.6)`,opacity:0}]),r=e.animate(n,{duration:$C,fill:`forwards`});r.onfinish=()=>e.remove(),r.oncancel=()=>e.remove()}function yw(e){let t=uw()?[{opacity:0},{opacity:1}]:dw([{transform:`scale(0.6)`,opacity:0},{transform:`none`,opacity:1}]);e.animate(t,{duration:QC})}function bw(e,t,n){uw()||e.animate(dw([{transform:`translateX(${t}px)`},{transform:`none`}]),{duration:ew,delay:n*tw,fill:`backwards`})}function xw(e,t){uw()?e.animate([{opacity:.35},{opacity:1}],{duration:nw,easing:YC}):e.animate(dw([{transform:`translateX(${t}px) scale(0.8)`,filter:`brightness(1.8)`},{transform:`scale(1.1)`,offset:.6},{transform:`none`,filter:`none`}]),{duration:nw})}function Sw(e,t){let n=cw(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 Cw(e){return!e||e.getClientRects().length===0?null:e.getBoundingClientRect()}function ww(e,t,n){let r=cw(e);if(r.flyingIds.has(t))return;let i=r.tileById.get(t);if(!i||!lw(e)){n();return}Sw(e,null),r.flyingIds.add(t);let a=r.hooks.rowFor(t),o=i.getBoundingClientRect(),s=Cw(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(Tw(o,s),Ew(s)),u=()=>{c.remove(),r.flyingIds.delete(t),i.isConnected&&(i.style.visibility=``),n()};l.onfinish=u,l.oncancel=u}function Tw(e,t){return!t||uw()?[{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 Ew(e){return!e||uw()?{duration:iw,fill:`forwards`}:{duration:rw,easing:XC,fill:`forwards`}}function Dw(e){let t=cw(e);e.hasAttribute(`data-empty`)&&kw(e,t);for(let e of t.pressAnimations)e.cancel();if(t.pressAnimations=[],!lw(e))return;let n={duration:ZC};if(t.pressAnimations.push(e.animate(dw([{opacity:0},{opacity:.07,offset:.3},{opacity:0}]),{...n,pseudoElement:`::after`})),!uw()){t.pressAnimations.push(e.animate(dw([{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(dw([{transform:`none`},{transform:`translateY(${aw}px)`,offset:.3},{transform:`none`}]),n),r.animate(dw([{transform:`none`},{transform:`translateY(-${aw}px)`,offset:.3},{transform:`none`}]),{...n,pseudoElement:`::after`}))}}function Ow(e){let t=qC.filter(t=>t!==e);return t[Math.floor(Math.random()*t.length)]??qC[0]}function kw(e,t){let n=Ow(t.lastAllClearLine);t.lastAllClearLine=n,A(e,`.attention-banner-line`).textContent=n,e.toggleAttribute(`data-all-clear-line`,!0),t.allClearLineTimer!==null&&window.clearTimeout(t.allClearLineTimer),t.allClearLineTimer=window.setTimeout(()=>Aw(e,t),JC)}function Aw(e,t){t.allClearLineTimer!==null&&window.clearTimeout(t.allClearLineTimer),t.allClearLineTimer=null,e.toggleAttribute(`data-all-clear-line`,!1)}var jw=e=>e.ui.path,Mw=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),Nw=null,Pw=null,Fw=null,Iw=null,Lw=null,Rw=null,zw=null,Z=!1,Bw=!1,Vw=new Map,Hw=new Map,Uw=new Map,Ww=new Map,Gw=null,Kw=``,qw=[],Jw=new Set;function Yw(){return VC(Zw(oT()),Jw)}function Xw(e){let t=Gw;if(Gw=e||null,t&&t!==Gw){let e=Hw.get(t);e&&(e.tabIndex=-1,e.setAttribute(`aria-selected`,`false`))}if(Gw){let e=Hw.get(Gw);e&&(e.tabIndex=0,e.setAttribute(`aria-selected`,`true`))}}function Zw(e){return BC(e,jw,bl(e,jw))}function Qw(e){let t=Ww.get(e.key),n=Uw.get(e.key);return(!t||!n)&&(t=HC({onAdd:Wl,onForget:e=>{xl(e),pT()}}),n=j(`div`,`focus-rail-list`),n.setAttribute(`role`,`listbox`),Ww.set(e.key,t),Uw.set(e.key,n)),UC(t,e,`rail`),zo(n,`aria-label`,`${e.label} sessions`),{header:t.header,list:n}}function $w(){return Z}function eT(){return R.snapshot().focusedSessionId}function tT({rail:e,center:t,resizer:n}){if(Nw=e,Fw=t,!Nw||!Fw)return;let r=Nw,i=Fw;iT(n),r.removeAttribute(`role`),r.removeAttribute(`aria-label`),r.setAttribute(`aria-keyshortcuts`,mr(Bd)),Pw=fw({onJump:_T,rowFor:e=>Hw.get(e)},Kd());let a=j(`details`,`rail-status-key`);a.append(j(`summary`,`rail-status-key-summary`,`Status key`),hl()),r.append(Pw,a),Lw=j(`div`,`focus-empty`),Lw.innerHTML=`<p class="focus-empty-title"></p><p class="focus-empty-desc"></p>`,Rw=Lw.querySelector(`.focus-empty-title`),zw=Lw.querySelector(`.focus-empty-desc`),Iw=j(`div`,`focus-card-slot`),i.append(Lw,Iw),r.addEventListener(`keydown`,aT)}var nT={minPx:180,maxPx:480},rT=16;function iT(e){e&&Nw&&Oo({resizer:e,column:Nw,widthHost:Nw,widthProperty:`--rail-width`,bounds:nT,keyStepPx:rT,getStoredWidth:Kr,setStoredWidth:qr})}function aT(e){if(e.key===`Delete`||e.key===`Backspace`){let t=e.target instanceof HTMLElement?e.target:null,n=t?.dataset.id;if(!n||Hw.get(n)!==t)return;e.preventDefault(),Xl(n);return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||e.altKey||e.metaKey||e.ctrlKey||e.shiftKey)return;let t=lt(Yw(),Gw,e.key===`ArrowDown`?1:-1);t!=null&&(e.preventDefault(),Xw(t),Hw.get(t)?.focus())}function oT(){return ht(Il(sT))}function sT(e){return e.nameEl?e.nameEl.textContent:e.card&&(e.card.dataset.session||e.card.dataset.id)||``}function cT(e){let{row:t,refs:n}=tl(`button`);t.type=`button`,t.dataset.id=e,t.setAttribute(`role`,`option`),t.addEventListener(`click`,()=>lT(e)),t.addEventListener(`pointerenter`,()=>{Pw&&Sw(Pw,e)}),t.addEventListener(`pointerleave`,()=>{Pw&&Sw(Pw,null)});let{item:r,removeButton:i}=nl(t,()=>Xl(e));return r.setAttribute(`role`,`presentation`),i.tabIndex=-1,Object.assign(t,{_refs:n,_row:r})}function lT(e){let t=Nl(e);t&&(CT(e),yT(t,e))}function uT(e,{id:t,ui:n,state:r,name:i},a){let o=Vw.get(t)||`none`;ll(e,e._refs,{ui:n,state:r,name:i??``,mergeStatus:o===`none`?``:o,attentionPosition:a}),e.classList.toggle(`focused`,t===eT()),e.classList.toggle(`has-unopened-shown`,ya(t));let s=t===Gw;zo(e,`aria-selected`,String(s)),zo(e,`tabindex`,s?`0`:`-1`)}function dT(e,t){if(!Z)return;let n=e?.card?.dataset.id,r=n?Hw.get(n):null;r&&(t===`flag`?r.dataset.activity=e._activity||``:Ft(r._refs?.glyph))}kt(dT),It((e,t)=>{if(!Z)return;let n=Hw.get(e);n&&Lo(n._refs.elapsed,Pt(t))});var fT=new Map;function pT(e){if(!Z)return;let t=Nw;if(!t)return;let n=oT(),r=Zw(n),i=new Set,a=gt(n,eT()),o=new Map(a.map(({id:e},t)=>[e,t+1])),s=(t,n)=>{let r=t.map(e=>e.id).join(`,`),a=n._lastOrderKey===r&&n.childElementCount===t.length;for(let n of t){let{id:t}=n;i.add(t);let r=Hw.get(t),a=!r;r||(r=cT(t),Hw.set(t,r));let s=o.get(t)??null;(!e||a||e.has(t)||fT.get(t)!==s)&&uT(r,n,s),fT.set(t,s)}a||Io(n,t.flatMap(({id:e})=>Hw.get(e)?._row??[])),n._lastOrderKey=r},c=new Set(r.order),l=r.groups.map(e=>e.key).join(`
|
|
82
|
+
`),i.append(t)}let a=t?e.worthALook:e.worthALook.slice(0,$_);if(a.length>0){let e=j(`div`,`review-look-list`);for(let t of a)e.append(ev(t,r));i.append(e)}let o=e.worthALook.length-a.length;if(o===0)return i;let s=j(`div`,`review-look-more`),c=j(`button`,`review-look-show-all`,`Show all`);return c.type=`button`,c.addEventListener(`click`,n),s.append(j(`span`,`review-look-more-count`,`+${o} more`),c),i.append(s),i}function nv(e){return(e??[]).map(e=>{let t=j(`span`,`review-file-hint`,e.text);return t.title=e.title,t})}function rv(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 iv(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=rv(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 av(e,t){return t===`merged`||t===`none`||e===`parked`&&t===`pending-review`}function ov(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 sv({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=fv(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 cv({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?sv({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 lv(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 ${fv(t)}.`}function uv(e,t){return e.namesMergeTarget?null:`merges into ${fv(t)}`}function dv({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 fv(e){return e||`base`}function pv(e,t){return`Merge into ${fv(e)}, push it, and rebase this worktree, then keep working (${t})`}function mv(e){return e===`base-diverged`?`Resync the base branch by hand, then Merge again.`:`Needs manual merge`}function hv(e,t,n){let r=e!==`parked`||e===`parked`&&t===`base-diverged`;return{isRendered:r,isEnabled:r&&e!==`merging`&&n}}function gv({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 _v(e){return e.map(e=>{let t=e.member?`${e.member}/ `:``,n=y(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 vv({fetched:e,changedFileCount:t,hasCommits:n}){return!e||t>0||n}function yv(e){return e||`its upstream`}function bv(e){if(!e)return null;let t=e.branch||`Base branch`,{state:n,ahead:r,behind:i}=e,a=yv(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 xv(e){return!e||e.fetched===!1?`recheck`:e.state===`ahead`||e.state===`behind`?`resync`:`recheck`}function Sv(e,t,n){let r=n?` (${t})`:``;if(!e||xv(e)===`recheck`)return`Click to fetch and check again${r}`;let i=e.branch||`Base branch`,a=yv(e.upstream);return e.state===`behind`?`Click to fast-forward ${i} to ${a}${r}`:`Click to push ${i} to ${a}${r}`}function Cv(e){return e?.state!==`in-sync`||e.fetched===!1}function wv(e){if(e.error)return`Resync failed: ${e.error}`;let t=e.branch||`The base branch`,n=yv(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 Tv=new Set([`pending-review`,`parked`]),Ev=600,Dv=pr(`merge`,Bd),Ov=pr(`resolve-or-resync`,Bd),kv={minPx:260,maxPx:700},Av=16,jv=5e3,Mv=new Map,Nv=new Map,Pv=new Map,Fv=new Map,Iv=new Map,Lv=new Map,Rv=new Set,zv=new WeakMap,Bv=new WeakMap,Vv=new Set,Hv=new Set,Uv=!1,Wv=null,Gv=null,K=null,q=null,Kv=null,qv=null,Jv=null,Yv=null,Xv=null,Zv=!1,Qv=null,$v=null,ey=null,ty=null,ny=new Map,J=null,ry=null;function iy(e,t){let n=j(`button`,`review-icon-button`);return n.type=`button`,n.title=e,n.setAttribute(`aria-label`,e),n.append(ns(t)),n}function ay(){Zv=!1,K?.querySelector(`.review-more-menu`)?.remove(),K?.querySelector(`.review-more-button`)?.setAttribute(`aria-expanded`,`false`)}function oy({panel:e}){if(Gv=e,!Gv)return;let t=Gv,n=j(`div`,`review-sidebar-head`),r=j(`span`,`review-sidebar-title`,`Review`);Xv=j(`span`,`review-sidebar-session`),r.append(Xv);let i=e=>{t.toggleAttribute(`data-collapsed`,e),Yr(!e)},a=iy(`Close review`,`M6 3L11 8L6 13`);a.classList.add(`review-sidebar-close`),a.addEventListener(`click`,()=>i(!0)),n.append(r,a);let o=j(`div`,`review-sidebar-rail`),s=iy(`Open review`,`M10 3L5 8L10 13`);s.classList.add(`review-sidebar-open`),s.addEventListener(`click`,()=>i(!1)),qv=j(`div`,`review-rail-status`),Jv=j(`span`,`review-rail-added`),Yv=j(`span`,`review-rail-removed`),qv.append(Jv,Yv),Kv=j(`span`,`review-rail-label`,`Review`),o.append(s,Kv,qv),K=j(`div`,`review-controls`),q=j(`div`,`review-sidebar-body`);let c=j(`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,K,q,c),t.toggleAttribute(`data-collapsed`,!Jr()),cy(q),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&Zv&&(e.preventDefault(),ay(),K?.querySelector(`.review-more-button`)?.focus())}),document.addEventListener(`pointerdown`,e=>{Zv&&e.target instanceof Element&&(K?.contains(e.target)&&e.target.closest(`.review-more-button, .review-more-menu`)||ay())}),Oo({resizer:c,column:t,widthHost:t,widthProperty:`--sidebar-width`,bounds:kv,keyStepPx:Av,getStoredWidth:bi,setStoredWidth:xi,growsLeftward:!0}),Ml(e=>{Zv=!1,ey=null,Vv.clear(),Hv.clear(),Uv=!1,Wv=null,e&&Fy(e),e&&!Ly(e)&&Ry(e),Y()}),Y()}function sy(e,t){let n=Mv.get(e);Mv.set(e,t),av(n,t)&&(Pv.delete(e),Fv.delete(e),Iv.delete(e),e===W()&&Iy(e)),e===W()&&Y()}function cy(e){let t=!1,n=null,r=null,i=e=>N({type:`watch-session-changes`,id:e}),a=()=>{let e=t&&document.visibilityState===`visible`?W():null;e!==n&&(r&&clearInterval(r),r=null,n=e,i(e),e&&(r=setInterval(()=>i(e),de)))};new IntersectionObserver(e=>{t=e[e.length-1]?.isIntersecting??!1,a()}).observe(e),document.addEventListener(`visibilitychange`,a),Ml(a)}function ly(e){Gv&&(e?(Le(Gv,e),Y()):(Ne(Gv),Y()))}function uy(e,t,n=null){let r=t||`none`;Nv.set(e,n);let i=ny.get(e);i!==void 0&&i!==r&&ny.delete(e),sy(e,r)}function dy(e){let t=P(e);t&&ny.delete(t)&&t===W()&&Y()}function fy(e,t,n=null){Nv.set(e,n),ny.delete(e),sy(e,t||`none`)}function py(e,t){Pv.set(e,t),Fv.delete(e),e===W()&&(Wv&&Wy(Wv,t),Y(),Gy())}function my(e,t){let n=P(e);n&&(Fv.set(n,t),n===W()&&Y())}function hy(e,t){let n=P(e);if(!n)return;let r=_.safeParse(t);r.success&&r.data.sessionId===n&&(Iv.set(n,r.data),n===W()&&Y())}function gy(e,t){let n=P(e),r=t;Lv.set(n,r),r&&r.action!==void 0&&_y(n,r),n===W()&&Y()}function _y(e,t){Rv.delete(e),clearTimeout(ry??void 0),ry=null;let n=wv(t);J=n?{forId:e,text:n,isError:!!t.error}:null,J&&!J.isError&&(ry=setTimeout(()=>{J&&J.forId===e&&(J=null),Y()},5e3))}function vy(e){let t=P(e);t&&t===W()&&Fy(t)}function yy(e){let t=P(e);if(t!==W())return;let n=!Pv.has(t)||Fv.has(t),r=!Iv.has(t)||by(Iv.get(t));n&&Fy(t),r&&!n&&Iy(t),Y()}function by(e){return e?!!e.error||e.repos.some(e=>e.error!==null):!1}function xy(e){let t=P(e);Mv.delete(t),Nv.delete(t),Pv.delete(t),Fv.delete(t),Iv.delete(t),Lv.delete(t),Rv.delete(t),J&&J.forId===t&&(clearTimeout(ry??void 0),J=null),t===W()?jl(null):Y()}function Sy(){let e=W(),t=e?F.get(e):null;if(!e||!t)return Cy(null,`No session is open to merge.`);if(Ly(e))return Cy(e,`A workspace session has no worktree to merge.`);if(ny.has(e))return Cy(e,`Merge is already on its way for "${Uy(t,e)}".`);let n=Mv.get(e)||`none`,r=!!Pv.get(e)?.hasCommits,i=hv(n,Nv.get(e)||null,jy(t.currentState,r));return dv({status:n,mergeReason:Nv.get(e)||null,live:Py(t.currentState),isMergeRendered:i.isRendered,hasChanges:Ay(e)})!==`merge`||!i.isEnabled?Cy(e,gv({status:n,hasCommits:r,live:Py(t.currentState),state:t.currentState})??`Nothing to merge in "${Uy(t,e)}" right now.`):(My(e,t.currentState),!0)}function Cy(e,t){return ey={forId:e,text:t},clearTimeout(ty??void 0),ty=setTimeout(()=>{ey=null,Y()},jv),Y(),!1}function wy(){let e=W();if(!e||Ly(e))return!1;let t=F.get(e);if(!t)return!1;let n=Mv.get(e)||`none`,r=Nv.get(e)||null;return dv({status:n,mergeReason:r,live:Py(t.currentState),isMergeRendered:hv(n,r,!1).isRendered,hasChanges:Ay(e)})!==`resolve`||Ty(e)?!1:(Ey(e),!0)}function Ty(e){return Qv?.forId===e&&!Qv.isError}function Ey(e){let t=N({type:`resolve-session-merge`,id:e});Qv=t?{forId:e,text:`Resolve prompt sent`,isError:!1}:{forId:e,text:`Not connected. The resolve prompt was not sent.`,isError:!0},clearTimeout($v??void 0),$v=setTimeout(()=>{Qv=null,Y()},t?3e3:jv),Y()}function Dy(){let e=W();return!e||!F.has(e)||Ly(e)||By(e)?!1:(Vy(e),!0)}function Oy(e){if(!e)return{committed:[],uncommitted:[]};let t=zv.get(e);if(t)return t;let n={committed:iv(e.committed?.diff||``),uncommitted:iv(e.uncommitted?.diff||``)};return zv.set(e,n),n}function ky(e){let t=Bv.get(e);if(t)return t;let n=Z_(e);return Bv.set(e,n),n}function Ay(e){let t=Oy(Pv.get(e)),n=[...t.committed,...t.uncommitted],r=Pv.get(e)??null;return vv({fetched:Pv.has(e),changedFileCount:ov(n).files,hasCommits:!!r?.hasCommits})}function jy(e,t){return(ze.includes(e)||e===O.RUNNING)&&t}function My(e,t){t===O.RUNNING?wt({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:()=>Ny(e,!0)}):Ny(e,!1)}function Ny(e,t){ny.has(e)||(N(t?{type:`merge-continue-session`,id:e,force:!0}:{type:`merge-continue-session`,id:e})?(ny.set(e,Mv.get(e)||`none`),e===W()&&Y()):Cy(e,`Not connected. The merge was not sent.`))}function Py(e){return e!==O.DORMANT&&e!==O.DONE&&e!==O.FAILED}function Fy(e){N({type:`request-session-diff`,id:e}),Iy(e)}function Iy(e){Iv.has(e)||Iv.set(e,null),N({type:`request-change-map`,id:e})}function Ly(e){return F.get(e)?.card.dataset.workspace!==void 0}function Ry(e){Lv.set(e,null),N({type:`request-branch-sync`,id:e}),e===W()&&Y()}function zy(e){Rv.add(e),clearTimeout(ry??void 0),J&&J.forId===e&&(J=null),N({type:`resync-branch`,id:e}),e===W()&&Y()}function By(e){return Rv.has(e)||Lv.get(e)===null}function Vy(e){By(e)||(xv(Lv.get(e))===`resync`?zy(e):Ry(e))}function Hy(e,t){return t?{text:`Resyncing`,loading:!0,error:!1}:J&&J.forId===e?{text:J.text,loading:!1,error:J.isError}:null}function Uy(e,t){return e?.card?.dataset.session||t}function Wy(e,t){if(!t)return;let{committed:n,uncommitted:r}=Oy(t);for(let t of n)(t.path===e||t.oldPath===e)&&Vv.add(`committed:${t.path}`);for(let t of r)(t.path===e||t.oldPath===e)&&Vv.add(`uncommitted:${t.path}`)}function Gy(){if(!q||!Wv)return;let e=q.querySelectorAll(`.review-file`);for(let t of e)if(t.dataset.path===Wv||t.dataset.oldPath===Wv){t.scrollIntoView({block:`nearest`}),Wv=null;return}}function Ky(e){Wv=e,Wy(e,Pv.get(W()??``)),Y(),Gy()}function qy(){Uv=!0,Y()}function Y(){let e=q?.scrollTop??0;Jy(),q&&(q.scrollTop=e)}function Jy(){if(!K||!q)return;K.replaceChildren(),q.replaceChildren(),Kv&&(Kv.hidden=!0),qv&&(qv.hidden=!0);let e=W(),t=e?F.get(e):null;if(Xy(e,t),!e||!t){ey&&K.append(Yy(ey.text,!0)),Zy(`No session selected`,`Click a session name to review its changes here.`);return}let n=Ly(e),r=Mv.get(e)||`none`,i=Nv.get(e)||null,a=t.currentState,o=Tv.has(r),s=Pv.has(e),c=s?Pv.get(e):null,l=Fv.get(e)??null,{committed:u,uncommitted:d}=Oy(c),f=!!c?.hasCommits,p=Py(a),m=hv(r,i,jy(a,f)),h=Lv.get(e),ee=Rv.has(e),g=fv(t.effectiveBase),_=ov([...u,...d]),v=dv({status:r,mergeReason:i,live:p,hasChanges:vv({fetched:s,changedFileCount:_.files,hasCommits:f}),isMergeRendered:m.isRendered}),y=cv({status:r,mergeReason:i,fetched:s,hasDiffError:l!==null,hasChanges:_.files>0||f,hasCommits:f,canMerge:!n&&m.isEnabled,isWorkspace:n,live:p,effectiveBase:g,changedFileCount:_.files}),b=y.isEmpty===!0,te=b||qu()||Cv(h),x=j(`div`,`review-status-headline`);if(x.append(j(`span`,`review-status-text`,y.text)),!n&&!te){let t=bv(h);if(t){x.title=t;let n=iy(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);n.classList.add(`review-branch-sync-refresh`),n.title=Sv(h,Ov,v!==`resolve`),n.disabled=By(e),n.setAttribute(`aria-description`,t),n.addEventListener(`click`,()=>Vy(e)),x.append(j(`span`,`sr-only`,t),n)}}if(b||K.append(x),u.length>0)for(let e of _v(c?.bases??[])){let t=j(`div`,e.isUnverified?`review-diff-base review-diff-base-unverified`:`review-diff-base`,e.text);t.title=e.fullSha,K.append(t)}let S=j(`div`,`review-status-meta`);if(s&&_.files>0&&S.append(j(`span`,`review-status-added`,`+${_.added}`),j(`span`,`review-status-removed`,`-${_.removed}`),j(`span`,`review-status-spacer`)),!n&&te){let t=Qy(e,v!==`resolve`);t&&S.append(t)}S.childElementCount>0&&K.append(S),r===`parked`&&K.append(j(`div`,`review-status-explanation`,mv(i))),Kv&&(Kv.hidden=!1),qv&&(qv.hidden=!1,qv.setAttribute(`aria-label`,`${y.text}, +${_.added}, -${_.removed}`),qv.title=y.text),Jv&&(Jv.textContent=`+${_.added}`),Yv&&(Yv.textContent=`-${_.removed}`);let C=n?null:rb(e,{status:r,reviewable:o,mergeAction:m,live:p,state:a,effectiveBase:g,primaryAction:v});C&&K.append(C);let ne=n?null:Hy(e,ee),w=!n&&v===`merge`&&!m.isEnabled?gv({status:r,hasCommits:f,live:p,state:a}):null;if(w){let e=j(`div`,`review-control-reason`,w);e.id=`review-merge-reason`,K.append(e),K.querySelector(`#review-merge-btn`)?.setAttribute(`aria-describedby`,e.id)}if(ne?.text){let e=j(`div`,ne.loading?`review-control-reason review-loading`:`review-control-reason`,ne.text);e.id=`review-resync-reason`,ne.error&&e.classList.add(`review-control-reason-error`),e.setAttribute(`role`,`status`),S.append(e),S.isConnected||K.insertBefore(S,x.isConnected?x.nextSibling:K.firstChild),K.querySelector(`.review-branch-sync-button, .review-branch-sync-refresh`)?.setAttribute(`aria-describedby`,e.id)}if(Qv?.forId===e&&K.append(Yy(Qv.text,Qv.isError)),ey&&(ey.forId===e||ey.forId===null)&&K.append(Yy(ey.text,!0)),l){q.append(j(`p`,`review-diff-error`,l));return}if(b){Zy(y.text,lv(n,g));return}let re=Iv.get(e),T=re?ky(re):null,ie=T?tv(T,{isShowingAll:Uv,onShowAll:qy,onOpenFile:Ky}):null;ie&&q.append(ie);let ae=u.length>0&&d.length>0;u.length>0&&q.append($y({kind:`committed`,label:ae?`Committed`:null,meaning:uv(y,g),files:u,changeMapView:T})),d.length>0&&q.append($y({kind:`uncommitted`,label:ae?`Not committed yet`:null,meaning:null,files:d,changeMapView:T}))}function Yy(e,t){let n=j(`div`,t?`review-control-reason review-control-reason-error`:`review-resolve-sent`,e);return n.setAttribute(`role`,`status`),n}function Xy(e,t){if(!Xv)return;let n=e&&t?Uy(t,e):``;Xv.textContent=n,Xv.hidden=!n,Xv.title=n}function Zy(e,t){if(!q)return;let n=j(`div`,`review-empty`);n.append(j(`div`,`review-empty-title`,e),j(`div`,`review-empty-desc`,t)),q.append(n)}function Qy(e,t){let n=Lv.get(e);if(n===void 0)return null;if(n===null)return j(`span`,`review-branch-sync-text review-loading`,`Checking branch sync...`);let r=bv(n)||`Base branch: sync state unknown`,i=j(`span`,`review-branch-sync-text`);n.state&&(i.dataset.syncState=n.state),n.fetched===!1&&(i.dataset.stale=`true`);let a=iy(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);return a.classList.add(`review-branch-sync-button`),a.title=Sv(n,Ov,t),a.disabled=Rv.has(e),a.addEventListener(`click`,()=>Vy(e)),i.append(a,j(`span`,`review-branch-sync-label`,r)),i}function $y({kind:e,label:t,meaning:n,files:r,changeMapView:i}){let a=j(`div`,`review-section`);a.dataset.kind=e,t&&a.append(eb(t,n,r));let o=j(`div`,`review-diff`),s=i&&i.repos.length>1?i.repos:[],c=null;for(let t of r){let n=s.length>0?Q_(s,t.path):null;n&&n!==c&&o.append(j(`div`,`review-repo-label`,n)),c=n,o.append(tb(t,e,i))}return a.append(o),a}function eb(e,t,n){let r=ov(n),i=j(`div`,`review-section-head`),a=j(`div`,`review-section-id`);a.append(j(`span`,`review-section-label`,e)),t&&a.append(j(`span`,`review-section-meaning`,t));let o=j(`div`,`review-section-stat`);return o.append(j(`span`,`review-stat-files`,`${r.files} file${r.files===1?``:`s`}`),j(`span`,`review-add`,`+${r.added}`),j(`span`,`review-del`,`-${r.removed}`)),i.append(a,o),i}function tb(e,t,n){let r=`${t}:${e.path}`,i=Vv.has(r),a=j(`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=j(`button`,`review-file-head`);o.type=`button`,o.setAttribute(`aria-expanded`,i?`true`:`false`);let s=j(`span`,`review-file-twisty`,i?`▾`:`▸`);s.setAttribute(`aria-hidden`,`true`);let c=j(`span`,`review-file-name`);c.append(j(`span`,`review-file-path`,e.path));let l=nv(n?.hintsByOpenPath.get(e.path));if(l.length>0){let e=j(`span`,`review-file-hints`);e.append(...l),c.append(e)}o.append(s,c);let u=j(`span`,`review-file-counts`);if(e.binary&&u.append(j(`span`,`review-bin`,`bin`)),e.binary||u.append(j(`span`,`review-add`,`+${e.added}`),j(`span`,`review-del`,`-${e.removed}`)),o.append(u),o.addEventListener(`click`,()=>{let e=Vv.has(r);e&&Vv.delete(r),e||Vv.add(r),Y()}),a.append(o),!i)return a;let d=j(`div`,`review-file-body`);if(e.binary)return d.append(j(`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>=Ev&&!Hv.has(r)){p=!0;break}d.append(j(`div`,`review-hunk-head`,t.header));for(let e of t.lines){if(f>=Ev&&!Hv.has(r)){p=!0;break}let t=j(`div`,`review-line review-line-${e.type}`),n=e.type===`add`?`+`:e.type===`del`?`-`:e.type===`meta`?`\\`:` `;t.append(j(`span`,`review-line-gutter`,n)),t.append(j(`span`,`review-line-text`,e.text)),d.append(t),f++}if(p)break}if(p){let e=j(`button`,`review-expand`,`Show the rest of this file`);e.type=`button`,e.addEventListener(`click`,()=>{Hv.add(r),Y()}),d.append(e)}return a.append(d),a}function nb({id:e,label:t,shortcut:n,title:r,disabled:i=!1,danger:a=!1,onClick:o}){let s=j(`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 rb(e,{status:t,reviewable:n,mergeAction:r,live:i,state:a,effectiveBase:o,primaryAction:s}){let c=j(`div`,`review-actions`),l=s===`resolve`;s===`merge`&&c.append(nb({id:`review-merge-btn`,label:`Merge`,shortcut:Dv,title:pv(o,Dv),disabled:!r.isEnabled||ny.has(e),onClick:()=>My(e,a)})),l&&c.append(nb({label:`Resolve`,shortcut:Ov,title:`Paste a resolve prompt into this session so the agent can finish the merge (${Ov})`,disabled:Ty(e),onClick:()=>Ey(e)}));let u=j(`div`,`review-action-controls`);if(u.append(c),!n||i)return c.childElementCount>0?u:null;let d=iy(`More review actions`,Jo);if(d.classList.add(`review-more-button`),d.setAttribute(`aria-haspopup`,`menu`),d.setAttribute(`aria-expanded`,String(Zv)),d.setAttribute(`aria-controls`,`review-more-menu`),d.addEventListener(`click`,()=>{Zv=!Zv,Y(),(K?.querySelector(Zv?`.review-more-menu button:not(:disabled)`:`.review-more-button`)??K?.querySelector(`.review-more-button`))?.focus()}),c.append(d),!Zv)return u;let f=j(`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=nb({label:`Discard worktree`,danger:!0,disabled:t===`merging`,onClick:()=>{Zv=!1,Y();let t=Uy(F.get(e),e);wt({title:`Discard worktree`,message:`Throw away the worktree changes for "${t}"? This cannot be undone.`,confirmLabel:`Discard`,danger:!0,onConfirm:()=>N({type:`discard-session-worktree`,id:e})})}});n.setAttribute(`role`,`menuitem`),f.append(n)}return u.append(f),u}var ib=160,ab=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 ob(e){let t=e.split(/\r?\n/,1)[0]?.trim()??``;return t.length<=ib?t:`${t.slice(0,157)}...`}function sb(e,t){let n=ab[e];if(!n||!t||typeof t!=`object`||Array.isArray(t))return``;let r=t[n];return typeof r==`string`?ob(r):``}var cb=5e3;function lb(e){let t=e.match(/<command-name>([^<]*)<\/command-name>/)?.[1];return t===void 0||/[\r\n]/.test(t)?null:t.trim()||null}function ub(e,t){if(!e.toolUseId)return lb(e.text)??`context`;let n=t.get(e.toolUseId);return n?sb(n.name,n.input)||n.name:`expansion`}function db(e){return e.kind!==`expansion`||e.toolUseId?!1:lb(e.text)!==null}function fb(e){return e.kind===`prompt`||e.kind===`session`||db(e)}function pb(e){return new TextEncoder().encode(e).byteLength}var mb={prompt:`PROMPT`,expansion:`EXPANSION`,thinking:`THINKING`,assistant:`ASSISTANT`,tool_call:`TOOL`,tool_result:`RESULT`,session:`SESSION`,notice:`NOTICE`,raw:`RAW`};function hb(e,t){if(e.kind===`prompt`)return{prefix:`Prompt: `,text:ob(e.text)};if(e.kind===`thinking`)return{prefix:`Thinking: `,text:ob(e.text)};if(e.kind===`assistant`)return{prefix:`Assistant: `,text:ob(e.text)};if(e.kind===`notice`)return{prefix:`Notice: `,text:ob(e.text)};if(e.kind===`raw`)return{prefix:`Raw: `,text:ob(e.line)};if(e.kind===`session`)return{prefix:`Session: `,text:`${e.vendor} ${e.vendorSessionId}`};if(e.kind===`expansion`)return{prefix:`Expansion: `,text:ub(e,t)};if(e.kind===`tool_call`){let t=sb(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:`${pb(e.content)} bytes`}}function gb(e){if(!e.agentType)return``;let t=e.agentId?` ${e.agentId.slice(-6)}`:``;return`[${e.agentType}${t}] `}function _b(e,t){let n=hb(e,t),r=gb(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:mb[e.kind],text:`${r}${i}`,tone:o,badges:a}}function vb(e,t){return{record:e,..._b(e,t)}}function yb(e){return e.kind!==`tool_result`&&e.kind!==`expansion`?null:e.toolUseId||null}function bb(e,t){let n=yb(e);return!n||t.has(n)?null:n}function xb(e,t,n=1){e.set(t,(e.get(t)??0)+n)}function Sb(e,t){let n=(e.get(t)??0)-1;n>0?e.set(t,n):e.delete(t)}function Cb(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=yb(i.record);a&&t.has(a)&&(n.rows[r]=vb(i.record,e.toolCallByUseId))}}function wb(){return{turns:[],toolCallByUseId:new Map,unresolvedToolUseCounts:new Map}}function Tb(){return{rowCount:0,toolCallCount:0,errorCount:0,resultBytes:0}}function Eb(e,t,n){e.metrics.rowCount+=n,t.record.kind===`tool_call`&&(e.metrics.toolCallCount+=n),t.record.kind===`tool_result`&&(e.metrics.resultBytes+=pb(t.record.content)*n,t.record.isError&&(e.metrics.errorCount+=n))}function Db(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=bb(i,e.toolCallByUseId);t&&xb(e.unresolvedToolUseCounts,t);let a=vb(i,e.toolCallByUseId);if(fb(i)){r={head:a,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:Tb()},Eb(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:Tb()},e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:null,rows:[]})),r.rows.push(a),Eb(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 Ob(e,t){let n=wb();Db(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)||xb(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],Cb(e,i),{newTurns:n.turns,mergedHead:c,mergedRows:l,needsRerender:i.size>0}}function kb(e){return e.rows.length+ +!!e.head}function Ab(e){let t=0;for(let n of e.turns)t+=kb(n);return t}function jb(e,t){for(let n of t){if(n.record.kind===`tool_call`){e.toolCallByUseId.delete(n.record.toolUseId);continue}let t=yb(n.record);t&&Sb(e.unresolvedToolUseCounts,t)}}function Mb(e,t){jb(e,t.head?[t.head,...t.rows]:t.rows)}function Nb(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);jb(e,i);for(let e of i)Eb(n,e,-1);return n.rows=n.rows.slice(r),n.hasTrimmedRows=!0,r}function Pb(e,t=cb){let n=Ab(e),r=0;for(;n>t&&r<e.turns.length-1;){let t=e.turns[r];if(!t)break;n-=kb(t),Mb(e,t),r+=1}return r>0&&(e.turns=e.turns.slice(r)),n<=t?{droppedTurnCount:r,droppedRowCount:0}:{droppedTurnCount:r,droppedRowCount:Nb(e,n-t)}}function Fb(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 Ib(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 Lb(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 Rb(e,t=cb){return!e.selectedSessionId||!e.hasLoadedOnce||e.hasDroppedEarliestRows||e.residentRowCount>=t?!1:e.firstOffset>0}function zb(e,t=cb){return!Rb(e,t)||e.hasPendingRequest||!e.selectedSessionId?null:{id:e.selectedSessionId,direction:`earlier`,after:0,endingAt:e.firstOffset}}function Bb(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 Vb=1e4,Hb=null,Ub=null,Wb=[],Gb=null,Kb=null,X=null,qb=null,Jb=!1,Yb=null,Xb=()=>!1,Zb=new Set;function Qb(e){for(let t of Zb)t(e)}function $b(){qb&&=(clearTimeout(qb.timeoutHandle),null)}function ex(){qb=null,Yb=`The trace did not load within ${Math.round(Vb/1e3)} s.`,Qb({kind:`rebuild`})}function tx(e){$b(),Jb=!1,Yb=null,Gb=e,X=e?{sessionId:e,grouping:wb(),firstOffset:0,nextOffset:0,hasDroppedEarliestRows:!1,filePath:``,hasLoadedOnce:!1}:null,Qb({kind:`selection-reset`})}function nx(e){let t=Ib(Wb,Kb,Gb,e);return Kb&&t===Kb&&(Kb=null),t!==Gb&&(tx(t),!0)}function rx(e){if(!Hb)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};Hb(t)?qb={request:e,timeoutHandle:setTimeout(ex,Vb)}:(Yb=E,Qb({kind:`header`}))}function ix(e=!1){if(!Hb)return;let t=Lb({selectedSessionId:Gb,isPanelVisible:e||Xb(),hasPendingRequest:!!qb,hasLoadedOnce:X?.hasLoadedOnce??!1,nextOffset:X?.nextOffset??0});t&&rx(t)}function ax(){Jb&&!qb&&(Jb=!1,ix())}function ox(){if(!X)return;let e=Pb(X.grouping),t=e.droppedTurnCount>0||e.droppedRowCount>0,n=t&&!X.hasDroppedEarliestRows;t&&(X.hasDroppedEarliestRows=!0),Qb({kind:`trimmed`,trim:{droppedTurnCount:e.droppedTurnCount,droppedRowCount:e.droppedRowCount,hasJustDroppedEarliestRows:n}})}function sx(e){X&&(Qb({kind:`records-appended`,appends:Db(X.grouping,e)}),ox())}function cx(e){X&&(Qb({kind:`records-prepended`,prepend:Ob(X.grouping,e)}),ox())}function lx(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 ux(){return{selectedSessionId:Gb,hasPendingRequest:!!qb,hasLoadedOnce:X?.hasLoadedOnce??!1,hasDroppedEarliestRows:X?.hasDroppedEarliestRows??!1,firstOffset:X?.firstOffset??0,residentRowCount:X?Ab(X.grouping):0}}function dx(){return{sessionOptions:Wb,selectedSessionId:Gb,selectedTrace:X,pendingSessionId:qb?.request.id??null,traceFailureText:Yb}}function fx(e){Zb.add(e)}function px(e){Xb=e}function mx(){if(!Hb)return;let e=zb(ux());e&&rx(e)}function hx(e){Wb.some(t=>t.id===e)&&e!==Gb&&(Kb=null,tx(e),ix(),Qb({kind:`rebuild`}))}function gx(){let e=nx(!0);return ix(!0),e}function _x(e){Hb=e}function vx(e){Ub=e}function yx(e){Kb=e,Ub?.()}function bx(e){Wb=Fb(e);let t=nx(Xb());t&&ix(),Qb({kind:`sessions`,hasSelectionChanged:t})}function xx(e){let t=lx(e);if(!t)return;let n=Bb({pendingRequest:qb?.request??null,resident:X?{sessionId:X.sessionId,firstOffset:X.firstOffset,nextOffset:X.nextOffset,hasLoadedOnce:X.hasLoadedOnce}:null,reply:{id:t.id,start:t.start,next:t.next,reset:t.reset}});n===`ignore`?ax():($b(),Yb&&(Yb=null,Qb({kind:`header`})),n===`stale`?ax():n===`reset`?(tx(t.id),X&&(X.filePath=t.path),ix(),Qb({kind:`rebuild`}),ax()):X&&(X.filePath=t.path,n===`prepend`?(X.firstOffset=t.start,cx(t.records),ax()):(n===`seed`&&(X.hasLoadedOnce=!0,X.firstOffset=t.start),X.nextOffset=t.next,sx(t.records),ax())))}function Sx(e){let t=e?.id;typeof t==`string`&&t===Gb&&Xb()&&(qb?Jb=!0:ix())}function Cx(e){let t=e?.id;if(typeof t!=`string`||qb?.request.id!==t)return!1;$b(),Jb=!1;let n=e?.message;return Yb=typeof n==`string`&&n?n:`The trace could not be read.`,Qb({kind:`rebuild`}),!0}function wx(e){$b(),Jb=!1,Yb=e?null:E,e?(Qb({kind:`header`}),ix()):Qb({kind:`rebuild`})}var Tx=80,Ex=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 Dx(e){return e.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function Ox(e){return e.includes(`.`)?e.replace(/0+$/,``).replace(/\.$/,``):e}function kx(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.round(e);return`${t<0?`-`:``}${Dx(String(Math.abs(t)))}`}function Ax(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}$${Dx(r)}.${i}`}function jx(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}${Ox((n/1e3).toFixed(1))}k`:n<999995e3?`${t}${Ox((n/1e6).toFixed(2))}M`:`${t}${Ox((n/1e9).toFixed(2))}B`}function Mx(e){return typeof e!=`number`||!Number.isFinite(e)?`ok`:e>=100?`crit`:e>=Tx?`warn`:`ok`}function Nx(e){let t=pe(e?.max,null);return t===null||t<=0?null:t}function Px(e){let t=Nx(e),n=pe(e?.pct,null);return t===null||n===null?null:n*100}function Fx(e,t){let n=Nx(t),r=pe(e?.projectedTokens,null);return n===null||r===null?null:r/n*100}var Ix=90;function Lx(e){let t=e?.budget?.rows;return Array.isArray(t)?t.filter(e=>e&&pe(e.budgetUsd,null)!==null):[]}function Rx(e){let t=pe(e?.pct,null);return t===null?0:t}function zx(e,t){let n=e?.[t];if(!n||typeof n!=`object`)return null;let r=pe(n.pct,null),i=pe(n.resetsAtMs,null);return r===null&&i===null?null:{pct:r,resetsAtMs:i}}function Bx(e){return e?.vendor===`codex`?`codex`:`claude`}function Vx(e){return zx(e,`fiveHour`)?.pct??null}function Hx(e,t=null){let n=Vx(t);if(n!==null)return Mx(n);let r=Mx(Px(e?.tokenLimit));return r===`ok`?Mx(Fx(e?.activeBlock?.projection,e?.tokenLimit)):r}function Ux(e,t=null){let n=[],r=Hx(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 Lx(e)){let e=Rx(t);if(e<Ix)continue;let r=typeof t?.scope==`string`&&t.scope?t.scope:`budget`;n.push(`budget:${r}:${e>=100?`over`:`near`}`)}return fe(n)}function Wx(e,t=``){let n=e?.source;if(n===`fetched`){let e=ae(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=ae(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 Gx(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 Kx(e){if(Array.isArray(e))return e.length;let t=Number(e);return Number.isFinite(t)?t:null}function qx(e){if(!e||typeof e!=`object`)return``;let t=[],n=Kx(e.dirs);if(n!==null&&t.push(`${kx(n)} transcript ${n===1?`directory`:`directories`}`),Number.isFinite(e.files)&&t.push(`${kx(e.files)} files`),Number.isFinite(e.entries)&&t.push(`${kx(e.entries)} entries`),Number.isFinite(e.lastScanMs)&&t.push(`last pass ${kx(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 Jx(e){return ae(e?.error,``)}function Yx(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return n==null||n===t}function Xx(e){let t=pe(e?.officialCostUSD,null);if(t!==null&&t>0)return{costUSD:t,source:`official`};let n=pe(e?.costUSD,null);return n!==null&&n>0?{costUSD:n,source:`estimated`}:{costUSD:null,source:null}}function Zx(e){let t=Number(e?.tokens);if(!Number.isFinite(t)||t<=0)return``;let{costUSD:n}=Xx(e);return n===null?jx(t):`${jx(t)} ${Ax(n)}`}function Qx(e){let{source:t}=Xx(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 $x({hasPlan:e,pendingPromptKind:t,hasOpenReview:n,hasApprovedReview:r=!1}){return e&&(n||t===`plan`&&!r)?`plan`:`terminal`}function eS({hasPlan:e,isBorrowed:t,face:n}){return!e||n===`plan`?`hidden`:t?`face`:`navigate`}function tS(e){return e instanceof Error?e.message:String(e)}function nS(e,t,n=!1){let r=j(`label`,`dialog-checkbox-label`),i=j(`input`);return i.type=`checkbox`,i.className=`dialog-checkbox`,i.value=t,i.checked=n,r.append(i,j(`span`,null,e)),r}function rS(e){return e.split(/[\\/]/).filter(Boolean).at(-1)??e}async function iS(e){let[t,n]=await Promise.all([it(`get-workspace-repos`,{id:e}),it(`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:rS(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 aS(e){let{overlay:t,dialog:n,close:r,actions:i,btnCancel:a}=Et({title:`Workspace repositories`}),o=j(`p`,`dialog-message`,`Saving restarts the session and resumes its conversation. A removed repository keeps its workspace branch, so committed work survives.`),s=j(`fieldset`,`dialog-workspace-list`);s.setAttribute(`aria-label`,`Workspace repositories`),s.append(j(`div`,`dialog-hint`,`Loading repositories...`));let c=j(`div`,`dialog-hint`);c.setAttribute(`role`,`status`);let l=j(`div`,`dialog-error`),u=j(`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()),iS(e).then(e=>{if(t.isConnected){s.textContent=``;for(let t of e)s.append(nS(t.name,t.path,t.isMember));u.disabled=!1}}).catch(e=>{t.isConnected&&(s.textContent=``,l.textContent=`Could not load repositories: ${tS(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`,it(`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: ${tS(e)}`)}).finally(()=>{c.textContent=``,u.disabled=!1}))})}function oS(e,t,n){return{body:String(n||`Session needs attention`),tag:`glimmervoid-${e||``}-${t||``}`,renotify:!0}}var sS=4e3;function cS(e,t){return`glimmervoid-notify-claim-${e||``}-${t||``}`}function lS(e,t,n,r=sS){try{let i=e.getItem(t);if(i){let e=Number(i);if(Number.isFinite(e)&&n-e<r)return!1}return e.setItem(t,String(n)),!0}catch{return!0}}function uS(){return typeof Notification>`u`?null:Notification}function dS(){return uS()!==null}function fS(){let e=uS();return e?e.permission:`unavailable`}async function pS(){let e=uS();if(!e)return`denied`;if(e.permission!=="default")return e.permission;try{return await e.requestPermission()}catch{return e.permission}}function mS(){return!dS()&&!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.`:dS()?fS()===`denied`&&Mr()?`Blocked by the browser. Allow notifications for this site in its site settings.`:null:`This browser does not support desktop notifications.`}function hS(){return Mr()&&fS()==="default"}function gS(e=()=>{}){let t=j(`div`,`notification-permission`),n=()=>{let r=mS();if(t.replaceChildren(),t.hidden=!r&&!hS(),r){t.append(j(`p`,`notification-permission-hint text-xs text-text-muted`,r));return}let i=j(`button`,`btn-dialog btn-dialog-cancel`,`Enable desktop notifications`);i.type=`button`,i.addEventListener(`click`,()=>{i.disabled=!0,pS().then(()=>{n(),e()})}),t.append(i)};return n(),{element:t,refresh:n}}var _S=`Notifications`,vS=`Desktop notifications are blocked by the browser, so alerts show only in this tab. Allow notifications for this site to get them again.`,yS=new Map,bS=!1;function xS(){bS||(bS=!0,H({source:_S,message:vS,hidesInStreamerMode:!1}))}function SS(e,t){let n=yS.get(e)??new Set;n.add(t),yS.set(e,n),t.addEventListener(`close`,()=>n.delete(t))}function CS(e){let t=yS.get(e);if(t){yS.delete(e);for(let e of t)e.close()}}function wS(e){return!dS()||!Mr()||document.documentElement.hasAttribute(`data-streamer`)?!1:e||!document.hasFocus()}function TS(e=!1){return wS(e)&&fS()===`granted`}function ES({session:e,category:t,message:n,kind:r,ignoreFocus:i=!1}={}){let a=uS();if(!a||!wS(!!i)||(a.permission===`denied`&&xS(),a.permission!==`granted`)||(Cs(_S),!lS(window.localStorage,cS(e,t),Date.now())))return;let o=typeof e==`string`?e:``,s=F.get(o),c=s?ut(s):``;try{let i=new a(c||`Glimmervoid`,oS(e,t,n));i.onclick=()=>{window.focus(),r===`plan`&&o&&(window.location.hash=S_(o)),i.close()},s&&SS(o,i)}catch{}}var DS=e=>e==null?``:String(e),OS=e=>Te.includes(e),kS=e=>Oe.includes(e),AS=!1;xa(e_);var jS=null,MS=null;function NS(){return jS??=V(()=>import(`./alert-sound-Deu-O2kQ.js`),[]).catch(e=>(jS=null,M(`alert-sound`,`alert sound failed to load: ${ot(e)}`),null)),jS}function PS(){return MS??=V(()=>import(`./resume-dialog-jWY_EzSD.js`),__vite__mapDeps([14,3,4,1,2,11,7])).catch(e=>(MS=null,M(`resume-dialog`,`restart dialog failed to load: ${ot(e)}`),null)),MS}function FS(){let e=Ar();NS().then(t=>t?.playAlertSound(e))}var IS=null,LS=null;function RS(){return LS??=V(()=>import(`./plan-face-CFPT9PGb.js`).then(e=>(IS=e,e),()=>(LS=null,null)),__vite__mapDeps([15,3,4,1,7,16])),LS}function zS(e){let t=j(`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,RS().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 BS(e){return AS&&hu(e.agent)&&e.card.dataset.ephemeral===void 0}function VS(e){return BS(e)&&e.isConversationViewOn&&e.isBorrowed}function HS(e){e.btnConversationView.classList.toggle(`visible`,BS(e)),zo(e.btnConversationView,`aria-checked`,String(e.isConversationViewOn))}function US(e){AS=e;for(let t of F.values())!e&&t.face===`conversation`&&t._showTerminalFace?.(),YS(t)}function WS(e){let t=I(e);return!t||!VS(t)?!1:(t.face=`conversation`,t.card.dataset.face=`conversation`,t.termWrap.hidden=!0,t.planFace.hide(),t.conversationFace.show(P(e)),YS(t),Rh(t,P(e)),!0)}function GS(e,t){let n=I(e);if(!n)return;let r=n.isConversationViewOn;n.hasConversationBridge=t.hasConversationBridge,n.conversationApproval=t.conversationApproval,n.isConversationViewOn=t.isConversationViewOn,YS(n),n.conversationFace.refresh(),r!==t.isConversationViewOn&&(t.isConversationViewOn?WS(e):n.face===`conversation`&&n._showTerminalFace?.())}function KS(e){return I(e.id)?.conversationFace.applyTraceResponse(e)===!0}function qS(e){I(e.id)?.conversationFace.applyTraceError(e)}function JS(e){I(e)?.conversationFace.applyTraceChanged(P(e))}function YS(e){HS(e);let t=e.currentState;e.btnRestart.classList.toggle(`visible`,OS(t)||kS(t)||t===O.DORMANT),e.btnWorkspaceRepos.classList.toggle(`visible`,e.card.dataset.workspace!==void 0),e.btnTrace.classList.toggle(`visible`,ic()),e.btnPlan.classList.toggle(`visible`,eS(e)!==`hidden`)}function XS(e){e.sessionMenu.classList.remove(`open`),e.btnSessionMenu.setAttribute(`aria-expanded`,`false`)}function ZS(e,t){Sc(e.taskTitleEl,()=>Tc(e,t)),e.nameEl.addEventListener(`dblclick`,n=>{n.preventDefault(),Oc(e,t)}),e.nameEl.addEventListener(`click`,()=>{Dc(e.nameEl)||jl(t)}),e.nameEl.addEventListener(`keydown`,n=>{n.target===e.nameEl&&(n.key===`F2`||n.key===`Enter`)&&(n.preventDefault(),Oc(e,t))}),e.btnRestart.addEventListener(`click`,()=>{XS(e),PS().then(n=>n?.openRestartDialog(t,{readState:()=>e.currentState,canListEarlier:e.card.dataset.ephemeral===void 0}))}),e.btnWorkspaceRepos.addEventListener(`click`,()=>{XS(e),aS(t)}),e.btnTrace.addEventListener(`click`,()=>{XS(e),yx(t)}),e.btnDocs.addEventListener(`click`,()=>{XS(e),oa(t)}),e.btnShown.addEventListener(`click`,()=>{XS(e),Ta(t)}),e.btnConversationView.addEventListener(`click`,()=>{XS(e),$s(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=>()=>{$s(e,{type:`set-session-guardrails`,id:t,isOn:n})};e.card.dataset.guarded===void 0?wt({title:`Restore guardrails`,message:`This session restarts with guardrails on, interrupting any turn in progress.`,confirmLabel:`Restore guardrails`,danger:!1,onConfirm:n(!0)}):wt({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=eS(e);n!==`hidden`&&(n===`face`?cC(t):location.hash=S_(t))}),e.btnRemove.addEventListener(`click`,()=>{XS(e),Xl(t)});function n(){for(let[,t]of F)t!==e&&XS(t);e.sessionMenu.classList.add(`open`),e.btnSessionMenu.setAttribute(`aria-expanded`,`true`)}e.btnSessionMenu.addEventListener(`click`,t=>{t.stopPropagation(),e.sessionMenu.classList.contains(`open`)?XS(e):n()}),Fs({trigger:e.btnSessionMenu,menu:e.sessionMenu,menuItems:()=>[...e.sessionMenu.querySelectorAll(`.popup-menu-item.visible`)],isOpen:()=>e.sessionMenu.classList.contains(`open`),open:n,close:()=>XS(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&&XS(e)},{signal:e.abortController.signal}),e.btnDebug.addEventListener(`click`,n=>{n.stopPropagation(),Fc(e,t)}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;e.debugOpen&&!e.card.contains(n)&&Ic(e)},{signal:e.abortController.signal})}function QS(e,t,n){let r=I(e);if(r){r.taskTitle=typeof t==`string`?t:null,r.taskTitleIsCustom=n===!0;for(let e of[r.taskTitleEl,r.titleTargetEl])e&&wc(e,r.taskTitle)}}function $S(e){return typeof e==`string`&&F.has(e)}function eC(){return F.size}function tC(e){let t=e||{};t.cursorBlink!=null&&mh(t.cursorBlink),t.debugMode!=null&&(nc(t.debugMode),v_(t.debugMode));for(let[,e]of F)e.term&&t.cursorBlink!=null&&(e.term.options.cursorBlink=t.cursorBlink)}function nC(){Id(F.values(),Rd())}function rC(e){return{state:e.currentState,unseenOutcome:e.unseenOutcome,ownerId:e.ownerId}}function iC(){let e=ct(L.counts),t=e>0?`(${e}) Glimmervoid`:`Glimmervoid`;document.title!==t&&(document.title=t)}function aC(e,t,n,r={}){if(!yt)return;let i=P(e),a=DS(n)||O.DORMANT,o=vc(i,DS(t),a,r),s=a===O.DORMANT;yt.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(),YS(c),jg(c,i)}function u(){WS(i)||l()}let d=new AbortController,f=zS({signal:d.signal,requestPlan:(e,t,n)=>N({type:`session-plan`,id:e,agentId:t,revision:n}),requestDraft:(e,t)=>N({type:`session-plan`,id:e,agentId:t,draft:!0}),showTerminal:u,sendDecision:(e,t)=>N({type:`plan-decision`,id:e,...t}),reportProblem:e=>jC(i,e)}),p=qg({signal:d.signal,sendControl:e=>N(e),showTerminal:l});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:DS(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=()=>jg(c,i),c._showTerminalFace=l,c._showPreferredFace=()=>{oC(c)===`plan`?cC(i):WS(i)||l()},c._setBorrowed=e=>{c.isBorrowed=e,YS(c)},o.card.append(f.el,p.el);let m=F.get(i);return m&&St(L,rC(m)),F.set(i,c),dt(L,rC(c)),jt(i,c),ZS(c,i),YS(c),c.btnDocs.classList.toggle(`visible`,ta(i)),Sa(i),a===O.RUNNING&&At(c,!0),s||Og(c,i),iC(),c}function oC(e){let t=e.planReviewState.reviews.some(e=>e.state===`open`),n=e.planReviewState.reviews.some(E_);return $x({hasPlan:e.hasPlan,pendingPromptKind:e.pendingPromptKind,hasOpenReview:t,hasApprovedReview:n})}function sC(e){let t=I(e);return!t?.isBorrowed||oC(t)!==`plan`?!1:cC(e)}function cC(e){let t=I(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(P(e)),YS(t),Rh(t,P(e)),!0)}function lC(e,t){let n=I(e);n&&(n.hasPlan=t===!0,YS(n),sC(e))}function uC(e){let t=I(e.id);t&&(t.planReviewState=U_(t.planReviewState,e),t.hasPlan=e.hasPlan,t.planFace.update({state:t.planReviewState}),YS(t),sC(e.id))}function dC(e){let t=I(e.id);t&&t.planFace.update({draft:e})}function fC(e){let t=I(e.id);t&&(t.planReviewState={reviews:e.reviews},t.hasPlan=!0,t.planFace.update({response:e}),YS(t))}function pC(e){if(e.type!==`error`&&e.type!==`session-error`||e.scope!==`plan`&&e.scope!==`plan-decision`)return!1;let t=I(e.id);return t?e.scope===`plan`?(t.planFace.update({requestFailed:!0}),!0):(t.planFace.update({decisionRefused:!0,refusalText:e.message}),!0):!1}function mC(e){for(let[,t]of F)t.planFace.update({isConnected:e})}function hC(e,t){let n=I(e);n&&(n.effectiveBase=typeof t==`string`?t:void 0)}function gC(e,t){let n=I(e);n&&(n.agent=typeof t==`string`?t:null,YS(n))}function _C(e,t){let n=I(e);n&&(t?n.card.dataset.worktree=``:delete n.card.dataset.worktree)}function vC(e,t,n){let r=I(e);r&&(yC(r.card,`guarded`,t),yC(r.card,`guardrailsReleased`,n),bc(r.btnGuardrails,r.card))}function yC(e,t,n){n?e.dataset[t]=``:delete e.dataset[t]}function bC(e,t,n=!1){let r=I(e);r&&(r.activeAgents=Math.max(0,Number(t)||0),r.awaitingBackgroundTasks=Fe(r.currentState,n===!0),r.card.toggleAttribute(`data-monitoring`,r.awaitingBackgroundTasks))}function xC(e,t){let n=I(e);if(!n)return;let r=Zx(t),i=n.card.querySelector(`.usage-badge`);if(r)n.card.dataset.usage=``,i&&(i.dataset.tipLabel=r,i.dataset.tipDetail=Qx(t),Js(i));else{if(delete n.card.dataset.usage,!i)return;delete i.dataset.tipLabel,Js(i)}}function SC(e,t){let n=I(e);n&&(n.pendingPromptKind=typeof t==`string`?t:null,n.conversationFace.refresh(),!sC(e)&&(typeof t!=`string`||t===``)&&n.face===`terminal`&&WS(e))}function CC(e,t){let n=I(e);n&&(St(L,rC(n)),n.unseenOutcome=t??null,dt(L,rC(n)))}function wC(e,t){t===`pending-review`||t===`parked`||t===`merging`?e.dataset.merge=t:delete e.dataset.merge}function TC(e,t,n=null){let r=I(e),i=DS(t)||`none`;r&&wC(r.card,i),uy(P(e),i,DS(n)||null)}function EC(e,t,n=null){let r=I(e),i=DS(t)||`none`;r&&wC(r.card,i),fy(P(e),i,DS(n)||null)}function DC(e,t){py(P(e),t)}function OC(e,t){let n=I(e);if(!n)return;let r=DS(t);n.card.dataset.session=r,n.nameEl.textContent=r}function kC(e){let t=I(e);t&&(Ic(t),St(L,rC(t)),F.delete(P(e)),jt(P(e),void 0),IS?.dropPlanBodyCache(P(e)),t.resizeObserver&&t.resizeObserver.disconnect(),t.abortController&&t.abortController.abort(),xg(t,P(e)),Qm(t),t.term&&t.term.dispose(),t.term=null,t.fitAddon=null,t.card&&t.card.remove(),iC())}function AC(e,t,n){if(!t||!e.term)return;let r=n===O.DONE?`Session complete`:`Session failed`,i=n===O.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 jC(e,t){let n=I(e);n?Qs(n).show(`error`,t):H({source:`Session`,sessionId:typeof e==`string`?e:void 0,message:t})}function MC(e,t){let n=I(e);if(!n)return;let r=n.card.querySelector(`:scope > .session-failure-reason`);if(!(n.currentState===O.FAILED&&t)){r?.remove();return}let i=r??j(`p`,`session-failure-reason`);i.setAttribute(`role`,`status`),i.textContent=t,r||n.termWrap.before(i)}function NC(e,t){e.term&&(t===O.DONE||t===O.FAILED)&&(e.term.clear(),e.term.reset())}function PC(e){let t=F.get(e);t&&vt({state:t.currentState,unseenOutcome:t.unseenOutcome})&&document.visibilityState===`visible`&&(qu()||document.hasFocus())&&N({type:`dismiss`,id:e,expectedState:t.currentState})}function FC(e,t,n){let r=document.activeElement;return Cl({previousState:t,nextState:n,isPhoneLayout:qu(),isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),isActiveViewer:e._isActiveViewer?.()===!0,hasFocusInsideTerminal:r instanceof Node&&e.termWrap.contains(r)})}function IC(){return Or()&&!TS()}function LC(e,t,n,r=``){let i=I(e);if(!i)return;let a=DS(t),o=i.currentState;St(L,rC(i)),i.currentState=a,dt(L,rC(i)),jt(P(e),i),a!==O.RUNNING&&(i.awaitingBackgroundTasks=!1),i.conversationFace.refresh(),a!==o&&(i.stateSince=typeof n==`number`&&Number.isFinite(n)?n:Date.now(),At(i,a===O.RUNNING)),o===O.DORMANT&&a!==O.DORMANT&&Og(i,P(e)),Ct({state:a})===`resting`&&CS(P(e)),i.card.dataset.state=a,i.card.toggleAttribute(`data-monitoring`,Fe(a,i.awaitingBackgroundTasks)),YS(i),(a===O.WAITING&&o!==O.WAITING||a===O.COMPLETE&&o!==O.COMPLETE)&&!Ql(r)&&IC()&&FS(),FC(i,o,a)&&N({type:`dismiss`,id:P(e),expectedState:O.COMPLETE});let s=a===O.DONE||a===O.FAILED,c=o!==O.DONE&&o!==O.FAILED&&o!==O.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})})}),IC()&&FS()),(a===O.DONE||a===O.FAILED)&&AC(i,c,a),a===O.INITIALIZING&&NC(i,o),iC()}var RC=`(no path)`;function zC(e){if(!e)return RC;let t=String(e).replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return(n===-1?t:t.slice(n+1))||`(no path)`}function BC(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):RC,a=i.get(r);a||(a={key:r,label:r===`(no path)`?RC:zC(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:zC(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 VC(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 HC({onAdd:e,onForget:t}){let n=j(`div`,`session-group-header`),r=j(`span`,`session-group-label`),i=j(`span`,`session-group-count`),a=j(`span`,`session-group-rule`);a.setAttribute(`aria-hidden`,`true`);let o=j(`button`,`session-group-add`,`+`);o.type=`button`,o.addEventListener(`click`,()=>e(n.dataset.path,n.dataset.label));let s=j(`button`,`session-group-forget`);return s.type=`button`,s.append(ns(Wo)),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 UC(e,t,n){let{header:r,label:i,count:a,addButton:o,forgetButton:s}=e,c=t.key===RC,l=t.rows.length===0;Bo(r,`path`,t.key),Bo(r,`label`,t.label),zo(r,`title`,t.title),r.toggleAttribute(`data-empty`,l),Lo(i,t.label),Lo(a,String(t.rows.length)),zo(a,`title`,`${t.rows.length} ${t.rows.length===1?`session`:`sessions`}`),Ro(o,c),Ro(s,c||!l),c||(zo(o,`title`,`Add a session to ${t.label}`),zo(o,`aria-label`,`Add a session to ${t.label}`)),!c&&l&&(zo(s,`title`,`Remove ${t.label} from the ${n}`),zo(s,`aria-label`,`Remove ${t.label} from the ${n}`))}var WC={waitingCount:0,finishedCount:0,failedCount:0},GC={failed:ke[O.FAILED],waiting:ke[O.WAITING],finished:ke[O.COMPLETE]},KC={failed:`failed`,waiting:`needs you`,finished:`finished`},qC=[`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`],JC=2500,YC=`cubic-bezier(0.16, 1, 0.3, 1)`,XC=`cubic-bezier(0.5, 0, 0.2, 1)`,ZC=260,QC=200,$C=200,ew=300,tw=28,nw=360,rw=420,iw=200,aw=3,ow=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),sw=new WeakMap;function cw(e){let t=sw.get(e);if(!t)throw Error(`attention banner was not built by buildAttentionBanner`);return t}function lw(e){return!document.hidden&&typeof e.animate==`function`&&e.getClientRects().length>0}function uw(){return ow?.matches??!1}function dw(e){return e.map(e=>({easing:YC,...e}))}function fw(e,t){let n=j(`div`,`attention-banner`);n.setAttribute(`role`,`status`),n.style.setProperty(`--attention-head-tile-px`,`${bt.headTile}px`),n.style.setProperty(`--attention-tile-px`,`${bt.tile}px`),n.style.setProperty(`--attention-tile-gap-px`,`${bt.tileGap}px`),n.style.setProperty(`--attention-overflow-px`,`${bt.overflowSlot}px`);let r=j(`span`,`attention-banner-chips`),i=j(`span`,`attention-tile-overflow`);i.setAttribute(`aria-hidden`,`true`),i.hidden=!0,r.append(i);let a=j(`span`,`attention-banner-line`);a.setAttribute(`aria-hidden`,`true`);let o=j(`span`,`attention-banner-status`);o.append(r,j(`span`,`attention-banner-count`),a);let s=j(`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),sw.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(()=>mw(n)).observe(r),pw(n,WC,[]),n}function pw(e,t,n){let r=cw(e);r.tiles=n,Lo(A(e,`.attention-banner-count`),ft(t));let i=n.length>0;e.toggleAttribute(`data-empty`,!i),e.toggleAttribute(`data-jumpable`,i),i&&Aw(e,r),mw(e)}function mw(e){let t=cw(e),n=A(e,`.attention-banner-chips`),r=A(n,`.attention-tile-overflow`),i=lw(e),a=t.tiles.slice(0,mt(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():vw(n,l[r])});let u=t.headId,d=[],f=null;a.forEach((i,a)=>{let o=t.tileById.get(i.id),s=o??gw(e,i.id);o||(t.tileById.set(i.id,s),d.push(s)),_w(s,i,a===0),(s.parentElement!==n||hw(s)!==f)&&n.insertBefore(s,r),f=s});let p=t.tiles.length-a.length;Ro(r,p===0),Lo(r,`+${p}`),zo(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)&&Sw(e,null),i){for(let e of d)yw(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?xw(r,a):a!==0&&bw(r,a,n)})}}function hw(e){let t=e.previousElementSibling;for(;t?.hasAttribute(`data-leaving`);)t=t.previousElementSibling;return t}function gw(e,t){let n=j(`span`,`attention-tile`);n.setAttribute(`role`,`img`),n.dataset.id=t;let r=j(`span`,`attention-tile-icon`);return r.setAttribute(`aria-hidden`,`true`),n.append(r),n.addEventListener(`pointerenter`,()=>Sw(e,t)),n.addEventListener(`pointerleave`,()=>Sw(e,null)),n}function _w(e,{kind:t,name:n},r){e.dataset.kind=t,e.toggleAttribute(`data-head`,r);let i=`${n}, ${KC[t]}`;e.title=i,e.setAttribute(`aria-label`,i),as(A(e,`.attention-tile-icon`),GC[t])}function vw(e,t){e.toggleAttribute(`data-leaving`,!0),e.style.left=`${t.left}px`,e.style.top=`${t.top}px`;let n=uw()?[{opacity:1},{opacity:0}]:dw([{transform:`none`,opacity:1},{transform:`scale(0.6)`,opacity:0}]),r=e.animate(n,{duration:$C,fill:`forwards`});r.onfinish=()=>e.remove(),r.oncancel=()=>e.remove()}function yw(e){let t=uw()?[{opacity:0},{opacity:1}]:dw([{transform:`scale(0.6)`,opacity:0},{transform:`none`,opacity:1}]);e.animate(t,{duration:QC})}function bw(e,t,n){uw()||e.animate(dw([{transform:`translateX(${t}px)`},{transform:`none`}]),{duration:ew,delay:n*tw,fill:`backwards`})}function xw(e,t){uw()?e.animate([{opacity:.35},{opacity:1}],{duration:nw,easing:YC}):e.animate(dw([{transform:`translateX(${t}px) scale(0.8)`,filter:`brightness(1.8)`},{transform:`scale(1.1)`,offset:.6},{transform:`none`,filter:`none`}]),{duration:nw})}function Sw(e,t){let n=cw(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 Cw(e){return!e||e.getClientRects().length===0?null:e.getBoundingClientRect()}function ww(e,t,n){let r=cw(e);if(r.flyingIds.has(t))return;let i=r.tileById.get(t);if(!i||!lw(e)){n();return}Sw(e,null),r.flyingIds.add(t);let a=r.hooks.rowFor(t),o=i.getBoundingClientRect(),s=Cw(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(Tw(o,s),Ew(s)),u=()=>{c.remove(),r.flyingIds.delete(t),i.isConnected&&(i.style.visibility=``),n()};l.onfinish=u,l.oncancel=u}function Tw(e,t){return!t||uw()?[{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 Ew(e){return!e||uw()?{duration:iw,fill:`forwards`}:{duration:rw,easing:XC,fill:`forwards`}}function Dw(e){let t=cw(e);e.hasAttribute(`data-empty`)&&kw(e,t);for(let e of t.pressAnimations)e.cancel();if(t.pressAnimations=[],!lw(e))return;let n={duration:ZC};if(t.pressAnimations.push(e.animate(dw([{opacity:0},{opacity:.07,offset:.3},{opacity:0}]),{...n,pseudoElement:`::after`})),!uw()){t.pressAnimations.push(e.animate(dw([{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(dw([{transform:`none`},{transform:`translateY(${aw}px)`,offset:.3},{transform:`none`}]),n),r.animate(dw([{transform:`none`},{transform:`translateY(-${aw}px)`,offset:.3},{transform:`none`}]),{...n,pseudoElement:`::after`}))}}function Ow(e){let t=qC.filter(t=>t!==e);return t[Math.floor(Math.random()*t.length)]??qC[0]}function kw(e,t){let n=Ow(t.lastAllClearLine);t.lastAllClearLine=n,A(e,`.attention-banner-line`).textContent=n,e.toggleAttribute(`data-all-clear-line`,!0),t.allClearLineTimer!==null&&window.clearTimeout(t.allClearLineTimer),t.allClearLineTimer=window.setTimeout(()=>Aw(e,t),JC)}function Aw(e,t){t.allClearLineTimer!==null&&window.clearTimeout(t.allClearLineTimer),t.allClearLineTimer=null,e.toggleAttribute(`data-all-clear-line`,!1)}var jw=e=>e.ui.path,Mw=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),Nw=null,Pw=null,Fw=null,Iw=null,Lw=null,Rw=null,zw=null,Z=!1,Bw=!1,Vw=new Map,Hw=new Map,Uw=new Map,Ww=new Map,Gw=null,Kw=``,qw=[],Jw=new Set;function Yw(){return VC(Zw(oT()),Jw)}function Xw(e){let t=Gw;if(Gw=e||null,t&&t!==Gw){let e=Hw.get(t);e&&(e.tabIndex=-1,e.setAttribute(`aria-selected`,`false`))}if(Gw){let e=Hw.get(Gw);e&&(e.tabIndex=0,e.setAttribute(`aria-selected`,`true`))}}function Zw(e){return BC(e,jw,bl(e,jw))}function Qw(e){let t=Ww.get(e.key),n=Uw.get(e.key);return(!t||!n)&&(t=HC({onAdd:Wl,onForget:e=>{xl(e),pT()}}),n=j(`div`,`focus-rail-list`),n.setAttribute(`role`,`listbox`),Ww.set(e.key,t),Uw.set(e.key,n)),UC(t,e,`rail`),zo(n,`aria-label`,`${e.label} sessions`),{header:t.header,list:n}}function $w(){return Z}function eT(){return R.snapshot().focusedSessionId}function tT({rail:e,center:t,resizer:n}){if(Nw=e,Fw=t,!Nw||!Fw)return;let r=Nw,i=Fw;iT(n),r.removeAttribute(`role`),r.removeAttribute(`aria-label`),r.setAttribute(`aria-keyshortcuts`,mr(Bd)),Pw=fw({onJump:_T,rowFor:e=>Hw.get(e)},Kd());let a=j(`details`,`rail-status-key`);a.append(j(`summary`,`rail-status-key-summary`,`Status key`),hl()),r.append(Pw,a),Lw=j(`div`,`focus-empty`),Lw.innerHTML=`<p class="focus-empty-title"></p><p class="focus-empty-desc"></p>`,Rw=Lw.querySelector(`.focus-empty-title`),zw=Lw.querySelector(`.focus-empty-desc`),Iw=j(`div`,`focus-card-slot`),i.append(Lw,Iw),r.addEventListener(`keydown`,aT)}var nT={minPx:180,maxPx:480},rT=16;function iT(e){e&&Nw&&Oo({resizer:e,column:Nw,widthHost:Nw,widthProperty:`--rail-width`,bounds:nT,keyStepPx:rT,getStoredWidth:Kr,setStoredWidth:qr})}function aT(e){if(e.key===`Delete`||e.key===`Backspace`){let t=e.target instanceof HTMLElement?e.target:null,n=t?.dataset.id;if(!n||Hw.get(n)!==t)return;e.preventDefault(),Xl(n);return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||e.altKey||e.metaKey||e.ctrlKey||e.shiftKey)return;let t=lt(Yw(),Gw,e.key===`ArrowDown`?1:-1);t!=null&&(e.preventDefault(),Xw(t),Hw.get(t)?.focus())}function oT(){return ht(Il(sT))}function sT(e){return e.nameEl?e.nameEl.textContent:e.card&&(e.card.dataset.session||e.card.dataset.id)||``}function cT(e){let{row:t,refs:n}=tl(`button`);t.type=`button`,t.dataset.id=e,t.setAttribute(`role`,`option`),t.addEventListener(`click`,()=>lT(e)),t.addEventListener(`pointerenter`,()=>{Pw&&Sw(Pw,e)}),t.addEventListener(`pointerleave`,()=>{Pw&&Sw(Pw,null)});let{item:r,removeButton:i}=nl(t,()=>Xl(e));return r.setAttribute(`role`,`presentation`),i.tabIndex=-1,Object.assign(t,{_refs:n,_row:r})}function lT(e){let t=Nl(e);t&&(CT(e),yT(t,e))}function uT(e,{id:t,ui:n,state:r,name:i},a){let o=Vw.get(t)||`none`;ll(e,e._refs,{ui:n,state:r,name:i??``,mergeStatus:o===`none`?``:o,attentionPosition:a}),e.classList.toggle(`focused`,t===eT()),e.classList.toggle(`has-unopened-shown`,ya(t));let s=t===Gw;zo(e,`aria-selected`,String(s)),zo(e,`tabindex`,s?`0`:`-1`)}function dT(e,t){if(!Z)return;let n=e?.card?.dataset.id,r=n?Hw.get(n):null;r&&(t===`flag`?r.dataset.activity=e._activity||``:Ft(r._refs?.glyph))}kt(dT),It((e,t)=>{if(!Z)return;let n=Hw.get(e);n&&Lo(n._refs.elapsed,Pt(t))});var fT=new Map;function pT(e){if(!Z)return;let t=Nw;if(!t)return;let n=oT(),r=Zw(n),i=new Set,a=gt(n,eT()),o=new Map(a.map(({id:e},t)=>[e,t+1])),s=(t,n)=>{let r=t.map(e=>e.id).join(`,`),a=n._lastOrderKey===r&&n.childElementCount===t.length;for(let n of t){let{id:t}=n;i.add(t);let r=Hw.get(t),a=!r;r||(r=cT(t),Hw.set(t,r));let s=o.get(t)??null;(!e||a||e.has(t)||fT.get(t)!==s)&&uT(r,n,s),fT.set(t,s)}a||Io(n,t.flatMap(({id:e})=>Hw.get(e)?._row??[])),n._lastOrderKey=r},c=new Set(r.order),l=r.groups.map(e=>e.key).join(`
|
|
83
83
|
`),u=l===Kw;Kw=l;for(let e of r.groups){let{header:n,list:r}=Qw(e);u||t.append(n,r),s(e.rows,r)}for(let[e,t]of[...Ww])c.has(e)||(t.header.remove(),Uw.get(e)?.remove(),Ww.delete(e),Uw.delete(e));for(let[e,t]of Hw)i.has(e)||(t._row.remove(),Hw.delete(e),fT.delete(e),e===Gw&&(Gw=null));for(let e of[...Vw.keys()])F.has(e)||Vw.delete(e);let d=qw;qw=VC(r,Jw);let f=eT();if(f&&!F.has(f)){R.dispatch(`focusSession`,null),Gw=null;let e=mT(d,f);if(e){let t=!document.activeElement||document.activeElement===document.body;CT(e),t&&yT(F.get(e),e);return}}wT();let p=eT();if(p){let e=F.get(p);e&&e.card.parentElement!==Iw&&xT(e,p)}gT(n,a)}function mT(e,t){let n=e.filter(e=>e===t||F.has(e));if(n.length<2)return qw.find(e=>F.has(e))??null;let r=n.indexOf(t)===n.length-1;return lt(n,t,r?-1:1)}function hT(){return gt(oT(),eT())}function gT(e,t){Pw&&pw(Pw,xt(e),t)}function _T(){if(!Z)return;Pw&&Dw(Pw);let e=hT()[0]?.id;e&&vT(e)}function vT(e){if(!Z)return;Hw.get(e)?.scrollIntoView({block:`nearest`}),Pw&&ww(Pw,e,()=>bT(e));let t=F.get(e);Nl(e),CT(e),yT(t,e)}function yT(e,t){e&&requestAnimationFrame(()=>requestAnimationFrame(()=>{Z&&eT()===t&&e.term?.focus()}))}function bT(e){if(Mw?.matches||document.hidden)return;let t=Hw.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=F.get(e)?.card;n?.animate&&n.animate([{opacity:.8},{opacity:1}],{duration:240,easing:`ease-out`})}function xT(e,t){Iw&&(en(e,t,Iw,{className:`focus-centered`}),Mg(e,t,!0))}function ST(){let e=eT();e&&($t()===e&&tn(),R.dispatch(`focusSession`,null))}function CT(e){Z&&F.has(e)&&(PC(e),Pl(e),e!==eT()&&(ST(),R.dispatch(`focusSession`,e),Gw=e,pT()))}function wT(){if(!Lw||!Rw||!zw)return;let e=eT(),t=!!(e&&F.has(e)),n=F.size>0;Ro(Lw,t),Xi(Lw,!n),Ro(Rw,!n),Ro(zw,!n),!t&&n&&(Lo(Rw,`No session selected`),Lo(zw,`Select a session from the rail on the left to focus it here.`))}function TT(e,t){Vw.set(P(e),typeof t==`string`&&t?t:`none`),Z&&pT()}function ET(e){Z&&F.has(e)&&CT(e)}function DT(e){return!Z||!F.has(e)?!1:(CT(e),cC(e))}function OT(e){if(!Z)return;let t=Yw()[e-1];t&&lT(t)}function kT(e){if(!Z)return;let t=lt(Yw(),Gw,e);t!=null&&(lT(t),Hw.get(t)?.scrollIntoView({block:`nearest`}))}window.addEventListener(`focus`,()=>{let e=eT();Z&&e&&PC(e)});function AT(){Nw&&(Z=!0,ST(),Gw=null,pT(),Bw&&hT().length>0?_T():(Bw&&Pw&&Dw(Pw),MT()))}function jT(e){Bw=!0;try{e()}finally{Bw=!1}}function MT(){if(!Z||eT())return;let e=Fl();e&&CT(e)}function NT(){Z&&=(ST(),Gw=null,!1)}var PT=`t-[0-9a-f]{8}`,FT=`No intent yet. The visions proposes one after its first pass.`,IT=`Unowned`,LT=RegExp(`^${PT}$`);function RT(){return{byProject:{},unowned:[]}}function zT(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`&<.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 BT(e){if(Array.isArray(e))return e.map(zT).filter(e=>e!==null);let t=zT(e);return t?[t]:[]}function VT(e){let t=e?.intent;if(!t||typeof t!=`object`)return RT();let n=t;if(!(Object.hasOwn(n,`byProject`)||Object.hasOwn(n,`unowned`)||Object.hasOwn(n,`global`)))return{byProject:{},unowned:BT(n)};let r=n.byProject&&typeof n.byProject==`object`?n.byProject:{},i=[];for(let[e,t]of Object.entries(r)){let n=BT(t);n.length!==0&&e&&i.push([e,n])}return{byProject:Object.fromEntries(i),unowned:BT(Object.hasOwn(n,`unowned`)?n.unowned:n.global)}}function HT(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 UT(e,t){let n=e||RT(),r=t?.intent;if(!r||typeof r!=`object`)return n;let i=r,a=HT(Array.isArray(i.threads)?BT(i.threads):BT(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 WT(e,t=null){let n=t&&typeof t.get==`function`?t.get(e):null;return typeof n==`string`&&n?n:e}function GT(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:YT(e,r)}))}function KT(e,t=null,n=Date.now()){let r=e||RT(),i=Object.entries(r.byProject||{}).filter(([e,t])=>e&&Array.isArray(t)&&t.length>0).map(([e,n])=>({projectId:e,label:WT(e,t),threads:n})).sort((e,t)=>e.label.localeCompare(t.label)).flatMap(({projectId:e,label:t,threads:r})=>GT(r,{key:e,label:t,now:n})),a=GT(Array.isArray(r.unowned)?r.unowned:[],{key:`unowned`,label:IT,now:n});return i.length+a.length>0?[...a,...i]:[{key:`unowned`,label:IT,text:FT,hasText:!1,active:!1,meta:``}]}function qT(e){return e?.text?`proposed by visions`:``}function JT(e,t=Date.now()){let n=Number(e);return!Number.isFinite(n)||n<=0?``:g(Number(t)-n,{rounding:`floor`,wording:`spelled`,suffix:` ago`,justNowBelowSeconds:60})}function YT(e,t=Date.now()){let n=qT(e);if(!n)return``;let r=typeof e?.id==`string`&&e.id?`thread ${e.id}, `:``,i=JT(e?.ts,t);return i?`${r}${n}, ${i}`:`${r}${n}`}function XT(e){let t=Number(e?.range?.start?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function ZT(e){return(typeof e?.hand==`string`?e.hand.trim():``)||null}function QT(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=ZT(t);return i?(n.set(r,i),n):(n.delete(r),n)}function $T(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 eE=`hand`,tE=`unseen`,nE=`
|
|
84
|
-
`;function rE(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 iE(e,t){return rE(JSON.stringify([e,...t]))}function aE(e,t){return iE(`finding`,[e,XT(t),String(t.code??``),String(t.message??``)])}function oE(e,t){return iE(`comment`,[e,dE(t),String(t.message??``)])}function sE(e){return iE(`fix`,[e.uri,yE(e),e.code,e.message,bE(e)])}function cE(e){return iE(`intent`,[e.key,e.text,e.active])}function lE(e,t,n,r=[],i=null){let a=[...n].map(([e,t])=>iE(`hand`,[e,t])).sort(),o=new Set;for(let r of[...e.keys(),...t.keys(),...n.keys()])o.add(iE(`document`,[r]));for(let[t,n]of e)for(let e of n)o.add(aE(t,e));for(let[e,n]of t)for(let t of n)o.add(oE(e,t));for(let e of r)o.add(sE(e));for(let e of KT(i,null,0))e.hasText&&o.add(cE(e));let s=[...o].sort();return{signature:[...a,...s].join(nE),handEntries:a,contentEntries:s}}function uE(e,t){let n=new Set(t.split(nE));return e.handEntries.some(e=>!n.has(e))?eE:e.contentEntries.some(e=>!n.has(e))?tE:null}function dE(e){let t=Number(e?.line);return!Number.isFinite(t)||t<1?`L?`:`L${Math.floor(t)}`}function fE(e){return Array.isArray(e?.diagnostics)?e.diagnostics:[]}function pE(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=fE(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function mE(e){return Array.isArray(e?.comments)?e.comments:[]}function hE(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=mE(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function gE(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 _E(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 vE=20;function yE(e){let t=Number(e?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function bE(e){return e?.applied===!0?`applied`:`refused`}function xE(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 SE(e){let t=typeof e?.uri==`string`?e.uri:``,n=Number(e?.ts);return xE(e?.fix,{uri:t,ts:Number.isFinite(n)?n:0})}function CE(e,t,{max:n=vE}={}){let r=SE(t);return r?[r,...e].slice(0,Math.max(0,Math.floor(n))):[...e]}function wE(e,{max:t=vE}={}){let n=Array.isArray(e?.fixes)?e.fixes:[],r=[];for(let e of n){let t=xE(e);t&&r.push(t)}return r.slice(0,Math.max(0,Math.floor(t)))}var TE=100;function EE(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 DE(e){let t=Array.isArray(e?.events)?e.events:[],n=[];for(let e of t){let t=EE(e);t&&n.push(t)}return n}function OE(e){let t=Number(e?.overflow);return!Number.isFinite(t)||t<=0?0:Math.floor(t)}function kE(e,t){return[...e].sort((e,t)=>t.seq-e.seq).slice(0,Math.max(0,Math.floor(t)))}function AE(e,t,{max:n=TE}={}){let r=DE(t);if(r.length===0)return kE(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 kE([...i.values()],n)}function jE(e,{max:t=TE}={}){return kE(DE(e),t)}var ME=new Map,NE=new Map,PE=new Map,FE=RT(),IE=new Map,LE=null,RE=!0,zE=[],BE=0,VE=[],HE=null,UE=()=>!1,WE=new Set,GE=lE(ME,NE,PE,VE,FE),KE=gi(),qE=d({getAck:()=>KE,setAck:e=>{KE=e,_i(e)},signature:()=>GE.signature,isLooking:()=>UE()});function JE(e){for(let t of WE)t(e)}function YE(){GE=lE(ME,NE,PE,VE,FE),GE.signature!==``&&qE.refresh(),HE?.(uE(GE,KE))}function XE(e){JE(e),YE()}function ZE(){return{findingsByUri:ME,commentsByUri:NE,handsByUri:PE,intent:FE,projectNamesById:IE,isEnabled:LE,isConnected:RE,activityEvents:zE,activityOverflow:BE,fixEntries:VE}}function QE(e){WE.add(e)}function $E(e){UE=e,YE()}function eD(e){HE=e,YE()}function tD(){GE.signature!==``&&qE.acknowledge(),YE()}function nD(e){IE=e instanceof Map?e:new Map,JE([`intent`])}function rD(e){LE=e?.visions?.enabled===!0,JE([`feed`])}function iD(e){RE=e,JE([`connection`])}function aD(e){VE=CE(VE,e),XE([`fixes`])}function oD(e){ME=pE(ME,e),XE([`feed`])}function sD(e){NE=hE(NE,e),XE([`feed`])}function cD(e){PE=QT(PE,e),XE([`feed`])}function lD(e){FE=UT(FE,e),XE([`intent`])}function uD(e){zE=AE(zE,e),BE=OE(e),XE([`activity`])}function dD(e){zE=jE(e),BE=0,XE([`activity`])}function fD(e){ME=gE(e),NE=_E(e),PE=$T(e),FE=VT(e),VE=wE(e),XE([`intent`,`feed`,`fixes`])}var pD=null,mD=null,hD=!1,gD=null,_D=new Set;function vD(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return typeof n!=`string`||!t||n===t}function yD(){for(let e of _D)e()}function bD(){return{report:pD,hasReportSendFailed:hD}}function xD(e){_D.add(e)}function SD(e){mD=e}function CD(){if(!mD)return;gD=tt(`hooks-report`);let e=mD({type:`request-hooks-report`,requestId:gD});e!==!hD&&(hD=!e,yD())}function wD(e){vD(e,gD)&&(pD=e,hD=!1,yD())}function TD(){CD()}function ED(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 DD=null,OD=null,kD={},AD=null,jD=null,MD=null,ND=new Map,PD=new Map;function FD(){return OD??=V(()=>import(`./phone-shell-o9v0BG-8.js`).then(e=>{e.mountPhoneShell(kD),MD&&e.orderPhonePanels(MD);for(let[t,n]of ND)e.setPhoneScreenAvailable(t,n);for(let[t,n]of PD)e.setPhoneScreenAttention(t,n);return DD=e,e},e=>(OD=null,M(`phone-shell`,`phone shell failed to load: ${ot(e)}`),null)),__vite__mapDeps([17,3,4,1,11,10])),OD}function ID(e){kD=e}async function LD(e){let t={options:e};AD=t;let n=await FD();if(AD!==t)return!1;if(!n)return AD=null,jD=null,!1;AD=null,n.activatePhoneShell(t.options);let r=jD;return jD=null,r?.(n),!0}function RD(){AD=null,jD=null,DD?.deactivatePhoneShell()}function zD(){return AD!==null||(DD?.isPhoneShellActive()??!1)}function BD(){return AD?AD.options?.sessionId??null:DD?.getPhoneSessionId()??null}function VD(e){MD=e,DD?.orderPhonePanels(e)}function HD(e,t){ND.set(e,t),DD?.setPhoneScreenAvailable(e,t)}function UD(e,t){PD.set(e,t),DD?.setPhoneScreenAttention(e,t)}function WD(){DD?.refreshPhoneBoard()}function GD(){DD?.syncPhoneHistory()}function KD(e){return AD?(jD=t=>{e(t)},!0):DD?e(DD):!1}function qD(e){return KD(t=>t.showPhonePlan(e))}function JD(e){return KD(t=>t.showPhoneSession(e))}function YD(e){return KD(t=>t.showPhoneScreen(e))}var XD={MERGE:`a merge commit`,SQUASH:`squash and merge`,REBASE:`rebase and merge`},ZD=new Set([`FAILURE`,`ERROR`]);function QD(e){return XD[e]}function $D(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&&ZD.has(e.checks.state)?`Checks are failing`:e.stage===`ready`?null:`Not ready to merge yet`:`Closed`}function eO(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 tO(e){let t=oe.parse({...e,key:`${e.repo}#${e.number}`,stage:`unknown`});return{...t,stage:eO(t)}}var nO=[`Needs you`,`Waiting`,`Ready to merge`,`Drafts`,`Merged today`],rO=[`Ready to merge`,`Needs you`,`Waiting`,`Drafts`,`Merged today`],iO={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`},aO={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`},oO={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`},sO={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 cO(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 lO(e){return nO[e.rows.reduce((e,{pr:t})=>Math.min(e,nO.indexOf(iO[t.stage])),nO.length-1)]}function uO(e){let t=new Map(nO.map(e=>[e,{title:e,prs:[],rows:[]}]));for(let n of cO(e)){let e=t.get(lO(n));if(e)for(let t of n.rows)e.rows.push(t),e.prs.push(t.pr)}return rO.flatMap(e=>t.get(e)??[])}function dO(e){return aO[e]}function fO(e){return oO[e]}function pO(e){return sO[e]}function mO(e,t){return e.flatMap(e=>{let n=t(e.key);if(!n)return[];let r=e.key.slice(0,e.key.lastIndexOf(`#`));return[{...tO({...n,repo:r}),...e}]})}function hO(e){let t=new Map;for(let n of e)for(let e of n.links){let r=se(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 gO(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 _O=3;function vO(e){if(e.length===1)return{message:`Merged ${e[0].key}`,detailLines:[e[0].title]};let t=e.slice(0,_O).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 yO(e,t){if(!e)return null;let n=e=>{let n=t(e.key);return n?{...e,checksState:n.rollupState,reviewDecision:Ce(n.reviewDecision,n.opinionatedWriterReviewStates),isDraft:n.isDraft,liveHead:n.headRefOid,prStage:tO(n).stage}:e};return{...e,drafts:e.drafts.map(n),inFlight:e.inFlight.map(n),queued:e.queued.map(n)}}function bO(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 xO(e){let t=e.viewerThreads;return t!==void 0&&t.total>0&&t.resolved===t.total}function SO(e){return e.status===`posted`&&CO(e)}function CO(e){if(!xO(e)||s(e))return!1;let t=EO(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 wO(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[bO(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(DO(r).length>0||SO(r)){n.actionable.push(r);continue}let e=(r.status===`ready`||r.status===`stale`||r.status===`error`)&&!OO(r);e&&t.noReviewNeeded.push(r),r.status===`ready`&&!e&&n[bO(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 TO(e,t){return e.commit===t?e.isViewer||l.has(e.state):!1}function EO(e){return e.liveHead??e.reviewedHead}function DO(e){return(e.threads??[]).filter(e=>!e.isNit&&!e.isResolved)}function OO(e){return DO(e).length>0?!0:s(e)?!1:CO(e)?!0:!(e.githubReviews??[]).some(t=>TO(t,EO(e)))}function kO(e,t){return`${e}#${t}`}var AO=null,jO=null,MO=new Set;function NO(e){for(let t of MO)t(e)}function PO(){jO=yO(AO,Bt),NO({kind:`status`})}function FO(e){MO.add(e)}function IO(){return jO}function LO(){return wO(jO)}function RO(e){let t=f.safeParse(e);t.success?(AO=t.data,PO()):M(`reviews`,`dropped team-review-status: ${He(t.error.issues)}`)}function zO(e){NO({kind:`action-result`,message:e})}function BO(e){NO({kind:`open-session-result`,message:e})}function VO(e){NO({kind:`connection`,isConnected:e})}Vt(PO);var HO=20,UO=[],WO=null,GO=!1,KO=0,qO=null;function JO(){return qO??=V(()=>import(`./celebration-player-7pNCNJMm.js`),__vite__mapDeps([18,1,19])).catch(e=>(qO=null,M(`merge-celebration`,`celebration player failed to load: ${ot(e)}`),null)),qO}function YO(e){return GO?`playing`:e?`queued`:`empty`}function XO(){if(!WO)return;let e=UO.length>0;WO.tray.dataset.state=YO(e),WO.count.textContent=e?String(UO.length):``,WO.button.disabled=GO||!e}function ZO(){let e=UO.shift();if(GO=e!==void 0,XO(),!e)return;let t=KO;KO+=1,JO().then(n=>{n?(n.playCelebration(e,t),window.setTimeout(ZO,n.CELEBRATION_DURATION_MS)):(UO.unshift(e),GO=!1,XO())})}function QO(e,t,n){WO={tray:e,button:t,count:n},t.addEventListener(`click`,()=>{KO=0,ZO()}),XO()}function $O(e){UO.push(e),UO.length>HO&&UO.shift(),XO()}var ek=null,tk=null,nk=new Set,rk=new Map,ik=!1,ak=new Set;function ok(e){for(let t of ak)t(e)}function sk(){return[...rk].flatMap(([e,t])=>{let n=F.get(e);return!n||t.length===0?[]:[{id:e,title:ut(n)||e,links:t}]})}function ck(){let e=mO(ek?.prs??[],Bt),t=gO(tk,e);tk=e,fk(t),ok({kind:`prs`})}function lk(){ik||(ik=!0,queueMicrotask(()=>{ik=!1,ck()}))}function uk(e){ak.add(e)}function dk(){return{prs:mO(ek?.prs??[],Bt),status:ek,sessionsByPrKey:hO(sk())}}function fk(e){let t=e.filter(e=>!nk.has(e.key));if(t.length!==0){for(let e of t)nk.add(e.key);$O(vO(t))}}function pk(e){rk=e,lk()}function mk(){ok({kind:`session-state`})}function hk(e){let t=m.safeParse(e);t.success?(ek=t.data,ck()):M(`reviews`,`dropped my-prs-status: ${He(t.error.issues)}`)}function gk(e){ok({kind:`merge-result`,message:e})}function _k(e){ok({kind:`connection`,isConnected:e})}Vt(lk);var vk=[{id:`all`,label:`All`},{id:`reviewing`,label:`Reviewing`},{id:`mine`,label:`Mine`}],yk={turn:`Your turn`,working:`Agent working`,waiting:`Waiting on others`,aside:`Set aside`},bk=[`turn`,`working`,`waiting`,`aside`],xk={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`},Sk={directAsk:0,followUp:1,mineNeedsYou:2,teamReady:3,mineReady:4,failedReview:5,staleReview:6};function Ck(e,t){return{source:`team`,key:`team:${e.key}`,prKey:se(e),kind:t,review:e}}function wk(e){return e.status===`ready`?bO(e).band===`blocking-others`?Sk.directAsk:Sk.teamReady:Sk.followUp}function Tk(e){return[...e.ready.map(e=>({item:Ck(e,`ready`),group:`turn`,turnRank:wk(e)})),...e.attention.map(e=>({item:Ck(e,`attention`),group:`turn`,turnRank:e.status===`error`?Sk.failedReview:Sk.staleReview})),...e.inReview.map(e=>({item:Ck(e,`inReview`),group:`working`,turnRank:0})),...e.queued.map(e=>({item:Ck(e,`queued`),group:`working`,turnRank:0})),...e.noReviewNeeded.map(e=>({item:Ck(e,`settled`),group:`waiting`,turnRank:0})),...e.posted.map(e=>({item:Ck(e,`posted`),group:`waiting`,turnRank:0})),...e.discarded.map(e=>({item:Ck(e,`discarded`),group:`aside`,turnRank:0}))]}function Ek(e,t){let n=xk[e.stage];return n===`turn`&&e.stage!==`ready`&&t.has(se(e))?`working`:n}function Dk(e,t){return uO(e).flatMap(e=>e.rows).map(({pr:e,parentKey:n})=>({item:{source:`mine`,key:`mine:${e.key}`,prKey:se(e),pr:e,stackedOn:n},group:Ek(e,t),turnRank:e.stage===`ready`?Sk.mineReady:Sk.mineNeedsYou}))}function Ok(e,t,n){let r=[...Tk(e),...Dk(t,n)];return bk.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:yk[e],items:n.map(e=>e.item)}})}function kk(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 Ak(e){return e.find(e=>e.id===`turn`)?.items??[]}function jk(e,t){return t?e.flatMap(e=>e.items).find(e=>e.key===t)??null:null}function Mk(e,t){return jk(e,t)?t:e.flatMap(e=>e.items)[0]?.key??null}function Nk(e){return e.source===`mine`?kO(e.pr.repo,e.pr.number):kO(e.review.repo,e.review.number)}function Pk(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 Fk(e){return Ak(e).map(e=>({id:e.key,kind:Pk(e),name:Nk(e)}))}function Ik(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 Lk(e,t){return Fk(e).filter(e=>e.id!==t)}function Rk({capturedOrder:e,actedKey:t,groups:n}){let r=Ak(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 zk(e,t){let n=Ak(e).map(e=>e.key),r=t?n.indexOf(t):-1;return r===-1?``:`${r+1} of ${n.length} in Your turn`}function Bk(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 Vk(e){return Ak(e).map(Bk)}function Hk({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:fe([...i]),unseen:fe([...o])};for(let e of s)o.add(e);return{isShown:s.length>0,acknowledged:fe([...a]),unseen:fe([...o])}}function Uk(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 Wk(e){return new Set(e.flatMap(e=>e.items).map(e=>(e.source===`mine`?e.pr.repo:e.review.repo).toLowerCase())).size>1}function Gk(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 Kk=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 qk(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`:Kk.get(e.key)??null}function Jk(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 Yk=[],Xk=null,Zk=null,Qk=null,$k=!1,eA=null,tA=ui(),nA=fi(),rA=new Set(nA.split(`|`).filter(Boolean)),iA=new Set,aA=new Set;function oA(e){for(let t of aA)t(e)}function sA(e){e!==tA&&(tA=e,di(e))}function cA(e){e!==nA&&(nA=e,rA=new Set(e.split(`|`).filter(Boolean)),pi(e))}function lA(){return IO()!==null&&dk().status!==null}function uA(){if(!lA())return;let e=Hk({turnEntries:Vk(Yk),acknowledged:tA,unseen:nA,isLooking:Zk?.isLooking()??!1});sA(e.acknowledged),cA(e.unseen),eA?.(e.isShown)}function dA(e){Qk=e,oA({kind:`reveal`})}function fA(e){aA.add(e)}function pA(e){Zk=e,uA()}function mA(){let{prs:e,sessionsByPrKey:t}=dk();return Yk=Ok(LO(),e,new Set(t.keys())),uA(),Yk}function hA(){lA()&&(sA(fe(Vk(Yk))),uA())}function gA(e){eA=e,uA()}function _A(){return nA}function vA(e){return rA.has(e)}function yA(e){return rA.has(e)?(cA(fe([...rA].filter(t=>t!==e))),!0):!1}function bA(e){Xk=e}function xA(){return Xk}function SA(){let e=Qk;return Qk=null,e}function CA(e){if(e!==$k){$k=e;for(let e of iA)e()}}function wA(e){iA.add(e)}function TA(){return document.documentElement.dataset.layout===`phone`&&$k}function EA(){TA()&&oA({kind:`return-to-queue`})}function DA(){let e=Lk(Yk,Zk?.selectedKey()??null)[0]?.id??null;return e?(dA(e),!0):!1}function OA(e){let t=Yk.flatMap(e=>e.items).find(t=>t.prKey===e.toLowerCase());return!t||!Xk?.openReviews()?!1:(dA(t.key),hA(),!0)}FO(e=>{e.kind===`status`&&mA()}),uk(e=>{e.kind===`prs`&&mA()});var kA={OPEN:0,MERGED:1,CLOSED:2};function AA(e){return e?kA[e.state]:kA.OPEN}function jA(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:Fa(void 0)};let i=fO(t.stage);return{key:n,text:r,url:t.url,hoverText:`${e.repo}: ${t.title} (${dO(t.stage)})`,look:{icon:pO(t.stage),tone:i},tier:Fa(i)}}function MA(e,t){let n=e.map(e=>{let n=t(se(e));return{link:e,pr:n?tO(n):void 0}});return n.sort((e,t)=>AA(e.pr)-AA(t.pr)||t.link.linkedAt-e.link.linkedAt),n.map(({link:e,pr:t})=>jA(e,t))}var NA=new Map;function PA(e){return document.querySelectorAll(`[data-pr-chips-for="${CSS.escape(e)}"]`)}function FA(e){return MA(NA.get(e)??[],Bt).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:()=>{OA(e.key)||po(e.url)}}))}function IA(e,t){let n=Hc(e,e),r=j(`button`,`session-pr-chip-unlink`);r.append(ns(Wo)),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(),wt({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:()=>{Ll(t,{type:`unlink-session-pr`,id:t,key:e.key})}})});let i=j(`span`,`session-pr-chip-item`);return i.append(n,r),i}function LA(e,t){e.dataset.prChipsFor=t,qc(e,FA(t),e=>IA(e,t))}function RA(e){for(let t of e){let e=t.dataset.prChipsFor;e&&LA(t,e)}el()}function zA(e,t){let n=ee.shape.links.safeParse(t??[]);NA.set(e,n.success?n.data:[]),RA(PA(e)),pk(NA)}function BA(e){NA.delete(e),pk(NA)}Vt(()=>RA(document.querySelectorAll(`[data-pr-chips-for]`)));var VA=null,HA=new Set;function UA(){VA?.setAttribute(`aria-pressed`,String(!Or()))}function WA(e){kr(e),UA();for(let t of HA)t(e)}function GA(e){HA.add(e)}function KA(e){VA=e,UA(),e.addEventListener(`click`,()=>WA(!Or()))}var qA={mine:`Mining merged pull requests.`,run:`Starting the run.`,cancel:`Cancelling the run.`},JA=null,YA=null,XA=!0,ZA=new Map,QA=new Map,$A=new Set;function ej(){for(let e of $A)e()}function tj(e){$A.add(e)}function nj(){return{status:JA,isServerConnected:XA,pendingActionBySuite:ZA,outcomeBySuite:QA}}function rj(e){YA=e}function ij(e,t){YA?.({type:`benchmark-action`,requestId:tt(`benchmark`),suiteId:e,action:t})===!0?(ZA.set(e,t),QA.set(e,qA[t]),ej()):(QA.set(e,E),ej())}function aj(e){if(XA=e,!e){for(let e of ZA.keys())QA.delete(e);ZA.clear()}ej()}function oj(e){JA=e,ej()}function sj(e){ZA.delete(e.suiteId);let t=JA?.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.`};QA.set(e.suiteId,e.ok?n[e.action]:e.error||`The server refused the action.`),ej()}var cj=45e3,lj=`The server did not answer within ${cj/1e3} s.`,uj=`Select the issue to load its description.`,dj=null,fj=null,pj=new Map,mj=null,hj=new Map,gj=new Map,_j=new Map,vj=new Map,yj=new Map,bj=new Set;function xj(e){for(let t of bj)t(e)}function Sj(e){return`${e.key}:${e.updatedAt}`}function Cj(e){let t=hj.get(e);t&&(hj.delete(e),gj.set(t.issueKey,{text:lj,tone:`error`}),xj(`detail`))}function wj(e){let t=hj.get(e);return t?(clearTimeout(t.timeoutHandle),hj.delete(e),t):null}function Tj(){return{latestStatus:fj,issueByKey:pj,selectedKey:dj}}function Ej(e){bj.add(e)}function Dj(e){dj=e}function Oj(e){return[...hj.values()].some(t=>t.issueKey===e.key)}function kj(e){return gj.get(e.key)}function Aj(e){let t=Sj(e),n=vj.get(t);return n===``?`No description.`:n??yj.get(t)??`Loading description.`}function jj(e){let t=Sj(e);if(vj.has(t)||[..._j.values()].some(e=>e.cacheKey===t))return;let n=tt(`issue-detail`);yj.delete(t),mj?.({type:`issue-detail`,requestId:n,repo:e.repo,issueNumber:e.number})?_j.set(n,{cacheKey:t,timeoutHandle:setTimeout(()=>{_j.delete(n),yj.set(t,`${lj} ${uj}`),xj(`detail`)},cj)}):yj.set(t,`${E} ${uj}`)}function Mj(e){let t=e.projectId;if(!t||Oj(e))return;let n=tt(`open-issue-session`);mj?.({type:`open-issue-session`,requestId:n,projectId:t,repo:e.repo,issueNumber:e.number})?(hj.set(n,{issueKey:e.key,issueNumber:e.number,timeoutHandle:setTimeout(()=>Cj(n),cj)}),gj.set(e.key,{text:`Opening session.`,tone:`busy`}),xj(`detail`)):(gj.set(e.key,{text:E,tone:`error`}),xj(`detail`))}function Nj(e){mj?.({type:`dashboard-telemetry`,event:`operator_action`,properties:{surface:`issues`,action:e}})}function Pj(e){mj=e}function Fj(){xj(`session-state`)}function Ij(e){if(!e){for(let e of hj.values())clearTimeout(e.timeoutHandle),gj.set(e.issueKey,{text:E,tone:`error`});hj.clear();for(let e of _j.values())clearTimeout(e.timeoutHandle),yj.set(e.cacheKey,`${E} ${uj}`);_j.clear(),xj(`status`)}}function Lj(e){let t=fj?.issues.find(e=>e.key===dj);fj=e,pj=new Map(e.issues.map(e=>[e.key,e]));let n=e.issues.find(e=>e.key===dj);n&&n.updatedAt!==t?.updatedAt&&jj(n),xj(`status`)}function Rj(e){let t=_j.get(e.requestId);t&&(clearTimeout(t.timeoutHandle),_j.delete(e.requestId),e.ok&&e.body!==null&&vj.set(t.cacheKey,e.body),(!e.ok||e.body===null)&&yj.set(t.cacheKey,e.error||`Could not load description. Select the issue to try again.`),xj(`detail`))}function zj(e){if(typeof e.requestId!=`string`)return;let t=wj(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`;gj.set(n,{text:`Session "${r}" ${a}.${i}`,tone:`ok`});let o=fj?.issues.find(e=>e.key===n);o&&typeof e.sessionId==`string`&&(o.sessionId=e.sessionId),xj(`status`);return}let r=typeof e.error==`string`&&e.error?e.error:`Could not open session.`;gj.set(n,{text:r,tone:`error`}),xj(`detail`)}var Bj=null,Vj=null,Hj=null,Uj=()=>!1,Wj=new Set,Gj=new Set,Kj=d({getAck:ci,setAck:li,signature:()=>p({posthog:Bj}),isLooking:()=>Uj()});function qj(e){for(let t of Gj)t(e)}function Jj(){Vj?.(Kj.refresh())}function Yj(){return{latest:Bj,archivedLocally:Wj,traceOpener:Hj}}function Xj(e){Gj.add(e)}function Zj(e){Uj=e,Jj()}function Qj(e){Wj.add(e)}function $j(){Kj.acknowledge(),Jj()}function eM(e){Vj=e,Jj()}function tM(e){Hj=e}function nM(e){Bj=e,u(Bj,Wj),qj({kind:`status`}),Jj()}function rM(e){let t=ve(Bj,e.projectId,e.issueId)?.inFlight===!0;re(Bj,e)&&qj({kind:`investigation-activity`,projectId:e.projectId,issueId:e.issueId,wasInFlight:t})}function iM(e){let t=x(Bj,e);qj({kind:`investigation-finished`,frame:e,isPatched:t}),t&&Jj()}var aM=ja({requestPrefix:`session-setup`,dialogClass:`dialog coherence-journal-drawer session-setup-dialog`,titleText:`Session setup`,unavailableLabel:`Session setup unavailable`,timeoutMs:15e3});function oM(e){let t=j(`ul`,`session-setup-list`);return t.append(...e.map(e=>j(`li`,null,e))),t}function sM(e,t){e.replaceChildren();function n(t,n){if(n.length===0)return;let r=Ie(`session-setup`,t);r.append(...n),e.append(r)}n(`Model`,t.model?[j(`p`,null,t.model)]:[]),n(`Plugins`,t.plugins.map(e=>{let t=j(`div`,`session-setup-plugin`);return t.append(j(`h3`,null,e.name)),e.skills.length>0&&t.append(j(`p`,`session-setup-label`,`Skills`),oM(e.skills)),e.agents.length>0&&t.append(j(`p`,`session-setup-label`,`Agents`),oM(e.agents)),t})),n(`MCP servers`,t.mcpServers.length>0?[oM(t.mcpServers)]:[]),n(`Hooks`,[...t.hookEvents.map(e=>{let t=j(`p`,`session-setup-hook`);return t.append(j(`span`,null,e.event),j(`span`,`session-setup-label`,`${e.runCount} runs`)),t}),...t.hookCommands.map(e=>j(`pre`,`coherence-command`,e))]),n(`Skills`,t.skills.length>0?[oM(t.skills)]:[]),n(`Agents`,t.agents.length>0?[oM(t.agents)]:[])}function cM(e){let t=j(`p`,`coherence-journal-status`,`Loading session setup`);t.setAttribute(`role`,`status`);let n=j(`div`,`session-setup-sections`);aM.open({sessionId:e,status:t,body:[t,n],parts:{sections:n},buildRequest:t=>({type:`session-setup`,id:e,requestId:t})})}function lM(e){let t=aM.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;sM(n,e.setup),t.status.textContent=n.childElementCount>0?``:`No session setup recorded yet`,t.status.hidden=n.childElementCount>0}function uM(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 dM={isVisible:document.visibilityState===`visible`,isFrozen:!1,isProbing:!1,isReplacing:!1},fM=document.visibilityState===`visible`?null:Date.now(),pM=null,mM=null;function hM(){pM!==null&&window.clearTimeout(pM),pM=null}function gM(e){hM();let t=Date.now()+e;pM=window.setTimeout(()=>{pM=null,yM({kind:`heartbeat-due`,lateByMs:Date.now()-t})},e)}function _M(){mM!==null&&window.clearTimeout(mM),mM=null}function vM(e){switch(e.kind){case`probe-control`:$e(e.deadlineMs,e.isAnnounced).then(e=>{yM({kind:e?`pong`:`pong-missed`})});return;case`replace-control`:nt();return;case`close-sockets`:_M(),rt(),bg();return;case`reconnect-shown-terminals`:vg();return;case`hold-input`:hg();return;case`release-input`:gg();return;case`schedule-heartbeat`:gM(e.inMs);return;case`cancel-heartbeat`:hM();return}}function yM(e){let t=Ue(dM,e);dM=t.state;for(let e of t.actions)vM(e)}function bM(){if(document.visibilityState!==`visible`){fM=Date.now(),yM({kind:`hidden`});return}let e=fM===null?0:Date.now()-fM;fM=null,ff(`shown`,e),yM({kind:`shown`,hiddenForMs:e})}function xM(e){_M(),uf(`control-${e}`),e===`connecting`?mM=window.setTimeout(()=>{mM=null,yM({kind:`handshake-overdue`})},Je):yM({kind:e===`opened`?`control-opened`:`control-closed`})}function SM(){ff(`resumed`,fM===null?0:Date.now()-fM),yM({kind:`resumed`})}function CM(){let e=Reflect.get(navigator,`connection`);e instanceof EventTarget&&e.addEventListener(`change`,()=>{df(`link`),yM({kind:`network-changed`})})}function wM(){We(xM),document.addEventListener(`visibilitychange`,bM),document.addEventListener(`freeze`,()=>yM({kind:`frozen`})),document.addEventListener(`resume`,SM),window.addEventListener(`pagehide`,e=>{e.persisted&&yM({kind:`frozen`})}),window.addEventListener(`pageshow`,e=>{e.persisted&&SM()}),window.addEventListener(`online`,()=>{df(`online`),yM({kind:`network-changed`})}),window.addEventListener(`offline`,()=>df(`offline`)),CM()}var TM={},EM=null,DM=null,OM=he,kM=null,AM=!1,jM=null,MM=[],NM=null,PM=()=>null,FM=()=>{},IM=new Set,LM=new Set;function RM(e){for(let t of LM)t(e)}function zM(e){LM.add(e)}function BM(){return TM}function VM(e){return TM={...TM,...e},TM}function HM(){return{status:EM,journal:DM,request:OM,lastAutoCheckAt:kM,isCheckInFlight:AM,checkSendFailure:jM}}function UM(e){let t=me(OM,e);t!==OM&&(OM=t,RM({kind:`update`,frame:`request`}))}function WM(){UM(N({type:`update-apply`})?`request-sent`:`request-unsent`)}function GM(){kM=Date.now();let e=N({type:`update-check`});AM=e,jM=e?null:E,RM({kind:`update`,frame:`request`})}function KM(e){FM=e}function qM(){FM()}function JM(e){MM=[...e]}function YM(){return MM}function XM(e=null,t=null,n=null){let r=NM!==null&&(NM.sectionId!==null||NM.isLink);e===null&&n===null&&r||(NM={sectionId:e,settingId:t,hashAtRequest:n??location.hash,isLink:n!==null},RM({kind:`activate`}))}function ZM(){let e=NM;return NM=null,e}function QM(e){PM=e}function $M(){for(let e of IM)e()}function eN(e){IM.add(e)}function tN(){return qu()&&PM()===`section`}function nN(){tN()&&RM({kind:`return-to-list`})}function rN(e){e&&(TM=e,Li(TM.agentLogins),RM({kind:`broadcast`}))}function iN(){RM({kind:`status`})}function aN(e){iN()}function oN(e){EM=e,AM=!1,jM=null,OM=me(OM,`status-frame`),RM({kind:`update`,frame:`status`})}function sN(e){DM=e,OM=me(OM,`progress-frame`),RM({kind:`update`,frame:`progress`})}function cN(e){if(e.scope!==`update`)return!1;let t=w(e.message),n=OM.requested;return OM=me(OM,`error-frame`,t),AM=!1,n||(jM=t),RM({kind:`update`,frame:`error`}),!0}function lN(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 uN=200;function dN(e,t=null){return`#settings/${encodeURIComponent(e)}${t?`/${encodeURIComponent(t)}`:``}`}function fN(e){return/^#settings(?:[/?]|$)/.test(e)}function pN(e){let t=e.trim();return t?`#settings?q=${encodeURIComponent(t)}`:`#settings`}function mN(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,uN).join(``).trim()}}function hN(e,t,n){let r=j(`a`,`settings-link`,n);return r.href=dN(e,t),r}var gN=!1,_N=!1,vN=!1,yN=null,bN=null;function xN(){return bN??=V(()=>import(`./nyan-cat-Cp3CN-62.js`).then(e=>e.r).then(e=>(yN=e,e),e=>(bN=null,M(`flying-animals`,`nyan cat failed to load: ${ot(e)}`),null)),__vite__mapDeps([20,13,1])),bN}function SN(e){!vN||e.currentFlightBlockReason(!0)?e.stopNyanCat():e.startNyanCat()}function CN(){_N=!0,wN(Hr())}function wN(e){let t=document.documentElement;gN||(gN=!0,Ju(()=>wN(Hr())),window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,()=>wN(Hr()))),vN=e,e?(t.dataset.flyingAnimals=`true`,yN?SN(yN):_N&&xN().then(e=>{e&&SN(e)})):(delete t.dataset.flyingAnimals,yN?.stopNyanCat())}var TN=`•`.repeat(8),EN=`[^/\\\\\\s"'\`<>:]+`,DN=RegExp(`(?<![\\w./\\\\-])(?:/home/${EN}|/Users/${EN}|[A-Za-z]:[\\\\/]Users[\\\\/]${EN}|/root(?![\\w.-]))`,`g`);function ON(e){let t=zp(e);if(t.length===0)return e;let n=``,r=0;for(let i of t)n+=e.slice(r,i.start)+TN,r=i.end;return n+e.slice(r)}function kN(e){return e.replace(DN,`~`)}function AN(e){return kN(ON(e))}var jN=`.xterm, input, textarea, script, style, [contenteditable]:not([contenteditable="false"])`,MN=[`title`,`label`],NN=new WeakMap,PN=new WeakMap,FN=null;function IN(e){let t=e instanceof Element?e:e.parentElement;return!t||t.closest(jN)!==null}function LN(e){let t=e.parentElement?.closest(`option`);return t!=null&&!t.hasAttribute(`value`)}function RN(e,t){if(t&&e===t.masked)return t;let n=AN(e);return n===e?null:{original:e,masked:n}}function zN(e){let t=LN(e)?null:RN(e.data,NN.get(e));t?(NN.set(e,t),e.data!==t.masked&&(e.data=t.masked)):NN.delete(e)}function BN(e,t){let n=e.getAttribute(t),r=PN.get(e),i=n===null?null:RN(n,r?.get(t));if(!i){r?.delete(t);return}let a=r??new Map;a.set(t,i),PN.set(e,a),n!==i.masked&&e.setAttribute(t,i.masked)}function VN(e){for(let t of MN)BN(e,t)}function HN(e){return e instanceof Element&&e.matches(jN)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}function UN(e){VN(e);let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,HN);for(let e=t.nextNode();e;e=t.nextNode())e instanceof Text&&zN(e),e instanceof Element&&VN(e)}function WN(e){IN(e)||(e instanceof Text&&zN(e),e instanceof Element&&UN(e))}function GN(e){e instanceof Element&&!IN(e)&&VN(e)}function KN(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&&WN(e);for(let e of n)e.isConnected&&GN(e)}function qN(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT);JN(e);for(let e=t.nextNode();e;e=t.nextNode())JN(e)}function JN(e){if(e instanceof Text){let t=NN.get(e);t&&e.data===t.masked&&(e.data=t.original);return}if(!(e instanceof Element))return;let t=PN.get(e);if(t)for(let[n,r]of t)e.getAttribute(n)===r.masked&&e.setAttribute(n,r.original)}function YN(){if(FN)return;let e=new MutationObserver(t=>{KN(t),e.takeRecords()});UN(document.body),e.observe(document.body,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:MN}),FN=e}function XN(){FN&&(FN.disconnect(),FN=null,qN(document.body),NN=new WeakMap,PN=new WeakMap)}function ZN(e){e?YN():XN()}function QN(){ZN(Gp()),qp(ZN)}function $N(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 eP(e){return typeof e!=`object`||!e||!(`telemetryForcedOff`in e)?!1:e.telemetryForcedOff===!0}function tP(e,t){return t||eP(e)?!1:$N(e)}var nP=2500;function rP({hasSnapshot:e,connectingTerminalCount:t,msSinceConnected:n}){return n<2500&&(!e||t>0)?`wait`:`reveal`}function iP(e){return g(Number(e)||0,{rounding:`round`,wording:`compact`,suffix:``,justNowBelowSeconds:0})}function aP(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?`never`:`${iP(Date.now()-e)} ago`}var oP=e=>`polled ${aP(e)}`;function sP(e){let t=[],n=[],r=null,i=e=>{let t=e.format(e.ts);e.el.textContent!==t&&(e.el.textContent=t)},a=()=>{let r=e();if(r&&!r.closest(`[hidden]`)){for(let e of t)i(e);for(let e of n)e()}};return{track(e,n,r=oP){let a={el:e,ts:n,format:r};i(a),t.push(a)},onTick(e){n.push(e)},reset(){t=[],n=[]},ensure(){r||=Mt(a)}}}var cP=2e4,lP=null,uP=null,dP={claude:null,codex:null},fP=null,pP=null,mP=null,hP=`all`,gP=!1,_P=null,vP=null,yP=!0,bP=()=>!1,xP=new Set,SP=d({getAck:mi,setAck:hi,signature:()=>Ux(lP,dP.claude),isLooking:()=>bP()});function CP(e){for(let t of xP)t(e)}function wP(){fP?.(SP.refresh())}function TP(e){gP=e,CP(`refresh-status`),_P&&=(clearTimeout(_P),null),e&&(_P=setTimeout(()=>{_P=null,gP=!1,vP=`Usage did not answer within ${Math.round(cP/1e3)} s. Refresh to try again.`,CP(`refresh-status`)},cP))}function EP(e){let t=Ex.find(t=>t.value===e);return t?t.days:null}function DP(){return{report:lP,sessions:uP,planLimitsByVendor:dP,rangeValue:hP}}function OP(){let e=!yP||!gP&&vP!==null;return yP?gP?{text:`Refreshing`,isPending:!0,hasFailure:e}:{text:vP??``,isPending:!1,hasFailure:e}:{text:lP?`${E} The figures below are from before the connection dropped.`:E,isPending:gP,hasFailure:e}}function kP(e){xP.add(e)}function AP(e){bP=e,wP()}function jP(){SP.acknowledge(),wP()}function MP(e){fP=e,wP()}function NP(e){pP?.({type:`dashboard-telemetry`,event:`operator_action`,properties:{surface:`usage`,action:e}})}function PP(e){pP=e}function FP(e){hP=e}function IP({force:e=!1}={}){if(!pP)return;mP=tt(`usage`);let t={type:`request-usage-report`,requestId:mP};e&&(t.force=!0);let n=EP(hP);n!==null&&(t.days=n),vP=null,TP(!0),!pP(t)&&(vP=E,TP(!1))}function LP(e){yP=e,CP(`refresh-status`)}function RP(e){uP=e,CP(`sessions`)}function zP(e){let t=e;dP={...dP,[Bx(t)]:t},CP(`plan-limits`),wP()}function BP(e){Yx(e,mP)&&(vP=null,TP(!1),lP=e,CP(`report`),wP())}function VP(){let e=lP?.pricing||(uP?{source:uP.pricingSource}:null),t=Gx(e?.fetchedAt),n=[Wx(e,t!==null&&t>0?aP(t):``)],r=Jx(lP);r&&n.push(r);let i=qx(lP?.scan);return i&&n.push(i),n}var HP={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},UP=[{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 WP(e,t){return t.isPhoneShellActive?t.phoneScreen===e:t.activeView===e}function GP(e,t){return e.flatMap(e=>!e.gate||!(`fromSettings`in e.gate)?[]:[{view:e,isAvailable:e.gate.fromSettings(t)}])}function KP(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 qP(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 JP(e){return{isActive:e===!0||typeof e==`string`,level:typeof e==`string`?e:null}}function YP(e,t,n){t&&e?.refreshOn?.includes(n)&&t.refresh?.(n)}function XP(e,t,n,r){for(let i of e)WP(i.view,t)&&YP(i,r(i.view),n)}function ZP(){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 QP(e,t,n){let r=Number(e);return!e||!Number.isFinite(r)||t-r>n}var $P=`glimmervoid:preload-error-reload-at`,eF=3e4,tF=1e3,nF=ZP();function rF(e,t){let n=nF.mountedModuleOf(e.view);n?t(n):nF.show(e).then(t).catch(t=>{throw M(`view`,`${e.view} failed to show: ${ot(t)}`),t})}function iF(e){return nF.mountedModuleOf(e)}function aF(e){nF.mountEagerViews(e)}function oF(e){let t=()=>{nF.prefetch(e.filter(e=>!e.tab.hidden))};`requestIdleCallback`in window?window.requestIdleCallback(t):setTimeout(t,tF)}function sF(e){window.addEventListener(`vite:preloadError`,()=>{let t=e(),n=Date.now();QP(t.getItem($P),n,eF)&&(t.setItem($P,String(n)),location.reload())})}function cF(e){bA({openTerminal:e.openTerminal,openReviews:e.openReviews}),KM(e.onRestart);let t=[{view:`focus`,label:`Focus`,panelClass:`focus-view`,hasOwnPhoneScreen:!0,hasPanelChrome:!1,hasReviewSidebar:!0,module:{mount:()=>tT({rail:document.getElementById(`focus-rail`),center:document.getElementById(`focus-center`),resizer:document.getElementById(`focus-rail-resizer`)}),activate:AT,deactivate:NT}},{view:`prs`,label:`Reviews`,glyph:`⇅`,panelClass:`pr-view`,gate:{fromSettings:HP.teamReview},load:()=>V(()=>import(`./review-queue-panel-MOcc95uF.js`).then(e=>e.view),__vite__mapDeps([21,3,4,1,2,7,22,11,23])),refreshOn:[`shown`],attention:{subscribe:gA,acknowledge:hA},onConnectionChange:e=>{_k(e),VO(e)}},{view:`issues`,label:`Issues`,glyph:`#`,panelClass:`issues-view`,gate:{fromSettings:HP.issues},load:()=>V(()=>import(`./issues-panel-weIVXxlJ.js`).then(e=>e.view),__vite__mapDeps([24,3,4,1,11,22,2,7,25])),refreshOn:[`shown`],onConnectionChange:Ij},{view:`usage`,label:`Usage`,glyph:`◔`,panelClass:`usage-view`,gate:{fromSettings:HP.usage},load:()=>V(()=>import(`./usage-panel-BDJlBhKt.js`).then(e=>e.view),__vite__mapDeps([26,3,4,1,27])),attention:{subscribe:MP,acknowledge:jP},onConnectionChange:LP,refreshOn:[`shown`,`connected`,`usage-sessions`]},{view:`radar`,label:`Radar`,glyph:`◎`,panelClass:`radar-view`,gate:{fromSettings:HP.posthog},load:()=>V(()=>import(`./radar-panel-0Ww_eesW.js`).then(e=>e.view),__vite__mapDeps([28,3,4,1,2,7,9,10,11,5,29])),attention:{subscribe:eM,acknowledge:$j}},{view:`visions`,label:`Visions`,glyph:`◇`,panelClass:`visions-view`,gate:{fromSettings:HP.visions},load:()=>V(()=>import(`./visions-panel-Ci_qyGGT.js`).then(e=>e.view),__vite__mapDeps([30,3,4,1,31])),attention:{subscribe:eD,acknowledge:tD},refreshOn:[`shown`],onConnectionChange:iD},{view:`hooks`,label:`Hooks`,glyph:`◈`,panelClass:`hooks-view`,load:()=>V(()=>import(`./hooks-panel-Cahf_xlg.js`).then(e=>e.view),__vite__mapDeps([32,4,3,1,2,7,33])),refreshOn:[`shown`,`connected`,`hooks-updated`]},{view:`trace`,label:`Trace`,panelClass:`trace-view`,gate:{subscribe:rc},load:()=>V(()=>import(`./trace-panel-Ce7Ke68D.js`).then(e=>e.view),__vite__mapDeps([34,3,4,1,35])),refreshOn:[`shown`],onAvailabilityChange:e=>tM(e?yx:null),onConnectionChange:wx},{view:`benchmarks`,label:`Bench`,panelClass:`bench-view`,gate:{fromSettings:HP.benchmarks},load:()=>V(()=>import(`./benchmark-panel-UXPwWXlC.js`).then(e=>e.view),__vite__mapDeps([36,3,4,1,37])),onConnectionChange:aj},{view:`settings`,label:`Settings`,glyph:`@`,panelClass:`settings-view`,hasPanelChrome:!1,load:()=>V(()=>import(`./settings-panel-BLjoJWHa.js`).then(e=>e.view),__vite__mapDeps([38,3,4,1,2,7,19,9,10,11,5,20,13,39]))}],n=k(document,`#app-main`,`main`),r=t.map(t=>{let r=j(`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)??j(`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=j(`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}=JP(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 k(document,`#header-tabs`,`div`).replaceChildren(...r.map(e=>e.tab)),r}Ef(Br()),Df(()=>{V(()=>import(`./alert-sound-DtBAKaBq.js`).then(e=>e.playNyanJingle(),e=>M(`alert-sound`,`nyan jingle failed to load: ${ot(e)}`)),[])}),Of(Pr()),wN(Hr()),Ku(),ho(document);var lF=k(document,`#connection-status`,`span`),uF=k(lF,`.connection-label`,`span`),dF=k(document,`#loading-screen`,`div`),fF=k(document,`#loading-status`,`div`),pF=k(document,`#loading-detail`,`div`),mF=k(document,`#shutdown-screen`,`div`),hF=k(document,`#shutdown-status`,`div`),gF=!1,_F=null,vF=!1;function yF(){let e=Pi(),t=dF.querySelector(`.loading-spinner`);e&&t&&t.replaceWith(Ni(e,`loading-animal`))}yF();function bF(){gF||_F===null||rP({hasSnapshot:vF,connectingTerminalCount:$h(),msSinceConnected:performance.now()-_F})===`reveal`&&xF()}Qh(bF);function xF(){if(gF)return;gF=!0,dF.classList.add(`fade-out`),oF(Q),CN(),Qi();let e=()=>dF.remove();dF.addEventListener(`transitionend`,e,{once:!0}),setTimeout(e,1e3)}function SF(e,t){lF.dataset.state=`shutdown`,uF.textContent=e,lF.title=e,vI.disabled=!0,hF.textContent=t,mF.classList.add(`active`)}var CF=new Set([`disconnected`,`connecting`]);function wF(e,t,n){lF.dataset.state=e,lF.toggleAttribute(`data-reconnected`,n),uF.textContent=t,lF.title=t}function TF(e,t){wF(e,t,e===`connected`&&CF.has(lF.dataset.state??``))}function EF(e,t){lF.dataset.state!==`shutdown`&&wF(e===`verified`?`connected`:e,t,!1)}var DF=1e4,OF=`Server`,kF=`Worktree`,AF=`Worktree warning`,jF=`The server is not answering. Check the terminal running Glimmervoid for errors, or start it again with glimmervoid. This page reconnects on its own.`,MF=`Server not answering. Check the Glimmervoid terminal for errors, or run glimmervoid. This page retries on its own.`,NF=null,PF=!1;function FF(){fF.textContent=`Reconnecting to server...`,pF.textContent=MF,pF.hidden=!PF}function IF(){NF=null,PF=!0,gF?H({source:OF,message:jF,hidesInStreamerMode:!1}):FF()}function LF(){NF!==null||PF||(NF=window.setTimeout(IF,DF))}function RF(){NF!==null&&window.clearTimeout(NF),NF=null,PF=!1,pF.hidden=!0,Cs(OF)}Ke((e,t)=>{if(e===`connecting`||e===`verified`)EF(e,t);else{TF(e,t),mC(e===`connected`);for(let t of Q)t.onConnectionChange?.(e===`connected`);if(e===`connected`){if(RF(),II&&LI(II),mF.classList.contains(`active`)){location.reload();return}Zi(),document.body.classList.add(`app-ready`),!gF&&_F===null&&(_F=performance.now(),fF.textContent=`Connecting to sessions...`,setTimeout(xF,nP)),bF(),lL(),eI(`connected`),it(`get-settings`,{}).then(e=>{e.settings&&(HI(e.settings),Qt()===`settings`&&CI(location.hash))}).catch(()=>{})}else e===`disconnected`&&mF.classList.contains(`active`)?hF.textContent=`Waiting for server...`:(LF(),gF||FF())}});function zF(){Fj(),mk(),WD()}function BF(){pT(),zF()}ba(()=>pT()),Mo(e=>{pT(e),zF()});var VF=null;function HF(e){let t=lN(VF,e);VF=t.knownBuild,t.reload&&location.reload()}function UF(e){nD(new Map(e.filter(e=>!e.ephemeral).map(e=>[e.id,e.name]))),aN(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){Ga(t.id,t.coherenceHooks),t.ephemeral||yl(t.path),zA(t.id,t.linkedPrs);let e=$S(t.id);e&&LC(t.id,t.state,t.stateSince),e&&_c(t.id,!!t.saneYolo),e&&vC(t.id,t.isGuarded,t.isGuardrailsReleased),e||aC(t.id,t.name,t.state,uM(t)),MC(t.id,t.failureReason),QS(t.id,t.taskTitle,t.taskTitleIsCustom),gC(t.id,t.agent),EC(t.id,t.mergeStatus,t.mergeReason),hC(t.id,t.effectiveBase),bC(t.id,t.activeAgents,t.awaitingBackgroundTasks),SC(t.id,t.pendingPromptKind),CC(t.id,t.unseenOutcome),GS(t.id,t),lC(t.id,t.hasPlan),$F(t.id)}iC(),To(L.counts),pT(),MT(),zF(),WF(),EI(location.hash),uL(),vF=!0,bF()}function WF(){bx([...F].map(([e,t])=>({id:e,name:ut(t)||e})))}function GF(e,t){lC(e,t?.hasPlan===!0),CC(e,t?.unseenOutcome),$F(e)}var KF=new Set([O.DONE,O.FAILED]);function qF(e,t){return e!==void 0&&KF.has(e)&&!KF.has(t)&&t!==O.DORMANT}function JF(e){let t=F.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;kC(e.id),aC(e.id,e.session,O.DORMANT,uM({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})),gC(e.id,t?.agent),GF(e.id,t)}function YF(e,t){let n=F.get(String(e.id))?.currentState;t.to===O.DORMANT&&n!==O.DORMANT?(JF(e),yy(e.id)):(LC(e.id,t.to,e.timestamp,t.event),MC(e.id,e.failureReason),e.saneYolo!==void 0&&_c(e.id,e.saneYolo),yy(e.id),qF(n,t.to)&&_g(e.id))}function XF(e){if($S(e.id))e.transition&&YF(e,e.transition),e.activeAgents!==void 0&&bC(e.id,e.activeAgents,e.awaitingBackgroundTasks),e.unseenOutcome!==void 0&&CC(e.id,e.unseenOutcome),e.pendingPromptKind!==void 0&&SC(e.id,e.pendingPromptKind),e.unseenOutcome!==void 0&&iC(),To(L.counts),No(e.id),zc(e.id);else{if(!e.transition)return;aC(e.id,e.session,e.transition.to,uM({skipPerms:e.skipPerms,saneYolo:e.saneYolo,stateSince:e.timestamp})),To(L.counts),Fj()}}var ZF=new Map;function QF(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};ZF.set(n.id,e),xC(n.id,e)}for(let e of[...ZF.keys()])t.has(e)||(ZF.delete(e),xC(e,null))}function $F(e){let t=ZF.get(e);t&&xC(e,t)}PP(N),SD(N),_x(N),Pj(N),rj(N),oc(LA),Zc(Ya),Zc(FA),cc({isReadable:Xa,open:Qa}),uc(cM);function eI(e){XP(Q,{isPhoneShellActive:zD(),activeView:Qt(),phoneScreen:R.snapshot().phoneScreen},e,iF)}qp(()=>eI(`settings-updated`));var tI={snapshot:e=>{HF(e.serverBuild),UF(e.sessions)},"hooks-report":e=>wD(e),"save-hook-result":()=>TD(),"delete-hook-result":()=>TD(),"session-status":e=>XF(e),"session-added":e=>{e.ephemeral||yl(e.path),zA(e.id,e.linkedPrs),$S(e.id)||(aC(e.id,e.session,e.state,uM(e)),gC(e.id,e.agent),$F(e.id)),To(L.counts),BF(),WF()},"session-close-confirm":e=>{Xl(e.id)},"session-removed":e=>{ws(e.id),kC(e.id),Ka(e.id),xy(e.id),BA(e.id),To(L.counts),BF(),WF()},"session-title":e=>{QS(e.id,e.taskTitle,e.isCustom),BF()},"session-prs":e=>zA(e.id,e.linkedPrs),"session-renamed":e=>{OC(e.id,e.newName),BF(),WF()},"session-modified":e=>{e.ephemeral||yl(e.path);let t=F.get(String(e.id)),n=W()===String(e.id);Ga(e.id,null),kC(e.id),xy(e.id),zA(e.id,e.linkedPrs),aC(e.id,e.session,e.state,uM(e)),n&&jl(String(e.id)),gC(e.id,e.agent),GF(e.id,t),To(L.counts),BF(),WF()},"session-git":e=>_C(e.id,!!e.worktree),"session-merge-status":e=>{TC(e.id,e.mergeStatus,e.reason),TT(e.id,e.mergeStatus),zF()},"session-worktree-blocked":e=>{H({source:kF,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=>{H({source:AF,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=>{Cs(kF,e.id),hC(e.id,e.base)},"session-diff":e=>{DC(e.id,e)},"session-diff-error":e=>{my(e.id,e.message)},"change-map":e=>hy(e.id,e.map),"branch-sync-status":e=>gy(e.id,e),"session-changed":e=>vy(e.id),"debug-state-response":e=>Rc(e),"session-trace-response":e=>{KS(e)||xx(e)},"session-trace-changed":e=>{JS(e.id),Sx(e)},"session-conversation":e=>{GS(e.id,e),zF()},"session-plan-changed":e=>{uC(e),zF()},"session-plan-draft":e=>{dC(e)},"session-plan-response":e=>{fC(e)},"session-docs-changed":e=>ca(e),"session-docs-snapshot":e=>la(e),"session-shown":e=>Oa(e),"session-shown-snapshot":e=>ka(e),"session-coherence-hooks":e=>{Ga(e.id,e.coherenceHooks),BF()},"session-coherence":e=>{qa(e),BF()},"session-coherence-snapshot":e=>{Ja(e),BF()},"session-coherence-journal-response":e=>$a(e),"session-setup-response":e=>lM(e),notify:e=>{ES(e),zc(e.session)},"update-status":e=>{cI(e),oN(e)},"update-progress":e=>sN(e.journal),"post-turn-leftovers":e=>uI(e),error:e=>{let t=cN(e),n=Cx(e);qS(e);let r=pC(e);t||n||r||(e.id?jC(e.id,e.message):H({source:OF,message:e.message}))},"session-error":e=>{dy(e.id),!pC(e)&&jC(e.id,e.message)},"settings-updated":e=>{e.settings&&HI(e.settings),Zi()},"agent-logins":e=>Li(e.logins),"health-snapshot":e=>{e.stats&&b_(e.stats)},"radar-status":e=>nM(e),"radar-investigation-activity":e=>rM(e),"radar-investigation-finished":e=>iM(e),"team-review-status":e=>RO(e),"github-prs":e=>zt(e),"my-prs-status":hk,"benchmark-status":e=>oj(e),"benchmark-action-result":e=>sj(e),"my-pr-merge-result":e=>gk(e),"team-review-action-result":e=>zO(e),"open-team-review-session-result":e=>BO(e),"issues-status":e=>Lj(e),"issue-detail-result":e=>Rj(e),"open-issue-session-result":e=>zj(e),"usage-sessions":e=>{QF(e.sessions),RP(e)},"usage-report":e=>{BP(e),iN()},"plan-limits":e=>zP(e),"usage-budget-alert":e=>ES({session:`budget-${e.scope}-${e.periodKey}`,category:`threshold-${e.threshold}`,message:e.text,ignoreFocus:!0}),"visions-findings":e=>oD(e),"visions-comments":e=>sD(e),"visions-hand":e=>cD(e),"visions-intent":e=>lD(e),"visions-fix":e=>aD(e),"visions-snapshot":e=>fD(e),"ingest-activity":e=>uD(e),"ingest-snapshot":e=>dD(e),"client-trust":e=>rL(e.trust),"shutting-down":()=>SF(`Shutting down...`,`Shutting down sessions...`),restarting:()=>SF(`Restarting...`,`Restarting server...`)};function nI(e){let t=tI[e.type];t&&t(e)}Xe(e=>{nI(e),eI(e.type)});var rI,iI=null;function aI(e,t,n){e.onclick=()=>{let e=Ve(n);e?e.then(()=>{t.textContent=`Copied`}).catch(()=>{t.textContent=`Copy failed`}):t.textContent=`Copy failed`}}var oI=hN(T,le,`Update`).href;function sI(e){let{latestSha:t,latest:n}=e;return typeof n==`string`&&n?n:typeof t==`string`&&t?t:null}function cI(e){let t=k(document,`#update-banner`,`div`),{mode:n,tone:r,text:i}=ge(e),a=r===`security`;if(!e.updateAvailable&&!a){t.hidden=!0;return}let o=sI(e),s=o&&n===`restart`?`${o}:ready`:o;if(a&&i===iI||!a&&rI!==void 0&&s===rI||!a&&s&&ii()===s)return;t.classList.toggle(`update-banner-security`,a);let c=String(e.command??``);k(document,`#update-banner-text`,`span`).textContent=i,k(document,`#update-banner-cmd`,`code`).textContent=c;let l=k(document,`#update-banner-update`,`a`);l.href=oI,l.hidden=n!==`link`;let u=k(document,`#update-banner-restart`,`button`);u.hidden=n!==`restart`,u.onclick=nL;let d=k(document,`#update-banner-cmd`,`code`);d.hidden=n!==`command`;let f=k(document,`#update-banner-copy`,`button`);f.hidden=n!==`command`;let p=k(document,`#update-banner-copy-status`,`span`);p.hidden=n!==`command`,p.textContent=``;let m=k(document,`#update-banner-link`,`a`);m.hidden=!e.releaseUrl,m.href=typeof e.releaseUrl==`string`?e.releaseUrl:``,t.hidden=!1,aI(f,p,c),k(document,`#update-banner-dismiss`,`button`).onclick=()=>{t.hidden=!0,a?iI=i:(rI=s,ai(s))}}var lI=!1;function uI({repositories:e,command:t}){let n=k(document,`#post-turn-leftovers-banner`,`div`);if(e.length===0){n.hidden=!0;return}if(lI)return;let r=k(document,`#post-turn-leftovers-copy-status`,`span`);k(document,`#post-turn-leftovers-text`,`span`).textContent=qt(e.length),k(document,`#post-turn-leftovers-cmd`,`code`).textContent=t,r.textContent=``,n.hidden=!1,aI(k(document,`#post-turn-leftovers-copy`,`button`),r,t),k(document,`#post-turn-leftovers-dismiss`,`button`).onclick=()=>{lI=!0,n.hidden=!0}}var dI=k(document,`#telemetry-banner`,`div`);function fI(){si(!0),dI.hidden=!0}function pI(e){dI.hidden=!tP(e,oi())}var mI=k(document,`#telemetry-banner-settings`,`a`);mI.href=hN(`privacy`,`telemetry-enabled`,`What's collected`).href,mI.addEventListener(`click`,fI),k(document,`#telemetry-banner-dismiss`,`button`).addEventListener(`click`,fI),k(document,`#btn-add-session-header`,`button`).addEventListener(`click`,Hl);var hI=k(document,`#btn-mute`,`button`);KA(hI);var gI=k(document,`#btn-streamer`,`button`);Qp(gI),QN();var _I=k(document,`#power-menu`,`div`),vI=k(document,`#btn-power`,`button`),yI=k(document,`#power-menu-dropdown`,`div`);function bI(e){_I.classList.toggle(`open`,e),vI.setAttribute(`aria-expanded`,String(e))}vI.addEventListener(`click`,e=>{e.stopPropagation(),bI(!_I.classList.contains(`open`))}),Fs({trigger:vI,menu:yI,menuItems:()=>[...yI.querySelectorAll(`[role="menuitem"]`)].filter(e=>!e.hidden),isOpen:()=>_I.classList.contains(`open`),open:()=>bI(!0),close:()=>bI(!1)}),document.addEventListener(`click`,e=>{e.target instanceof Node&&(_I.contains(e.target)||bI(!1))}),Me(document.querySelector(`.header`));function xI(e){e&&XM(e),!YD(`settings`)&&$(`settings`,{section:e})}function SI(){fN(location.hash)&&history.replaceState(history.state,``,`${location.pathname}${location.search}`)}function CI(e){return fN(e)?(XM(null,null,e),YD(`settings`)||$(`settings`,{persist:!1}),!0):!1}var wI=`No plan is stored for this session yet. It appears here once the agent writes one.`,TI=`Plan`;function EI(e){let t=C_(e);return t?!$S(t)||(history.replaceState(history.state,``,`${location.pathname}${location.search}`),zD()?(qD(t)||H({source:TI,sessionId:t,message:wI}),!0):($(`focus`,{persist:!1}),DT(t)||H({source:TI,sessionId:t,message:wI}),!0)):!1}function DI(e){return EI(e)?!0:CI(e)}function OI(e){e.newURL===location.href&&DI(location.hash)}document.addEventListener(`click`,e=>{if(!zD()||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href^="#"]`):null;t instanceof HTMLAnchorElement&&DI(t.hash)&&e.preventDefault()}),QO(k(document,`#celebration-tray`,`div`),k(document,`#btn-celebrations`,`button`),k(document,`#celebration-tray-count`,`span`)),k(document,`#btn-help`,`button`).addEventListener(`click`,()=>{xI(`browser-shortcuts`)});var Q=cF({onRestart:nL,openTerminal:e=>{JD(e)||($(`focus`),ET(e))},openPlan:e=>{$(`focus`),DT(e)},openReviews:()=>MI(`prs`)?(YD(`prs`)||$(`prs`),!0):!1,setPhoneAttention:UD});function kI(){return Q.map(e=>e.view)}var AI=kI();JM(Q),oy({panel:document.getElementById(`review-sidebar`)}),aF(Q);function jI(e){return Q.find(t=>t.view===e)}function MI(e){return Q.some(t=>t.view===e&&!t.tab.hidden)}var NI=!0,PI=null;function FI(e){jI(e)?.attention?.acknowledge()}var II=null;function LI(e){II=N({type:`dashboard-telemetry`,event:`view_shown`,properties:{view:e}})?null:e}function RI(e){let t=jI(e);t&&(rF(t,e=>YP(t,e,`shown`)),LI(e))}function $(e,{section:t,setting:n,persist:r=!0}={}){let i=jI(e);if(!i||!MI(e))return;let a=Qt();R.dispatch(`setActiveView`,e),NI=r,r&&(PI=null),document.body.dataset.activeView=e,document.body.dataset.reviewSidebarHidden=String(i.hasReviewSidebar!==!0),r&&Gr(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&&iF(a)?.deactivate?.(),rF(i,r=>{Qt()===e&&(r.activate?.(),YP(i,r,`shown`),e===`settings`&&t&&XM(t,n??null))}),LI(e),a===`settings`&&e!==`settings`&&SI(),FI(e)}function zI(e,t){let{view:n}=e;e.tab.hidden=!t,HD(n,t),e.onAvailabilityChange?.(t),!zD()&&(!t&&Qt()===n&&$(`focus`),t&&PI===n&&$(n))}function BI(e){for(let{view:t,isAvailable:n}of GP(Q,e))zI(t,n)}function VI(e){let t=KP(AI,e);Q.every((e,n)=>e.view===t[n])||(Q.sort((e,n)=>t.indexOf(e.view)-t.indexOf(n.view)),k(document,`#header-tabs`,`div`).append(...Q.map(e=>e.tab)),VD(t))}function HI(e){kf(e.isExperimentalBuild===!0&&Ir()),tC(e),rN(e),rD(e),BI(e),pI(e),VI(e.viewTabOrder),Kp(e.streamerMode===!0),US(e.conversationView===!0)}for(let e of Q)e.gate&&(zI(e,!1),`subscribe`in e.gate&&e.gate.subscribe(t=>zI(e,t)));vx(()=>{MI(`trace`)&&(YD(`trace`)||$(`trace`))});function UI(){return Q.filter(e=>!e.tab.hidden)}function WI(e,t){let n=e[t];return $(n.view),n.tab}function GI(e,t){let n=UI();return WI(n,Ds(n.findIndex(t=>t.view===e),t,n.length))}function KI(e){Q.some(e=>e.tab===document.activeElement)&&e.focus()}var qI=null;function JI(e){let t=kI();VI(e),it(`update-settings`,{settings:{viewTabOrder:e}}).then(e=>{e.type===`settings-error`&&VI(t)}).catch(()=>VI(t))}function YI(e){let t=qI;if(qI=null,!t||t===e)return;let n=kI();JI(qP(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=>{qI=t,e.dataTransfer?.setData(`text/plain`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),n.addEventListener(`dragover`,e=>{qI&&qI!==t&&(e.preventDefault(),n.dataset.dropTarget=`true`)}),n.addEventListener(`dragleave`,()=>delete n.dataset.dropTarget),n.addEventListener(`drop`,e=>{e.preventDefault(),delete n.dataset.dropTarget,YI(t)}),n.addEventListener(`dragend`,()=>{qI=null}),n.addEventListener(`keydown`,e=>{if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;let t=UI(),n=t.findIndex(e=>e.view===Qt()),r=Os(e.key,n,t.length,`horizontal`);r!==null&&(e.preventDefault(),WI(t,r).focus())})}var XI=Wr(),ZI=fN(location.hash),QI=C_(location.hash);if(ZI&&(XM(null,null,location.hash),$(`settings`,{persist:!1})),QI&&$(`focus`,{persist:!1}),!ZI&&!QI){let e=MI(XI);e||(PI=XI),$(e?XI:`focus`,{persist:e})}ID({panels:ED(Q),onScreenShown:e=>{RI(e),e!==`settings`&&SI(),e===`settings`&&!fN(location.hash)&&XM(),FI(e)},canGoBack:e=>e===`settings`&&tN()||e===`prs`&&TA(),onBack:e=>{e===`settings`&&nN(),e===`prs`&&EA()},headerControls:[k(document,`.header-title`,`h1`),k(document,`#status-indicator`,`div`),k(document,`#celebration-tray`,`div`),k(document,`#btn-add-session-header`,`button`),k(document,`#btn-help`,`button`),hI,gI,_I]}),eN(GD),wA(GD);function $I(e){if(e===`phone`){let e=eT();for(let e of Q)iF(e.view)?.deactivate?.();let t=fN(location.hash);LD({sessionId:e??void 0,linkedScreenId:t?`settings`:void 0}).then(e=>{e&&t&&XM(null,null,location.hash),!e&&qu()&&!zD()&&eL()});return}let t=BD();RD(),eL(),t&&ET(t)}function eL(){let e=Qt();$(MI(e)?e:`focus`,{persist:NI})}qu()&&$I(`phone`),Ju($I),window.addEventListener(`hashchange`,OI);function tL({type:e,title:t,confirmLabel:n,danger:r,idleMessage:i,actionAfterKillingSessions:a}){bI(!1);let o=eC(),s=o>0?`Kill ${o} session${o>1?`s`:``} and ${a}?`:i;wt({title:t,message:s,confirmLabel:n,danger:r||o>0,onConfirm:()=>N({type:e})})}function nL(){tL({type:`restart-server`,title:`Restart Server`,confirmLabel:`Restart`,danger:!1,idleMessage:`Restart the server?`,actionAfterKillingSessions:`restart the server`})}k(document,`#btn-restart`,`button`).addEventListener(`click`,nL);function rL(e){let t=Ut(`shutdown`,e);k(document,`#btn-shutdown`,`button`).hidden=!t,k(document,`#menu-divider-shutdown`,`div`).hidden=!t}k(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 iL(){return(document.activeElement?.closest(`.session-card`))?.dataset.id??null}function aL(e){ET(e),Pl(e),requestAnimationFrame(()=>requestAnimationFrame(()=>F.get(e)?.term?.focus()))}function oL(){let e=iL()??W();e?Kl(e,aL):document.getElementById(`btn-add-session-header`)?.click()}function sL({action:e,step:t}){switch(e){case`merge`:return Sy(),!0;case`close-session`:{let e=W();return e?(Xl(e),!0):!1}case`resolve-or-resync`:return wy()||Dy(),!0;case`new-session`:return document.getElementById(`btn-add-session-header`)?.click(),!0;case`quick-session`:return oL(),!0;case`next-attention`:return qu()?!1:$w()?(_T(),!0):(Qt()===`prs`&&DA()||jT(()=>$(`focus`)),!0);case`rail-step`:return $w()?(kT(t),!0):!1;case`view-step`:return!qu()&&(KI(GI(Qt(),t)),!0);case`session-nth`:return $w()?(OT(t),!0):!1;case`streamer-mode`:return Zp(),!0}}document.addEventListener(`keydown`,e=>{if(e.repeat||je(e))return;let t=cr(e,Bd,{isTerminalFocused:document.activeElement?.classList.contains(`xterm-helper-textarea`)??!1},Ud());t&&(Tt()||sL(t)&&e.preventDefault())});var cL=Kt({mode:`trailing`,delayMs:150,run:()=>{N({type:`focus-change`,focused:document.hasFocus()})}});function lL(){cL.schedule()}function uL(){let e=BD();e&&I(e)?._isActiveViewer?.()===!0&&PC(e)}function dL(){lL(),Ag(I($t())),uL()}window.addEventListener(`focus`,dL),window.addEventListener(`blur`,dL),document.addEventListener(`visibilitychange`,dL),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&th()});var fL=Ge(N);window.addEventListener(`error`,e=>{fL(e.error),M(`uncaught`,ot(e.error??e.message))}),window.addEventListener(`unhandledrejection`,e=>{fL(e.reason),M(`unhandled-rejection`,ot(e.reason))}),sF(()=>window.sessionStorage),window.addEventListener(`pageshow`,e=>{e.persisted&&th()}),y_(k(document,`#health-footer-mount`,`div`)),zd(nC),LF(),wM(),Qe();var pL=vi();pL&&et().then(()=>lg(pL));export{vA as $,dn as $i,jf as $n,Oo as $r,KT as $t,BM as A,zr as Ai,px as An,nl as Ar,DO as At,Tj as B,hr as Bi,T_ as Bn,ss as Br,fO as Bt,$M as C,Oi as Ci,Fx as Cn,bl as Cr,Ak as Ct,nN as D,Si as Di,gx as Dn,tl as Dr,uk as Dt,qM as E,wi as Ei,Jx as En,hl as Er,dk as Et,Yj as F,Fr as Fi,ly as Fn,$s as Fr,CO as Ft,Dj as G,On as Gi,Mg as Gn,as as Gr,xD as Gt,kj as H,gr as Hi,R_ as Hn,ps as Hr,$D as Ht,Zj as I,jr as Ii,H_ as In,Oc as Ir,SO as It,ij as J,Fn as Ji,qp as Jn,ns as Jr,ZE as Jt,Ej as K,Mn as Ki,bm as Kn,Go as Kr,$E as Kt,Xj as L,Vr as Li,W_ as Ln,Tc as Lr,kO as Lt,zM as M,Lr as Mi,ux as Mn,Dc as Mr,EO as Mt,ZM as N,$r as Ni,dx as Nn,Sc as Nr,wO as Nt,QM as O,Di as Oi,mx as On,ll as Or,FO as Ot,Qj as P,Zr as Pi,Rb as Pn,wc as Pr,xO as Pt,pA as Q,wn as Qi,Ef as Qn,Lo as Qr,bE as Qt,Oj as R,ri as Ri,M_ as Rn,Os as Rr,pO as Rt,VM as S,Ur as Si,zx as Sn,Al as Sr,Jk as St,GM as T,Ci as Ti,Ox as Tn,gl as Tr,fk as Tt,Nj as U,Dn as Ui,j_ as Un,gs as Ur,bD as Ut,Mj as V,fr as Vi,A_ as Vn,ms as Vr,QD as Vt,jj as W,Tn as Wi,Sg as Wn,_s as Wr,CD as Wt,WA as X,Nn as Xi,kf as Xn,Ho as Xr,XT as Xt,tj as Y,Pn as Yi,Jp as Yn,Uo as Yr,dE as Yt,GA as Z,Sn as Zi,Of as Zn,zo as Zr,yE as Zt,hN as _,Ir as _i,Lx as _n,Il as _r,Rk as _t,NP as a,tn as aa,Li as ai,UC as an,Ud as ar,_A as at,pN as b,Or as bi,Ax as bn,Pl as br,qk as bt,FP as c,Vt as ca,Ai as ci,PC as cn,Dd as cr,SA as ct,DP as d,Xr as di,pS as dn,qu as dr,Fk as dt,fn as ea,Ca as ei,fw as en,Bd as er,DA as et,VP as f,Ar as fi,dS as fn,Ju as fr,Lk as ft,wN as g,Mr as gi,Rx as gn,Wl as gr,kk as gt,iP as h,Hr as hi,Hx as hn,Hl as hr,Gk as ht,UP as i,$t as ia,Ri as ii,HC as in,Gd as ir,xA as it,HM as j,Nr as ji,fx as jn,Vc as jr,bO as jt,YM as k,Ei as ki,hx as kn,rl as kr,IO as kt,kP as l,ki as li,cC as ln,xd as lr,vk as lt,aP as m,ni as mi,Ex as mn,Fl as mr,Mk as mt,KP as n,nn as na,ea as ni,Dw as nn,qd as nr,mA as nt,IP as o,R as oa,zi as oi,BC as on,Ed as or,CA as ot,sP as p,Br as pi,nS as pn,zl as pr,Uk as pt,nj as q,jn as qi,Gp as qn,Yo as qr,QE as qt,HP as r,en as ra,Xi as ri,ww as rn,Kd as rr,EA as rt,AP as s,Bt as sa,Ni as si,VC as sn,kd as sr,fA as st,qP as t,ln as ta,_a as ti,pw as tn,Wd as tr,yA as tt,OP as u,Rr as ui,gS as un,Sd as ur,Ik as ut,mN as v,Qr as vi,kx as vn,Nl as vr,Bk as vt,WM as w,Ti as wi,Mx as wn,xl as wr,zk as wt,rN as x,ji as xi,Px as xn,kl as xr,Wk as xt,dN as y,Pr as yi,jx as yn,Xl as yr,jk as yt,Aj as z,nr as zi,D_ as zn,U as zr,dO as zt};
|
|
84
|
+
`;function rE(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 iE(e,t){return rE(JSON.stringify([e,...t]))}function aE(e,t){return iE(`finding`,[e,XT(t),String(t.code??``),String(t.message??``)])}function oE(e,t){return iE(`comment`,[e,dE(t),String(t.message??``)])}function sE(e){return iE(`fix`,[e.uri,yE(e),e.code,e.message,bE(e)])}function cE(e){return iE(`intent`,[e.key,e.text,e.active])}function lE(e,t,n,r=[],i=null){let a=[...n].map(([e,t])=>iE(`hand`,[e,t])).sort(),o=new Set;for(let r of[...e.keys(),...t.keys(),...n.keys()])o.add(iE(`document`,[r]));for(let[t,n]of e)for(let e of n)o.add(aE(t,e));for(let[e,n]of t)for(let t of n)o.add(oE(e,t));for(let e of r)o.add(sE(e));for(let e of KT(i,null,0))e.hasText&&o.add(cE(e));let s=[...o].sort();return{signature:[...a,...s].join(nE),handEntries:a,contentEntries:s}}function uE(e,t){let n=new Set(t.split(nE));return e.handEntries.some(e=>!n.has(e))?eE:e.contentEntries.some(e=>!n.has(e))?tE:null}function dE(e){let t=Number(e?.line);return!Number.isFinite(t)||t<1?`L?`:`L${Math.floor(t)}`}function fE(e){return Array.isArray(e?.diagnostics)?e.diagnostics:[]}function pE(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=fE(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function mE(e){return Array.isArray(e?.comments)?e.comments:[]}function hE(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=mE(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function gE(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 _E(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 vE=20;function yE(e){let t=Number(e?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function bE(e){return e?.applied===!0?`applied`:`refused`}function xE(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 SE(e){let t=typeof e?.uri==`string`?e.uri:``,n=Number(e?.ts);return xE(e?.fix,{uri:t,ts:Number.isFinite(n)?n:0})}function CE(e,t,{max:n=vE}={}){let r=SE(t);return r?[r,...e].slice(0,Math.max(0,Math.floor(n))):[...e]}function wE(e,{max:t=vE}={}){let n=Array.isArray(e?.fixes)?e.fixes:[],r=[];for(let e of n){let t=xE(e);t&&r.push(t)}return r.slice(0,Math.max(0,Math.floor(t)))}var TE=100;function EE(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 DE(e){let t=Array.isArray(e?.events)?e.events:[],n=[];for(let e of t){let t=EE(e);t&&n.push(t)}return n}function OE(e){let t=Number(e?.overflow);return!Number.isFinite(t)||t<=0?0:Math.floor(t)}function kE(e,t){return[...e].sort((e,t)=>t.seq-e.seq).slice(0,Math.max(0,Math.floor(t)))}function AE(e,t,{max:n=TE}={}){let r=DE(t);if(r.length===0)return kE(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 kE([...i.values()],n)}function jE(e,{max:t=TE}={}){return kE(DE(e),t)}var ME=new Map,NE=new Map,PE=new Map,FE=RT(),IE=new Map,LE=null,RE=!0,zE=[],BE=0,VE=[],HE=null,UE=()=>!1,WE=new Set,GE=lE(ME,NE,PE,VE,FE),KE=gi(),qE=d({getAck:()=>KE,setAck:e=>{KE=e,_i(e)},signature:()=>GE.signature,isLooking:()=>UE()});function JE(e){for(let t of WE)t(e)}function YE(){GE=lE(ME,NE,PE,VE,FE),GE.signature!==``&&qE.refresh(),HE?.(uE(GE,KE))}function XE(e){JE(e),YE()}function ZE(){return{findingsByUri:ME,commentsByUri:NE,handsByUri:PE,intent:FE,projectNamesById:IE,isEnabled:LE,isConnected:RE,activityEvents:zE,activityOverflow:BE,fixEntries:VE}}function QE(e){WE.add(e)}function $E(e){UE=e,YE()}function eD(e){HE=e,YE()}function tD(){GE.signature!==``&&qE.acknowledge(),YE()}function nD(e){IE=e instanceof Map?e:new Map,JE([`intent`])}function rD(e){LE=e?.visions?.enabled===!0,JE([`feed`])}function iD(e){RE=e,JE([`connection`])}function aD(e){VE=CE(VE,e),XE([`fixes`])}function oD(e){ME=pE(ME,e),XE([`feed`])}function sD(e){NE=hE(NE,e),XE([`feed`])}function cD(e){PE=QT(PE,e),XE([`feed`])}function lD(e){FE=UT(FE,e),XE([`intent`])}function uD(e){zE=AE(zE,e),BE=OE(e),XE([`activity`])}function dD(e){zE=jE(e),BE=0,XE([`activity`])}function fD(e){ME=gE(e),NE=_E(e),PE=$T(e),FE=VT(e),VE=wE(e),XE([`intent`,`feed`,`fixes`])}var pD=null,mD=null,hD=!1,gD=null,_D=new Set;function vD(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return typeof n!=`string`||!t||n===t}function yD(){for(let e of _D)e()}function bD(){return{report:pD,hasReportSendFailed:hD}}function xD(e){_D.add(e)}function SD(e){mD=e}function CD(){if(!mD)return;gD=tt(`hooks-report`);let e=mD({type:`request-hooks-report`,requestId:gD});e!==!hD&&(hD=!e,yD())}function wD(e){vD(e,gD)&&(pD=e,hD=!1,yD())}function TD(){CD()}function ED(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 DD=null,OD=null,kD={},AD=null,jD=null,MD=null,ND=new Map,PD=new Map;function FD(){return OD??=V(()=>import(`./phone-shell-BDURyW87.js`).then(e=>{e.mountPhoneShell(kD),MD&&e.orderPhonePanels(MD);for(let[t,n]of ND)e.setPhoneScreenAvailable(t,n);for(let[t,n]of PD)e.setPhoneScreenAttention(t,n);return DD=e,e},e=>(OD=null,M(`phone-shell`,`phone shell failed to load: ${ot(e)}`),null)),__vite__mapDeps([17,3,4,1,11,10])),OD}function ID(e){kD=e}async function LD(e){let t={options:e};AD=t;let n=await FD();if(AD!==t)return!1;if(!n)return AD=null,jD=null,!1;AD=null,n.activatePhoneShell(t.options);let r=jD;return jD=null,r?.(n),!0}function RD(){AD=null,jD=null,DD?.deactivatePhoneShell()}function zD(){return AD!==null||(DD?.isPhoneShellActive()??!1)}function BD(){return AD?AD.options?.sessionId??null:DD?.getPhoneSessionId()??null}function VD(e){MD=e,DD?.orderPhonePanels(e)}function HD(e,t){ND.set(e,t),DD?.setPhoneScreenAvailable(e,t)}function UD(e,t){PD.set(e,t),DD?.setPhoneScreenAttention(e,t)}function WD(){DD?.refreshPhoneBoard()}function GD(){DD?.syncPhoneHistory()}function KD(e){return AD?(jD=t=>{e(t)},!0):DD?e(DD):!1}function qD(e){return KD(t=>t.showPhonePlan(e))}function JD(e){return KD(t=>t.showPhoneSession(e))}function YD(e){return KD(t=>t.showPhoneScreen(e))}var XD={MERGE:`a merge commit`,SQUASH:`squash and merge`,REBASE:`rebase and merge`},ZD=new Set([`FAILURE`,`ERROR`]);function QD(e){return XD[e]}function $D(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&&ZD.has(e.checks.state)?`Checks are failing`:e.stage===`ready`?null:`Not ready to merge yet`:`Closed`}function eO(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 tO(e){let t=oe.parse({...e,key:`${e.repo}#${e.number}`,stage:`unknown`});return{...t,stage:eO(t)}}var nO=[`Needs you`,`Waiting`,`Ready to merge`,`Drafts`,`Merged today`],rO=[`Ready to merge`,`Needs you`,`Waiting`,`Drafts`,`Merged today`],iO={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`},aO={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`},oO={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`},sO={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 cO(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 lO(e){return nO[e.rows.reduce((e,{pr:t})=>Math.min(e,nO.indexOf(iO[t.stage])),nO.length-1)]}function uO(e){let t=new Map(nO.map(e=>[e,{title:e,prs:[],rows:[]}]));for(let n of cO(e)){let e=t.get(lO(n));if(e)for(let t of n.rows)e.rows.push(t),e.prs.push(t.pr)}return rO.flatMap(e=>t.get(e)??[])}function dO(e){return aO[e]}function fO(e){return oO[e]}function pO(e){return sO[e]}function mO(e,t){return e.flatMap(e=>{let n=t(e.key);if(!n)return[];let r=e.key.slice(0,e.key.lastIndexOf(`#`));return[{...tO({...n,repo:r}),...e}]})}function hO(e){let t=new Map;for(let n of e)for(let e of n.links){let r=se(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 gO(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 _O=3;function vO(e){if(e.length===1)return{message:`Merged ${e[0].key}`,detailLines:[e[0].title]};let t=e.slice(0,_O).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 yO(e,t){if(!e)return null;let n=e=>{let n=t(e.key);return n?{...e,checksState:n.rollupState,reviewDecision:Ce(n.reviewDecision,n.opinionatedWriterReviewStates),isDraft:n.isDraft,liveHead:n.headRefOid,prStage:tO(n).stage}:e};return{...e,drafts:e.drafts.map(n),inFlight:e.inFlight.map(n),queued:e.queued.map(n)}}function bO(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 xO(e){let t=e.viewerThreads;return t!==void 0&&t.total>0&&t.resolved===t.total}function SO(e){return e.status===`posted`&&CO(e)}function CO(e){if(!xO(e)||s(e))return!1;let t=EO(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 wO(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[bO(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(DO(r).length>0||SO(r)){n.actionable.push(r);continue}let e=(r.status===`ready`||r.status===`stale`||r.status===`error`)&&!OO(r);e&&t.noReviewNeeded.push(r),r.status===`ready`&&!e&&n[bO(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 TO(e,t){return e.commit===t?e.isViewer||l.has(e.state):!1}function EO(e){return e.liveHead??e.reviewedHead}function DO(e){return(e.threads??[]).filter(e=>!e.isNit&&!e.isResolved)}function OO(e){return DO(e).length>0?!0:s(e)?!1:CO(e)?!0:!(e.githubReviews??[]).some(t=>TO(t,EO(e)))}function kO(e,t){return`${e}#${t}`}var AO=null,jO=null,MO=new Set;function NO(e){for(let t of MO)t(e)}function PO(){jO=yO(AO,Bt),NO({kind:`status`})}function FO(e){MO.add(e)}function IO(){return jO}function LO(){return wO(jO)}function RO(e){let t=f.safeParse(e);t.success?(AO=t.data,PO()):M(`reviews`,`dropped team-review-status: ${He(t.error.issues)}`)}function zO(e){NO({kind:`action-result`,message:e})}function BO(e){NO({kind:`open-session-result`,message:e})}function VO(e){NO({kind:`connection`,isConnected:e})}Vt(PO);var HO=20,UO=[],WO=null,GO=!1,KO=0,qO=null;function JO(){return qO??=V(()=>import(`./celebration-player-Cf5DwFjN.js`),__vite__mapDeps([18,1,19])).catch(e=>(qO=null,M(`merge-celebration`,`celebration player failed to load: ${ot(e)}`),null)),qO}function YO(e){return GO?`playing`:e?`queued`:`empty`}function XO(){if(!WO)return;let e=UO.length>0;WO.tray.dataset.state=YO(e),WO.count.textContent=e?String(UO.length):``,WO.button.disabled=GO||!e}function ZO(){let e=UO.shift();if(GO=e!==void 0,XO(),!e)return;let t=KO;KO+=1,JO().then(n=>{n?(n.playCelebration(e,t),window.setTimeout(ZO,n.CELEBRATION_DURATION_MS)):(UO.unshift(e),GO=!1,XO())})}function QO(e,t,n){WO={tray:e,button:t,count:n},t.addEventListener(`click`,()=>{KO=0,ZO()}),XO()}function $O(e){UO.push(e),UO.length>HO&&UO.shift(),XO()}var ek=null,tk=null,nk=new Set,rk=new Map,ik=!1,ak=new Set;function ok(e){for(let t of ak)t(e)}function sk(){return[...rk].flatMap(([e,t])=>{let n=F.get(e);return!n||t.length===0?[]:[{id:e,title:ut(n)||e,links:t}]})}function ck(){let e=mO(ek?.prs??[],Bt),t=gO(tk,e);tk=e,fk(t),ok({kind:`prs`})}function lk(){ik||(ik=!0,queueMicrotask(()=>{ik=!1,ck()}))}function uk(e){ak.add(e)}function dk(){return{prs:mO(ek?.prs??[],Bt),status:ek,sessionsByPrKey:hO(sk())}}function fk(e){let t=e.filter(e=>!nk.has(e.key));if(t.length!==0){for(let e of t)nk.add(e.key);$O(vO(t))}}function pk(e){rk=e,lk()}function mk(){ok({kind:`session-state`})}function hk(e){let t=m.safeParse(e);t.success?(ek=t.data,ck()):M(`reviews`,`dropped my-prs-status: ${He(t.error.issues)}`)}function gk(e){ok({kind:`merge-result`,message:e})}function _k(e){ok({kind:`connection`,isConnected:e})}Vt(lk);var vk=[{id:`all`,label:`All`},{id:`reviewing`,label:`Reviewing`},{id:`mine`,label:`Mine`}],yk={turn:`Your turn`,working:`Agent working`,waiting:`Waiting on others`,aside:`Set aside`},bk=[`turn`,`working`,`waiting`,`aside`],xk={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`},Sk={directAsk:0,followUp:1,mineNeedsYou:2,teamReady:3,mineReady:4,failedReview:5,staleReview:6};function Ck(e,t){return{source:`team`,key:`team:${e.key}`,prKey:se(e),kind:t,review:e}}function wk(e){return e.status===`ready`?bO(e).band===`blocking-others`?Sk.directAsk:Sk.teamReady:Sk.followUp}function Tk(e){return[...e.ready.map(e=>({item:Ck(e,`ready`),group:`turn`,turnRank:wk(e)})),...e.attention.map(e=>({item:Ck(e,`attention`),group:`turn`,turnRank:e.status===`error`?Sk.failedReview:Sk.staleReview})),...e.inReview.map(e=>({item:Ck(e,`inReview`),group:`working`,turnRank:0})),...e.queued.map(e=>({item:Ck(e,`queued`),group:`working`,turnRank:0})),...e.noReviewNeeded.map(e=>({item:Ck(e,`settled`),group:`waiting`,turnRank:0})),...e.posted.map(e=>({item:Ck(e,`posted`),group:`waiting`,turnRank:0})),...e.discarded.map(e=>({item:Ck(e,`discarded`),group:`aside`,turnRank:0}))]}function Ek(e,t){let n=xk[e.stage];return n===`turn`&&e.stage!==`ready`&&t.has(se(e))?`working`:n}function Dk(e,t){return uO(e).flatMap(e=>e.rows).map(({pr:e,parentKey:n})=>({item:{source:`mine`,key:`mine:${e.key}`,prKey:se(e),pr:e,stackedOn:n},group:Ek(e,t),turnRank:e.stage===`ready`?Sk.mineReady:Sk.mineNeedsYou}))}function Ok(e,t,n){let r=[...Tk(e),...Dk(t,n)];return bk.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:yk[e],items:n.map(e=>e.item)}})}function kk(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 Ak(e){return e.find(e=>e.id===`turn`)?.items??[]}function jk(e,t){return t?e.flatMap(e=>e.items).find(e=>e.key===t)??null:null}function Mk(e,t){return jk(e,t)?t:e.flatMap(e=>e.items)[0]?.key??null}function Nk(e){return e.source===`mine`?kO(e.pr.repo,e.pr.number):kO(e.review.repo,e.review.number)}function Pk(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 Fk(e){return Ak(e).map(e=>({id:e.key,kind:Pk(e),name:Nk(e)}))}function Ik(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 Lk(e,t){return Fk(e).filter(e=>e.id!==t)}function Rk({capturedOrder:e,actedKey:t,groups:n}){let r=Ak(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 zk(e,t){let n=Ak(e).map(e=>e.key),r=t?n.indexOf(t):-1;return r===-1?``:`${r+1} of ${n.length} in Your turn`}function Bk(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 Vk(e){return Ak(e).map(Bk)}function Hk({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:fe([...i]),unseen:fe([...o])};for(let e of s)o.add(e);return{isShown:s.length>0,acknowledged:fe([...a]),unseen:fe([...o])}}function Uk(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 Wk(e){return new Set(e.flatMap(e=>e.items).map(e=>(e.source===`mine`?e.pr.repo:e.review.repo).toLowerCase())).size>1}function Gk(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 Kk=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 qk(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`:Kk.get(e.key)??null}function Jk(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 Yk=[],Xk=null,Zk=null,Qk=null,$k=!1,eA=null,tA=ui(),nA=fi(),rA=new Set(nA.split(`|`).filter(Boolean)),iA=new Set,aA=new Set;function oA(e){for(let t of aA)t(e)}function sA(e){e!==tA&&(tA=e,di(e))}function cA(e){e!==nA&&(nA=e,rA=new Set(e.split(`|`).filter(Boolean)),pi(e))}function lA(){return IO()!==null&&dk().status!==null}function uA(){if(!lA())return;let e=Hk({turnEntries:Vk(Yk),acknowledged:tA,unseen:nA,isLooking:Zk?.isLooking()??!1});sA(e.acknowledged),cA(e.unseen),eA?.(e.isShown)}function dA(e){Qk=e,oA({kind:`reveal`})}function fA(e){aA.add(e)}function pA(e){Zk=e,uA()}function mA(){let{prs:e,sessionsByPrKey:t}=dk();return Yk=Ok(LO(),e,new Set(t.keys())),uA(),Yk}function hA(){lA()&&(sA(fe(Vk(Yk))),uA())}function gA(e){eA=e,uA()}function _A(){return nA}function vA(e){return rA.has(e)}function yA(e){return rA.has(e)?(cA(fe([...rA].filter(t=>t!==e))),!0):!1}function bA(e){Xk=e}function xA(){return Xk}function SA(){let e=Qk;return Qk=null,e}function CA(e){if(e!==$k){$k=e;for(let e of iA)e()}}function wA(e){iA.add(e)}function TA(){return document.documentElement.dataset.layout===`phone`&&$k}function EA(){TA()&&oA({kind:`return-to-queue`})}function DA(){let e=Lk(Yk,Zk?.selectedKey()??null)[0]?.id??null;return e?(dA(e),!0):!1}function OA(e){let t=Yk.flatMap(e=>e.items).find(t=>t.prKey===e.toLowerCase());return!t||!Xk?.openReviews()?!1:(dA(t.key),hA(),!0)}FO(e=>{e.kind===`status`&&mA()}),uk(e=>{e.kind===`prs`&&mA()});var kA={OPEN:0,MERGED:1,CLOSED:2};function AA(e){return e?kA[e.state]:kA.OPEN}function jA(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:Fa(void 0)};let i=fO(t.stage);return{key:n,text:r,url:t.url,hoverText:`${e.repo}: ${t.title} (${dO(t.stage)})`,look:{icon:pO(t.stage),tone:i},tier:Fa(i)}}function MA(e,t){let n=e.map(e=>{let n=t(se(e));return{link:e,pr:n?tO(n):void 0}});return n.sort((e,t)=>AA(e.pr)-AA(t.pr)||t.link.linkedAt-e.link.linkedAt),n.map(({link:e,pr:t})=>jA(e,t))}var NA=new Map;function PA(e){return document.querySelectorAll(`[data-pr-chips-for="${CSS.escape(e)}"]`)}function FA(e){return MA(NA.get(e)??[],Bt).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:()=>{OA(e.key)||po(e.url)}}))}function IA(e,t){let n=Hc(e,e),r=j(`button`,`session-pr-chip-unlink`);r.append(ns(Wo)),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(),wt({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:()=>{Ll(t,{type:`unlink-session-pr`,id:t,key:e.key})}})});let i=j(`span`,`session-pr-chip-item`);return i.append(n,r),i}function LA(e,t){e.dataset.prChipsFor=t,qc(e,FA(t),e=>IA(e,t))}function RA(e){for(let t of e){let e=t.dataset.prChipsFor;e&&LA(t,e)}el()}function zA(e,t){let n=ee.shape.links.safeParse(t??[]);NA.set(e,n.success?n.data:[]),RA(PA(e)),pk(NA)}function BA(e){NA.delete(e),pk(NA)}Vt(()=>RA(document.querySelectorAll(`[data-pr-chips-for]`)));var VA=null,HA=new Set;function UA(){VA?.setAttribute(`aria-pressed`,String(!Or()))}function WA(e){kr(e),UA();for(let t of HA)t(e)}function GA(e){HA.add(e)}function KA(e){VA=e,UA(),e.addEventListener(`click`,()=>WA(!Or()))}var qA={mine:`Mining merged pull requests.`,run:`Starting the run.`,cancel:`Cancelling the run.`},JA=null,YA=null,XA=!0,ZA=new Map,QA=new Map,$A=new Set;function ej(){for(let e of $A)e()}function tj(e){$A.add(e)}function nj(){return{status:JA,isServerConnected:XA,pendingActionBySuite:ZA,outcomeBySuite:QA}}function rj(e){YA=e}function ij(e,t){YA?.({type:`benchmark-action`,requestId:tt(`benchmark`),suiteId:e,action:t})===!0?(ZA.set(e,t),QA.set(e,qA[t]),ej()):(QA.set(e,E),ej())}function aj(e){if(XA=e,!e){for(let e of ZA.keys())QA.delete(e);ZA.clear()}ej()}function oj(e){JA=e,ej()}function sj(e){ZA.delete(e.suiteId);let t=JA?.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.`};QA.set(e.suiteId,e.ok?n[e.action]:e.error||`The server refused the action.`),ej()}var cj=45e3,lj=`The server did not answer within ${cj/1e3} s.`,uj=`Select the issue to load its description.`,dj=null,fj=null,pj=new Map,mj=null,hj=new Map,gj=new Map,_j=new Map,vj=new Map,yj=new Map,bj=new Set;function xj(e){for(let t of bj)t(e)}function Sj(e){return`${e.key}:${e.updatedAt}`}function Cj(e){let t=hj.get(e);t&&(hj.delete(e),gj.set(t.issueKey,{text:lj,tone:`error`}),xj(`detail`))}function wj(e){let t=hj.get(e);return t?(clearTimeout(t.timeoutHandle),hj.delete(e),t):null}function Tj(){return{latestStatus:fj,issueByKey:pj,selectedKey:dj}}function Ej(e){bj.add(e)}function Dj(e){dj=e}function Oj(e){return[...hj.values()].some(t=>t.issueKey===e.key)}function kj(e){return gj.get(e.key)}function Aj(e){let t=Sj(e),n=vj.get(t);return n===``?`No description.`:n??yj.get(t)??`Loading description.`}function jj(e){let t=Sj(e);if(vj.has(t)||[..._j.values()].some(e=>e.cacheKey===t))return;let n=tt(`issue-detail`);yj.delete(t),mj?.({type:`issue-detail`,requestId:n,repo:e.repo,issueNumber:e.number})?_j.set(n,{cacheKey:t,timeoutHandle:setTimeout(()=>{_j.delete(n),yj.set(t,`${lj} ${uj}`),xj(`detail`)},cj)}):yj.set(t,`${E} ${uj}`)}function Mj(e){let t=e.projectId;if(!t||Oj(e))return;let n=tt(`open-issue-session`);mj?.({type:`open-issue-session`,requestId:n,projectId:t,repo:e.repo,issueNumber:e.number})?(hj.set(n,{issueKey:e.key,issueNumber:e.number,timeoutHandle:setTimeout(()=>Cj(n),cj)}),gj.set(e.key,{text:`Opening session.`,tone:`busy`}),xj(`detail`)):(gj.set(e.key,{text:E,tone:`error`}),xj(`detail`))}function Nj(e){mj?.({type:`dashboard-telemetry`,event:`operator_action`,properties:{surface:`issues`,action:e}})}function Pj(e){mj=e}function Fj(){xj(`session-state`)}function Ij(e){if(!e){for(let e of hj.values())clearTimeout(e.timeoutHandle),gj.set(e.issueKey,{text:E,tone:`error`});hj.clear();for(let e of _j.values())clearTimeout(e.timeoutHandle),yj.set(e.cacheKey,`${E} ${uj}`);_j.clear(),xj(`status`)}}function Lj(e){let t=fj?.issues.find(e=>e.key===dj);fj=e,pj=new Map(e.issues.map(e=>[e.key,e]));let n=e.issues.find(e=>e.key===dj);n&&n.updatedAt!==t?.updatedAt&&jj(n),xj(`status`)}function Rj(e){let t=_j.get(e.requestId);t&&(clearTimeout(t.timeoutHandle),_j.delete(e.requestId),e.ok&&e.body!==null&&vj.set(t.cacheKey,e.body),(!e.ok||e.body===null)&&yj.set(t.cacheKey,e.error||`Could not load description. Select the issue to try again.`),xj(`detail`))}function zj(e){if(typeof e.requestId!=`string`)return;let t=wj(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`;gj.set(n,{text:`Session "${r}" ${a}.${i}`,tone:`ok`});let o=fj?.issues.find(e=>e.key===n);o&&typeof e.sessionId==`string`&&(o.sessionId=e.sessionId),xj(`status`);return}let r=typeof e.error==`string`&&e.error?e.error:`Could not open session.`;gj.set(n,{text:r,tone:`error`}),xj(`detail`)}var Bj=null,Vj=null,Hj=null,Uj=()=>!1,Wj=new Set,Gj=new Set,Kj=d({getAck:ci,setAck:li,signature:()=>p({posthog:Bj}),isLooking:()=>Uj()});function qj(e){for(let t of Gj)t(e)}function Jj(){Vj?.(Kj.refresh())}function Yj(){return{latest:Bj,archivedLocally:Wj,traceOpener:Hj}}function Xj(e){Gj.add(e)}function Zj(e){Uj=e,Jj()}function Qj(e){Wj.add(e)}function $j(){Kj.acknowledge(),Jj()}function eM(e){Vj=e,Jj()}function tM(e){Hj=e}function nM(e){Bj=e,u(Bj,Wj),qj({kind:`status`}),Jj()}function rM(e){let t=ve(Bj,e.projectId,e.issueId)?.inFlight===!0;re(Bj,e)&&qj({kind:`investigation-activity`,projectId:e.projectId,issueId:e.issueId,wasInFlight:t})}function iM(e){let t=x(Bj,e);qj({kind:`investigation-finished`,frame:e,isPatched:t}),t&&Jj()}var aM=ja({requestPrefix:`session-setup`,dialogClass:`dialog coherence-journal-drawer session-setup-dialog`,titleText:`Session setup`,unavailableLabel:`Session setup unavailable`,timeoutMs:15e3});function oM(e){let t=j(`ul`,`session-setup-list`);return t.append(...e.map(e=>j(`li`,null,e))),t}function sM(e,t){e.replaceChildren();function n(t,n){if(n.length===0)return;let r=Ie(`session-setup`,t);r.append(...n),e.append(r)}n(`Model`,t.model?[j(`p`,null,t.model)]:[]),n(`Plugins`,t.plugins.map(e=>{let t=j(`div`,`session-setup-plugin`);return t.append(j(`h3`,null,e.name)),e.skills.length>0&&t.append(j(`p`,`session-setup-label`,`Skills`),oM(e.skills)),e.agents.length>0&&t.append(j(`p`,`session-setup-label`,`Agents`),oM(e.agents)),t})),n(`MCP servers`,t.mcpServers.length>0?[oM(t.mcpServers)]:[]),n(`Hooks`,[...t.hookEvents.map(e=>{let t=j(`p`,`session-setup-hook`);return t.append(j(`span`,null,e.event),j(`span`,`session-setup-label`,`${e.runCount} runs`)),t}),...t.hookCommands.map(e=>j(`pre`,`coherence-command`,e))]),n(`Skills`,t.skills.length>0?[oM(t.skills)]:[]),n(`Agents`,t.agents.length>0?[oM(t.agents)]:[])}function cM(e){let t=j(`p`,`coherence-journal-status`,`Loading session setup`);t.setAttribute(`role`,`status`);let n=j(`div`,`session-setup-sections`);aM.open({sessionId:e,status:t,body:[t,n],parts:{sections:n},buildRequest:t=>({type:`session-setup`,id:e,requestId:t})})}function lM(e){let t=aM.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;sM(n,e.setup),t.status.textContent=n.childElementCount>0?``:`No session setup recorded yet`,t.status.hidden=n.childElementCount>0}function uM(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 dM={isVisible:document.visibilityState===`visible`,isFrozen:!1,isProbing:!1,isReplacing:!1},fM=document.visibilityState===`visible`?null:Date.now(),pM=null,mM=null;function hM(){pM!==null&&window.clearTimeout(pM),pM=null}function gM(e){hM();let t=Date.now()+e;pM=window.setTimeout(()=>{pM=null,yM({kind:`heartbeat-due`,lateByMs:Date.now()-t})},e)}function _M(){mM!==null&&window.clearTimeout(mM),mM=null}function vM(e){switch(e.kind){case`probe-control`:$e(e.deadlineMs,e.isAnnounced).then(e=>{yM({kind:e?`pong`:`pong-missed`})});return;case`replace-control`:nt();return;case`close-sockets`:_M(),rt(),bg();return;case`reconnect-shown-terminals`:vg();return;case`hold-input`:hg();return;case`release-input`:gg();return;case`schedule-heartbeat`:gM(e.inMs);return;case`cancel-heartbeat`:hM();return}}function yM(e){let t=Ue(dM,e);dM=t.state;for(let e of t.actions)vM(e)}function bM(){if(document.visibilityState!==`visible`){fM=Date.now(),yM({kind:`hidden`});return}let e=fM===null?0:Date.now()-fM;fM=null,ff(`shown`,e),yM({kind:`shown`,hiddenForMs:e})}function xM(e){_M(),uf(`control-${e}`),e===`connecting`?mM=window.setTimeout(()=>{mM=null,yM({kind:`handshake-overdue`})},Je):yM({kind:e===`opened`?`control-opened`:`control-closed`})}function SM(){ff(`resumed`,fM===null?0:Date.now()-fM),yM({kind:`resumed`})}function CM(){let e=Reflect.get(navigator,`connection`);e instanceof EventTarget&&e.addEventListener(`change`,()=>{df(`link`),yM({kind:`network-changed`})})}function wM(){We(xM),document.addEventListener(`visibilitychange`,bM),document.addEventListener(`freeze`,()=>yM({kind:`frozen`})),document.addEventListener(`resume`,SM),window.addEventListener(`pagehide`,e=>{e.persisted&&yM({kind:`frozen`})}),window.addEventListener(`pageshow`,e=>{e.persisted&&SM()}),window.addEventListener(`online`,()=>{df(`online`),yM({kind:`network-changed`})}),window.addEventListener(`offline`,()=>df(`offline`)),CM()}var TM={},EM=null,DM=null,OM=he,kM=null,AM=!1,jM=null,MM=[],NM=null,PM=()=>null,FM=()=>{},IM=new Set,LM=new Set;function RM(e){for(let t of LM)t(e)}function zM(e){LM.add(e)}function BM(){return TM}function VM(e){return TM={...TM,...e},TM}function HM(){return{status:EM,journal:DM,request:OM,lastAutoCheckAt:kM,isCheckInFlight:AM,checkSendFailure:jM}}function UM(e){let t=me(OM,e);t!==OM&&(OM=t,RM({kind:`update`,frame:`request`}))}function WM(){UM(N({type:`update-apply`})?`request-sent`:`request-unsent`)}function GM(){kM=Date.now();let e=N({type:`update-check`});AM=e,jM=e?null:E,RM({kind:`update`,frame:`request`})}function KM(e){FM=e}function qM(){FM()}function JM(e){MM=[...e]}function YM(){return MM}function XM(e=null,t=null,n=null){let r=NM!==null&&(NM.sectionId!==null||NM.isLink);e===null&&n===null&&r||(NM={sectionId:e,settingId:t,hashAtRequest:n??location.hash,isLink:n!==null},RM({kind:`activate`}))}function ZM(){let e=NM;return NM=null,e}function QM(e){PM=e}function $M(){for(let e of IM)e()}function eN(e){IM.add(e)}function tN(){return qu()&&PM()===`section`}function nN(){tN()&&RM({kind:`return-to-list`})}function rN(e){e&&(TM=e,Li(TM.agentLogins),RM({kind:`broadcast`}))}function iN(){RM({kind:`status`})}function aN(e){iN()}function oN(e){EM=e,AM=!1,jM=null,OM=me(OM,`status-frame`),RM({kind:`update`,frame:`status`})}function sN(e){DM=e,OM=me(OM,`progress-frame`),RM({kind:`update`,frame:`progress`})}function cN(e){if(e.scope!==`update`)return!1;let t=w(e.message),n=OM.requested;return OM=me(OM,`error-frame`,t),AM=!1,n||(jM=t),RM({kind:`update`,frame:`error`}),!0}function lN(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 uN=200;function dN(e,t=null){return`#settings/${encodeURIComponent(e)}${t?`/${encodeURIComponent(t)}`:``}`}function fN(e){return/^#settings(?:[/?]|$)/.test(e)}function pN(e){let t=e.trim();return t?`#settings?q=${encodeURIComponent(t)}`:`#settings`}function mN(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,uN).join(``).trim()}}function hN(e,t,n){let r=j(`a`,`settings-link`,n);return r.href=dN(e,t),r}var gN=!1,_N=!1,vN=!1,yN=null,bN=null;function xN(){return bN??=V(()=>import(`./nyan-cat-D8iLr_Fu.js`).then(e=>e.r).then(e=>(yN=e,e),e=>(bN=null,M(`flying-animals`,`nyan cat failed to load: ${ot(e)}`),null)),__vite__mapDeps([20,13,1])),bN}function SN(e){!vN||e.currentFlightBlockReason(!0)?e.stopNyanCat():e.startNyanCat()}function CN(){_N=!0,wN(Hr())}function wN(e){let t=document.documentElement;gN||(gN=!0,Ju(()=>wN(Hr())),window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,()=>wN(Hr()))),vN=e,e?(t.dataset.flyingAnimals=`true`,yN?SN(yN):_N&&xN().then(e=>{e&&SN(e)})):(delete t.dataset.flyingAnimals,yN?.stopNyanCat())}var TN=`•`.repeat(8),EN=`[^/\\\\\\s"'\`<>:]+`,DN=RegExp(`(?<![\\w./\\\\-])(?:/home/${EN}|/Users/${EN}|[A-Za-z]:[\\\\/]Users[\\\\/]${EN}|/root(?![\\w.-]))`,`g`);function ON(e){let t=zp(e);if(t.length===0)return e;let n=``,r=0;for(let i of t)n+=e.slice(r,i.start)+TN,r=i.end;return n+e.slice(r)}function kN(e){return e.replace(DN,`~`)}function AN(e){return kN(ON(e))}var jN=`.xterm, input, textarea, script, style, [contenteditable]:not([contenteditable="false"])`,MN=[`title`,`label`],NN=new WeakMap,PN=new WeakMap,FN=null;function IN(e){let t=e instanceof Element?e:e.parentElement;return!t||t.closest(jN)!==null}function LN(e){let t=e.parentElement?.closest(`option`);return t!=null&&!t.hasAttribute(`value`)}function RN(e,t){if(t&&e===t.masked)return t;let n=AN(e);return n===e?null:{original:e,masked:n}}function zN(e){let t=LN(e)?null:RN(e.data,NN.get(e));t?(NN.set(e,t),e.data!==t.masked&&(e.data=t.masked)):NN.delete(e)}function BN(e,t){let n=e.getAttribute(t),r=PN.get(e),i=n===null?null:RN(n,r?.get(t));if(!i){r?.delete(t);return}let a=r??new Map;a.set(t,i),PN.set(e,a),n!==i.masked&&e.setAttribute(t,i.masked)}function VN(e){for(let t of MN)BN(e,t)}function HN(e){return e instanceof Element&&e.matches(jN)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}function UN(e){VN(e);let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,HN);for(let e=t.nextNode();e;e=t.nextNode())e instanceof Text&&zN(e),e instanceof Element&&VN(e)}function WN(e){IN(e)||(e instanceof Text&&zN(e),e instanceof Element&&UN(e))}function GN(e){e instanceof Element&&!IN(e)&&VN(e)}function KN(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&&WN(e);for(let e of n)e.isConnected&&GN(e)}function qN(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT);JN(e);for(let e=t.nextNode();e;e=t.nextNode())JN(e)}function JN(e){if(e instanceof Text){let t=NN.get(e);t&&e.data===t.masked&&(e.data=t.original);return}if(!(e instanceof Element))return;let t=PN.get(e);if(t)for(let[n,r]of t)e.getAttribute(n)===r.masked&&e.setAttribute(n,r.original)}function YN(){if(FN)return;let e=new MutationObserver(t=>{KN(t),e.takeRecords()});UN(document.body),e.observe(document.body,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:MN}),FN=e}function XN(){FN&&(FN.disconnect(),FN=null,qN(document.body),NN=new WeakMap,PN=new WeakMap)}function ZN(e){e?YN():XN()}function QN(){ZN(Gp()),qp(ZN)}function $N(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 eP(e){return typeof e!=`object`||!e||!(`telemetryForcedOff`in e)?!1:e.telemetryForcedOff===!0}function tP(e,t){return t||eP(e)?!1:$N(e)}var nP=2500;function rP({hasSnapshot:e,connectingTerminalCount:t,msSinceConnected:n}){return n<2500&&(!e||t>0)?`wait`:`reveal`}function iP(e){return g(Number(e)||0,{rounding:`round`,wording:`compact`,suffix:``,justNowBelowSeconds:0})}function aP(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?`never`:`${iP(Date.now()-e)} ago`}var oP=e=>`polled ${aP(e)}`;function sP(e){let t=[],n=[],r=null,i=e=>{let t=e.format(e.ts);e.el.textContent!==t&&(e.el.textContent=t)},a=()=>{let r=e();if(r&&!r.closest(`[hidden]`)){for(let e of t)i(e);for(let e of n)e()}};return{track(e,n,r=oP){let a={el:e,ts:n,format:r};i(a),t.push(a)},onTick(e){n.push(e)},reset(){t=[],n=[]},ensure(){r||=Mt(a)}}}var cP=2e4,lP=null,uP=null,dP={claude:null,codex:null},fP=null,pP=null,mP=null,hP=`all`,gP=!1,_P=null,vP=null,yP=!0,bP=()=>!1,xP=new Set,SP=d({getAck:mi,setAck:hi,signature:()=>Ux(lP,dP.claude),isLooking:()=>bP()});function CP(e){for(let t of xP)t(e)}function wP(){fP?.(SP.refresh())}function TP(e){gP=e,CP(`refresh-status`),_P&&=(clearTimeout(_P),null),e&&(_P=setTimeout(()=>{_P=null,gP=!1,vP=`Usage did not answer within ${Math.round(cP/1e3)} s. Refresh to try again.`,CP(`refresh-status`)},cP))}function EP(e){let t=Ex.find(t=>t.value===e);return t?t.days:null}function DP(){return{report:lP,sessions:uP,planLimitsByVendor:dP,rangeValue:hP}}function OP(){let e=!yP||!gP&&vP!==null;return yP?gP?{text:`Refreshing`,isPending:!0,hasFailure:e}:{text:vP??``,isPending:!1,hasFailure:e}:{text:lP?`${E} The figures below are from before the connection dropped.`:E,isPending:gP,hasFailure:e}}function kP(e){xP.add(e)}function AP(e){bP=e,wP()}function jP(){SP.acknowledge(),wP()}function MP(e){fP=e,wP()}function NP(e){pP?.({type:`dashboard-telemetry`,event:`operator_action`,properties:{surface:`usage`,action:e}})}function PP(e){pP=e}function FP(e){hP=e}function IP({force:e=!1}={}){if(!pP)return;mP=tt(`usage`);let t={type:`request-usage-report`,requestId:mP};e&&(t.force=!0);let n=EP(hP);n!==null&&(t.days=n),vP=null,TP(!0),!pP(t)&&(vP=E,TP(!1))}function LP(e){yP=e,CP(`refresh-status`)}function RP(e){uP=e,CP(`sessions`)}function zP(e){let t=e;dP={...dP,[Bx(t)]:t},CP(`plan-limits`),wP()}function BP(e){Yx(e,mP)&&(vP=null,TP(!1),lP=e,CP(`report`),wP())}function VP(){let e=lP?.pricing||(uP?{source:uP.pricingSource}:null),t=Gx(e?.fetchedAt),n=[Wx(e,t!==null&&t>0?aP(t):``)],r=Jx(lP);r&&n.push(r);let i=qx(lP?.scan);return i&&n.push(i),n}var HP={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},UP=[{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 WP(e,t){return t.isPhoneShellActive?t.phoneScreen===e:t.activeView===e}function GP(e,t){return e.flatMap(e=>!e.gate||!(`fromSettings`in e.gate)?[]:[{view:e,isAvailable:e.gate.fromSettings(t)}])}function KP(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 qP(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 JP(e){return{isActive:e===!0||typeof e==`string`,level:typeof e==`string`?e:null}}function YP(e,t,n){t&&e?.refreshOn?.includes(n)&&t.refresh?.(n)}function XP(e,t,n,r){for(let i of e)WP(i.view,t)&&YP(i,r(i.view),n)}function ZP(){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 QP(e,t,n){let r=Number(e);return!e||!Number.isFinite(r)||t-r>n}var $P=`glimmervoid:preload-error-reload-at`,eF=3e4,tF=1e3,nF=ZP();function rF(e,t){let n=nF.mountedModuleOf(e.view);n?t(n):nF.show(e).then(t).catch(t=>{throw M(`view`,`${e.view} failed to show: ${ot(t)}`),t})}function iF(e){return nF.mountedModuleOf(e)}function aF(e){nF.mountEagerViews(e)}function oF(e){let t=()=>{nF.prefetch(e.filter(e=>!e.tab.hidden))};`requestIdleCallback`in window?window.requestIdleCallback(t):setTimeout(t,tF)}function sF(e){window.addEventListener(`vite:preloadError`,()=>{let t=e(),n=Date.now();QP(t.getItem($P),n,eF)&&(t.setItem($P,String(n)),location.reload())})}function cF(e){bA({openTerminal:e.openTerminal,openReviews:e.openReviews}),KM(e.onRestart);let t=[{view:`focus`,label:`Focus`,panelClass:`focus-view`,hasOwnPhoneScreen:!0,hasPanelChrome:!1,hasReviewSidebar:!0,module:{mount:()=>tT({rail:document.getElementById(`focus-rail`),center:document.getElementById(`focus-center`),resizer:document.getElementById(`focus-rail-resizer`)}),activate:AT,deactivate:NT}},{view:`prs`,label:`Reviews`,glyph:`⇅`,panelClass:`pr-view`,gate:{fromSettings:HP.teamReview},load:()=>V(()=>import(`./review-queue-panel-ubZpHxn9.js`).then(e=>e.view),__vite__mapDeps([21,3,4,1,2,7,22,11,23])),refreshOn:[`shown`],attention:{subscribe:gA,acknowledge:hA},onConnectionChange:e=>{_k(e),VO(e)}},{view:`issues`,label:`Issues`,glyph:`#`,panelClass:`issues-view`,gate:{fromSettings:HP.issues},load:()=>V(()=>import(`./issues-panel-DzX5iyjG.js`).then(e=>e.view),__vite__mapDeps([24,3,4,1,11,22,2,7,25])),refreshOn:[`shown`],onConnectionChange:Ij},{view:`usage`,label:`Usage`,glyph:`◔`,panelClass:`usage-view`,gate:{fromSettings:HP.usage},load:()=>V(()=>import(`./usage-panel-21GwQKME.js`).then(e=>e.view),__vite__mapDeps([26,3,4,1,27])),attention:{subscribe:MP,acknowledge:jP},onConnectionChange:LP,refreshOn:[`shown`,`connected`,`usage-sessions`]},{view:`radar`,label:`Radar`,glyph:`◎`,panelClass:`radar-view`,gate:{fromSettings:HP.posthog},load:()=>V(()=>import(`./radar-panel-BgGOypoL.js`).then(e=>e.view),__vite__mapDeps([28,3,4,1,2,7,9,10,11,5,29])),attention:{subscribe:eM,acknowledge:$j}},{view:`visions`,label:`Visions`,glyph:`◇`,panelClass:`visions-view`,gate:{fromSettings:HP.visions},load:()=>V(()=>import(`./visions-panel-SBNiN9Os.js`).then(e=>e.view),__vite__mapDeps([30,3,4,1,31])),attention:{subscribe:eD,acknowledge:tD},refreshOn:[`shown`],onConnectionChange:iD},{view:`hooks`,label:`Hooks`,glyph:`◈`,panelClass:`hooks-view`,load:()=>V(()=>import(`./hooks-panel-tXOqrUHw.js`).then(e=>e.view),__vite__mapDeps([32,4,3,1,2,7,33])),refreshOn:[`shown`,`connected`,`hooks-updated`]},{view:`trace`,label:`Trace`,panelClass:`trace-view`,gate:{subscribe:rc},load:()=>V(()=>import(`./trace-panel-G-7MhhOz.js`).then(e=>e.view),__vite__mapDeps([34,3,4,1,35])),refreshOn:[`shown`],onAvailabilityChange:e=>tM(e?yx:null),onConnectionChange:wx},{view:`benchmarks`,label:`Bench`,panelClass:`bench-view`,gate:{fromSettings:HP.benchmarks},load:()=>V(()=>import(`./benchmark-panel-B6pAjrlO.js`).then(e=>e.view),__vite__mapDeps([36,3,4,1,37])),onConnectionChange:aj},{view:`settings`,label:`Settings`,glyph:`@`,panelClass:`settings-view`,hasPanelChrome:!1,load:()=>V(()=>import(`./settings-panel-BQ7bYcI0.js`).then(e=>e.view),__vite__mapDeps([38,3,4,1,2,7,19,9,10,11,5,20,13,39]))}],n=k(document,`#app-main`,`main`),r=t.map(t=>{let r=j(`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)??j(`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=j(`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}=JP(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 k(document,`#header-tabs`,`div`).replaceChildren(...r.map(e=>e.tab)),r}Ef(Br()),Df(()=>{V(()=>import(`./alert-sound-Deu-O2kQ.js`).then(e=>e.playNyanJingle(),e=>M(`alert-sound`,`nyan jingle failed to load: ${ot(e)}`)),[])}),Of(Pr()),wN(Hr()),Ku(),ho(document);var lF=k(document,`#connection-status`,`span`),uF=k(lF,`.connection-label`,`span`),dF=k(document,`#loading-screen`,`div`),fF=k(document,`#loading-status`,`div`),pF=k(document,`#loading-detail`,`div`),mF=k(document,`#shutdown-screen`,`div`),hF=k(document,`#shutdown-status`,`div`),gF=!1,_F=null,vF=!1;function yF(){let e=Pi(),t=dF.querySelector(`.loading-spinner`);e&&t&&t.replaceWith(Ni(e,`loading-animal`))}yF();function bF(){gF||_F===null||rP({hasSnapshot:vF,connectingTerminalCount:$h(),msSinceConnected:performance.now()-_F})===`reveal`&&xF()}Qh(bF);function xF(){if(gF)return;gF=!0,dF.classList.add(`fade-out`),oF(Q),CN(),Qi();let e=()=>dF.remove();dF.addEventListener(`transitionend`,e,{once:!0}),setTimeout(e,1e3)}function SF(e,t){lF.dataset.state=`shutdown`,uF.textContent=e,lF.title=e,vI.disabled=!0,hF.textContent=t,mF.classList.add(`active`)}var CF=new Set([`disconnected`,`connecting`]);function wF(e,t,n){lF.dataset.state=e,lF.toggleAttribute(`data-reconnected`,n),uF.textContent=t,lF.title=t}function TF(e,t){wF(e,t,e===`connected`&&CF.has(lF.dataset.state??``))}function EF(e,t){lF.dataset.state!==`shutdown`&&wF(e===`verified`?`connected`:e,t,!1)}var DF=1e4,OF=`Server`,kF=`Worktree`,AF=`Worktree warning`,jF=`The server is not answering. Check the terminal running Glimmervoid for errors, or start it again with glimmervoid. This page reconnects on its own.`,MF=`Server not answering. Check the Glimmervoid terminal for errors, or run glimmervoid. This page retries on its own.`,NF=null,PF=!1;function FF(){fF.textContent=`Reconnecting to server...`,pF.textContent=MF,pF.hidden=!PF}function IF(){NF=null,PF=!0,gF?H({source:OF,message:jF,hidesInStreamerMode:!1}):FF()}function LF(){NF!==null||PF||(NF=window.setTimeout(IF,DF))}function RF(){NF!==null&&window.clearTimeout(NF),NF=null,PF=!1,pF.hidden=!0,Cs(OF)}Ke((e,t)=>{if(e===`connecting`||e===`verified`)EF(e,t);else{TF(e,t),mC(e===`connected`);for(let t of Q)t.onConnectionChange?.(e===`connected`);if(e===`connected`){if(RF(),II&&LI(II),mF.classList.contains(`active`)){location.reload();return}Zi(),document.body.classList.add(`app-ready`),!gF&&_F===null&&(_F=performance.now(),fF.textContent=`Connecting to sessions...`,setTimeout(xF,nP)),bF(),lL(),eI(`connected`),it(`get-settings`,{}).then(e=>{e.settings&&(HI(e.settings),Qt()===`settings`&&CI(location.hash))}).catch(()=>{})}else e===`disconnected`&&mF.classList.contains(`active`)?hF.textContent=`Waiting for server...`:(LF(),gF||FF())}});function zF(){Fj(),mk(),WD()}function BF(){pT(),zF()}ba(()=>pT()),Mo(e=>{pT(e),zF()});var VF=null;function HF(e){let t=lN(VF,e);VF=t.knownBuild,t.reload&&location.reload()}function UF(e){nD(new Map(e.filter(e=>!e.ephemeral).map(e=>[e.id,e.name]))),aN(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){Ga(t.id,t.coherenceHooks),t.ephemeral||yl(t.path),zA(t.id,t.linkedPrs);let e=$S(t.id);e&&LC(t.id,t.state,t.stateSince),e&&_c(t.id,!!t.saneYolo),e&&vC(t.id,t.isGuarded,t.isGuardrailsReleased),e||aC(t.id,t.name,t.state,uM(t)),MC(t.id,t.failureReason),QS(t.id,t.taskTitle,t.taskTitleIsCustom),gC(t.id,t.agent),EC(t.id,t.mergeStatus,t.mergeReason),hC(t.id,t.effectiveBase),bC(t.id,t.activeAgents,t.awaitingBackgroundTasks),SC(t.id,t.pendingPromptKind),CC(t.id,t.unseenOutcome),GS(t.id,t),lC(t.id,t.hasPlan),$F(t.id)}iC(),To(L.counts),pT(),MT(),zF(),WF(),EI(location.hash),uL(),vF=!0,bF()}function WF(){bx([...F].map(([e,t])=>({id:e,name:ut(t)||e})))}function GF(e,t){lC(e,t?.hasPlan===!0),CC(e,t?.unseenOutcome),$F(e)}var KF=new Set([O.DONE,O.FAILED]);function qF(e,t){return e!==void 0&&KF.has(e)&&!KF.has(t)&&t!==O.DORMANT}function JF(e){let t=F.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;kC(e.id),aC(e.id,e.session,O.DORMANT,uM({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})),gC(e.id,t?.agent),GF(e.id,t)}function YF(e,t){let n=F.get(String(e.id))?.currentState;t.to===O.DORMANT&&n!==O.DORMANT?(JF(e),yy(e.id)):(LC(e.id,t.to,e.timestamp,t.event),MC(e.id,e.failureReason),e.saneYolo!==void 0&&_c(e.id,e.saneYolo),yy(e.id),qF(n,t.to)&&_g(e.id))}function XF(e){if($S(e.id))e.transition&&YF(e,e.transition),e.activeAgents!==void 0&&bC(e.id,e.activeAgents,e.awaitingBackgroundTasks),e.unseenOutcome!==void 0&&CC(e.id,e.unseenOutcome),e.pendingPromptKind!==void 0&&SC(e.id,e.pendingPromptKind),e.unseenOutcome!==void 0&&iC(),To(L.counts),No(e.id),zc(e.id);else{if(!e.transition)return;aC(e.id,e.session,e.transition.to,uM({skipPerms:e.skipPerms,saneYolo:e.saneYolo,stateSince:e.timestamp})),To(L.counts),Fj()}}var ZF=new Map;function QF(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};ZF.set(n.id,e),xC(n.id,e)}for(let e of[...ZF.keys()])t.has(e)||(ZF.delete(e),xC(e,null))}function $F(e){let t=ZF.get(e);t&&xC(e,t)}PP(N),SD(N),_x(N),Pj(N),rj(N),oc(LA),Zc(Ya),Zc(FA),cc({isReadable:Xa,open:Qa}),uc(cM);function eI(e){XP(Q,{isPhoneShellActive:zD(),activeView:Qt(),phoneScreen:R.snapshot().phoneScreen},e,iF)}qp(()=>eI(`settings-updated`));var tI={snapshot:e=>{HF(e.serverBuild),UF(e.sessions)},"hooks-report":e=>wD(e),"save-hook-result":()=>TD(),"delete-hook-result":()=>TD(),"session-status":e=>XF(e),"session-added":e=>{e.ephemeral||yl(e.path),zA(e.id,e.linkedPrs),$S(e.id)||(aC(e.id,e.session,e.state,uM(e)),gC(e.id,e.agent),$F(e.id)),To(L.counts),BF(),WF()},"session-close-confirm":e=>{Xl(e.id)},"session-removed":e=>{ws(e.id),kC(e.id),Ka(e.id),xy(e.id),BA(e.id),To(L.counts),BF(),WF()},"session-title":e=>{QS(e.id,e.taskTitle,e.isCustom),BF()},"session-prs":e=>zA(e.id,e.linkedPrs),"session-renamed":e=>{OC(e.id,e.newName),BF(),WF()},"session-modified":e=>{e.ephemeral||yl(e.path);let t=F.get(String(e.id)),n=W()===String(e.id);Ga(e.id,null),kC(e.id),xy(e.id),zA(e.id,e.linkedPrs),aC(e.id,e.session,e.state,uM(e)),n&&jl(String(e.id)),gC(e.id,e.agent),GF(e.id,t),To(L.counts),BF(),WF()},"session-git":e=>_C(e.id,!!e.worktree),"session-merge-status":e=>{TC(e.id,e.mergeStatus,e.reason),TT(e.id,e.mergeStatus),zF()},"session-worktree-blocked":e=>{H({source:kF,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=>{H({source:AF,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=>{Cs(kF,e.id),hC(e.id,e.base)},"session-diff":e=>{DC(e.id,e)},"session-diff-error":e=>{my(e.id,e.message)},"change-map":e=>hy(e.id,e.map),"branch-sync-status":e=>gy(e.id,e),"session-changed":e=>vy(e.id),"debug-state-response":e=>Rc(e),"session-trace-response":e=>{KS(e)||xx(e)},"session-trace-changed":e=>{JS(e.id),Sx(e)},"session-conversation":e=>{GS(e.id,e),zF()},"session-plan-changed":e=>{uC(e),zF()},"session-plan-draft":e=>{dC(e)},"session-plan-response":e=>{fC(e)},"session-docs-changed":e=>ca(e),"session-docs-snapshot":e=>la(e),"session-shown":e=>Oa(e),"session-shown-snapshot":e=>ka(e),"session-coherence-hooks":e=>{Ga(e.id,e.coherenceHooks),BF()},"session-coherence":e=>{qa(e),BF()},"session-coherence-snapshot":e=>{Ja(e),BF()},"session-coherence-journal-response":e=>$a(e),"session-setup-response":e=>lM(e),notify:e=>{ES(e),zc(e.session)},"update-status":e=>{cI(e),oN(e)},"update-progress":e=>sN(e.journal),"post-turn-leftovers":e=>uI(e),error:e=>{let t=cN(e),n=Cx(e);qS(e);let r=pC(e);t||n||r||(e.id?jC(e.id,e.message):H({source:OF,message:e.message}))},"session-error":e=>{dy(e.id),!pC(e)&&jC(e.id,e.message)},"settings-updated":e=>{e.settings&&HI(e.settings),Zi()},"agent-logins":e=>Li(e.logins),"health-snapshot":e=>{e.stats&&b_(e.stats)},"radar-status":e=>nM(e),"radar-investigation-activity":e=>rM(e),"radar-investigation-finished":e=>iM(e),"team-review-status":e=>RO(e),"github-prs":e=>zt(e),"my-prs-status":hk,"benchmark-status":e=>oj(e),"benchmark-action-result":e=>sj(e),"my-pr-merge-result":e=>gk(e),"team-review-action-result":e=>zO(e),"open-team-review-session-result":e=>BO(e),"issues-status":e=>Lj(e),"issue-detail-result":e=>Rj(e),"open-issue-session-result":e=>zj(e),"usage-sessions":e=>{QF(e.sessions),RP(e)},"usage-report":e=>{BP(e),iN()},"plan-limits":e=>zP(e),"usage-budget-alert":e=>ES({session:`budget-${e.scope}-${e.periodKey}`,category:`threshold-${e.threshold}`,message:e.text,ignoreFocus:!0}),"visions-findings":e=>oD(e),"visions-comments":e=>sD(e),"visions-hand":e=>cD(e),"visions-intent":e=>lD(e),"visions-fix":e=>aD(e),"visions-snapshot":e=>fD(e),"ingest-activity":e=>uD(e),"ingest-snapshot":e=>dD(e),"client-trust":e=>rL(e.trust),"shutting-down":()=>SF(`Shutting down...`,`Shutting down sessions...`),restarting:()=>SF(`Restarting...`,`Restarting server...`)};function nI(e){let t=tI[e.type];t&&t(e)}Xe(e=>{nI(e),eI(e.type)});var rI,iI=null;function aI(e,t,n){e.onclick=()=>{let e=Ve(n);e?e.then(()=>{t.textContent=`Copied`}).catch(()=>{t.textContent=`Copy failed`}):t.textContent=`Copy failed`}}var oI=hN(T,le,`Update`).href;function sI(e){let{latestSha:t,latest:n}=e;return typeof n==`string`&&n?n:typeof t==`string`&&t?t:null}function cI(e){let t=k(document,`#update-banner`,`div`),{mode:n,tone:r,text:i}=ge(e),a=r===`security`;if(!e.updateAvailable&&!a){t.hidden=!0;return}let o=sI(e),s=o&&n===`restart`?`${o}:ready`:o;if(a&&i===iI||!a&&rI!==void 0&&s===rI||!a&&s&&ii()===s)return;t.classList.toggle(`update-banner-security`,a);let c=String(e.command??``);k(document,`#update-banner-text`,`span`).textContent=i,k(document,`#update-banner-cmd`,`code`).textContent=c;let l=k(document,`#update-banner-update`,`a`);l.href=oI,l.hidden=n!==`link`;let u=k(document,`#update-banner-restart`,`button`);u.hidden=n!==`restart`,u.onclick=nL;let d=k(document,`#update-banner-cmd`,`code`);d.hidden=n!==`command`;let f=k(document,`#update-banner-copy`,`button`);f.hidden=n!==`command`;let p=k(document,`#update-banner-copy-status`,`span`);p.hidden=n!==`command`,p.textContent=``;let m=k(document,`#update-banner-link`,`a`);m.hidden=!e.releaseUrl,m.href=typeof e.releaseUrl==`string`?e.releaseUrl:``,t.hidden=!1,aI(f,p,c),k(document,`#update-banner-dismiss`,`button`).onclick=()=>{t.hidden=!0,a?iI=i:(rI=s,ai(s))}}var lI=!1;function uI({repositories:e,command:t}){let n=k(document,`#post-turn-leftovers-banner`,`div`);if(e.length===0){n.hidden=!0;return}if(lI)return;let r=k(document,`#post-turn-leftovers-copy-status`,`span`);k(document,`#post-turn-leftovers-text`,`span`).textContent=qt(e.length),k(document,`#post-turn-leftovers-cmd`,`code`).textContent=t,r.textContent=``,n.hidden=!1,aI(k(document,`#post-turn-leftovers-copy`,`button`),r,t),k(document,`#post-turn-leftovers-dismiss`,`button`).onclick=()=>{lI=!0,n.hidden=!0}}var dI=k(document,`#telemetry-banner`,`div`);function fI(){si(!0),dI.hidden=!0}function pI(e){dI.hidden=!tP(e,oi())}var mI=k(document,`#telemetry-banner-settings`,`a`);mI.href=hN(`privacy`,`telemetry-enabled`,`What's collected`).href,mI.addEventListener(`click`,fI),k(document,`#telemetry-banner-dismiss`,`button`).addEventListener(`click`,fI),k(document,`#btn-add-session-header`,`button`).addEventListener(`click`,Hl);var hI=k(document,`#btn-mute`,`button`);KA(hI);var gI=k(document,`#btn-streamer`,`button`);Qp(gI),QN();var _I=k(document,`#power-menu`,`div`),vI=k(document,`#btn-power`,`button`),yI=k(document,`#power-menu-dropdown`,`div`);function bI(e){_I.classList.toggle(`open`,e),vI.setAttribute(`aria-expanded`,String(e))}vI.addEventListener(`click`,e=>{e.stopPropagation(),bI(!_I.classList.contains(`open`))}),Fs({trigger:vI,menu:yI,menuItems:()=>[...yI.querySelectorAll(`[role="menuitem"]`)].filter(e=>!e.hidden),isOpen:()=>_I.classList.contains(`open`),open:()=>bI(!0),close:()=>bI(!1)}),document.addEventListener(`click`,e=>{e.target instanceof Node&&(_I.contains(e.target)||bI(!1))}),Me(document.querySelector(`.header`));function xI(e){e&&XM(e),!YD(`settings`)&&$(`settings`,{section:e})}function SI(){fN(location.hash)&&history.replaceState(history.state,``,`${location.pathname}${location.search}`)}function CI(e){return fN(e)?(XM(null,null,e),YD(`settings`)||$(`settings`,{persist:!1}),!0):!1}var wI=`No plan is stored for this session yet. It appears here once the agent writes one.`,TI=`Plan`;function EI(e){let t=C_(e);return t?!$S(t)||(history.replaceState(history.state,``,`${location.pathname}${location.search}`),zD()?(qD(t)||H({source:TI,sessionId:t,message:wI}),!0):($(`focus`,{persist:!1}),DT(t)||H({source:TI,sessionId:t,message:wI}),!0)):!1}function DI(e){return EI(e)?!0:CI(e)}function OI(e){e.newURL===location.href&&DI(location.hash)}document.addEventListener(`click`,e=>{if(!zD()||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href^="#"]`):null;t instanceof HTMLAnchorElement&&DI(t.hash)&&e.preventDefault()}),QO(k(document,`#celebration-tray`,`div`),k(document,`#btn-celebrations`,`button`),k(document,`#celebration-tray-count`,`span`)),k(document,`#btn-help`,`button`).addEventListener(`click`,()=>{xI(`browser-shortcuts`)});var Q=cF({onRestart:nL,openTerminal:e=>{JD(e)||($(`focus`),ET(e))},openPlan:e=>{$(`focus`),DT(e)},openReviews:()=>MI(`prs`)?(YD(`prs`)||$(`prs`),!0):!1,setPhoneAttention:UD});function kI(){return Q.map(e=>e.view)}var AI=kI();JM(Q),oy({panel:document.getElementById(`review-sidebar`)}),aF(Q);function jI(e){return Q.find(t=>t.view===e)}function MI(e){return Q.some(t=>t.view===e&&!t.tab.hidden)}var NI=!0,PI=null;function FI(e){jI(e)?.attention?.acknowledge()}var II=null;function LI(e){II=N({type:`dashboard-telemetry`,event:`view_shown`,properties:{view:e}})?null:e}function RI(e){let t=jI(e);t&&(rF(t,e=>YP(t,e,`shown`)),LI(e))}function $(e,{section:t,setting:n,persist:r=!0}={}){let i=jI(e);if(!i||!MI(e))return;let a=Qt();R.dispatch(`setActiveView`,e),NI=r,r&&(PI=null),document.body.dataset.activeView=e,document.body.dataset.reviewSidebarHidden=String(i.hasReviewSidebar!==!0),r&&Gr(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&&iF(a)?.deactivate?.(),rF(i,r=>{Qt()===e&&(r.activate?.(),YP(i,r,`shown`),e===`settings`&&t&&XM(t,n??null))}),LI(e),a===`settings`&&e!==`settings`&&SI(),FI(e)}function zI(e,t){let{view:n}=e;e.tab.hidden=!t,HD(n,t),e.onAvailabilityChange?.(t),!zD()&&(!t&&Qt()===n&&$(`focus`),t&&PI===n&&$(n))}function BI(e){for(let{view:t,isAvailable:n}of GP(Q,e))zI(t,n)}function VI(e){let t=KP(AI,e);Q.every((e,n)=>e.view===t[n])||(Q.sort((e,n)=>t.indexOf(e.view)-t.indexOf(n.view)),k(document,`#header-tabs`,`div`).append(...Q.map(e=>e.tab)),VD(t))}function HI(e){kf(e.isExperimentalBuild===!0&&Ir()),tC(e),rN(e),rD(e),BI(e),pI(e),VI(e.viewTabOrder),Kp(e.streamerMode===!0),US(e.conversationView===!0)}for(let e of Q)e.gate&&(zI(e,!1),`subscribe`in e.gate&&e.gate.subscribe(t=>zI(e,t)));vx(()=>{MI(`trace`)&&(YD(`trace`)||$(`trace`))});function UI(){return Q.filter(e=>!e.tab.hidden)}function WI(e,t){let n=e[t];return $(n.view),n.tab}function GI(e,t){let n=UI();return WI(n,Ds(n.findIndex(t=>t.view===e),t,n.length))}function KI(e){Q.some(e=>e.tab===document.activeElement)&&e.focus()}var qI=null;function JI(e){let t=kI();VI(e),it(`update-settings`,{settings:{viewTabOrder:e}}).then(e=>{e.type===`settings-error`&&VI(t)}).catch(()=>VI(t))}function YI(e){let t=qI;if(qI=null,!t||t===e)return;let n=kI();JI(qP(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=>{qI=t,e.dataTransfer?.setData(`text/plain`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),n.addEventListener(`dragover`,e=>{qI&&qI!==t&&(e.preventDefault(),n.dataset.dropTarget=`true`)}),n.addEventListener(`dragleave`,()=>delete n.dataset.dropTarget),n.addEventListener(`drop`,e=>{e.preventDefault(),delete n.dataset.dropTarget,YI(t)}),n.addEventListener(`dragend`,()=>{qI=null}),n.addEventListener(`keydown`,e=>{if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;let t=UI(),n=t.findIndex(e=>e.view===Qt()),r=Os(e.key,n,t.length,`horizontal`);r!==null&&(e.preventDefault(),WI(t,r).focus())})}var XI=Wr(),ZI=fN(location.hash),QI=C_(location.hash);if(ZI&&(XM(null,null,location.hash),$(`settings`,{persist:!1})),QI&&$(`focus`,{persist:!1}),!ZI&&!QI){let e=MI(XI);e||(PI=XI),$(e?XI:`focus`,{persist:e})}ID({panels:ED(Q),onScreenShown:e=>{RI(e),e!==`settings`&&SI(),e===`settings`&&!fN(location.hash)&&XM(),FI(e)},canGoBack:e=>e===`settings`&&tN()||e===`prs`&&TA(),onBack:e=>{e===`settings`&&nN(),e===`prs`&&EA()},headerControls:[k(document,`.header-title`,`h1`),k(document,`#status-indicator`,`div`),k(document,`#celebration-tray`,`div`),k(document,`#btn-add-session-header`,`button`),k(document,`#btn-help`,`button`),hI,gI,_I]}),eN(GD),wA(GD);function $I(e){if(e===`phone`){let e=eT();for(let e of Q)iF(e.view)?.deactivate?.();let t=fN(location.hash);LD({sessionId:e??void 0,linkedScreenId:t?`settings`:void 0}).then(e=>{e&&t&&XM(null,null,location.hash),!e&&qu()&&!zD()&&eL()});return}let t=BD();RD(),eL(),t&&ET(t)}function eL(){let e=Qt();$(MI(e)?e:`focus`,{persist:NI})}qu()&&$I(`phone`),Ju($I),window.addEventListener(`hashchange`,OI);function tL({type:e,title:t,confirmLabel:n,danger:r,idleMessage:i,actionAfterKillingSessions:a}){bI(!1);let o=eC(),s=o>0?`Kill ${o} session${o>1?`s`:``} and ${a}?`:i;wt({title:t,message:s,confirmLabel:n,danger:r||o>0,onConfirm:()=>N({type:e})})}function nL(){tL({type:`restart-server`,title:`Restart Server`,confirmLabel:`Restart`,danger:!1,idleMessage:`Restart the server?`,actionAfterKillingSessions:`restart the server`})}k(document,`#btn-restart`,`button`).addEventListener(`click`,nL);function rL(e){let t=Ut(`shutdown`,e);k(document,`#btn-shutdown`,`button`).hidden=!t,k(document,`#menu-divider-shutdown`,`div`).hidden=!t}k(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 iL(){return(document.activeElement?.closest(`.session-card`))?.dataset.id??null}function aL(e){ET(e),Pl(e),requestAnimationFrame(()=>requestAnimationFrame(()=>F.get(e)?.term?.focus()))}function oL(){let e=iL()??W();e?Kl(e,aL):document.getElementById(`btn-add-session-header`)?.click()}function sL({action:e,step:t}){switch(e){case`merge`:return Sy(),!0;case`close-session`:{let e=W();return e?(Xl(e),!0):!1}case`resolve-or-resync`:return wy()||Dy(),!0;case`new-session`:return document.getElementById(`btn-add-session-header`)?.click(),!0;case`quick-session`:return oL(),!0;case`next-attention`:return qu()?!1:$w()?(_T(),!0):(Qt()===`prs`&&DA()||jT(()=>$(`focus`)),!0);case`rail-step`:return $w()?(kT(t),!0):!1;case`view-step`:return!qu()&&(KI(GI(Qt(),t)),!0);case`session-nth`:return $w()?(OT(t),!0):!1;case`streamer-mode`:return Zp(),!0}}document.addEventListener(`keydown`,e=>{if(e.repeat||je(e))return;let t=cr(e,Bd,{isTerminalFocused:document.activeElement?.classList.contains(`xterm-helper-textarea`)??!1},Ud());t&&(Tt()||sL(t)&&e.preventDefault())});var cL=Kt({mode:`trailing`,delayMs:150,run:()=>{N({type:`focus-change`,focused:document.hasFocus()})}});function lL(){cL.schedule()}function uL(){let e=BD();e&&I(e)?._isActiveViewer?.()===!0&&PC(e)}function dL(){lL(),Ag(I($t())),uL()}window.addEventListener(`focus`,dL),window.addEventListener(`blur`,dL),document.addEventListener(`visibilitychange`,dL),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&th()});var fL=Ge(N);window.addEventListener(`error`,e=>{fL(e.error),M(`uncaught`,ot(e.error??e.message))}),window.addEventListener(`unhandledrejection`,e=>{fL(e.reason),M(`unhandled-rejection`,ot(e.reason))}),sF(()=>window.sessionStorage),window.addEventListener(`pageshow`,e=>{e.persisted&&th()}),y_(k(document,`#health-footer-mount`,`div`)),zd(nC),LF(),wM(),Qe();var pL=vi();pL&&et().then(()=>lg(pL));export{vA as $,dn as $i,jf as $n,Oo as $r,KT as $t,BM as A,zr as Ai,px as An,nl as Ar,DO as At,Tj as B,hr as Bi,T_ as Bn,ss as Br,fO as Bt,$M as C,Oi as Ci,Fx as Cn,bl as Cr,Ak as Ct,nN as D,Si as Di,gx as Dn,tl as Dr,uk as Dt,qM as E,wi as Ei,Jx as En,hl as Er,dk as Et,Yj as F,Fr as Fi,ly as Fn,$s as Fr,CO as Ft,Dj as G,On as Gi,Mg as Gn,as as Gr,xD as Gt,kj as H,gr as Hi,R_ as Hn,ps as Hr,$D as Ht,Zj as I,jr as Ii,H_ as In,Oc as Ir,SO as It,ij as J,Fn as Ji,qp as Jn,ns as Jr,ZE as Jt,Ej as K,Mn as Ki,bm as Kn,Go as Kr,$E as Kt,Xj as L,Vr as Li,W_ as Ln,Tc as Lr,kO as Lt,zM as M,Lr as Mi,ux as Mn,Dc as Mr,EO as Mt,ZM as N,$r as Ni,dx as Nn,Sc as Nr,wO as Nt,QM as O,Di as Oi,mx as On,ll as Or,FO as Ot,Qj as P,Zr as Pi,Rb as Pn,wc as Pr,xO as Pt,pA as Q,wn as Qi,Ef as Qn,Lo as Qr,bE as Qt,Oj as R,ri as Ri,M_ as Rn,Os as Rr,pO as Rt,VM as S,Ur as Si,zx as Sn,Al as Sr,Jk as St,GM as T,Ci as Ti,Ox as Tn,gl as Tr,fk as Tt,Nj as U,Dn as Ui,j_ as Un,gs as Ur,bD as Ut,Mj as V,fr as Vi,A_ as Vn,ms as Vr,QD as Vt,jj as W,Tn as Wi,Sg as Wn,_s as Wr,CD as Wt,WA as X,Nn as Xi,kf as Xn,Ho as Xr,XT as Xt,tj as Y,Pn as Yi,Jp as Yn,Uo as Yr,dE as Yt,GA as Z,Sn as Zi,Of as Zn,zo as Zr,yE as Zt,hN as _,Ir as _i,Lx as _n,Il as _r,Rk as _t,NP as a,tn as aa,Li as ai,UC as an,Ud as ar,_A as at,pN as b,Or as bi,Ax as bn,Pl as br,qk as bt,FP as c,Vt as ca,Ai as ci,PC as cn,Dd as cr,SA as ct,DP as d,Xr as di,pS as dn,qu as dr,Fk as dt,fn as ea,Ca as ei,fw as en,Bd as er,DA as et,VP as f,Ar as fi,dS as fn,Ju as fr,Lk as ft,wN as g,Mr as gi,Rx as gn,Wl as gr,kk as gt,iP as h,Hr as hi,Hx as hn,Hl as hr,Gk as ht,UP as i,$t as ia,Ri as ii,HC as in,Gd as ir,xA as it,HM as j,Nr as ji,fx as jn,Vc as jr,bO as jt,YM as k,Ei as ki,hx as kn,rl as kr,IO as kt,kP as l,ki as li,cC as ln,xd as lr,vk as lt,aP as m,ni as mi,Ex as mn,Fl as mr,Mk as mt,KP as n,nn as na,ea as ni,Dw as nn,qd as nr,mA as nt,IP as o,R as oa,zi as oi,BC as on,Ed as or,CA as ot,sP as p,Br as pi,nS as pn,zl as pr,Uk as pt,nj as q,jn as qi,Gp as qn,Yo as qr,QE as qt,HP as r,en as ra,Xi as ri,ww as rn,Kd as rr,EA as rt,AP as s,Bt as sa,Ni as si,VC as sn,kd as sr,fA as st,qP as t,ln as ta,_a as ti,pw as tn,Wd as tr,yA as tt,OP as u,Rr as ui,gS as un,Sd as ur,Ik as ut,mN as v,Qr as vi,kx as vn,Nl as vr,Bk as vt,WM as w,Ti as wi,Mx as wn,xl as wr,zk as wt,rN as x,ji as xi,Px as xn,kl as xr,Wk as xt,dN as y,Pr as yi,jx as yn,Xl as yr,jk as yt,Aj as z,nr as zi,D_ as zn,U as zr,dO as zt};
|