expect-cli 0.0.4 → 0.0.5
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/browser-mcp.js +1 -1
- package/dist/browser-mcp.js.map +1 -1
- package/dist/index.js +42 -41
- package/dist/index.js.map +1 -1
- package/dist/{server-Smi2kpAY-CN-mxLk6.js → server-C9rjDe4G-tK1eEVqu.js} +6 -5
- package/dist/{server-Smi2kpAY-CN-mxLk6.js.map → server-C9rjDe4G-tK1eEVqu.js.map} +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -1,56 +1,57 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{n as e,r as t,t as n}from"./chunk-wdO_pP5q.js";import{$ as r,$i as i,$n as a,$r as o,$t as s,A as c,Aa as l,Ai as u,An as d,Ar as f,At as p,B as m,Ba as h,Bi as g,Bn as _,Br as v,Bt as y,C as b,Ca as x,Cn as ee,Cr as S,Ct as C,D as w,Da as te,Di as T,Dn as E,Dr as D,Dt as O,E as ne,Ea as k,Ei as A,En as re,Er as j,Et as M,F as ie,Fa as ae,Fi as oe,Fn as se,Fr as N,Ft as ce,G as le,Ga as ue,Gi as de,Gn as P,Gr as F,Gt as fe,H as pe,Ha as me,Hi as he,Hn as ge,Hr as _e,Ht as ve,I as ye,Ia as be,Ii as xe,In as Se,Ir as Ce,It as we,J as Te,Ji as Ee,Jn as De,Jr as Oe,Jt as I,K as ke,Ki as L,Kn as Ae,Kr as je,Kt as R,La as Me,Li as Ne,Ln as Pe,Lr as Fe,Lt as Ie,M as Le,Ma as Re,Mi as ze,Mn as Be,Mr as Ve,Mt as z,N as He,Na as Ue,Ni as We,Nn as Ge,Nr as B,Nt as Ke,O as qe,Oa as Je,Oi as Ye,On as Xe,Or as Ze,Ot as Qe,P as $e,Pa as et,Pi as tt,Pn as nt,Pr as rt,Pt as it,Q as at,Qi as ot,Qn as st,Qr as ct,Qt as lt,R as ut,Ra as dt,Ri as ft,Rn as pt,Rr as mt,Rt as ht,S as gt,Sa as _t,Si as vt,Sn as yt,Sr as bt,St as xt,T as St,Ta as Ct,Ti as wt,Tn as Tt,Tr as Et,Tt as Dt,U as Ot,Ua as kt,Ui as At,Un as jt,Ur as Mt,Ut as Nt,V as Pt,Va as Ft,Vi as It,Vn as Lt,Vr as Rt,Vt as zt,Wa as Bt,Wn as Vt,Wr as Ht,Wt as Ut,X as Wt,Xi as Gt,Xn as V,Xr as Kt,Xt as qt,Y as Jt,Yi as Yt,Yn as Xt,Yr as Zt,Yt as Qt,Z as $t,Zi as en,Zn as tn,Zr as nn,Zt as rn,_ as an,_a as on,_i as sn,_n as cn,_r as ln,_t as un,a as dn,aa as fn,ai as pn,an as mn,ar as hn,at as gn,b as _n,ba as vn,bi as yn,bn,br as xn,bt as Sn,c as Cn,ca as wn,ci as Tn,cn as En,cr as Dn,ct as On,d as kn,da as An,di as jn,dn as Mn,dr as Nn,dt as Pn,ea as Fn,ei as In,en as Ln,er as Rn,et as zn,f as Bn,fa as Vn,fi as Hn,fn as Un,fr as Wn,ft as Gn,g as Kn,ga as qn,gi as Jn,gn as Yn,gr as Xn,gt as Zn,h as Qn,ha as $n,hi as er,hn as tr,hr as nr,ht as rr,ia as ir,ii as ar,in as or,ir as sr,it as cr,j as lr,ja as ur,ji as dr,jn as fr,jr as pr,jt as mr,k as hr,ka as gr,ki as _r,kn as vr,kr as yr,kt as br,l as xr,la as Sr,li as Cr,ln as wr,lr as Tr,lt as Er,m as Dr,ma as Or,mi as kr,mn as Ar,mr as jr,mt as Mr,na as Nr,ni as Pr,nn as Fr,nr as H,nt as Ir,o as Lr,oa as Rr,oi as zr,on as Br,or as Vr,ot as Hr,p as Ur,pa as Wr,pi as Gr,pn as Kr,pt as qr,q as Jr,qi as Yr,qn as Xr,qr as Zr,qt as Qr,ra as $r,ri as ei,rn as ti,rr as ni,rt as ri,s as ii,sa as ai,si as oi,sn as si,sr as ci,st as li,t as ui,ta as di,ti as fi,tn as pi,tr as mi,tt as hi,u as gi,ua as _i,ui as vi,un as yi,ur as U,ut as bi,v as xi,va as Si,vi as Ci,vn as wi,vr as Ti,vt as Ei,w as Di,wa as Oi,wi as ki,wn as Ai,wr as ji,wt as Mi,x as Ni,xa as Pi,xi as Fi,xn as Ii,xr as Li,xt as Ri,y as zi,ya as Bi,yi as Vi,yn as Hi,yr as Ui,yt as Wi,z as Gi,za as Ki,zi as qi,zn as Ji,zr as Yi,zt as Xi}from"./server-Smi2kpAY-CN-mxLk6.js";import{createRequire as Zi}from"node:module";import{Command as Qi}from"commander";import{Box as W,Static as $i,Text as G,render as ea,useInput as ta,useStdout as na}from"ink";import{QueryClient as ra,QueryClientProvider as ia,useMutation as aa,useQuery as oa}from"@tanstack/react-query";import{c as sa}from"react/compiler-runtime";import{createContext as ca,useCallback as la,useContext as ua,useEffect as da,useMemo as fa,useRef as pa,useState as K}from"react";import{Fragment as ma,jsx as q,jsxs as J}from"react/jsx-runtime";import Y from"figures";import ha from"picocolors";import*as ga from"node:path";import _a,{join as va,normalize as ya}from"node:path";import*as ba from"node:url";import{fileURLToPath as xa}from"node:url";import{z as Sa}from"zod";import{z as X}from"zod/v4";import*as Ca from"node:child_process";import{exec as wa,execFile as Ta,execSync as Ea}from"node:child_process";import*as Da from"node:crypto";import{createHash as Oa}from"node:crypto";import*as ka from"node:fs";import{createReadStream as Aa}from"node:fs";import*as ja from"node:os";import{platform as Ma}from"node:os";import*as Na from"node:readline";import{createInterface as Pa}from"node:readline";import{NodeFileSystem as Fa,NodeServices as Ia}from"@effect/platform-node";import{Buffer as La}from"node:buffer";import{execSync as Ra,spawn as za}from"child_process";import{EventEmitter as Ba}from"node:events";import{request as Va}from"node:http";import*as Ha from"node:fs/promises";import Ua from"ink-spinner";import Wa from"cli-truncate";import Ga from"string-width";import{create as Ka}from"zustand";import{dirname as qa,posix as Ja,sep as Ya}from"path";import{AsyncLocalStorage as Xa}from"node:async_hooks";import{createJSONStorage as Za,persist as Qa}from"zustand/middleware";import{RegistryProvider as $a,useAtom as eo,useAtomSet as to,useAtomValue as no}from"@effect/atom-react";import ro from"pretty-ms";import{detectTerminal as io}from"detect-terminal";import ao from"supports-terminal-graphics";import oo from"ink-link";import{Hono as so}from"hono";import{proxy as co}from"hono/proxy";import{serve as lo}from"@hono/node-server";import"node-notifier";import uo from"prompts";import fo from"ora";const po=e=>()=>{let t=Ut(Dt(e));return rn((e,n)=>B(Xt(e,e=>t(e))))},mo=e=>()=>{let t=zt(Dt(e));return rn((e,n)=>B(Xt(e,e=>t(e))))},ho=Ft(2,(e,t)=>po(t.inputSchema)().pipe(pi(e),pi(mo(t.outputSchema)()))),go=`~effect/FiberMap`,_o=e=>Ue(e,go),vo={[go]:go,[Symbol.iterator](){return this.state._tag===`Closed`?An():this.state.backing[Symbol.iterator]()},...k,toJSON(){return{_id:`FiberMap`,state:this.state}}},yo=(e,t)=>{let n=Object.create(vo);return n.state={_tag:`Open`,backing:e},n.deferred=t,n},bo=()=>vr(N(()=>yo(Ii(),Fi())),e=>rt(()=>{let t=e.state;return t._tag===`Closed`?F:(e.state={_tag:`Closed`},wi(re(t.backing)).pipe(Ci(e.deferred)))})),xo=i(en(tt,ot(-1))),So=Ft(e=>_o(e[0]),(e,t,n,r)=>{if(e.state._tag===`Closed`){n.interruptUnsafe(-1);return}let i=yt(e.state.backing,t);if(i._tag===`Some`){if(r?.onlyIfMissing===!0){n.interruptUnsafe(-1);return}else if(i.value===n)return;i.value.interruptUnsafe(-1)}Tt(e.state.backing,t,n),n.addObserver(i=>{if(e.state._tag===`Closed`)return;let a=yt(e.state.backing,t);Pi(a)&&n===a.value&&Ai(e.state.backing,t),wt(i)&&(r?.propagateInterruption===!0?!xo(i.cause):!Ne(i.cause))&&sn(e.deferred,i)})}),Co=Ft(2,(e,t)=>e.state._tag===`Closed`?!1:ee(e.state.backing,t)),wo=function(){let e;return()=>(e===void 0&&(e=Li(sr)),e)}(),To=function(){let e=arguments[0];if(hn(arguments[2]))return Eo(e,arguments[1],arguments[2],arguments[3]);let t=arguments[1],n=arguments[2];return r=>Eo(e,t,r,n)},Eo=(e,t,n,r)=>Zr(i=>{if(e.state._tag===`Closed`)return sr;if(r?.onlyIfMissing===!0&&Co(e,t))return N(wo);let a=bt(i.services)(n);return So(e,t,a,r),B(a)});var Do=class extends L()(`effect/reactivity/Reactivity`){};const Oo=N(()=>{let e=new Map,t=t=>{Po(t,t=>{let n=e.get(t);n!==void 0&&n.forEach(e=>e())})},n=e=>Ve(n=>{let r=n.mapUnsafe.get(ko.key);return r?Po(e,e=>{r.add(e)}):t(e),F}),r=(e,t)=>Ce(t,n(e)),i=(t,n)=>{let r=[];return Po(t,t=>{r.push(t);let i=e.get(t);i===void 0&&(i=new Set,e.set(t,i)),i.add(n)}),()=>{for(let t=0;t<r.length;t++){let i=e.get(r[t]);i.delete(n),i.size===0&&e.delete(r[t])}}},a=(e,t)=>H(function*(){let n=yield*pr(),r=Yt(n,jn),a=yield*En(),o=me(bt(n),bn(r)),s=!1,c=!1,l=e=>{e._tag===`Failure`?si(a,e.cause):yi(a,e.value),c?(c=!1,o(t).addObserver(l)):s=!1};function u(){if(s){c=!0;return}s=!0,o(t).addObserver(l)}return yield*Hn(r,N(i(e,u))),u(),a});return Do.of({mutation:r,query:a,stream:(e,t)=>a(e,t).pipe(U(m),Hr),invalidateUnsafe:t,invalidate:n,registerUnsafe:i,withBatch:t=>rt(()=>{let n=new Set;return t.pipe(Ti(ko,n),jr(t=>N(()=>{n.forEach(t=>{let n=e.get(t);n!==void 0&&n.forEach(e=>e())})})))})})});var ko=class extends L()(`effect/reactivity/Reactivity/PendingInvalidation`){};const Ao=Ft(2,(e,t)=>Do.use(n=>n.mutation(t,e))),jo=e=>Do.use(t=>t.invalidate(e)),Mo=ei(Do)(Oo);function No(e){switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:return String(e);default:return l(e)}}const Po=(e,t)=>{if(Array.isArray(e)){for(let n=0;n<e.length;n++)t(No(e[n]));return}for(let n in e){t(n);let r=e[n];for(let e=0;e<r.length;e++)t(`${n}:${No(r[e])}`)}},Fo=`~effect/Stdio`,Io=L(Fo),Lo=e=>({[Fo]:Fo,...e}),Ro=e=>Ue(e,`~effect/SubscriptionRef`);({...k});const zo=e=>Gi(e.pubsub),Bo=e=>N(()=>e.value),Vo=(e,t)=>{e.value=t,Kr(e.pubsub,t)},Ho=Ft(2,(e,t)=>e.semaphore.withPermit(N(()=>Vo(e,t)))),Uo=`~effect/platform/Terminal`;xt(`QuitError`)({_tag:I(`QuitError`)});const Wo=L(`effect/platform/Terminal`),Go=e=>Wo.of({...e,[Uo]:Uo}),Ko=`0.0.4`,qo=`\x1B[?1049l`,Jo=process.env.SUPPORT_CLICK===`true`||process.env.SUPPORT_CLICK===`1`,Yo=[`lint`,`check`,`format`,`typecheck`,`type-check`],Xo={"pnpm-lock.yaml":`pnpm`,"pnpm-workspace.yaml":`pnpm`,"yarn.lock":`yarn`,"package-lock.json":`npm`,"npm-shrinkwrap.json":`npm`,"bun.lock":`bun`,"bun.lockb":`bun`,"deno.lock":`deno`},Zo=()=>{},Qo=ca({subscribeClick:()=>Zo}),$o=/\x1b\[<(\d+);(\d+);(\d+)([Mm])|\x1b\[[\d;?<>=]*[A-Za-z~]|\[<[\d;]+[Mm]|\[\d+;\d+R|\[\?[\d;]+[a-z]/g,es=({children:e})=>{if(!Jo)return q(ma,{children:e});let t=pa(new Set),n=pa(!1);if(!n.current){n.current=!0,process.stdout.write(`\x1B[?1003l\x1B[?1002l\x1B[?1000h\x1B[?1006h`);let e=process.stdin.emit.bind(process.stdin);process.stdin.emit=function(n,...r){if(n===`data`){let i=(typeof r[0]==`string`?r[0]:String(r[0])).replace($o,(e,n,r,i,a)=>{if(n===`0`)for(let e of t.current)e({x:Number(r),y:Number(i)},a===`M`?`press`:`release`);return``});return i.length===0?!0:e(n,i)}return e(n,...r)}}let r=la(e=>(t.current.add(e),()=>{t.current.delete(e)}),[]);return q(Qo.Provider,{value:{subscribeClick:r},children:e})},ts=()=>{let e=sa(1);if(e[0]!==`35703fbc37b9d963e330527161df9fe36b70875a77771f1d737994ab88cecbb3`){for(let t=0;t<1;t+=1)e[t]=Symbol.for(`react.memo_cache_sentinel`);e[0]=`35703fbc37b9d963e330527161df9fe36b70875a77771f1d737994ab88cecbb3`}return ua(Qo)},ns=/\x1b\[[\d;?<>=]*[A-Za-z~]|\[<[\d;]+[Mm]|\[\?[\d;]+[a-z]|\[\d+;\d+R/g,rs=e=>Jo?e.replace(ns,``):e,is=e=>e&&e>0?e:80,as=e=>e&&e>0?e:24,os=()=>{let{stdout:e}=na(),[t,n]=K([is(e.columns),as(e.rows)]),r=pa(!1);return r.current||(r.current=!0,e.on(`resize`,()=>n([is(e.columns),as(e.rows)]))),t},ss={primary:`whiteBright`,secondary:`gray`,accent:`white`,error:`red`,warning:`yellow`,success:`green`,info:`gray`,text:`white`,textMuted:`gray`,border:`gray`,borderActive:`white`,borderSubtle:`blackBright`,shimmerBase:`#555555`,shimmerHighlight:`#ffffff`,inputBg:`#1e1e1e`,bannerBg:`#332b00`},cs={TEXT:ss.text,DIM:ss.textMuted,GREEN:ss.success,PRIMARY:ss.primary,SELECTION:ss.accent,RED:ss.error,BORDER:ss.border,DIVIDER:ss.borderSubtle,YELLOW:ss.warning,PURPLE:ss.secondary,CYAN:ss.info,INPUT_BG:ss.inputBg,BANNER_BG:ss.bannerBg},ls=()=>cs,us=e=>{let t=sa(21);if(t[0]!==`c91257771a99332d5805ee6c49b36d74b00fa9357a1ef3353879ee4c78179ae7`){for(let e=0;e<21;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`c91257771a99332d5805ee6c49b36d74b00fa9357a1ef3353879ee4c78179ae7`}let{color:n,children:r,marginTop:i,marginBottom:a,paddingX:o,ref:s}=e,c=o===void 0?1:o,[l]=os(),u;t[1]===l?u=t[2]:(u=`─`.repeat(l),t[1]=l,t[2]=u);let d;t[3]!==n||t[4]!==u?(d=q(G,{color:n,wrap:`truncate`,children:u}),t[3]=n,t[4]=u,t[5]=d):d=t[5];let f;t[6]!==r||t[7]!==c?(f=q(W,{flexDirection:`column`,paddingX:c,children:r}),t[6]=r,t[7]=c,t[8]=f):f=t[8];let p;t[9]===l?p=t[10]:(p=`─`.repeat(l),t[9]=l,t[10]=p);let m;t[11]!==n||t[12]!==p?(m=q(G,{color:n,wrap:`truncate`,children:p}),t[11]=n,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==a||t[15]!==i||t[16]!==s||t[17]!==d||t[18]!==f||t[19]!==m?(h=J(W,{flexDirection:`column`,width:`100%`,marginTop:i,marginBottom:a,ref:s,children:[d,f,m]}),t[14]=a,t[15]=i,t[16]=s,t[17]=d,t[18]=f,t[19]=m,t[20]=h):h=t[20],h},ds=e=>{let t=e,n=1,r=1;for(;t;){if(!t.yogaNode)return{left:n,top:r};let e=t.yogaNode.getComputedLayout();n+=e.left,r+=e.top,t=t.parentNode}return{left:n,top:r}},fs=({onClick:e,children:t,fullWidth:n=!0})=>{let{subscribeClick:r}=ts(),i=pa(e);return i.current=e,q(W,{ref:la(e=>{if(e)return r((t,n)=>{if(n!==`press`||!e.yogaNode)return;let r=ds(e),a=e.yogaNode.getComputedLayout(),o=t.x<r.left||t.x>=r.left+a.width,s=t.y<r.top||t.y>=r.top+a.height;!o&&!s&&i.current?.()})},[r]),width:n?`100%`:void 0,children:t})},ps=e=>/\w/.test(e),ms=(e,t)=>{let n=t-1;for(;n>0&&!ps(e[n]);)n--;for(;n>0&&ps(e[n-1]);)n--;return n},hs=(e,t)=>{let n=t;for(;n<e.length&&ps(e[n]);)n++;for(;n<e.length&&!ps(e[n]);)n++;return n},gs=(e,t)=>{let n=e.split(`
|
|
3
|
-
`),r=0;for(let e=0;e<n.length;e++){let i=n[e].length;if(t<=r+i)return{lineIndex:e,column:t-r,lines:n};r+=i+1}let i=n.length-1;return{lineIndex:i,column:n[i].length,lines:n}},
|
|
4
|
-
`?v+=
|
|
5
|
-
`:v+=n?
|
|
6
|
-
`+e.slice(p),r++;else{c&&c(e);return}else n.leftArrow?a&&r--:n.rightArrow?a&&r++:n.backspace||n.delete?p>0&&(i=e.slice(0,p-1)+e.slice(p,e.length),r--):(i=e.slice(0,p)+t+e.slice(p,e.length),r+=t.length,t.length>1&&(d=t.length));r<0&&(r=0),r>i.length&&(r=i.length),f({cursorOffset:r,cursorWidth:d}),i!==e&&s(i)},{isActive:n}),q(G,{children:t?_.length>0?v:y:v})},ys=e=>{let t=sa(13);if(t[0]!==`ed5db14495474995e96712c30462d38da6b6aa36bffcbec475f62d8824e8125d`){for(let e=0;e<13;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`ed5db14495474995e96712c30462d38da6b6aa36bffcbec475f62d8824e8125d`}let{isSearching:n,query:r,onChange:i,onSubmit:a}=e,o=ls();if(n){let e;t[1]===o.DIM?e=t[2]:(e=q(G,{color:o.DIM,children:`/`}),t[1]=o.DIM,t[2]=e);let n;t[3]!==i||t[4]!==a||t[5]!==r?(n=q(vs,{focus:!0,value:r,onChange:i,onSubmit:a}),t[3]=i,t[4]=a,t[5]=r,t[6]=n):n=t[6];let s;return t[7]!==e||t[8]!==n?(s=J(W,{marginTop:1,children:[e,n]}),t[7]=e,t[8]=n,t[9]=s):s=t[9],s}if(r){let e;return t[10]!==o.DIM||t[11]!==r?(e=q(W,{marginTop:1,children:J(G,{color:o.DIM,children:[`/`,r]})}),t[10]=o.DIM,t[11]=r,t[12]=e):e=t[12],e}return null},bs=Mi([`pending`,`in_progress`,`completed`,`failed`]),xs=Mi([`read`,`edit`,`delete`,`move`,`search`,`execute`,`think`,`fetch`,`switch_mode`,`other`]);Mi([`end_turn`,`max_tokens`,`max_turn_requests`,`refusal`,`cancelled`]);const Ss=ht([Ke({type:C(`text`),text:z}),Ke({type:C(`image`),data:z,mimeType:z}),Ke({type:C(`resource_link`),uri:z}),Ke({type:C(`resource`),uri:z})]),Cs=ht([Ke({type:C(`content`),content:Ss}),Ke({type:C(`diff`),path:z,oldText:R(M(z)),newText:R(M(z))}),Ke({type:C(`terminal`),terminalId:z})]),ws=Ke({path:z,lineNumber:R(M(O))});var Ts=class extends Wi(`AcpAgentMessageChunk`)({sessionUpdate:C(`agent_message_chunk`),content:Ss,messageId:R(M(z))}){},Es=class extends Wi(`AcpAgentThoughtChunk`)({sessionUpdate:C(`agent_thought_chunk`),content:Ss,messageId:R(M(z))}){},Ds=class extends Wi(`AcpUserMessageChunk`)({sessionUpdate:C(`user_message_chunk`),content:Ss,messageId:R(M(z))}){},Os=class extends Wi(`AcpToolCall`)({sessionUpdate:C(`tool_call`),toolCallId:z,title:z,kind:R(xs),status:R(bs),content:R(Zn(Cs)),locations:R(Zn(ws)),rawInput:R(Xi),rawOutput:R(Xi)}){},ks=class extends Wi(`AcpToolCallUpdate`)({sessionUpdate:C(`tool_call_update`),toolCallId:z,title:R(M(z)),kind:R(M(xs)),status:R(M(bs)),content:R(M(Zn(Cs))),locations:R(M(Zn(ws))),rawInput:R(Xi),rawOutput:R(Xi)}){};const As=Mi([`pending`,`in_progress`,`completed`]),js=Mi([`high`,`medium`,`low`]),Ms=ht([Ts,Es,Ds,Os,ks,class extends Wi(`AcpPlanUpdate`)({sessionUpdate:C(`plan`),entries:Zn(Ke({content:z,priority:js,status:As}))}){},class extends Wi(`AcpAvailableCommandsUpdate`)({sessionUpdate:C(`available_commands_update`)}){},class extends Wi(`AcpCurrentModeUpdate`)({sessionUpdate:C(`current_mode_update`)}){},class extends Wi(`AcpConfigOptionUpdate`)({sessionUpdate:C(`config_option_update`)}){},class extends Wi(`AcpSessionInfoUpdate`)({sessionUpdate:C(`session_info_update`)}){},class extends Wi(`AcpUsageUpdate`)({sessionUpdate:C(`usage_update`)}){}]);Ke({inputTokens:O,outputTokens:O,cachedReadTokens:R(M(O)),cachedWriteTokens:R(M(O)),thoughtTokens:R(M(O))}),Mi([`claude`,`codex`,`cursor`]);var Ns=class extends Wi(`@ami/FileStat`)({relativePath:z,added:O,removed:O}){},Ps=class extends Wi(`@supervisor/GitState`)({isGitRepo:Ei,currentBranch:z,mainBranch:Ie(z),isOnMain:Ei,hasChangesFromMain:Ei,hasUnstagedChanges:Ei,hasBranchCommits:Ei,branchCommitCount:O,fileStats:Zn(Ns),workingTreeFileStats:Zn(Ns),fingerprint:Ie(z),savedFingerprint:Ie(z)}){get hasUntestedChanges(){return this.hasChangesFromMain||this.hasUnstagedChanges}get totalChangedLines(){return this.fileStats.reduce((e,t)=>e+t.added+t.removed,0)}get isCurrentStateTested(){return!this.fingerprint||!this.savedFingerprint?!1:this.fingerprint===this.savedFingerprint}};const Fs=z.pipe(y(`StepId`)),Is=z.pipe(y(`PlanId`)),Ls=ce({WorkingTree:{},Branch:{mainBranch:z},Changes:{mainBranch:z},Commit:{hash:z}}),Rs=e=>_n(e).pipe(zi({WorkingTree:()=>`working tree`,Branch:()=>`branch`,Changes:()=>`changes`,Commit:({hash:e})=>e.slice(0,7)})),zs=Ke({number:O,headRefName:z,author:Ke({login:z}),state:z,updatedAt:z}),Bs=[`recent`,`all`,`open`,`draft`,`merged`,`no-pr`];var Vs=class extends Wi(`@supervisor/RemoteBranch`)({name:z,author:z,prNumber:M(O),prStatus:M(Mi([`open`,`draft`,`merged`])),updatedAt:M(z)}){static filterBranches(e,t,n){let r=e.filter(e=>t===`recent`||t===`all`?!0:t===`no-pr`?e.prStatus===null:e.prStatus===t);if(n){let e=n.toLowerCase();r=r.filter(t=>t.name.toLowerCase().includes(e))}return t===`recent`&&(r=[...r].filter(e=>e.updatedAt!==null).sort((e,t)=>{let n=new Date(e.updatedAt??0).getTime();return new Date(t.updatedAt??0).getTime()-n})),r}};const Hs=Mi([`pending`,`active`,`passed`,`failed`]);var Us=class e extends Wi(`@supervisor/TestPlanStep`)({id:Fs,title:z,instruction:z,expectedOutcome:z,routeHint:br(z),status:Hs,summary:br(z),startedAt:br(Sn),endedAt:br(Sn)}){update(t){return new e({...this,...t})}};const Ws=z.pipe(y(`DraftId`));var Gs=class e extends Wi(`@supervisor/TestPlanDraft`)({id:Ws,changesFor:Ls,currentBranch:z,diffPreview:z,fileStats:Zn(Ns),instruction:z,baseUrl:Qe(z),isHeadless:Ei,requiresCookies:Ei}){update(t){return new e({...this,...t})}},Ks=class e extends Gs.extend(`@supervisor/TestPlan`)({id:Is,title:z,rationale:z,steps:Zn(Us)}){update(t){return new e({...this,...t})}updateStep(t,n){return new e({...this,steps:this.steps.map((e,r)=>r===t?n(e):e)})}get resetForRerun(){return new e({...this,steps:this.steps.map(e=>new Us({...e,status:`pending`,summary:Oi(),startedAt:Oi(),endedAt:Oi()}))})}},qs=class extends it()(`RunStarted`,{plan:Ks}){get id(){return`run-started-${this.plan.id}`}},Js=class extends it()(`StepStarted`,{stepId:Fs,title:z}){get id(){return`step-started-${this.stepId}`}},Ys=class extends it()(`StepCompleted`,{stepId:Fs,summary:z}){get id(){return`step-completed-${this.stepId}`}},Xs=class extends it()(`StepFailed`,{stepId:Fs,message:z}){get id(){return`step-failed-${this.stepId}`}},Zs=class extends it()(`ToolCall`,{toolName:z,input:Xi}){get id(){return`tool-call-${this.toolName}-${JSON.stringify(this.input)}`}get displayText(){return Me(this.input)&&`command`in this.input?String(this.input.command).slice(0,80):this.toolName}},Qs=class extends it()(`ToolProgress`,{toolName:z,outputSize:O}){get id(){return`tool-progress-${this.toolName}-${this.outputSize}`}},$s=class extends it()(`ToolResult`,{toolName:z,result:z,isError:Ei}){get id(){return`tool-result-${this.toolName}-${this.result}`}},ec=class extends it()(`AgentThinking`,{text:z}){get id(){return`agent-thinking-${this.text}`}},tc=class extends it()(`AgentText`,{text:z}){get id(){return`agent-text-${this.text}`}},nc=class extends it()(`RunFinished`,{status:Mi([`passed`,`failed`]),summary:z}){get id(){return`run-finished-${this.status}`}};const rc=e=>{if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`||e==null)return String(e);try{return JSON.stringify(e)}catch{return String(e)}},ic=e=>{let t=e.indexOf(`|`);if(t===-1)return;let n=e.slice(0,t),r=e.slice(t+1),i=r.indexOf(`|`),a=i===-1?r:r.slice(0,i),o=i===-1?``:r.slice(i+1);if(n===`STEP_START`)return new Js({stepId:Fs.makeUnsafe(a),title:o});if(n===`STEP_DONE`)return new Ys({stepId:Fs.makeUnsafe(a),summary:o});if(n===`ASSERTION_FAILED`)return new Xs({stepId:Fs.makeUnsafe(a),message:o});if(n===`RUN_COMPLETED`)return new nc({status:a===`failed`?`failed`:`passed`,summary:o})},ac=ht([qs,Js,Ys,Xs,Zs,Qs,$s,ec,tc,nc]),oc=ht([qs,Js,Ys,Xs,Zs,$s,ec,nc,class extends it()(`RunCompleted`,{report:Qr(()=>gc)}){}]);var sc=class extends Wi(`@supervisor/Update`)({content:oc,receivedAt:Sn}){},cc=class extends Wi(`@supervisor/PullRequest`)({number:O,url:z,title:z,headRefName:z}){};const lc=ce({WorkingTree:{},Branch:{branch:Vs},PullRequest:{branch:Vs},Commit:{hash:z,shortHash:z,subject:z}}),uc=e=>_n(e).pipe(zi({WorkingTree:()=>`working-tree`,Branch:({branch:e})=>`branch-${e.name}`,PullRequest:({branch:e})=>`pr-${e.prNumber}`,Commit:({hash:e})=>`commit-${e}`})),dc=e=>_n(e).pipe(zi({WorkingTree:()=>`local changes`,Branch:({branch:e})=>e.name,PullRequest:({branch:e})=>`#${e.prNumber} ${e.name} ${e.author}`,Commit:({shortHash:e,subject:t})=>`${e} ${t}`})),fc=e=>_n(e).pipe(zi({WorkingTree:()=>`Local changes`,Branch:({branch:e})=>e.name,PullRequest:({branch:e})=>e.name,Commit:({shortHash:e})=>e})),pc=e=>_n(e).pipe(zi({WorkingTree:()=>`working tree`,Branch:({branch:e})=>e.author?`by ${e.author}`:``,PullRequest:({branch:e})=>`#${e.prNumber} ${e.prStatus??``}`.trim(),Commit:({subject:e})=>e})),mc=e=>_n(e).pipe(zi({WorkingTree:()=>`Local changes`,Branch:({branch:e})=>e.name,PullRequest:({branch:e})=>`#${e.prNumber}`,Commit:({shortHash:e})=>e}));ce({Branch:{branchName:z}});var hc=class e extends Ks.extend(`@supervisor/ExecutedTestPlan`)({events:Zn(ac)}){addEvent(t){if(t.sessionUpdate===`agent_thought_chunk`){if(t.content.type!==`text`||t.content.text===void 0)return this;let n=this.finalizeTextBlock(),r=n.events.at(-1);return r?._tag===`AgentThinking`?new e({...n,events:[...n.events.slice(0,-1),new ec({text:r.text+t.content.text})]}):new e({...n,events:[...n.events,new ec({text:t.content.text})]})}if(t.sessionUpdate===`agent_message_chunk`){if(t.content.type!==`text`||t.content.text===void 0)return this;let n=this.events.at(-1);return n?._tag===`AgentText`?new e({...this,events:[...this.events.slice(0,-1),new tc({text:n.text+t.content.text})]}):new e({...this,events:[...this.events,new tc({text:t.content.text})]})}if(t.sessionUpdate===`tool_call`){let n=this.finalizeTextBlock();return new e({...n,events:[...n.events,new Zs({toolName:t.title,input:JSON.stringify(t.rawInput??{})})]})}if(t.sessionUpdate===`tool_call_update`){let n=this;if(t.rawInput!==void 0){let r=[...n.events];for(let e=r.length-1;e>=0;e--){let n=r[e];if(n._tag===`ToolCall`&&n.toolName===(t.title??``)){r[e]=new Zs({toolName:n.toolName,input:JSON.stringify(t.rawInput)});break}}n=new e({...n,events:r})}if(t.status===`completed`||t.status===`failed`)return new e({...n,events:[...n.events,new $s({toolName:t.title??``,result:rc(t.rawOutput),isError:t.status===`failed`})]});if(t.rawOutput!==void 0){let r=rc(t.rawOutput).length;return new e({...n,events:[...n.events.filter(e=>!(e._tag===`ToolProgress`&&e.toolName===(t.title??``))),new Qs({toolName:t.title??``,outputSize:r})]})}return n}return this}finalizeTextBlock(){let t=this.events.at(-1);if(t?._tag!==`AgentText`)return this;let n=t.text.split(`
|
|
7
|
-
`).map(
|
|
8
|
-
`)}};const _c={authenticate:`authenticate`,initialize:`initialize`,session_cancel:`session/cancel`,session_close:`session/close`,session_fork:`session/fork`,session_list:`session/list`,session_load:`session/load`,session_new:`session/new`,session_prompt:`session/prompt`,session_resume:`session/resume`,session_set_config_option:`session/set_config_option`,session_set_mode:`session/set_mode`,session_set_model:`session/set_model`},vc={fs_read_text_file:`fs/read_text_file`,fs_write_text_file:`fs/write_text_file`,session_request_permission:`session/request_permission`,session_update:`session/update`,terminal_create:`terminal/create`,terminal_kill:`terminal/kill`,terminal_output:`terminal/output`,terminal_release:`terminal/release`,terminal_wait_for_exit:`terminal/wait_for_exit`},yc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),terminal:X.boolean().optional().default(!1)}),bc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),label:X.string().nullish(),name:X.string(),optional:X.boolean().optional().default(!1),secret:X.boolean().optional().default(!0)}),xc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string().nullish(),id:X.string(),name:X.string()}),Sc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string().nullish(),id:X.string(),link:X.string().nullish(),name:X.string(),vars:X.array(bc)}),Cc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),args:X.array(X.string()).optional(),description:X.string().nullish(),env:X.record(X.string(),X.string()).optional(),id:X.string(),name:X.string()}),wc=X.union([Sc.and(X.object({type:X.literal(`env_var`)})),Cc.and(X.object({type:X.literal(`terminal`)})),xc]),Tc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),methodId:X.string()}),Ec=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),Dc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),blob:X.string(),mimeType:X.string().nullish(),uri:X.string()}),Oc=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),kc=X.object({amount:X.number(),currency:X.string()}),Ac=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),terminalId:X.string()}),jc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),newText:X.string(),oldText:X.string().nullish(),path:X.string()}),Mc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),name:X.string(),value:X.string()}),Nc=X.union([X.literal(-32700),X.literal(-32600),X.literal(-32601),X.literal(-32602),X.literal(-32603),X.literal(-32800),X.literal(-32e3),X.literal(-32002),X.number().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),Pc=X.object({code:Nc,data:X.unknown().optional(),message:X.string()}),Fc=X.unknown(),Ic=X.unknown(),Lc=X.unknown(),Rc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),readTextFile:X.boolean().optional().default(!1),writeTextFile:X.boolean().optional().default(!1)}),zc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),auth:yc.optional().default({terminal:!1}),fs:Rc.optional().default({readTextFile:!1,writeTextFile:!1}),terminal:X.boolean().optional().default(!1)}),Bc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),name:X.string(),value:X.string()}),Vc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),name:X.string(),title:X.string().nullish(),version:X.string()}),Hc=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),Uc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cursor:X.string().nullish(),cwd:X.string().nullish()}),Wc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),http:X.boolean().optional().default(!1),sse:X.boolean().optional().default(!1)}),Gc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),headers:X.array(Bc),name:X.string(),url:X.string()}),Kc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),headers:X.array(Bc),name:X.string(),url:X.string()}),qc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),args:X.array(X.string()),command:X.string(),env:X.array(Mc),name:X.string()}),Jc=X.union([Gc.and(X.object({type:X.literal(`http`)})),Kc.and(X.object({type:X.literal(`sse`)})),qc]),Yc=X.string(),Xc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string().nullish(),modelId:Yc,name:X.string()}),Zc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cwd:X.string(),mcpServers:X.array(Jc)}),Qc=X.string(),$c=X.union([X.literal(`allow_once`),X.literal(`allow_always`),X.literal(`reject_once`),X.literal(`reject_always`)]),el=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),kind:$c,name:X.string(),optionId:Qc}),tl=X.union([X.literal(`high`),X.literal(`medium`),X.literal(`low`)]),nl=X.union([X.literal(`pending`),X.literal(`in_progress`),X.literal(`completed`)]),rl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:X.string(),priority:tl,status:nl}),il=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),entries:X.array(rl)}),al=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),audio:X.boolean().optional().default(!1),embeddedContext:X.boolean().optional().default(!1),image:X.boolean().optional().default(!1)}),ol=X.number().int().gte(0).lte(65535),sl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),clientCapabilities:zc.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:Vc.nullish(),protocolVersion:ol}),cl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:X.string()}),ll=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),ul=X.union([X.number(),X.string()]).nullable();X.object({_meta:X.record(X.string(),X.unknown()).nullish(),requestId:ul});const dl=X.enum([`assistant`,`user`]),fl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),audience:X.array(dl).nullish(),lastModified:X.string().nullish(),priority:X.number().nullish()}),pl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),annotations:fl.nullish(),data:X.string(),mimeType:X.string()}),ml=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),annotations:fl.nullish(),data:X.string(),mimeType:X.string(),uri:X.string().nullish()}),hl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),annotations:fl.nullish(),description:X.string().nullish(),mimeType:X.string().nullish(),name:X.string(),size:X.number().nullish(),title:X.string().nullish(),uri:X.string()}),gl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),optionId:Qc}),_l=X.union([X.object({outcome:X.literal(`cancelled`)}),gl.and(X.object({outcome:X.literal(`selected`)}))]),vl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),outcome:_l}),yl=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),bl=X.object({currentValue:X.boolean()}),xl=X.string(),Sl=X.string(),Cl=X.union([X.literal(`mode`),X.literal(`model`),X.literal(`thought_level`),X.string()]),wl=X.string(),Tl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string().nullish(),name:X.string(),value:wl}),El=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),group:xl,name:X.string(),options:X.array(Tl)}),Dl=X.union([X.array(Tl),X.array(El)]),Ol=X.object({currentValue:wl,options:Dl}),kl=X.intersection(X.union([Ol.and(X.object({type:X.literal(`select`)})),bl.and(X.object({type:X.literal(`boolean`)}))]),X.object({_meta:X.record(X.string(),X.unknown()).nullish(),category:Cl.nullish(),description:X.string().nullish(),id:Sl,name:X.string()})),Al=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(kl)}),jl=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),Ml=X.string(),Nl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Ml});X.object({method:X.string(),params:X.union([Nl,Fc]).nullish()});const Pl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Ml}),Fl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),args:X.array(X.string()).optional(),command:X.string(),cwd:X.string().nullish(),env:X.array(Mc).optional(),outputByteLimit:X.number().nullish(),sessionId:Ml}),Il=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cwd:X.string(),mcpServers:X.array(Jc).optional(),sessionId:Ml}),Ll=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Ml,terminalId:X.string()}),Rl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cwd:X.string(),mcpServers:X.array(Jc),sessionId:Ml}),zl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),limit:X.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:X.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:X.string(),sessionId:Ml}),Bl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Ml,terminalId:X.string()}),Vl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cwd:X.string(),mcpServers:X.array(Jc).optional(),sessionId:Ml}),Hl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cwd:X.string(),sessionId:Ml,title:X.string().nullish(),updatedAt:X.string().nullish()}),Ul=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),nextCursor:X.string().nullish(),sessions:X.array(Hl)}),Wl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),title:X.string().nullish(),updatedAt:X.string().nullish()}),Gl=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),Kl=X.string(),ql=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),currentModeId:Kl}),Jl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string().nullish(),id:Kl,name:X.string()}),Yl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),availableModes:X.array(Jl),currentModeId:Kl}),Xl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),availableModels:X.array(Xc),currentModelId:Yc}),Zl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(kl).nullish(),models:Xl.nullish(),modes:Yl.nullish(),sessionId:Ml}),Ql=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(kl).nullish(),models:Xl.nullish(),modes:Yl.nullish()}),$l=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(kl).nullish(),models:Xl.nullish(),modes:Yl.nullish(),sessionId:Ml}),eu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(kl).nullish(),models:Xl.nullish(),modes:Yl.nullish()}),tu=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),nu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),close:yl.nullish(),fork:jl.nullish(),list:Gl.nullish(),resume:tu.nullish()}),ru=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),loadSession:X.boolean().optional().default(!1),mcpCapabilities:Wc.optional().default({http:!1,sse:!1}),promptCapabilities:al.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:nu.optional().default({})}),iu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),agentCapabilities:ru.optional().default({loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:Vc.nullish(),authMethods:X.array(wc).optional().default([]),protocolVersion:ol}),au=X.intersection(X.union([X.object({type:X.literal(`boolean`),value:X.boolean()}),X.object({value:wl})]),X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configId:Sl,sessionId:Ml})),ou=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(kl)}),su=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),modeId:Kl,sessionId:Ml}),cu=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),lu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),modelId:Yc,sessionId:Ml}),uu=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),du=X.union([X.literal(`end_turn`),X.literal(`max_tokens`),X.literal(`max_turn_requests`),X.literal(`refusal`),X.literal(`cancelled`)]),fu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),terminalId:X.string()}),pu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),exitCode:X.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:X.string().nullish()}),mu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Ml,terminalId:X.string()}),hu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),exitStatus:pu.nullish(),output:X.string(),truncated:X.boolean()}),gu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),annotations:fl.nullish(),text:X.string()}),_u=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),mimeType:X.string().nullish(),text:X.string(),uri:X.string()}),vu=X.union([_u,Dc]),yu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),annotations:fl.nullish(),resource:vu}),bu=X.union([gu.and(X.object({type:X.literal(`text`)})),ml.and(X.object({type:X.literal(`image`)})),pl.and(X.object({type:X.literal(`audio`)})),hl.and(X.object({type:X.literal(`resource_link`)})),yu.and(X.object({type:X.literal(`resource`)}))]),xu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:bu}),Su=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:bu,messageId:X.string().nullish()}),Cu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),messageId:X.string().nullish(),prompt:X.array(bu),sessionId:Ml});X.object({id:ul,method:X.string(),params:X.union([sl,Tc,Zc,Rl,Uc,Il,Vl,Pl,su,au,Cu,lu,Ic]).nullish()});const wu=X.union([xu.and(X.object({type:X.literal(`content`)})),jc.and(X.object({type:X.literal(`diff`)})),fu.and(X.object({type:X.literal(`terminal`)}))]),Tu=X.string(),Eu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),line:X.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:X.string()}),Du=X.union([X.literal(`pending`),X.literal(`in_progress`),X.literal(`completed`),X.literal(`failed`)]),Ou=X.union([X.literal(`read`),X.literal(`edit`),X.literal(`delete`),X.literal(`move`),X.literal(`search`),X.literal(`execute`),X.literal(`think`),X.literal(`fetch`),X.literal(`switch_mode`),X.literal(`other`)]),ku=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:X.array(wu).optional(),kind:Ou.optional(),locations:X.array(Eu).optional(),rawInput:X.unknown().optional(),rawOutput:X.unknown().optional(),status:Du.optional(),title:X.string(),toolCallId:Tu}),Au=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:X.array(wu).nullish(),kind:Ou.nullish(),locations:X.array(Eu).nullish(),rawInput:X.unknown().optional(),rawOutput:X.unknown().optional(),status:Du.nullish(),title:X.string().nullish(),toolCallId:Tu}),ju=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),options:X.array(el),sessionId:Ml,toolCall:Au}),Mu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),hint:X.string()}),Nu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string(),input:Mu.nullish(),name:X.string()}),Pu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),availableCommands:X.array(Nu)}),Fu=X.object({cachedReadTokens:X.number().nullish(),cachedWriteTokens:X.number().nullish(),inputTokens:X.number(),outputTokens:X.number(),thoughtTokens:X.number().nullish(),totalTokens:X.number()}),Iu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),stopReason:du,usage:Fu.nullish(),userMessageId:X.string().nullish()});X.union([X.object({id:ul,result:X.union([iu,Ec,$l,Ql,Ul,Zl,eu,Oc,cu,ou,Iu,uu,Lc])}),X.object({error:Pc,id:ul})]);const Lu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cost:kc.nullish(),size:X.number(),used:X.number()}),Ru=X.union([Su.and(X.object({sessionUpdate:X.literal(`user_message_chunk`)})),Su.and(X.object({sessionUpdate:X.literal(`agent_message_chunk`)})),Su.and(X.object({sessionUpdate:X.literal(`agent_thought_chunk`)})),ku.and(X.object({sessionUpdate:X.literal(`tool_call`)})),Au.and(X.object({sessionUpdate:X.literal(`tool_call_update`)})),il.and(X.object({sessionUpdate:X.literal(`plan`)})),Pu.and(X.object({sessionUpdate:X.literal(`available_commands_update`)})),ql.and(X.object({sessionUpdate:X.literal(`current_mode_update`)})),Al.and(X.object({sessionUpdate:X.literal(`config_option_update`)})),Wl.and(X.object({sessionUpdate:X.literal(`session_info_update`)})),Lu.and(X.object({sessionUpdate:X.literal(`usage_update`)}))]),zu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Ml,update:Ru});X.object({method:X.string(),params:X.union([zu,Fc]).nullish()});const Bu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Ml,terminalId:X.string()}),Vu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),exitCode:X.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:X.string().nullish()}),Hu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:X.string(),path:X.string(),sessionId:Ml});X.object({id:ul,method:X.string(),params:X.union([Hu,zl,ju,Fl,mu,Bl,Bu,Ll,Ic]).nullish()});const Uu=X.object({_meta:X.record(X.string(),X.unknown()).nullish()});X.union([X.object({id:ul,result:X.union([Uu,cl,vl,Ac,hu,ll,Vu,Hc,Lc])}),X.object({error:Pc,id:ul})]);function Wu(e,t){let n=new TextEncoder,r=new TextDecoder;return{readable:new ReadableStream({async start(e){let n=``,i=t.getReader();try{for(;;){let{value:t,done:a}=await i.read();if(a)break;if(!t)continue;n+=r.decode(t,{stream:!0});let o=n.split(`
|
|
2
|
+
import{n as e,r as t,t as n}from"./chunk-wdO_pP5q.js";import{$ as r,$i as i,$n as a,$r as o,$t as s,A as c,Aa as l,Ai as u,An as d,Ar as f,At as p,B as m,Ba as h,Bi as g,Bn as _,Br as v,Bt as y,C as b,Ca as x,Ci as ee,Cn as S,Cr as C,Ct as w,D as te,Da as T,Di as E,Dn as D,Dr as ne,Dt as O,E as k,Ea as A,Ei as re,En as j,Er as ie,Et as M,F as ae,Fa as N,Fi as oe,Fn as P,Fr as F,Ft as se,G as ce,Ga as le,Gn as I,Gr as L,Gt as ue,H as de,Ha as fe,Hi as pe,Hn as me,Hr as he,Ht as ge,I as _e,Ia as ve,Ii as ye,In as be,Ir as xe,It as Se,J as Ce,Ji as we,Jn as Te,Jr as Ee,Jt as De,K as Oe,Ka as ke,Ki as Ae,Kn as je,Kr as R,Kt as z,La as Me,Li as Ne,Ln as Pe,Lr as Fe,Lt as Ie,M as Le,Ma as Re,Mi as ze,Mn as Be,Mr as Ve,Mt as B,N as He,Na as Ue,Ni as We,Nn as Ge,Nr as V,Nt as Ke,O as qe,Oa as Je,Oi as Ye,On as Xe,Or as Ze,Ot as Qe,P as $e,Pa as et,Pi as tt,Pn as nt,Pr as rt,Pt as it,Q as at,Qi as ot,Qn as st,Qr as ct,Qt as lt,R as ut,Ra as dt,Ri as ft,Rn as pt,Rr as mt,Rt as ht,S as gt,Sa as _t,Si as vt,Sn as yt,Sr as bt,St as xt,T as St,Ta as Ct,Ti as wt,Tn as Tt,Tr as Et,Tt as Dt,U as Ot,Ua as kt,Ui as At,Un as jt,Ur as Mt,Ut as Nt,V as Pt,Va as Ft,Vi as It,Vn as Lt,Vr as Rt,Vt as zt,Wa as Bt,Wi as Vt,Wn as Ht,Wr as Ut,Wt,X as Gt,Xi as Kt,Xn as qt,Xr as Jt,Xt as Yt,Y as Xt,Yi as Zt,Yn as Qt,Yr as $t,Yt as en,Z as tn,Zi as nn,Zn as rn,Zr as an,Zt as on,_ as sn,_a as cn,_i as ln,_n as un,_r as dn,_t as fn,a as pn,aa as mn,ai as hn,an as gn,ar as _n,at as vn,b as yn,ba as bn,bi as xn,bn as Sn,br as Cn,bt as wn,c as Tn,ca as En,ci as Dn,cn as On,cr as kn,ct as An,d as jn,da as Mn,di as Nn,dn as Pn,dr as Fn,dt as In,ea as Ln,ei as Rn,en as zn,er as Bn,et as Vn,f as Hn,fa as Un,fi as Wn,fn as Gn,fr as Kn,ft as qn,g as Jn,ga as Yn,gi as Xn,gn as Zn,gr as Qn,gt as $n,h as er,ha as tr,hi as nr,hn as rr,hr as ir,ht as ar,ia as or,ii as sr,in as cr,ir as lr,it as ur,j as dr,ja as fr,ji as pr,jn as mr,jr as hr,jt as gr,k as _r,ka as vr,ki as yr,kn as br,kr as xr,kt as Sr,l as Cr,la as wr,li as Tr,ln as Er,lr as Dr,lt as Or,m as kr,ma as Ar,mi as jr,mn as Mr,mr as Nr,mt as Pr,na as Fr,ni as Ir,nn as Lr,nr as H,nt as Rr,o as zr,oa as Br,oi as Vr,on as Hr,or as Ur,ot as Wr,p as Gr,pa as Kr,pi as qr,pn as Jr,pt as Yr,q as Xr,qi as Zr,qn as Qr,qr as $r,qt as ei,ra as ti,ri as ni,rn as ri,rr as ii,rt as ai,s as oi,sa as si,si as ci,sn as li,sr as ui,st as di,t as fi,ta as pi,ti as mi,tn as hi,tr as gi,tt as _i,u as vi,ua as yi,ui as bi,un as xi,ur as U,ut as Si,v as Ci,va as wi,vi as Ti,vn as Ei,vr as Di,vt as Oi,w as ki,wa as Ai,wn as ji,wr as Mi,wt as Ni,x as Pi,xa as Fi,xi as Ii,xn as Li,xr as Ri,xt as zi,y as Bi,ya as Vi,yi as Hi,yn as Ui,yr as Wi,yt as Gi,z as Ki,za as qi,zi as Ji,zn as Yi,zr as Xi,zt as Zi}from"./server-C9rjDe4G-tK1eEVqu.js";import{createRequire as Qi}from"node:module";import{Command as $i}from"commander";import{Box as W,Static as ea,Text as G,render as ta,useInput as na,useStdout as ra}from"ink";import{QueryClient as ia,QueryClientProvider as aa,useMutation as oa,useQuery as sa}from"@tanstack/react-query";import{c as ca}from"react/compiler-runtime";import{createContext as la,useCallback as ua,useContext as da,useEffect as fa,useMemo as pa,useRef as ma,useState as K}from"react";import{Fragment as ha,jsx as q,jsxs as J}from"react/jsx-runtime";import Y from"figures";import ga from"picocolors";import*as _a from"node:path";import va,{join as ya,normalize as ba}from"node:path";import*as xa from"node:url";import{fileURLToPath as Sa,pathToFileURL as Ca}from"node:url";import{z as wa}from"zod";import{z as X}from"zod/v4";import*as Ta from"node:child_process";import{exec as Ea,execFile as Da,execSync as Oa}from"node:child_process";import*as ka from"node:crypto";import{createHash as Aa}from"node:crypto";import*as ja from"node:fs";import{createReadStream as Ma}from"node:fs";import*as Na from"node:os";import{platform as Pa}from"node:os";import*as Fa from"node:readline";import{createInterface as Ia}from"node:readline";import{NodeFileSystem as La,NodeServices as Ra}from"@effect/platform-node";import{Buffer as za}from"node:buffer";import{execSync as Ba,spawn as Va}from"child_process";import{EventEmitter as Ha}from"node:events";import{request as Ua}from"node:http";import*as Wa from"node:fs/promises";import Ga from"ink-spinner";import Ka from"cli-truncate";import qa from"string-width";import{create as Ja}from"zustand";import{dirname as Ya,posix as Xa,sep as Za}from"path";import{AsyncLocalStorage as Qa}from"node:async_hooks";import{createJSONStorage as $a,persist as eo}from"zustand/middleware";import{RegistryProvider as to,useAtom as no,useAtomSet as ro,useAtomValue as io}from"@effect/atom-react";import ao from"pretty-ms";import{detectTerminal as oo}from"detect-terminal";import so from"supports-terminal-graphics";import co from"ink-link";import{Hono as lo}from"hono";import{proxy as uo}from"hono/proxy";import{serve as fo}from"@hono/node-server";import"node-notifier";import po from"prompts";import mo from"ora";const ho=e=>()=>{let t=Wt(Dt(e));return on((e,n)=>V(Qt(e,e=>t(e))))},go=e=>()=>{let t=zt(Dt(e));return on((e,n)=>V(Qt(e,e=>t(e))))},_o=fe(2,(e,t)=>ho(t.inputSchema)().pipe(hi(e),hi(go(t.outputSchema)()))),vo=`~effect/FiberMap`,yo=e=>et(e,vo),bo={[vo]:vo,[Symbol.iterator](){return this.state._tag===`Closed`?Un():this.state.backing[Symbol.iterator]()},...T,toJSON(){return{_id:`FiberMap`,state:this.state}}},xo=(e,t)=>{let n=Object.create(bo);return n.state={_tag:`Open`,backing:e},n.deferred=t,n},So=()=>br(F(()=>xo(Li(),vt())),e=>rt(()=>{let t=e.state;return t._tag===`Closed`?R:(e.state={_tag:`Closed`},Ei(j(t.backing)).pipe(Hi(e.deferred)))})),Co=Ln(ot(oe,i(-1))),wo=fe(e=>yo(e[0]),(e,t,n,r)=>{if(e.state._tag===`Closed`){n.interruptUnsafe(-1);return}let i=yt(e.state.backing,t);if(i._tag===`Some`){if(r?.onlyIfMissing===!0){n.interruptUnsafe(-1);return}else if(i.value===n)return;i.value.interruptUnsafe(-1)}Tt(e.state.backing,t,n),n.addObserver(i=>{if(e.state._tag===`Closed`)return;let a=yt(e.state.backing,t);_t(a)&&n===a.value&&ji(e.state.backing,t),re(i)&&(r?.propagateInterruption===!0?!Co(i.cause):!ft(i.cause))&&Ti(e.deferred,i)})}),To=fe(2,(e,t)=>e.state._tag===`Closed`?!1:S(e.state.backing,t)),Eo=function(){let e;return()=>(e===void 0&&(e=Ri(lr)),e)}(),Do=function(){let e=arguments[0];if(_n(arguments[2]))return Oo(e,arguments[1],arguments[2],arguments[3]);let t=arguments[1],n=arguments[2];return r=>Oo(e,t,r,n)},Oo=(e,t,n,r)=>Ee(i=>{if(e.state._tag===`Closed`)return lr;if(r?.onlyIfMissing===!0&&To(e,t))return F(Eo);let a=bt(i.services)(n);return wo(e,t,a,r),V(a)});var ko=class extends Zr()(`effect/reactivity/Reactivity`){};const Ao=F(()=>{let e=new Map,t=t=>{Io(t,t=>{let n=e.get(t);n!==void 0&&n.forEach(e=>e())})},n=e=>Ve(n=>{let r=n.mapUnsafe.get(jo.key);return r?Io(e,e=>{r.add(e)}):t(e),R}),r=(e,t)=>xe(t,n(e)),i=(t,n)=>{let r=[];return Io(t,t=>{r.push(t);let i=e.get(t);i===void 0&&(i=new Set,e.set(t,i)),i.add(n)}),()=>{for(let t=0;t<r.length;t++){let i=e.get(r[t]);i.delete(n),i.size===0&&e.delete(r[t])}}},a=(e,t)=>H(function*(){let n=yield*hr(),r=Kt(n,Wn),a=yield*On(),o=kt(bt(n),Sn(r)),s=!1,c=!1,l=e=>{e._tag===`Failure`?li(a,e.cause):xi(a,e.value),c?(c=!1,o(t).addObserver(l)):s=!1};function u(){if(s){c=!0;return}s=!0,o(t).addObserver(l)}return yield*qr(r,F(i(e,u))),u(),a});return ko.of({mutation:r,query:a,stream:(e,t)=>a(e,t).pipe(U(m),Wr),invalidateUnsafe:t,invalidate:n,registerUnsafe:i,withBatch:t=>rt(()=>{let n=new Set;return t.pipe(Di(jo,n),Nr(t=>F(()=>{n.forEach(t=>{let n=e.get(t);n!==void 0&&n.forEach(e=>e())})})))})})});var jo=class extends Zr()(`effect/reactivity/Reactivity/PendingInvalidation`){};const Mo=fe(2,(e,t)=>ko.use(n=>n.mutation(t,e))),No=e=>ko.use(t=>t.invalidate(e)),Po=sr(ko)(Ao);function Fo(e){switch(typeof e){case`string`:case`number`:case`bigint`:case`boolean`:return String(e);default:return fr(e)}}const Io=(e,t)=>{if(Array.isArray(e)){for(let n=0;n<e.length;n++)t(Fo(e[n]));return}for(let n in e){t(n);let r=e[n];for(let e=0;e<r.length;e++)t(`${n}:${Fo(r[e])}`)}},Lo=`~effect/Stdio`,Ro=Zr(Lo),zo=e=>({[Lo]:Lo,...e}),Bo=e=>et(e,`~effect/SubscriptionRef`);({...T});const Vo=e=>Ki(e.pubsub),Ho=e=>F(()=>e.value),Uo=(e,t)=>{e.value=t,Jr(e.pubsub,t)},Wo=fe(2,(e,t)=>e.semaphore.withPermit(F(()=>Uo(e,t)))),Go=`~effect/platform/Terminal`;xt(`QuitError`)({_tag:De(`QuitError`)});const Ko=Zr(`effect/platform/Terminal`),qo=e=>Ko.of({...e,[Go]:Go}),Jo=`0.0.5`,Yo=`\x1B[?1049l`,Xo=process.env.SUPPORT_CLICK===`true`||process.env.SUPPORT_CLICK===`1`,Zo=[`lint`,`check`,`format`,`typecheck`,`type-check`],Qo={"pnpm-lock.yaml":`pnpm`,"pnpm-workspace.yaml":`pnpm`,"yarn.lock":`yarn`,"package-lock.json":`npm`,"npm-shrinkwrap.json":`npm`,"bun.lock":`bun`,"bun.lockb":`bun`,"deno.lock":`deno`},$o=()=>{},es=la({subscribeClick:()=>$o}),ts=/\x1b\[<(\d+);(\d+);(\d+)([Mm])|\x1b\[[\d;?<>=]*[A-Za-z~]|\[<[\d;]+[Mm]|\[\d+;\d+R|\[\?[\d;]+[a-z]/g,ns=({children:e})=>{if(!Xo)return q(ha,{children:e});let t=ma(new Set),n=ma(!1);if(!n.current){n.current=!0,process.stdout.write(`\x1B[?1003l\x1B[?1002l\x1B[?1000h\x1B[?1006h`);let e=process.stdin.emit.bind(process.stdin);process.stdin.emit=function(n,...r){if(n===`data`){let i=(typeof r[0]==`string`?r[0]:String(r[0])).replace(ts,(e,n,r,i,a)=>{if(n===`0`)for(let e of t.current)e({x:Number(r),y:Number(i)},a===`M`?`press`:`release`);return``});return i.length===0?!0:e(n,i)}return e(n,...r)}}let r=ua(e=>(t.current.add(e),()=>{t.current.delete(e)}),[]);return q(es.Provider,{value:{subscribeClick:r},children:e})},rs=()=>{let e=ca(1);if(e[0]!==`35703fbc37b9d963e330527161df9fe36b70875a77771f1d737994ab88cecbb3`){for(let t=0;t<1;t+=1)e[t]=Symbol.for(`react.memo_cache_sentinel`);e[0]=`35703fbc37b9d963e330527161df9fe36b70875a77771f1d737994ab88cecbb3`}return da(es)},is=/\x1b\[[\d;?<>=]*[A-Za-z~]|\[<[\d;]+[Mm]|\[\?[\d;]+[a-z]|\[\d+;\d+R/g,as=e=>Xo?e.replace(is,``):e,os=e=>e&&e>0?e:80,ss=e=>e&&e>0?e:24,cs=()=>{let{stdout:e}=ra(),[t,n]=K([os(e.columns),ss(e.rows)]),r=ma(!1);return r.current||(r.current=!0,e.on(`resize`,()=>n([os(e.columns),ss(e.rows)]))),t},ls={primary:`whiteBright`,secondary:`gray`,accent:`white`,error:`red`,warning:`yellow`,success:`green`,info:`gray`,text:`white`,textMuted:`gray`,border:`gray`,borderActive:`white`,borderSubtle:`blackBright`,shimmerBase:`#555555`,shimmerHighlight:`#ffffff`,inputBg:`#1e1e1e`,bannerBg:`#332b00`},us={TEXT:ls.text,DIM:ls.textMuted,GREEN:ls.success,PRIMARY:ls.primary,SELECTION:ls.accent,RED:ls.error,BORDER:ls.border,DIVIDER:ls.borderSubtle,YELLOW:ls.warning,PURPLE:ls.secondary,CYAN:ls.info,INPUT_BG:ls.inputBg,BANNER_BG:ls.bannerBg},ds=()=>us,fs=e=>{let t=ca(21);if(t[0]!==`c91257771a99332d5805ee6c49b36d74b00fa9357a1ef3353879ee4c78179ae7`){for(let e=0;e<21;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`c91257771a99332d5805ee6c49b36d74b00fa9357a1ef3353879ee4c78179ae7`}let{color:n,children:r,marginTop:i,marginBottom:a,paddingX:o,ref:s}=e,c=o===void 0?1:o,[l]=cs(),u;t[1]===l?u=t[2]:(u=`─`.repeat(l),t[1]=l,t[2]=u);let d;t[3]!==n||t[4]!==u?(d=q(G,{color:n,wrap:`truncate`,children:u}),t[3]=n,t[4]=u,t[5]=d):d=t[5];let f;t[6]!==r||t[7]!==c?(f=q(W,{flexDirection:`column`,paddingX:c,children:r}),t[6]=r,t[7]=c,t[8]=f):f=t[8];let p;t[9]===l?p=t[10]:(p=`─`.repeat(l),t[9]=l,t[10]=p);let m;t[11]!==n||t[12]!==p?(m=q(G,{color:n,wrap:`truncate`,children:p}),t[11]=n,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==a||t[15]!==i||t[16]!==s||t[17]!==d||t[18]!==f||t[19]!==m?(h=J(W,{flexDirection:`column`,width:`100%`,marginTop:i,marginBottom:a,ref:s,children:[d,f,m]}),t[14]=a,t[15]=i,t[16]=s,t[17]=d,t[18]=f,t[19]=m,t[20]=h):h=t[20],h},ps=e=>{let t=e,n=1,r=1;for(;t;){if(!t.yogaNode)return{left:n,top:r};let e=t.yogaNode.getComputedLayout();n+=e.left,r+=e.top,t=t.parentNode}return{left:n,top:r}},ms=({onClick:e,children:t,fullWidth:n=!0})=>{let{subscribeClick:r}=rs(),i=ma(e);return i.current=e,q(W,{ref:ua(e=>{if(e)return r((t,n)=>{if(n!==`press`||!e.yogaNode)return;let r=ps(e),a=e.yogaNode.getComputedLayout(),o=t.x<r.left||t.x>=r.left+a.width,s=t.y<r.top||t.y>=r.top+a.height;!o&&!s&&i.current?.()})},[r]),width:n?`100%`:void 0,children:t})},hs=e=>/\w/.test(e),gs=(e,t)=>{let n=t-1;for(;n>0&&!hs(e[n]);)n--;for(;n>0&&hs(e[n-1]);)n--;return n},_s=(e,t)=>{let n=t;for(;n<e.length&&hs(e[n]);)n++;for(;n<e.length&&!hs(e[n]);)n++;return n},vs=(e,t)=>{let n=e.split(`
|
|
3
|
+
`),r=0;for(let e=0;e<n.length;e++){let i=n[e].length;if(t<=r+i)return{lineIndex:e,column:t-r,lines:n};r+=i+1}let i=n.length-1;return{lineIndex:i,column:n[i].length,lines:n}},ys=(e,t,n)=>{let r=0;for(let n=0;n<t;n++)r+=e[n].length+1;return r+Math.min(n,e[t].length)},bs=({value:e,placeholder:t=``,focus:n=!0,mask:r,highlightPastedText:i=!1,showCursor:a=!0,multiline:o=!1,onChange:s,onSubmit:c,onUpArrowAtTop:l,onDownArrowAtBottom:u})=>{let[d,f]=K({cursorOffset:(e||``).length,cursorWidth:0}),{cursorOffset:p,cursorWidth:m}=d,h=ma({originalValue:e,focus:n,showCursor:a});(h.current.originalValue!==e||h.current.focus!==n||h.current.showCursor!==a)&&(h.current={originalValue:e,focus:n,showCursor:a},f(t=>{if(!n||!a)return t;let r=e||``;return t.cursorOffset>r.length-1?{cursorOffset:r.length,cursorWidth:0}:t}));let g=i?m:0,_=r?r.repeat(e.length):e,v=_,y=t?ga.gray(t):void 0;if(a&&n){y=t.length>0?ga.inverse(t[0])+ga.gray(t.slice(1)):ga.inverse(` `),v=_.length>0?``:ga.inverse(` `);let e=0;for(let t of _){let n=e>=p-g&&e<=p;n&&t===`
|
|
4
|
+
`?v+=ga.inverse(` `)+`
|
|
5
|
+
`:v+=n?ga.inverse(t):t,e++}_.length>0&&p===_.length&&(v+=ga.inverse(` `))}return na((t,n)=>{if(!o&&(n.upArrow||n.downArrow)||n.ctrl&&t===`c`||n.tab||n.shift&&n.tab)return;let r=p,i=e,d=0,m=!1;if(o&&n.upArrow&&a){let{lineIndex:t,column:n,lines:i}=vs(e,p);t>0?r=ys(i,t-1,n):l?.(),m=!0}else if(o&&n.downArrow&&a){let{lineIndex:t,column:n,lines:i}=vs(e,p);t<i.length-1?r=ys(i,t+1,n):u?.(),m=!0}else if(n.ctrl&&t===`a`&&a)r=0,m=!0;else if(n.ctrl&&t===`e`&&a)r=e.length,m=!0;else if(n.ctrl&&t===`f`&&a)r=p+1,m=!0;else if(n.ctrl&&t===`b`&&a)r=p-1,m=!0;else if(n.ctrl&&t===`k`)i=e.slice(0,p),m=!0;else if(n.ctrl&&t===`u`)p>0&&(i=e.slice(p),r=0),m=!0;else if(n.ctrl&&t===`w`){if(p>0){let t=gs(e,p);i=e.slice(0,t)+e.slice(p),r=t}m=!0}else if(n.ctrl&&t===`d`)p<e.length&&(i=e.slice(0,p)+e.slice(p+1)),m=!0;else if(n.ctrl&&t===`t`)p>0&&p<e.length&&(i=e.slice(0,p-1)+e[p]+e[p-1]+e.slice(p+1),r=p+1),m=!0;else if(n.meta&&t===`b`&&a)r=gs(e,p),m=!0;else if(n.meta&&t===`f`&&a)r=_s(e,p),m=!0;else if(n.meta&&(n.backspace||n.delete)){if(p>0){let t=gs(e,p);i=e.slice(0,t)+e.slice(p),r=t}m=!0}else if(n.meta)return;if(!m)if(n.return)if(o&&n.shift)i=e.slice(0,p)+`
|
|
6
|
+
`+e.slice(p),r++;else{c&&c(e);return}else n.leftArrow?a&&r--:n.rightArrow?a&&r++:n.backspace||n.delete?p>0&&(i=e.slice(0,p-1)+e.slice(p,e.length),r--):(i=e.slice(0,p)+t+e.slice(p,e.length),r+=t.length,t.length>1&&(d=t.length));r<0&&(r=0),r>i.length&&(r=i.length),f({cursorOffset:r,cursorWidth:d}),i!==e&&s(i)},{isActive:n}),q(G,{children:t?_.length>0?v:y:v})},xs=e=>{let t=ca(13);if(t[0]!==`ed5db14495474995e96712c30462d38da6b6aa36bffcbec475f62d8824e8125d`){for(let e=0;e<13;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`ed5db14495474995e96712c30462d38da6b6aa36bffcbec475f62d8824e8125d`}let{isSearching:n,query:r,onChange:i,onSubmit:a}=e,o=ds();if(n){let e;t[1]===o.DIM?e=t[2]:(e=q(G,{color:o.DIM,children:`/`}),t[1]=o.DIM,t[2]=e);let n;t[3]!==i||t[4]!==a||t[5]!==r?(n=q(bs,{focus:!0,value:r,onChange:i,onSubmit:a}),t[3]=i,t[4]=a,t[5]=r,t[6]=n):n=t[6];let s;return t[7]!==e||t[8]!==n?(s=J(W,{marginTop:1,children:[e,n]}),t[7]=e,t[8]=n,t[9]=s):s=t[9],s}if(r){let e;return t[10]!==o.DIM||t[11]!==r?(e=q(W,{marginTop:1,children:J(G,{color:o.DIM,children:[`/`,r]})}),t[10]=o.DIM,t[11]=r,t[12]=e):e=t[12],e}return null},Ss=Ni([`pending`,`in_progress`,`completed`,`failed`]),Cs=Ni([`read`,`edit`,`delete`,`move`,`search`,`execute`,`think`,`fetch`,`switch_mode`,`other`]);Ni([`end_turn`,`max_tokens`,`max_turn_requests`,`refusal`,`cancelled`]);const ws=ht([Ke({type:w(`text`),text:B}),Ke({type:w(`image`),data:B,mimeType:B}),Ke({type:w(`resource_link`),uri:B}),Ke({type:w(`resource`),uri:B})]),Ts=ht([Ke({type:w(`content`),content:ws}),Ke({type:w(`diff`),path:B,oldText:z(M(B)),newText:z(M(B))}),Ke({type:w(`terminal`),terminalId:B})]),Es=Ke({path:B,lineNumber:z(M(O))});var Ds=class extends Gi(`AcpAgentMessageChunk`)({sessionUpdate:w(`agent_message_chunk`),content:ws,messageId:z(M(B))}){},Os=class extends Gi(`AcpAgentThoughtChunk`)({sessionUpdate:w(`agent_thought_chunk`),content:ws,messageId:z(M(B))}){},ks=class extends Gi(`AcpUserMessageChunk`)({sessionUpdate:w(`user_message_chunk`),content:ws,messageId:z(M(B))}){},As=class extends Gi(`AcpToolCall`)({sessionUpdate:w(`tool_call`),toolCallId:B,title:B,kind:z(Cs),status:z(Ss),content:z($n(Ts)),locations:z($n(Es)),rawInput:z(Zi),rawOutput:z(Zi)}){},js=class extends Gi(`AcpToolCallUpdate`)({sessionUpdate:w(`tool_call_update`),toolCallId:B,title:z(M(B)),kind:z(M(Cs)),status:z(M(Ss)),content:z(M($n(Ts))),locations:z(M($n(Es))),rawInput:z(Zi),rawOutput:z(Zi)}){};const Ms=Ni([`pending`,`in_progress`,`completed`]),Ns=Ni([`high`,`medium`,`low`]),Ps=ht([Ds,Os,ks,As,js,class extends Gi(`AcpPlanUpdate`)({sessionUpdate:w(`plan`),entries:$n(Ke({content:B,priority:Ns,status:Ms}))}){},class extends Gi(`AcpAvailableCommandsUpdate`)({sessionUpdate:w(`available_commands_update`)}){},class extends Gi(`AcpCurrentModeUpdate`)({sessionUpdate:w(`current_mode_update`)}){},class extends Gi(`AcpConfigOptionUpdate`)({sessionUpdate:w(`config_option_update`)}){},class extends Gi(`AcpSessionInfoUpdate`)({sessionUpdate:w(`session_info_update`)}){},class extends Gi(`AcpUsageUpdate`)({sessionUpdate:w(`usage_update`)}){}]);Ke({inputTokens:O,outputTokens:O,cachedReadTokens:z(M(O)),cachedWriteTokens:z(M(O)),thoughtTokens:z(M(O))}),Ni([`claude`,`codex`,`cursor`]);var Fs=class extends Gi(`@ami/FileStat`)({relativePath:B,added:O,removed:O}){},Is=class extends Gi(`@supervisor/GitState`)({isGitRepo:Oi,currentBranch:B,mainBranch:Ie(B),isOnMain:Oi,hasChangesFromMain:Oi,hasUnstagedChanges:Oi,hasBranchCommits:Oi,branchCommitCount:O,fileStats:$n(Fs),workingTreeFileStats:$n(Fs),fingerprint:Ie(B),savedFingerprint:Ie(B)}){get hasUntestedChanges(){return this.hasChangesFromMain||this.hasUnstagedChanges}get totalChangedLines(){return this.fileStats.reduce((e,t)=>e+t.added+t.removed,0)}get isCurrentStateTested(){return!this.fingerprint||!this.savedFingerprint?!1:this.fingerprint===this.savedFingerprint}};const Ls=B.pipe(y(`StepId`)),Rs=B.pipe(y(`PlanId`)),zs=se({WorkingTree:{},Branch:{mainBranch:B},Changes:{mainBranch:B},Commit:{hash:B}}),Bs=e=>yn(e).pipe(Bi({WorkingTree:()=>`working tree`,Branch:()=>`branch`,Changes:()=>`changes`,Commit:({hash:e})=>e.slice(0,7)})),Vs=Ke({number:O,headRefName:B,author:Ke({login:B}),state:B,updatedAt:B}),Hs=[`recent`,`all`,`open`,`draft`,`merged`,`no-pr`];var Us=class extends Gi(`@supervisor/RemoteBranch`)({name:B,author:B,prNumber:M(O),prStatus:M(Ni([`open`,`draft`,`merged`])),updatedAt:M(B)}){static filterBranches(e,t,n){let r=e.filter(e=>t===`recent`||t===`all`?!0:t===`no-pr`?e.prStatus===null:e.prStatus===t);if(n){let e=n.toLowerCase();r=r.filter(t=>t.name.toLowerCase().includes(e))}return t===`recent`&&(r=[...r].filter(e=>e.updatedAt!==null).sort((e,t)=>{let n=new Date(e.updatedAt??0).getTime();return new Date(t.updatedAt??0).getTime()-n})),r}};const Ws=Ni([`pending`,`active`,`passed`,`failed`]);var Gs=class e extends Gi(`@supervisor/TestPlanStep`)({id:Ls,title:B,instruction:B,expectedOutcome:B,routeHint:Sr(B),status:Ws,summary:Sr(B),startedAt:Sr(wn),endedAt:Sr(wn)}){update(t){return new e({...this,...t})}};const Ks=B.pipe(y(`DraftId`));var qs=class e extends Gi(`@supervisor/TestPlanDraft`)({id:Ks,changesFor:zs,currentBranch:B,diffPreview:B,fileStats:$n(Fs),instruction:B,baseUrl:Qe(B),isHeadless:Oi,requiresCookies:Oi}){update(t){return new e({...this,...t})}},Js=class e extends qs.extend(`@supervisor/TestPlan`)({id:Rs,title:B,rationale:B,steps:$n(Gs)}){update(t){return new e({...this,...t})}updateStep(t,n){return new e({...this,steps:this.steps.map((e,r)=>r===t?n(e):e)})}get resetForRerun(){return new e({...this,steps:this.steps.map(e=>new Gs({...e,status:`pending`,summary:Ct(),startedAt:Ct(),endedAt:Ct()}))})}},Ys=class extends it()(`RunStarted`,{plan:Js}){get id(){return`run-started-${this.plan.id}`}},Xs=class extends it()(`StepStarted`,{stepId:Ls,title:B}){get id(){return`step-started-${this.stepId}`}},Zs=class extends it()(`StepCompleted`,{stepId:Ls,summary:B}){get id(){return`step-completed-${this.stepId}`}},Qs=class extends it()(`StepFailed`,{stepId:Ls,message:B}){get id(){return`step-failed-${this.stepId}`}},$s=class extends it()(`ToolCall`,{toolName:B,input:Zi}){get id(){return`tool-call-${this.toolName}-${JSON.stringify(this.input)}`}get displayText(){return dt(this.input)&&`command`in this.input?String(this.input.command).slice(0,80):this.toolName}},ec=class extends it()(`ToolProgress`,{toolName:B,outputSize:O}){get id(){return`tool-progress-${this.toolName}-${this.outputSize}`}},tc=class extends it()(`ToolResult`,{toolName:B,result:B,isError:Oi}){get id(){return`tool-result-${this.toolName}-${this.result}`}},nc=class extends it()(`AgentThinking`,{text:B}){get id(){return`agent-thinking-${this.text}`}},rc=class extends it()(`AgentText`,{text:B}){get id(){return`agent-text-${this.text}`}},ic=class extends it()(`RunFinished`,{status:Ni([`passed`,`failed`]),summary:B}){get id(){return`run-finished-${this.status}`}};const ac=e=>{if(typeof e==`string`||typeof e==`number`||typeof e==`boolean`||e==null)return String(e);try{return JSON.stringify(e)}catch{return String(e)}},oc=e=>{let t=e.indexOf(`|`);if(t===-1)return;let n=e.slice(0,t),r=e.slice(t+1),i=r.indexOf(`|`),a=i===-1?r:r.slice(0,i),o=i===-1?``:r.slice(i+1);if(n===`STEP_START`)return new Xs({stepId:Ls.makeUnsafe(a),title:o});if(n===`STEP_DONE`)return new Zs({stepId:Ls.makeUnsafe(a),summary:o});if(n===`ASSERTION_FAILED`)return new Qs({stepId:Ls.makeUnsafe(a),message:o});if(n===`RUN_COMPLETED`)return new ic({status:a===`failed`?`failed`:`passed`,summary:o})},sc=ht([Ys,Xs,Zs,Qs,$s,ec,tc,nc,rc,ic]),cc=ht([Ys,Xs,Zs,Qs,$s,tc,nc,ic,class extends it()(`RunCompleted`,{report:ei(()=>vc)}){}]);var lc=class extends Gi(`@supervisor/Update`)({content:cc,receivedAt:wn}){},uc=class extends Gi(`@supervisor/PullRequest`)({number:O,url:B,title:B,headRefName:B}){};const dc=se({WorkingTree:{},Branch:{branch:Us},PullRequest:{branch:Us},Commit:{hash:B,shortHash:B,subject:B}}),fc=e=>yn(e).pipe(Bi({WorkingTree:()=>`working-tree`,Branch:({branch:e})=>`branch-${e.name}`,PullRequest:({branch:e})=>`pr-${e.prNumber}`,Commit:({hash:e})=>`commit-${e}`})),pc=e=>yn(e).pipe(Bi({WorkingTree:()=>`local changes`,Branch:({branch:e})=>e.name,PullRequest:({branch:e})=>`#${e.prNumber} ${e.name} ${e.author}`,Commit:({shortHash:e,subject:t})=>`${e} ${t}`})),mc=e=>yn(e).pipe(Bi({WorkingTree:()=>`Local changes`,Branch:({branch:e})=>e.name,PullRequest:({branch:e})=>e.name,Commit:({shortHash:e})=>e})),hc=e=>yn(e).pipe(Bi({WorkingTree:()=>`working tree`,Branch:({branch:e})=>e.author?`by ${e.author}`:``,PullRequest:({branch:e})=>`#${e.prNumber} ${e.prStatus??``}`.trim(),Commit:({subject:e})=>e})),gc=e=>yn(e).pipe(Bi({WorkingTree:()=>`Local changes`,Branch:({branch:e})=>e.name,PullRequest:({branch:e})=>`#${e.prNumber}`,Commit:({shortHash:e})=>e}));se({Branch:{branchName:B}});var _c=class e extends Js.extend(`@supervisor/ExecutedTestPlan`)({events:$n(sc)}){addEvent(t){if(t.sessionUpdate===`agent_thought_chunk`){if(t.content.type!==`text`||t.content.text===void 0)return this;let n=this.finalizeTextBlock(),r=n.events.at(-1);return r?._tag===`AgentThinking`?new e({...n,events:[...n.events.slice(0,-1),new nc({text:r.text+t.content.text})]}):new e({...n,events:[...n.events,new nc({text:t.content.text})]})}if(t.sessionUpdate===`agent_message_chunk`){if(t.content.type!==`text`||t.content.text===void 0)return this;let n=this.events.at(-1);return n?._tag===`AgentText`?new e({...this,events:[...this.events.slice(0,-1),new rc({text:n.text+t.content.text})]}):new e({...this,events:[...this.events,new rc({text:t.content.text})]})}if(t.sessionUpdate===`tool_call`){let n=this.finalizeTextBlock();return new e({...n,events:[...n.events,new $s({toolName:t.title,input:JSON.stringify(t.rawInput??{})})]})}if(t.sessionUpdate===`tool_call_update`){let n=this;if(t.rawInput!==void 0){let r=[...n.events];for(let e=r.length-1;e>=0;e--){let n=r[e];if(n._tag===`ToolCall`&&n.toolName===(t.title??``)){r[e]=new $s({toolName:n.toolName,input:JSON.stringify(t.rawInput)});break}}n=new e({...n,events:r})}if(t.status===`completed`||t.status===`failed`)return new e({...n,events:[...n.events,new tc({toolName:t.title??``,result:ac(t.rawOutput),isError:t.status===`failed`})]});if(t.rawOutput!==void 0){let r=ac(t.rawOutput).length;return new e({...n,events:[...n.events.filter(e=>!(e._tag===`ToolProgress`&&e.toolName===(t.title??``))),new ec({toolName:t.title??``,outputSize:r})]})}return n}return this}finalizeTextBlock(){let t=this.events.at(-1);if(t?._tag!==`AgentText`)return this;let n=t.text.split(`
|
|
7
|
+
`).map(oc).filter(ve);if(n.length===0)return this;let r=new e({...this,events:[...this.events,...n]});for(let e of n)r=r.applyMarker(e);return r}applyMarker(t){return t._tag===`StepStarted`?this.steps.some(e=>e.id===t.stepId)?new e({...this,steps:this.steps.map(e=>e.id===t.stepId?e.update({status:`active`,title:t.title,startedAt:A(D())}):e)}):new e({...this,steps:[...this.steps,new Gs({id:t.stepId,title:t.title,instruction:t.title,expectedOutcome:``,routeHint:Ct(),status:`active`,summary:Ct(),startedAt:A(D()),endedAt:Ct()})]}):t._tag===`StepCompleted`?new e({...this,steps:this.steps.map(e=>e.id===t.stepId?e.update({status:`passed`,summary:A(t.summary),expectedOutcome:t.summary,endedAt:A(D())}):e)}):t._tag===`StepFailed`?new e({...this,steps:this.steps.map(e=>e.id===t.stepId?e.update({status:`failed`,summary:A(t.message),expectedOutcome:t.message,endedAt:A(D())}):e)}):this}get activeStep(){return this.steps.find(e=>e.status===`active`)}get completedStepCount(){return this.steps.filter(e=>e.status===`passed`||e.status===`failed`).length}get lastToolCallDisplayText(){let e=this.events.findLast(e=>e._tag===`ToolCall`);if(!(!e||e._tag!==`ToolCall`))return e.displayText}},vc=class extends _c.extend(`@supervisor/TestReport`)({summary:B,screenshotPaths:$n(B),pullRequest:Qe(ei(()=>uc))}){get stepStatuses(){let e=new Map(this.steps.map(e=>[e.id,{status:`not-run`,summary:``}]));for(let t of this.events)t._tag===`StepCompleted`?e.set(t.stepId,{status:`passed`,summary:t.summary}):t._tag===`StepFailed`&&e.set(t.stepId,{status:`failed`,summary:t.message});return e}get status(){let e=this.stepStatuses;for(let{status:t}of e.values())if(t===`failed`)return`failed`;return`passed`}get toPlainText(){let e=this.stepStatuses,t=this.steps.filter(t=>e.get(t.id)?.status===`passed`).length,n=this.steps.filter(t=>e.get(t.id)?.status===`failed`).length,r=[`${this.status===`passed`?`✅`:`❌`} ${this.title} \u2014 ${this.status.toUpperCase()}`,``,this.summary,``,`${t} passed, ${n} failed out of ${this.steps.length} steps`,``];for(let t of this.steps){let n=e.get(t.id),i=n?.status??`not-run`,a=i===`passed`?`✓`:i===`failed`?`✗`:`–`;r.push(` ${a} ${t.title}`),n?.summary&&r.push(` ${n.summary}`)}return r.join(`
|
|
8
|
+
`)}};const yc={authenticate:`authenticate`,initialize:`initialize`,session_cancel:`session/cancel`,session_close:`session/close`,session_fork:`session/fork`,session_list:`session/list`,session_load:`session/load`,session_new:`session/new`,session_prompt:`session/prompt`,session_resume:`session/resume`,session_set_config_option:`session/set_config_option`,session_set_mode:`session/set_mode`,session_set_model:`session/set_model`},bc={fs_read_text_file:`fs/read_text_file`,fs_write_text_file:`fs/write_text_file`,session_request_permission:`session/request_permission`,session_update:`session/update`,terminal_create:`terminal/create`,terminal_kill:`terminal/kill`,terminal_output:`terminal/output`,terminal_release:`terminal/release`,terminal_wait_for_exit:`terminal/wait_for_exit`},xc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),terminal:X.boolean().optional().default(!1)}),Sc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),label:X.string().nullish(),name:X.string(),optional:X.boolean().optional().default(!1),secret:X.boolean().optional().default(!0)}),Cc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string().nullish(),id:X.string(),name:X.string()}),wc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string().nullish(),id:X.string(),link:X.string().nullish(),name:X.string(),vars:X.array(Sc)}),Tc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),args:X.array(X.string()).optional(),description:X.string().nullish(),env:X.record(X.string(),X.string()).optional(),id:X.string(),name:X.string()}),Ec=X.union([wc.and(X.object({type:X.literal(`env_var`)})),Tc.and(X.object({type:X.literal(`terminal`)})),Cc]),Dc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),methodId:X.string()}),Oc=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),kc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),blob:X.string(),mimeType:X.string().nullish(),uri:X.string()}),Ac=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),jc=X.object({amount:X.number(),currency:X.string()}),Mc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),terminalId:X.string()}),Nc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),newText:X.string(),oldText:X.string().nullish(),path:X.string()}),Pc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),name:X.string(),value:X.string()}),Fc=X.union([X.literal(-32700),X.literal(-32600),X.literal(-32601),X.literal(-32602),X.literal(-32603),X.literal(-32800),X.literal(-32e3),X.literal(-32002),X.number().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),Ic=X.object({code:Fc,data:X.unknown().optional(),message:X.string()}),Lc=X.unknown(),Rc=X.unknown(),zc=X.unknown(),Bc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),readTextFile:X.boolean().optional().default(!1),writeTextFile:X.boolean().optional().default(!1)}),Vc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),auth:xc.optional().default({terminal:!1}),fs:Bc.optional().default({readTextFile:!1,writeTextFile:!1}),terminal:X.boolean().optional().default(!1)}),Hc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),name:X.string(),value:X.string()}),Uc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),name:X.string(),title:X.string().nullish(),version:X.string()}),Wc=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),Gc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cursor:X.string().nullish(),cwd:X.string().nullish()}),Kc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),http:X.boolean().optional().default(!1),sse:X.boolean().optional().default(!1)}),qc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),headers:X.array(Hc),name:X.string(),url:X.string()}),Jc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),headers:X.array(Hc),name:X.string(),url:X.string()}),Yc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),args:X.array(X.string()),command:X.string(),env:X.array(Pc),name:X.string()}),Xc=X.union([qc.and(X.object({type:X.literal(`http`)})),Jc.and(X.object({type:X.literal(`sse`)})),Yc]),Zc=X.string(),Qc=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string().nullish(),modelId:Zc,name:X.string()}),$c=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cwd:X.string(),mcpServers:X.array(Xc)}),el=X.string(),tl=X.union([X.literal(`allow_once`),X.literal(`allow_always`),X.literal(`reject_once`),X.literal(`reject_always`)]),nl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),kind:tl,name:X.string(),optionId:el}),rl=X.union([X.literal(`high`),X.literal(`medium`),X.literal(`low`)]),il=X.union([X.literal(`pending`),X.literal(`in_progress`),X.literal(`completed`)]),al=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:X.string(),priority:rl,status:il}),ol=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),entries:X.array(al)}),sl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),audio:X.boolean().optional().default(!1),embeddedContext:X.boolean().optional().default(!1),image:X.boolean().optional().default(!1)}),cl=X.number().int().gte(0).lte(65535),ll=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),clientCapabilities:Vc.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:Uc.nullish(),protocolVersion:cl}),ul=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:X.string()}),dl=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),fl=X.union([X.number(),X.string()]).nullable();X.object({_meta:X.record(X.string(),X.unknown()).nullish(),requestId:fl});const pl=X.enum([`assistant`,`user`]),ml=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),audience:X.array(pl).nullish(),lastModified:X.string().nullish(),priority:X.number().nullish()}),hl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),annotations:ml.nullish(),data:X.string(),mimeType:X.string()}),gl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),annotations:ml.nullish(),data:X.string(),mimeType:X.string(),uri:X.string().nullish()}),_l=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),annotations:ml.nullish(),description:X.string().nullish(),mimeType:X.string().nullish(),name:X.string(),size:X.number().nullish(),title:X.string().nullish(),uri:X.string()}),vl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),optionId:el}),yl=X.union([X.object({outcome:X.literal(`cancelled`)}),vl.and(X.object({outcome:X.literal(`selected`)}))]),bl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),outcome:yl}),xl=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),Sl=X.object({currentValue:X.boolean()}),Cl=X.string(),wl=X.string(),Tl=X.union([X.literal(`mode`),X.literal(`model`),X.literal(`thought_level`),X.string()]),El=X.string(),Dl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string().nullish(),name:X.string(),value:El}),Ol=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),group:Cl,name:X.string(),options:X.array(Dl)}),kl=X.union([X.array(Dl),X.array(Ol)]),Al=X.object({currentValue:El,options:kl}),jl=X.intersection(X.union([Al.and(X.object({type:X.literal(`select`)})),Sl.and(X.object({type:X.literal(`boolean`)}))]),X.object({_meta:X.record(X.string(),X.unknown()).nullish(),category:Tl.nullish(),description:X.string().nullish(),id:wl,name:X.string()})),Ml=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(jl)}),Nl=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),Pl=X.string(),Fl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Pl});X.object({method:X.string(),params:X.union([Fl,Lc]).nullish()});const Il=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Pl}),Ll=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),args:X.array(X.string()).optional(),command:X.string(),cwd:X.string().nullish(),env:X.array(Pc).optional(),outputByteLimit:X.number().nullish(),sessionId:Pl}),Rl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cwd:X.string(),mcpServers:X.array(Xc).optional(),sessionId:Pl}),zl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Pl,terminalId:X.string()}),Bl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cwd:X.string(),mcpServers:X.array(Xc),sessionId:Pl}),Vl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),limit:X.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:X.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:X.string(),sessionId:Pl}),Hl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Pl,terminalId:X.string()}),Ul=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cwd:X.string(),mcpServers:X.array(Xc).optional(),sessionId:Pl}),Wl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cwd:X.string(),sessionId:Pl,title:X.string().nullish(),updatedAt:X.string().nullish()}),Gl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),nextCursor:X.string().nullish(),sessions:X.array(Wl)}),Kl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),title:X.string().nullish(),updatedAt:X.string().nullish()}),ql=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),Jl=X.string(),Yl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),currentModeId:Jl}),Xl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string().nullish(),id:Jl,name:X.string()}),Zl=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),availableModes:X.array(Xl),currentModeId:Jl}),Ql=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),availableModels:X.array(Qc),currentModelId:Zc}),$l=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(jl).nullish(),models:Ql.nullish(),modes:Zl.nullish(),sessionId:Pl}),eu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(jl).nullish(),models:Ql.nullish(),modes:Zl.nullish()}),tu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(jl).nullish(),models:Ql.nullish(),modes:Zl.nullish(),sessionId:Pl}),nu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(jl).nullish(),models:Ql.nullish(),modes:Zl.nullish()}),ru=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),iu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),close:xl.nullish(),fork:Nl.nullish(),list:ql.nullish(),resume:ru.nullish()}),au=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),loadSession:X.boolean().optional().default(!1),mcpCapabilities:Kc.optional().default({http:!1,sse:!1}),promptCapabilities:sl.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:iu.optional().default({})}),ou=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),agentCapabilities:au.optional().default({loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:Uc.nullish(),authMethods:X.array(Ec).optional().default([]),protocolVersion:cl}),su=X.intersection(X.union([X.object({type:X.literal(`boolean`),value:X.boolean()}),X.object({value:El})]),X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configId:wl,sessionId:Pl})),cu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),configOptions:X.array(jl)}),lu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),modeId:Jl,sessionId:Pl}),uu=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),du=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),modelId:Zc,sessionId:Pl}),fu=X.object({_meta:X.record(X.string(),X.unknown()).nullish()}),pu=X.union([X.literal(`end_turn`),X.literal(`max_tokens`),X.literal(`max_turn_requests`),X.literal(`refusal`),X.literal(`cancelled`)]),mu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),terminalId:X.string()}),hu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),exitCode:X.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:X.string().nullish()}),gu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Pl,terminalId:X.string()}),_u=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),exitStatus:hu.nullish(),output:X.string(),truncated:X.boolean()}),vu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),annotations:ml.nullish(),text:X.string()}),yu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),mimeType:X.string().nullish(),text:X.string(),uri:X.string()}),bu=X.union([yu,kc]),xu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),annotations:ml.nullish(),resource:bu}),Su=X.union([vu.and(X.object({type:X.literal(`text`)})),gl.and(X.object({type:X.literal(`image`)})),hl.and(X.object({type:X.literal(`audio`)})),_l.and(X.object({type:X.literal(`resource_link`)})),xu.and(X.object({type:X.literal(`resource`)}))]),Cu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:Su}),wu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:Su,messageId:X.string().nullish()}),Tu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),messageId:X.string().nullish(),prompt:X.array(Su),sessionId:Pl});X.object({id:fl,method:X.string(),params:X.union([ll,Dc,$c,Bl,Gc,Rl,Ul,Il,lu,su,Tu,du,Rc]).nullish()});const Eu=X.union([Cu.and(X.object({type:X.literal(`content`)})),Nc.and(X.object({type:X.literal(`diff`)})),mu.and(X.object({type:X.literal(`terminal`)}))]),Du=X.string(),Ou=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),line:X.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:X.string()}),ku=X.union([X.literal(`pending`),X.literal(`in_progress`),X.literal(`completed`),X.literal(`failed`)]),Au=X.union([X.literal(`read`),X.literal(`edit`),X.literal(`delete`),X.literal(`move`),X.literal(`search`),X.literal(`execute`),X.literal(`think`),X.literal(`fetch`),X.literal(`switch_mode`),X.literal(`other`)]),ju=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:X.array(Eu).optional(),kind:Au.optional(),locations:X.array(Ou).optional(),rawInput:X.unknown().optional(),rawOutput:X.unknown().optional(),status:ku.optional(),title:X.string(),toolCallId:Du}),Mu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:X.array(Eu).nullish(),kind:Au.nullish(),locations:X.array(Ou).nullish(),rawInput:X.unknown().optional(),rawOutput:X.unknown().optional(),status:ku.nullish(),title:X.string().nullish(),toolCallId:Du}),Nu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),options:X.array(nl),sessionId:Pl,toolCall:Mu}),Pu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),hint:X.string()}),Fu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),description:X.string(),input:Pu.nullish(),name:X.string()}),Iu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),availableCommands:X.array(Fu)}),Lu=X.object({cachedReadTokens:X.number().nullish(),cachedWriteTokens:X.number().nullish(),inputTokens:X.number(),outputTokens:X.number(),thoughtTokens:X.number().nullish(),totalTokens:X.number()}),Ru=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),stopReason:pu,usage:Lu.nullish(),userMessageId:X.string().nullish()});X.union([X.object({id:fl,result:X.union([ou,Oc,tu,eu,Gl,$l,nu,Ac,uu,cu,Ru,fu,zc])}),X.object({error:Ic,id:fl})]);const zu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),cost:jc.nullish(),size:X.number(),used:X.number()}),Bu=X.union([wu.and(X.object({sessionUpdate:X.literal(`user_message_chunk`)})),wu.and(X.object({sessionUpdate:X.literal(`agent_message_chunk`)})),wu.and(X.object({sessionUpdate:X.literal(`agent_thought_chunk`)})),ju.and(X.object({sessionUpdate:X.literal(`tool_call`)})),Mu.and(X.object({sessionUpdate:X.literal(`tool_call_update`)})),ol.and(X.object({sessionUpdate:X.literal(`plan`)})),Iu.and(X.object({sessionUpdate:X.literal(`available_commands_update`)})),Yl.and(X.object({sessionUpdate:X.literal(`current_mode_update`)})),Ml.and(X.object({sessionUpdate:X.literal(`config_option_update`)})),Kl.and(X.object({sessionUpdate:X.literal(`session_info_update`)})),zu.and(X.object({sessionUpdate:X.literal(`usage_update`)}))]),Vu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Pl,update:Bu});X.object({method:X.string(),params:X.union([Vu,Lc]).nullish()});const Hu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),sessionId:Pl,terminalId:X.string()}),Uu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),exitCode:X.number().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:X.string().nullish()}),Wu=X.object({_meta:X.record(X.string(),X.unknown()).nullish(),content:X.string(),path:X.string(),sessionId:Pl});X.object({id:fl,method:X.string(),params:X.union([Wu,Vl,Nu,Ll,gu,Hl,Hu,zl,Rc]).nullish()});const Gu=X.object({_meta:X.record(X.string(),X.unknown()).nullish()});X.union([X.object({id:fl,result:X.union([Gu,ul,bl,Mc,_u,dl,Uu,Wc,zc])}),X.object({error:Ic,id:fl})]);function Ku(e,t){let n=new TextEncoder,r=new TextDecoder;return{readable:new ReadableStream({async start(e){let n=``,i=t.getReader();try{for(;;){let{value:t,done:a}=await i.read();if(a)break;if(!t)continue;n+=r.decode(t,{stream:!0});let o=n.split(`
|
|
9
9
|
`);n=o.pop()||``;for(let t of o){let n=t.trim();if(n)try{let t=JSON.parse(n);e.enqueue(t)}catch(e){console.error(`Failed to parse JSON message:`,n,e)}}}}finally{i.releaseLock(),e.close()}}}),writable:new WritableStream({async write(t){let r=JSON.stringify(t)+`
|
|
10
|
-
`,i=e.getWriter();try{await i.write(n.encode(r))}finally{i.releaseLock()}}})}}Symbol.asyncDispose;var Gu=class{#e;constructor(e,t){let n=e(this);this.#e=new Ku(async(e,t)=>{switch(e){case vc.fs_write_text_file:{let e=Hu.parse(t);return n.writeTextFile?.(e)}case vc.fs_read_text_file:{let e=zl.parse(t);return n.readTextFile?.(e)}case vc.session_request_permission:{let e=ju.parse(t);return n.requestPermission(e)}case vc.terminal_create:{let e=Fl.parse(t);return n.createTerminal?.(e)}case vc.terminal_output:{let e=mu.parse(t);return n.terminalOutput?.(e)}case vc.terminal_release:{let e=Bl.parse(t);return await n.releaseTerminal?.(e)??{}}case vc.terminal_wait_for_exit:{let e=Bu.parse(t);return n.waitForTerminalExit?.(e)}case vc.terminal_kill:{let e=Ll.parse(t);return await n.killTerminal?.(e)??{}}default:if(n.extMethod)return n.extMethod(e,t);throw qu.methodNotFound(e)}},async(e,t)=>{switch(e){case vc.session_update:{let e=zu.parse(t);return n.sessionUpdate(e)}default:if(n.extNotification)return n.extNotification(e,t);throw qu.methodNotFound(e)}},t)}async initialize(e){return await this.#e.sendRequest(_c.initialize,e)}async newSession(e){return await this.#e.sendRequest(_c.session_new,e)}async loadSession(e){return await this.#e.sendRequest(_c.session_load,e)??{}}async unstable_forkSession(e){return await this.#e.sendRequest(_c.session_fork,e)}async listSessions(e){return await this.#e.sendRequest(_c.session_list,e)}async unstable_resumeSession(e){return await this.#e.sendRequest(_c.session_resume,e)}async unstable_closeSession(e){return await this.#e.sendRequest(_c.session_close,e)}async setSessionMode(e){return await this.#e.sendRequest(_c.session_set_mode,e)??{}}async unstable_setSessionModel(e){return await this.#e.sendRequest(_c.session_set_model,e)??{}}async setSessionConfigOption(e){return await this.#e.sendRequest(_c.session_set_config_option,e)}async authenticate(e){return await this.#e.sendRequest(_c.authenticate,e)??{}}async prompt(e){return await this.#e.sendRequest(_c.session_prompt,e)}async cancel(e){return await this.#e.sendNotification(_c.session_cancel,e)}async extMethod(e,t){return await this.#e.sendRequest(e,t)}async extNotification(e,t){return await this.#e.sendNotification(e,t)}get signal(){return this.#e.signal}get closed(){return this.#e.closed}},Ku=class{#e=new Map;#t=0;#n;#r;#i;#a=Promise.resolve();#o=new AbortController;#s;constructor(e,t,n){this.#n=e,this.#r=t,this.#i=n,this.#s=new Promise(e=>{this.#o.signal.addEventListener(`abort`,()=>e())}),this.#c()}get signal(){return this.#o.signal}get closed(){return this.#s}async#c(){let e=this.#i.readable.getReader();try{for(;;){let{value:t,done:n}=await e.read();if(n)break;if(t)try{this.#l(t)}catch(e){console.error(`Unexpected error during message processing:`,t,e),`id`in t&&t.id!==void 0&&this.#p({jsonrpc:`2.0`,id:t.id,error:{code:-32700,message:`Parse error`}})}}}finally{e.releaseLock(),this.#o.abort()}}async#l(e){if(`method`in e&&`id`in e){let t=await this.#u(e.method,e.params);`error`in t&&console.error(`Error handling request`,e,t.error),await this.#p({jsonrpc:`2.0`,id:e.id,...t})}else if(`method`in e){let t=await this.#d(e.method,e.params);`error`in t&&console.error(`Error handling notification`,e,t.error)}else `id`in e?this.#f(e):console.error(`Invalid message`,{message:e})}async#u(e,t){try{return{result:await this.#n(e,t)??null}}catch(e){if(e instanceof qu)return e.toResult();if(e instanceof Sa.ZodError)return qu.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return qu.internalError(t?JSON.parse(t):{}).toResult()}catch{return qu.internalError({details:t}).toResult()}}}async#d(e,t){try{return await this.#r(e,t),{result:null}}catch(e){if(e instanceof qu)return e.toResult();if(e instanceof Sa.ZodError)return qu.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return qu.internalError(t?JSON.parse(t):{}).toResult()}catch{return qu.internalError({details:t}).toResult()}}}#f(e){let t=this.#e.get(e.id);t?(`result`in e?t.resolve(e.result):`error`in e&&t.reject(e.error),this.#e.delete(e.id)):console.error(`Got response to unknown request`,e.id)}async sendRequest(e,t){let n=this.#t++,r=new Promise((e,t)=>{this.#e.set(n,{resolve:e,reject:t})});return await this.#p({jsonrpc:`2.0`,id:n,method:e,params:t}),r}async sendNotification(e,t){await this.#p({jsonrpc:`2.0`,method:e,params:t})}async#p(e){return this.#a=this.#a.then(async()=>{let t=this.#i.writable.getWriter();try{await t.write(e)}finally{t.releaseLock()}}).catch(e=>{console.error(`ACP write error:`,e)}),this.#a}},qu=class e extends Error{code;data;constructor(e,t,n){super(t),this.code=e,this.name=`RequestError`,this.data=n}static parseError(t,n){return new e(-32700,`Parse error${n?`: ${n}`:``}`,t)}static invalidRequest(t,n){return new e(-32600,`Invalid request${n?`: ${n}`:``}`,t)}static methodNotFound(t){return new e(-32601,`"Method not found": ${t}`,{method:t})}static invalidParams(t,n){return new e(-32602,`Invalid params${n?`: ${n}`:``}`,t)}static internalError(t,n){return new e(-32603,`Internal error${n?`: ${n}`:``}`,t)}static authRequired(t,n){return new e(-32e3,`Authentication required${n?`: ${n}`:``}`,t)}static resourceNotFound(t){return new e(-32002,`Resource not found${t?`: ${t}`:``}`,t&&{uri:t})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};const Ju=Ke({name:z,value:z});var Yu=class extends Wi(`AgentStreamOptions`)({cwd:z,sessionId:Qe(z),prompt:z,systemPrompt:Qe(z),mcpEnv:R(Zn(Ju))}){};const Xu=(e,t)=>(n,[r])=>{let i=`Unknown`;switch(n.code){case`ENOENT`:i=`NotFound`;break;case`EACCES`:i=`PermissionDenied`;break;case`EEXIST`:i=`AlreadyExists`;break;case`EISDIR`:i=`BadResource`;break;case`ENOTDIR`:i=`BadResource`;break;case`EBUSY`:i=`Busy`;break;case`ELOOP`:i=`BadResource`;break}return Mr({_tag:i,module:e,method:t,pathOrDescriptor:r,syscall:n.syscall,cause:n})},Zu=e=>bi(s(Qu(e),e=>[e])),Qu=e=>rn(t=>{let n=e.evaluate();return B($u({...e,writable:n,pull:t}))}),$u=e=>e.pull.pipe(Xt(t=>{let n=0;return pt(function r(i){for(;n<t.length;)if(!e.writable.write(t[n++],e.encoding)){e.writable.once(`drain`,()=>r(i));return}i(F)})}),a({disableYield:!0}),Ui(pt(t=>{let n=n=>t(Ae(e.onError(n)));return e.writable.once(`error`,n),N(()=>{e.writable.off(`error`,n)})})),e.endOnDone===!1?kt:Zt(t=>`closed`in e.writable&&e.writable.closed?ze(t):pt(n=>{e.writable.once(`finish`,()=>n(ze(t))),e.writable.end()}))),ed=e=>ut(td(e)),td=e=>rn((t,n)=>nd({scope:n,readable:e.evaluate(),onError:e.onError??rd,chunkSize:e.chunkSize,closeOnDone:e.closeOnDone})),nd=e=>{let t=e.readable;if(t.readableEnded)return B(ze());let n=e.closeOnDone??!0,r=e.exit??tr(void 0),i=Yn(!1);function a(){i.openUnsafe()}function o(t){r.current=vt(e.onError(t)),i.openUnsafe()}function s(){r.current=vt(_r()),i.openUnsafe()}t.on(`readable`,a),t.once(`error`,o),t.once(`end`,s);let c=rt(function t(){let n=e.readable.read(e.chunkSize);if(n===null)return r.current?r.current:(i.closeUnsafe(),Xt(i.await,t));let a=_i(n);for(;n=e.readable.read(e.chunkSize),n!==null;)a.push(n);return B(a)});return Se(Hn(e.scope,N(()=>{t.off(`readable`,a),t.off(`error`,o),t.off(`end`,s),n&&`closed`in e.readable&&!e.readable.closed&&e.readable.destroy()})),c)},rd=e=>new dr(e),id=e=>e instanceof globalThis.Error?e:new globalThis.Error(String(e)),ad=(e,t,n)=>{let{commands:r}=sd(n),i=r.reduce((e,t)=>{let n=`${t.command} ${t.args.join(` `)}`;return e.length===0?n:`${e} | ${n}`},``);return Xu(`ChildProcess`,e)(t,[i])},od=ei(Bn,H(function*(){let e=yield*qe,t=yield*St,n=tn(function*(n){if(!dt(n.cwd))return yield*e.access(n.cwd),t.resolve(n.cwd)}),r=e=>e.extendEnv?{...globalThis.process.env,...e.env}:e.env,i=e=>Pt(e)?`pipe`:e,a=e=>Pn(e)?`pipe`:e,o=e=>{let t={stream:`pipe`,encoding:`utf-8`,endOnDone:!0};return dt(e.stdin)?t:typeof e.stdin==`string`||Pt(e.stdin)?{...t,stream:e.stdin}:{stream:e.stdin.stream,encoding:e.stdin.encoding??t.encoding,endOnDone:e.stdin.endOnDone??t.endOnDone}},s=(e,t)=>{let n=e[t];return dt(n)?{stream:`pipe`}:typeof n==`string`||Pn(n)?{stream:n}:{stream:n.stream}},c=e=>{if(dt(e.additionalFds))return[];let t=[];for(let[n,r]of Object.entries(e.additionalFds)){let e=kn(n);ae(e)&&t.push({fd:e,config:r})}return t.sort((e,t)=>e.fd-t.fd)},l=(e,t,n,r)=>{let o=[i(e.stream),a(t.stream),a(n.stream)];if(r.length===0)return o;let s=r.reduce((e,{fd:t})=>Math.max(e,t),2);for(let e=3;e<=s;e++)o[e]=`ignore`;for(let{fd:e}of r)o[e]=`pipe`;return o},u=tn(function*(e,t,n){if(n.length===0)return{getInputFd:()=>Er,getOutputFd:()=>ie};let r=new Map,i=new Map;for(let{config:a,fd:o}of n){let n=t.stdio[o];switch(a.type){case`input`:{let t=Er;n&&`write`in n&&(t=Zu({evaluate:()=>n,onError:t=>ad(`fromWritable(fd${o})`,id(t),e)})),a.stream&&(yield*mi(Wt(a.stream,t))),r.set(o,t);break}case`output`:{let t=ie;n&&`read`in n&&(t=ed({evaluate:()=>n,onError:t=>ad(`fromReadable(fd${o})`,id(t),e)})),a.sink&&(t=gn(t,a.sink)),i.set(o,t);break}}}return{getInputFd:e=>r.get(e)??Er,getOutputFd:e=>i.get(e)??ie}}),d=(e,t,n)=>rt(()=>{let r=Er;return et(t.stdin)&&(r=Zu({evaluate:()=>t.stdin,onError:t=>ad(`fromWritable(stdin)`,id(t),e),endOnDone:n.endOnDone,encoding:n.encoding})),Pt(n.stream)?Se(mi(Wt(n.stream,r)),r):B(r)}),f=(e,t,n,r)=>{let i=t.stdout?ed({evaluate:()=>t.stdout,onError:t=>ad(`fromReadable(stdout)`,id(t),e)}):ie,a=t.stderr?ed({evaluate:()=>t.stderr,onError:t=>ad(`fromReadable(stderr)`,id(t),e)}):ie;Pn(n.stream)&&(i=gn(i,n.stream)),Pn(r.stream)&&(a=gn(a,r.stream));let o=ke(i,a);return{stdout:i,stderr:a,all:o}},p=(e,t)=>pt(n=>{let r=Fi(),i=Ca.spawn(e.command,e.args,t);return i.on(`error`,t=>{n(Ae(ad(`spawn`,t,e)))}),i.on(`exit`,(...e)=>{sn(r,T(e))}),i.on(`spawn`,()=>{n(B([i,r]))}),N(()=>{i.kill(`SIGTERM`)})}),m=(e,t,n)=>globalThis.process.platform===`win32`?pt(n=>{Ca.exec(`taskkill /pid ${t.pid} /T /F`,t=>{n(t?Ae(ad(`kill`,id(t),e)):F)})}):Mt({try:()=>{globalThis.process.kill(-t.pid,n)},catch:t=>ad(`kill`,id(t),e)}),h=(e,t,n)=>rt(()=>t.kill(n)?F:Ae(ad(`kill`,new globalThis.Error(`Failed to kill child process`),e))),g=(e,t,n)=>r=>{let i=n?.killSignal??`SIGTERM`;return dt(n?.forceKillAfter)?r(t,e,i):v(r(t,e,i),{duration:n.forceKillAfter,onTimeout:()=>r(t,e,`SIGKILL`)})},_=(e,t)=>{let n=t??`stdout`;switch(n){case`stdout`:return e.stdout;case`stderr`:return e.stderr;case`all`:return e.all;default:{let t=kn(n);return ae(t)?e.getOutputFd(t):e.stdout}}},y=tn(function*(e){switch(e._tag){case`StandardCommand`:{let t=o(e.options),i=s(e.options,`stdout`),a=s(e.options,`stderr`),_=c(e.options),[v,y]=yield*vr(p(e,{cwd:yield*n(e.options),env:r(e.options),stdio:l(t,i,a,_),detached:e.options.detached??process.platform!==`win32`,shell:e.options.shell}),tn(function*([t,n]){let r=yield*Vi(n),i=g(t,e,e.options);if(r){let[e]=yield*er(n);return e!==0&&et(e)?yield*ni(i(m)):yield*F}return yield*i((e,t,n)=>ge(m(e,t,n),()=>h(e,t,n))).pipe(Be(er(n)),ni)})),b=Dr(v.pid),x=yield*d(e,v,t),{all:ee,stderr:S,stdout:C}=f(e,v,i,a),{getInputFd:w,getOutputFd:te}=yield*u(e,v,_),T=U(Vi(y),e=>!e);return Kn({pid:b,exitCode:Xt(er(y),([t,n])=>et(t)?B(Ur(t)):Ae(ad(`exitCode`,new globalThis.Error(`Process interrupted due to receipt of signal: '${n}'`),e))),isRunning:T,kill:t=>g(v,e,t)((e,t,n)=>ge(m(e,t,n),()=>h(e,t,n))).pipe(Be(er(y)),Pe),stdin:x,stdout:C,stderr:S,all:ee,getInputFd:w,getOutputFd:te})}case`PipedCommand`:{let{commands:t,pipeOptions:n}=sd(e),[r,...i]=t,a=y(r);for(let e=0;e<i.length;e++){let t=i[e],r=n[e]??{},s=o(t.options),c=Hr(U(a,e=>_(e,r.from))),l=r.to??`stdin`;if(l===`stdin`)a=y(gi(t.command,t.args,{...t.options,stdin:{...s,stream:c}}));else{let e=kn(l);if(ae(e)){let n=xr(e),r=t.options.additionalFds??{};a=y(gi(t.command,t.args,{...t.options,additionalFds:{...r,[n]:{type:`input`,stream:c}}}))}else a=y(gi(t.command,t.args,{...t.options,stdin:{...s,stream:c}}))}}return yield*a}}});return Qn(y)})),sd=e=>{let t=[],n=[],r=e=>{switch(e._tag){case`StandardCommand`:t.push(e);break;case`PipedCommand`:r(e.left),n.push(e.options),r(e.right);break}};if(r(e),t.length===0)throw Error(`flattenCommand produced empty commands array`);let[i,...a]=t;return{commands:[i,...a],pipeOptions:n}},cd=e=>t=>qr({module:`FileSystem`,method:e,description:t.message??String(t)}),ld=(()=>{let e=P(ka.access,Xu(`FileSystem`,`access`),cd(`access`));return(t,n)=>{let r=ka.constants.F_OK;return n?.readable&&(r|=ka.constants.R_OK),n?.writable&&(r|=ka.constants.W_OK),e(t,r)}})(),ud=(()=>{let e=P(ka.cp,Xu(`FileSystem`,`copy`),cd(`copy`));return(t,n,r)=>e(t,n,{force:r?.overwrite??!1,preserveTimestamps:r?.preserveTimestamps??!1,recursive:!0})})(),dd=(()=>{let e=P(ka.copyFile,Xu(`FileSystem`,`copyFile`),cd(`copyFile`));return(t,n)=>e(t,n)})(),fd=(()=>{let e=P(ka.chmod,Xu(`FileSystem`,`chmod`),cd(`chmod`));return(t,n)=>e(t,n)})(),pd=(()=>{let e=P(ka.chown,Xu(`FileSystem`,`chown`),cd(`chown`));return(t,n,r)=>e(t,n,r)})(),md=(()=>{let e=P(ka.link,Xu(`FileSystem`,`link`),cd(`link`));return(t,n)=>e(t,n)})(),hd=(()=>{let e=P(ka.mkdir,Xu(`FileSystem`,`makeDirectory`),cd(`makeDirectory`));return(t,n)=>e(t,{recursive:n?.recursive??!1,mode:n?.mode})})(),gd=e=>{let t=P(ka.mkdtemp,Xu(`FileSystem`,e),cd(e));return e=>rt(()=>{let n=e?.prefix??``,r=typeof e?.directory==`string`?ga.join(e.directory,`.`):ja.tmpdir();return t(n?ga.join(r,n):r+`/`)})},_d=gd(`makeTempDirectory`),vd=e=>{let t=P(ka.rm,Xu(`FileSystem`,e),cd(e));return(e,n)=>t(e,{recursive:n?.recursive??!1,force:n?.force??!1})},yd=vd(`remove`),bd=(()=>{let e=gd(`makeTempDirectoryScoped`),t=vd(`makeTempDirectoryScoped`);return n=>vr(e(n),e=>nr(t(e,{recursive:!0})))})(),xd=(e=>{let t=P(ka.open,Xu(`FileSystem`,e),cd(e)),n=P(ka.close,Xu(`FileSystem`,e),cd(e));return(e,r)=>Bt(vr(t(e,r?.flag??`r`,r?.mode),e=>nr(n(e))),U(e=>Sd(w(e),r?.flag?.startsWith(`a`)??!1)))})(`open`),Sd=(()=>{let e=e=>P(ka.read,Xu(`FileSystem`,e),cd(e)),t=e(`read`),n=e(`readAlloc`),r=P(ka.fstat,Xu(`FileSystem`,`stat`),cd(`stat`)),i=P(ka.ftruncate,Xu(`FileSystem`,`truncate`),cd(`truncate`)),a=P(ka.fsync,Xu(`FileSystem`,`sync`),cd(`sync`)),o=e=>P(ka.write,Xu(`FileSystem`,e),cd(e)),s=o(`write`),l=o(`writeAll`);class u{[hr];fd;append;position=0n;constructor(e,t){this[hr]=hr,this.fd=e,this.append=t}get stat(){return U(r(this.fd),jd)}get sync(){return a(this.fd)}seek(e,t){let n=c(e);return N(()=>(t===`start`?this.position=n:t===`current`&&(this.position+=n),this.position))}read(e){return rt(()=>{let n=this.position;return U(t(this.fd,{buffer:e,position:n}),e=>{let t=c(e);return this.position=n+t,t})})}readAlloc(e){let t=Number(e);return rt(()=>{let e=Buffer.allocUnsafeSlow(t),r=this.position;return U(n(this.fd,{buffer:e,position:r}),n=>{if(n===0)return Oi();if(this.position=r+BigInt(n),n===t)return Ct(e);let i=Buffer.allocUnsafeSlow(n);return e.copy(i,0,0,n),Ct(i)})})}truncate(e){return U(i(this.fd,e?Number(e):void 0),()=>{if(!this.append){let t=BigInt(e??0);this.position>t&&(this.position=t)}})}write(e){return rt(()=>{let t=this.position;return U(s(this.fd,e,void 0,void 0,this.append?void 0:Number(t)),e=>{let n=c(e);return this.append||(this.position=t+n),n})})}writeAllChunk(e){return rt(()=>{let t=this.position;return Xt(l(this.fd,e,void 0,void 0,this.append?void 0:Number(t)),n=>n===0?Ae(Mr({module:`FileSystem`,method:`writeAll`,_tag:`WriteZero`,pathOrDescriptor:this.fd,description:`write returned 0 bytes written`})):(this.append||(this.position=t+BigInt(n)),n<e.length?this.writeAllChunk(e.subarray(n)):F))})}writeAll(e){return this.writeAllChunk(e)}}return(e,t)=>new u(e,t)})(),Cd=e=>{let t=gd(e);return tn(function*(e){let n=yield*t(e),r=Da.randomBytes(6).toString(`hex`),i=ga.join(n,e?.suffix?`${r}${e.suffix}`:r);return yield*Rd(i,new Uint8Array),i})},wd=Cd(`makeTempFile`),Td=(()=>{let e=Cd(`makeTempFileScoped`),t=vd(`makeTempFileScoped`);return n=>vr(e(n),e=>nr(t(ga.dirname(e),{recursive:!0})))})(),Ed=(e,t)=>_e({try:()=>ka.promises.readdir(e,t),catch:t=>Xu(`FileSystem`,`readDirectory`)(t,[e])}),Dd=e=>pt((t,n)=>{try{ka.readFile(e,{signal:n},(n,r)=>{t(n?Ae(Xu(`FileSystem`,`readFile`)(n,[e])):B(r))})}catch(e){t(Ae(cd(`readFile`)(e)))}}),Od=(()=>{let e=P(ka.readlink,Xu(`FileSystem`,`readLink`),cd(`readLink`));return t=>e(t)})(),kd=(()=>{let e=P(ka.realpath,Xu(`FileSystem`,`realPath`),cd(`realPath`));return t=>e(t)})(),Ad=(()=>{let e=P(ka.rename,Xu(`FileSystem`,`rename`),cd(`rename`));return(t,n)=>e(t,n)})(),jd=e=>({type:e.isFile()?`File`:e.isDirectory()?`Directory`:e.isSymbolicLink()?`SymbolicLink`:e.isBlockDevice()?`BlockDevice`:e.isCharacterDevice()?`CharacterDevice`:e.isFIFO()?`FIFO`:e.isSocket()?`Socket`:`Unknown`,mtime:$n(e.mtime),atime:$n(e.atime),birthtime:$n(e.birthtime),dev:e.dev,rdev:$n(e.rdev),ino:$n(e.ino),mode:e.mode,nlink:$n(e.nlink),uid:$n(e.uid),gid:$n(e.gid),size:c(e.size),blksize:e.blksize===void 0?Oi():Ct(c(e.blksize)),blocks:$n(e.blocks)}),Md=(()=>{let e=P(ka.stat,Xu(`FileSystem`,`stat`),cd(`stat`));return t=>U(e(t),jd)})(),Nd=(()=>{let e=P(ka.symlink,Xu(`FileSystem`,`symlink`),cd(`symlink`));return(t,n)=>e(t,n)})(),Pd=(()=>{let e=P(ka.truncate,Xu(`FileSystem`,`truncate`),cd(`truncate`));return(t,n)=>e(t,n===void 0?void 0:Number(n))})(),Fd=(()=>{let e=P(ka.utimes,Xu(`FileSystem`,`utime`),cd(`utime`));return(t,n,r)=>e(t,n,r)})(),Id=e=>He(t=>vr(N(()=>{let n=ka.watch(e,{recursive:!0},(e,n)=>{if(n)switch(e){case`rename`:Li(Wn(Md(n),{onSuccess:e=>wr(t,{_tag:`Create`,path:n}),onFailure:e=>wr(t,{_tag:`Remove`,path:n})}));return;case`change`:yi(t,{_tag:`Update`,path:n});return}});return n.on(`error`,n=>{si(t,We(Mr({module:`FileSystem`,_tag:`Unknown`,method:`watch`,pathOrDescriptor:e,cause:n})))}),n.on(`close`,()=>{mn(t)}),n}),e=>N(()=>e.close()))),Ld=(e,t)=>Md(t).pipe(U(n=>e.pipe(Or(e=>e.register(t,n)),on(()=>Id(t)))),Hr),Rd=(e,t,n)=>pt((r,i)=>{try{ka.writeFile(e,t,{signal:i,flag:n?.flag,mode:n?.mode},t=>{r(t?Ae(Xu(`FileSystem`,`writeFile`)(t,[e])):F)})}catch(e){r(Ae(cd(`writeFile`)(e)))}}),zd=U(f(lr),e=>Le({access:ld,chmod:fd,chown:pd,copy:ud,copyFile:dd,link:md,makeDirectory:hd,makeTempDirectory:_d,makeTempDirectoryScoped:bd,makeTempFile:wd,makeTempFileScoped:Td,open:xd,readDirectory:Ed,readFile:Dd,readLink:Od,realPath:kd,remove:yd,rename:Ad,stat:Md,symlink:Nd,truncate:Pd,utimes:Fd,watch(t){return Ld(e,t)},writeFile:Rd})),Bd=ei(qe)(zd),Vd=e=>Mt({try:()=>ba.fileURLToPath(e),catch:e=>new Gn({module:`Path`,method:`fromFileUrl`,cause:e})}),Hd=e=>Mt({try:()=>ba.pathToFileURL(e),catch:e=>new Gn({module:`Path`,method:`toFileUrl`,cause:e})});({...ga.posix}),{...ga.win32};const Ud=Cr(St)({[ne]:ne,...ga,fromFileUrl:Vd,toFileUrl:Hd}),Wd=Cr(Io,Lo({args:N(()=>process.argv.slice(2)),stdout:e=>Zu({evaluate:()=>process.stdout,onError:e=>Mr({module:`Stdio`,method:`stdout`,_tag:`Unknown`,cause:e}),endOnDone:e?.endOnDone??!1}),stderr:e=>Zu({evaluate:()=>process.stderr,onError:e=>Mr({module:`Stdio`,method:`stderr`,_tag:`Unknown`,cause:e}),endOnDone:e?.endOnDone??!1}),stdin:ed({evaluate:()=>process.stdin,onError:e=>Mr({module:`Stdio`,method:`stdin`,_tag:`Unknown`,cause:e}),closeOnDone:!1})})),Gd=ei(Wo,tn(function*(e=Kd){let t=process.stdin,n=process.stdout,r=yield*On({acquire:vr(N(()=>{let e=Na.createInterface({input:t,escapeCodeTimeout:50});return Na.emitKeypressEvents(t,e),t.isTTY&&t.setRawMode(!0),e}),e=>N(()=>{t.isTTY&&t.setRawMode(!1),e.close()}))});return Go({columns:N(()=>n.columns??0),readInput:H(function*(){yield*li(r);let n=yield*En(),i=(t,r)=>{let i={input:qn(t),key:{name:r.name??``,ctrl:!!r.ctrl,meta:!!r.meta,shift:!!r.shift}};yi(n,i),e(i)&&mn(n)};return yield*d(()=>N(()=>t.off(`keypress`,i))),t.on(`keypress`,i),n}),readLine:Ze(Xt(li(r),e=>pt(t=>{let n=e=>t(B(e));return e.once(`line`,n),N(()=>e.off(`line`,n))}))),display:e=>Ht(pt(t=>{n.write(e,e=>be(e)?t(F):t(Ae(qr({module:`Terminal`,method:`display`,description:`Failed to write prompt to stdout`,cause:e}))))}))})})(Kd));function Kd(e){return e.key.ctrl&&(e.key.name===`c`||e.key.name===`d`)}const qd=Tn(od,zr(Bd,Ud,Wd,Gd)),Jd=z.pipe(y(`SessionId`));var Yd=class extends xt(`AcpStreamError`)({_tag:I(`AcpStreamError`),cause:Xi}){message=`Streaming failed: ${this.cause}`},Xd=class extends xt(`AcpSessionCreateError`)({_tag:I(`AcpSessionCreateError`),cause:Xi}){message=`Creating session failed: ${this.cause}`},Zd=class extends xt(`AcpConnectionInitError`)({_tag:I(`AcpConnectionInitError`),cause:Xi}){message=`Init connection failed: ${this.cause}`},Qd=class extends xt(`AcpAdapterNotFoundError`)({_tag:I(`AcpAdapterNotFoundError`),packageName:z}){message=`ACP adapter not found: ${this.packageName}`},$d=class e extends L()(`@expect/AcpAdapter`){static layerCodex=ei(e)(Mt({try:()=>{let t=Zi(typeof __filename<`u`?__filename:import.meta.url).resolve(`@zed-industries/codex-acp/bin/codex-acp.js`);return e.of({bin:process.execPath,args:[t],env:{}})},catch:()=>new Qd({packageName:`@zed-industries/codex-acp`})}));static layerClaude=ei(e)(Mt({try:()=>{let t=Zi(typeof __filename<`u`?__filename:import.meta.url).resolve(`@zed-industries/claude-agent-acp/dist/index.js`);return e.of({bin:process.execPath,args:[t],env:{}})},catch:()=>new Qd({packageName:`@zed-industries/claude-agent-acp`})}))},ef=class extends L()(`@expect/AcpClient`,{make:H(function*(){let e=yield*$d;yield*se({adapter:e.args[0]}),yield*Dn(`Initializing AcpClient`);let t=yield*Bn,n=yield*bo(),r=yield*Mn(),i=new Map,a={requestPermission:e=>Promise.resolve({outcome:{outcome:`selected`,optionId:e.options.find(e=>e.kind===`allow_always`||e.kind===`allow_once`)?.optionId??e.options[0].optionId}}),sessionUpdate:async({sessionId:e,update:t})=>{let n=i.get(Jd.makeUnsafe(e));if(n===void 0)return console.warn(`updates queue not found for session ${e}`);yi(n,Nt(Ms)(t))}},o=yield*gi(e.bin,e.args,{env:e.env}).pipe(t.spawn);yield*se({pid:o.pid}),yield*Vr(`ACP adapter subprocess spawned`),yield*m(r).pipe(Wt(o.stdin),mi);let s=cr(o.stdout),c=new Gu(e=>a,Wu(new WritableStream({write:e=>void yi(r,e)}),s)),l=xa(new URL(`./browser-mcp.js`,import.meta.url)),u=e=>[{command:process.execPath,args:[l],env:[...e],name:`browser`}];yield*Dn(`ACP connection initialized`,{capabilities:(yield*_e({try:()=>c.initialize({protocolVersion:1}),catch:e=>new Zd({cause:e})})).agentCapabilities});let d=V(`AcpClient.createSession`)(function*(e,t=[]){yield*Ge({cwd:e});let n=u(t);return yield*_e({try:()=>c.newSession({cwd:e,mcpServers:n}),catch:e=>new Xd({cause:e})}).pipe(U(({sessionId:e})=>Jd.makeUnsafe(e)),Ce(e=>H(function*(){let t=yield*Mn();i.set(e,t),yield*Dn(`ACP session created`,{sessionId:e})})))}),f=V(`AcpClient.getQueueBySessionId`)(function*(e){if(!i.has(e))return yield*Vt(`Session ${e} not initialized, did you forget to call createSession?`);let t=yield*Mn();return i.set(e,t),t});return{createSession:d,stream:V(`AcpClient.stream`)(function*({prompt:e,sessionId:t,cwd:r,mcpEnv:i=[]}){let a=Pi(t)?t.value:yield*d(r,i);yield*Vr(`ACP stream starting`,{sessionId:a});let o=yield*f(a);return yield*_e({try:()=>c.prompt({sessionId:a,prompt:[{type:`text`,text:e}]}),catch:e=>new Yd({cause:e})}).pipe(Ce(()=>Vr(`ACP prompt completed`)),Ce(()=>or(o)),To(n,a,{startImmediately:!0})),m(o)},Hr)}})}){static layer=ei(this)(this.make).pipe(oi(qd));static layerCodex=this.layer.pipe(oi($d.layerCodex));static layerClaude=this.layer.pipe(oi($d.layerClaude))},tf=class e extends L()(`@expect/Agent`){static layerAcp=ei(e)(H(function*(){let t=yield*ef;return e.of({createSession:e=>t.createSession(e),stream:e=>t.stream({cwd:e.cwd,sessionId:_t(e.sessionId,e=>e),prompt:e.prompt,mcpEnv:e.mcpEnv})})})).pipe(oi(ef.layer));static layerCodex=e.layerAcp.pipe(oi($d.layerCodex));static layerClaude=e.layerAcp.pipe(oi($d.layerClaude));static layerFor=t=>t===`claude`?e.layerClaude:e.layerCodex;static layerTest=t=>ei(e,H(function*(){let n=yield*qe,r=ve(Ms);return e.of({stream:()=>n.stream(t).pipe($e(),zn,pe(e=>r(JSON.parse(e))),Te),createSession:()=>Vt(`createSession not supported for test layer`)})})).pipe(oi(qd))};const nf=[`claude`,`codex`,`cursor`],rf=e=>{try{return Ea(`which ${e}`,{stdio:`pipe`}),!0}catch{return!1}},af=()=>nf.filter(rf),of=12e3,sf=e=>e?[`Saved flow guidance:`,`You are replaying a previously saved flow. Follow these steps as guidance, but adapt if the UI has changed.`,`Saved flow title: ${e.title}`,`Saved flow request: ${e.userInstruction}`,``,...e.steps.flatMap((e,t)=>[`Step ${t+1}: ${e.title}`,`Instruction: ${e.instruction}`,`Expected: ${e.expectedOutcome}`,``])]:[],cf=e=>{switch(e){case`Commit`:return[`- Start narrow and prove the selected commit's intended change works first.`,`- Treat the selected commit and its touched files as the primary testing hypothesis.`,`- After the primary flow, test 2-4 adjacent flows that could regress from the same change. Think about what else touches the same components, routes, or data.`,`- For UI changes, verify related views that render the same data or share the same components.`];case`WorkingTree`:return[`- Start with the exact user-requested flow against the local in-progress changes.`,`- After the primary flow, test related flows that exercise the same code paths — aim for 2-3 follow-ups.`,`- Pay extra attention to partially-implemented features: check that incomplete states don't break existing behavior.`];case`Changes`:return[`- Treat committed and uncommitted work as one body of change.`,`- Cover the requested flow first, then the highest-risk adjacent flows.`,`- Test 2-4 follow-up flows, prioritizing paths that share components or data with the changed files.`,`- If the changes touch shared utilities or layouts, verify multiple pages that use them.`];default:return[`- This is a branch-level review — be thorough. The goal is to catch regressions before merge, not to do a quick spot-check.`,`- Cover the requested flow first, then systematically test each area affected by the changed files.`,`- Aim for 5-8 total tested flows. Derive them from the changed files: each changed route, component, or data path should get its own verification.`,`- Test cross-cutting concerns: if shared components, layouts, or utilities changed, verify them on multiple pages that consume them.`,`- Include at least one negative/edge-case flow (e.g. invalid input, empty state, unauthorized access, broken link) relevant to the changes.`,`- Do not stop after the happy path passes. The value of a branch review is catching what the developer might have missed.`]}},lf=e=>{let t=e.browserMcpServerName??`browser`,n=e.changedFiles.slice(0,12),r=e.recentCommits.slice(0,5),i=e.diffPreview||``,a=i.length>of?i.slice(0,of)+`
|
|
11
|
-
... (truncated)`:i;return[`You are executing a browser regression test directly from repository context.`,`You have browser tools via the MCP server named "${t}":`,``,`1. open — Launch a browser and navigate to a URL.`,`2. playwright — Execute Playwright code in Node. Globals: page (Page), context (BrowserContext), browser (Browser), ref(id) (resolves a snapshot ref like 'e4' to a Playwright Locator). Supports await. Return a value to get it back as JSON.`,`3. screenshot — Capture page state. Set mode: 'snapshot' (ARIA accessibility tree, default and preferred), 'screenshot' (PNG image), or 'annotated' (PNG with numbered labels on interactive elements).`,`4. console_logs — Get browser console messages. Filter by type ('error', 'warning', 'log'). Use after navigation or interactions to catch errors.`,`5. network_requests — Get captured network requests. Filter by method, URL substring, or resource type ('xhr', 'fetch', 'document').`,`6. close — Close the browser and end the session.`,``,`Strongly prefer screenshot with mode 'snapshot' for observing page state — the ARIA tree is fast, cheap, and sufficient for almost all assertions.`,`Only use mode 'screenshot' or 'annotated' when you need to verify something purely visual (layout, colors, images) that the accessibility tree cannot capture.`,`After each step, check console_logs with type 'error' to catch unexpected errors.`,``,`Snapshot-driven workflow:`,`1. Call screenshot with mode 'snapshot' to get the ARIA tree with refs.`,`2. Read the tree to find your target elements. Every interactive element has a ref like [ref=e4].`,`3. Use ref() in one playwright call to perform multiple actions using the refs from the snapshot — fill forms, click buttons, wait, and return results all in one block.`,`4. Only take a new snapshot when the page structure has changed significantly (navigation, modal open, new content loaded) and you need fresh refs.`,``,`Example snapshot tree:`,` - navigation`,` - link "Home" [ref=e1]`,` - link "About" [ref=e2]`,` - main`,` - heading "Welcome"`,` - textbox "Email" [ref=e3]`,` - button "Submit" [ref=e4]`,``,`Acting on refs — use ref() to get a Locator directly from the snapshot ref ID:`,` await ref('e3').fill('test@example.com');`,` await ref('e4').click();`,` await ref('e1').click();`,``,`Always snapshot first, then use ref() to act. Never guess CSS selectors.`,``,`Batch as many actions as possible into a single playwright call to minimize round trips:`,` playwright: await ref('e3').fill('test@example.com'); await ref('e5').fill('secret'); await ref('e6').click(); await page.waitForLoadState('networkidle'); return await page.innerText('.result');`,` playwright: await ref('e1').click(); await page.waitForURL('**/about');`,` playwright: return { url: page.url(), title: await page.title() };`,``,`Execution strategy:`,`- First master the primary flow the developer asked for. Verify it thoroughly before moving on.`,`- Once the primary flow passes, test additional related flows suggested by the changed files and route context. The scope strategy below specifies how many — follow it.`,`- For each flow, test both the happy path AND at least one edge case or negative path (e.g. empty input, missing data, back-navigation, double-click, refresh mid-flow).`,`- Use the same browser session throughout unless the app forces you into a different path.`,`- Execution style is assertion-first: navigate, act, validate, recover once, then fail with evidence if still blocked.`,`- Create your own step structure while executing. Use stable sequential IDs like step-01, step-02, step-03.`,`- Take your time. A thorough run that catches real issues is more valuable than a fast run that misses them. Do not rush to RUN_COMPLETED.`,``,`Assertion depth — do not just confirm the page loaded. For each step, verify that the action produced the expected state change:`,`- Before acting, note what should change. After acting, confirm it actually changed.`,`- Check at least two independent signals per step (e.g. URL changed AND new content appeared, or item was added AND count updated).`,`- Verify absence when relevant: after a delete, the item is gone; after dismissing a modal, it no longer appears in the tree.`,`- Use playwright to return structured evidence rather than eyeballing snapshots: return { url: page.url(), title: await page.title(), visible: await ref('e5').isVisible() };`,`- If the changed files suggest specific behavior (e.g. a validation rule, a redirect, a computed value), test that specific behavior rather than just the surrounding UI.`,``,`Before and after each step, emit these exact status lines on their own lines:`,`STEP_START|<step-id>|<step-title>`,`STEP_DONE|<step-id>|<short-summary>`,`ASSERTION_FAILED|<step-id>|<why-it-failed>`,`RUN_COMPLETED|passed|<final-summary>`,`RUN_COMPLETED|failed|<final-summary>`,``,`Allowed failure categories: app-bug, env-issue, auth-blocked, missing-test-data, selector-drift, agent-misread.`,`When a step fails, gather structured evidence before emitting ASSERTION_FAILED:`,`- Call screenshot with mode 'snapshot' to capture the ARIA tree.`,`- Use playwright to gather diagnostics: return { url: page.url(), title: await page.title(), text: await page.innerText('body').then(t => t.slice(0, 500)) };`,`- Only take a visual screenshot if the failure might be layout/rendering related.`,`- Summarize the failure category and the most important evidence inside <why-it-failed>.`,``,`Stability heuristics:`,`- After navigation or major UI changes, use playwright to wait for the page to settle (e.g. await page.waitForLoadState('networkidle')).`,`- Use screenshot with mode 'snapshot' to inspect the accessibility tree before interactions that depend on current UI state.`,`- Avoid interacting while the UI is visibly loading or transitioning.`,`- Confirm you reached the expected page or route before continuing.`,`- When waiting for page changes (navigation, content loading, animations), prefer short incremental waits (1-3 seconds) with snapshot checks in between rather than a single long wait. For example, instead of waiting 10 seconds: wait 2s, take a snapshot, check if ready, if not wait 2s more and snapshot again. This lets you proceed as soon as the page is ready.`,``,`Recovery policy for each blocked step:`,`- Take a new snapshot to re-inspect the page and get fresh refs.`,`- Use playwright with ref() to scroll the target into view or retry the interaction once.`,`- If still blocked, classify the blocker with one allowed failure category and include that classification in ASSERTION_FAILED.`,``,`Avoid rabbit holes:`,`- Do not repeat the same failing action more than once without new evidence such as a fresh snapshot, a different ref, a changed page state, or a clear new hypothesis.`,`- If four attempts fail or progress stalls, stop acting and report what you observed, what blocked progress, and the most likely next step.`,`- Prefer gathering evidence over brute force. If the page is confusing, use screenshot with mode 'snapshot', playwright for console or network diagnostics, or a visual screenshot to understand it before trying more actions.`,`- If you encounter a blocker such as login, passkey/manual user interaction, permissions, captchas, destructive confirmations, missing data, or an unexpected state, stop and report it instead of improvising repeated actions.`,`- Do not get stuck in wait-action-wait loops. Every retry should be justified by something newly observed.`,``,`Before emitting RUN_COMPLETED, call the close tool exactly once so the browser session flushes the video to disk.`,``,`Environment:`,`- Base URL: ${e.baseUrl??`not provided`}`,`- Headed mode preference: ${e.isHeadless?`headless`:`headed`}`,`- Reuse browser cookies: ${e.requiresCookies?`yes`:`no`}`,``,`Testing target context:`,`- Scope: ${e.scope}`,`- Current branch: ${e.currentBranch}`,`- Main branch: ${e.mainBranch??`unknown`}`,``,`Developer request:`,e.userInstruction,``,...
|
|
10
|
+
`,i=e.getWriter();try{await i.write(n.encode(r))}finally{i.releaseLock()}}})}}Symbol.asyncDispose;var qu=class{#e;constructor(e,t){let n=e(this);this.#e=new Ju(async(e,t)=>{switch(e){case bc.fs_write_text_file:{let e=Wu.parse(t);return n.writeTextFile?.(e)}case bc.fs_read_text_file:{let e=Vl.parse(t);return n.readTextFile?.(e)}case bc.session_request_permission:{let e=Nu.parse(t);return n.requestPermission(e)}case bc.terminal_create:{let e=Ll.parse(t);return n.createTerminal?.(e)}case bc.terminal_output:{let e=gu.parse(t);return n.terminalOutput?.(e)}case bc.terminal_release:{let e=Hl.parse(t);return await n.releaseTerminal?.(e)??{}}case bc.terminal_wait_for_exit:{let e=Hu.parse(t);return n.waitForTerminalExit?.(e)}case bc.terminal_kill:{let e=zl.parse(t);return await n.killTerminal?.(e)??{}}default:if(n.extMethod)return n.extMethod(e,t);throw Yu.methodNotFound(e)}},async(e,t)=>{switch(e){case bc.session_update:{let e=Vu.parse(t);return n.sessionUpdate(e)}default:if(n.extNotification)return n.extNotification(e,t);throw Yu.methodNotFound(e)}},t)}async initialize(e){return await this.#e.sendRequest(yc.initialize,e)}async newSession(e){return await this.#e.sendRequest(yc.session_new,e)}async loadSession(e){return await this.#e.sendRequest(yc.session_load,e)??{}}async unstable_forkSession(e){return await this.#e.sendRequest(yc.session_fork,e)}async listSessions(e){return await this.#e.sendRequest(yc.session_list,e)}async unstable_resumeSession(e){return await this.#e.sendRequest(yc.session_resume,e)}async unstable_closeSession(e){return await this.#e.sendRequest(yc.session_close,e)}async setSessionMode(e){return await this.#e.sendRequest(yc.session_set_mode,e)??{}}async unstable_setSessionModel(e){return await this.#e.sendRequest(yc.session_set_model,e)??{}}async setSessionConfigOption(e){return await this.#e.sendRequest(yc.session_set_config_option,e)}async authenticate(e){return await this.#e.sendRequest(yc.authenticate,e)??{}}async prompt(e){return await this.#e.sendRequest(yc.session_prompt,e)}async cancel(e){return await this.#e.sendNotification(yc.session_cancel,e)}async extMethod(e,t){return await this.#e.sendRequest(e,t)}async extNotification(e,t){return await this.#e.sendNotification(e,t)}get signal(){return this.#e.signal}get closed(){return this.#e.closed}},Ju=class{#e=new Map;#t=0;#n;#r;#i;#a=Promise.resolve();#o=new AbortController;#s;constructor(e,t,n){this.#n=e,this.#r=t,this.#i=n,this.#s=new Promise(e=>{this.#o.signal.addEventListener(`abort`,()=>e())}),this.#c()}get signal(){return this.#o.signal}get closed(){return this.#s}async#c(){let e=this.#i.readable.getReader();try{for(;;){let{value:t,done:n}=await e.read();if(n)break;if(t)try{this.#l(t)}catch(e){console.error(`Unexpected error during message processing:`,t,e),`id`in t&&t.id!==void 0&&this.#p({jsonrpc:`2.0`,id:t.id,error:{code:-32700,message:`Parse error`}})}}}finally{e.releaseLock(),this.#o.abort()}}async#l(e){if(`method`in e&&`id`in e){let t=await this.#u(e.method,e.params);`error`in t&&console.error(`Error handling request`,e,t.error),await this.#p({jsonrpc:`2.0`,id:e.id,...t})}else if(`method`in e){let t=await this.#d(e.method,e.params);`error`in t&&console.error(`Error handling notification`,e,t.error)}else `id`in e?this.#f(e):console.error(`Invalid message`,{message:e})}async#u(e,t){try{return{result:await this.#n(e,t)??null}}catch(e){if(e instanceof Yu)return e.toResult();if(e instanceof wa.ZodError)return Yu.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return Yu.internalError(t?JSON.parse(t):{}).toResult()}catch{return Yu.internalError({details:t}).toResult()}}}async#d(e,t){try{return await this.#r(e,t),{result:null}}catch(e){if(e instanceof Yu)return e.toResult();if(e instanceof wa.ZodError)return Yu.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return Yu.internalError(t?JSON.parse(t):{}).toResult()}catch{return Yu.internalError({details:t}).toResult()}}}#f(e){let t=this.#e.get(e.id);t?(`result`in e?t.resolve(e.result):`error`in e&&t.reject(e.error),this.#e.delete(e.id)):console.error(`Got response to unknown request`,e.id)}async sendRequest(e,t){let n=this.#t++,r=new Promise((e,t)=>{this.#e.set(n,{resolve:e,reject:t})});return await this.#p({jsonrpc:`2.0`,id:n,method:e,params:t}),r}async sendNotification(e,t){await this.#p({jsonrpc:`2.0`,method:e,params:t})}async#p(e){return this.#a=this.#a.then(async()=>{let t=this.#i.writable.getWriter();try{await t.write(e)}finally{t.releaseLock()}}).catch(e=>{console.error(`ACP write error:`,e)}),this.#a}},Yu=class e extends Error{code;data;constructor(e,t,n){super(t),this.code=e,this.name=`RequestError`,this.data=n}static parseError(t,n){return new e(-32700,`Parse error${n?`: ${n}`:``}`,t)}static invalidRequest(t,n){return new e(-32600,`Invalid request${n?`: ${n}`:``}`,t)}static methodNotFound(t){return new e(-32601,`"Method not found": ${t}`,{method:t})}static invalidParams(t,n){return new e(-32602,`Invalid params${n?`: ${n}`:``}`,t)}static internalError(t,n){return new e(-32603,`Internal error${n?`: ${n}`:``}`,t)}static authRequired(t,n){return new e(-32e3,`Authentication required${n?`: ${n}`:``}`,t)}static resourceNotFound(t){return new e(-32002,`Resource not found${t?`: ${t}`:``}`,t&&{uri:t})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};const Xu=Ke({name:B,value:B});var Zu=class extends Gi(`AgentStreamOptions`)({cwd:B,sessionId:Qe(B),prompt:B,systemPrompt:Qe(B),mcpEnv:z($n(Xu))}){};const Qu=(e,t)=>(n,[r])=>{let i=`Unknown`;switch(n.code){case`ENOENT`:i=`NotFound`;break;case`EACCES`:i=`PermissionDenied`;break;case`EEXIST`:i=`AlreadyExists`;break;case`EISDIR`:i=`BadResource`;break;case`ENOTDIR`:i=`BadResource`;break;case`EBUSY`:i=`Busy`;break;case`ELOOP`:i=`BadResource`;break}return Pr({_tag:i,module:e,method:t,pathOrDescriptor:r,syscall:n.syscall,cause:n})},$u=e=>Si(s(ed(e),e=>[e])),ed=e=>on(t=>{let n=e.evaluate();return V(td({...e,writable:n,pull:t}))}),td=e=>e.pull.pipe(Qt(t=>{let n=0;return pt(function r(i){for(;n<t.length;)if(!e.writable.write(t[n++],e.encoding)){e.writable.once(`drain`,()=>r(i));return}i(R)})}),a({disableYield:!0}),Wi(pt(t=>{let n=n=>t(je(e.onError(n)));return e.writable.once(`error`,n),F(()=>{e.writable.off(`error`,n)})})),e.endOnDone===!1?Bt:Jt(t=>`closed`in e.writable&&e.writable.closed?We(t):pt(n=>{e.writable.once(`finish`,()=>n(We(t))),e.writable.end()}))),nd=e=>ut(rd(e)),rd=e=>on((t,n)=>id({scope:n,readable:e.evaluate(),onError:e.onError??ad,chunkSize:e.chunkSize,closeOnDone:e.closeOnDone})),id=e=>{let t=e.readable;if(t.readableEnded)return V(We());let n=e.closeOnDone??!0,r=e.exit??rr(void 0),i=Zn(!1);function a(){i.openUnsafe()}function o(t){r.current=ee(e.onError(t)),i.openUnsafe()}function s(){r.current=ee(u()),i.openUnsafe()}t.on(`readable`,a),t.once(`error`,o),t.once(`end`,s);let c=rt(function t(){let n=e.readable.read(e.chunkSize);if(n===null)return r.current?r.current:(i.closeUnsafe(),Qt(i.await,t));let a=Mn(n);for(;n=e.readable.read(e.chunkSize),n!==null;)a.push(n);return V(a)});return be(qr(e.scope,F(()=>{t.off(`readable`,a),t.off(`error`,o),t.off(`end`,s),n&&`closed`in e.readable&&!e.readable.closed&&e.readable.destroy()})),c)},ad=e=>new ze(e),od=e=>e instanceof globalThis.Error?e:new globalThis.Error(String(e)),sd=(e,t,n)=>{let{commands:r}=ld(n),i=r.reduce((e,t)=>{let n=`${t.command} ${t.args.join(` `)}`;return e.length===0?n:`${e} | ${n}`},``);return Qu(`ChildProcess`,e)(t,[i])},cd=sr(Hn,H(function*(){let e=yield*qe,t=yield*St,n=rn(function*(n){if(!qi(n.cwd))return yield*e.access(n.cwd),t.resolve(n.cwd)}),r=e=>e.extendEnv?{...globalThis.process.env,...e.env}:e.env,i=e=>Pt(e)?`pipe`:e,a=e=>In(e)?`pipe`:e,o=e=>{let t={stream:`pipe`,encoding:`utf-8`,endOnDone:!0};return qi(e.stdin)?t:typeof e.stdin==`string`||Pt(e.stdin)?{...t,stream:e.stdin}:{stream:e.stdin.stream,encoding:e.stdin.encoding??t.encoding,endOnDone:e.stdin.endOnDone??t.endOnDone}},s=(e,t)=>{let n=e[t];return qi(n)?{stream:`pipe`}:typeof n==`string`||In(n)?{stream:n}:{stream:n.stream}},c=e=>{if(qi(e.additionalFds))return[];let t=[];for(let[n,r]of Object.entries(e.additionalFds)){let e=jn(n);ve(e)&&t.push({fd:e,config:r})}return t.sort((e,t)=>e.fd-t.fd)},l=(e,t,n,r)=>{let o=[i(e.stream),a(t.stream),a(n.stream)];if(r.length===0)return o;let s=r.reduce((e,{fd:t})=>Math.max(e,t),2);for(let e=3;e<=s;e++)o[e]=`ignore`;for(let{fd:e}of r)o[e]=`pipe`;return o},u=rn(function*(e,t,n){if(n.length===0)return{getInputFd:()=>Or,getOutputFd:()=>ae};let r=new Map,i=new Map;for(let{config:a,fd:o}of n){let n=t.stdio[o];switch(a.type){case`input`:{let t=Or;n&&`write`in n&&(t=$u({evaluate:()=>n,onError:t=>sd(`fromWritable(fd${o})`,od(t),e)})),a.stream&&(yield*gi(Gt(a.stream,t))),r.set(o,t);break}case`output`:{let t=ae;n&&`read`in n&&(t=nd({evaluate:()=>n,onError:t=>sd(`fromReadable(fd${o})`,od(t),e)})),a.sink&&(t=vn(t,a.sink)),i.set(o,t);break}}}return{getInputFd:e=>r.get(e)??Or,getOutputFd:e=>i.get(e)??ae}}),d=(e,t,n)=>rt(()=>{let r=Or;return N(t.stdin)&&(r=$u({evaluate:()=>t.stdin,onError:t=>sd(`fromWritable(stdin)`,od(t),e),endOnDone:n.endOnDone,encoding:n.encoding})),Pt(n.stream)?be(gi(Gt(n.stream,r)),r):V(r)}),f=(e,t,n,r)=>{let i=t.stdout?nd({evaluate:()=>t.stdout,onError:t=>sd(`fromReadable(stdout)`,od(t),e)}):ae,a=t.stderr?nd({evaluate:()=>t.stderr,onError:t=>sd(`fromReadable(stderr)`,od(t),e)}):ae;In(n.stream)&&(i=vn(i,n.stream)),In(r.stream)&&(a=vn(a,r.stream));let o=Oe(i,a);return{stdout:i,stderr:a,all:o}},p=(e,t)=>pt(n=>{let r=vt(),i=Ta.spawn(e.command,e.args,t);return i.on(`error`,t=>{n(je(sd(`spawn`,t,e)))}),i.on(`exit`,(...e)=>{Ti(r,Ye(e))}),i.on(`spawn`,()=>{n(V([i,r]))}),F(()=>{i.kill(`SIGTERM`)})}),m=(e,t,n)=>globalThis.process.platform===`win32`?pt(n=>{Ta.exec(`taskkill /pid ${t.pid} /T /F`,t=>{n(t?je(sd(`kill`,od(t),e)):R)})}):Ut({try:()=>{globalThis.process.kill(-t.pid,n)},catch:t=>sd(`kill`,od(t),e)}),h=(e,t,n)=>rt(()=>t.kill(n)?R:je(sd(`kill`,new globalThis.Error(`Failed to kill child process`),e))),g=(e,t,n)=>r=>{let i=n?.killSignal??`SIGTERM`;return qi(n?.forceKillAfter)?r(t,e,i):Rt(r(t,e,i),{duration:n.forceKillAfter,onTimeout:()=>r(t,e,`SIGKILL`)})},_=(e,t)=>{let n=t??`stdout`;switch(n){case`stdout`:return e.stdout;case`stderr`:return e.stderr;case`all`:return e.all;default:{let t=jn(n);return ve(t)?e.getOutputFd(t):e.stdout}}},v=rn(function*(e){switch(e._tag){case`StandardCommand`:{let t=o(e.options),i=s(e.options,`stdout`),a=s(e.options,`stderr`),_=c(e.options),[v,y]=yield*br(p(e,{cwd:yield*n(e.options),env:r(e.options),stdio:l(t,i,a,_),detached:e.options.detached??process.platform!==`win32`,shell:e.options.shell}),rn(function*([t,n]){let r=yield*xn(n),i=g(t,e,e.options);if(r){let[e]=yield*Xn(n);return e!==0&&N(e)?yield*ii(i(m)):yield*R}return yield*i((e,t,n)=>me(m(e,t,n),()=>h(e,t,n))).pipe(Be(Xn(n)),ii)})),b=kr(v.pid),x=yield*d(e,v,t),{all:ee,stderr:S,stdout:C}=f(e,v,i,a),{getInputFd:w,getOutputFd:te}=yield*u(e,v,_),T=U(xn(y),e=>!e);return Jn({pid:b,exitCode:Qt(Xn(y),([t,n])=>N(t)?V(Gr(t)):je(sd(`exitCode`,new globalThis.Error(`Process interrupted due to receipt of signal: '${n}'`),e))),isRunning:T,kill:t=>g(v,e,t)((e,t,n)=>me(m(e,t,n),()=>h(e,t,n))).pipe(Be(Xn(y)),Pe),stdin:x,stdout:C,stderr:S,all:ee,getInputFd:w,getOutputFd:te})}case`PipedCommand`:{let{commands:t,pipeOptions:n}=ld(e),[r,...i]=t,a=v(r);for(let e=0;e<i.length;e++){let t=i[e],r=n[e]??{},s=o(t.options),c=Wr(U(a,e=>_(e,r.from))),l=r.to??`stdin`;if(l===`stdin`)a=v(vi(t.command,t.args,{...t.options,stdin:{...s,stream:c}}));else{let e=jn(l);if(ve(e)){let n=Cr(e),r=t.options.additionalFds??{};a=v(vi(t.command,t.args,{...t.options,additionalFds:{...r,[n]:{type:`input`,stream:c}}}))}else a=v(vi(t.command,t.args,{...t.options,stdin:{...s,stream:c}}))}}return yield*a}}});return er(v)})),ld=e=>{let t=[],n=[],r=e=>{switch(e._tag){case`StandardCommand`:t.push(e);break;case`PipedCommand`:r(e.left),n.push(e.options),r(e.right);break}};if(r(e),t.length===0)throw Error(`flattenCommand produced empty commands array`);let[i,...a]=t;return{commands:[i,...a],pipeOptions:n}},ud=e=>t=>Yr({module:`FileSystem`,method:e,description:t.message??String(t)}),dd=(()=>{let e=I(ja.access,Qu(`FileSystem`,`access`),ud(`access`));return(t,n)=>{let r=ja.constants.F_OK;return n?.readable&&(r|=ja.constants.R_OK),n?.writable&&(r|=ja.constants.W_OK),e(t,r)}})(),fd=(()=>{let e=I(ja.cp,Qu(`FileSystem`,`copy`),ud(`copy`));return(t,n,r)=>e(t,n,{force:r?.overwrite??!1,preserveTimestamps:r?.preserveTimestamps??!1,recursive:!0})})(),pd=(()=>{let e=I(ja.copyFile,Qu(`FileSystem`,`copyFile`),ud(`copyFile`));return(t,n)=>e(t,n)})(),md=(()=>{let e=I(ja.chmod,Qu(`FileSystem`,`chmod`),ud(`chmod`));return(t,n)=>e(t,n)})(),hd=(()=>{let e=I(ja.chown,Qu(`FileSystem`,`chown`),ud(`chown`));return(t,n,r)=>e(t,n,r)})(),gd=(()=>{let e=I(ja.link,Qu(`FileSystem`,`link`),ud(`link`));return(t,n)=>e(t,n)})(),_d=(()=>{let e=I(ja.mkdir,Qu(`FileSystem`,`makeDirectory`),ud(`makeDirectory`));return(t,n)=>e(t,{recursive:n?.recursive??!1,mode:n?.mode})})(),vd=e=>{let t=I(ja.mkdtemp,Qu(`FileSystem`,e),ud(e));return e=>rt(()=>{let n=e?.prefix??``,r=typeof e?.directory==`string`?_a.join(e.directory,`.`):Na.tmpdir();return t(n?_a.join(r,n):r+`/`)})},yd=vd(`makeTempDirectory`),bd=e=>{let t=I(ja.rm,Qu(`FileSystem`,e),ud(e));return(e,n)=>t(e,{recursive:n?.recursive??!1,force:n?.force??!1})},xd=bd(`remove`),Sd=(()=>{let e=vd(`makeTempDirectoryScoped`),t=bd(`makeTempDirectoryScoped`);return n=>br(e(n),e=>ir(t(e,{recursive:!0})))})(),Cd=(e=>{let t=I(ja.open,Qu(`FileSystem`,e),ud(e)),n=I(ja.close,Qu(`FileSystem`,e),ud(e));return(e,r)=>le(br(t(e,r?.flag??`r`,r?.mode),e=>ir(n(e))),U(e=>wd(te(e),r?.flag?.startsWith(`a`)??!1)))})(`open`),wd=(()=>{let e=e=>I(ja.read,Qu(`FileSystem`,e),ud(e)),t=e(`read`),n=e(`readAlloc`),r=I(ja.fstat,Qu(`FileSystem`,`stat`),ud(`stat`)),i=I(ja.ftruncate,Qu(`FileSystem`,`truncate`),ud(`truncate`)),a=I(ja.fsync,Qu(`FileSystem`,`sync`),ud(`sync`)),o=e=>I(ja.write,Qu(`FileSystem`,e),ud(e)),s=o(`write`),l=o(`writeAll`);class u{[_r];fd;append;position=0n;constructor(e,t){this[_r]=_r,this.fd=e,this.append=t}get stat(){return U(r(this.fd),Nd)}get sync(){return a(this.fd)}seek(e,t){let n=c(e);return F(()=>(t===`start`?this.position=n:t===`current`&&(this.position+=n),this.position))}read(e){return rt(()=>{let n=this.position;return U(t(this.fd,{buffer:e,position:n}),e=>{let t=c(e);return this.position=n+t,t})})}readAlloc(e){let t=Number(e);return rt(()=>{let e=Buffer.allocUnsafeSlow(t),r=this.position;return U(n(this.fd,{buffer:e,position:r}),n=>{if(n===0)return Ct();if(this.position=r+BigInt(n),n===t)return A(e);let i=Buffer.allocUnsafeSlow(n);return e.copy(i,0,0,n),A(i)})})}truncate(e){return U(i(this.fd,e?Number(e):void 0),()=>{if(!this.append){let t=BigInt(e??0);this.position>t&&(this.position=t)}})}write(e){return rt(()=>{let t=this.position;return U(s(this.fd,e,void 0,void 0,this.append?void 0:Number(t)),e=>{let n=c(e);return this.append||(this.position=t+n),n})})}writeAllChunk(e){return rt(()=>{let t=this.position;return Qt(l(this.fd,e,void 0,void 0,this.append?void 0:Number(t)),n=>n===0?je(Pr({module:`FileSystem`,method:`writeAll`,_tag:`WriteZero`,pathOrDescriptor:this.fd,description:`write returned 0 bytes written`})):(this.append||(this.position=t+BigInt(n)),n<e.length?this.writeAllChunk(e.subarray(n)):R))})}writeAll(e){return this.writeAllChunk(e)}}return(e,t)=>new u(e,t)})(),Td=e=>{let t=vd(e);return rn(function*(e){let n=yield*t(e),r=ka.randomBytes(6).toString(`hex`),i=_a.join(n,e?.suffix?`${r}${e.suffix}`:r);return yield*Bd(i,new Uint8Array),i})},Ed=Td(`makeTempFile`),Dd=(()=>{let e=Td(`makeTempFileScoped`),t=bd(`makeTempFileScoped`);return n=>br(e(n),e=>ir(t(_a.dirname(e),{recursive:!0})))})(),Od=(e,t)=>Mt({try:()=>ja.promises.readdir(e,t),catch:t=>Qu(`FileSystem`,`readDirectory`)(t,[e])}),kd=e=>pt((t,n)=>{try{ja.readFile(e,{signal:n},(n,r)=>{t(n?je(Qu(`FileSystem`,`readFile`)(n,[e])):V(r))})}catch(e){t(je(ud(`readFile`)(e)))}}),Ad=(()=>{let e=I(ja.readlink,Qu(`FileSystem`,`readLink`),ud(`readLink`));return t=>e(t)})(),jd=(()=>{let e=I(ja.realpath,Qu(`FileSystem`,`realPath`),ud(`realPath`));return t=>e(t)})(),Md=(()=>{let e=I(ja.rename,Qu(`FileSystem`,`rename`),ud(`rename`));return(t,n)=>e(t,n)})(),Nd=e=>({type:e.isFile()?`File`:e.isDirectory()?`Directory`:e.isSymbolicLink()?`SymbolicLink`:e.isBlockDevice()?`BlockDevice`:e.isCharacterDevice()?`CharacterDevice`:e.isFIFO()?`FIFO`:e.isSocket()?`Socket`:`Unknown`,mtime:Yn(e.mtime),atime:Yn(e.atime),birthtime:Yn(e.birthtime),dev:e.dev,rdev:Yn(e.rdev),ino:Yn(e.ino),mode:e.mode,nlink:Yn(e.nlink),uid:Yn(e.uid),gid:Yn(e.gid),size:c(e.size),blksize:e.blksize===void 0?Ct():A(c(e.blksize)),blocks:Yn(e.blocks)}),Pd=(()=>{let e=I(ja.stat,Qu(`FileSystem`,`stat`),ud(`stat`));return t=>U(e(t),Nd)})(),Fd=(()=>{let e=I(ja.symlink,Qu(`FileSystem`,`symlink`),ud(`symlink`));return(t,n)=>e(t,n)})(),Id=(()=>{let e=I(ja.truncate,Qu(`FileSystem`,`truncate`),ud(`truncate`));return(t,n)=>e(t,n===void 0?void 0:Number(n))})(),Ld=(()=>{let e=I(ja.utimes,Qu(`FileSystem`,`utime`),ud(`utime`));return(t,n,r)=>e(t,n,r)})(),Rd=e=>He(t=>br(F(()=>{let n=ja.watch(e,{recursive:!0},(e,n)=>{if(n)switch(e){case`rename`:Ri(Kn(Pd(n),{onSuccess:e=>Er(t,{_tag:`Create`,path:n}),onFailure:e=>Er(t,{_tag:`Remove`,path:n})}));return;case`change`:xi(t,{_tag:`Update`,path:n});return}});return n.on(`error`,n=>{li(t,tt(Pr({module:`FileSystem`,_tag:`Unknown`,method:`watch`,pathOrDescriptor:e,cause:n})))}),n.on(`close`,()=>{gn(t)}),n}),e=>F(()=>e.close()))),zd=(e,t)=>Pd(t).pipe(U(n=>e.pipe(tr(e=>e.register(t,n)),wi(()=>Rd(t)))),Wr),Bd=(e,t,n)=>pt((r,i)=>{try{ja.writeFile(e,t,{signal:i,flag:n?.flag,mode:n?.mode},t=>{r(t?je(Qu(`FileSystem`,`writeFile`)(t,[e])):R)})}catch(e){r(je(ud(`writeFile`)(e)))}}),Vd=U(f(dr),e=>Le({access:dd,chmod:md,chown:hd,copy:fd,copyFile:pd,link:gd,makeDirectory:_d,makeTempDirectory:yd,makeTempDirectoryScoped:Sd,makeTempFile:Ed,makeTempFileScoped:Dd,open:Cd,readDirectory:Od,readFile:kd,readLink:Ad,realPath:jd,remove:xd,rename:Md,stat:Pd,symlink:Fd,truncate:Id,utimes:Ld,watch(t){return zd(e,t)},writeFile:Bd})),Hd=sr(qe)(Vd),Ud=e=>Ut({try:()=>xa.fileURLToPath(e),catch:e=>new qn({module:`Path`,method:`fromFileUrl`,cause:e})}),Wd=e=>Ut({try:()=>xa.pathToFileURL(e),catch:e=>new qn({module:`Path`,method:`toFileUrl`,cause:e})});({..._a.posix}),{..._a.win32};const Gd=bi(St)({[k]:k,..._a,fromFileUrl:Ud,toFileUrl:Wd}),Kd=bi(Ro,zo({args:F(()=>process.argv.slice(2)),stdout:e=>$u({evaluate:()=>process.stdout,onError:e=>Pr({module:`Stdio`,method:`stdout`,_tag:`Unknown`,cause:e}),endOnDone:e?.endOnDone??!1}),stderr:e=>$u({evaluate:()=>process.stderr,onError:e=>Pr({module:`Stdio`,method:`stderr`,_tag:`Unknown`,cause:e}),endOnDone:e?.endOnDone??!1}),stdin:nd({evaluate:()=>process.stdin,onError:e=>Pr({module:`Stdio`,method:`stdin`,_tag:`Unknown`,cause:e}),closeOnDone:!1})})),qd=sr(Ko,rn(function*(e=Jd){let t=process.stdin,n=process.stdout,r=yield*An({acquire:br(F(()=>{let e=Fa.createInterface({input:t,escapeCodeTimeout:50});return Fa.emitKeypressEvents(t,e),t.isTTY&&t.setRawMode(!0),e}),e=>F(()=>{t.isTTY&&t.setRawMode(!1),e.close()}))});return qo({columns:F(()=>n.columns??0),readInput:H(function*(){yield*di(r);let n=yield*On(),i=(t,r)=>{let i={input:cn(t),key:{name:r.name??``,ctrl:!!r.ctrl,meta:!!r.meta,shift:!!r.shift}};xi(n,i),e(i)&&gn(n)};return yield*d(()=>F(()=>t.off(`keypress`,i))),t.on(`keypress`,i),n}),readLine:Ze(Qt(di(r),e=>pt(t=>{let n=e=>t(V(e));return e.once(`line`,n),F(()=>e.off(`line`,n))}))),display:e=>L(pt(t=>{n.write(e,e=>Me(e)?t(R):t(je(Yr({module:`Terminal`,method:`display`,description:`Failed to write prompt to stdout`,cause:e}))))}))})})(Jd));function Jd(e){return e.key.ctrl&&(e.key.name===`c`||e.key.name===`d`)}const Yd=Tr(cd,ci(Hd,Gd,Kd,qd)),Xd=B.pipe(y(`SessionId`));var Zd=class extends xt(`AcpStreamError`)({_tag:De(`AcpStreamError`),cause:Zi}){message=`Streaming failed: ${this.cause}`},Qd=class extends xt(`AcpSessionCreateError`)({_tag:De(`AcpSessionCreateError`),cause:Zi}){message=`Creating session failed: ${this.cause}`},$d=class extends xt(`AcpConnectionInitError`)({_tag:De(`AcpConnectionInitError`),cause:Zi}){message=`Init connection failed: ${this.cause}`},ef=class extends xt(`AcpAdapterNotFoundError`)({_tag:De(`AcpAdapterNotFoundError`),packageName:B}){message=`ACP adapter not found: ${this.packageName}`},tf=class e extends Zr()(`@expect/AcpAdapter`){static layerCodex=sr(e)(Ut({try:()=>{let t=Qi(typeof __filename<`u`?__filename:import.meta.url).resolve(`@zed-industries/codex-acp/bin/codex-acp.js`);return e.of({bin:process.execPath,args:[t],env:{}})},catch:()=>new ef({packageName:`@zed-industries/codex-acp`})}));static layerClaude=sr(e)(Ut({try:()=>{let t=Qi(typeof __filename<`u`?__filename:import.meta.url).resolve(`@zed-industries/claude-agent-acp/dist/index.js`);return e.of({bin:process.execPath,args:[t],env:{}})},catch:()=>new ef({packageName:`@zed-industries/claude-agent-acp`})}))},nf=class extends Zr()(`@expect/AcpClient`,{make:H(function*(){let e=yield*tf;yield*P({adapter:e.args[0]}),yield*kn(`Initializing AcpClient`);let t=yield*Hn,n=yield*So(),r=yield*Pn(),i=new Map,a={requestPermission:e=>Promise.resolve({outcome:{outcome:`selected`,optionId:e.options.find(e=>e.kind===`allow_always`||e.kind===`allow_once`)?.optionId??e.options[0].optionId}}),sessionUpdate:async({sessionId:e,update:t})=>{let n=i.get(Xd.makeUnsafe(e));if(n===void 0)return console.warn(`updates queue not found for session ${e}`);xi(n,Nt(Ps)(t))}},o=yield*vi(e.bin,e.args,{env:e.env}).pipe(t.spawn);yield*P({pid:o.pid}),yield*Ur(`ACP adapter subprocess spawned`),yield*m(r).pipe(Gt(o.stdin),gi);let s=ur(o.stdout),c=new qu(e=>a,Ku(new WritableStream({write:e=>void xi(r,e)}),s)),l=Sa(new URL(`./browser-mcp.js`,import.meta.url)),u=e=>[{command:process.execPath,args:[l],env:[...e],name:`browser`}];yield*kn(`ACP connection initialized`,{capabilities:(yield*Mt({try:()=>c.initialize({protocolVersion:1}),catch:e=>new $d({cause:e})})).agentCapabilities});let d=qt(`AcpClient.createSession`)(function*(e,t=[]){yield*Ge({cwd:e});let n=u(t);return yield*Mt({try:()=>c.newSession({cwd:e,mcpServers:n}),catch:e=>new Qd({cause:e})}).pipe(U(({sessionId:e})=>Xd.makeUnsafe(e)),xe(e=>H(function*(){let t=yield*Pn();i.set(e,t),yield*kn(`ACP session created`,{sessionId:e})})))}),f=qt(`AcpClient.getQueueBySessionId`)(function*(e){if(!i.has(e))return yield*Ht(`Session ${e} not initialized, did you forget to call createSession?`);let t=yield*Pn();return i.set(e,t),t});return{createSession:d,stream:qt(`AcpClient.stream`)(function*({prompt:e,sessionId:t,cwd:r,mcpEnv:i=[]}){let a=_t(t)?t.value:yield*d(r,i);yield*Ur(`ACP stream starting`,{sessionId:a});let o=yield*f(a);return yield*Mt({try:()=>c.prompt({sessionId:a,prompt:[{type:`text`,text:e}]}),catch:e=>new Zd({cause:e})}).pipe(xe(()=>Ur(`ACP prompt completed`)),xe(()=>cr(o)),Do(n,a,{startImmediately:!0})),m(o)},Wr)}})}){static layer=sr(this)(this.make).pipe(Dn(Yd));static layerCodex=this.layer.pipe(Dn(tf.layerCodex));static layerClaude=this.layer.pipe(Dn(tf.layerClaude))},rf=class e extends Zr()(`@expect/Agent`){static layerAcp=sr(e)(H(function*(){let t=yield*nf;return e.of({createSession:e=>t.createSession(e),stream:e=>t.stream({cwd:e.cwd,sessionId:x(e.sessionId,e=>e),prompt:e.prompt,mcpEnv:e.mcpEnv})})})).pipe(Dn(nf.layer));static layerCodex=e.layerAcp.pipe(Dn(tf.layerCodex));static layerClaude=e.layerAcp.pipe(Dn(tf.layerClaude));static layerFor=t=>t===`claude`?e.layerClaude:e.layerCodex;static layerTest=t=>sr(e,H(function*(){let n=yield*qe,r=ge(Ps);return e.of({stream:()=>n.stream(t).pipe($e(),Vn,de(e=>r(JSON.parse(e))),Ce),createSession:()=>Ht(`createSession not supported for test layer`)})})).pipe(Dn(Yd))};const af=[`claude`,`codex`,`cursor`],of=e=>{try{return Oa(`which ${e}`,{stdio:`pipe`}),!0}catch{return!1}},sf=()=>af.filter(of),cf=12e3,lf=e=>e?[`Saved flow guidance:`,`You are replaying a previously saved flow. Follow these steps as guidance, but adapt if the UI has changed.`,`Saved flow title: ${e.title}`,`Saved flow request: ${e.userInstruction}`,``,...e.steps.flatMap((e,t)=>[`Step ${t+1}: ${e.title}`,`Instruction: ${e.instruction}`,`Expected: ${e.expectedOutcome}`,``])]:[],uf=e=>{switch(e){case`Commit`:return[`- Start narrow and prove the selected commit's intended change works first.`,`- Treat the selected commit and its touched files as the primary testing hypothesis.`,`- After the primary flow, test 2-4 adjacent flows that could regress from the same change. Think about what else touches the same components, routes, or data.`,`- For UI changes, verify related views that render the same data or share the same components.`];case`WorkingTree`:return[`- Start with the exact user-requested flow against the local in-progress changes.`,`- After the primary flow, test related flows that exercise the same code paths — aim for 2-3 follow-ups.`,`- Pay extra attention to partially-implemented features: check that incomplete states don't break existing behavior.`];case`Changes`:return[`- Treat committed and uncommitted work as one body of change.`,`- Cover the requested flow first, then the highest-risk adjacent flows.`,`- Test 2-4 follow-up flows, prioritizing paths that share components or data with the changed files.`,`- If the changes touch shared utilities or layouts, verify multiple pages that use them.`];default:return[`- This is a branch-level review — be thorough. The goal is to catch regressions before merge, not to do a quick spot-check.`,`- Cover the requested flow first, then systematically test each area affected by the changed files.`,`- Aim for 5-8 total tested flows. Derive them from the changed files: each changed route, component, or data path should get its own verification.`,`- Test cross-cutting concerns: if shared components, layouts, or utilities changed, verify them on multiple pages that consume them.`,`- Include at least one negative/edge-case flow (e.g. invalid input, empty state, unauthorized access, broken link) relevant to the changes.`,`- Do not stop after the happy path passes. The value of a branch review is catching what the developer might have missed.`]}},df=e=>{let t=e.browserMcpServerName??`browser`,n=e.changedFiles.slice(0,12),r=e.recentCommits.slice(0,5),i=e.diffPreview||``,a=i.length>cf?i.slice(0,cf)+`
|
|
11
|
+
... (truncated)`:i;return[`You are executing a browser regression test directly from repository context.`,`You have browser tools via the MCP server named "${t}":`,``,`1. open — Launch a browser and navigate to a URL.`,`2. playwright — Execute Playwright code in Node. Globals: page (Page), context (BrowserContext), browser (Browser), ref(id) (resolves a snapshot ref like 'e4' to a Playwright Locator). Supports await. Return a value to get it back as JSON.`,`3. screenshot — Capture page state. Set mode: 'snapshot' (ARIA accessibility tree, default and preferred), 'screenshot' (PNG image), or 'annotated' (PNG with numbered labels on interactive elements).`,`4. console_logs — Get browser console messages. Filter by type ('error', 'warning', 'log'). Use after navigation or interactions to catch errors.`,`5. network_requests — Get captured network requests. Filter by method, URL substring, or resource type ('xhr', 'fetch', 'document').`,`6. close — Close the browser and end the session.`,``,`Strongly prefer screenshot with mode 'snapshot' for observing page state — the ARIA tree is fast, cheap, and sufficient for almost all assertions.`,`Only use mode 'screenshot' or 'annotated' when you need to verify something purely visual (layout, colors, images) that the accessibility tree cannot capture.`,`After each step, check console_logs with type 'error' to catch unexpected errors.`,``,`Snapshot-driven workflow:`,`1. Call screenshot with mode 'snapshot' to get the ARIA tree with refs.`,`2. Read the tree to find your target elements. Every interactive element has a ref like [ref=e4].`,`3. Use ref() in one playwright call to perform multiple actions using the refs from the snapshot — fill forms, click buttons, wait, and return results all in one block.`,`4. Only take a new snapshot when the page structure has changed significantly (navigation, modal open, new content loaded) and you need fresh refs.`,``,`Example snapshot tree:`,` - navigation`,` - link "Home" [ref=e1]`,` - link "About" [ref=e2]`,` - main`,` - heading "Welcome"`,` - textbox "Email" [ref=e3]`,` - button "Submit" [ref=e4]`,``,`Acting on refs — use ref() to get a Locator directly from the snapshot ref ID:`,` await ref('e3').fill('test@example.com');`,` await ref('e4').click();`,` await ref('e1').click();`,``,`Always snapshot first, then use ref() to act. Never guess CSS selectors.`,``,`Batch as many actions as possible into a single playwright call to minimize round trips:`,` playwright: await ref('e3').fill('test@example.com'); await ref('e5').fill('secret'); await ref('e6').click(); await page.waitForLoadState('networkidle'); return await page.innerText('.result');`,` playwright: await ref('e1').click(); await page.waitForURL('**/about');`,` playwright: return { url: page.url(), title: await page.title() };`,``,`Execution strategy:`,`- First master the primary flow the developer asked for. Verify it thoroughly before moving on.`,`- Once the primary flow passes, test additional related flows suggested by the changed files and route context. The scope strategy below specifies how many — follow it.`,`- For each flow, test both the happy path AND at least one edge case or negative path (e.g. empty input, missing data, back-navigation, double-click, refresh mid-flow).`,`- Use the same browser session throughout unless the app forces you into a different path.`,`- Execution style is assertion-first: navigate, act, validate, recover once, then fail with evidence if still blocked.`,`- Create your own step structure while executing. Use stable sequential IDs like step-01, step-02, step-03.`,`- Take your time. A thorough run that catches real issues is more valuable than a fast run that misses them. Do not rush to RUN_COMPLETED.`,``,`Assertion depth — do not just confirm the page loaded. For each step, verify that the action produced the expected state change:`,`- Before acting, note what should change. After acting, confirm it actually changed.`,`- Check at least two independent signals per step (e.g. URL changed AND new content appeared, or item was added AND count updated).`,`- Verify absence when relevant: after a delete, the item is gone; after dismissing a modal, it no longer appears in the tree.`,`- Use playwright to return structured evidence rather than eyeballing snapshots: return { url: page.url(), title: await page.title(), visible: await ref('e5').isVisible() };`,`- If the changed files suggest specific behavior (e.g. a validation rule, a redirect, a computed value), test that specific behavior rather than just the surrounding UI.`,``,`Before and after each step, emit these exact status lines on their own lines:`,`STEP_START|<step-id>|<step-title>`,`STEP_DONE|<step-id>|<short-summary>`,`ASSERTION_FAILED|<step-id>|<why-it-failed>`,`RUN_COMPLETED|passed|<final-summary>`,`RUN_COMPLETED|failed|<final-summary>`,``,`Allowed failure categories: app-bug, env-issue, auth-blocked, missing-test-data, selector-drift, agent-misread.`,`When a step fails, gather structured evidence before emitting ASSERTION_FAILED:`,`- Call screenshot with mode 'snapshot' to capture the ARIA tree.`,`- Use playwright to gather diagnostics: return { url: page.url(), title: await page.title(), text: await page.innerText('body').then(t => t.slice(0, 500)) };`,`- Only take a visual screenshot if the failure might be layout/rendering related.`,`- Summarize the failure category and the most important evidence inside <why-it-failed>.`,``,`Stability heuristics:`,`- After navigation or major UI changes, use playwright to wait for the page to settle (e.g. await page.waitForLoadState('networkidle')).`,`- Use screenshot with mode 'snapshot' to inspect the accessibility tree before interactions that depend on current UI state.`,`- Avoid interacting while the UI is visibly loading or transitioning.`,`- Confirm you reached the expected page or route before continuing.`,`- When waiting for page changes (navigation, content loading, animations), prefer short incremental waits (1-3 seconds) with snapshot checks in between rather than a single long wait. For example, instead of waiting 10 seconds: wait 2s, take a snapshot, check if ready, if not wait 2s more and snapshot again. This lets you proceed as soon as the page is ready.`,``,`Recovery policy for each blocked step:`,`- Take a new snapshot to re-inspect the page and get fresh refs.`,`- Use playwright with ref() to scroll the target into view or retry the interaction once.`,`- If still blocked, classify the blocker with one allowed failure category and include that classification in ASSERTION_FAILED.`,``,`Avoid rabbit holes:`,`- Do not repeat the same failing action more than once without new evidence such as a fresh snapshot, a different ref, a changed page state, or a clear new hypothesis.`,`- If four attempts fail or progress stalls, stop acting and report what you observed, what blocked progress, and the most likely next step.`,`- Prefer gathering evidence over brute force. If the page is confusing, use screenshot with mode 'snapshot', playwright for console or network diagnostics, or a visual screenshot to understand it before trying more actions.`,`- If you encounter a blocker such as login, passkey/manual user interaction, permissions, captchas, destructive confirmations, missing data, or an unexpected state, stop and report it instead of improvising repeated actions.`,`- Do not get stuck in wait-action-wait loops. Every retry should be justified by something newly observed.`,``,`Before emitting RUN_COMPLETED, call the close tool exactly once so the browser session flushes the video to disk.`,``,`Environment:`,`- Base URL: ${e.baseUrl??`not provided`}`,`- Headed mode preference: ${e.isHeadless?`headless`:`headed`}`,`- Reuse browser cookies: ${e.requiresCookies?`yes`:`no`}`,``,`Testing target context:`,`- Scope: ${e.scope}`,`- Current branch: ${e.currentBranch}`,`- Main branch: ${e.mainBranch??`unknown`}`,``,`Developer request:`,e.userInstruction,``,...lf(e.savedFlow),`Project learnings from previous runs:`,e.learnings?.trim()||`No learnings yet.`,``,`Changed files:`,n.length>0?n.map(e=>`- [${e.status}] ${e.path}`).join(`
|
|
12
12
|
`):`- No changed files detected`,``,`Recent commits:`,r.length>0?r.map(e=>`- ${e.shortHash} ${e.subject}`).join(`
|
|
13
|
-
`):`- No recent commits available`,``,`Diff preview:`,a||`No diff preview available`,``,`Scope strategy:`,...
|
|
14
|
-
`)};var
|
|
13
|
+
`):`- No recent commits available`,``,`Diff preview:`,a||`No diff preview available`,``,`Scope strategy:`,...uf(e.scope)].join(`
|
|
14
|
+
`)};var ff=n(((e,t)=>{var n=1e3,r=n*60,i=r*60,a=i*24,o=a*7,s=a*365.25;t.exports=function(e,t){t||={};var n=typeof e;if(n===`string`&&e.length>0)return c(e);if(n===`number`&&isFinite(e))return t.long?u(e):l(e);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(e))};function c(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var c=parseFloat(t[1]);switch((t[2]||`ms`).toLowerCase()){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return c*s;case`weeks`:case`week`:case`w`:return c*o;case`days`:case`day`:case`d`:return c*a;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return c*i;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return c*r;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return c*n;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return c;default:return}}}}function l(e){var t=Math.abs(e);return t>=a?Math.round(e/a)+`d`:t>=i?Math.round(e/i)+`h`:t>=r?Math.round(e/r)+`m`:t>=n?Math.round(e/n)+`s`:e+`ms`}function u(e){var t=Math.abs(e);return t>=a?d(e,t,a,`day`):t>=i?d(e,t,i,`hour`):t>=r?d(e,t,r,`minute`):t>=n?d(e,t,n,`second`):e+` ms`}function d(e,t,n,r){var i=t>=n*1.5;return Math.round(e/n)+` `+r+(i?`s`:``)}})),pf=n(((e,t)=>{function n(e){n.debug=n,n.default=n,n.coerce=c,n.disable=o,n.enable=i,n.enabled=s,n.humanize=ff(),n.destroy=l,Object.keys(e).forEach(t=>{n[t]=e[t]}),n.names=[],n.skips=[],n.formatters={};function t(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return n.colors[Math.abs(t)%n.colors.length]}n.selectColor=t;function n(e){let t,i=null,a,o;function s(...e){if(!s.enabled)return;let r=s,i=Number(new Date);r.diff=i-(t||i),r.prev=t,r.curr=i,t=i,e[0]=n.coerce(e[0]),typeof e[0]!=`string`&&e.unshift(`%O`);let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(t,i)=>{if(t===`%%`)return`%`;a++;let o=n.formatters[i];if(typeof o==`function`){let n=e[a];t=o.call(r,n),e.splice(a,1),a--}return t}),n.formatArgs.call(r,e),(r.log||n.log).apply(r,e)}return s.namespace=e,s.useColors=n.useColors(),s.color=n.selectColor(e),s.extend=r,s.destroy=n.destroy,Object.defineProperty(s,`enabled`,{enumerable:!0,configurable:!1,get:()=>i===null?(a!==n.namespaces&&(a=n.namespaces,o=n.enabled(e)),o):i,set:e=>{i=e}}),typeof n.init==`function`&&n.init(s),s}function r(e,t){let r=n(this.namespace+(t===void 0?`:`:t)+e);return r.log=this.log,r}function i(e){n.save(e),n.namespaces=e,n.names=[],n.skips=[];let t=(typeof e==`string`?e:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let e of t)e[0]===`-`?n.skips.push(e.slice(1)):n.names.push(e)}function a(e,t){let n=0,r=0,i=-1,a=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||t[r]===`*`))t[r]===`*`?(i=r,a=n,r++):(n++,r++);else if(i!==-1)r=i+1,a++,n=a;else return!1;for(;r<t.length&&t[r]===`*`;)r++;return r===t.length}function o(){let e=[...n.names,...n.skips.map(e=>`-`+e)].join(`,`);return n.enable(``),e}function s(e){for(let t of n.skips)if(a(e,t))return!1;for(let t of n.names)if(a(e,t))return!0;return!1}function c(e){return e instanceof Error?e.stack||e.message:e}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}t.exports=n})),mf=n(((e,t)=>{e.formatArgs=r,e.save=i,e.load=a,e.useColors=n,e.storage=o(),e.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function n(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(e){if(e[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+e[0]+(this.useColors?`%c `:` `)+`+`+t.exports.humanize(this.diff),!this.useColors)return;let n=`color: `+this.color;e.splice(1,0,n,`color: inherit`);let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,e=>{e!==`%%`&&(r++,e===`%c`&&(i=r))}),e.splice(i,0,n)}e.log=console.debug||console.log||(()=>{});function i(t){try{t?e.storage.setItem(`debug`,t):e.storage.removeItem(`debug`)}catch{}}function a(){let t;try{t=e.storage.getItem(`debug`)||e.storage.getItem(`DEBUG`)}catch{}return!t&&typeof process<`u`&&`env`in process&&(t=process.env.DEBUG),t}function o(){try{return localStorage}catch{}}t.exports=pf()(e);let{formatters:s}=t.exports;s.j=function(e){try{return JSON.stringify(e)}catch(e){return`[UnexpectedJSONParseError]: `+e.message}}})),hf=n(((e,t)=>{t.exports=(e,t=process.argv)=>{let n=e.startsWith(`-`)?``:e.length===1?`-`:`--`,r=t.indexOf(n+e),i=t.indexOf(`--`);return r!==-1&&(i===-1||r<i)}})),gf=n(((t,n)=>{let r=e(`os`),i=e(`tty`),a=hf(),{env:o}=process,s;a(`no-color`)||a(`no-colors`)||a(`color=false`)||a(`color=never`)?s=0:(a(`color`)||a(`colors`)||a(`color=true`)||a(`color=always`))&&(s=1),`FORCE_COLOR`in o&&(s=o.FORCE_COLOR===`true`?1:o.FORCE_COLOR===`false`?0:o.FORCE_COLOR.length===0?1:Math.min(parseInt(o.FORCE_COLOR,10),3));function c(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function l(e,t){if(s===0)return 0;if(a(`color=16m`)||a(`color=full`)||a(`color=truecolor`))return 3;if(a(`color=256`))return 2;if(e&&!t&&s===void 0)return 0;let n=s||0;if(o.TERM===`dumb`)return n;if(process.platform===`win32`){let e=r.release().split(`.`);return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if(`CI`in o)return[`TRAVIS`,`CIRCLECI`,`APPVEYOR`,`GITLAB_CI`,`GITHUB_ACTIONS`,`BUILDKITE`].some(e=>e in o)||o.CI_NAME===`codeship`?1:n;if(`TEAMCITY_VERSION`in o)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o.TEAMCITY_VERSION)?1:0;if(o.COLORTERM===`truecolor`)return 3;if(`TERM_PROGRAM`in o){let e=parseInt((o.TERM_PROGRAM_VERSION||``).split(`.`)[0],10);switch(o.TERM_PROGRAM){case`iTerm.app`:return e>=3?3:2;case`Apple_Terminal`:return 2}}return/-256(color)?$/i.test(o.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)||`COLORTERM`in o?1:n}function u(e){return c(l(e,e&&e.isTTY))}n.exports={supportsColor:u,stdout:c(l(!0,i.isatty(1))),stderr:c(l(!0,i.isatty(2)))}})),_f=n(((t,n)=>{let r=e(`tty`),i=e(`util`);t.init=d,t.log=c,t.formatArgs=o,t.save=l,t.load=u,t.useColors=a,t.destroy=i.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),t.colors=[6,2,3,4,5,1];try{let e=gf();e&&(e.stderr||e).level>=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}t.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let n=t.substring(6).toLowerCase().replace(/_([a-z])/g,(e,t)=>t.toUpperCase()),r=process.env[t];return r=/^(yes|on|true|enabled)$/i.test(r)?!0:/^(no|off|false|disabled)$/i.test(r)?!1:r===`null`?null:Number(r),e[n]=r,e},{});function a(){return`colors`in t.inspectOpts?!!t.inspectOpts.colors:r.isatty(process.stderr.fd)}function o(e){let{namespace:t,useColors:r}=this;if(r){let r=this.color,i=`\x1B[3`+(r<8?r:`8;5;`+r),a=` ${i};1m${t} \u001B[0m`;e[0]=a+e[0].split(`
|
|
15
15
|
`).join(`
|
|
16
16
|
`+a),e.push(i+`m+`+n.exports.humanize(this.diff)+`\x1B[0m`)}else e[0]=s()+t+` `+e[0]}function s(){return t.inspectOpts.hideDate?``:new Date().toISOString()+` `}function c(...e){return process.stderr.write(i.formatWithOptions(t.inspectOpts,...e)+`
|
|
17
|
-
`)}function l(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function u(){return process.env.DEBUG}function d(e){e.inspectOpts={};let n=Object.keys(t.inspectOpts);for(let r=0;r<n.length;r++)e.inspectOpts[n[r]]=t.inspectOpts[n[r]]}n.exports=
|
|
18
|
-
`).map(e=>e.trim()).join(` `)},f.O=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts)}})),
|
|
19
|
-
`){return e.split(n).reduce((e,n)=>{let r=t?n.trim():n;return r&&e.push(r),e},[])}function
|
|
20
|
-
`)){let e=
|
|
21
|
-
`);a=e[0],i=e[1]}yield{file:r,key:a,value:i}}}var jm,Mm=Z({"src/lib/responses/ConfigList.ts"(){$(),jm=class{constructor(){this.files=[],this.values=Object.create(null)}get all(){return this._all||=this.files.reduce((e,t)=>Object.assign(e,this.values[t]),{}),this._all}addFile(e){if(!(e in this.values)){let t=Kf(this.files);this.values[e]=t?Object.create(this.values[t]):{},this.files.push(e)}return this.values[e]}addValue(e,t,n){let r=this.addFile(e);Object.hasOwn(r,t)?Array.isArray(r[t])?r[t].push(n):r[t]=[r[t],n]:r[t]=n,this._all=void 0}}}});function Nm(e,t){return typeof e==`string`&&Object.hasOwn(Rm,e)?e:t}function Pm(e,t,n,r){let i=[`config`,`--${r}`];return n&&i.push(`--add`),i.push(e,t),{commands:i,format:`utf-8`,parser(e){return e}}}function Fm(e,t){let n=[`config`,`--null`,`--show-origin`,`--get-all`,e];return t&&n.splice(1,0,`--${t}`),{commands:n,format:`utf-8`,parser(t){return Om(t,e)}}}function Im(e){let t=[`config`,`--list`,`--show-origin`,`--null`];return e&&t.push(`--${e}`),{commands:t,format:`utf-8`,parser(e){return Dm(e)}}}function Lm(){return{addConfig(e,t,...n){return this._runTask(Pm(e,t,n[0]===!0,Nm(n[1],`local`)),Lp(arguments))},getConfig(e,t){return this._runTask(Fm(e,Nm(t,void 0)),Lp(arguments))},listConfig(...e){return this._runTask(Im(Nm(e[0],void 0)),Lp(arguments))}}}var Rm,zm=Z({"src/lib/tasks/config.ts"(){Mm(),$(),Rm=(e=>(e.system=`system`,e.global=`global`,e.local=`local`,e.worktree=`worktree`,e))(Rm||{})}});function Bm(e){return Hm.has(e)}var Vm,Hm,Um=Z({"src/lib/tasks/diff-name-status.ts"(){Vm=(e=>(e.ADDED=`A`,e.COPIED=`C`,e.DELETED=`D`,e.MODIFIED=`M`,e.RENAMED=`R`,e.CHANGED=`T`,e.UNMERGED=`U`,e.UNKNOWN=`X`,e.BROKEN=`B`,e))(Vm||{}),Hm=new Set(Object.values(Vm))}});function Wm(...e){return new Xm().param(...e)}function Gm(e){let t=new Set,n={};return Yf(e,e=>{let[r,i,a]=e.split(lp);t.add(r),(n[r]=n[r]||[]).push({line:rp(i),path:r,preview:a})}),{paths:t,results:n}}function Km(){return{grep(e){let t=Lp(arguments),n=Pp(arguments);for(let e of qm)if(n.includes(e))return this._runTask(om(`git.grep: use of "${e}" is not supported.`),t);typeof e==`string`&&(e=Wm().param(e));let r=[`grep`,`--null`,`-n`,`--full-name`,...n,...e];return this._runTask({commands:r,format:`utf-8`,parser(e){return Gm(e)}},t)}}}var qm,Jm,Ym,Xm,Zm=Z({"src/lib/tasks/grep.ts"(){$(),fm(),qm=[`-h`],Jm=Symbol(`grepQuery`),Xm=class{constructor(){this[Ym]=[]}*[(Ym=Jm,Symbol.iterator)](){for(let e of this[Jm])yield e}and(...e){return e.length&&this[Jm].push(`--and`,`(`,...ip(e,`-e`),`)`),this}param(...e){return this[Jm].push(...ip(e,`-e`)),this}}}}),Qm={};Of(Qm,{ResetMode:()=>nh,getResetMode:()=>eh,resetTask:()=>$m});function $m(e,t){let n=[`reset`];return th(e)&&n.push(`--${e}`),n.push(...t),sm(n)}function eh(e){if(th(e))return e;switch(typeof e){case`string`:case`undefined`:return`soft`}}function th(e){return typeof e==`string`&&rh.includes(e)}var nh,rh,ih=Z({"src/lib/tasks/reset.ts"(){$(),fm(),nh=(e=>(e.MIXED=`mixed`,e.SOFT=`soft`,e.HARD=`hard`,e.MERGE=`merge`,e.KEEP=`keep`,e))(nh||{}),rh=np(Object.values(nh))}});function ah(){return(0,xf.default)(`simple-git`)}function oh(e,t,n){return!t||!String(t).replace(/\s*/,``)?n?(t,...r)=>{e(t,...r),n(t,...r)}:e:(r,...i)=>{e(`%s ${r}`,t,...i),n&&n(r,...i)}}function sh(e,t,{namespace:n}){if(typeof e==`string`)return e;let r=t&&t.namespace||``;return r.startsWith(n)?r.substr(n.length+1):r||n}function ch(e,t,n,r=ah()){let i=e&&`[${e}]`||``,a=[],o=typeof t==`string`?r.extend(t):t,s=sh(pp(t,yp),o,r);return l(n);function c(t,n){return Zf(a,ch(e,s.replace(/^[^:]+/,t),n,r))}function l(t){let n=t&&`[${t}]`||``,a=o&&oh(o,n)||up,s=oh(r,`${i} ${n}`,a);return Object.assign(o?a:s,{label:e,sibling:c,info:s,step:l})}}var lh=Z({"src/lib/git-logger.ts"(){$(),xf.default.formatters.L=e=>String(xp(e)?e.length:`-`),xf.default.formatters.B=e=>Buffer.isBuffer(e)?e.toString(`utf8`):dp(e)}}),uh,dh=Z({"src/lib/runners/tasks-pending-queue.ts"(){Lf(),lh(),uh=class e{constructor(e=`GitExecutor`){this.logLabel=e,this._queue=new Map}withProgress(e){return this._queue.get(e)}createProgress(t){let n=e.getName(t.commands[0]);return{task:t,logger:ch(this.logLabel,n),name:n}}push(e){let t=this.createProgress(e);return t.logger(`Adding task to the queue, commands = %o`,e.commands),this._queue.set(e,t),t}fatal(e){for(let[t,{logger:n}]of Array.from(this._queue.entries()))t===e.task?(n.info(`Failed %o`,e),n(`Fatal exception, any as-yet un-started tasks run through this executor will not be attempted`)):n.info(`A fatal exception occurred in a previous task, the queue has been purged: %o`,e.message),this.complete(t);if(this._queue.size!==0)throw Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(e){this.withProgress(e)&&this._queue.delete(e)}attempt(e){let t=this.withProgress(e);if(!t)throw new If(void 0,`TasksPendingQueue: attempt called for an unknown task`);return t.logger(`Starting task`),t}static getName(t=`empty`){return`task:${t}:${++e.counter}`}static{this.counter=0}}}});function fh(e,t){return{method:Gf(e.commands)||``,commands:t}}function ph(e,t){return n=>{t(`[ERROR] child process exception %o`,n),e.push(Buffer.from(String(n.stack),`ascii`))}}function mh(e,t,n,r){return i=>{n(`%s received %L bytes`,t,i),r(`%B`,i),e.push(i)}}var hh,gh=Z({"src/lib/runners/git-executor-chain.ts"(){Lf(),fm(),$(),dh(),hh=class{constructor(e,t,n){this._executor=e,this._scheduler=t,this._plugins=n,this._chain=Promise.resolve(),this._queue=new uh}get cwd(){return this._cwd||this._executor.cwd}set cwd(e){this._cwd=e}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(e){return this._queue.push(e),this._chain=this._chain.then(()=>this.attemptTask(e))}async attemptTask(e){let t=await this._scheduler.next(),n=()=>this._queue.complete(e);try{let{logger:t}=this._queue.attempt(e);return await(um(e)?this.attemptEmptyTask(e,t):this.attemptRemoteTask(e,t))}catch(t){throw this.onFatalException(e,t)}finally{n(),t()}}onFatalException(e,t){let n=t instanceof If?Object.assign(t,{task:e}):new If(e,t&&String(t));return this._chain=Promise.resolve(),this._queue.fatal(n),n}async attemptRemoteTask(e,t){let n=this._plugins.exec(`spawn.binary`,``,fh(e,e.commands)),r=this._plugins.exec(`spawn.args`,[...e.commands],fh(e,e.commands)),i=await this.gitResponse(e,n,r,this.outputHandler,t.step(`SPAWN`)),a=await this.handleTaskData(e,r,i,t.step(`HANDLE`));return t(`passing response to task's parser as a %s`,e.format),lm(e)?zp(e.parser,a):zp(e.parser,a.asStrings())}async attemptEmptyTask(e,t){return t(`empty task bypassing child process to call to task's parser`),e.parser(this)}handleTaskData(e,t,n,r){let{exitCode:i,rejection:a,stdOut:o,stdErr:s}=n;return new Promise((c,l)=>{r(`Preparing to handle process response exitCode=%d stdOut=`,i);let{error:u}=this._plugins.exec(`task.error`,{error:a},{...fh(e,t),...n});if(u&&e.onError)return r.info(`exitCode=%s handling with custom error handler`),e.onError(n,u,e=>{r.info(`custom error handler treated as success`),r(`custom error returned a %s`,dp(e)),c(new Tp(Array.isArray(e)?Buffer.concat(e):e,Buffer.concat(s)))},l);if(u)return r.info(`handling as error: exitCode=%s stdErr=%s rejection=%o`,i,s.length,a),l(u);r.info(`retrieving task output complete`),c(new Tp(Buffer.concat(o),Buffer.concat(s)))})}async gitResponse(e,t,n,r,i){let a=i.sibling(`output`),o=this._plugins.exec(`spawn.options`,{cwd:this.cwd,env:this.env,windowsHide:!0},fh(e,e.commands));return new Promise(s=>{let c=[],l=[];i.info(`%s %o`,t,n),i(`%O`,o);let u=this._beforeSpawn(e,n);if(u)return s({stdOut:c,stdErr:l,exitCode:9901,rejection:u});this._plugins.exec(`spawn.before`,void 0,{...fh(e,n),kill(e){u=e||u}});let d=za(t,n,o);d.stdout.on(`data`,mh(c,`stdOut`,i,a.step(`stdOut`))),d.stderr.on(`data`,mh(l,`stdErr`,i,a.step(`stdErr`))),d.on(`error`,ph(l,i)),r&&(i(`Passing child process stdOut/stdErr to custom outputHandler`),r(t,d.stdout,d.stderr,[...n])),this._plugins.exec(`spawn.after`,void 0,{...fh(e,n),spawned:d,close(e,t){s({stdOut:c,stdErr:l,exitCode:e,rejection:u||t})},kill(e){d.killed||(u=e,d.kill(`SIGINT`))}})})}_beforeSpawn(e,t){let n;return this._plugins.exec(`spawn.before`,void 0,{...fh(e,t),kill(e){n=e||n}}),n}}}}),_h={};Of(_h,{GitExecutor:()=>vh});var vh,yh=Z({"src/lib/runners/git-executor.ts"(){gh(),vh=class{constructor(e,t,n){this.cwd=e,this._scheduler=t,this._plugins=n,this._chain=new hh(this,this._scheduler,this._plugins)}chain(){return new hh(this,this._scheduler,this._plugins)}push(e){return this._chain.push(e)}}}});function bh(e,t,n=up){t.then(e=>{n(null,e)},t=>{t?.task===e&&n(t instanceof Rf?xh(t):t,void 0)})}function xh(e){let t=e=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${e} should be GitResponseError.git.${e}, this will no longer be available in version 3`),t=up};return Object.create(e,Object.getOwnPropertyNames(e.git).reduce(n,{}));function n(n,r){return r in e||(n[r]={enumerable:!1,configurable:!1,get(){return t(r),e.git[r]}}),n}}var Sh=Z({"src/lib/task-callback.ts"(){zf(),$()}});function Ch(e,t){return am(n=>{if(!Xf(e))throw Error(`Git.cwd: cannot change to non-directory "${e}"`);return(t||n).cwd=e})}var wh=Z({"src/lib/tasks/change-working-directory.ts"(){$(),fm()}});function Th(e){let t=[`checkout`,...e];return t[1]===`-b`&&t.includes(`-B`)&&(t[1]=$f(t,`-B`)),sm(t)}function Eh(){return{checkout(){return this._runTask(Th(Pp(arguments,1)),Lp(arguments))},checkoutBranch(e,t){return this._runTask(Th([`-b`,e,t,...Pp(arguments)]),Lp(arguments))},checkoutLocalBranch(e){return this._runTask(Th([`-b`,e,...Pp(arguments)]),Lp(arguments))}}}var Dh=Z({"src/lib/tasks/checkout.ts"(){$(),fm()}});function Oh(){return{count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0}}function kh(){return{countObjects(){return this._runTask({commands:[`count-objects`,`--verbose`],format:`utf-8`,parser(e){return Bp(Oh(),[Ah],e)}})}}}var Ah,jh=Z({"src/lib/tasks/count-objects.ts"(){$(),Ah=new Q(/([a-z-]+): (\d+)$/,(e,[t,n])=>{let r=tp(t);Object.hasOwn(e,r)&&(e[r]=rp(n))})}});function Mh(e){return Bp({author:null,branch:``,commit:``,root:!1,summary:{changes:0,insertions:0,deletions:0}},Nh,e)}var Nh,Ph=Z({"src/lib/parsers/parse-commit.ts"(){$(),Nh=[new Q(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(e,[t,n,r])=>{e.branch=t,e.commit=r,e.root=!!n}),new Q(/\s*Author:\s(.+)/i,(e,[t])=>{let n=t.split(`<`),r=n.pop();!r||!r.includes(`@`)||(e.author={email:r.substr(0,r.length-1),name:n.join(`<`).trim()})}),new Q(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(e,[t,n,r])=>{e.summary.changes=parseInt(t,10)||0,e.summary.insertions=parseInt(n,10)||0,e.summary.deletions=parseInt(r,10)||0}),new Q(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(e,[t,n,r])=>{e.summary.changes=parseInt(t,10)||0;let i=parseInt(n,10)||0;r===`-`?e.summary.deletions=i:r===`+`&&(e.summary.insertions=i)})]}});function Fh(e,t,n){return{commands:[`-c`,`core.abbrev=40`,`commit`,...ip(e,`-m`),...t,...n],format:`utf-8`,parser:Mh}}function Ih(){return{commit(t,...n){let r=Lp(arguments),i=e(t)||Fh(ep(t),ep(pp(n[0],bp,[])),[...np(pp(n[1],_p,[])),...Pp(arguments,0,!0)]);return this._runTask(i,r)}};function e(e){return!bp(e)&&om(`git.commit: requires the commit message to be supplied as a string/string[]`)}}var Lh=Z({"src/lib/tasks/commit.ts"(){Ph(),$(),fm()}});function Rh(){return{firstCommit(){return this._runTask(sm([`rev-list`,`--max-parents=0`,`HEAD`],!0),Lp(arguments))}}}var zh=Z({"src/lib/tasks/first-commit.ts"(){$(),fm()}});function Bh(e,t){let n=[`hash-object`,e];return t&&n.push(`-w`),sm(n,!0)}var Vh=Z({"src/lib/tasks/hash-object.ts"(){fm()}});function Hh(e,t,n){let r=String(n).trim(),i;if(i=Wh.exec(r))return new Uh(e,t,!1,i[1]);if(i=Gh.exec(r))return new Uh(e,t,!0,i[1]);let a=``,o=r.split(` `);for(;o.length;)if(o.shift()===`in`){a=o.join(` `);break}return new Uh(e,t,/^re/i.test(r),a)}var Uh,Wh,Gh,Kh=Z({"src/lib/responses/InitSummary.ts"(){Uh=class{constructor(e,t,n,r){this.bare=e,this.path=t,this.existing=n,this.gitDir=r}},Wh=/^Init.+ repository in (.+)$/,Gh=/^Rein.+ in (.+)$/}});function qh(e){return e.includes(Yh)}function Jh(e=!1,t,n){let r=[`init`,...n];return e&&!qh(r)&&r.splice(1,0,Yh),{commands:r,format:`utf-8`,parser(e){return Hh(r.includes(`--bare`),t,e)}}}var Yh,Xh=Z({"src/lib/tasks/init.ts"(){Kh(),Yh=`--bare`}});function Zh(e){for(let t=0;t<e.length;t++){let n=$h.exec(e[t]);if(n)return`--${n[1]}`}return``}function Qh(e){return $h.test(e)}var $h,eg=Z({"src/lib/args/log-format.ts"(){$h=/^--(stat|numstat|name-only|name-status)(=|$)/}}),tg,ng=Z({"src/lib/responses/DiffSummary.ts"(){tg=class{constructor(){this.changed=0,this.deletions=0,this.insertions=0,this.files=[]}}}});function rg(e=``){let t=cg[e];return e=>Bp(new tg,t,e,!1)}var ig,ag,og,sg,cg,lg=Z({"src/lib/parsers/parse-diff-summary.ts"(){eg(),ng(),Um(),$(),ig=[new Q(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(e,[t,n,r=``])=>{e.files.push({file:t.trim(),changes:rp(n),insertions:r.replace(/[^+]/g,``).length,deletions:r.replace(/[^-]/g,``).length,binary:!1})}),new Q(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(e,[t,n,r])=>{e.files.push({file:t.trim(),before:rp(n),after:rp(r),binary:!0})}),new Q(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(e,[t,n])=>{let r=/(\d+) i/.exec(n),i=/(\d+) d/.exec(n);e.changed=rp(t),e.insertions=rp(r?.[1]),e.deletions=rp(i?.[1])})],ag=[new Q(/(\d+)\t(\d+)\t(.+)$/,(e,[t,n,r])=>{let i=rp(t),a=rp(n);e.changed++,e.insertions+=i,e.deletions+=a,e.files.push({file:r,changes:i+a,insertions:i,deletions:a,binary:!1})}),new Q(/-\t-\t(.+)$/,(e,[t])=>{e.changed++,e.files.push({file:t,after:0,before:0,binary:!0})})],og=[new Q(/(.+)$/,(e,[t])=>{e.changed++,e.files.push({file:t,changes:0,insertions:0,deletions:0,binary:!1})})],sg=[new Q(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(e,[t,n,r,i,a])=>{e.changed++,e.files.push({file:a??r,changes:0,insertions:0,deletions:0,binary:!1,status:cp(Bm(t)&&t),from:cp(!!a&&r!==a&&r),similarity:rp(n)})})],cg={"":ig,"--stat":ig,"--numstat":ag,"--name-status":sg,"--name-only":og}}});function ug(e,t){return t.reduce((t,n,r)=>(t[n]=e[r]||``,t),Object.create({diff:null}))}function dg(e=mg,t=hg,n=``){let r=rg(n);return function(n){let i=Jf(n.trim(),!1,fg).map(function(n){let i=n.split(pg),a=ug(i[0].split(e),t);return i.length>1&&i[1].trim()&&(a.diff=r(i[1])),a});return{all:i,latest:i.length&&i[0]||null,total:i.length}}}var fg,pg,mg,hg,gg=Z({"src/lib/parsers/parse-list-log-summary.ts"(){$(),lg(),eg(),fg=`òòòòòò `,pg=` òò`,mg=` ò `,hg=[`hash`,`date`,`message`,`refs`,`author_name`,`author_email`]}}),_g={};Of(_g,{diffSummaryTask:()=>vg,validateLogFormatConfig:()=>yg});function vg(e){let t=Zh(e),n=[`diff`];return t===``&&(t=`--stat`,n.push(`--stat=4096`)),n.push(...e),yg(n)||{commands:n,format:`utf-8`,parser:rg(t)}}function yg(e){let t=e.filter(Qh);if(t.length>1)return om(`Summary flags are mutually exclusive - pick one of ${t.join(`,`)}`);if(t.length&&e.includes(`-z`))return om(`Summary flag ${t} parsing is not compatible with null termination option '-z'`)}var bg=Z({"src/lib/tasks/diff.ts"(){eg(),lg(),fm()}});function xg(e,t){let n=[],r=[];return Object.keys(e).forEach(t=>{n.push(t),r.push(String(e[t]))}),[n,r.join(t)]}function Sg(e){return Object.keys(e).reduce((t,n)=>(n in Eg||(t[n]=e[n]),t),{})}function Cg(e={},t=[]){let n=pp(e.splitter,yp,mg),[r,i]=xg(hp(e.format)?e.format:{hash:`%H`,date:e.strictDate===!1?`%ai`:`%aI`,message:`%s`,refs:`%D`,body:e.multiLine?`%B`:`%b`,author_name:e.mailMap===!1?`%an`:`%aN`,author_email:e.mailMap===!1?`%ae`:`%aE`},n),a=[],o=[`--pretty=format:${fg}${i}${pg}`,...t],s=e.n||e[`max-count`]||e.maxCount;if(s&&o.push(`--max-count=${s}`),e.from||e.to){let t=e.symmetric===!1?`..`:`...`;a.push(`${e.from||``}${t}${e.to||``}`)}return yp(e.file)&&o.push(`--follow`,jf(e.file)),Np(Sg(e),o),{fields:r,splitter:n,commands:[...o,...a]}}function wg(e,t,n){let r=dg(e,t,Zh(n));return{commands:[`log`,...n],format:`utf-8`,parser:r}}function Tg(){return{log(...n){let r=Lp(arguments),i=Cg(Ip(arguments),np(pp(arguments[0],_p,[]))),a=t(...n)||yg(i.commands)||e(i);return this._runTask(a,r)}};function e(e){return wg(e.splitter,e.fields,e.commands)}function t(e,t){return yp(e)&&yp(t)&&om(`git.log(string, string) should be replaced with git.log({ from: string, to: string })`)}}var Eg,Dg=Z({"src/lib/tasks/log.ts"(){eg(),Ff(),gg(),$(),fm(),bg(),Eg=(e=>(e[e[`--pretty`]=0]=`--pretty`,e[e[`max-count`]=1]=`max-count`,e[e.maxCount=2]=`maxCount`,e[e.n=3]=`n`,e[e.file=4]=`file`,e[e.format=5]=`format`,e[e.from=6]=`from`,e[e.to=7]=`to`,e[e.splitter=8]=`splitter`,e[e.symmetric=9]=`symmetric`,e[e.mailMap=10]=`mailMap`,e[e.multiLine=11]=`multiLine`,e[e.strictDate=12]=`strictDate`,e))(Eg||{})}}),Og,kg,Ag=Z({"src/lib/responses/MergeSummary.ts"(){Og=class{constructor(e,t=null,n){this.reason=e,this.file=t,this.meta=n}toString(){return`${this.file}:${this.reason}`}},kg=class{constructor(){this.conflicts=[],this.merges=[],this.result=`success`}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(`, `)}`:`OK`}}}}),jg,Mg,Ng=Z({"src/lib/responses/PullSummary.ts"(){jg=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},Mg=class{constructor(){this.remote=``,this.hash={local:``,remote:``},this.branch={local:``,remote:``},this.message=``}toString(){return this.message}}}});function Pg(e){return e.objects=e.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function Fg(e){let t=/^\s*(\d+)/.exec(e),n=/delta (\d+)/i.exec(e);return{count:rp(t&&t[1]||`0`),delta:rp(n&&n[1]||`0`)}}var Ig,Lg=Z({"src/lib/parsers/parse-remote-objects.ts"(){$(),Ig=[new Op(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(e,[t,n])=>{let r=t.toLowerCase(),i=Pg(e.remoteMessages);Object.assign(i,{[r]:rp(n)})}),new Op(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(e,[t,n])=>{let r=t.toLowerCase(),i=Pg(e.remoteMessages);Object.assign(i,{[r]:rp(n)})}),new Op(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(e,[t,n,r])=>{let i=Pg(e.remoteMessages);i.total=Fg(t),i.reused=Fg(n),i.packReused=rp(r)})]}});function Rg(e,t){return Bp({remoteMessages:new Bg},zg,t)}var zg,Bg,Vg=Z({"src/lib/parsers/parse-remote-messages.ts"(){$(),Lg(),zg=[new Op(/^remote:\s*(.+)$/,(e,[t])=>(e.remoteMessages.all.push(t.trim()),!1)),...Ig,new Op([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(e,[t])=>{e.remoteMessages.pullRequestUrl=t}),new Op([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(e,[t,n,r])=>{e.remoteMessages.vulnerabilities={count:rp(t),summary:n,url:r}})],Bg=class{constructor(){this.all=[]}}}});function Hg(e,t){let n=Bp(new Mg,qg,[e,t]);return n.message&&n}var Ug,Wg,Gg,Kg,qg,Jg,Yg,Xg=Z({"src/lib/parsers/parse-pull.ts"(){Ng(),$(),Vg(),Ug=/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,Wg=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,Gg=/^(create|delete) mode \d+ (.+)/,Kg=[new Q(Ug,(e,[t,n,r])=>{e.files.push(t),n&&(e.insertions[t]=n.length),r&&(e.deletions[t]=r.length)}),new Q(Wg,(e,[t,,n,,r])=>n!==void 0||r!==void 0?(e.summary.changes=+t||0,e.summary.insertions=+n||0,e.summary.deletions=+r||0,!0):!1),new Q(Gg,(e,[t,n])=>{Zf(e.files,n),Zf(t===`create`?e.created:e.deleted,n)})],qg=[new Q(/^from\s(.+)$/i,(e,[t])=>void(e.remote=t)),new Q(/^fatal:\s(.+)$/,(e,[t])=>void(e.message=t)),new Q(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(e,[t,n,r,i])=>{e.branch.local=r,e.hash.local=t,e.branch.remote=i,e.hash.remote=n})],Jg=(e,t)=>Bp(new jg,Kg,[e,t]),Yg=(e,t)=>Object.assign(new jg,Jg(e,t),Rg(e,t))}}),Zg,Qg,$g,e_=Z({"src/lib/parsers/parse-merge.ts"(){Ag(),$(),Xg(),Zg=[new Q(/^Auto-merging\s+(.+)$/,(e,[t])=>{e.merges.push(t)}),new Q(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(e,[t,n])=>{e.conflicts.push(new Og(t,n))}),new Q(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(e,[t,n,r])=>{e.conflicts.push(new Og(t,n,{deleteRef:r}))}),new Q(/^CONFLICT\s+\((.+)\):/,(e,[t])=>{e.conflicts.push(new Og(t,null))}),new Q(/^Automatic merge failed;\s+(.+)$/,(e,[t])=>{e.result=t})],Qg=(e,t)=>Object.assign($g(e,t),Yg(e,t)),$g=e=>Bp(new kg,Zg,e)}});function t_(e){return e.length?{commands:[`merge`,...e],format:`utf-8`,parser(e,t){let n=Qg(e,t);if(n.failed)throw new Rf(n);return n}}:om(`Git.merge requires at least one option`)}var n_=Z({"src/lib/tasks/merge.ts"(){zf(),e_(),fm()}});function r_(e,t,n){let r=n.includes(`deleted`),i=n.includes(`tag`)||/^refs\/tags/.test(e),a=!n.includes(`new`);return{deleted:r,tag:i,branch:!i,new:!a,alreadyUpdated:a,local:e,remote:t}}var i_,a_,o_,s_=Z({"src/lib/parsers/parse-push.ts"(){$(),Vg(),i_=[new Q(/^Pushing to (.+)$/,(e,[t])=>{e.repo=t}),new Q(/^updating local tracking ref '(.+)'/,(e,[t])=>{e.ref={...e.ref||{},local:t}}),new Q(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(e,[t,n,r])=>{e.pushed.push(r_(t,n,r))}),new Q(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(e,[t,n,r])=>{e.branch={...e.branch||{},local:t,remote:n,remoteName:r}}),new Q(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(e,[t,n,r,i])=>{e.update={head:{local:t,remote:n},hash:{from:r,to:i}}})],a_=(e,t)=>{let n=o_(e,t),r=Rg(e,t);return{...n,...r}},o_=(e,t)=>Bp({pushed:[]},i_,[e,t])}}),c_={};Of(c_,{pushTagsTask:()=>l_,pushTask:()=>u_});function l_(e={},t){return Zf(t,`--tags`),u_(e,t)}function u_(e={},t){let n=[`push`,...t];return e.branch&&n.splice(1,0,e.branch),e.remote&&n.splice(1,0,e.remote),$f(n,`-v`),Zf(n,`--verbose`),Zf(n,`--porcelain`),{commands:n,format:`utf-8`,parser:a_}}var d_=Z({"src/lib/tasks/push.ts"(){s_(),$()}});function f_(){return{showBuffer(){let e=[`show`,...Pp(arguments,1)];return e.includes(`--binary`)||e.splice(1,0,`--binary`),this._runTask(cm(e),Lp(arguments))},show(){let e=[`show`,...Pp(arguments,1)];return this._runTask(sm(e),Lp(arguments))}}}var p_=Z({"src/lib/tasks/show.ts"(){$(),fm()}}),m_,h_,g_=Z({"src/lib/responses/FileStatusSummary.ts"(){m_=/^(.+)\0(.+)$/,h_=class{constructor(e,t,n){if(this.path=e,this.index=t,this.working_dir=n,t===`R`||n===`R`){let t=m_.exec(e)||[null,e,e];this.from=t[2]||``,this.path=t[1]||``}}}}});function __(e){let[t,n]=e.split(lp);return{from:n||t,to:t}}function v_(e,t,n){return[`${e}${t}`,n]}function y_(e,...t){return t.map(t=>v_(e,t,(e,t)=>e.conflicted.push(t)))}function b_(e,t){let n=t.trim();switch(` `){case n.charAt(2):return r(n.charAt(0),n.charAt(1),n.slice(3));case n.charAt(1):return r(` `,n.charAt(0),n.slice(2));default:return}function r(t,n,r){let i=`${t}${n}`,a=S_.get(i);a&&a(e,r),i!==`##`&&i!==`!!`&&e.files.push(new h_(r,t,n))}}var x_,S_,C_,w_=Z({"src/lib/responses/StatusSummary.ts"(){$(),g_(),x_=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},S_=new Map([v_(` `,`A`,(e,t)=>e.created.push(t)),v_(` `,`D`,(e,t)=>e.deleted.push(t)),v_(` `,`M`,(e,t)=>e.modified.push(t)),v_(`A`,` `,(e,t)=>{e.created.push(t),e.staged.push(t)}),v_(`A`,`M`,(e,t)=>{e.created.push(t),e.staged.push(t),e.modified.push(t)}),v_(`D`,` `,(e,t)=>{e.deleted.push(t),e.staged.push(t)}),v_(`M`,` `,(e,t)=>{e.modified.push(t),e.staged.push(t)}),v_(`M`,`M`,(e,t)=>{e.modified.push(t),e.staged.push(t)}),v_(`R`,` `,(e,t)=>{e.renamed.push(__(t))}),v_(`R`,`M`,(e,t)=>{let n=__(t);e.renamed.push(n),e.modified.push(n.to)}),v_(`!`,`!`,(e,t)=>{(e.ignored=e.ignored||[]).push(t)}),v_(`?`,`?`,(e,t)=>e.not_added.push(t)),...y_(`A`,`A`,`U`),...y_(`D`,`D`,`U`),...y_(`U`,`A`,`D`,`U`),[`##`,(e,t)=>{let n=/ahead (\d+)/,r=/behind (\d+)/,i=/^(.+?(?=(?:\.{3}|\s|$)))/,a=/\.{3}(\S*)/,o=/\son\s(\S+?)(?=\.{3}|$)/,s=n.exec(t);e.ahead=s&&+s[1]||0,s=r.exec(t),e.behind=s&&+s[1]||0,s=i.exec(t),e.current=pp(s?.[1],yp,null),s=a.exec(t),e.tracking=pp(s?.[1],yp,null),s=o.exec(t),s&&(e.current=pp(s?.[1],yp,e.current)),e.detached=/\(no branch\)/.test(t)}]]),C_=function(e){let t=e.split(lp),n=new x_;for(let e=0,r=t.length;e<r;){let r=t[e++].trim();r&&(r.charAt(0)===`R`&&(r+=lp+(t[e++]||``)),b_(n,r))}return n}}});function T_(e){return{format:`utf-8`,commands:[`status`,`--porcelain`,`-b`,`-u`,`--null`,...e.filter(e=>!E_.includes(e))],parser(e){return C_(e)}}}var E_,D_=Z({"src/lib/tasks/status.ts"(){w_(),E_=[`--null`,`-z`]}});function O_(e=0,t=0,n=0,r=``,i=!0){return Object.defineProperty({major:e,minor:t,patch:n,agent:r,installed:i},`toString`,{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function k_(){return O_(0,0,0,``,!1)}function A_(){return{version(){return this._runTask({commands:[`--version`],format:`utf-8`,parser:j_,onError(e,t,n,r){if(e.exitCode===-2)return n(Buffer.from(M_));r(t)}})}}}function j_(e){return e===M_?k_():Bp(O_(0,0,0,e),N_,e)}var M_,N_,P_=Z({"src/lib/tasks/version.ts"(){$(),M_=`installed=false`,N_=[new Q(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(e,[t,n,r,i=``])=>{Object.assign(e,O_(rp(t),rp(n),rp(r),i))}),new Q(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(e,[t,n,r,i=``])=>{Object.assign(e,O_(rp(t),rp(n),r,i))})]}});function F_(e,t,n,...r){return yp(n)?t(n,pp(r[0],yp),Pp(arguments)):om(`git.${e}() requires a string 'repoPath'`)}function I_(){return{clone(e,...t){return this._runTask(F_(`clone`,L_,pp(e,yp),...t),Lp(arguments))},mirror(e,...t){return this._runTask(F_(`mirror`,R_,pp(e,yp),...t),Lp(arguments))}}}var L_,R_,z_=Z({"src/lib/tasks/clone.ts"(){fm(),$(),Ff(),L_=(e,t,n)=>{let r=[`clone`,...n];return yp(e)&&r.push(jf(e)),yp(t)&&r.push(jf(t)),sm(r)},R_=(e,t,n)=>(Zf(n,`--mirror`),L_(e,t,n))}}),B_={};Of(B_,{SimpleGitApi:()=>V_});var V_,H_=Z({"src/lib/simple-git-api.ts"(){Sh(),wh(),Dh(),jh(),Lh(),zm(),zh(),Zm(),Vh(),Xh(),Dg(),n_(),d_(),p_(),D_(),fm(),P_(),$(),z_(),V_=class{constructor(e){this._executor=e}_runTask(e,t){let n=this._executor.chain(),r=n.push(e);return t&&bh(e,r,t),Object.create(this,{then:{value:r.then.bind(r)},catch:{value:r.catch.bind(r)},_executor:{value:n}})}add(e){return this._runTask(sm([`add`,...ep(e)]),Lp(arguments))}cwd(e){let t=Lp(arguments);return typeof e==`string`?this._runTask(Ch(e,this._executor),t):typeof e?.path==`string`?this._runTask(Ch(e.path,e.root&&this._executor||void 0),t):this._runTask(om(`Git.cwd: workingDirectory must be supplied as a string`),t)}hashObject(e,t){return this._runTask(Bh(e,t===!0),Lp(arguments))}init(e){return this._runTask(Jh(e===!0,this._executor.cwd,Pp(arguments)),Lp(arguments))}merge(){return this._runTask(t_(Pp(arguments)),Lp(arguments))}mergeFromTo(e,t){return yp(e)&&yp(t)?this._runTask(t_([e,t,...Pp(arguments)]),Lp(arguments,!1)):this._runTask(om(`Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings`))}outputHandler(e){return this._executor.outputHandler=e,this}push(){let e=u_({remote:pp(arguments[0],yp),branch:pp(arguments[1],yp)},Pp(arguments));return this._runTask(e,Lp(arguments))}stash(){return this._runTask(sm([`stash`,...Pp(arguments)]),Lp(arguments))}status(){return this._runTask(T_(Pp(arguments)),Lp(arguments))}},Object.assign(V_.prototype,Eh(),I_(),Ih(),Lm(),kh(),Rh(),Km(),Tg(),f_(),A_())}}),U_={};Of(U_,{Scheduler:()=>G_});var W_,G_,K_=Z({"src/lib/runners/scheduler.ts"(){$(),lh(),W_=(()=>{let e=0;return()=>{e++;let{promise:t,done:n}=(0,Sf.createDeferred)();return{promise:t,done:n,id:e}}})(),G_=class{constructor(e=2){this.concurrency=e,this.logger=ch(``,`scheduler`),this.pending=[],this.running=[],this.logger(`Constructed, concurrency=%s`,e)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency){this.logger(`Schedule attempt ignored, pending=%s running=%s concurrency=%s`,this.pending.length,this.running.length,this.concurrency);return}let e=Zf(this.running,this.pending.shift());this.logger(`Attempting id=%s`,e.id),e.done(()=>{this.logger(`Completing id=`,e.id),$f(this.running,e),this.schedule()})}next(){let{promise:e,id:t}=Zf(this.pending,W_());return this.logger(`Scheduling id=%s`,t),this.schedule(),e}}}}),q_={};Of(q_,{applyPatchTask:()=>J_});function J_(e,t){return sm([`apply`,...t,...e])}var Y_=Z({"src/lib/tasks/apply-patch.ts"(){fm()}});function X_(e,t){return{branch:e,hash:t,success:!0}}function Z_(e){return{branch:e,hash:null,success:!1}}var Q_,$_=Z({"src/lib/responses/BranchDeleteSummary.ts"(){Q_=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function ev(e,t){return t===1&&nv.test(e)}var tv,nv,rv,iv,av=Z({"src/lib/parsers/parse-branch-delete.ts"(){$_(),$(),tv=/(\S+)\s+\(\S+\s([^)]+)\)/,nv=/^error[^']+'([^']+)'/m,rv=[new Q(tv,(e,[t,n])=>{let r=X_(t,n);e.all.push(r),e.branches[t]=r}),new Q(nv,(e,[t])=>{let n=Z_(t);e.errors.push(n),e.all.push(n),e.branches[t]=n})],iv=(e,t)=>Bp(new Q_,rv,[e,t])}}),ov,sv=Z({"src/lib/responses/BranchSummary.ts"(){ov=class{constructor(){this.all=[],this.branches={},this.current=``,this.detached=!1}push(e,t,n,r,i){e===`*`&&(this.detached=t,this.current=n),this.all.push(n),this.branches[n]={current:e===`*`,linkedWorkTree:e===`+`,name:n,commit:r,label:i}}}}});function cv(e){return e?e.charAt(0):``}function lv(e,t=!1){return Bp(new ov,t?[dv]:uv,e)}var uv,dv,fv=Z({"src/lib/parsers/parse-branch.ts"(){sv(),$(),uv=[new Q(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(e,[t,n,r,i])=>{e.push(cv(t),!0,n,r,i)}),new Q(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,(e,[t,n,r,i])=>{e.push(cv(t),!1,n,r,i)})],dv=new Q(/^(\S+)$/s,(e,[t])=>{e.push(`*`,!1,t,``,``)})}}),pv={};Of(pv,{branchLocalTask:()=>gv,branchTask:()=>hv,containsDeleteBranchCommand:()=>mv,deleteBranchTask:()=>vv,deleteBranchesTask:()=>_v});function mv(e){let t=[`-d`,`-D`,`--delete`];return e.some(e=>t.includes(e))}function hv(e){let t=mv(e),n=e.includes(`--show-current`),r=[`branch`,...e];return r.length===1&&r.push(`-a`),r.includes(`-v`)||r.splice(1,0,`-v`),{format:`utf-8`,commands:r,parser(e,r){return t?iv(e,r).all[0]:lv(e,n)}}}function gv(){return{format:`utf-8`,commands:[`branch`,`-v`],parser(e){return lv(e)}}}function _v(e,t=!1){return{format:`utf-8`,commands:[`branch`,`-v`,t?`-D`:`-d`,...e],parser(e,t){return iv(e,t)},onError({exitCode:e,stdOut:t},n,r,i){if(!ev(String(n),e))return i(n);r(t)}}}function vv(e,t=!1){let n={format:`utf-8`,commands:[`branch`,`-v`,t?`-D`:`-d`,e],parser(t,n){return iv(t,n).branches[e]},onError({exitCode:e,stdErr:t,stdOut:r},i,a,o){if(!ev(String(i),e))return o(i);throw new Rf(n.parser(ap(r),ap(t)),String(i))}};return n}var yv=Z({"src/lib/tasks/branch.ts"(){zf(),av(),fv(),$()}});function bv(e){let t=e.trim().replace(/^["']|["']$/g,``);return t&&ya(t)}var xv,Sv=Z({"src/lib/responses/CheckIgnore.ts"(){xv=e=>e.split(/\n/g).map(bv).filter(Boolean)}}),Cv={};Of(Cv,{checkIgnoreTask:()=>wv});function wv(e){return{commands:[`check-ignore`,...e],format:`utf-8`,parser:xv}}var Tv=Z({"src/lib/tasks/check-ignore.ts"(){Sv()}});function Ev(e,t){return Bp({raw:e,remote:null,branches:[],tags:[],updated:[],deleted:[]},Dv,[e,t])}var Dv,Ov=Z({"src/lib/parsers/parse-fetch.ts"(){$(),Dv=[new Q(/From (.+)$/,(e,[t])=>{e.remote=t}),new Q(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(e,[t,n])=>{e.branches.push({name:t,tracking:n})}),new Q(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(e,[t,n])=>{e.tags.push({name:t,tracking:n})}),new Q(/- \[deleted]\s+\S+\s*-> (.+)$/,(e,[t])=>{e.deleted.push({tracking:t})}),new Q(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(e,[t,n,r,i])=>{e.updated.push({name:r,tracking:i,to:n,from:t})})]}}),kv={};Of(kv,{fetchTask:()=>jv});function Av(e){return/^--upload-pack(=|$)/.test(e)}function jv(e,t,n){let r=[`fetch`,...n];return e&&t&&r.push(e,t),r.find(Av)?om(`git.fetch: potential exploit argument blocked.`):{commands:r,format:`utf-8`,parser:Ev}}var Mv=Z({"src/lib/tasks/fetch.ts"(){Ov(),fm()}});function Nv(e){return Bp({moves:[]},Pv,e)}var Pv,Fv=Z({"src/lib/parsers/parse-move.ts"(){$(),Pv=[new Q(/^Renaming (.+) to (.+)$/,(e,[t,n])=>{e.moves.push({from:t,to:n})})]}}),Iv={};Of(Iv,{moveTask:()=>Lv});function Lv(e,t){return{commands:[`mv`,`-v`,...ep(e),t],format:`utf-8`,parser:Nv}}var Rv=Z({"src/lib/tasks/move.ts"(){Fv(),$()}}),zv={};Of(zv,{pullTask:()=>Bv});function Bv(e,t,n){let r=[`pull`,...n];return e&&t&&r.splice(1,0,e,t),{commands:r,format:`utf-8`,parser(e,t){return Yg(e,t)},onError(e,t,n,r){let i=Hg(ap(e.stdOut),ap(e.stdErr));if(i)return r(new Rf(i));r(t)}}}var Vv=Z({"src/lib/tasks/pull.ts"(){zf(),Xg(),$()}});function Hv(e){let t={};return Wv(e,([e])=>t[e]={name:e}),Object.values(t)}function Uv(e){let t={};return Wv(e,([e,n,r])=>{Object.hasOwn(t,e)||(t[e]={name:e,refs:{fetch:``,push:``}}),r&&n&&(t[e].refs[r.replace(/[^a-z]/g,``)]=n)}),Object.values(t)}function Wv(e,t){Yf(e,e=>t(e.split(/\s+/)))}var Gv=Z({"src/lib/responses/GetRemoteSummary.ts"(){$()}}),Kv={};Of(Kv,{addRemoteTask:()=>qv,getRemotesTask:()=>Jv,listRemotesTask:()=>Yv,remoteTask:()=>Xv,removeRemoteTask:()=>Zv});function qv(e,t,n){return sm([`remote`,`add`,...n,e,t])}function Jv(e){let t=[`remote`];return e&&t.push(`-v`),{commands:t,format:`utf-8`,parser:e?Uv:Hv}}function Yv(e){let t=[...e];return t[0]!==`ls-remote`&&t.unshift(`ls-remote`),sm(t)}function Xv(e){let t=[...e];return t[0]!==`remote`&&t.unshift(`remote`),sm(t)}function Zv(e){return sm([`remote`,`remove`,e])}var Qv=Z({"src/lib/tasks/remote.ts"(){Gv(),fm()}}),$v={};Of($v,{stashListTask:()=>ey});function ey(e={},t){let n=Cg(e),r=[`stash`,`list`,...n.commands,...t],i=dg(n.splitter,n.fields,Zh(r));return yg(r)||{commands:r,format:`utf-8`,parser:i}}var ty=Z({"src/lib/tasks/stash-list.ts"(){eg(),gg(),bg(),Dg()}}),ny={};Of(ny,{addSubModuleTask:()=>ry,initSubModuleTask:()=>iy,subModuleTask:()=>ay,updateSubModuleTask:()=>oy});function ry(e,t){return ay([`add`,e,t])}function iy(e){return ay([`init`,...e])}function ay(e){let t=[...e];return t[0]!==`submodule`&&t.unshift(`submodule`),sm(t)}function oy(e){return ay([`update`,...e])}var sy=Z({"src/lib/tasks/sub-module.ts"(){fm()}});function cy(e,t){let n=Number.isNaN(e);return n===Number.isNaN(t)?n?ly(e,t):0:n?1:-1}function ly(e,t){return e===t?0:e>t?1:-1}function uy(e){return e.trim()}function dy(e){return typeof e==`string`&&parseInt(e.replace(/^\D+/g,``),10)||0}var fy,py,my=Z({"src/lib/responses/TagList.ts"(){fy=class{constructor(e,t){this.all=e,this.latest=t}},py=function(e,t=!1){let n=e.split(`
|
|
22
|
-
`).map(uy).filter(Boolean);t||n.sort(function(e,t){let n=e.split(`.`),r=t.split(`.`);if(n.length===1||r.length===1)return cy(dy(n[0]),dy(r[0]));for(let e=0,t=Math.max(n.length,r.length);e<t;e++){let t=ly(dy(n[e]),dy(r[e]));if(t)return t}return 0});let r=t?n[0]:[...n].reverse().find(e=>e.indexOf(`.`)>=0);return new fy(n,r)}}}),hy={};Of(hy,{addAnnotatedTagTask:()=>vy,addTagTask:()=>_y,tagListTask:()=>gy});function gy(e=[]){let t=e.some(e=>/^--sort=/.test(e));return{format:`utf-8`,commands:[`tag`,`-l`,...e],parser(e){return py(e,t)}}}function _y(e){return{format:`utf-8`,commands:[`tag`,e],parser(){return{name:e}}}}function vy(e,t){return{format:`utf-8`,commands:[`tag`,`-a`,`-m`,t,e],parser(){return{name:e}}}}var yy=Z({"src/lib/tasks/tag.ts"(){my()}}),by=Df({"src/git.js"(e,t){var{GitExecutor:n}=(yh(),Af(_h)),{SimpleGitApi:r}=(H_(),Af(B_)),{Scheduler:i}=(K_(),Af(U_)),{adhocExecTask:a,configurationErrorTask:o}=(fm(),Af(im)),{asArray:s,filterArray:c,filterPrimitives:l,filterString:u,filterStringOrStringArray:d,filterType:f,getTrailingOptions:p,trailingFunctionArgument:m,trailingOptionsArgument:h}=($(),Af(Hp)),{applyPatchTask:g}=(Y_(),Af(q_)),{branchTask:_,branchLocalTask:v,deleteBranchesTask:y,deleteBranchTask:b}=(yv(),Af(pv)),{checkIgnoreTask:x}=(Tv(),Af(Cv)),{checkIsRepoTask:ee}=(Zp(),Af(Up)),{cleanWithOptionsTask:S,isCleanOptionsArray:C}=(Em(),Af(pm)),{diffSummaryTask:w}=(bg(),Af(_g)),{fetchTask:te}=(Mv(),Af(kv)),{moveTask:T}=(Rv(),Af(Iv)),{pullTask:E}=(Vv(),Af(zv)),{pushTagsTask:D}=(d_(),Af(c_)),{addRemoteTask:O,getRemotesTask:ne,listRemotesTask:k,remoteTask:A,removeRemoteTask:re}=(Qv(),Af(Kv)),{getResetMode:j,resetTask:M}=(ih(),Af(Qm)),{stashListTask:ie}=(ty(),Af($v)),{addSubModuleTask:ae,initSubModuleTask:oe,subModuleTask:se,updateSubModuleTask:N}=(sy(),Af(ny)),{addAnnotatedTagTask:ce,addTagTask:le,tagListTask:ue}=(yy(),Af(hy)),{straightThroughBufferTask:de,straightThroughStringTask:P}=(fm(),Af(im));function F(e,t){this._plugins=t,this._executor=new n(e.baseDir,new i(e.maxConcurrentProcesses),t),this._trimmed=e.trimmed}(F.prototype=Object.create(r.prototype)).constructor=F,F.prototype.customBinary=function(e){return this._plugins.reconfigure(`binary`,e),this},F.prototype.env=function(e,t){return arguments.length===1&&typeof e==`object`?this._executor.env=e:(this._executor.env=this._executor.env||{})[e]=t,this},F.prototype.stashList=function(e){return this._runTask(ie(h(arguments)||{},c(e)&&e||[]),m(arguments))},F.prototype.mv=function(e,t){return this._runTask(T(e,t),m(arguments))},F.prototype.checkoutLatestTag=function(e){var t=this;return this.pull(function(){t.tags(function(n,r){t.checkout(r.latest,e)})})},F.prototype.pull=function(e,t,n,r){return this._runTask(E(f(e,u),f(t,u),p(arguments)),m(arguments))},F.prototype.fetch=function(e,t){return this._runTask(te(f(e,u),f(t,u),p(arguments)),m(arguments))},F.prototype.silent=function(e){return this._runTask(a(()=>console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this method will be removed.")))},F.prototype.tags=function(e,t){return this._runTask(ue(p(arguments)),m(arguments))},F.prototype.rebase=function(){return this._runTask(P([`rebase`,...p(arguments)]),m(arguments))},F.prototype.reset=function(e){return this._runTask(M(j(e),p(arguments)),m(arguments))},F.prototype.revert=function(e){let t=m(arguments);return typeof e==`string`?this._runTask(P([`revert`,...p(arguments,0,!0),e]),t):this._runTask(o(`Commit must be a string`),t)},F.prototype.addTag=function(e){let t=typeof e==`string`?le(e):o(`Git.addTag requires a tag name`);return this._runTask(t,m(arguments))},F.prototype.addAnnotatedTag=function(e,t){return this._runTask(ce(e,t),m(arguments))},F.prototype.deleteLocalBranch=function(e,t,n){return this._runTask(b(e,typeof t==`boolean`?t:!1),m(arguments))},F.prototype.deleteLocalBranches=function(e,t,n){return this._runTask(y(e,typeof t==`boolean`?t:!1),m(arguments))},F.prototype.branch=function(e,t){return this._runTask(_(p(arguments)),m(arguments))},F.prototype.branchLocal=function(e){return this._runTask(v(),m(arguments))},F.prototype.raw=function(e){let t=!Array.isArray(e),n=[].slice.call(t?arguments:e,0);for(let e=0;e<n.length&&t;e++)if(!l(n[e])){n.splice(e,n.length-e);break}n.push(...p(arguments,0,!0));var r=m(arguments);return n.length?this._runTask(P(n,this._trimmed),r):this._runTask(o(`Raw: must supply one or more command to execute`),r)},F.prototype.submoduleAdd=function(e,t,n){return this._runTask(ae(e,t),m(arguments))},F.prototype.submoduleUpdate=function(e,t){return this._runTask(N(p(arguments,!0)),m(arguments))},F.prototype.submoduleInit=function(e,t){return this._runTask(oe(p(arguments,!0)),m(arguments))},F.prototype.subModule=function(e,t){return this._runTask(se(p(arguments)),m(arguments))},F.prototype.listRemote=function(){return this._runTask(k(p(arguments)),m(arguments))},F.prototype.addRemote=function(e,t,n){return this._runTask(O(e,t,p(arguments)),m(arguments))},F.prototype.removeRemote=function(e,t){return this._runTask(re(e),m(arguments))},F.prototype.getRemotes=function(e,t){return this._runTask(ne(e===!0),m(arguments))},F.prototype.remote=function(e,t){return this._runTask(A(p(arguments)),m(arguments))},F.prototype.tag=function(e,t){let n=p(arguments);return n[0]!==`tag`&&n.unshift(`tag`),this._runTask(P(n),m(arguments))},F.prototype.updateServerInfo=function(e){return this._runTask(P([`update-server-info`]),m(arguments))},F.prototype.pushTags=function(e,t){let n=D({remote:f(e,u)},p(arguments));return this._runTask(n,m(arguments))},F.prototype.rm=function(e){return this._runTask(P([`rm`,`-f`,...s(e)]),m(arguments))},F.prototype.rmKeepLocal=function(e){return this._runTask(P([`rm`,`--cached`,...s(e)]),m(arguments))},F.prototype.catFile=function(e,t){return this._catFile(`utf-8`,arguments)},F.prototype.binaryCatFile=function(){return this._catFile(`buffer`,arguments)},F.prototype._catFile=function(e,t){var n=m(t),r=[`cat-file`],i=t[0];if(typeof i==`string`)return this._runTask(o(`Git.catFile: options must be supplied as an array of strings`),n);Array.isArray(i)&&r.push.apply(r,i);let a=e===`buffer`?de(r):P(r);return this._runTask(a,n)},F.prototype.diff=function(e,t){let n=u(e)?o(`git.diff: supplying options as a single string is no longer supported, switch to an array of strings`):P([`diff`,...p(arguments)]);return this._runTask(n,m(arguments))},F.prototype.diffSummary=function(){return this._runTask(w(p(arguments,1)),m(arguments))},F.prototype.applyPatch=function(e){let t=d(e)?g(s(e),p([].slice.call(arguments,1))):o(`git.applyPatch requires one or more string patches as the first argument`);return this._runTask(t,m(arguments))},F.prototype.revparse=function(){let e=[`rev-parse`,...p(arguments,!0)];return this._runTask(P(e,!0),m(arguments))},F.prototype.clean=function(e,t,n){let r=C(e),i=r&&e.join(``)||f(e,u)||``,a=p([].slice.call(arguments,r?1:0));return this._runTask(S(i,a),m(arguments))},F.prototype.exec=function(e){return this._runTask({commands:[],format:`utf-8`,parser(){typeof e==`function`&&e()}})},F.prototype.clearQueue=function(){return this._runTask(a(()=>console.warn(`simple-git deprecation notice: clearQueue() is deprecated and will be removed, switch to using the abortPlugin instead.`)))},F.prototype.checkIgnore=function(e,t){return this._runTask(x(s(f(e,d,[]))),m(arguments))},F.prototype.checkIsRepo=function(e,t){return this._runTask(ee(f(e,u)),m(arguments))},t.exports=F}});Ff(),Lf();var xy=class extends If{constructor(e,t){super(void 0,t),this.config=e}};Lf(),Lf();var Sy=class extends If{constructor(e,t,n){super(e,n),this.task=e,this.plugin=t,Object.setPrototypeOf(this,new.target.prototype)}};zf(),Vf(),Zp(),Em(),zm(),Um(),Zm(),ih();function Cy(e){if(e)return[{type:`spawn.before`,action(t,n){e.aborted&&n.kill(new Sy(void 0,`abort`,`Abort already signaled`))}},{type:`spawn.after`,action(t,n){function r(){n.kill(new Sy(void 0,`abort`,`Abort signal received`))}e.addEventListener(`abort`,r),n.spawned.on(`close`,()=>e.removeEventListener(`abort`,r))}}]}function wy(e){return typeof e==`string`&&e.trim().toLowerCase()===`-c`}function Ty(e,t){if(typeof t!=`string`||!t.includes(e))return!1;let n=t.trim().replace(/\0/g,``);return/^(--no)?-{1,2}[\dlsqvnobucj]+(\s|$)/.test(n)}function Ey(e,t,n=String(e)){let r=typeof e==`string`?RegExp(`\\s*${e}`,`i`):e;return function(e,i,a){if(e[t]!==!0&&wy(i)&&r.test(a))throw new Sy(void 0,`unsafe`,`Configuring ${n} is not permitted without enabling ${t}`)}}var Dy=[Ey(/^\s*protocol(.[a-z]+)?.allow/i,`allowUnsafeProtocolOverride`,`protocol.allow`),Ey(`core.sshCommand`,`allowUnsafeSshCommand`),Ey(`core.gitProxy`,`allowUnsafeGitProxy`),Ey(`core.hooksPath`,`allowUnsafeHooksPath`),Ey(`diff.external`,`allowUnsafeDiffExternal`)];function Oy(e,t){if(/^\s*--(upload|receive)-pack/.test(e))throw new Sy(void 0,`unsafe`,`Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack`);if(t===`clone`&&Ty(`u`,e))throw new Sy(void 0,`unsafe`,`Use of clone with option -u is not permitted without enabling allowUnsafePack`);if(t===`push`&&/^\s*--exec\b/.test(e))throw new Sy(void 0,`unsafe`,`Use of push with option --exec is not permitted without enabling allowUnsafePack`)}function ky({allowUnsafePack:e=!1,...t}={}){return{type:`spawn.args`,action(n,r){return n.forEach((i,a)=>{let o=a<n.length?n[a+1]:``;e||Oy(i,r.method),Dy.forEach(e=>e(t,i,o))}),n}}}$();function Ay(e){let t=ip(e,`-c`);return{type:`spawn.args`,action(e){return[...t,...e]}}}$();var jy=(0,Sf.deferred)().promise;function My({onClose:e=!0,onExit:t=50}={}){function n(){let n=-1,i={close:(0,Sf.deferred)(),closeTimeout:(0,Sf.deferred)(),exit:(0,Sf.deferred)(),exitTimeout:(0,Sf.deferred)()},a=Promise.race([e===!1?jy:i.closeTimeout.promise,t===!1?jy:i.exitTimeout.promise]);return r(e,i.close,i.closeTimeout),r(t,i.exit,i.exitTimeout),{close(e){n=e,i.close.done()},exit(e){n=e,i.exit.done()},get exitCode(){return n},result:a}}function r(e,t,n){e!==!1&&(e===!0?t.promise:t.promise.then(()=>sp(e))).then(n.done)}return{type:`spawn.after`,async action(e,{spawned:t,close:r}){let i=n(),a=!0,o=()=>void(a=!1);t.stdout?.on(`data`,o),t.stderr?.on(`data`,o),t.on(`error`,o),t.on(`close`,e=>i.close(e)),t.on(`exit`,e=>i.exit(e));try{await i.result,a&&await sp(50),r(i.exitCode)}catch(e){r(i.exitCode,e)}}}}$();var Ny=`Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings`,Py=`Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option`;function Fy(e){return!e||!/^([a-z]:)?([a-z0-9/.\\_~-]+)$/i.test(e)}function Iy(e,t){if(e.length<1||e.length>2)throw new Sy(void 0,`binary`,Ny);if(e.some(Fy))if(t)console.warn(Py);else throw new Sy(void 0,`binary`,Py);let[n,r]=e;return{binary:n,prefix:r}}function Ly(e,t=[`git`],n=!1){let r=Iy(ep(t),n);e.on(`binary`,e=>{r=Iy(ep(e),n)}),e.append(`spawn.binary`,()=>r.binary),e.append(`spawn.args`,e=>r.prefix?[r.prefix,...e]:e)}Lf();function Ry(e){return!!(e.exitCode&&e.stdErr.length)}function zy(e){return Buffer.concat([...e.stdOut,...e.stdErr])}function By(e=!1,t=Ry,n=zy){return(r,i)=>!e&&r||!t(i)?r:n(i)}function Vy(e){return{type:`task.error`,action(t,n){let r=e(t.error,{stdErr:n.stdErr,stdOut:n.stdOut,exitCode:n.exitCode});return Buffer.isBuffer(r)?{error:new If(void 0,r.toString(`utf-8`))}:{error:r}}}}$();var Hy=class{constructor(){this.plugins=new Set,this.events=new Ba}on(e,t){this.events.on(e,t)}reconfigure(e,t){this.events.emit(e,t)}append(e,t){let n=Zf(this.plugins,{type:e,action:t});return()=>this.plugins.delete(n)}add(e){let t=[];return ep(e).forEach(e=>e&&this.plugins.add(Zf(t,e))),()=>{t.forEach(e=>this.plugins.delete(e))}}exec(e,t,n){let r=t,i=Object.freeze(Object.create(n));for(let t of this.plugins)t.type===e&&(r=t.action(r,i));return r}};$();function Uy(e){let t=`--progress`,n=[`checkout`,`clone`,`fetch`,`pull`,`push`];return[{type:`spawn.args`,action(e,r){return n.includes(r.method)?Qf(e,t):e}},{type:`spawn.after`,action(n,r){r.commands.includes(t)&&r.spawned.stderr?.on(`data`,t=>{let n=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(t.toString(`utf8`));n&&e({method:r.method,stage:Wy(n[1]),progress:rp(n[2]),processed:rp(n[3]),total:rp(n[4])})})}}]}function Wy(e){return String(e.toLowerCase().split(` `,1))||`unknown`}$();function Gy(e){let t=op(e,[`uid`,`gid`]);return{type:`spawn.options`,action(e){return{...t,...e}}}}function Ky({block:e,stdErr:t=!0,stdOut:n=!0}){if(e>0)return{type:`spawn.after`,action(r,i){let a;function o(){a&&clearTimeout(a),a=setTimeout(c,e)}function s(){i.spawned.stdout?.off(`data`,o),i.spawned.stderr?.off(`data`,o),i.spawned.off(`exit`,s),i.spawned.off(`close`,s),a&&clearTimeout(a)}function c(){s(),i.kill(new Sy(void 0,`timeout`,`block timeout reached`))}n&&i.spawned.stdout?.on(`data`,o),t&&i.spawned.stderr?.on(`data`,o),i.spawned.on(`exit`,s),i.spawned.on(`close`,s),o()}}}Ff();function qy(){return{type:`spawn.args`,action(e){let t=[],n;function r(e){(n||=[]).push(...e)}for(let n=0;n<e.length;n++){let i=e[n];if(Mf(i)){r(Nf(i));continue}if(i===`--`){r(e.slice(n+1).flatMap(e=>Mf(e)&&Nf(e)||e));break}t.push(i)}return n?[...t,`--`,...n.map(String)]:t}}}$();var Jy=by();function Yy(e,t){let n=new Hy,r=Ap(e&&(typeof e==`string`?{baseDir:e}:e)||{},t);if(!Xf(r.baseDir))throw new xy(r,`Cannot use simple-git on a directory that does not exist`);return Array.isArray(r.config)&&n.add(Ay(r.config)),n.add(ky(r.unsafe)),n.add(My(r.completion)),r.abort&&n.add(Cy(r.abort)),r.progress&&n.add(Uy(r.progress)),r.timeout&&n.add(Ky(r.timeout)),r.spawnOptions&&n.add(Gy(r.spawnOptions)),n.add(qy()),n.add(Vy(By(!0))),r.errors&&n.add(Vy(r.errors)),Ly(n,r.binary,r.unsafe?.allowUnsafeCustomBinary),new Jy(r,n)}zf();var Xy=Yy,Zy=class extends L()(`@supervisor/Updates`,{make:H(function*(){let e=yield*Ar();return{publish:V(`Updates.publish`)(function*(t){yield*Un(e,new sc({content:t,receivedAt:E()}))}),stream:V(`Updates.stream`)(function*(){return Gi(e)})}})}){static layer=ei(this)(this.make)};const Qy=`.expect`,$y=V(`ensureStateDir`)(function*(e){let t=yield*qe,n=ga.join(e,Qy);yield*t.makeDirectory(n,{recursive:!0}).pipe(_(`PlatformError`,()=>F));let r=ga.join(n,`.gitignore`);return(yield*t.exists(r).pipe(_(`PlatformError`,()=>B(!1))))||(yield*t.writeFileString(r,`*
|
|
23
|
-
`).pipe(_(`PlatformError`,()=>
|
|
24
|
-
`)),U(
|
|
25
|
-
`)),U(
|
|
26
|
-
`)),U(
|
|
27
|
-
`)),U(
|
|
28
|
-
`)),U(
|
|
29
|
-
`)},
|
|
30
|
-
`)){if(e===`selected_commit: undefined`)continue;let t=e.indexOf(`: `);if(t===-1)continue;let n=e.slice(0,t),i=e.slice(t+2);r.set(n,i)}let i={formatVersion:Number(r.get(`format_version`)),title:lb(r.get(`title`)??``),description:lb(r.get(`description`)??``),slug:lb(r.get(`slug`)??``),savedTargetScope:lb(r.get(`saved_target_scope`)??``),savedTargetDisplayName:lb(r.get(`saved_target_display_name`)??``),flow:db(JSON.parse(r.get(`flow`)??`{}`)),environment:fb(JSON.parse(r.get(`environment`)??`{}`))},a=r.get(`selected_commit`);return a!==void 0&&(i.selectedCommit=lb(a)),i},mb=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``).slice(0,60).replace(/-$/,``),hb=e=>({formatVersion:3,title:e.title,description:e.instruction.slice(0,120),slug:mb(e.title),savedTargetScope:e.changesFor._tag,savedTargetDisplayName:Rs(e.changesFor),flow:{title:e.title,userInstruction:e.instruction,steps:e.steps.map(e=>{let t=on(e.summary,()=>``);return{id:e.id,title:e.title,instruction:e.instruction===e.title?t||e.title:e.instruction,expectedOutcome:e.expectedOutcome||t}})},environment:{baseUrl:on(e.baseUrl,()=>``),cookies:e.requiresCookies}});var gb=class extends L()(`@supervisor/FlowStorage`,{make:H(function*(){let e=yield*qe,t=H(function*(){let e=yield*$y(yield*nb);return ga.join(e,`flows`)});return{save:V(`FlowStorage.save`)(function*(n){let r=hb(n),i=yield*t,a=ga.join(i,`${r.slug}.md`);return yield*e.makeDirectory(i,{recursive:!0}).pipe(_(`PlatformError`,()=>F)),yield*e.writeFileString(a,cb(r)),yield*Dn(`Flow saved`,{slug:r.slug,stepCount:r.flow.steps.length,filePath:a}),r}),list:V(`FlowStorage.list`)(function*(){let n=yield*t;if(!(yield*e.exists(n).pipe(_(`PlatformError`,()=>B(!1)))))return[];let r=(yield*e.readDirectory(n).pipe(_(`PlatformError`,()=>B([])))).filter(e=>e.endsWith(`.md`)),i=[];for(let t of r){let r=yield*e.readFileString(ga.join(n,t)).pipe(_(`PlatformError`,()=>B(``)));if(!r)continue;let a=yield*Mt({try:()=>pb(r),catch:()=>({_tag:`FlowParseError`})}).pipe(_(`FlowParseError`,()=>B(void 0)));a&&i.push(a)}return yield*Vr(`Flows listed`,{count:i.length}),i})}})}){static layer=ei(this)(this.make).pipe(oi(Ia.layer))};const _b=(e,t)=>{try{return Ea(`git checkout ${t}`,{cwd:e,encoding:`utf-8`,timeout:5e3,stdio:`pipe`}),!0}catch{return!1}};var vb=class extends xt(`GitHubCommandError`)({_tag:I(`GitHubCommandError`),cause:z}){message=`GitHub CLI command failed: ${this.cause}`},yb=class extends L()(`@supervisor/GitHub`,{make:H(function*(){let e=yield*Bn,t=yield*qe,n=V(`GitHub.runGhCommand`)(function*(t,n){return yield*e.string(gi(`gh`,n,{cwd:t})).pipe(mt(15e3),Lt({PlatformError:e=>Ae(new vb({cause:e.message})),TimeoutError:()=>Ae(new vb({cause:`command timed out`}))}),U(e=>e.trim()))}),r=V(`GitHub.findPullRequest`)(function*(e,t){let r=yield*n(e,[`pr`,`list`,`--head`,_n(t).pipe(Ni({_tag:`Branch`},e=>e.branchName),an),`--state`,`open`,`--limit`,`1`,`--json`,`number,url,title,headRefName`]);return yield*zt(fe(Zn(cc)))(r).pipe(U(Rr),_(`SchemaError`,()=>B(Oi())))}),i=fe(Zn(zs));return{findPullRequest:r,listPullRequests:V(`GitHub.listPullRequests`)(function*(e){let t=yield*n(e,[`pr`,`list`,`--state`,`all`,`--json`,`number,headRefName,author,state,updatedAt`,`--limit`,`100`]).pipe(_(`GitHubCommandError`,()=>B(`[]`)));return(yield*zt(i)(t).pipe(_(`SchemaError`,Vt))).map(e=>new Vs({name:e.headRefName,author:e.author.login,prNumber:e.number,prStatus:e.state===`OPEN`?`open`:e.state===`MERGED`||e.state===`CLOSED`?`merged`:null,updatedAt:e.updatedAt}))}),addComment:V(`GitHub.addComment`)(function*(e,r,i){yield*Ze(H(function*(){let a=va(yield*t.makeTempDirectoryScoped({prefix:`expect-comment-`}),`pull-request-comment.md`);yield*t.writeFileString(a,i),yield*n(e,[`pr`,`comment`,String(r.number),`--body-file`,a])}))})}})}){static layer=ei(this)(this.make).pipe(oi(Ia.layer))};const bb=e=>ga.join(ja.homedir(),Qy,`${e}.json`),xb=new Map,Sb={getItem:async e=>{try{let t=await Ha.readFile(bb(e),`utf-8`);return xb.set(e,t),t}catch{return null}},setItem:async(e,t)=>{if(xb.get(e)===t)return;xb.set(e,t);let n=bb(e);await Ha.mkdir(ga.dirname(n),{recursive:!0}),await Ha.writeFile(n,t,`utf-8`)},removeItem:async e=>{xb.delete(e);try{await Ha.unlink(bb(e))}catch{}}},Cb=e=>ga.join(process.cwd(),Qy,`${e}.json`),wb=new Map,Tb={getItem:async e=>{try{let t=await Ha.readFile(Cb(e),`utf-8`);return wb.set(e,t),t}catch{return null}},setItem:async(e,t)=>{if(wb.get(e)===t)return;wb.set(e,t);let n=Cb(e);await Ha.mkdir(ga.dirname(n),{recursive:!0}),await Ha.writeFile(n,t,`utf-8`)},removeItem:async e=>{wb.delete(e);try{await Ha.unlink(Cb(e))}catch{}}},Eb=e=>e.pipe(ln(yb.layer)),Db=async e=>{let t=[];if(e.hasUntestedChanges&&t.push(lc.makeUnsafe({_tag:`WorkingTree`})),e.mainBranch){let n=process.cwd(),r=await S(H(function*(){return yield*(yield*rb).getRecentCommits(`${e.mainBranch}..HEAD`)}).pipe(ln(rb.withRepoRoot(n))));for(let e of r)t.push(lc.makeUnsafe({_tag:`Commit`,hash:e.hash,shortHash:e.shortHash,subject:e.subject}))}return t},Ob=e=>S(Eb(yb.use(t=>t.listPullRequests(e)))),kb=async e=>{let t=await Ob(process.cwd()),n=t.filter(e=>e.prNumber!==null&&e.prStatus===`open`).map(e=>lc.makeUnsafe({_tag:`PullRequest`,branch:e})),r=t.filter(e=>e.prNumber!==null&&e.prStatus===`merged`).slice(0,5).map(e=>lc.makeUnsafe({_tag:`PullRequest`,branch:e})),i=t.filter(t=>t.name!==e.currentBranch&&t.prNumber===null).map(e=>lc.makeUnsafe({_tag:`Branch`,branch:e}));return[...n,...r,...i]},Ab=(e,t)=>e._tag===`WorkingTree`&&t&&!t.isOnMain?t.currentBranch:fc(e),jb=(e,t)=>{if(e._tag===`WorkingTree`&&t){let e=[];if(t.fileStats.length>0){let n=t.fileStats.reduce((e,t)=>e+t.added,0),r=t.fileStats.reduce((e,t)=>e+t.removed,0),i=t.fileStats.length,a=[];n>0&&a.push(`+${n}`),r>0&&a.push(`-${r}`),a.length>0?e.push(`${a.join(` `)} in ${i} file${i===1?``:`s`}`):e.push(`${i} file${i===1?``:`s`}`)}if(t.branchCommitCount>0&&e.push(`${t.branchCommitCount} commit${t.branchCommitCount===1?``:`s`}`),e.length>0)return e.join(`, `)}return pc(e)},Mb=(e,t)=>e._tag===`WorkingTree`?Ab(e,t):mc(e),Nb=(e,t,n)=>{if(!t)return[...e];let r=t.toLowerCase();return e.filter(e=>(e._tag===`WorkingTree`?`local changes ${n?.currentBranch??``}`:dc(e)).toLowerCase().includes(r))},Pb=()=>oa({queryKey:[`remote-branches`],queryFn:()=>Ob(process.cwd())}),Fb=e=>{let t=sa(10);if(t[0]!==`19aae044389a98cd743b540aea8d28df87ba20582cdcc28d3b06005d495ed4de`){for(let e=0;e<10;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`19aae044389a98cd743b540aea8d28df87ba20582cdcc28d3b06005d495ed4de`}let{message:n}=e,r=ls(),i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=q(Ua,{type:`dots`}),t[1]=i):i=t[1];let a;t[2]===r.SELECTION?a=t[3]:(a=q(G,{color:r.SELECTION,children:i}),t[2]=r.SELECTION,t[3]=a);let o;t[4]===n?o=t[5]:(o=n?J(G,{children:[` `,n]}):null,t[4]=n,t[5]=o);let s;return t[6]!==r.DIM||t[7]!==a||t[8]!==o?(s=J(G,{color:r.DIM,children:[a,o]}),t[6]=r.DIM,t[7]=a,t[8]=o,t[9]=s):s=t[9],s},Ib=(e,t)=>{let n=Math.max(0,t-Ga(e));return e+` `.repeat(n)},Lb=({itemCount:e,visibleCount:t,initialIndex:n})=>{let[r,i]=K(n??0),a=pa(e);return a.current!==e&&(a.current=e,i(t=>Math.min(t,Math.max(0,e-1)))),{highlightedIndex:r,setHighlightedIndex:i,scrollOffset:fa(()=>{if(e<=t)return 0;let n=Math.floor(t/2),i=e-t;return Math.min(i,Math.max(0,r-n))},[e,t,r]),handleNavigation:la((t,n)=>n.downArrow||t===`j`||n.ctrl&&t===`n`?(i(t=>Math.min(e-1,t+1)),!0):n.upArrow||t===`k`||n.ctrl&&t===`p`?(i(e=>Math.max(0,e-1)),!0):!1,[e])}},Rb=/(?:https?:\/\/|localhost[:/]|[\w-]+\.[\w-]+\.[\w]+|[\w-]+\.(com|org|net|io|dev|app|co|me|ai))\S*/i,zb=e=>Rb.test(e),Bb=fi(),Vb=e=>zb(e.instruction)?Bb.Testing(e):Bb.PortPicker(e),Hb=Ka(e=>({screen:Bb.Main(),previousScreen:Bb.Main(),navigateTo:t=>e(e=>({screen:t,previousScreen:e.screen})),setScreen:t=>e({screen:t})})),Ub=new ra({defaultOptions:{queries:{staleTime:1/0,retry:!1}}}),Wb=e=>{let t=sa(18);if(t[0]!==`ebd3be31f5201c04dd238bf1bd9d32bf671ecbefa6ad88d45037fbe949e8bb0c`){for(let e=0;e<18;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`ebd3be31f5201c04dd238bf1bd9d32bf671ecbefa6ad88d45037fbe949e8bb0c`}let{title:n,subtitle:r,showDivider:i}=e,a=i===void 0?!0:i,[o]=os(),s,c,l;t[1]!==r||t[2]!==n?(l=n.toUpperCase(),s=r?` │ ${r}`:``,c=Ga(l),t[1]=r,t[2]=n,t[3]=s,t[4]=c,t[5]=l):(s=t[3],c=t[4],l=t[5]);let u=c+Ga(s),d=a?Math.max(0,o-u-3):0,f;t[6]===l?f=t[7]:(f=q(G,{bold:!0,color:ss.text,children:l}),t[6]=l,t[7]=f);let p;t[8]!==r||t[9]!==s?(p=r?q(G,{color:ss.textMuted,children:s}):null,t[8]=r,t[9]=s,t[10]=p):p=t[10];let m;t[11]!==d||t[12]!==a?(m=a?J(G,{color:ss.border,children:[` `,`─`.repeat(d)]}):null,t[11]=d,t[12]=a,t[13]=m):m=t[13];let h;return t[14]!==f||t[15]!==p||t[16]!==m?(h=J(G,{children:[f,p,m]}),t[14]=f,t[15]=p,t[16]=m,t[17]=h):h=t[17],h},Gb=()=>{let e=sa(39);if(e[0]!==`155bac1331928275f0977c44c5021af2a99f257236d72aa818a512bae62664a8`){for(let t=0;t<39;t+=1)e[t]=Symbol.for(`react.memo_cache_sentinel`);e[0]=`155bac1331928275f0977c44c5021af2a99f257236d72aa818a512bae62664a8`}let[t]=os(),n=Hb(Kb),r=ls(),[i,a]=K(null),[o,s]=K(``),[c,l]=K(`recent`),[u,d]=K(!1),[f,p]=K(void 0),{data:m,isLoading:h}=Pb(),g=m===void 0?[]:m,_=Vs.filterBranches(g,c,o),{highlightedIndex:v,setHighlightedIndex:y,scrollOffset:b,handleNavigation:x}=Lb({itemCount:_.length,visibleCount:15}),ee=t-2-32-16-2,S=_.slice(b,b+15),C;e[1]===y?C=e[2]:(C=e=>{s(rs(e)),y(0)},e[1]=y,e[2]=C);let w=C,te;e[3]===n?te=e[4]:(te=e=>{_b(process.cwd(),e)?(p(void 0),Ub.invalidateQueries({queryKey:[`git-state`]}),n(Bb.Main())):p(`Could not checkout "${e}". You may have uncommitted changes or the branch may not exist locally.`)},e[3]=n,e[4]=te);let T=te,E;e[5]!==c||e[6]!==y?(E=e=>{l(Bs[(Bs.indexOf(c)+e+Bs.length)%Bs.length]),y(0)},e[5]=c,e[6]=y,e[7]=E):E=e[7];let D=E;ta((e,t)=>{if(u){t.escape&&d(!1);return}if(!x(e,t)){if(t.rightArrow&&D(1),t.leftArrow&&D(-1),t.return){let e=_[v];e&&(p(void 0),T(e.name))}e===`/`&&d(!0)}});let O;e[8]!==i||e[9]!==T?(O=(e,t)=>{i&&(e.toLowerCase()===`y`&&(p(void 0),T(i.name),a(null)),(e.toLowerCase()===`n`||t.escape)&&a(null))},e[8]=i,e[9]=T,e[10]=O):O=e[10];let ne=i!==null,k;e[11]===ne?k=e[12]:(k={isActive:ne},e[11]=ne,e[12]=k),ta(O,k);let A=W,re=`${_.length} branches`,j;e[13]===re?j=e[14]:(j=q(W,{paddingX:1,children:q(Wb,{title:`Select a PR or branch to test`,subtitle:re})}),e[13]=re,e[14]=j);let M;e[15]!==r||e[16]!==c||e[17]!==y?(M=Bs.map((e,t)=>{let n=e===c,i=t<Bs.length-1?` · `:``,a={recent:r.CYAN,all:r.TEXT,open:r.GREEN,draft:r.DIM,merged:r.PURPLE,"no-pr":r.YELLOW};return J(W,{children:[q(fs,{fullWidth:!1,onClick:()=>{l(e),y(0)},children:q(G,{color:n?a[e]:r.DIM,children:n?`[${e}]`:e})}),q(G,{color:r.DIM,children:i})]},e)}),e[15]=r,e[16]=c,e[17]=y,e[18]=M):M=e[18];let ie;e[19]===M?ie=e[20]:(ie=q(W,{marginTop:1,paddingX:1,children:M}),e[19]=M,e[20]=ie);let ae=h?q(W,{marginTop:1,paddingX:1,children:q(Fb,{message:`Fetching PRs...`})}):J(W,{marginTop:1,flexDirection:`column`,height:15,overflow:`hidden`,paddingX:1,children:[S.map((e,t)=>{let n=t+b,i=n===v;return J(fs,{onClick:()=>{y(n),T(e.name)},children:[q(G,{color:i?r.PRIMARY:r.DIM,children:i?`${Y.pointer} `:` `}),q(G,{color:i?r.PRIMARY:r.DIM,bold:i,children:Ib(Wa(e.name,31),32)}),q(G,{color:r.CYAN,children:Ib(Wa(e.author||`—`,15),16)}),e.prNumber&&e.prStatus?q(G,{color:e.prStatus===`open`?r.GREEN:e.prStatus===`merged`?r.PURPLE:r.DIM,children:Wa(`#${e.prNumber} ${e.prStatus}`,ee)}):q(G,{color:r.DIM,children:`—`})]},e.name)}),_.length===0&&q(G,{color:r.DIM,children:`No matching branches`})]}),oe;e[21]!==r||e[22]!==f?(oe=f?q(W,{marginTop:1,paddingX:1,children:q(G,{color:r.RED,children:f})}):null,e[21]=r,e[22]=f,e[23]=oe):oe=e[23];let se;e[24]!==r||e[25]!==i?(se=i?J(us,{color:r.YELLOW,marginTop:1,children:[J(G,{color:r.YELLOW,bold:!0,children:[`Switch to `,i.name,`?`]}),J(G,{color:r.DIM,children:[`Press `,q(G,{color:r.PRIMARY,children:`y`}),` to continue or`,` `,q(G,{color:r.PRIMARY,children:`n`}),` to cancel.`]})]}):null,e[24]=r,e[25]=i,e[26]=se):se=e[26];let N;e[27]!==w||e[28]!==u||e[29]!==o?(N=q(W,{paddingX:1,children:q(ys,{isSearching:u,query:o,onChange:w})}),e[27]=w,e[28]=u,e[29]=o,e[30]=N):N=e[30];let ce;return e[31]!==A||e[32]!==j||e[33]!==ie||e[34]!==ae||e[35]!==oe||e[36]!==se||e[37]!==N?(ce=J(A,{flexDirection:`column`,width:`100%`,paddingY:1,children:[j,ie,ae,oe,se,N]}),e[31]=A,e[32]=j,e[33]=ie,e[34]=ae,e[35]=oe,e[36]=se,e[37]=N,e[38]=ce):ce=e[38],ce};function Kb(e){return e.setScreen}const qb=_a.join(process.cwd(),`.expect`,`logs.md`),Jb=gt.pipe(Di(qb)),Yb=zr(ar(H(function*(){let e=yield*qe;yield*e.makeDirectory(_a.dirname(qb),{recursive:!0}),yield*e.writeFileString(_a.join(_a.dirname(qb),`.gitignore`),`*
|
|
31
|
-
`)})),b([
|
|
32
|
-
`)[0].replace(/\=|\s+|\"/gi,``).toLowerCase();case`win32`:return e.toString().split(`REG_SZ`)[1].replace(/\r+|\n+|\s+/gi,``).toLowerCase();case`linux`:return e.toString().replace(/\r+|\n+|\s+/gi,``).toLowerCase();case`freebsd`:return e.toString().replace(/\r+|\n+|\s+/gi,``).toLowerCase();default:throw Error(`Unsupported platform: `+process.platform)}}function s(e){var t=o((0,u.execSync)(p[f]).toString());return e?t:a(t)}function c(e){return new l.default(function(t,n){return(0,u.exec)(p[f],{},function(r,i,s){if(r)return n(Error(`Error while obtaining machine id: `+r.stack));var c=o(i.toString());return t(e?c:a(c))})})}Object.defineProperty(t,`__esModule`,{value:!0});var l=r(n(35));t.machineIdSync=s,t.machineId=c;var u=n(70),d=n(71),f=process.platform,p={darwin:`ioreg -rd1 -c IOPlatformExpertDevice`,win32:{native:`%windir%\\System32`,mixed:`%windir%\\sysnative\\cmd.exe /c %windir%\\System32`}[i()]+`\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid`,linux:`( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :`,freebsd:`kenv -q smbios.system.uuid || sysctl -n kern.hostuuid`}},function(e,t,n){e.exports={default:n(36),__esModule:!0}},function(e,t,n){n(66),n(68),n(69),n(67),e.exports=n(6).Promise},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||r!==void 0&&r in e)throw TypeError(n+`: incorrect invocation!`);return e}},function(e,t,n){var r=n(13),i=n(31),a=n(62);e.exports=function(e){return function(t,n,o){var s,c=r(t),l=i(c.length),u=a(o,l);if(e&&n!=n){for(;l>u;)if(s=c[u++],s!=s)return!0}else for(;l>u;u++)if((e||u in c)&&c[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(7),i=n(44),a=n(43),o=n(3),s=n(31),c=n(64),l={},u={},t=e.exports=function(e,t,n,d,f){var p,m,h,g,_=f?function(){return e}:c(e),v=r(n,d,t?2:1),y=0;if(typeof _!=`function`)throw TypeError(e+` is not iterable!`);if(a(_)){for(p=s(e.length);p>y;y++)if(g=t?v(o(m=e[y])[0],m[1]):v(e[y]),g===l||g===u)return g}else for(h=_.call(e);!(m=h.next()).done;)if(g=i(h,v,m.value,t),g===l||g===u)return g};t.BREAK=l,t.RETURN=u},function(e,t){e.exports=function(e,t,n){var r=n===void 0;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(11);e.exports=Object(`z`).propertyIsEnumerable(0)?Object:function(e){return r(e)==`String`?e.split(``):Object(e)}},function(e,t,n){var r=n(10),i=n(1)(`iterator`),a=Array.prototype;e.exports=function(e){return e!==void 0&&(r.Array===e||a[i]===e)}},function(e,t,n){var r=n(3);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var a=e.return;throw a!==void 0&&r(a.call(e)),t}}},function(e,t,n){var r=n(49),i=n(17),a=n(18),o={};n(5)(o,n(1)(`iterator`),function(){return this}),e.exports=function(e,t,n){e.prototype=r(o,{next:i(1,n)}),a(e,t+` Iterator`)}},function(e,t,n){var r=n(1)(`iterator`),i=!1;try{var a=[7][r]();a.return=function(){i=!0},Array.from(a,function(){throw 2})}catch{}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var a=[7],o=a[r]();o.next=function(){return{done:n=!0}},a[r]=function(){return o},e(a)}catch{}return n}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(2),i=n(30).set,a=r.MutationObserver||r.WebKitMutationObserver,o=r.process,s=r.Promise,c=n(11)(o)==`process`;e.exports=function(){var e,t,n,l=function(){var r,i;for(c&&(r=o.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(c)n=function(){o.nextTick(l)};else if(a){var u=!0,d=document.createTextNode(``);new a(l).observe(d,{characterData:!0}),n=function(){d.data=u=!u}}else if(s&&s.resolve){var f=s.resolve();n=function(){f.then(l)}}else n=function(){i.call(r,l)};return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){var r=n(3),i=n(50),a=n(22),o=n(19)(`IE_PROTO`),s=function(){},c=`prototype`,l=function(){var e,t=n(16)(`iframe`),r=a.length,i=`>`;for(t.style.display=`none`,n(25).appendChild(t),t.src=`javascript:`,e=t.contentWindow.document,e.open(),e.write(`<script>document.F=Object<\/script`+i),e.close(),l=e.F;r--;)delete l[c][a[r]];return l()};e.exports=Object.create||function(e,t){var n;return e===null?n=l():(s[c]=r(e),n=new s,s[c]=null,n[o]=e),t===void 0?n:i(n,t)}},function(e,t,n){var r=n(12),i=n(3),a=n(54);e.exports=n(4)?Object.defineProperties:function(e,t){i(e);for(var n,o=a(t),s=o.length,c=0;s>c;)r.f(e,n=o[c++],t[n]);return e}},function(e,t,n){var r=n(55),i=n(17),a=n(13),o=n(32),s=n(8),c=n(26),l=Object.getOwnPropertyDescriptor;t.f=n(4)?l:function(e,t){if(e=a(e),t=o(t,!0),c)try{return l(e,t)}catch{}if(s(e,t))return i(!r.f.call(e,t),e[t])}},function(e,t,n){var r=n(8),i=n(63),a=n(19)(`IE_PROTO`),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,a)?e[a]:typeof e.constructor==`function`&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},function(e,t,n){var r=n(8),i=n(13),a=n(39)(!1),o=n(19)(`IE_PROTO`);e.exports=function(e,t){var n,s=i(e),c=0,l=[];for(n in s)n!=o&&r(s,n)&&l.push(n);for(;t.length>c;)r(s,n=t[c++])&&(~a(l,n)||l.push(n));return l}},function(e,t,n){var r=n(53),i=n(22);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(5);e.exports=function(e,t,n){for(var i in t)n&&e[i]?e[i]=t[i]:r(e,i,t[i]);return e}},function(e,t,n){e.exports=n(5)},function(e,t,n){var r=n(9),i=n(3),a=function(e,t){if(i(e),!r(t)&&t!==null)throw TypeError(t+`: can't set as prototype!`)};e.exports={set:Object.setPrototypeOf||(`__proto__`in{}?function(e,t,r){try{r=n(7)(Function.call,n(51).f(Object.prototype,`__proto__`).set,2),r(e,[]),t=!(e instanceof Array)}catch{t=!0}return function(e,n){return a(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:a}},function(e,t,n){var r=n(2),i=n(6),a=n(12),o=n(4),s=n(1)(`species`);e.exports=function(e){var t=typeof i[e]==`function`?i[e]:r[e];o&&t&&!t[s]&&a.f(t,s,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(3),i=n(14),a=n(1)(`species`);e.exports=function(e,t){var n,o=r(e).constructor;return o===void 0||(n=r(o)[a])==null?t:i(n)}},function(e,t,n){var r=n(20),i=n(15);e.exports=function(e){return function(t,n){var a,o,s=String(i(t)),c=r(n),l=s.length;return c<0||c>=l?e?``:void 0:(a=s.charCodeAt(c),a<55296||a>56319||c+1===l||(o=s.charCodeAt(c+1))<56320||o>57343?e?s.charAt(c):a:e?s.slice(c,c+2):(a-55296<<10)+(o-56320)+65536)}}},function(e,t,n){var r=n(20),i=Math.max,a=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):a(e,t)}},function(e,t,n){var r=n(15);e.exports=function(e){return Object(r(e))}},function(e,t,n){var r=n(21),i=n(1)(`iterator`),a=n(10);e.exports=n(6).getIteratorMethod=function(e){if(e!=null)return e[i]||e[`@@iterator`]||a[r(e)]}},function(e,t,n){var r=n(37),i=n(47),a=n(10),o=n(13);e.exports=n(27)(Array,`Array`,function(e,t){this._t=o(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):t==`keys`?i(0,n):t==`values`?i(0,e[n]):i(0,[n,e[n]])},`values`),a.Arguments=a.Array,r(`keys`),r(`values`),r(`entries`)},function(e,t){},function(e,t,n){var r,i,a,o=n(28),s=n(2),c=n(7),l=n(21),u=n(23),d=n(9),f=(n(3),n(14)),p=n(38),m=n(40),h=(n(58).set,n(60)),g=n(30).set,_=n(48)(),v=`Promise`,y=s.TypeError,b=s.process,x=s[v],b=s.process,ee=l(b)==`process`,S=function(){},C=!!function(){try{var e=x.resolve(1),t=(e.constructor={})[n(1)(`species`)]=function(e){e(S,S)};return(ee||typeof PromiseRejectionEvent==`function`)&&e.then(S)instanceof t}catch{}}(),w=function(e,t){return e===t||e===x&&t===a},te=function(e){var t;return!(!d(e)||typeof(t=e.then)!=`function`)&&t},T=function(e){return w(x,e)?new E(e):new i(e)},E=i=function(e){var t,n;this.promise=new e(function(e,r){if(t!==void 0||n!==void 0)throw y(`Bad Promise constructor`);t=e,n=r}),this.resolve=f(t),this.reject=f(n)},D=function(e){try{e()}catch(e){return{error:e}}},O=function(e,t){if(!e._n){e._n=!0;var n=e._c;_(function(){for(var r=e._v,i=e._s==1,a=0,o=function(t){var n,a,o=i?t.ok:t.fail,s=t.resolve,c=t.reject,l=t.domain;try{o?(i||(e._h==2&&A(e),e._h=1),o===!0?n=r:(l&&l.enter(),n=o(r),l&&l.exit()),n===t.promise?c(y(`Promise-chain cycle`)):(a=te(n))?a.call(n,s,c):s(n)):c(r)}catch(e){c(e)}};n.length>a;)o(n[a++]);e._c=[],e._n=!1,t&&!e._h&&ne(e)})}},ne=function(e){g.call(s,function(){var t,n,r,i=e._v;if(k(e)&&(t=D(function(){ee?b.emit(`unhandledRejection`,i,e):(n=s.onunhandledrejection)?n({promise:e,reason:i}):(r=s.console)&&r.error&&r.error(`Unhandled promise rejection`,i)}),e._h=ee||k(e)?2:1),e._a=void 0,t)throw t.error})},k=function(e){if(e._h==1)return!1;for(var t,n=e._a||e._c,r=0;n.length>r;)if(t=n[r++],t.fail||!k(t.promise))return!1;return!0},A=function(e){g.call(s,function(){var t;ee?b.emit(`rejectionHandled`,e):(t=s.onrejectionhandled)&&t({promise:e,reason:e._v})})},re=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||=t._c.slice(),O(t,!0))},j=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw y(`Promise can't be resolved itself`);(t=te(e))?_(function(){var r={_w:n,_d:!1};try{t.call(e,c(j,r,1),c(re,r,1))}catch(e){re.call(r,e)}}):(n._v=e,n._s=1,O(n,!1))}catch(e){re.call({_w:n,_d:!1},e)}}};C||(x=function(e){p(this,x,v,`_h`),f(e),r.call(this);try{e(c(j,this,1),c(re,this,1))}catch(e){re.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(56)(x.prototype,{then:function(e,t){var n=T(h(this,x));return n.ok=typeof e!=`function`||e,n.fail=typeof t==`function`&&t,n.domain=ee?b.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&O(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),E=function(){var e=new r;this.promise=e,this.resolve=c(j,e,1),this.reject=c(re,e,1)}),u(u.G+u.W+u.F*!C,{Promise:x}),n(18)(x,v),n(59)(v),a=n(6)[v],u(u.S+u.F*!C,v,{reject:function(e){var t=T(this),n=t.reject;return n(e),t.promise}}),u(u.S+u.F*(o||!C),v,{resolve:function(e){if(e instanceof x&&w(e.constructor,this))return e;var t=T(this),n=t.resolve;return n(e),t.promise}}),u(u.S+u.F*!(C&&n(46)(function(e){x.all(e).catch(S)})),v,{all:function(e){var t=this,n=T(t),r=n.resolve,i=n.reject,a=D(function(){var n=[],a=0,o=1;m(e,!1,function(e){var s=a++,c=!1;n.push(void 0),o++,t.resolve(e).then(function(e){c||(c=!0,n[s]=e,--o||r(n))},i)}),--o||r(n)});return a&&i(a.error),n.promise},race:function(e){var t=this,n=T(t),r=n.reject,i=D(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return i&&r(i.error),n.promise}})},function(e,t,n){var r=n(61)(!0);n(27)(String,`String`,function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){n(65);for(var r=n(2),i=n(5),a=n(10),o=n(1)(`toStringTag`),s=[`NodeList`,`DOMTokenList`,`MediaList`,`StyleSheetList`,`CSSRuleList`],c=0;c<5;c++){var l=s[c],u=r[l],d=u&&u.prototype;d&&!d[o]&&i(d,o,l),a[l]=a.Array}},function(t,n){t.exports=e(`child_process`)},function(t,n){t.exports=e(`crypto`)}])})}))();function Zb(e){return typeof e==`string`?`'${e}'`:new Qb().serialize(e)}const Qb=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}(),$b=globalThis.process?.getBuiltinModule?.(`crypto`)?.hash,ex=`sha256`,tx=`base64url`;function nx(e){if($b)return $b(ex,e,tx);let t=Oa(ex).update(e);return globalThis.process?.versions?.webcontainer?t.digest().toString(tx):t.digest(tx)}function rx(e){return nx(Zb(e))}function ix(){let e=ax();return async t=>{for(let n of t)n.module=e(n.filename);return t}}function ax(e=process.argv[1]?qa(process.argv[1]):process.cwd(),t=Ya===`\\`){let n=t?ox(e):e;return e=>{if(!e)return;let r=t?ox(e):e,{dir:i,base:a,ext:o}=Ja.parse(r);(o===`.js`||o===`.mjs`||o===`.cjs`)&&(a=a.slice(0,-1*o.length));let s=decodeURIComponent(a);i||=`.`;let c=i.lastIndexOf(`/node_modules`);if(c>-1)return`${i.slice(c+14).replace(/\//g,`.`)}:${s}`;if(i.startsWith(n)){let e=i.slice(n.length+1).replace(/\//g,`.`);return e?`${e}:${s}`:s}return s}}function ox(e){return e.replace(/^[A-Z]:/,``).replace(/\\/g,`/`)}const sx=e=>{if(`flags`in e){let t=lx(e.flags),n=ux(e.flags);return{...e,featureFlags:t,featureFlagPayloads:n}}{let t=e.featureFlags??{},n=Object.fromEntries(Object.entries(e.featureFlagPayloads||{}).map(([e,t])=>[e,fx(t)])),r=Object.fromEntries(Object.entries(t).map(([e,t])=>[e,cx(e,t,n[e])]));return{...e,featureFlags:t,featureFlagPayloads:n,flags:r}}};function cx(e,t,n){return{key:e,enabled:typeof t==`string`?!0:t,variant:typeof t==`string`?t:void 0,reason:void 0,metadata:{id:void 0,version:void 0,payload:n?JSON.stringify(n):void 0,description:void 0}}}const lx=e=>Object.fromEntries(Object.entries(e??{}).map(([e,t])=>[e,dx(t)]).filter(([,e])=>e!==void 0)),ux=e=>{let t=e??{};return Object.fromEntries(Object.keys(t).filter(e=>{let n=t[e];return n.enabled&&n.metadata&&n.metadata.payload!==void 0}).map(e=>{let n=t[e].metadata?.payload;return[e,n?fx(n):void 0]}))},dx=e=>e===void 0?void 0:e.variant??e.enabled,fx=e=>{if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return e}},px=`0123456789abcdef`;var mx=class e{constructor(e){this.bytes=e}static ofInner(t){if(t.length===16)return new e(t);throw TypeError(`not 128-bit length`)}static fromFieldsV7(t,n,r,i){if(!Number.isInteger(t)||!Number.isInteger(n)||!Number.isInteger(r)||!Number.isInteger(i)||t<0||n<0||r<0||i<0||t>0xffffffffffff||n>4095||r>1073741823||i>4294967295)throw RangeError(`invalid field value`);let a=new Uint8Array(16);return a[0]=t/2**40,a[1]=t/2**32,a[2]=t/2**24,a[3]=t/2**16,a[4]=t/256,a[5]=t,a[6]=112|n>>>8,a[7]=n,a[8]=128|r>>>24,a[9]=r>>>16,a[10]=r>>>8,a[11]=r,a[12]=i>>>24,a[13]=i>>>16,a[14]=i>>>8,a[15]=i,new e(a)}static parse(t){let n;switch(t.length){case 32:n=/^[0-9a-f]{32}$/i.exec(t)?.[0];break;case 36:n=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join(``);break;case 38:n=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(t)?.slice(1,6).join(``);break;case 45:n=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join(``);break;default:break}if(n){let t=new Uint8Array(16);for(let e=0;e<16;e+=4){let r=parseInt(n.substring(2*e,2*e+8),16);t[e+0]=r>>>24,t[e+1]=r>>>16,t[e+2]=r>>>8,t[e+3]=r}return new e(t)}throw SyntaxError(`could not parse UUID string`)}toString(){let e=``;for(let t=0;t<this.bytes.length;t++)e+=px.charAt(this.bytes[t]>>>4),e+=px.charAt(15&this.bytes[t]),(t===3||t===5||t===7||t===9)&&(e+=`-`);return e}toHex(){let e=``;for(let t=0;t<this.bytes.length;t++)e+=px.charAt(this.bytes[t]>>>4),e+=px.charAt(15&this.bytes[t]);return e}toJSON(){return this.toString()}getVariant(){let e=this.bytes[8]>>>4;if(e<0)throw Error(`unreachable`);if(e<=7)return this.bytes.every(e=>e===0)?`NIL`:`VAR_0`;if(e<=11)return`VAR_10`;if(e<=13)return`VAR_110`;if(e<=15)return this.bytes.every(e=>e===255)?`MAX`:`VAR_RESERVED`;throw Error(`unreachable`)}getVersion(){return this.getVariant()===`VAR_10`?this.bytes[6]>>>4:void 0}clone(){return new e(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(let t=0;t<16;t++){let n=this.bytes[t]-e.bytes[t];if(n!==0)return Math.sign(n)}return 0}},hx=class{constructor(e){this.timestamp=0,this.counter=0,this.random=e??gx()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(e,t){let n=this.generateOrAbortCore(e,t);return n===void 0&&(this.timestamp=0,n=this.generateOrAbortCore(e,t)),n}generateOrAbortCore(e,t){if(!Number.isInteger(e)||e<1||e>0xffffffffffff)throw RangeError("`unixTsMs` must be a 48-bit positive integer");if(t<0||t>0xffffffffffff)throw RangeError("`rollbackAllowance` out of reasonable range");if(e>this.timestamp)this.timestamp=e,this.resetCounter();else{if(!(e+t>=this.timestamp))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return mx.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}generateV4(){let e=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return e[6]=64|e[6]>>>4,e[8]=128|e[8]>>>2,mx.ofInner(e)}};const gx=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())});let _x;const vx=()=>yx().toString(),yx=()=>(_x||=new hx).generate();var bx=function(e){return e.AnonymousId=`anonymous_id`,e.DistinctId=`distinct_id`,e.Props=`props`,e.EnablePersonProcessing=`enable_person_processing`,e.PersonMode=`person_mode`,e.FeatureFlagDetails=`feature_flag_details`,e.FeatureFlags=`feature_flags`,e.FeatureFlagPayloads=`feature_flag_payloads`,e.BootstrapFeatureFlagDetails=`bootstrap_feature_flag_details`,e.BootstrapFeatureFlags=`bootstrap_feature_flags`,e.BootstrapFeatureFlagPayloads=`bootstrap_feature_flag_payloads`,e.OverrideFeatureFlags=`override_feature_flags`,e.Queue=`queue`,e.OptedOut=`opted_out`,e.SessionId=`session_id`,e.SessionStartTimestamp=`session_start_timestamp`,e.SessionLastTimestamp=`session_timestamp`,e.PersonProperties=`person_properties`,e.GroupProperties=`group_properties`,e.InstalledAppBuild=`installed_app_build`,e.InstalledAppVersion=`installed_app_version`,e.SessionReplay=`session_replay`,e.SurveyLastSeenDate=`survey_last_seen_date`,e.SurveysSeen=`surveys_seen`,e.Surveys=`surveys`,e.RemoteConfig=`remote_config`,e.FlagsEndpointWasHit=`flags_endpoint_was_hit`,e}({});const xx=`amazonbot,amazonproductbot,app.hypefactors.com,applebot,archive.org_bot,awariobot,backlinksextendedbot,baiduspider,bingbot,bingpreview,chrome-lighthouse,dataforseobot,deepscan,duckduckbot,facebookexternal,facebookcatalog,http://yandex.com/bots,hubspot,ia_archiver,leikibot,linkedinbot,meta-externalagent,mj12bot,msnbot,nessus,petalbot,pinterest,prerender,rogerbot,screaming frog,sebot-wa,sitebulb,slackbot,slurp,trendictionbot,turnitin,twitterbot,vercel-screenshot,vercelbot,yahoo! slurp,yandexbot,zoombot,bot.htm,bot.php,(bot;,bot/,crawler,ahrefsbot,ahrefssiteaudit,semrushbot,siteauditbot,splitsignalbot,gptbot,oai-searchbot,chatgpt-user,perplexitybot,better uptime bot,sentryuptimebot,uptimerobot,headlesschrome,cypress,google-hoteladsverifier,adsbot-google,apis-google,duplexweb-google,feedfetcher-google,google favicon,google web preview,google-read-aloud,googlebot,googleother,google-cloudvertexbot,googleweblight,mediapartners-google,storebot-google,google-inspectiontool,bytespider`.split(`,`),Sx=function(e,t=[]){if(!e)return!1;let n=e.toLowerCase();return xx.concat(t).some(e=>{let t=e.toLowerCase();return n.indexOf(t)!==-1})},Cx=Array.isArray,wx=Object.prototype;wx.hasOwnProperty;const Tx=wx.toString,Ex=Cx||function(e){return Tx.call(e)===`[object Array]`},Dx=e=>e===Object(e)&&!Ex(e),Ox=e=>e===void 0,kx=e=>Tx.call(e)==`[object String]`,Ax=e=>kx(e)&&e.trim().length===0,jx=e=>Tx.call(e)==`[object Number]`&&e===e,Mx=e=>e instanceof Error;function Nx(e){return typeof e!=`object`||!e}function Px(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function Fx(e){return!Ox(Event)&&Lx(e,Event)}function Ix(e){return Px(e,`Object`)}function Lx(e,t){try{return e instanceof t}catch{return!1}}function Rx(e,t,n,r,i){return t>n&&(r.warn(`min cannot be greater than max.`),t=n),jx(e)?e>n?(r.warn(` cannot be greater than max: `+n+`. Using max value instead.`),n):e<t?(r.warn(` cannot be less than min: `+t+`. Using min value instead.`),t):e:(r.warn(` must be a number. using max or fallback. max: `+n+`, fallback: `+i),Rx(i||n,t,n,r))}var zx=class{constructor(e){this._buckets={},this._onBucketRateLimited=e._onBucketRateLimited,this._bucketSize=Rx(e.bucketSize,0,100,e._logger),this._refillRate=Rx(e.refillRate,0,this._bucketSize,e._logger),this._refillInterval=Rx(e.refillInterval,0,864e5,e._logger)}_applyRefill(e,t){let n=t-e.lastAccess,r=Math.floor(n/this._refillInterval);if(r>0){let t=r*this._refillRate;e.tokens=Math.min(e.tokens+t,this._bucketSize),e.lastAccess+=r*this._refillInterval}}consumeRateLimit(e){let t=Date.now(),n=String(e),r=this._buckets[n];return r?this._applyRefill(r,t):(r={tokens:this._bucketSize,lastAccess:t},this._buckets[n]=r),r.tokens===0?!0:(r.tokens--,r.tokens===0&&this._onBucketRateLimited?.(e),r.tokens===0)}stop(){this._buckets={}}},Bx=class{add(e){let t=vx();return this.promiseByIds[t]=e,e.catch(()=>{}).finally(()=>{delete this.promiseByIds[t]}),e}async join(){let e=Object.values(this.promiseByIds),t=e.length;for(;t>0;)await Promise.all(e),e=Object.values(this.promiseByIds),t=e.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}};function Vx(e=console){return{log:e.log.bind(e),warn:e.warn.bind(e),error:e.error.bind(e),debug:e.debug.bind(e)}}const Hx=(e,t,n)=>{function r(r,...i){t(()=>{let t=n[r];t(e,...i)})}return{info:(...e)=>{r(`log`,...e)},warn:(...e)=>{r(`warn`,...e)},error:(...e)=>{r(`error`,...e)},critical:(...t)=>{n.error(e,...t)},createLogger:r=>Hx(`${e} ${r}`,t,n)}},Ux=e=>e();function Wx(e,t=Ux){return Hx(e,t,Vx())}const Gx=`Android`;Gx+``;const Kx=`BlackBerry`,qx=`Samsung`;qx+``,qx+``;const Jx=`Chrome`;Jx+``,Jx+``;const Yx=`Opera`;Yx+``;const Xx=`Edge`;``+Xx;const Zx=`Firefox`;Zx+``;const Qx=`Nintendo`,$x=`PlayStation`,eS=`Xbox`;Gx+``;const tS=`Windows`;tS+``;const nS=`Generic`;nS+``,nS+``;const rS=`(\\d+(\\.\\d+)?)`;RegExp(`Version/`+rS),new RegExp(eS,`i`),RegExp($x+` \\w+`,`i`),RegExp(Qx+` \\w+`,`i`),RegExp(Kx+`|PlayBook|BB10`,`i`),RegExp(`rv:`+rS),RegExp(Xx+`?\\/(\\d+(\\.\\d+)?)`),RegExp(`(`+Jx+`|CrMo)\\/(\\d+(\\.\\d+)?)`),RegExp(`CriOS\\/`+rS),RegExp(`(UCBrowser|UCWEB)\\/`+rS),RegExp(`(`+Yx+`|OPR)\\/(\\d+(\\.\\d+)?)`),RegExp(Zx+`\\/(\\d+(\\.\\d+)?)`),RegExp(`FxiOS\\/`+rS),RegExp(`Konqueror[:/]?`+rS,`i`),RegExp(Kx+` (\\d+(\\.\\d+)?)`),RegExp(`android\\s`+rS,`i`),RegExp(`(rv:|MSIE )`+rS),RegExp(`rv:`+rS),RegExp(eS+`; Xbox (.*?)[);]`,`i`),new RegExp(Qx,`i`),new RegExp($x,`i`),new RegExp(tS,`i`),RegExp(`(`+Gx+` (\\d+)\\.(\\d+)\\.?(\\d+)?|Android)`,`i`);function iS(e,t){if(!e||typeof e!=`string`||aS(e))throw Error(t)}function aS(e){return e.trim().length===0}function oS(e){return e?.replace(/\/+$/,``)}async function sS(e,t){let n=null;for(let r=0;r<t.retryCount+1;r++){r>0&&await new Promise(e=>setTimeout(e,t.retryDelay));try{return await e()}catch(e){if(n=e,!t.retryCheck(e))throw e}}throw n}function cS(){return new Date().toISOString()}function lS(e,t){let n=setTimeout(e,t);return n?.unref&&n?.unref(),n}const uS=e=>e instanceof Error;function dS(e){return Promise.all(e.map(e=>(e??Promise.resolve()).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}var fS=class{constructor(){this.events={},this.events={}}on(e,t){return this.events[e]||(this.events[e]=[]),this.events[e].push(t),()=>{this.events[e]=this.events[e].filter(e=>e!==t)}}emit(e,t){for(let n of this.events[e]||[])n(t);for(let n of this.events[`*`]||[])n(e,t)}};function pS(){return`CompressionStream`in globalThis}async function mS(e,t=!0){try{let t=new Blob([e],{type:`text/plain`}).stream().pipeThrough(new CompressionStream(`gzip`));return await new Response(t).blob()}catch(e){return t&&console.error(`Failed to gzip compress data`,e),null}}var hS=class extends Error{constructor(e,t){super(`HTTP error while fetching PostHog: status=`+e.status+`, reqByteLength=`+t),this.response=e,this.reqByteLength=t,this.name=`PostHogFetchHttpError`}get status(){return this.response.status}get text(){return this.response.text()}get json(){return this.response.json()}},gS=class extends Error{constructor(e){super(`Network error while fetching PostHog`,e instanceof Error?{cause:e}:{}),this.error=e,this.name=`PostHogFetchNetworkError`}};async function _S(e){if(e instanceof hS){let t=``;try{t=await e.text}catch{}console.error(`Error while flushing PostHog: message=${e.message}, response body=${t}`,e)}else console.error(`Error while flushing PostHog`,e);return Promise.resolve()}function vS(e){return typeof e==`object`&&(e instanceof hS||e instanceof gS)}function yS(e){return typeof e==`object`&&e instanceof hS&&e.status===413}var bS=class{constructor(e,t={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new Bx,this._events=new fS,this._isInitialized=!1,iS(e,`You must pass your PostHog project's api key.`),this.apiKey=e,this.host=oS(t.host||`https://us.i.posthog.com`),this.flushAt=t.flushAt?Math.max(t.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,t.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,t.maxQueueSize??1e3),this.flushInterval=t.flushInterval??1e4,this.preloadFeatureFlags=t.preloadFeatureFlags??!0,this.defaultOptIn=t.defaultOptIn??!0,this.disableSurveys=t.disableSurveys??!1,this._retryOptions={retryCount:t.fetchRetryCount??3,retryDelay:t.fetchRetryDelay??3e3,retryCheck:vS},this.requestTimeout=t.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=t.featureFlagsRequestTimeoutMs??3e3,this.remoteConfigRequestTimeoutMs=t.remoteConfigRequestTimeoutMs??3e3,this.disableGeoip=t.disableGeoip??!0,this.disabled=t.disabled??!1,this.historicalMigration=t?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this._logger=Wx(`[PostHog]`,this.logMsgIfDebug.bind(this)),this.evaluationContexts=t?.evaluationContexts??t?.evaluationEnvironments,t?.evaluationEnvironments&&!t?.evaluationContexts&&this._logger.warn(`evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version.`),this.disableCompression=!pS()||(t?.disableCompression??!1)}logMsgIfDebug(e){this.isDebug&&e()}wrap(e){if(this.disabled)return void this._logger.warn(`The client is disabled`);if(this._isInitialized)return e();this._initPromise.then(()=>e())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(bx.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(bx.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(bx.OptedOut,!0)})}on(e,t){return this._events.on(e,t)}debug(e=!0){if(this.removeDebugCallback?.(),e){let e=this.on(`*`,(e,t)=>this._logger.info(e,t));this.removeDebugCallback=()=>{e(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(e){return{distinct_id:e.distinct_id,event:e.event,properties:{...e.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(e){return this.promiseQueue.add(e)}identifyStateless(e,t,n){this.wrap(()=>{let r={...this.buildPayload({distinct_id:e,event:`$identify`,properties:t})};this.enqueue(`identify`,r,n)})}async identifyStatelessImmediate(e,t,n){let r={...this.buildPayload({distinct_id:e,event:`$identify`,properties:t})};await this.sendImmediate(`identify`,r,n)}captureStateless(e,t,n,r){this.wrap(()=>{let i=this.buildPayload({distinct_id:e,event:t,properties:n});this.enqueue(`capture`,i,r)})}async captureStatelessImmediate(e,t,n,r){let i=this.buildPayload({distinct_id:e,event:t,properties:n});await this.sendImmediate(`capture`,i,r)}aliasStateless(e,t,n,r){this.wrap(()=>{let i=this.buildPayload({event:`$create_alias`,distinct_id:t,properties:{...n||{},distinct_id:t,alias:e}});this.enqueue(`alias`,i,r)})}async aliasStatelessImmediate(e,t,n,r){let i=this.buildPayload({event:`$create_alias`,distinct_id:t,properties:{...n||{},distinct_id:t,alias:e}});await this.sendImmediate(`alias`,i,r)}groupIdentifyStateless(e,t,n,r,i,a){this.wrap(()=>{let o=this.buildPayload({distinct_id:i||`$${e}_${t}`,event:`$groupidentify`,properties:{$group_type:e,$group_key:t,$group_set:n||{},...a||{}}});this.enqueue(`capture`,o,r)})}async getRemoteConfig(){await this._initPromise;let e=this.host;e===`https://us.i.posthog.com`?e=`https://us-assets.i.posthog.com`:e===`https://eu.i.posthog.com`&&(e=`https://eu-assets.i.posthog.com`);let t=`${e}/array/${this.apiKey}/config`,n={method:`GET`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`}};return this.fetchWithRetry(t,n,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(e=>e.json()).catch(e=>{this._logger.error(`Remote config could not be loaded`,e),this._events.emit(`error`,e)})}async getFlags(e,t={},n={},r={},i={},a=!1){await this._initPromise;let o=a?`&config=true`:``,s=`${this.host}/flags/?v=2${o}`,c={token:this.apiKey,distinct_id:e,groups:t,person_properties:n,group_properties:r,...i};this.evaluationContexts&&this.evaluationContexts.length>0&&(c.evaluation_contexts=this.evaluationContexts);let l={method:`POST`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`},body:JSON.stringify(c)};return this._logger.info(`Flags URL`,s),this.fetchWithRetry(s,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(e=>e.json()).then(e=>({success:!0,response:sx(e)})).catch(e=>(this._events.emit(`error`,e),{success:!1,error:this.categorizeRequestError(e)}))}categorizeRequestError(e){if(e instanceof hS)return{type:`api_error`,statusCode:e.status};if(e instanceof gS){let t=e.error;return t instanceof Error&&(t.name===`AbortError`||t.name===`TimeoutError`)?{type:`timeout`}:{type:`connection_error`}}return{type:`unknown_error`}}async getFeatureFlagStateless(e,t,n={},r={},i={},a){await this._initPromise;let o=await this.getFeatureFlagDetailStateless(e,t,n,r,i,a);if(o===void 0)return{response:void 0,requestId:void 0};let s=dx(o.response);return s===void 0&&(s=!1),{response:s,requestId:o.requestId}}async getFeatureFlagDetailStateless(e,t,n={},r={},i={},a){await this._initPromise;let o=await this.getFeatureFlagDetailsStateless(t,n,r,i,a,[e]);if(o!==void 0)return{response:o.flags[e],requestId:o.requestId,evaluatedAt:o.evaluatedAt}}async getFeatureFlagPayloadStateless(e,t,n={},r={},i={},a){await this._initPromise;let o=await this.getFeatureFlagPayloadsStateless(t,n,r,i,a,[e]);if(!o)return;let s=o[e];return s===void 0?null:s}async getFeatureFlagPayloadsStateless(e,t={},n={},r={},i,a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(e,t,n,r,i,a)).payloads}async getFeatureFlagsStateless(e,t={},n={},r={},i,a){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(e,t,n,r,i,a)}async getFeatureFlagsAndPayloadsStateless(e,t={},n={},r={},i,a){await this._initPromise;let o=await this.getFeatureFlagDetailsStateless(e,t,n,r,i,a);return o?{flags:o.featureFlags,payloads:o.featureFlagPayloads,requestId:o.requestId}:{flags:void 0,payloads:void 0,requestId:void 0}}async getFeatureFlagDetailsStateless(e,t={},n={},r={},i,a){await this._initPromise;let o={};(i??this.disableGeoip)&&(o.geoip_disable=!0),a&&(o.flag_keys_to_evaluate=a);let s=await this.getFlags(e,t,n,r,o);if(!s.success)return;let c=s.response;return c.errorsWhileComputingFlags&&console.error(`[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices`),c.quotaLimited?.includes(`feature_flags`)?(console.warn(`[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts`),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:c?.requestId,quotaLimited:c.quotaLimited}):c}async getSurveysStateless(){if(await this._initPromise,!0===this.disableSurveys)return this._logger.info(`Loading surveys is disabled.`),[];let e=`${this.host}/api/surveys/?token=${this.apiKey}`,t={method:`GET`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`}},n=(await this.fetchWithRetry(e,t).then(e=>{if(e.status!==200||!e.json){let t=`Surveys API could not be loaded: ${e.status}`,n=Error(t);this._logger.error(n),this._events.emit(`error`,Error(t));return}return e.json()}).catch(e=>{this._logger.error(`Surveys API could not be loaded`,e),this._events.emit(`error`,e)}))?.surveys;return n&&this._logger.info(`Surveys fetched from API: `,JSON.stringify(n)),n??[]}get props(){return this._props||=this.getPersistedProperty(bx.Props),this._props||{}}set props(e){this._props=e}async register(e){this.wrap(()=>{this.props={...this.props,...e},this.setPersistedProperty(bx.Props,this.props)})}async unregister(e){this.wrap(()=>{delete this.props[e],this.setPersistedProperty(bx.Props,this.props)})}processBeforeEnqueue(e){return e}async flushStorage(){}enqueue(e,t,n){this.wrap(()=>{if(this.optedOut)return void this._events.emit(e,`Library is disabled. Not sending event. To re-enable, call posthog.optIn()`);let r=this.prepareMessage(e,t,n);if(r=this.processBeforeEnqueue(r),r===null)return;let i=this.getPersistedProperty(bx.Queue)||[];i.length>=this.maxQueueSize&&(i.shift(),this._logger.info(`Queue is full, the oldest event is dropped.`)),i.push({message:r}),this.setPersistedProperty(bx.Queue,i),this._events.emit(e,r),i.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=lS(()=>this.flushBackground(),this.flushInterval))})}async sendImmediate(e,t,n){if(this.disabled)return void this._logger.warn(`The client is disabled`);if(this._isInitialized||await this._initPromise,this.optedOut)return void this._events.emit(e,`Library is disabled. Not sending event. To re-enable, call posthog.optIn()`);let r=this.prepareMessage(e,t,n);if(r=this.processBeforeEnqueue(r),r===null)return;let i={api_key:this.apiKey,batch:[r],sent_at:cS()};this.historicalMigration&&(i.historical_migration=!0);let a=JSON.stringify(i),o=`${this.host}/batch/`,s=this.disableCompression?null:await mS(a,this.isDebug),c={method:`POST`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`,...s!==null&&{"Content-Encoding":`gzip`}},body:s||a};try{await this.fetchWithRetry(o,c)}catch(e){this._events.emit(`error`,e)}}prepareMessage(e,t,n){let r={...t,type:e,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:n?.timestamp?n?.timestamp:cS(),uuid:n?.uuid?n.uuid:vx()};return(n?.disableGeoip??this.disableGeoip)&&(r.properties||={},r.properties.$geoip_disable=!0),r.distinctId&&(r.distinct_id=r.distinctId,delete r.distinctId),r}clearFlushTimer(){this._flushTimer&&=(clearTimeout(this._flushTimer),void 0)}flushBackground(){this.flush().catch(async e=>{await _S(e)})}async flush(){let e=dS([this.flushPromise]).then(()=>this._flush());return this.flushPromise=e,this.addPendingPromise(e),dS([e]).then(()=>{this.flushPromise===e&&(this.flushPromise=null)}),e}getCustomHeaders(){let e=this.getCustomUserAgent(),t={};return e&&e!==``&&(t[`User-Agent`]=e),t}async _flush(){this.clearFlushTimer(),await this._initPromise;let e=this.getPersistedProperty(bx.Queue)||[];if(!e.length)return;let t=[],n=e.length;for(;e.length>0&&t.length<n;){let n=e.slice(0,this.maxBatchSize),r=n.map(e=>e.message),i=async()=>{let t=(this.getPersistedProperty(bx.Queue)||[]).slice(n.length);this.setPersistedProperty(bx.Queue,t),e=t,await this.flushStorage()},a={api_key:this.apiKey,batch:r,sent_at:cS()};this.historicalMigration&&(a.historical_migration=!0);let o=JSON.stringify(a),s=`${this.host}/batch/`,c=this.disableCompression?null:await mS(o,this.isDebug),l={method:`POST`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`,...c!==null&&{"Content-Encoding":`gzip`}},body:c||o},u={retryCheck:e=>yS(e)?!1:vS(e)};try{await this.fetchWithRetry(s,l,u)}catch(e){if(yS(e)&&r.length>1){this.maxBatchSize=Math.max(1,Math.floor(r.length/2)),this._logger.warn(`Received 413 when sending batch of size ${r.length}, reducing batch size to ${this.maxBatchSize}`);continue}throw e instanceof gS||await i(),this._events.emit(`error`,e),e}await i(),t.push(...r)}this._events.emit(`flush`,t)}async fetchWithRetry(e,t,n,r){let i=t.body?t.body:``,a=-1;try{a=i instanceof Blob?i.size:Buffer.byteLength(i,`utf8`)}catch{a=i instanceof Blob?i.size:new TextEncoder().encode(i).length}return await sS(async()=>{let n=new AbortController,i=lS(()=>n.abort(),r??this.requestTimeout),o=null;try{o=await this.fetch(e,{signal:n.signal,...t})}catch(e){throw new gS(e)}finally{clearTimeout(i)}if(t.mode!==`no-cors`&&(o.status<200||o.status>=400))throw new hS(o,a);return o},{...this._retryOptions,...n})}async _shutdown(e=3e4){await this._initPromise;let t=!1;this.clearFlushTimer();let n=async()=>{try{for(await this.promiseQueue.join();!((this.getPersistedProperty(bx.Queue)||[]).length===0||(await this.flush(),t)););}catch(e){if(!vS(e))throw e;await _S(e)}},r;try{return await Promise.race([new Promise((n,i)=>{r=lS(()=>{this._logger.error(`Timed out while shutting down PostHog`),t=!0,i(`Timeout while shutting down PostHog. Some events may not have been sent.`)},e)}),n()])}finally{clearTimeout(r)}}async shutdown(e=3e4){return this.shutdownPromise?this._logger.warn(`shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup`):this.shutdownPromise=this._shutdown(e).finally(()=>{this.shutdownPromise=null}),this.shutdownPromise}};let xS,SS,CS;function wS(e){let t=globalThis._posthogChunkIds;if(!t)return;let n=Object.keys(t);return CS&&n.length===SS?CS:(SS=n.length,CS=n.reduce((n,r)=>{xS||={};let i=xS[r];if(i)n[i[0]]=i[1];else{let i=e(r);for(let e=i.length-1;e>=0;e--){let a=i[e]?.filename,o=t[r];if(a&&o){n[a]=o,xS[r]=[a,o];break}}}return n},{}),CS)}var TS=class{constructor(e,t,n=[]){this.coercers=e,this.stackParser=t,this.modifiers=n}buildFromUnknown(e,t={}){let n=t&&t.mechanism||{handled:!0,type:`generic`},r=this.buildCoercingContext(n,t,0).apply(e),i=this.buildParsingContext(t),a=this.parseStacktrace(r,i);return{$exception_list:this.convertToExceptionList(a,n),$exception_level:`error`}}async modifyFrames(e){for(let t of e)t.stacktrace&&t.stacktrace.frames&&Ex(t.stacktrace.frames)&&(t.stacktrace.frames=await this.applyModifiers(t.stacktrace.frames));return e}coerceFallback(e){return{type:`Error`,value:`Unknown error`,stack:e.syntheticException?.stack,synthetic:!0}}parseStacktrace(e,t){let n;e.cause!=null&&(n=this.parseStacktrace(e.cause,t));let r;return e.stack!=``&&e.stack!=null&&(r=this.applyChunkIds(this.stackParser(e.stack,e.synthetic?t.skipFirstLines:0),t.chunkIdMap)),{...e,cause:n,stack:r}}applyChunkIds(e,t){return e.map(e=>(e.filename&&t&&(e.chunk_id=t[e.filename]),e))}applyCoercers(e,t){for(let n of this.coercers)if(n.match(e))return n.coerce(e,t);return this.coerceFallback(t)}async applyModifiers(e){let t=e;for(let e of this.modifiers)t=await e(t);return t}convertToExceptionList(e,t){let n={type:e.type,value:e.value,mechanism:{type:t.type??`generic`,handled:t.handled??!0,synthetic:e.synthetic??!1}};e.stack&&(n.stacktrace={type:`raw`,frames:e.stack});let r=[n];return e.cause!=null&&r.push(...this.convertToExceptionList(e.cause,{...t,handled:!0})),r}buildParsingContext(e){return{chunkIdMap:wS(this.stackParser),skipFirstLines:e.skipFirstLines??1}}buildCoercingContext(e,t,n=0){let r=(n,r)=>{if(r<=4){let i=this.buildCoercingContext(e,t,r);return this.applyCoercers(n,i)}};return{...t,syntheticException:n==0?t.syntheticException:void 0,mechanism:e,apply:e=>r(e,n),next:e=>r(e,n+1)}}};const ES=/^\s*[-]{4,}$/,DS=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,OS=(e,t)=>{let n=e.match(DS);if(n){let e,r,i,a,o;if(n[1]){i=n[1];let t=i.lastIndexOf(`.`);if(i[t-1]===`.`&&t--,t>0){e=i.slice(0,t),r=i.slice(t+1);let n=e.indexOf(`.Module`);n>0&&(i=i.slice(n+1),e=e.slice(0,n))}a=void 0}r&&(a=e,o=r),r===`<anonymous>`&&(o=void 0,i=void 0),i===void 0&&(o||=`?`,i=a?`${a}.${o}`:o);let s=n[2]?.startsWith(`file://`)?n[2].slice(7):n[2],c=n[5]===`native`;return s?.match(/\/[A-Z]:/)&&(s=s.slice(1)),!s&&n[5]&&!c&&(s=n[5]),{filename:s?decodeURI(s):void 0,module:void 0,function:i,lineno:AS(n[3]),colno:AS(n[4]),in_app:kS(s||``,c),platform:t}}if(e.match(ES))return{filename:e,platform:t}};function kS(e,t=!1){return!(t||e&&!e.startsWith(`/`)&&!e.match(/^[A-Z]:/)&&!e.startsWith(`.`)&&!e.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&e!==void 0&&!e.includes(`node_modules/`)}function AS(e){return parseInt(e||``,10)||void 0}const jS=/\(error: (.*)\)/;function MS(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,50).map(e=>({...e,filename:e.filename||NS(t).filename,function:e.function||`?`}))}function NS(e){return e[e.length-1]||{}}function PS(e,...t){return(n,r=0)=>{let i=[],a=n.split(`
|
|
33
|
-
`);for(let n=r;n<a.length;n++){let r=a[n];if(r.length>1024)continue;let o=jS.test(r)?r.replace(jS,`$1`):r;if(!o.match(/\S*Error: /)){for(let n of t){let t=n(o,e);if(t){i.push(t);break}}if(i.length>=50)break}}return MS(i)}}var FS=class{match(e){return Mx(e)}coerce(e,t){return{type:this.getType(e),value:this.getMessage(e,t),stack:this.getStack(e),cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return e.name||e.constructor.name}getMessage(e,t){let n=e.message;return n.error&&typeof n.error.message==`string`?String(n.error.message):String(n)}getStack(e){return e.stacktrace||e.stack||void 0}};const IS=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;var LS=class{match(e){return typeof e==`string`}coerce(e,t){let[n,r]=this.getInfos(e);return{type:n??`Error`,value:r??e,stack:t.syntheticException?.stack,synthetic:!0}}getInfos(e){let t=`Error`,n=e,r=e.match(IS);return r&&(t=r[1],n=r[2]),[t,n]}};const RS=[`fatal`,`error`,`warning`,`log`,`info`,`debug`];function zS(e,t=40){let n=Object.keys(e);if(n.sort(),!n.length)return`[object has no keys]`;for(let e=n.length;e>0;e--){let r=n.slice(0,e).join(`, `);if(!(r.length>t))return e===n.length||r.length<=t?r:`${r.slice(0,t)}...`}return``}var BS=class{match(e){return typeof e==`object`&&!!e}coerce(e,t){let n=this.getErrorPropertyFromObject(e);return n?t.apply(n):{type:this.getType(e),value:this.getValue(e),stack:t.syntheticException?.stack,level:this.isSeverityLevel(e.level)?e.level:`error`,synthetic:!0}}getType(e){return Fx(e)?e.constructor.name:`Error`}getValue(e){if(`name`in e&&typeof e.name==`string`){let t=`'${e.name}' captured as exception`;return`message`in e&&typeof e.message==`string`&&(t+=` with message: '${e.message}'`),t}if(`message`in e&&typeof e.message==`string`)return e.message;let t=this.getObjectClassName(e),n=zS(e);return`${t&&t!==`Object`?`'${t}'`:`Object`} captured as exception with keys: ${n}`}isSeverityLevel(e){return kx(e)&&!Ax(e)&&RS.indexOf(e)>=0}getErrorPropertyFromObject(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let n=e[t];if(uS(n))return n}}getObjectClassName(e){try{let t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{return}}},VS=class{match(e){return Fx(e)}coerce(e,t){let n=e.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${zS(e)}`,stack:t.syntheticException?.stack,synthetic:!0}}},HS=class{match(e){return Nx(e)}coerce(e,t){return{type:`Error`,value:`Primitive value captured as exception: ${String(e)}`,stack:t.syntheticException?.stack,synthetic:!0}}},US=class{constructor(e){this._maxSize=e,this._cache=new Map}get(e){let t=this._cache.get(e);if(t!==void 0)return this._cache.delete(e),this._cache.set(e,t),t}set(e,t){this._cache.set(e,t)}reduce(){for(;this._cache.size>=this._maxSize;){let e=this._cache.keys().next().value;e&&this._cache.delete(e)}}};const WS=new US(25),GS=new US(20);async function KS(e){let t={};for(let n=e.length-1;n>=0;n--){let r=e[n],i=r?.filename;!r||typeof i!=`string`||typeof r.lineno!=`number`||ZS(i)||QS(r)||(t[i]||(t[i]=[]),t[i].push(r.lineno))}let n=Object.keys(t);if(n.length==0)return e;let r=[];for(let e of n){if(GS.get(e))continue;let n=t[e];if(!n)continue;n.sort((e,t)=>e-t);let i=eC(n);if(i.every(t=>$S(e,t)))continue;let a=iC(WS,e,{});r.push(qS(e,i,a))}return await Promise.all(r).catch(()=>{}),e&&e.length>0&&JS(e,WS),WS.reduce(),e}function qS(e,t,n){return new Promise(r=>{let i=Aa(e),a=Pa({input:i});function o(){i.destroy(),r()}let s=0,c=0,l=t[c];if(l===void 0)return void o();let u=l[0],d=l[1];function f(){GS.set(e,1),a.close(),a.removeAllListeners(),o()}i.on(`error`,f),a.on(`error`,f),a.on(`close`,o),a.on(`line`,e=>{if(s++,!(s<u)&&(n[s]=aC(e,0),s>=d)){if(c===t.length-1){a.close(),a.removeAllListeners();return}c++;let e=t[c];if(e===void 0){a.close(),a.removeAllListeners();return}u=e[0],d=e[1]}})})}function JS(e,t){for(let n of e)if(n.filename&&n.context_line===void 0&&typeof n.lineno==`number`){let e=t.get(n.filename);if(e===void 0)continue;YS(n.lineno,n,e)}}function YS(e,t,n){if(t.lineno===void 0||n===void 0)return;t.pre_context=[];for(let r=nC(e);r<e;r++){let e=n[r];if(e===void 0)return void XS(t);t.pre_context.push(e)}if(n[e]===void 0)return void XS(t);t.context_line=n[e];let r=rC(e);t.post_context=[];for(let i=e+1;i<=r;i++){let e=n[i];if(e===void 0)break;t.post_context.push(e)}}function XS(e){delete e.pre_context,delete e.context_line,delete e.post_context}function ZS(e){return e.startsWith(`node:`)||e.endsWith(`.min.js`)||e.endsWith(`.min.cjs`)||e.endsWith(`.min.mjs`)||e.startsWith(`data:`)}function QS(e){return e.lineno!==void 0&&e.lineno>1e4||e.colno!==void 0&&e.colno>1e3}function $S(e,t){let n=WS.get(e);if(n===void 0)return!1;for(let e=t[0];e<=t[1];e++)if(n[e]===void 0)return!1;return!0}function eC(e){if(!e.length)return[];let t=0,n=e[0];if(typeof n!=`number`)return[];let r=tC(n),i=[];for(;;){if(t===e.length-1){i.push(r);break}let n=e[t+1];if(typeof n!=`number`)break;n<=r[1]?r[1]=n+7:(i.push(r),r=tC(n)),t++}return i}function tC(e){return[nC(e),rC(e)]}function nC(e){return Math.max(1,e-7)}function rC(e){return e+7}function iC(e,t,n){let r=e.get(t);return r===void 0?(e.set(t,n),n):r}function aC(e,t){let n=e,r=n.length;if(r<=150)return n;t>r&&(t=r);let i=Math.max(t-60,0);i<5&&(i=0);let a=Math.min(i+140,r);return a>r-5&&(a=r),a===r&&(i=Math.max(a-140,0)),n=n.slice(i,a),i>0&&(n=`...${n}`),a<r&&(n+=`...`),n}function oC(e,t){let n=!1;return Object.assign(r=>{let i=global.process.listeners(`uncaughtException`).filter(e=>e.name!==`domainUncaughtExceptionClear`&&!0!==e._posthogErrorHandler).length===0;e(r,{mechanism:{type:`onuncaughtexception`,handled:!1}}),!n&&i&&(n=!0,t(r))},{_posthogErrorHandler:!0})}function sC(e,t){globalThis.process?.on(`uncaughtException`,oC(e,t))}function cC(e){globalThis.process?.on(`unhandledRejection`,t=>e(t,{mechanism:{type:`onunhandledrejection`,handled:!1}}))}var lC=class e{constructor(e,t,n){this.client=e,this._exceptionAutocaptureEnabled=t.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new zx({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(e){return Dx(e)&&`__posthog_previously_captured_error`in e&&!0===e.__posthog_previously_captured_error}static async buildEventMessage(e,t,n,r){let i={...r};n||(i.$process_person_profile=!1);let a=this.errorPropertiesBuilder.buildFromUnknown(e,t);return a.$exception_list=await this.errorPropertiesBuilder.modifyFrames(a.$exception_list),{event:`$exception`,distinctId:n||vx(),properties:{...a,...i},_originatedFromCaptureException:!0}}startAutocaptureIfEnabled(){this.isEnabled()&&(sC(this.onException.bind(this),this.onFatalError.bind(this)),cC(this.onException.bind(this)))}onException(t,n){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let r=await e.buildEventMessage(t,n),i=r.properties?.$exception_list[0]?.type??`Exception`;return this._rateLimiter.consumeRateLimit(i)?void this._logger.info(`Skipping exception capture because of client rate limiting.`,{exception:i}):this.client.capture(r)}})())}async onFatalError(e){console.error(e),await this.client.shutdown(2e3),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};const uC={ERRORS_WHILE_COMPUTING:`errors_while_computing_flags`,FLAG_MISSING:`flag_missing`,QUOTA_LIMITED:`quota_limited`,UNKNOWN_ERROR:`unknown_error`};async function dC(e){let t=globalThis.crypto?.subtle;if(!t)throw Error(`SubtleCrypto API not available`);let n=await t.digest(`SHA-1`,new TextEncoder().encode(e));return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}const fC=[`is_not`];var pC=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name=`ClientError`,this.message=t,Object.setPrototypeOf(this,e.prototype)}},mC=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},hC=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},gC=class{constructor({pollingInterval:e,personalApiKey:t,projectApiKey:n,timeout:r,host:i,customHeaders:a,...o}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=e,this.personalApiKey=t,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=r,this.projectApiKey=n,this.host=i,this.poller=void 0,this.fetch=o.fetch||fetch,this.onError=o.onError,this.customHeaders=a,this.onLoad=o.onLoad,this.cacheProvider=o.cacheProvider,this.strictLocalEvaluation=o.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(e=!0){this.debugMode=e}logMsgIfDebug(e){this.debugMode&&e()}createEvaluationContext(e,t={},n={},r={},i={}){return{distinctId:e,groups:t,personProperties:n,groupProperties:r,evaluationCache:i}}async getFeatureFlag(e,t,n={},r={},i={}){await this.loadFeatureFlags();let a,o;if(!this.loadedSuccessfullyOnce)return a;if(o=this.featureFlagsByKey[e],o!==void 0){let s=this.createEvaluationContext(t,n,r,i);try{a=(await this.computeFlagAndPayloadLocally(o,s)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${e} -> ${a}`))}catch(t){t instanceof hC||t instanceof mC?this.logMsgIfDebug(()=>console.debug(`${t.name} when computing flag locally: ${e}: ${t.message}`)):t instanceof Error&&this.onError?.(Error(`Error computing flag locally: ${e}: ${t}`))}}return a}async getAllFlagsAndPayloads(e,t){await this.loadFeatureFlags();let n={},r={},i=this.featureFlags.length==0,a=t?t.map(e=>this.featureFlagsByKey[e]).filter(Boolean):this.featureFlags,o={...e,evaluationCache:e.evaluationCache??{}};return await Promise.all(a.map(async e=>{try{let{value:t,payload:i}=await this.computeFlagAndPayloadLocally(e,o);n[e.key]=t,i&&(r[e.key]=i)}catch(t){t instanceof hC||t instanceof mC?this.logMsgIfDebug(()=>console.debug(`${t.name} when computing flag locally: ${e.key}: ${t.message}`)):t instanceof Error&&this.onError?.(Error(`Error computing flag locally: ${e.key}: ${t}`)),i=!0}})),{response:n,payloads:r,fallbackToFlags:i}}async computeFlagAndPayloadLocally(e,t,n={}){let{matchValue:r,skipLoadCheck:i=!1}=n;if(i||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let a;a=r===void 0?await this.computeFlagValueLocally(e,t):r;let o=this.getFeatureFlagPayload(e.key,a);return{value:a,payload:o}}async computeFlagValueLocally(e,t){let{distinctId:n,groups:r,personProperties:i,groupProperties:a}=t;if(e.ensure_experience_continuity)throw new mC(`Flag has experience continuity enabled`);if(!e.active)return!1;let o=(e.filters||{}).aggregation_group_type_index;if(o!=null){let n=this.groupTypeMapping[String(o)];if(!n)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${o} for feature flag ${e.key}`)),new mC(`Flag has unknown group type index`);if(!(n in r))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${e.key} without group names passed in`)),!1;e.bucketing_identifier===`device_id`&&(i?.$device_id===void 0||i?.$device_id===null||i?.$device_id===``)&&this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${e.key}`));let s=a[n];return await this.matchFeatureFlagProperties(e,r[n],s,t)}{let r=this.getBucketingValueForFlag(e,n,i);if(r===void 0)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${e.key} without $device_id, falling back to server evaluation`)),new mC(`Can't compute feature flag: ${e.key} without $device_id`);return await this.matchFeatureFlagProperties(e,r,i,t)}}getBucketingValueForFlag(e,t,n){if(e.filters?.aggregation_group_type_index!=null)return t;if(e.bucketing_identifier===`device_id`){let e=n?.$device_id;return e==null||e===``?void 0:e}return t}getFeatureFlagPayload(e,t){let n=null;if(!1!==t&&t!=null&&(typeof t==`boolean`?n=this.featureFlagsByKey?.[e]?.filters?.payloads?.[t.toString()]||null:typeof t==`string`&&(n=this.featureFlagsByKey?.[e]?.filters?.payloads?.[t]||null),n!=null)){if(typeof n==`object`)return n;if(typeof n==`string`)try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(e,t,n){let{evaluationCache:r}=n,i=e.key;if(!this.featureFlagsByKey)throw new mC(`Feature flags not available for dependency evaluation`);if(!(`dependency_chain`in e))throw new mC(`Flag dependency property for '${i}' is missing required 'dependency_chain' field`);let a=e.dependency_chain;if(!Array.isArray(a))throw new mC(`Flag dependency property for '${i}' has an invalid 'dependency_chain' (expected array, got ${typeof a})`);if(a.length===0)throw new mC(`Circular dependency detected for flag '${i}' (empty dependency chain)`);for(let e of a){if(!(e in r)){let t=this.featureFlagsByKey[e];if(t)if(t.active)try{r[e]=await this.computeFlagValueLocally(t,n)}catch(t){throw new mC(`Error evaluating flag dependency '${e}' for flag '${i}': ${t}`)}else r[e]=!1;else throw new mC(`Missing flag dependency '${e}' for flag '${i}'`)}if(r[e]==null)throw new mC(`Dependency '${e}' could not be evaluated`)}let o=r[i];return this.flagEvaluatesToExpectedValue(e.value,o)}flagEvaluatesToExpectedValue(e,t){return typeof e==`boolean`?e===t||typeof t==`string`&&t!==``&&!0===e:typeof e==`string`?t===e:!1}async matchFeatureFlagProperties(e,t,n,r){let i=e.filters||{},a=i.groups||[],o=!1,s;for(let c of a)try{if(await this.isConditionMatch(e,t,c,n,r)){let n=c.variant,r=i.multivariate?.variants||[];s=n&&r.some(e=>e.key===n)?n:await this.getMatchingVariant(e,t)||!0;break}}catch(e){if(e instanceof hC)throw e;if(e instanceof mC)o=!0;else throw e}if(s!==void 0)return s;if(o)throw new mC(`Can't determine if feature flag is enabled or not with given properties`);return!1}async isConditionMatch(e,t,n,r,i){let a=n.rollout_percentage,o=e=>{this.logMsgIfDebug(()=>console.warn(e))};if((n.properties||[]).length>0){for(let e of n.properties){let t=e.type,n=!1;if(n=t===`cohort`?bC(e,r,this.cohorts,this.debugMode):t===`flag`?await this.evaluateFlagDependency(e,r,i):vC(e,r,o),!n)return!1}if(a==null)return!0}return!(a!=null&&await _C(e.key,t)>a/100)}async getMatchingVariant(e,t){let n=await _C(e.key,t,`variant`),r=this.variantLookupTable(e).find(e=>n>=e.valueMin&&n<e.valueMax);if(r)return r.key}variantLookupTable(e){let t=[],n=0,r=0;return((e.filters||{}).multivariate?.variants||[]).forEach(e=>{r=n+e.rollout_percentage/100,t.push({valueMin:n,valueMax:r,key:e.key}),n=r}),t}updateFlagState(e){this.featureFlags=e.flags,this.featureFlagsByKey=e.flags.reduce((e,t)=>(e[t.key]=t,e),{}),this.groupTypeMapping=e.groupTypeMapping,this.cohorts=e.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(e){if(this.strictLocalEvaluation)return;let t=e.filter(e=>e.ensure_experience_continuity);t.length>0&&console.warn(`[PostHog] You are using local evaluation but ${t.length} flag(s) have experience continuity enabled: ${t.map(e=>e.key).join(`, `)}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(e){if(!this.cacheProvider)return!1;try{let t=await this.cacheProvider.getFlagDefinitions();return t?(this.updateFlagState(t),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${e} (${t.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(t.flags),!0):!1}catch(e){return this.onError?.(Error(`Failed to load from cache: ${e}`)),!1}}async loadFeatureFlags(e=!1){if(!(this.loadedSuccessfullyOnce&&!e))return!e&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Skipping fetch, in backoff period`)):(this.loadingPromise||=this._loadFeatureFlags().catch(e=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${e}`))).finally(()=>{this.loadingPromise=void 0}),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getFlagDefinitionsLoadedAt(){return this.flagDefinitionsLoadedAt}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(6e4,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&=(clearTimeout(this.poller),void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let e=!0;if(this.cacheProvider)try{e=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(e){this.onError?.(Error(`Error in shouldFetchFlagDefinitions: ${e}`))}if(!e&&(await this.loadFromCache(`Loaded flags from cache (skipped fetch)`)||this.loadedSuccessfullyOnce))return;let t=await this._requestFeatureFlagDefinitions();if(!t)return;switch(t.status){case 304:this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Flags not modified (304), using cached data`)),this.flagsEtag=t.headers?.get(`ETag`)??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new pC(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn(`[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts`),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new pC(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new pC(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await t.json()??{};if(!(`flags`in n))return void this.onError?.(Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=t.headers?.get(`ETag`)??void 0;let r={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(r),this.flagDefinitionsLoadedAt=Date.now(),this.clearBackoff(),this.cacheProvider&&e)try{await this.cacheProvider.onFlagDefinitionsReceived(r)}catch(e){this.onError?.(Error(`Failed to store in cache: ${e}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags);break}default:return}}catch(e){e instanceof pC&&this.onError?.(e)}}getPersonalApiKeyRequestOptions(e=`GET`,t){let n={...this.customHeaders,"Content-Type":`application/json`,Authorization:`Bearer ${this.personalApiKey}`};return t&&(n[`If-None-Match`]=t),{method:e,headers:n}}_requestFeatureFlagDefinitions(){let e=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,t=this.getPersonalApiKeyRequestOptions(`GET`,this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout==`number`){let e=new AbortController;n=lS(()=>{e.abort()},this.timeout),t.signal=e.signal}try{let n=this.fetch;return n(e,t)}finally{clearTimeout(n)}}async stopPoller(e=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let t=this.cacheProvider.shutdown();t instanceof Promise&&await Promise.race([t,new Promise((t,n)=>setTimeout(()=>n(Error(`Cache shutdown timeout after ${e}ms`)),e))])}catch(e){this.onError?.(Error(`Error during cache shutdown: ${e}`))}}};async function _C(e,t,n=``){let r=await dC(`${e}.${t}${n}`);return parseInt(r.slice(0,15),16)/0x1000000000000000}function vC(e,t,n){let r=e.key,i=e.value,a=e.operator||`exact`;if(r in t){if(a===`is_not_set`)throw new mC(`Operator is_not_set is not supported`)}else throw new mC(`Property ${r} not found in propertyValues`);let o=t[r];if(o==null&&!fC.includes(a))return n&&n(`Property ${r} cannot have a value of null/undefined with the ${a} operator`),!1;function s(e,t){return Array.isArray(e)?e.map(e=>String(e).toLowerCase()).includes(String(t).toLowerCase()):String(e).toLowerCase()===String(t).toLowerCase()}function c(e,t,n){if(n===`gt`)return e>t;if(n===`gte`)return e>=t;if(n===`lt`)return e<t;if(n===`lte`)return e<=t;throw Error(`Invalid operator: ${n}`)}switch(a){case`exact`:return s(i,o);case`is_not`:return!s(i,o);case`is_set`:return r in t;case`icontains`:return String(o).toLowerCase().includes(String(i).toLowerCase());case`not_icontains`:return!String(o).toLowerCase().includes(String(i).toLowerCase());case`regex`:return SC(String(i))&&String(o).match(String(i))!==null;case`not_regex`:return SC(String(i))&&String(o).match(String(i))===null;case`gt`:case`gte`:case`lt`:case`lte`:{let e=typeof i==`number`?i:null;if(typeof i==`string`)try{e=parseFloat(i)}catch{}return e==null||o==null?c(String(o),String(i),a):typeof o==`string`?c(o,String(i),a):c(o,e,a)}case`is_date_after`:case`is_date_before`:{if(typeof i==`boolean`)throw new mC(`Date operations cannot be performed on boolean values`);let e=kC(String(i));if(e??=OC(i),e==null)throw new mC(`Invalid date: ${i}`);let t=OC(o);return[`is_date_before`].includes(a)?t<e:t>e}case`semver_eq`:return wC(CC(String(o)),CC(String(i)))===0;case`semver_neq`:return wC(CC(String(o)),CC(String(i)))!==0;case`semver_gt`:return wC(CC(String(o)),CC(String(i)))>0;case`semver_gte`:return wC(CC(String(o)),CC(String(i)))>=0;case`semver_lt`:return wC(CC(String(o)),CC(String(i)))<0;case`semver_lte`:return wC(CC(String(o)),CC(String(i)))<=0;case`semver_tilde`:{let e=CC(String(o)),{lower:t,upper:n}=TC(String(i));return wC(e,t)>=0&&wC(e,n)<0}case`semver_caret`:{let e=CC(String(o)),{lower:t,upper:n}=EC(String(i));return wC(e,t)>=0&&wC(e,n)<0}case`semver_wildcard`:{let e=CC(String(o)),{lower:t,upper:n}=DC(String(i));return wC(e,t)>=0&&wC(e,n)<0}default:throw new mC(`Unknown operator: ${a}`)}}function yC(e,t){if(!(e in t))throw new hC(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function bC(e,t,n,r=!1){let i=String(e.value);yC(i,n);let a=n[i];return xC(a,t,n,r)}function xC(e,t,n,r=!1){if(!e)return!0;let i=e.type,a=e.values;if(!a||a.length===0)return!0;let o=!1;if(`values`in a[0]){for(let e of a)try{let a=xC(e,t,n,r);if(i===`AND`){if(!a)return!1}else if(a)return!0}catch(t){if(t instanceof hC)throw t;if(t instanceof mC)r&&console.debug(`Failed to compute property ${e} locally: ${t}`),o=!0;else throw t}if(o)throw new mC(`Can't match cohort without a given cohort property value`);return i===`AND`}for(let e of a)try{let a;if(e.type===`cohort`)a=bC(e,t,n,r);else if(e.type===`flag`){r&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${e.key||`unknown`}'`);continue}else a=vC(e,t);let o=e.negation||!1;if(i===`AND`){if(!a&&!o||a&&o)return!1}else if(a&&!o||!a&&o)return!0}catch(t){if(t instanceof hC)throw t;if(t instanceof mC)r&&console.debug(`Failed to compute property ${e} locally: ${t}`),o=!0;else throw t}if(o)throw new mC(`can't match cohort without a given cohort property value`);return i===`AND`}function SC(e){try{return new RegExp(e),!0}catch{return!1}}function CC(e){let t=String(e).trim().replace(/^[vV]/,``).split(`-`)[0].split(`+`)[0];if(!t||t.startsWith(`.`))throw new mC(`Invalid semver: ${e}`);let n=t.split(`.`),r=t=>{if(t===void 0||t===``)return 0;if(!/^\d+$/.test(t))throw new mC(`Invalid semver: ${e}`);return parseInt(t,10)};return[r(n[0]),r(n[1]),r(n[2])]}function wC(e,t){for(let n=0;n<3;n++){if(e[n]<t[n])return-1;if(e[n]>t[n])return 1}return 0}function TC(e){let t=CC(e);return{lower:[t[0],t[1],t[2]],upper:[t[0],t[1]+1,0]}}function EC(e){let[t,n,r]=CC(e),i=[t,n,r],a;return a=t>0?[t+1,0,0]:n>0?[0,n+1,0]:[0,0,r+1],{lower:i,upper:a}}function DC(e){let t=String(e).trim().replace(/^[vV]/,``).replace(/\.\*$/,``).replace(/\*$/,``);if(!t)throw new mC(`Invalid wildcard semver: ${e}`);let n=t.split(`.`),r=parseInt(n[0],10);if(isNaN(r))throw new mC(`Invalid wildcard semver: ${e}`);let i,a;if(n.length===1)i=[r,0,0],a=[r+1,0,0];else{let t=parseInt(n[1],10);if(isNaN(t))throw new mC(`Invalid wildcard semver: ${e}`);i=[r,t,0],a=[r,t+1,0]}return{lower:i,upper:a}}function OC(e){if(e instanceof Date)return e;if(typeof e==`string`||typeof e==`number`){let t=new Date(e);if(!isNaN(t.valueOf()))return t;throw new mC(`${e} is in an invalid date format`)}throw new mC(`The date provided ${e} must be a string, number, or date object`)}function kC(e){let t=e.match(/^-?(?<number>[0-9]+)(?<interval>[a-z])$/),n=new Date(new Date().toISOString());if(!t)return null;{if(!t.groups)return null;let e=parseInt(t.groups.number);if(e>=1e4)return null;let r=t.groups.interval;if(r==`h`)n.setUTCHours(n.getUTCHours()-e);else if(r==`d`)n.setUTCDate(n.getUTCDate()-e);else if(r==`w`)n.setUTCDate(n.getUTCDate()-7*e);else if(r==`m`)n.setUTCMonth(n.getUTCMonth()-e);else{if(r!=`y`)return null;n.setUTCFullYear(n.getUTCFullYear()-e)}return n}}var AC=class{getProperty(e){return this._memoryStorage[e]}setProperty(e,t){this._memoryStorage[e]=t===null?void 0:t}constructor(){this._memoryStorage={}}};const jC=3e4;var MC=class extends bS{constructor(e,t={}){if(super(e,t),this._memoryStorage=new AC,this.options=t,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof t.featureFlagsPollingInterval==`number`?Math.max(t.featureFlagsPollingInterval,100):jC,typeof t.waitUntilDebounceMs==`number`&&(this.options.waitUntilDebounceMs=Math.max(t.waitUntilDebounceMs,0)),typeof t.waitUntilMaxWaitMs==`number`&&(this.options.waitUntilMaxWaitMs=Math.max(t.waitUntilMaxWaitMs,0)),t.personalApiKey){if(t.personalApiKey.includes(`phc_`))throw Error(`Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.`);!1!==t.enableLocalEvaluation&&(this.featureFlagsPoller=new gC({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:t.personalApiKey,projectApiKey:e,timeout:t.requestTimeout??1e4,host:this.host,fetch:t.fetch,onError:e=>{this._events.emit(`error`,e)},onLoad:e=>{this._events.emit(`localEvaluationFlagsLoaded`,e)},customHeaders:this.getCustomHeaders(),cacheProvider:t.flagDefinitionCacheProvider,strictLocalEvaluation:t.strictLocalEvaluation}))}this.errorTracking=new lC(this,t,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=t.maxCacheSize||5e4}enqueue(e,t,n){super.enqueue(e,t,n),this.scheduleDebouncedFlush()}async flush(){let e=super.flush(),t=this.options.waitUntil;if(t&&!this._waitUntilCycle)try{t(e.catch(()=>{}))}catch{}return e}scheduleDebouncedFlush(){let e=this.options.waitUntil;if(!e||this.disabled||this.optedOut)return;if(!this._waitUntilCycle){let t,n=new Promise(e=>{t=e});try{e(n)}catch{return}this._waitUntilCycle={resolve:t,startedAt:Date.now(),timer:void 0}}let t=Date.now()-this._waitUntilCycle.startedAt>=(this.options.waitUntilMaxWaitMs??500);if(this._waitUntilCycle.timer!==void 0&&clearTimeout(this._waitUntilCycle.timer),t)return void this.resolveWaitUntilFlush();let n=this.options.waitUntilDebounceMs??50;this._waitUntilCycle.timer=lS(()=>{this.resolveWaitUntilFlush()},n)}_consumeWaitUntilCycle(){let e=this._waitUntilCycle;return e&&(clearTimeout(e.timer),this._waitUntilCycle=void 0),e?.resolve}async resolveWaitUntilFlush(){let e=this._consumeWaitUntilCycle();try{await super.flush()}catch{}finally{e?.()}}getPersistedProperty(e){return this._memoryStorage.getProperty(e)}setPersistedProperty(e,t){return this._memoryStorage.setProperty(e,t)}fetch(e,t){return this.options.fetch?this.options.fetch(e,t):fetch(e,t)}getLibraryVersion(){return`5.28.5`}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(e=!0){super.debug(e),this.featureFlagsPoller?.debug(e)}capture(e){typeof e==`string`&&this._logger.warn(`Called capture() with a string as the first argument when an object was expected.`),e.event===`$exception`&&!e._originatedFromCaptureException&&this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.addPendingPromise(this.prepareEventMessage(e).then(({distinctId:e,event:t,properties:n,options:r})=>super.captureStateless(e,t,n,{timestamp:r.timestamp,disableGeoip:r.disableGeoip,uuid:r.uuid})).catch(e=>{e&&console.error(e)}))}async captureImmediate(e){return typeof e==`string`&&this._logger.warn(`Called captureImmediate() with a string as the first argument when an object was expected.`),e.event===`$exception`&&!e._originatedFromCaptureException&&this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default."),this.addPendingPromise(this.prepareEventMessage(e).then(({distinctId:e,event:t,properties:n,options:r})=>super.captureStatelessImmediate(e,t,n,{timestamp:r.timestamp,disableGeoip:r.disableGeoip,uuid:r.uuid})).catch(e=>{e&&console.error(e)}))}identify({distinctId:e,properties:t={},disableGeoip:n}){let{$set:r,$set_once:i,$anon_distinct_id:a,...o}=t,s={$set:r||o,$set_once:i||{},$anon_distinct_id:a??void 0};super.identifyStateless(e,s,{disableGeoip:n})}async identifyImmediate({distinctId:e,properties:t={},disableGeoip:n}){let{$set:r,$set_once:i,$anon_distinct_id:a,...o}=t,s={$set:r||o,$set_once:i||{},$anon_distinct_id:a??void 0};super.identifyStatelessImmediate(e,s,{disableGeoip:n})}alias(e){super.aliasStateless(e.alias,e.distinctId,void 0,{disableGeoip:e.disableGeoip})}async aliasImmediate(e){await super.aliasStatelessImmediate(e.alias,e.distinctId,void 0,{disableGeoip:e.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(e=jC){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(t=>{let n=setTimeout(()=>{r(),t(!1)},e),r=this._events.on(`localEvaluationFlagsLoaded`,e=>{clearTimeout(n),r(),t(e>0)})})}_resolveDistinctId(e,t){return typeof e==`string`?{distinctId:e,options:t}:{distinctId:this.context?.get()?.distinctId,options:e}}async _getFeatureFlagResult(e,t,n={},r){let i=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&e in this._flagOverrides){let t=this._flagOverrides[e];if(t===void 0)return;let n=this._payloadOverrides?.[e];return{key:e,enabled:!1!==t,variant:typeof t==`string`?t:void 0,payload:n}}let{groups:a,disableGeoip:o}=n,{onlyEvaluateLocally:s,personProperties:c,groupProperties:l}=n,u=this.addLocalPersonAndGroupProperties(t,a,c,l);c=u.allPersonProperties,l=u.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(t,a,c,l);s??=this.options.strictLocalEvaluation??!1;let f,p=!1,m,h,g,_,v,y;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let t=this.featureFlagsPoller?.featureFlagsByKey[e];if(t)try{let n=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(t,d,{matchValue:r});if(n){p=!0;let r=n.value;_=t.id,y=`Evaluated locally`,f={key:e,enabled:!1!==r,variant:typeof r==`string`?r:void 0,payload:n.payload??void 0}}}catch(t){if(t instanceof hC||t instanceof mC)this._logger?.info(`${t.name} when computing flag locally: ${e}: ${t.message}`);else throw t}}if(!p&&!s){let t=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,o,[e]);if(t===void 0)g=uC.UNKNOWN_ERROR;else{m=t.requestId,h=t.evaluatedAt;let n=[];t.errorsWhileComputingFlags&&n.push(uC.ERRORS_WHILE_COMPUTING),t.quotaLimited?.includes(`feature_flags`)&&n.push(uC.QUOTA_LIMITED);let r=t.flags[e];if(r===void 0)n.push(uC.FLAG_MISSING);else{_=r.metadata?.id,v=r.metadata?.version,y=r.reason?.description??r.reason?.code;let t;if(r.metadata?.payload!==void 0)try{t=JSON.parse(r.metadata.payload)}catch{t=r.metadata.payload}f={key:e,enabled:r.enabled,variant:r.variant,payload:t}}n.length>0&&(g=n.join(`,`))}}if(i){let n=f===void 0?void 0:!1===f.enabled?!1:f.variant??!0,r=`${e}_${n}`;if(!(t in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[t].includes(r)){Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[t])?this.distinctIdHasSentFlagCalls[t].push(r):this.distinctIdHasSentFlagCalls[t]=[r];let i={$feature_flag:e,$feature_flag_response:n,$feature_flag_id:_,$feature_flag_version:v,$feature_flag_reason:y,locally_evaluated:p,[`$feature/${e}`]:n,$feature_flag_request_id:m,$feature_flag_evaluated_at:p?Date.now():h};if(p&&this.featureFlagsPoller){let e=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();e!==void 0&&(i.$feature_flag_definitions_loaded_at=e)}g&&(i.$feature_flag_error=g),this.capture({distinctId:t,event:`$feature_flag_called`,properties:i,groups:a,disableGeoip:o})}}return f!==void 0&&this._payloadOverrides!==void 0&&e in this._payloadOverrides&&(f={...f,payload:this._payloadOverrides[e]}),f}async getFeatureFlag(e,t,n){let r=await this._getFeatureFlagResult(e,t,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(r!==void 0)return!1===r.enabled?!1:r.variant??!0}async getFeatureFlagPayload(e,t,n,r){if(this._payloadOverrides!==void 0&&e in this._payloadOverrides)return this._payloadOverrides[e];let i=await this._getFeatureFlagResult(e,t,{...r,sendFeatureFlagEvents:!1},n);if(i!==void 0)return i.payload??null}async getFeatureFlagResult(e,t,n){let{distinctId:r,options:i}=this._resolveDistinctId(t,n);return r?this._getFeatureFlagResult(e,r,{...i,sendFeatureFlagEvents:i?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0}):void this._logger.warn(`[PostHog] distinctId is required — pass it explicitly or use withContext()`)}async getRemoteConfigPayload(e){if(!this.options.personalApiKey)throw Error(`Personal API key is required for remote config payload decryption`);let t=await this._requestRemoteConfigPayload(e);if(!t)return;let n=await t.json();if(typeof n==`string`)try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(e,t,n){let r=await this.getFeatureFlag(e,t,n);if(r!==void 0)return!!r||!1}async getAllFlags(e,t){let{distinctId:n,options:r}=this._resolveDistinctId(e,t);return n?(await this.getAllFlagsAndPayloads(n,r)).featureFlags||{}:(this._logger.warn(`[PostHog] distinctId is required to get feature flags — pass it explicitly or use withContext()`),{})}async getAllFlagsAndPayloads(e,t){let{distinctId:n,options:r}=this._resolveDistinctId(e,t);if(!n)return this._logger.warn(`[PostHog] distinctId is required to get feature flags and payloads — pass it explicitly or use withContext()`),{featureFlags:{},featureFlagPayloads:{}};let{groups:i,disableGeoip:a,flagKeys:o}=r||{},{onlyEvaluateLocally:s,personProperties:c,groupProperties:l}=r||{},u=this.addLocalPersonAndGroupProperties(n,i,c,l);c=u.allPersonProperties,l=u.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,i,c,l);s??=this.options.strictLocalEvaluation??!1;let f=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,o),p={},m={},h=!0;if(f&&(p=f.response,m=f.payloads,h=f.fallbackToFlags),h&&!s){let e=await super.getFeatureFlagsAndPayloadsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,a,o);p={...p,...e.flags||{}},m={...m,...e.payloads||{}}}return this._flagOverrides!==void 0&&(p={...p,...this._flagOverrides}),this._payloadOverrides!==void 0&&(m={...m,...this._payloadOverrides}),{featureFlags:p,featureFlagPayloads:m}}groupIdentify({groupType:e,groupKey:t,properties:n,distinctId:r,disableGeoip:i}){super.groupIdentifyStateless(e,t,n,{disableGeoip:i},r)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(e){let t=e=>Object.fromEntries(e.map(e=>[e,!0]));if(!1===e){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(e)){this._flagOverrides=t(e);return}if(this._isFeatureFlagOverrideOptions(e)){`flags`in e&&(!1===e.flags?this._flagOverrides=void 0:Array.isArray(e.flags)?this._flagOverrides=t(e.flags):e.flags!==void 0&&(this._flagOverrides={...e.flags})),`payloads`in e&&(!1===e.payloads?this._payloadOverrides=void 0:e.payloads!==void 0&&(this._payloadOverrides={...e.payloads}));return}this._flagOverrides={...e}}_isFeatureFlagOverrideOptions(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;if(`flags`in t){let e=t.flags;if(!1===e||Array.isArray(e)||typeof e==`object`&&e)return!0}if(`payloads`in t){let e=t.payloads;if(!1===e||typeof e==`object`&&e)return!0}return!1}withContext(e,t,n){return this.context?this.context.run(e,t,n):t()}getContext(){return this.context?.get()}enterContext(e,t){this.context?.enter(e,t)}async _shutdown(e){let t=this._consumeWaitUntilCycle();await this.featureFlagsPoller?.stopPoller(e),this.errorTracking.shutdown();try{return await super._shutdown(e)}finally{t?.()}}async _requestRemoteConfigPayload(e){if(!this.options.personalApiKey)return;let t=`${this.host}/api/projects/@current/feature_flags/${e}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:`GET`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`,Authorization:`Bearer ${this.options.personalApiKey}`}},r=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout==`number`){let e=new AbortController;r=lS(()=>{e.abort()},this.options.requestTimeout),n.signal=e.signal}try{return await this.fetch(t,n)}catch(e){this._events.emit(`error`,e);return}finally{r&&clearTimeout(r)}}extractPropertiesFromEvent(e,t){if(!e)return{personProperties:{},groupProperties:{}};let n={},r={};for(let[i,a]of Object.entries(e))if(Ix(a)&&t&&i in t){let e={};for(let[t,n]of Object.entries(a))e[String(t)]=String(n);r[String(i)]=e}else n[String(i)]=String(a);return{personProperties:n,groupProperties:r}}async getFeatureFlagsForEvent(e,t,n,r){let i=r?.personProperties||{},a=r?.groupProperties||{},o=r?.flagKeys;if(r?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let r={};for(let[e,n]of Object.entries(t||{}))r[e]=String(n);return await this.getAllFlags(e,{groups:r,personProperties:i,groupProperties:a,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:o})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let r={};for(let[e,n]of Object.entries(t||{}))r[e]=String(n);return await this.getAllFlags(e,{groups:r,personProperties:i,groupProperties:a,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:o})}return(await super.getFeatureFlagsStateless(e,t,i,a,n)).flags}addLocalPersonAndGroupProperties(e,t,n,r){let i={distinct_id:e,...n||{}},a={};if(t)for(let e of Object.keys(t))a[e]={$group_key:t[e],...r?.[e]||{}};return{allPersonProperties:i,allGroupProperties:a}}createFeatureFlagEvaluationContext(e,t,n,r){return{distinctId:e,groups:t||{},personProperties:n||{},groupProperties:r||{},evaluationCache:{}}}captureException(e,t,n,r){if(!lC.isPreviouslyCapturedError(e)){let i=Error(`PostHog syntheticException`);this.addPendingPromise(lC.buildEventMessage(e,{syntheticException:i},t,n).then(e=>this.capture({...e,uuid:r})))}}async captureExceptionImmediate(e,t,n){if(!lC.isPreviouslyCapturedError(e)){let r=Error(`PostHog syntheticException`);return this.addPendingPromise(lC.buildEventMessage(e,{syntheticException:r},t,n).then(e=>this.captureImmediate(e)))}}async prepareEventMessage(e){let{distinctId:t,event:n,properties:r,groups:i,sendFeatureFlags:a,timestamp:o,disableGeoip:s,uuid:c}=e,l=this.context?.get(),u=t||l?.distinctId,d={...this.props,...l?.properties||{},...r||{}};u||(u=vx(),d.$process_person_profile=!1),l?.sessionId&&!d.$session_id&&(d.$session_id=l.sessionId);let f=this._runBeforeSend({distinctId:u,event:n,properties:d,groups:i,sendFeatureFlags:a,timestamp:o,disableGeoip:s,uuid:c});if(!f)return Promise.reject(null);let p=await Promise.resolve().then(async()=>{if(a){let e=typeof a==`object`?a:void 0;return await this.getFeatureFlagsForEvent(f.distinctId,i,s,e)}return f.event,{}}).then(e=>{let t={};if(e)for(let[n,r]of Object.entries(e))t[`$feature/${n}`]=r;let n=Object.keys(e||{}).filter(t=>e?.[t]!==!1).sort();return n.length>0&&(t.$active_feature_flags=n),t}).catch(()=>({})).then(e=>({...e,...f.properties||{},$groups:f.groups||i}));return f.event===`$pageview`&&this.options.__preview_capture_bot_pageviews&&typeof p.$raw_user_agent==`string`&&Sx(p.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(f.event=`$bot_pageview`,p.$browser_type=`bot`),{distinctId:f.distinctId,event:f.event,properties:p,options:{timestamp:f.timestamp,disableGeoip:f.disableGeoip,uuid:f.uuid}}}_runBeforeSend(e){let t=this.options.before_send;if(!t)return e;let n=Array.isArray(t)?t:[t],r=e;for(let t of n){if(r=t(r),!r)return this._logger.info(`Event '${e.event}' was rejected in beforeSend function`),null;if(!r.properties||Object.keys(r.properties).length===0){let e=`Event '${r.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(e)}}return r}},NC=class{constructor(){this.storage=new Xa}get(){return this.storage.getStore()}run(e,t,n){return this.storage.run(this.resolve(e,n),t)}enter(e,t){this.storage.enterWith(this.resolve(e,t))}resolve(e,t){if(t?.fresh===!0)return e;let n=this.get()||{};return{distinctId:e.distinctId??n.distinctId,sessionId:e.sessionId??n.sessionId,properties:{...n.properties||{},...e.properties||{}}}}};const PC=`posthog-node`;function FC(e,{organization:t,projectId:n,prefix:r,severityAllowList:i=[`error`],sendExceptionsToPostHog:a=!0}={}){return o=>{if(!(i===`*`||i.includes(o.level)))return o;o.tags||={};let s=o.tags[IC.POSTHOG_ID_TAG];if(s===void 0)return o;let c=e.options.host??`https://us.i.posthog.com`,l=new URL(`/project/${e.apiKey}/person/${s}`,c).toString();o.tags[`PostHog Person URL`]=l;let u=o.exception?.values||[],d=u.map(e=>({...e,stacktrace:e.stacktrace?{...e.stacktrace,type:`raw`,frames:(e.stacktrace.frames||[]).map(e=>({...e,platform:`node:javascript`}))}:void 0})),f={$exception_message:u[0]?.value||o.message,$exception_type:u[0]?.type,$exception_level:o.level,$exception_list:d,$sentry_event_id:o.event_id,$sentry_exception:o.exception,$sentry_exception_message:u[0]?.value||o.message,$sentry_exception_type:u[0]?.type,$sentry_tags:o.tags};return t&&n&&(f.$sentry_url=(r||`https://sentry.io/organizations/`)+t+`/issues/?project=`+n+`&query=`+o.event_id),a&&e.capture({event:`$exception`,distinctId:s,properties:f}),o}}var IC=class{static#e=this.POSTHOG_ID_TAG=`posthog_distinct_id`;constructor(e,t,n,r,i){this.name=PC,this.name=PC,this.setupOnce=function(a,o){let s=o()?.getClient()?.getDsn()?.projectId;a(FC(e,{organization:t,projectId:s,prefix:n,severityAllowList:r,sendExceptionsToPostHog:i??!0}))}}};lC.errorPropertiesBuilder=new TS([new VS,new FS,new BS,new LS,new HS],PS(`node:javascript`,OS),[ix(),KS]);const LC=new class extends MC{getLibraryId(){return`posthog-node`}initializeContext(){return new NC}}(`phc_t5FKk9mlc4pKbbBimiIlrM5Acq9meRp1FSuNjmwxjAX`,{host:`https://us.i.posthog.com`}),RC=Ke({email:z}),zC=V(`getClaudeCodeEmail`)(function*(){let e=yield*(yield*Bn).string(gi(`claude`,[`auth`,`status`])).pipe(mt(`5 seconds`));return(yield*zt(fe(RC))(e)).email}),BC=V(`getGitEmail`)(function*(){let e=yield*(yield*Bn).string(gi(`git`,[`config`,`user.email`])).pipe(mt(`5 seconds`),U(e=>e.trim()));return e.length===0?yield*Ae(`empty`):e}),VC=V(`getGitName`)(function*(){let e=yield*(yield*Bn).string(gi(`git`,[`config`,`user.name`])).pipe(mt(`5 seconds`),U(e=>e.trim()));return e.length===0?yield*Ae(`empty`):e});var HC=class extends L()(`@expect/AnalyticsProvider`){static layerPostHog=Cr(this)({capture:e=>N(()=>{LC.captureImmediate({event:e.eventName,properties:e.properties,distinctId:e.distinctId})}),identify:e=>N(()=>{LC.identify({distinctId:e.distinctId,properties:{email:e.email,...e.name?{name:e.name}:{}}})}),flush:_e({try:()=>LC.flush(),catch:e=>e}).pipe(ni)});static layerDev=Cr(this)({capture:e=>Dn(`Tracked event`,{eventName:e.eventName,distinctId:e.distinctId,...e.properties}).pipe(nt({module:`Analytics`})),identify:e=>Dn(`Identified user`,{distinctId:e.distinctId,email:e.email,name:e.name}).pipe(nt({module:`Analytics`})),flush:F})},UC=class extends L()(`@expect/Analytics`,{make:H(function*(){let e=yield*HC,t=yield*_e({try:()=>(0,Xb.machineId)(),catch:()=>`unknown`}),n=rx(process.cwd());yield*fr({email:zC().pipe(_(`PlatformError`,()=>BC()),_(`TimeoutError`,()=>BC()),_(`SchemaError`,()=>BC())),name:VC().pipe(Ji(()=>B(void 0)))}).pipe(Ce(({email:n,name:r})=>e.identify({distinctId:t,email:n,name:r})),Ji(()=>F),Rn);let r=(r,...[i])=>H(function*(){let a={timestamp:new Date().toISOString(),projectId:n};yield*e.capture({eventName:r,properties:{...a,...i??{}},distinctId:t})}).pipe(Ji(e=>Tr(`Analytics capture failed`,{eventName:r,cause:e}).pipe(nt({module:`Analytics`}))));return{capture:r,track:((e,t)=>n=>Ce(n,n=>{let i=t?t(n):void 0;return r.call(void 0,e,...i===void 0?[]:[i])})),flush:e.flush}})}){static layerPostHog=ei(this)(this.make).pipe(oi(HC.layerPostHog),oi(Ia.layer));static layerDev=ei(this)(this.make).pipe(oi(HC.layerDev),oi(Ia.layer))};const WC=e=>{let t=g(e);return{error_tag:Ue(t,`_tag`)?String(t._tag):`Unknown`,error_message:qi(e)}};(class extends L()(`@expect/ErrorHandler`,{make:H(function*(){let e=yield*UC;return{orDie:t=>t.pipe(Fe(t=>e.capture(`error:unexpected`,WC(t))),nr),streamOrDie:t=>t.pipe(Ir(t=>e.capture(`error:unexpected`,WC(t))),Te),tapCause:(...t)=>n=>n.pipe(Fe(n=>fr([e.capture(`error:expected`,WC(n)),ci(...t,n)],{discard:!0})))}})}){static layer=ei(this)(this.make)});const GC=Ka()(Qa(e=>({agentBackend:`claude`,browserHeaded:!1,replayHost:`https://expect.dev`,autoSaveFlows:!0,notifications:void 0,instructionHistory:[],setAgentBackend:t=>e({agentBackend:t}),toggleAutoSave:()=>e(e=>({autoSaveFlows:!e.autoSaveFlows})),toggleNotifications:()=>e(e=>({notifications:e.notifications!==!0})),rememberInstruction:t=>{t&&e(e=>({instructionHistory:[t,...e.instructionHistory.filter(e=>e!==t)].slice(0,20)}))}}),{name:`prompt-history`,storage:Za(()=>Sb),partialize:e=>({instructionHistory:e.instructionHistory,notifications:e.notifications})})),KC=UC.layerPostHog,qC=(e,...[t])=>S(H(function*(){let n=yield*UC;yield*n.capture.call(n,e,...t===void 0?[]:[t])}).pipe(Ji(()=>F),ln(KC))),JC=()=>qC(`session:started`,{mode:`interactive`,skip_planning:!1,browser_headed:GC.getState().browserHeaded}),YC=e=>S(H(function*(){let t=yield*UC;yield*t.capture(`session:ended`,{session_ms:Date.now()-e}),yield*t.flush}).pipe(ln(KC))),XC=()=>{let e=sa(11);if(e[0]!==`22e44f7492e404ec9264543e8c0bccc53524e2de50e4e8b699cdcbe65e792e34`){for(let t=0;t<11;t+=1)e[t]=Symbol.for(`react.memo_cache_sentinel`);e[0]=`22e44f7492e404ec9264543e8c0bccc53524e2de50e4e8b699cdcbe65e792e34`}let t=ls(),n,r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=q(G,{color:`red`,children:Y.cross}),r=q(G,{color:`green`,children:Y.tick}),e[1]=n,e[2]=r):(n=e[1],r=e[2]);let i;e[3]===t.PRIMARY?i=e[4]:(i=q(G,{bold:!0,color:t.PRIMARY,children:` Expect`}),e[3]=t.PRIMARY,e[4]=i);let a;e[5]===t.DIM?a=e[6]:(a=q(G,{color:t.DIM,children:` v${Ko}`}),e[5]=t.DIM,e[6]=a);let o;return e[7]!==t.BORDER||e[8]!==i||e[9]!==a?(o=q(W,{children:J(G,{color:t.BORDER,children:[n,r,i,a]})}),e[7]=t.BORDER,e[8]=i,e[9]=a,e[10]=o):o=e[10],o},ZC=[{id:`enable-sync`,label:`Use existing cookies`,detail:`Recommended. Uses your browser session as-is.`},{id:`run-without-sync`,label:`Skip cookies`,detail:`Not recommended. Tests requiring login will fail.`}],QC=e=>{let t=sa(34);if(t[0]!==`e3c7abb53538ed236081ea9ec92e2272ee1c8b466fbb62e1c8ec442744cd59e3`){for(let e=0;e<34;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`e3c7abb53538ed236081ea9ec92e2272ee1c8b466fbb62e1c8ec442744cd59e3`}let{changesFor:n,instruction:r,savedFlow:i}=e,a=ls(),o=Hb($C),[s,c]=K(0),l;t[1]!==n||t[2]!==r||t[3]!==i||t[4]!==o?(l=e=>{let t=e.id===`enable-sync`;qC(`cookies:sync_choice`,{choice:t?`use_cookies`:`skip_cookies`}),o(Vb({changesFor:n,instruction:r,savedFlow:i,requiresCookies:t}))},t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=l):l=t[5];let u=l,d;t[6]!==u||t[7]!==s?(d=(e,t)=>{(t.downArrow||e===`j`||t.ctrl&&e===`n`)&&c(ew),(t.upArrow||e===`k`||t.ctrl&&e===`p`)&&c(tw),e===`c`&&u(ZC[0]),e===`a`&&u(ZC[1]),t.return&&u(ZC[s])},t[6]=u,t[7]=s,t[8]=d):d=t[8],ta(d);let f;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=q(XC,{}),t[9]=f):f=t[9];let p;t[10]===a.DIM?p=t[11]:(p=q(G,{color:a.DIM,children:Y.pointerSmall}),t[10]=a.DIM,t[11]=p);let m;t[12]!==a.TEXT||t[13]!==r?(m=q(G,{color:a.TEXT,children:r}),t[12]=a.TEXT,t[13]=r,t[14]=m):m=t[14];let h;t[15]!==p||t[16]!==m?(h=J(W,{children:[f,J(G,{wrap:`truncate`,children:[` `,p,` `,m]})]}),t[15]=p,t[16]=m,t[17]=h):h=t[17];let g;t[18]!==a.GREEN||t[19]!==a.YELLOW||t[20]!==s?(g=q(W,{marginTop:1,children:s===0?J(G,{color:a.GREEN,children:[Y.tick,` Your signed-in session will be synced to the browser. Cookies stay on device.`]}):J(G,{color:a.YELLOW,children:[Y.warning,` The browser won`,`'`,`t inherit your signed-in session without cookies.`]})}),t[18]=a.GREEN,t[19]=a.YELLOW,t[20]=s,t[21]=g):g=t[21];let _;t[22]!==a.DIM||t[23]!==a.PRIMARY||t[24]!==a.TEXT||t[25]!==u||t[26]!==s?(_=ZC.map((e,t)=>{let n=t===s;return q(fs,{onClick:()=>{c(t),u(e)},children:J(W,{flexDirection:`column`,marginBottom:1,children:[J(G,{children:[q(G,{color:n?a.PRIMARY:a.DIM,children:n?`${Y.pointer} `:` `}),q(G,{color:n?a.PRIMARY:a.TEXT,bold:n,children:e.label})]}),J(G,{color:a.DIM,children:[` `,e.detail]})]})},e.id)}),t[22]=a.DIM,t[23]=a.PRIMARY,t[24]=a.TEXT,t[25]=u,t[26]=s,t[27]=_):_=t[27];let v;t[28]===_?v=t[29]:(v=q(W,{flexDirection:`column`,marginTop:1,children:_}),t[28]=_,t[29]=v);let y;return t[30]!==h||t[31]!==g||t[32]!==v?(y=J(W,{flexDirection:`column`,width:`100%`,paddingY:1,paddingX:1,children:[h,g,v]}),t[30]=h,t[31]=g,t[32]=v,t[33]=y):y=t[33],y};function $C(e){return e.setScreen}function ew(e){return Math.min(ZC.length-1,e+1)}function tw(e){return Math.max(0,e-1)}const nw=Ka()(Qa(e=>({cookiesEnabled:!1,setCookiesEnabled:t=>e({cookiesEnabled:t}),toggleCookies:()=>e(e=>({cookiesEnabled:!e.cookiesEnabled})),lastBaseUrl:void 0,setLastBaseUrl:t=>e({lastBaseUrl:t})}),{name:`project-preferences`,storage:Za(()=>Tb)})),rw=`spotify,raycast,google,controlce,controlcenter,cursor,electron,slack,discord,figma,redis,postgres,mysqld,mongod,mongos,memcached,dockerd,containerd,com.docke,docker,code,rapportd,wifiagent,airplayxpc,identitys,sharingd,bluetoothd,screencap,loginwind,systempol,corespeec,apsd,mds_store,spotlight,lsd`.split(`,`),iw=[[/next[\\/]dist[\\/]/,`next`],[/next-server/,`next`],[/vite[\\/]/,`vite`],[/vite-plus[\\/]/,`vite`],[/react-scripts[\\/]/,`react-scripts`],[/angular[\\/]cli[\\/]/,`angular`],[/remix[\\/]/,`remix`],[/astro[\\/]/,`astro`],[/nuxt[\\/]/,`nuxt`],[/svelte[\\/]/,`svelte`],[/webpack[\\/]/,`webpack`],[/webpack-dev-server/,`webpack`],[/turbopack[\\/]/,`turbopack`],[/remotion[\\/]/,`remotion`],[/gatsby[\\/]/,`gatsby`],[/parcel[\\/]/,`parcel`],[/http-server/,`http-server`],[/live-server/,`live-server`],[/serve[\\/]/,`serve`],[/express[\\/]/,`express`],[/fastify[\\/]/,`fastify`],[/hono[\\/]/,`hono`],[/elysia[\\/]/,`elysia`]],aw=e=>{let t=e.toLowerCase();return rw.some(e=>t.startsWith(e))},ow=e=>{if(!/^\d+$/.test(e))return``;try{let t=Ra(`lsof -p ${e} -a -d cwd -Fn`,{encoding:`utf-8`,timeout:1e3}).split(`
|
|
34
|
-
`).find(e=>e.startsWith(`n`));return t?t.slice(1):``}catch{return``}},
|
|
35
|
-
`)){let e=r.trim().split(/\s+/);if(e.length<9)continue;let i=e[0]??``,a=e[1]??``,o=(e[8]??``).match(/:(\d+)$/);if(!o)continue;let s=Number(o[1]);s<1024||s>65535||t.has(s)||(t.add(s),n.push({port:s,pid:a,commandName:i}))}return n},lw=()=>{try{let e=cw(Ra(`lsof -iTCP -sTCP:LISTEN -nP`,{encoding:`utf-8`,timeout:3e3})),t=[];for(let n of e){let e=sw(n.pid,n.commandName);e!==void 0&&(n.port>=32768&&!e.isFramework||t.push({port:n.port,processName:e.name,cwd:e.cwd}))}return t.sort((e,t)=>e.port-t.port)}catch{return[]}},uw=()=>oa({queryKey:[`listening-ports`],queryFn:()=>lw(),refetchInterval:5e3}),dw=e=>`http://localhost:${e}`,fw=(e,t)=>{let n=t.toLowerCase();return String(e.port).includes(n)||e.processName.toLowerCase().includes(n)||e.cwd.toLowerCase().includes(n)},pw=e=>{let t=e.trim(),n=Number(t);if(Number.isInteger(n)&&n>=1&&n<=65535)return n;let r=t.match(/:(\d+)\/?$/);if(r){let e=Number(r[1]);if(Number.isInteger(e)&&e>=1&&e<=65535)return e}},mw=e=>{let t=sa(178);if(t[0]!==`84a93f0b7994a0f9318ab42167dadcad0ffba85a300830ca86b74045fc7574ce`){for(let e=0;e<178;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`84a93f0b7994a0f9318ab42167dadcad0ffba85a300830ca86b74045fc7574ce`}let{changesFor:n,instruction:r,savedFlow:i,requiresCookies:a}=e,o=ls(),s=Hb(hw),c=nw(gw),l=nw(_w),{data:u}=uw(),d=u===void 0?[]:u,[f,p]=K(!1),[m,h]=K(``),[g,_]=K(!1),[v,y]=K(``),b;t[1]===c?b=t[2]:(b=()=>{if(!c)return new Set;let e=c.match(/:(\d+)/);return e?new Set([Number(e[1])]):new Set},t[1]=c,t[2]=b);let[x,ee]=K(b),S;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(S=new Set,t[3]=S):S=t[3];let[C,w]=K(S),te=d.map(vw),T=m?te.filter(e=>fw(e,m)):te,E=T.length,D=T.length+1,O=T.length+2,ne;t[4]===O?ne=t[5]:(ne={itemCount:O,visibleCount:10},t[4]=O,t[5]=ne);let{highlightedIndex:k,setHighlightedIndex:A,scrollOffset:re,handleNavigation:j}=Lb(ne),M;t[6]!==n||t[7]!==C||t[8]!==r||t[9]!==a||t[10]!==i||t[11]!==l||t[12]!==s?(M=e=>{let t=[...e,...C];l(t.length>0?t[0]:void 0),t.length===0?qC(`port:skipped`):qC(`port:selected`,{port_count:t.length,has_custom_url:C.size>0}),s(Bb.Testing({changesFor:n,instruction:r,savedFlow:i,requiresCookies:a,baseUrls:t.length>0?t:void 0}))},t[6]=n,t[7]=C,t[8]=r,t[9]=a,t[10]=i,t[11]=l,t[12]=s,t[13]=M):M=t[13];let ie=M,ae;t[14]===ee?ae=t[15]:(ae=e=>{ee(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},t[14]=ee,t[15]=ae);let oe=ae,se;t[16]!==E||t[17]!==C||t[18]!==T||t[19]!==k||t[20]!==ie||t[21]!==x||t[22]!==_||t[23]!==D?(se=()=>{if(k===D){ie([]);return}if(x.size>0||C.size>0){ie([...x].sort(yw).map(dw));return}if(k===E){_(!0);return}let e=T[k];e&&ie([dw(e.port)])},t[16]=E,t[17]=C,t[18]=T,t[19]=k,t[20]=ie,t[21]=x,t[22]=_,t[23]=D,t[24]=se):se=t[24];let N=se,ce=bw,le;t[25]!==y||t[26]!==w||t[27]!==_?(le=e=>{let t=e.trim();if(!t){_(!1);return}let n=ce(t);w(e=>new Set([...e,n])),y(``),_(!1)},t[25]=y,t[26]=w,t[27]=_,t[28]=le):le=t[28];let ue=le,de;t[29]===w?de=t[30]:(de=e=>{w(t=>{let n=new Set(t);return n.delete(e),n})},t[29]=w,t[30]=de);let P=de,F;t[31]!==A||t[32]!==h?(F=e=>{h(e),A(0)},t[31]=A,t[32]=h,t[33]=F):F=t[33];let fe=F,pe;t[34]!==p||t[35]!==h||t[36]!==oe?(pe=e=>{let t=pw(e);if(t){oe(t),p(!1),h(``);return}p(!1)},t[34]=p,t[35]=h,t[36]=oe,t[37]=pe):pe=t[37];let me=pe,he;t[38]!==N||t[39]!==E||t[40]!==T||t[41]!==j||t[42]!==k||t[43]!==g||t[44]!==f||t[45]!==y||t[46]!==_||t[47]!==p||t[48]!==oe?(he=(e,t)=>{if(g){if(t.escape){_(!1),y(``);return}return}if(f){if(t.escape){p(!1);return}return}if(!j(e,t)){if(e===`/`){p(!0);return}if(e===` `){if(k===E){_(!0);return}let e=T[k];e&&oe(e.port);return}t.return&&N()}},t[38]=N,t[39]=E,t[40]=T,t[41]=j,t[42]=k,t[43]=g,t[44]=f,t[45]=y,t[46]=_,t[47]=p,t[48]=oe,t[49]=he):he=t[49],ta(he);let ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,I,ke,L;if(t[50]!==o.DIM||t[51]!==o.GREEN||t[52]!==o.PRIMARY||t[53]!==o.TEXT||t[54]!==o.YELLOW||t[55]!==E||t[56]!==C||t[57]!==T||t[58]!==k||t[59]!==r||t[60]!==re||t[61]!==x||t[62]!==A||t[63]!==D||t[64]!==oe){let e=T.slice(re,re+8);ve=re+8>=T.length,xe=ve;let n=T[k];ye=k===E,be=k===D;let i;t[81]!==C||t[82]!==x?(i=[...[...x].sort(xw).map(dw),...C],t[81]=C,t[82]=x,t[83]=i):i=t[83];let a=i;_e=W,Te=`column`,Ee=`100%`,De=1,Oe=1;let s;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(s=q(XC,{}),t[84]=s):s=t[84];let c;t[85]===o.DIM?c=t[86]:(c=q(G,{color:o.DIM,children:Y.pointerSmall}),t[85]=o.DIM,t[86]=c);let l;t[87]!==o.TEXT||t[88]!==r?(l=q(G,{color:o.TEXT,children:r}),t[87]=o.TEXT,t[88]=r,t[89]=l):l=t[89],t[90]!==c||t[91]!==l?(I=J(W,{children:[s,J(G,{wrap:`truncate`,children:[` `,c,` `,l]})]}),t[90]=c,t[91]=l,t[92]=I):I=t[92],t[93]===o.DIM?ke=t[94]:(ke=q(W,{marginTop:1,children:q(G,{color:o.DIM,children:`Pick the dev server the agent should open in the browser.`})}),t[93]=o.DIM,t[94]=ke);let u;t[95]!==o.GREEN||t[96]!==a?(u=a.length>0&&J(G,{color:o.GREEN,children:[Y.tick,` `,a.join(`, `)]}),t[95]=o.GREEN,t[96]=a,t[97]=u):u=t[97];let d;t[98]!==o.DIM||t[99]!==a.length||t[100]!==n||t[101]!==ye||t[102]!==be?(d=a.length===0&&!be&&!ye&&n&&J(G,{color:o.DIM,children:[Y.arrowRight,` `,dw(n.port)]}),t[98]=o.DIM,t[99]=a.length,t[100]=n,t[101]=ye,t[102]=be,t[103]=d):d=t[103];let f;t[104]!==o.YELLOW||t[105]!==a.length||t[106]!==be?(f=a.length===0&&be&&J(G,{color:o.YELLOW,children:[Y.warning,` No base URL. The agent won`,`'`,`t know where your dev server is.`]}),t[104]=o.YELLOW,t[105]=a.length,t[106]=be,t[107]=f):f=t[107],t[108]!==u||t[109]!==d||t[110]!==f?(L=J(W,{marginTop:1,children:[u,d,f]}),t[108]=u,t[109]=d,t[110]=f,t[111]=L):L=t[111],ge=W,Se=`column`,Ce=1;let p;t[112]!==o.DIM||t[113]!==o.PRIMARY||t[114]!==o.TEXT||t[115]!==k||t[116]!==re||t[117]!==x||t[118]!==A||t[119]!==oe?(p=(e,t)=>{let n=t+re,r=n===k,i=x.has(e.port);return q(fs,{onClick:()=>{A(n),oe(e.port)},children:J(W,{children:[q(G,{color:r?o.PRIMARY:o.DIM,children:r?`${Y.pointer} `:` `}),J(G,{color:i?o.PRIMARY:o.DIM,children:[i?Y.checkboxOn:Y.checkboxOff,` `]}),J(G,{color:r?o.PRIMARY:o.TEXT,bold:r,children:[`:`,e.port]}),e.processName&&J(G,{color:o.DIM,children:[` `,e.processName]}),e.cwd&&J(G,{color:o.DIM,children:[` `,e.cwd]})]})},e.port)},t[112]=o.DIM,t[113]=o.PRIMARY,t[114]=o.TEXT,t[115]=k,t[116]=re,t[117]=x,t[118]=A,t[119]=oe,t[120]=p):p=t[120],we=e.map(p),t[50]=o.DIM,t[51]=o.GREEN,t[52]=o.PRIMARY,t[53]=o.TEXT,t[54]=o.YELLOW,t[55]=E,t[56]=C,t[57]=T,t[58]=k,t[59]=r,t[60]=re,t[61]=x,t[62]=A,t[63]=D,t[64]=oe,t[65]=ge,t[66]=_e,t[67]=ve,t[68]=ye,t[69]=be,t[70]=xe,t[71]=Se,t[72]=Ce,t[73]=we,t[74]=Te,t[75]=Ee,t[76]=De,t[77]=Oe,t[78]=I,t[79]=ke,t[80]=L}else ge=t[65],_e=t[66],ve=t[67],ye=t[68],be=t[69],xe=t[70],Se=t[71],Ce=t[72],we=t[73],Te=t[74],Ee=t[75],De=t[76],Oe=t[77],I=t[78],ke=t[79],L=t[80];let Ae;t[121]!==o.DIM||t[122]!==o.PRIMARY||t[123]!==o.TEXT||t[124]!==E||t[125]!==v||t[126]!==ve||t[127]!==ue||t[128]!==ye||t[129]!==g||t[130]!==y||t[131]!==A||t[132]!==_?(Ae=ve&&q(fs,{onClick:()=>{A(E),_(!0)},children:J(W,{children:[q(G,{color:ye?o.PRIMARY:o.DIM,children:ye?`${Y.pointer} `:` `}),g&&J(W,{children:[q(G,{color:o.PRIMARY,children:`URL: `}),q(vs,{focus:!0,value:v,placeholder:`http://localhost:4000 or staging.example.com`,onChange:y,onSubmit:ue})]}),!g&&J(G,{color:ye?o.PRIMARY:o.TEXT,bold:ye,children:[`Enter a custom URL`,Y.ellipsis]})]})}),t[121]=o.DIM,t[122]=o.PRIMARY,t[123]=o.TEXT,t[124]=E,t[125]=v,t[126]=ve,t[127]=ue,t[128]=ye,t[129]=g,t[130]=y,t[131]=A,t[132]=_,t[133]=Ae):Ae=t[133];let je;t[134]!==o.DIM||t[135]!==o.PRIMARY||t[136]!==o.TEXT||t[137]!==ve||t[138]!==C||t[139]!==P?(je=ve&&[...C].map(e=>q(fs,{onClick:()=>P(e),children:J(W,{children:[q(G,{children:` `}),J(G,{color:o.PRIMARY,children:[Y.checkboxOn,` `]}),q(G,{color:o.TEXT,children:e}),q(G,{color:o.DIM,children:` (click to remove)`})]})},e)),t[134]=o.DIM,t[135]=o.PRIMARY,t[136]=o.TEXT,t[137]=ve,t[138]=C,t[139]=P,t[140]=je):je=t[140];let R;t[141]!==o.DIM||t[142]!==o.PRIMARY||t[143]!==be||t[144]!==ie||t[145]!==A||t[146]!==D||t[147]!==xe?(R=xe&&q(fs,{onClick:()=>{A(D),ie([])},children:J(W,{children:[q(G,{color:be?o.PRIMARY:o.DIM,children:be?`${Y.pointer} `:` `}),J(G,{color:be?o.PRIMARY:o.DIM,bold:be,children:[`Skip `,Y.arrowRight,` no base URL`]})]})}),t[141]=o.DIM,t[142]=o.PRIMARY,t[143]=be,t[144]=ie,t[145]=A,t[146]=D,t[147]=xe,t[148]=R):R=t[148];let Me;t[149]!==o.DIM||t[150]!==T.length||t[151]!==xe?(Me=T.length===0&&!xe&&q(G,{color:o.DIM,children:`No matching ports`}),t[149]=o.DIM,t[150]=T.length,t[151]=xe,t[152]=Me):Me=t[152];let Ne;t[153]!==ge||t[154]!==Se||t[155]!==Ce||t[156]!==we||t[157]!==Ae||t[158]!==je||t[159]!==R||t[160]!==Me?(Ne=J(ge,{flexDirection:Se,marginTop:Ce,children:[we,Ae,je,R,Me]}),t[153]=ge,t[154]=Se,t[155]=Ce,t[156]=we,t[157]=Ae,t[158]=je,t[159]=R,t[160]=Me,t[161]=Ne):Ne=t[161];let Pe;t[162]!==fe||t[163]!==me||t[164]!==f||t[165]!==m?(Pe=q(ys,{isSearching:f,query:m,onChange:fe,onSubmit:me}),t[162]=fe,t[163]=me,t[164]=f,t[165]=m,t[166]=Pe):Pe=t[166];let Fe;return t[167]!==_e||t[168]!==Te||t[169]!==Ee||t[170]!==De||t[171]!==Oe||t[172]!==I||t[173]!==ke||t[174]!==L||t[175]!==Ne||t[176]!==Pe?(Fe=J(_e,{flexDirection:Te,width:Ee,paddingY:De,paddingX:Oe,children:[I,ke,L,Ne,Pe]}),t[167]=_e,t[168]=Te,t[169]=Ee,t[170]=De,t[171]=Oe,t[172]=I,t[173]=ke,t[174]=L,t[175]=Ne,t[176]=Pe,t[177]=Fe):Fe=t[177],Fe};function hw(e){return e.setScreen}function gw(e){return e.lastBaseUrl}function _w(e){return e.setLastBaseUrl}function vw(e){return{port:e.port,processName:e.processName,cwd:e.cwd}}function yw(e,t){return e-t}function bw(e){let t=e.trim(),n=Number(t);return Number.isInteger(n)&&n>=1&&n<=65535?dw(n):/^https?:\/\//i.test(t)?t:`http://${t}`}function xw(e,t){return e-t}const Sw={"~effect/reactivity/AsyncResult":{E:kt,A:kt},pipe(){return ue(this,arguments)},[Je](e){if(this._tag!==e._tag||this.waiting!==e.waiting)return!1;switch(this._tag){case`Initial`:return!0;case`Success`:return te(this.value,e.value);case`Failure`:return te(this.cause,e.cause)}},[Re](){let e=ur(`${this._tag}:${this.waiting}`);return this._tag===`Initial`?e:gr(e)(this._tag===`Success`?l(this.value):l(this.cause))}},Cw=e=>e.waiting,ww=(e,t)=>e._tag===`Success`?kw(e.value):Mw(e.cause,{previous:t}),Tw=e=>e._tag===`None`?Dw(!0):Pw(e.value),Ew=e=>e._tag===`Initial`,Dw=(e=!1)=>{let t=Object.create(Sw);return t._tag=`Initial`,t.waiting=e,t},Ow=e=>e._tag===`Success`,kw=(e,t)=>{let n=Object.create(Sw);return n._tag=`Success`,n.value=e,n.waiting=t?.waiting??!1,n.timestamp=t?.timestamp??Date.now(),n},Aw=e=>e._tag===`Failure`,jw=(e,t)=>{let n=Object.create(Sw);return n._tag=`Failure`,n.cause=e,n.previousSuccess=t?.previousSuccess??Oi(),n.waiting=t?.waiting??!1,n},Mw=(e,t)=>jw(e,{previousSuccess:Or(t.previous,e=>Ow(e)?Ct(e):Aw(e)?e.previousSuccess:Oi()),waiting:t.waiting}),Nw=(e,t)=>Mw(We(e),t),Pw=(e,t)=>{if(e.waiting)return t?.touch?Fw(e):e;let n=Object.assign(Object.create(Sw),e);return n.waiting=!0,t?.touch&&Ow(n)&&(n.timestamp=Date.now()),n},Fw=e=>Ow(e)?kw(e.value,{waiting:e.waiting}):e,Iw=(e,t)=>e._tag===`Failure`?Mw(e.cause,{previous:t,waiting:e.waiting}):e,Lw=e=>e._tag===`Success`?Ct(e.value):e._tag===`Failure`?_t(e.previousSuccess,e=>e.value):Oi(),Rw=e=>Bi(Lw(e),()=>new u(`AsyncResult.getOrThrow: no value found`)),zw=e=>new Bw(e);var Bw=class{constructor(e){this.result=e}result;output=Oi();when(e,t){if(vn(this.output)&&e(this.result)){let e=t(this.result);Pi(e)&&(this.output=e)}return this}pipe(){return ue(this,arguments)}onWaiting(e){return this.when(e=>e.waiting,t=>Ct(e(t)))}onInitialOrWaiting(e){return this.when(e=>Ew(e)||e.waiting,t=>Ct(e(t)))}onInitial(e){return this.when(Ew,t=>Ct(e(t)))}onSuccess(e){return this.when(Ow,t=>Ct(e(t.value,t)))}onFailure(e){return this.when(Aw,t=>Ct(e(t.cause,t)))}onError(e){return this.onErrorIf(Ki,e)}onErrorIf(e,t){return this.when(Aw,n=>xe(n.cause).pipe(Wr(e),_t(e=>t(e,n))))}onErrorTag(e,t){return this.onErrorIf(t=>Ue(t,`_tag`)&&(Array.isArray(e)?e.includes(t._tag):t._tag===e),t)}onDefect(e){return this.when(Aw,t=>{let n=oe(t.cause);return Vn(n)?Oi():Ct(e(n.success,t))})}orElse(e){return on(this.output,e)}orNull(){return Si(this.output)}render(){if(Pi(this.output))return this.output.value;if(Aw(this.result))throw g(this.result.cause);return null}};const Vw=L(`~effect/reactivity/AtomRegistry`),Hw={alive:1,initialized:2,waitingForValue:4},Uw={uninitialized:Hw.alive|Hw.waitingForValue,stale:Hw.alive|Hw.initialized|Hw.waitingForValue,valid:Hw.alive|Hw.initialized,removed:0},Ww={disabled:0,collect:1,commit:2},Gw={phase:Ww.disabled,depth:0,stale:[],notify:new Set};function Kw(e){Gw.phase=Ww.collect,Gw.depth++;try{if(e(),Gw.depth===1){for(let e=0;e<Gw.stale.length;e++)qw(Gw.stale[e]);Gw.phase=Ww.commit;for(let e of Gw.notify)e.notify();Gw.notify.clear()}}finally{Gw.depth--,Gw.depth===0&&(Gw.phase=Ww.disabled,Gw.stale=[])}}function qw(e){if(e.state!==Uw.valid){for(let t=0;t<e.parents.length;t++){let n=e.parents[t];n.state!==Uw.valid&&qw(n)}e.state!==Uw.valid&&e.value()}}const Jw=`~effect/reactivity/Atom`,Yw=e=>Ue(e,Jw),Xw=`~effect/reactivity/Atom/Writable`,Zw=Ft(2,(e,t)=>{let n=Fn(t),r=di(n);return Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!r,idleTTL:r?Nr(n):void 0})})(0),Qw={[Jw]:Jw,...k,toJSON(){return{_id:`Atom`,keepAlive:this.keepAlive,lazy:this.lazy,label:this.label}}},$w={...Qw,atom(e,t){let n=sT(e,t);return rT(e=>{let t=e.self(),r=e(this);return r._tag===`Success`?n(e,r.value):Iw(r,t)})},fn(e,t){return arguments.length===0?(e,t)=>eT(this,e,t):eT(this,e,t)},pull(e,t){let n=Zw(uT(0));return CT(n,rT(r=>{let i=r.self(),a=r(this);return a._tag===`Success`?fT(r,ST(r,n,e,t),Dw(!0),a.value):Iw(a,i)}))},subscriptionRef(e){return vT(Zw(rT(t=>{let n=t.self(),r=t(this);if(r._tag!==`Success`)return Iw(r,n);let i=typeof e==`function`?e(t):e;return Ro(i)?i:fT(t,i,Dw(!0),r.value)})),(e,t)=>_T(e,t,Rw(e(this))))}},eT=(e,t,n)=>{let[r,i,a]=xT(n?.reactivityKeys?(e,r)=>{let i=t(e,r);return hn(i)?Ao(i,n.reactivityKeys):ye(i,jo(n.reactivityKeys))}:t,n);return iT(t=>{t.get(a);let n=t.self(),i=t.get(e);return i._tag===`Success`?r(t,i.value):Iw(i,n)},i)},tT={...Qw,[Xw]:Xw},nT=e=>Xw in e,rT=(e,t)=>{let n=Object.create(Qw);return n.keepAlive=!1,n.lazy=!0,n.read=e,n.refresh=t,n},iT=(e,t,n)=>{let r=Object.create(tT);return r.keepAlive=!1,r.lazy=!0,r.read=e,r.write=t,r.refresh=n,r};function aT(e,t){e.setSelf(t)}const oT=(e,t)=>{let n=sT(e,t);return`~effect/reactivity/Atom`in n?n:rT(n)},sT=(e,t)=>{if(typeof e==`function`&&!hn(e)&&!Pt(e)){let n=e;return function(e,r){let i=n(e);switch(typeof i){case`function`:case`object`:return i===null?i:cT in i?dT(e,i,t,r):lT in i?hT(e,i,t,r):i;default:return i}}}else if(hn(e))return function(n,r){return dT(n,e,t,r)};else if(Pt(e))return function(n,r){return hT(n,e,t,r)};return uT(e)},cT=`~effect/Effect`,lT=`~effect/Stream`,uT=e=>iT(function(t){return e},aT),dT=(e,t,n,r)=>fT(e,t,n?.initialValue===void 0?Dw():kw(n.initialValue),r,n?.uninterruptible);function fT(e,t,n,r=Ee(),i=!1){let a=e.self(),o=kr();e.addFinalizer(()=>{bt(r)(Gr(o,Ye))});let s=new Map(r.mapUnsafe);s.set(jn.key,o),s.set(Vw.key,e.registry),s.set(de.key,e.registry.scheduler);let c,l=!1,u=pT(Gt(s),t,function(t){c=ww(t,a),l&&e.setSelf(c)},i);return l=!0,u!==void 0&&e.addFinalizer(u),c===void 0?a._tag===`Some`?Tw(a):Pw(n):c}function pT(e,t,n,r=!1){if(ki(t)){n(t);return}let i=bt(e)(t);i.currentDispatcher?.flush();let a=i.pollUnsafe();if(a){n(a);return}let o=i.addObserver(n);function s(){o(),r||i.interruptUnsafe()}return s}const mT=(e=>{let t=Mo;function n(r){let i=Object.create($w);i.keepAlive=!1,i.lazy=!0,i.refresh=void 0,i.factory=n;let a=wT(rT(typeof r==`function`?e=>Tn(r(e),t):()=>Tn(r,t)));return i.layer=a,i.read=function(t){let n=t(a);return dT(t,Xt(D,t=>Pr(n,e.memoMap,t)),{uninterruptible:!0})},i}n.memoMap=e.memoMap,n.addGlobalLayer=e=>{t=Tn(t,oi(e,Mo))};let r=Zw(oT(Ve(t=>Pr(Mo,e.memoMap,Yt(t,jn))).pipe(U(Yt(Do)))));return n.withReactivity=e=>t=>TT(t,n=>{let i=Rw(n(r));return n.addFinalizer(i.registerUnsafe(e,()=>{n.refresh(t)})),n.subscribe(t,e=>n.setSelf(e)),n.once(t)},{initialValueTarget:t}),n})({memoMap:pn()});mT.withReactivity;const hT=(e,t,n,r)=>gT(e,t,n?.initialValue===void 0?Dw():kw(n.initialValue),r);function gT(e,t,n,r=Ee()){let i=e.self();r=Yr(r,Vw,e.registry);let a=yr(n=>Xt(ti(t.channel,n),t=>je({while:Ki,body:()=>t,step(t){e.setSelf(kw(wn(t),{waiting:!0}))}}))).pipe(Ji(t=>(Kt(t)?Bt(e.self(),Or(Lw),x({onNone:()=>e.setSelf(Nw(new u,{previous:e.self()})),onSome:t=>e.setSelf(kw(t))})):e.setSelf(Mw(t,{previous:e.self()})),F))),o=new Map(r.mapUnsafe);o.set(Vw.key,e.registry),o.set(de.key,e.registry.scheduler);let s=pT(Gt(o),a,h,!1);return s!==void 0&&e.addFinalizer(s),i._tag===`Some`?Tw(i):Pw(n)}const _T=(e,t,n=Ee())=>Ro(t)?(e.addFinalizer(zo(t).pipe(at(t=>{for(let n=0;n<t.length;n++)e.setSelf(t[n]);return F}),xn(n))),j(n)(Bo(t))):t._tag===`Success`?gT(e,zo(t.value),Dw(!0),n):t,vT=(e,t)=>{function n(t,n){let r=t.get(e);Ro(r)?Et(Ho(r,n)):Ow(r)&&Et(Ho(r.value,n))}return iT(n=>{let r=n(e);return Ro(r)||Ow(r)?t(n,r):r},n)},yT=Symbol.for(`effect/reactivity/atom/Atom/Reset`),bT=Symbol.for(`effect/reactivity/atom/Atom/Interrupt`);function xT(e,t){let n=Zw(uT([0,void 0])),r=t?.initialValue===void 0?Dw():kw(t.initialValue),i=t?.concurrent?Zw(rT(e=>{let t=new Set;return e.addFinalizer(()=>t.forEach(e=>e.interruptUnsafe())),t})):void 0;function a(t,a){let o=i?t(i):void 0;t.isFn=!0;let[s,c]=t.get(n);if(s===0)return r;if(c===bT)return Mw(ft(),{previous:t.self()});let l=e(c,t);return cT in l?(o&&(l=Xt(Rn(l,{startImmediately:!0}),e=>(o.add(e),e.addObserver(()=>o.delete(e)),U(Hi(o),e=>e[0])))),fT(t,l,r,a,!1)):gT(t,l,r,a)}function o(e,t){DT(()=>{t===yT?e.set(n,[0,void 0]):t===bT?e.set(n,[e.get(n)[0]+1,bT]):e.set(n,[e.get(n)[0]+1,t]),e.refreshSelf()})}return[a,o,n]}const ST=(e,t,n,r)=>Xt(ri(typeof n==`function`?n(e):n),n=>{let i=cn().services,a=ir(),o=Nn(n,{onFailure(e){return Kt(e)?ai(a)?B({done:!0,items:a}):Ae(new u(`Atom.pull: no items`)):Xr(e)},onSuccess(e){let t;return r?.disableAccumulation?t=e:(t=$r(a,e),a=t),B({done:!1,items:t})}}),s=new Set;return e.addFinalizer(()=>{for(let e of s)e()}),e.once(t),e.subscribe(t,()=>{e.setSelf(Tw(e.self()));let t;t=pT(i,o,n=>{t&&s.delete(t);let r=ww(n,e.self()),i=s.size>0;e.setSelf(i?Pw(r):r)}),t&&s.add(t)}),o}),CT=(e,t)=>iT(t.read,function(t,n){t.set(e,t.get(e)+1)}),wT=e=>Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!0}),TT=Ft(e=>Yw(e[0]),(e,t,n)=>{let r=Zw(nT(e)?iT(n=>t(n,e),function(t,n){t.set(e,n)},e.refresh??function(t){t(e)}):rT(n=>t(n,e),e.refresh??function(t){t(e)}));return n?.initialValueTarget&&(r.initialValueTarget=ET(n.initialValueTarget)),r}),ET=e=>{let t=e;for(;t.initialValueTarget;)t=t.initialValueTarget;return t},DT=Kw,OT=e=>{let t=e.replace(`#`,``);return[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]},kT=(e,t,n)=>`#${[e,t,n].map(e=>Math.round(e).toString(16).padStart(2,`0`)).join(``)}`,AT=(e,t,n)=>e+(t-e)*n,jT=(e,t,n)=>{let[r,i,a]=OT(e),[o,s,c]=OT(t);return kT(AT(r,o,n),AT(i,s,n),AT(a,c,n))},MT=({text:e,baseColor:t,highlightColor:n,speed:r=1})=>{let[i,a]=K(-16),o=pa(r);o.current=r;let s=pa(e.length);s.current=e.length;let c=pa(!1);return c.current||(c.current=!0,setTimeout(()=>{setInterval(()=>{let e=s.current+16;a(t=>t>=e?-16:t+o.current)},50)},0)),q(G,{children:[...e].map((e,r)=>{let a=Math.abs(r-i),o=Math.max(0,1-a/16);return q(G,{color:o>0?jT(t,n,o):t,children:e},r)})})},NT=Ka(e=>({executedPlan:void 0,expanded:!1,setExecutedPlan:t=>e({executedPlan:t}),setExpanded:t=>e({expanded:t}),toggleExpanded:()=>e(e=>({expanded:!e.expanded}))})),PT=e=>ro(Math.max(0,e),{secondsDecimalDigits:0}),FT=new Set([`warpterminal`]),IT=ao.stdout,LT=io({preferOuter:!0}),RT=process.stdout.isTTY&&!FT.has(LT??``),zT=RT&&IT.kitty,BT=RT&&IT.iterm2,VT=zT||BT,HT=io(),UT=HT===`tmux`||HT===`screen`,WT=e=>UT?`Ptmux;${e.replaceAll(`\x1B`,`\x1B\x1B`)}\\`:e,GT=(e,t)=>{let n=Buffer.from(e).toString(`base64`),r=`a=T,t=f`;return t.width&&(r+=`,c=${t.width}`),t.height&&(r+=`,r=${t.height}`),WT(`_G${r};${n}\\`)},KT=(e,t)=>{let n=`\x1B]1337;File=inline=1`;return t.width&&(n+=`;width=${t.width}`),t.height&&(n+=`;height=${t.height}`),n+=`;size=${e.byteLength}:${e.toString(`base64`)}`,WT(n)},qT=(e,t={})=>{if(!ka.existsSync(e))return null;if(zT)return GT(e,t);if(BT)try{return KT(ka.readFileSync(e),t)}catch{return null}return null},JT=e=>e.startsWith(`file://`),YT=e=>{let t=sa(9);if(t[0]!==`edb58922a19f7cd34125950b48961a70defca0454a8de685a54dc50281109929`){for(let e=0;e<9;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`edb58922a19f7cd34125950b48961a70defca0454a8de685a54dc50281109929`}let{path:n,label:r}=e,i,a;t[1]===n?(i=t[2],a=t[3]):(i=JT(n)?ba.fileURLToPath(n):ga.resolve(n),a=JT(n)?n:ba.pathToFileURL(i).href,t[1]=n,t[2]=i,t[3]=a);let o=a,s=r??i,c;t[4]===s?c=t[5]:(c=q(G,{children:s}),t[4]=s,t[5]=c);let l;return t[6]!==o||t[7]!==c?(l=q(oo,{url:o,children:c}),t[6]=o,t[7]=c,t[8]=l):l=t[8],l},XT=({src:e,alt:t,width:n,height:r})=>{let i=ga.resolve(e),{write:a}=na(),o=pa(!1);if(!o.current){let e=qT(i,{width:n,height:r});e&&(a(e+`
|
|
36
|
-
`),o.current=!0)}return
|
|
17
|
+
`)}function l(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function u(){return process.env.DEBUG}function d(e){e.inspectOpts={};let n=Object.keys(t.inspectOpts);for(let r=0;r<n.length;r++)e.inspectOpts[n[r]]=t.inspectOpts[n[r]]}n.exports=pf()(t);let{formatters:f}=n.exports;f.o=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts).split(`
|
|
18
|
+
`).map(e=>e.trim()).join(` `)},f.O=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts)}})),vf=n(((e,t)=>{typeof process>`u`||process.type===`renderer`||process.browser===!0||process.__nwjs?t.exports=mf():t.exports=_f()})),yf=n((t=>{var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,`__esModule`,{value:!0});let r=e(`fs`),i=n(vf()).default(`@kwsites/file-exists`);function a(e,t,n){i(`checking %s`,e);try{let a=r.statSync(e);return a.isFile()&&t?(i(`[OK] path represents a file`),!0):a.isDirectory()&&n?(i(`[OK] path represents a directory`),!0):(i(`[FAIL] path represents something other than a file or directory`),!1)}catch(e){if(e.code===`ENOENT`)return i(`[FAIL] path is not accessible: %o`,e),!1;throw i(`[FATAL] %o`,e),e}}function o(e,n=t.READABLE){return a(e,(n&t.FILE)>0,(n&t.FOLDER)>0)}t.exists=o,t.FILE=1,t.FOLDER=2,t.READABLE=t.FILE+t.FOLDER})),bf=n((e=>{function t(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,`__esModule`,{value:!0}),t(yf())})),xf=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.createDeferred=e.deferred=void 0;function t(){let e,t,n=`pending`;return{promise:new Promise((n,r)=>{e=n,t=r}),done(t){n===`pending`&&(n=`resolved`,e(t))},fail(e){n===`pending`&&(n=`rejected`,t(e))},get fulfilled(){return n!==`pending`},get status(){return n}}}e.deferred=t,e.createDeferred=t})),Sf=bf(),Cf=t(vf(),1),wf=xf(),Tf=Object.defineProperty,Ef=Object.getOwnPropertyDescriptor,Df=Object.getOwnPropertyNames,Of=Object.prototype.hasOwnProperty,Z=(e,t)=>function(){return e&&(t=(0,e[Df(e)[0]])(e=0)),t},kf=(e,t)=>function(){return t||(0,e[Df(e)[0]])((t={exports:{}}).exports,t),t.exports},Af=(e,t)=>{for(var n in t)Tf(e,n,{get:t[n],enumerable:!0})},jf=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of Df(t))!Of.call(e,i)&&i!==n&&Tf(e,i,{get:()=>t[i],enumerable:!(r=Ef(t,i))||r.enumerable});return e},Mf=e=>jf(Tf({},`__esModule`,{value:!0}),e);function Nf(...e){let t=new String(e);return If.set(t,e),t}function Pf(e){return e instanceof String&&If.has(e)}function Ff(e){return If.get(e)||[]}var If,Lf=Z({"src/lib/args/pathspec.ts"(){If=new WeakMap}}),Rf,zf=Z({"src/lib/errors/git-error.ts"(){Rf=class extends Error{constructor(e,t){super(t),this.task=e,Object.setPrototypeOf(this,new.target.prototype)}}}}),Bf,Vf=Z({"src/lib/errors/git-response-error.ts"(){zf(),Bf=class extends Rf{constructor(e,t){super(void 0,t||String(e)),this.git=e}}}}),Hf,Uf=Z({"src/lib/errors/task-configuration-error.ts"(){zf(),Hf=class extends Rf{constructor(e){super(void 0,e)}}}});function Wf(e){return typeof e==`function`?e:fp}function Gf(e){return typeof e==`function`&&e!==fp}function Kf(e,t){let n=e.indexOf(t);return n<=0?[e,``]:[e.substr(0,n),e.substr(n+1)]}function qf(e,t=0){return Yf(e)&&e.length>t?e[t]:void 0}function Jf(e,t=0){if(Yf(e)&&e.length>t)return e[e.length-1-t]}function Yf(e){return Cp(e)}function Xf(e=``,t=!0,n=`
|
|
19
|
+
`){return e.split(n).reduce((e,n)=>{let r=t?n.trim():n;return r&&e.push(r),e},[])}function Zf(e,t){return Xf(e,!0).map(e=>t(e))}function Qf(e){return(0,Sf.exists)(e,Sf.FOLDER)}function $f(e,t){return Array.isArray(e)?e.includes(t)||e.push(t):e.add(t),t}function ep(e,t){return Array.isArray(e)&&!e.includes(t)&&e.push(t),e}function tp(e,t){if(Array.isArray(e)){let n=e.indexOf(t);n>=0&&e.splice(n,1)}else e.delete(t);return t}function np(e){return Array.isArray(e)?e:[e]}function rp(e){return e.replace(/[\s-]+(.)/g,(e,t)=>t.toUpperCase())}function ip(e){return np(e).map(e=>e instanceof String?e:String(e))}function ap(e,t=0){if(e==null)return t;let n=parseInt(e,10);return Number.isNaN(n)?t:n}function op(e,t){let n=[];for(let r=0,i=e.length;r<i;r++)n.push(t,e[r]);return n}function sp(e){return(Array.isArray(e)?za.concat(e):e).toString(`utf-8`)}function cp(e,t){let n={};return t.forEach(t=>{e[t]!==void 0&&(n[t]=e[t])}),n}function lp(e=0){return new Promise(t=>setTimeout(t,e))}function up(e){if(e!==!1)return e}var dp,fp,pp,mp=Z({"src/lib/utils/util.ts"(){wp(),dp=`\0`,fp=()=>{},pp=Object.prototype.toString.call.bind(Object.prototype.toString)}});function hp(e,t,n){return t(e)?e:arguments.length>2?n:void 0}function gp(e,t){let n=Pf(e)?`string`:typeof e;return/number|string|boolean/.test(n)&&(!t||!t.includes(n))}function _p(e){return!!e&&pp(e)===`[object Object]`}function vp(e){return typeof e==`function`}var yp,bp,xp,Sp,Cp,wp=Z({"src/lib/utils/argument-filters.ts"(){Lf(),mp(),yp=e=>Array.isArray(e),bp=e=>typeof e==`number`,xp=e=>typeof e==`string`||Pf(e),Sp=e=>xp(e)||Array.isArray(e)&&e.every(xp),Cp=e=>e==null||`number|boolean|function`.includes(typeof e)?!1:typeof e.length==`number`}}),Tp,Ep=Z({"src/lib/utils/exit-codes.ts"(){Tp=(e=>(e[e.SUCCESS=0]=`SUCCESS`,e[e.ERROR=1]=`ERROR`,e[e.NOT_FOUND=-2]=`NOT_FOUND`,e[e.UNCLEAN=128]=`UNCLEAN`,e))(Tp||{})}}),Dp,Op=Z({"src/lib/utils/git-output-streams.ts"(){Dp=class e{constructor(e,t){this.stdOut=e,this.stdErr=t}asStrings(){return new e(this.stdOut.toString(`utf8`),this.stdErr.toString(`utf8`))}}}});function kp(){throw Error(`LineParser:useMatches not implemented`)}var Q,Ap,jp=Z({"src/lib/utils/line-parser.ts"(){Q=class{constructor(e,t){this.matches=[],this.useMatches=kp,this.parse=(e,t)=>(this.resetMatches(),this._regExp.every((t,n)=>this.addMatch(t,n,e(n)))?this.useMatches(t,this.prepareMatches())!==!1:!1),this._regExp=Array.isArray(e)?e:[e],t&&(this.useMatches=t)}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(e,t,n){let r=n&&e.exec(n);return r&&this.pushMatch(t,r),!!r}pushMatch(e,t){this.matches.push(...t.slice(1))}},Ap=class extends Q{addMatch(e,t,n){return/^remote:\s/.test(String(n))&&super.addMatch(e,t,n)}pushMatch(e,t){(e>0||t.length>1)&&super.pushMatch(e,t)}}}});function Mp(...e){let t=process.cwd(),n=Object.assign({baseDir:t,...Np},...e.filter(e=>typeof e==`object`&&e));return n.baseDir=n.baseDir||t,n.trimmed=n.trimmed===!0,n}var Np,Pp=Z({"src/lib/utils/simple-git-options.ts"(){Np={binary:`git`,maxConcurrentProcesses:5,config:[],trimmed:!1}}});function Fp(e,t=[]){return _p(e)?Object.keys(e).reduce((t,n)=>{let r=e[n];if(Pf(r))t.push(r);else if(gp(r,[`boolean`]))t.push(n+`=`+r);else if(Array.isArray(r))for(let e of r)gp(e,[`string`,`number`])||t.push(n+`=`+e);else t.push(n);return t},t):t}function Ip(e,t=0,n=!1){let r=[];for(let n=0,i=t<0?e.length:t;n<i;n++)`string|number`.includes(typeof e[n])&&r.push(String(e[n]));return Fp(Rp(e),r),n||r.push(...Lp(e)),r}function Lp(e){return ip(hp(Jf(e,typeof Jf(e)==`function`?1:0),yp,[]))}function Rp(e){return hp(Jf(e,vp(Jf(e))?1:0),_p)}function zp(e,t=!0){let n=Wf(Jf(e));return t||Gf(n)?n:void 0}var Bp=Z({"src/lib/utils/task-options.ts"(){wp(),mp(),Lf()}});function Vp(e,t){return e(t.stdOut,t.stdErr)}function Hp(e,t,n,r=!0){return np(n).forEach(n=>{for(let i=Xf(n,r),a=0,o=i.length;a<o;a++){let n=(e=0)=>{if(!(a+e>=o))return i[a+e]};t.some(({parse:t})=>t(n,e))}}),e}var Up=Z({"src/lib/utils/task-parser.ts"(){mp()}}),Wp={};Af(Wp,{ExitCodes:()=>Tp,GitOutputStreams:()=>Dp,LineParser:()=>Q,NOOP:()=>fp,NULL:()=>dp,RemoteLineParser:()=>Ap,append:()=>$f,appendTaskOptions:()=>Fp,asArray:()=>np,asCamelCase:()=>rp,asFunction:()=>Wf,asNumber:()=>ap,asStringArray:()=>ip,bufferToString:()=>sp,callTaskParser:()=>Vp,createInstanceConfig:()=>Mp,delay:()=>lp,filterArray:()=>yp,filterFunction:()=>vp,filterHasLength:()=>Cp,filterNumber:()=>bp,filterPlainObject:()=>_p,filterPrimitives:()=>gp,filterString:()=>xp,filterStringOrStringArray:()=>Sp,filterType:()=>hp,first:()=>qf,folderExists:()=>Qf,forEachLineWithContent:()=>Zf,getTrailingOptions:()=>Ip,including:()=>ep,isUserFunction:()=>Gf,last:()=>Jf,objectToString:()=>pp,orVoid:()=>up,parseStringResponse:()=>Hp,pick:()=>cp,prefixedArray:()=>op,remove:()=>tp,splitOn:()=>Kf,toLinesWithContent:()=>Xf,trailingFunctionArgument:()=>zp,trailingOptionsArgument:()=>Rp});var $=Z({"src/lib/utils/index.ts"(){wp(),Ep(),Op(),jp(),Pp(),Bp(),Up(),mp()}}),Gp={};Af(Gp,{CheckRepoActions:()=>Xp,checkIsBareRepoTask:()=>Jp,checkIsRepoRootTask:()=>qp,checkIsRepoTask:()=>Kp});function Kp(e){switch(e){case`bare`:return Jp();case`root`:return qp()}return{commands:[`rev-parse`,`--is-inside-work-tree`],format:`utf-8`,onError:Zp,parser:Qp}}function qp(){return{commands:[`rev-parse`,`--git-dir`],format:`utf-8`,onError:Zp,parser(e){return/^\.(git)?$/.test(e.trim())}}}function Jp(){return{commands:[`rev-parse`,`--is-bare-repository`],format:`utf-8`,onError:Zp,parser:Qp}}function Yp(e){return/(Not a git repository|Kein Git-Repository)/i.test(String(e))}var Xp,Zp,Qp,$p=Z({"src/lib/tasks/check-is-repo.ts"(){$(),Xp=(e=>(e.BARE=`bare`,e.IN_TREE=`tree`,e.IS_REPO_ROOT=`root`,e))(Xp||{}),Zp=({exitCode:e},t,n,r)=>{if(e===128&&Yp(t))return n(Buffer.from(`false`));r(t)},Qp=e=>e.trim()===`true`}});function em(e,t){let n=new tm(e),r=e?rm:nm;return Xf(t).forEach(e=>{let t=e.replace(r,``);n.paths.push(t),(im.test(t)?n.folders:n.files).push(t)}),n}var tm,nm,rm,im,am=Z({"src/lib/responses/CleanSummary.ts"(){$(),tm=class{constructor(e){this.dryRun=e,this.paths=[],this.files=[],this.folders=[]}},nm=/^[a-z]+\s*/i,rm=/^[a-z]+\s+[a-z]+\s*/i,im=/\/$/}}),om={};Af(om,{EMPTY_COMMANDS:()=>pm,adhocExecTask:()=>sm,configurationErrorTask:()=>cm,isBufferTask:()=>dm,isEmptyTask:()=>fm,straightThroughBufferTask:()=>um,straightThroughStringTask:()=>lm});function sm(e){return{commands:pm,format:`empty`,parser:e}}function cm(e){return{commands:pm,format:`empty`,parser(){throw typeof e==`string`?new Hf(e):e}}}function lm(e,t=!1){return{commands:e,format:`utf-8`,parser(e){return t?String(e).trim():e}}}function um(e){return{commands:e,format:`buffer`,parser(e){return e}}}function dm(e){return e.format===`buffer`}function fm(e){return e.format===`empty`||!e.commands.length}var pm,mm=Z({"src/lib/tasks/task.ts"(){Uf(),pm=[]}}),hm={};Af(hm,{CONFIG_ERROR_INTERACTIVE_MODE:()=>Cm,CONFIG_ERROR_MODE_REQUIRED:()=>wm,CONFIG_ERROR_UNKNOWN_OPTION:()=>Tm,CleanOptions:()=>Em,cleanTask:()=>_m,cleanWithOptionsTask:()=>gm,isCleanOptionsArray:()=>vm});function gm(e,t){let{cleanMode:n,options:r,valid:i}=ym(e);return n?i.options?(r.push(...t),r.some(Sm)?cm(Cm):_m(n,r)):cm(Tm+JSON.stringify(e)):cm(wm)}function _m(e,t){return{commands:[`clean`,`-${e}`,...t],format:`utf-8`,parser(t){return em(e===`n`,t)}}}function vm(e){return Array.isArray(e)&&e.every(e=>Dm.has(e))}function ym(e){let t,n=[],r={cleanMode:!1,options:!0};return e.replace(/[^a-z]i/g,``).split(``).forEach(e=>{bm(e)?(t=e,r.cleanMode=!0):r.options=r.options&&xm(n[n.length]=`-${e}`)}),{cleanMode:t,options:n,valid:r}}function bm(e){return e===`f`||e===`n`}function xm(e){return/^-[a-z]$/i.test(e)&&Dm.has(e.charAt(1))}function Sm(e){return/^-[^\-]/.test(e)?e.indexOf(`i`)>0:e===`--interactive`}var Cm,wm,Tm,Em,Dm,Om=Z({"src/lib/tasks/clean.ts"(){am(),$(),mm(),Cm=`Git clean interactive mode is not supported`,wm=`Git clean mode parameter ("n" or "f") is required`,Tm=`Git clean unknown option found in: `,Em=(e=>(e.DRY_RUN=`n`,e.FORCE=`f`,e.IGNORED_INCLUDED=`x`,e.IGNORED_ONLY=`X`,e.EXCLUDING=`e`,e.QUIET=`q`,e.RECURSIVE=`d`,e))(Em||{}),Dm=new Set([`i`,...ip(Object.values(Em))])}});function km(e){let t=new Nm;for(let n of Mm(e))t.addValue(n.file,String(n.key),n.value);return t}function Am(e,t){let n=null,r=[],i=new Map;for(let a of Mm(e,t))a.key===t&&(r.push(n=a.value),i.has(a.file)||i.set(a.file,[]),i.get(a.file).push(n));return{key:t,paths:Array.from(i.keys()),scopes:i,value:n,values:r}}function jm(e){return e.replace(/^(file):/,``)}function*Mm(e,t=null){let n=e.split(`\0`);for(let e=0,r=n.length-1;e<r;){let r=jm(n[e++]),i=n[e++],a=t;if(i.includes(`
|
|
20
|
+
`)){let e=Kf(i,`
|
|
21
|
+
`);a=e[0],i=e[1]}yield{file:r,key:a,value:i}}}var Nm,Pm=Z({"src/lib/responses/ConfigList.ts"(){$(),Nm=class{constructor(){this.files=[],this.values=Object.create(null)}get all(){return this._all||=this.files.reduce((e,t)=>Object.assign(e,this.values[t]),{}),this._all}addFile(e){if(!(e in this.values)){let t=Jf(this.files);this.values[e]=t?Object.create(this.values[t]):{},this.files.push(e)}return this.values[e]}addValue(e,t,n){let r=this.addFile(e);Object.hasOwn(r,t)?Array.isArray(r[t])?r[t].push(n):r[t]=[r[t],n]:r[t]=n,this._all=void 0}}}});function Fm(e,t){return typeof e==`string`&&Object.hasOwn(Bm,e)?e:t}function Im(e,t,n,r){let i=[`config`,`--${r}`];return n&&i.push(`--add`),i.push(e,t),{commands:i,format:`utf-8`,parser(e){return e}}}function Lm(e,t){let n=[`config`,`--null`,`--show-origin`,`--get-all`,e];return t&&n.splice(1,0,`--${t}`),{commands:n,format:`utf-8`,parser(t){return Am(t,e)}}}function Rm(e){let t=[`config`,`--list`,`--show-origin`,`--null`];return e&&t.push(`--${e}`),{commands:t,format:`utf-8`,parser(e){return km(e)}}}function zm(){return{addConfig(e,t,...n){return this._runTask(Im(e,t,n[0]===!0,Fm(n[1],`local`)),zp(arguments))},getConfig(e,t){return this._runTask(Lm(e,Fm(t,void 0)),zp(arguments))},listConfig(...e){return this._runTask(Rm(Fm(e[0],void 0)),zp(arguments))}}}var Bm,Vm=Z({"src/lib/tasks/config.ts"(){Pm(),$(),Bm=(e=>(e.system=`system`,e.global=`global`,e.local=`local`,e.worktree=`worktree`,e))(Bm||{})}});function Hm(e){return Wm.has(e)}var Um,Wm,Gm=Z({"src/lib/tasks/diff-name-status.ts"(){Um=(e=>(e.ADDED=`A`,e.COPIED=`C`,e.DELETED=`D`,e.MODIFIED=`M`,e.RENAMED=`R`,e.CHANGED=`T`,e.UNMERGED=`U`,e.UNKNOWN=`X`,e.BROKEN=`B`,e))(Um||{}),Wm=new Set(Object.values(Um))}});function Km(...e){return new Qm().param(...e)}function qm(e){let t=new Set,n={};return Zf(e,e=>{let[r,i,a]=e.split(dp);t.add(r),(n[r]=n[r]||[]).push({line:ap(i),path:r,preview:a})}),{paths:t,results:n}}function Jm(){return{grep(e){let t=zp(arguments),n=Ip(arguments);for(let e of Ym)if(n.includes(e))return this._runTask(cm(`git.grep: use of "${e}" is not supported.`),t);typeof e==`string`&&(e=Km().param(e));let r=[`grep`,`--null`,`-n`,`--full-name`,...n,...e];return this._runTask({commands:r,format:`utf-8`,parser(e){return qm(e)}},t)}}}var Ym,Xm,Zm,Qm,$m=Z({"src/lib/tasks/grep.ts"(){$(),mm(),Ym=[`-h`],Xm=Symbol(`grepQuery`),Qm=class{constructor(){this[Zm]=[]}*[(Zm=Xm,Symbol.iterator)](){for(let e of this[Xm])yield e}and(...e){return e.length&&this[Xm].push(`--and`,`(`,...op(e,`-e`),`)`),this}param(...e){return this[Xm].push(...op(e,`-e`)),this}}}}),eh={};Af(eh,{ResetMode:()=>ih,getResetMode:()=>nh,resetTask:()=>th});function th(e,t){let n=[`reset`];return rh(e)&&n.push(`--${e}`),n.push(...t),lm(n)}function nh(e){if(rh(e))return e;switch(typeof e){case`string`:case`undefined`:return`soft`}}function rh(e){return typeof e==`string`&&ah.includes(e)}var ih,ah,oh=Z({"src/lib/tasks/reset.ts"(){$(),mm(),ih=(e=>(e.MIXED=`mixed`,e.SOFT=`soft`,e.HARD=`hard`,e.MERGE=`merge`,e.KEEP=`keep`,e))(ih||{}),ah=ip(Object.values(ih))}});function sh(){return(0,Cf.default)(`simple-git`)}function ch(e,t,n){return!t||!String(t).replace(/\s*/,``)?n?(t,...r)=>{e(t,...r),n(t,...r)}:e:(r,...i)=>{e(`%s ${r}`,t,...i),n&&n(r,...i)}}function lh(e,t,{namespace:n}){if(typeof e==`string`)return e;let r=t&&t.namespace||``;return r.startsWith(n)?r.substr(n.length+1):r||n}function uh(e,t,n,r=sh()){let i=e&&`[${e}]`||``,a=[],o=typeof t==`string`?r.extend(t):t,s=lh(hp(t,xp),o,r);return l(n);function c(t,n){return $f(a,uh(e,s.replace(/^[^:]+/,t),n,r))}function l(t){let n=t&&`[${t}]`||``,a=o&&ch(o,n)||fp,s=ch(r,`${i} ${n}`,a);return Object.assign(o?a:s,{label:e,sibling:c,info:s,step:l})}}var dh=Z({"src/lib/git-logger.ts"(){$(),Cf.default.formatters.L=e=>String(Cp(e)?e.length:`-`),Cf.default.formatters.B=e=>Buffer.isBuffer(e)?e.toString(`utf8`):pp(e)}}),fh,ph=Z({"src/lib/runners/tasks-pending-queue.ts"(){zf(),dh(),fh=class e{constructor(e=`GitExecutor`){this.logLabel=e,this._queue=new Map}withProgress(e){return this._queue.get(e)}createProgress(t){let n=e.getName(t.commands[0]);return{task:t,logger:uh(this.logLabel,n),name:n}}push(e){let t=this.createProgress(e);return t.logger(`Adding task to the queue, commands = %o`,e.commands),this._queue.set(e,t),t}fatal(e){for(let[t,{logger:n}]of Array.from(this._queue.entries()))t===e.task?(n.info(`Failed %o`,e),n(`Fatal exception, any as-yet un-started tasks run through this executor will not be attempted`)):n.info(`A fatal exception occurred in a previous task, the queue has been purged: %o`,e.message),this.complete(t);if(this._queue.size!==0)throw Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(e){this.withProgress(e)&&this._queue.delete(e)}attempt(e){let t=this.withProgress(e);if(!t)throw new Rf(void 0,`TasksPendingQueue: attempt called for an unknown task`);return t.logger(`Starting task`),t}static getName(t=`empty`){return`task:${t}:${++e.counter}`}static{this.counter=0}}}});function mh(e,t){return{method:qf(e.commands)||``,commands:t}}function hh(e,t){return n=>{t(`[ERROR] child process exception %o`,n),e.push(Buffer.from(String(n.stack),`ascii`))}}function gh(e,t,n,r){return i=>{n(`%s received %L bytes`,t,i),r(`%B`,i),e.push(i)}}var _h,vh=Z({"src/lib/runners/git-executor-chain.ts"(){zf(),mm(),$(),ph(),_h=class{constructor(e,t,n){this._executor=e,this._scheduler=t,this._plugins=n,this._chain=Promise.resolve(),this._queue=new fh}get cwd(){return this._cwd||this._executor.cwd}set cwd(e){this._cwd=e}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(e){return this._queue.push(e),this._chain=this._chain.then(()=>this.attemptTask(e))}async attemptTask(e){let t=await this._scheduler.next(),n=()=>this._queue.complete(e);try{let{logger:t}=this._queue.attempt(e);return await(fm(e)?this.attemptEmptyTask(e,t):this.attemptRemoteTask(e,t))}catch(t){throw this.onFatalException(e,t)}finally{n(),t()}}onFatalException(e,t){let n=t instanceof Rf?Object.assign(t,{task:e}):new Rf(e,t&&String(t));return this._chain=Promise.resolve(),this._queue.fatal(n),n}async attemptRemoteTask(e,t){let n=this._plugins.exec(`spawn.binary`,``,mh(e,e.commands)),r=this._plugins.exec(`spawn.args`,[...e.commands],mh(e,e.commands)),i=await this.gitResponse(e,n,r,this.outputHandler,t.step(`SPAWN`)),a=await this.handleTaskData(e,r,i,t.step(`HANDLE`));return t(`passing response to task's parser as a %s`,e.format),dm(e)?Vp(e.parser,a):Vp(e.parser,a.asStrings())}async attemptEmptyTask(e,t){return t(`empty task bypassing child process to call to task's parser`),e.parser(this)}handleTaskData(e,t,n,r){let{exitCode:i,rejection:a,stdOut:o,stdErr:s}=n;return new Promise((c,l)=>{r(`Preparing to handle process response exitCode=%d stdOut=`,i);let{error:u}=this._plugins.exec(`task.error`,{error:a},{...mh(e,t),...n});if(u&&e.onError)return r.info(`exitCode=%s handling with custom error handler`),e.onError(n,u,e=>{r.info(`custom error handler treated as success`),r(`custom error returned a %s`,pp(e)),c(new Dp(Array.isArray(e)?Buffer.concat(e):e,Buffer.concat(s)))},l);if(u)return r.info(`handling as error: exitCode=%s stdErr=%s rejection=%o`,i,s.length,a),l(u);r.info(`retrieving task output complete`),c(new Dp(Buffer.concat(o),Buffer.concat(s)))})}async gitResponse(e,t,n,r,i){let a=i.sibling(`output`),o=this._plugins.exec(`spawn.options`,{cwd:this.cwd,env:this.env,windowsHide:!0},mh(e,e.commands));return new Promise(s=>{let c=[],l=[];i.info(`%s %o`,t,n),i(`%O`,o);let u=this._beforeSpawn(e,n);if(u)return s({stdOut:c,stdErr:l,exitCode:9901,rejection:u});this._plugins.exec(`spawn.before`,void 0,{...mh(e,n),kill(e){u=e||u}});let d=Va(t,n,o);d.stdout.on(`data`,gh(c,`stdOut`,i,a.step(`stdOut`))),d.stderr.on(`data`,gh(l,`stdErr`,i,a.step(`stdErr`))),d.on(`error`,hh(l,i)),r&&(i(`Passing child process stdOut/stdErr to custom outputHandler`),r(t,d.stdout,d.stderr,[...n])),this._plugins.exec(`spawn.after`,void 0,{...mh(e,n),spawned:d,close(e,t){s({stdOut:c,stdErr:l,exitCode:e,rejection:u||t})},kill(e){d.killed||(u=e,d.kill(`SIGINT`))}})})}_beforeSpawn(e,t){let n;return this._plugins.exec(`spawn.before`,void 0,{...mh(e,t),kill(e){n=e||n}}),n}}}}),yh={};Af(yh,{GitExecutor:()=>bh});var bh,xh=Z({"src/lib/runners/git-executor.ts"(){vh(),bh=class{constructor(e,t,n){this.cwd=e,this._scheduler=t,this._plugins=n,this._chain=new _h(this,this._scheduler,this._plugins)}chain(){return new _h(this,this._scheduler,this._plugins)}push(e){return this._chain.push(e)}}}});function Sh(e,t,n=fp){t.then(e=>{n(null,e)},t=>{t?.task===e&&n(t instanceof Bf?Ch(t):t,void 0)})}function Ch(e){let t=e=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${e} should be GitResponseError.git.${e}, this will no longer be available in version 3`),t=fp};return Object.create(e,Object.getOwnPropertyNames(e.git).reduce(n,{}));function n(n,r){return r in e||(n[r]={enumerable:!1,configurable:!1,get(){return t(r),e.git[r]}}),n}}var wh=Z({"src/lib/task-callback.ts"(){Vf(),$()}});function Th(e,t){return sm(n=>{if(!Qf(e))throw Error(`Git.cwd: cannot change to non-directory "${e}"`);return(t||n).cwd=e})}var Eh=Z({"src/lib/tasks/change-working-directory.ts"(){$(),mm()}});function Dh(e){let t=[`checkout`,...e];return t[1]===`-b`&&t.includes(`-B`)&&(t[1]=tp(t,`-B`)),lm(t)}function Oh(){return{checkout(){return this._runTask(Dh(Ip(arguments,1)),zp(arguments))},checkoutBranch(e,t){return this._runTask(Dh([`-b`,e,t,...Ip(arguments)]),zp(arguments))},checkoutLocalBranch(e){return this._runTask(Dh([`-b`,e,...Ip(arguments)]),zp(arguments))}}}var kh=Z({"src/lib/tasks/checkout.ts"(){$(),mm()}});function Ah(){return{count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0}}function jh(){return{countObjects(){return this._runTask({commands:[`count-objects`,`--verbose`],format:`utf-8`,parser(e){return Hp(Ah(),[Mh],e)}})}}}var Mh,Nh=Z({"src/lib/tasks/count-objects.ts"(){$(),Mh=new Q(/([a-z-]+): (\d+)$/,(e,[t,n])=>{let r=rp(t);Object.hasOwn(e,r)&&(e[r]=ap(n))})}});function Ph(e){return Hp({author:null,branch:``,commit:``,root:!1,summary:{changes:0,insertions:0,deletions:0}},Fh,e)}var Fh,Ih=Z({"src/lib/parsers/parse-commit.ts"(){$(),Fh=[new Q(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(e,[t,n,r])=>{e.branch=t,e.commit=r,e.root=!!n}),new Q(/\s*Author:\s(.+)/i,(e,[t])=>{let n=t.split(`<`),r=n.pop();!r||!r.includes(`@`)||(e.author={email:r.substr(0,r.length-1),name:n.join(`<`).trim()})}),new Q(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(e,[t,n,r])=>{e.summary.changes=parseInt(t,10)||0,e.summary.insertions=parseInt(n,10)||0,e.summary.deletions=parseInt(r,10)||0}),new Q(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(e,[t,n,r])=>{e.summary.changes=parseInt(t,10)||0;let i=parseInt(n,10)||0;r===`-`?e.summary.deletions=i:r===`+`&&(e.summary.insertions=i)})]}});function Lh(e,t,n){return{commands:[`-c`,`core.abbrev=40`,`commit`,...op(e,`-m`),...t,...n],format:`utf-8`,parser:Ph}}function Rh(){return{commit(t,...n){let r=zp(arguments),i=e(t)||Lh(np(t),np(hp(n[0],Sp,[])),[...ip(hp(n[1],yp,[])),...Ip(arguments,0,!0)]);return this._runTask(i,r)}};function e(e){return!Sp(e)&&cm(`git.commit: requires the commit message to be supplied as a string/string[]`)}}var zh=Z({"src/lib/tasks/commit.ts"(){Ih(),$(),mm()}});function Bh(){return{firstCommit(){return this._runTask(lm([`rev-list`,`--max-parents=0`,`HEAD`],!0),zp(arguments))}}}var Vh=Z({"src/lib/tasks/first-commit.ts"(){$(),mm()}});function Hh(e,t){let n=[`hash-object`,e];return t&&n.push(`-w`),lm(n,!0)}var Uh=Z({"src/lib/tasks/hash-object.ts"(){mm()}});function Wh(e,t,n){let r=String(n).trim(),i;if(i=Kh.exec(r))return new Gh(e,t,!1,i[1]);if(i=qh.exec(r))return new Gh(e,t,!0,i[1]);let a=``,o=r.split(` `);for(;o.length;)if(o.shift()===`in`){a=o.join(` `);break}return new Gh(e,t,/^re/i.test(r),a)}var Gh,Kh,qh,Jh=Z({"src/lib/responses/InitSummary.ts"(){Gh=class{constructor(e,t,n,r){this.bare=e,this.path=t,this.existing=n,this.gitDir=r}},Kh=/^Init.+ repository in (.+)$/,qh=/^Rein.+ in (.+)$/}});function Yh(e){return e.includes(Zh)}function Xh(e=!1,t,n){let r=[`init`,...n];return e&&!Yh(r)&&r.splice(1,0,Zh),{commands:r,format:`utf-8`,parser(e){return Wh(r.includes(`--bare`),t,e)}}}var Zh,Qh=Z({"src/lib/tasks/init.ts"(){Jh(),Zh=`--bare`}});function $h(e){for(let t=0;t<e.length;t++){let n=tg.exec(e[t]);if(n)return`--${n[1]}`}return``}function eg(e){return tg.test(e)}var tg,ng=Z({"src/lib/args/log-format.ts"(){tg=/^--(stat|numstat|name-only|name-status)(=|$)/}}),rg,ig=Z({"src/lib/responses/DiffSummary.ts"(){rg=class{constructor(){this.changed=0,this.deletions=0,this.insertions=0,this.files=[]}}}});function ag(e=``){let t=ug[e];return e=>Hp(new rg,t,e,!1)}var og,sg,cg,lg,ug,dg=Z({"src/lib/parsers/parse-diff-summary.ts"(){ng(),ig(),Gm(),$(),og=[new Q(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(e,[t,n,r=``])=>{e.files.push({file:t.trim(),changes:ap(n),insertions:r.replace(/[^+]/g,``).length,deletions:r.replace(/[^-]/g,``).length,binary:!1})}),new Q(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(e,[t,n,r])=>{e.files.push({file:t.trim(),before:ap(n),after:ap(r),binary:!0})}),new Q(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(e,[t,n])=>{let r=/(\d+) i/.exec(n),i=/(\d+) d/.exec(n);e.changed=ap(t),e.insertions=ap(r?.[1]),e.deletions=ap(i?.[1])})],sg=[new Q(/(\d+)\t(\d+)\t(.+)$/,(e,[t,n,r])=>{let i=ap(t),a=ap(n);e.changed++,e.insertions+=i,e.deletions+=a,e.files.push({file:r,changes:i+a,insertions:i,deletions:a,binary:!1})}),new Q(/-\t-\t(.+)$/,(e,[t])=>{e.changed++,e.files.push({file:t,after:0,before:0,binary:!0})})],cg=[new Q(/(.+)$/,(e,[t])=>{e.changed++,e.files.push({file:t,changes:0,insertions:0,deletions:0,binary:!1})})],lg=[new Q(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(e,[t,n,r,i,a])=>{e.changed++,e.files.push({file:a??r,changes:0,insertions:0,deletions:0,binary:!1,status:up(Hm(t)&&t),from:up(!!a&&r!==a&&r),similarity:ap(n)})})],ug={"":og,"--stat":og,"--numstat":sg,"--name-status":lg,"--name-only":cg}}});function fg(e,t){return t.reduce((t,n,r)=>(t[n]=e[r]||``,t),Object.create({diff:null}))}function pg(e=gg,t=_g,n=``){let r=ag(n);return function(n){let i=Xf(n.trim(),!1,mg).map(function(n){let i=n.split(hg),a=fg(i[0].split(e),t);return i.length>1&&i[1].trim()&&(a.diff=r(i[1])),a});return{all:i,latest:i.length&&i[0]||null,total:i.length}}}var mg,hg,gg,_g,vg=Z({"src/lib/parsers/parse-list-log-summary.ts"(){$(),dg(),ng(),mg=`òòòòòò `,hg=` òò`,gg=` ò `,_g=[`hash`,`date`,`message`,`refs`,`author_name`,`author_email`]}}),yg={};Af(yg,{diffSummaryTask:()=>bg,validateLogFormatConfig:()=>xg});function bg(e){let t=$h(e),n=[`diff`];return t===``&&(t=`--stat`,n.push(`--stat=4096`)),n.push(...e),xg(n)||{commands:n,format:`utf-8`,parser:ag(t)}}function xg(e){let t=e.filter(eg);if(t.length>1)return cm(`Summary flags are mutually exclusive - pick one of ${t.join(`,`)}`);if(t.length&&e.includes(`-z`))return cm(`Summary flag ${t} parsing is not compatible with null termination option '-z'`)}var Sg=Z({"src/lib/tasks/diff.ts"(){ng(),dg(),mm()}});function Cg(e,t){let n=[],r=[];return Object.keys(e).forEach(t=>{n.push(t),r.push(String(e[t]))}),[n,r.join(t)]}function wg(e){return Object.keys(e).reduce((t,n)=>(n in Og||(t[n]=e[n]),t),{})}function Tg(e={},t=[]){let n=hp(e.splitter,xp,gg),[r,i]=Cg(_p(e.format)?e.format:{hash:`%H`,date:e.strictDate===!1?`%ai`:`%aI`,message:`%s`,refs:`%D`,body:e.multiLine?`%B`:`%b`,author_name:e.mailMap===!1?`%an`:`%aN`,author_email:e.mailMap===!1?`%ae`:`%aE`},n),a=[],o=[`--pretty=format:${mg}${i}${hg}`,...t],s=e.n||e[`max-count`]||e.maxCount;if(s&&o.push(`--max-count=${s}`),e.from||e.to){let t=e.symmetric===!1?`..`:`...`;a.push(`${e.from||``}${t}${e.to||``}`)}return xp(e.file)&&o.push(`--follow`,Nf(e.file)),Fp(wg(e),o),{fields:r,splitter:n,commands:[...o,...a]}}function Eg(e,t,n){let r=pg(e,t,$h(n));return{commands:[`log`,...n],format:`utf-8`,parser:r}}function Dg(){return{log(...n){let r=zp(arguments),i=Tg(Rp(arguments),ip(hp(arguments[0],yp,[]))),a=t(...n)||xg(i.commands)||e(i);return this._runTask(a,r)}};function e(e){return Eg(e.splitter,e.fields,e.commands)}function t(e,t){return xp(e)&&xp(t)&&cm(`git.log(string, string) should be replaced with git.log({ from: string, to: string })`)}}var Og,kg=Z({"src/lib/tasks/log.ts"(){ng(),Lf(),vg(),$(),mm(),Sg(),Og=(e=>(e[e[`--pretty`]=0]=`--pretty`,e[e[`max-count`]=1]=`max-count`,e[e.maxCount=2]=`maxCount`,e[e.n=3]=`n`,e[e.file=4]=`file`,e[e.format=5]=`format`,e[e.from=6]=`from`,e[e.to=7]=`to`,e[e.splitter=8]=`splitter`,e[e.symmetric=9]=`symmetric`,e[e.mailMap=10]=`mailMap`,e[e.multiLine=11]=`multiLine`,e[e.strictDate=12]=`strictDate`,e))(Og||{})}}),Ag,jg,Mg=Z({"src/lib/responses/MergeSummary.ts"(){Ag=class{constructor(e,t=null,n){this.reason=e,this.file=t,this.meta=n}toString(){return`${this.file}:${this.reason}`}},jg=class{constructor(){this.conflicts=[],this.merges=[],this.result=`success`}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(`, `)}`:`OK`}}}}),Ng,Pg,Fg=Z({"src/lib/responses/PullSummary.ts"(){Ng=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},Pg=class{constructor(){this.remote=``,this.hash={local:``,remote:``},this.branch={local:``,remote:``},this.message=``}toString(){return this.message}}}});function Ig(e){return e.objects=e.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function Lg(e){let t=/^\s*(\d+)/.exec(e),n=/delta (\d+)/i.exec(e);return{count:ap(t&&t[1]||`0`),delta:ap(n&&n[1]||`0`)}}var Rg,zg=Z({"src/lib/parsers/parse-remote-objects.ts"(){$(),Rg=[new Ap(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(e,[t,n])=>{let r=t.toLowerCase(),i=Ig(e.remoteMessages);Object.assign(i,{[r]:ap(n)})}),new Ap(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(e,[t,n])=>{let r=t.toLowerCase(),i=Ig(e.remoteMessages);Object.assign(i,{[r]:ap(n)})}),new Ap(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(e,[t,n,r])=>{let i=Ig(e.remoteMessages);i.total=Lg(t),i.reused=Lg(n),i.packReused=ap(r)})]}});function Bg(e,t){return Hp({remoteMessages:new Hg},Vg,t)}var Vg,Hg,Ug=Z({"src/lib/parsers/parse-remote-messages.ts"(){$(),zg(),Vg=[new Ap(/^remote:\s*(.+)$/,(e,[t])=>(e.remoteMessages.all.push(t.trim()),!1)),...Rg,new Ap([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(e,[t])=>{e.remoteMessages.pullRequestUrl=t}),new Ap([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(e,[t,n,r])=>{e.remoteMessages.vulnerabilities={count:ap(t),summary:n,url:r}})],Hg=class{constructor(){this.all=[]}}}});function Wg(e,t){let n=Hp(new Pg,Yg,[e,t]);return n.message&&n}var Gg,Kg,qg,Jg,Yg,Xg,Zg,Qg=Z({"src/lib/parsers/parse-pull.ts"(){Fg(),$(),Ug(),Gg=/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,Kg=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,qg=/^(create|delete) mode \d+ (.+)/,Jg=[new Q(Gg,(e,[t,n,r])=>{e.files.push(t),n&&(e.insertions[t]=n.length),r&&(e.deletions[t]=r.length)}),new Q(Kg,(e,[t,,n,,r])=>n!==void 0||r!==void 0?(e.summary.changes=+t||0,e.summary.insertions=+n||0,e.summary.deletions=+r||0,!0):!1),new Q(qg,(e,[t,n])=>{$f(e.files,n),$f(t===`create`?e.created:e.deleted,n)})],Yg=[new Q(/^from\s(.+)$/i,(e,[t])=>void(e.remote=t)),new Q(/^fatal:\s(.+)$/,(e,[t])=>void(e.message=t)),new Q(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(e,[t,n,r,i])=>{e.branch.local=r,e.hash.local=t,e.branch.remote=i,e.hash.remote=n})],Xg=(e,t)=>Hp(new Ng,Jg,[e,t]),Zg=(e,t)=>Object.assign(new Ng,Xg(e,t),Bg(e,t))}}),$g,e_,t_,n_=Z({"src/lib/parsers/parse-merge.ts"(){Mg(),$(),Qg(),$g=[new Q(/^Auto-merging\s+(.+)$/,(e,[t])=>{e.merges.push(t)}),new Q(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(e,[t,n])=>{e.conflicts.push(new Ag(t,n))}),new Q(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(e,[t,n,r])=>{e.conflicts.push(new Ag(t,n,{deleteRef:r}))}),new Q(/^CONFLICT\s+\((.+)\):/,(e,[t])=>{e.conflicts.push(new Ag(t,null))}),new Q(/^Automatic merge failed;\s+(.+)$/,(e,[t])=>{e.result=t})],e_=(e,t)=>Object.assign(t_(e,t),Zg(e,t)),t_=e=>Hp(new jg,$g,e)}});function r_(e){return e.length?{commands:[`merge`,...e],format:`utf-8`,parser(e,t){let n=e_(e,t);if(n.failed)throw new Bf(n);return n}}:cm(`Git.merge requires at least one option`)}var i_=Z({"src/lib/tasks/merge.ts"(){Vf(),n_(),mm()}});function a_(e,t,n){let r=n.includes(`deleted`),i=n.includes(`tag`)||/^refs\/tags/.test(e),a=!n.includes(`new`);return{deleted:r,tag:i,branch:!i,new:!a,alreadyUpdated:a,local:e,remote:t}}var o_,s_,c_,l_=Z({"src/lib/parsers/parse-push.ts"(){$(),Ug(),o_=[new Q(/^Pushing to (.+)$/,(e,[t])=>{e.repo=t}),new Q(/^updating local tracking ref '(.+)'/,(e,[t])=>{e.ref={...e.ref||{},local:t}}),new Q(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(e,[t,n,r])=>{e.pushed.push(a_(t,n,r))}),new Q(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(e,[t,n,r])=>{e.branch={...e.branch||{},local:t,remote:n,remoteName:r}}),new Q(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(e,[t,n,r,i])=>{e.update={head:{local:t,remote:n},hash:{from:r,to:i}}})],s_=(e,t)=>{let n=c_(e,t),r=Bg(e,t);return{...n,...r}},c_=(e,t)=>Hp({pushed:[]},o_,[e,t])}}),u_={};Af(u_,{pushTagsTask:()=>d_,pushTask:()=>f_});function d_(e={},t){return $f(t,`--tags`),f_(e,t)}function f_(e={},t){let n=[`push`,...t];return e.branch&&n.splice(1,0,e.branch),e.remote&&n.splice(1,0,e.remote),tp(n,`-v`),$f(n,`--verbose`),$f(n,`--porcelain`),{commands:n,format:`utf-8`,parser:s_}}var p_=Z({"src/lib/tasks/push.ts"(){l_(),$()}});function m_(){return{showBuffer(){let e=[`show`,...Ip(arguments,1)];return e.includes(`--binary`)||e.splice(1,0,`--binary`),this._runTask(um(e),zp(arguments))},show(){let e=[`show`,...Ip(arguments,1)];return this._runTask(lm(e),zp(arguments))}}}var h_=Z({"src/lib/tasks/show.ts"(){$(),mm()}}),g_,__,v_=Z({"src/lib/responses/FileStatusSummary.ts"(){g_=/^(.+)\0(.+)$/,__=class{constructor(e,t,n){if(this.path=e,this.index=t,this.working_dir=n,t===`R`||n===`R`){let t=g_.exec(e)||[null,e,e];this.from=t[2]||``,this.path=t[1]||``}}}}});function y_(e){let[t,n]=e.split(dp);return{from:n||t,to:t}}function b_(e,t,n){return[`${e}${t}`,n]}function x_(e,...t){return t.map(t=>b_(e,t,(e,t)=>e.conflicted.push(t)))}function S_(e,t){let n=t.trim();switch(` `){case n.charAt(2):return r(n.charAt(0),n.charAt(1),n.slice(3));case n.charAt(1):return r(` `,n.charAt(0),n.slice(2));default:return}function r(t,n,r){let i=`${t}${n}`,a=w_.get(i);a&&a(e,r),i!==`##`&&i!==`!!`&&e.files.push(new __(r,t,n))}}var C_,w_,T_,E_=Z({"src/lib/responses/StatusSummary.ts"(){$(),v_(),C_=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},w_=new Map([b_(` `,`A`,(e,t)=>e.created.push(t)),b_(` `,`D`,(e,t)=>e.deleted.push(t)),b_(` `,`M`,(e,t)=>e.modified.push(t)),b_(`A`,` `,(e,t)=>{e.created.push(t),e.staged.push(t)}),b_(`A`,`M`,(e,t)=>{e.created.push(t),e.staged.push(t),e.modified.push(t)}),b_(`D`,` `,(e,t)=>{e.deleted.push(t),e.staged.push(t)}),b_(`M`,` `,(e,t)=>{e.modified.push(t),e.staged.push(t)}),b_(`M`,`M`,(e,t)=>{e.modified.push(t),e.staged.push(t)}),b_(`R`,` `,(e,t)=>{e.renamed.push(y_(t))}),b_(`R`,`M`,(e,t)=>{let n=y_(t);e.renamed.push(n),e.modified.push(n.to)}),b_(`!`,`!`,(e,t)=>{(e.ignored=e.ignored||[]).push(t)}),b_(`?`,`?`,(e,t)=>e.not_added.push(t)),...x_(`A`,`A`,`U`),...x_(`D`,`D`,`U`),...x_(`U`,`A`,`D`,`U`),[`##`,(e,t)=>{let n=/ahead (\d+)/,r=/behind (\d+)/,i=/^(.+?(?=(?:\.{3}|\s|$)))/,a=/\.{3}(\S*)/,o=/\son\s(\S+?)(?=\.{3}|$)/,s=n.exec(t);e.ahead=s&&+s[1]||0,s=r.exec(t),e.behind=s&&+s[1]||0,s=i.exec(t),e.current=hp(s?.[1],xp,null),s=a.exec(t),e.tracking=hp(s?.[1],xp,null),s=o.exec(t),s&&(e.current=hp(s?.[1],xp,e.current)),e.detached=/\(no branch\)/.test(t)}]]),T_=function(e){let t=e.split(dp),n=new C_;for(let e=0,r=t.length;e<r;){let r=t[e++].trim();r&&(r.charAt(0)===`R`&&(r+=dp+(t[e++]||``)),S_(n,r))}return n}}});function D_(e){return{format:`utf-8`,commands:[`status`,`--porcelain`,`-b`,`-u`,`--null`,...e.filter(e=>!O_.includes(e))],parser(e){return T_(e)}}}var O_,k_=Z({"src/lib/tasks/status.ts"(){E_(),O_=[`--null`,`-z`]}});function A_(e=0,t=0,n=0,r=``,i=!0){return Object.defineProperty({major:e,minor:t,patch:n,agent:r,installed:i},`toString`,{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function j_(){return A_(0,0,0,``,!1)}function M_(){return{version(){return this._runTask({commands:[`--version`],format:`utf-8`,parser:N_,onError(e,t,n,r){if(e.exitCode===-2)return n(Buffer.from(P_));r(t)}})}}}function N_(e){return e===P_?j_():Hp(A_(0,0,0,e),F_,e)}var P_,F_,I_=Z({"src/lib/tasks/version.ts"(){$(),P_=`installed=false`,F_=[new Q(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(e,[t,n,r,i=``])=>{Object.assign(e,A_(ap(t),ap(n),ap(r),i))}),new Q(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(e,[t,n,r,i=``])=>{Object.assign(e,A_(ap(t),ap(n),r,i))})]}});function L_(e,t,n,...r){return xp(n)?t(n,hp(r[0],xp),Ip(arguments)):cm(`git.${e}() requires a string 'repoPath'`)}function R_(){return{clone(e,...t){return this._runTask(L_(`clone`,z_,hp(e,xp),...t),zp(arguments))},mirror(e,...t){return this._runTask(L_(`mirror`,B_,hp(e,xp),...t),zp(arguments))}}}var z_,B_,V_=Z({"src/lib/tasks/clone.ts"(){mm(),$(),Lf(),z_=(e,t,n)=>{let r=[`clone`,...n];return xp(e)&&r.push(Nf(e)),xp(t)&&r.push(Nf(t)),lm(r)},B_=(e,t,n)=>($f(n,`--mirror`),z_(e,t,n))}}),H_={};Af(H_,{SimpleGitApi:()=>U_});var U_,W_=Z({"src/lib/simple-git-api.ts"(){wh(),Eh(),kh(),Nh(),zh(),Vm(),Vh(),$m(),Uh(),Qh(),kg(),i_(),p_(),h_(),k_(),mm(),I_(),$(),V_(),U_=class{constructor(e){this._executor=e}_runTask(e,t){let n=this._executor.chain(),r=n.push(e);return t&&Sh(e,r,t),Object.create(this,{then:{value:r.then.bind(r)},catch:{value:r.catch.bind(r)},_executor:{value:n}})}add(e){return this._runTask(lm([`add`,...np(e)]),zp(arguments))}cwd(e){let t=zp(arguments);return typeof e==`string`?this._runTask(Th(e,this._executor),t):typeof e?.path==`string`?this._runTask(Th(e.path,e.root&&this._executor||void 0),t):this._runTask(cm(`Git.cwd: workingDirectory must be supplied as a string`),t)}hashObject(e,t){return this._runTask(Hh(e,t===!0),zp(arguments))}init(e){return this._runTask(Xh(e===!0,this._executor.cwd,Ip(arguments)),zp(arguments))}merge(){return this._runTask(r_(Ip(arguments)),zp(arguments))}mergeFromTo(e,t){return xp(e)&&xp(t)?this._runTask(r_([e,t,...Ip(arguments)]),zp(arguments,!1)):this._runTask(cm(`Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings`))}outputHandler(e){return this._executor.outputHandler=e,this}push(){let e=f_({remote:hp(arguments[0],xp),branch:hp(arguments[1],xp)},Ip(arguments));return this._runTask(e,zp(arguments))}stash(){return this._runTask(lm([`stash`,...Ip(arguments)]),zp(arguments))}status(){return this._runTask(D_(Ip(arguments)),zp(arguments))}},Object.assign(U_.prototype,Oh(),R_(),Rh(),zm(),jh(),Bh(),Jm(),Dg(),m_(),M_())}}),G_={};Af(G_,{Scheduler:()=>q_});var K_,q_,J_=Z({"src/lib/runners/scheduler.ts"(){$(),dh(),K_=(()=>{let e=0;return()=>{e++;let{promise:t,done:n}=(0,wf.createDeferred)();return{promise:t,done:n,id:e}}})(),q_=class{constructor(e=2){this.concurrency=e,this.logger=uh(``,`scheduler`),this.pending=[],this.running=[],this.logger(`Constructed, concurrency=%s`,e)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency){this.logger(`Schedule attempt ignored, pending=%s running=%s concurrency=%s`,this.pending.length,this.running.length,this.concurrency);return}let e=$f(this.running,this.pending.shift());this.logger(`Attempting id=%s`,e.id),e.done(()=>{this.logger(`Completing id=`,e.id),tp(this.running,e),this.schedule()})}next(){let{promise:e,id:t}=$f(this.pending,K_());return this.logger(`Scheduling id=%s`,t),this.schedule(),e}}}}),Y_={};Af(Y_,{applyPatchTask:()=>X_});function X_(e,t){return lm([`apply`,...t,...e])}var Z_=Z({"src/lib/tasks/apply-patch.ts"(){mm()}});function Q_(e,t){return{branch:e,hash:t,success:!0}}function $_(e){return{branch:e,hash:null,success:!1}}var ev,tv=Z({"src/lib/responses/BranchDeleteSummary.ts"(){ev=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function nv(e,t){return t===1&&iv.test(e)}var rv,iv,av,ov,sv=Z({"src/lib/parsers/parse-branch-delete.ts"(){tv(),$(),rv=/(\S+)\s+\(\S+\s([^)]+)\)/,iv=/^error[^']+'([^']+)'/m,av=[new Q(rv,(e,[t,n])=>{let r=Q_(t,n);e.all.push(r),e.branches[t]=r}),new Q(iv,(e,[t])=>{let n=$_(t);e.errors.push(n),e.all.push(n),e.branches[t]=n})],ov=(e,t)=>Hp(new ev,av,[e,t])}}),cv,lv=Z({"src/lib/responses/BranchSummary.ts"(){cv=class{constructor(){this.all=[],this.branches={},this.current=``,this.detached=!1}push(e,t,n,r,i){e===`*`&&(this.detached=t,this.current=n),this.all.push(n),this.branches[n]={current:e===`*`,linkedWorkTree:e===`+`,name:n,commit:r,label:i}}}}});function uv(e){return e?e.charAt(0):``}function dv(e,t=!1){return Hp(new cv,t?[pv]:fv,e)}var fv,pv,mv=Z({"src/lib/parsers/parse-branch.ts"(){lv(),$(),fv=[new Q(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(e,[t,n,r,i])=>{e.push(uv(t),!0,n,r,i)}),new Q(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,(e,[t,n,r,i])=>{e.push(uv(t),!1,n,r,i)})],pv=new Q(/^(\S+)$/s,(e,[t])=>{e.push(`*`,!1,t,``,``)})}}),hv={};Af(hv,{branchLocalTask:()=>vv,branchTask:()=>_v,containsDeleteBranchCommand:()=>gv,deleteBranchTask:()=>bv,deleteBranchesTask:()=>yv});function gv(e){let t=[`-d`,`-D`,`--delete`];return e.some(e=>t.includes(e))}function _v(e){let t=gv(e),n=e.includes(`--show-current`),r=[`branch`,...e];return r.length===1&&r.push(`-a`),r.includes(`-v`)||r.splice(1,0,`-v`),{format:`utf-8`,commands:r,parser(e,r){return t?ov(e,r).all[0]:dv(e,n)}}}function vv(){return{format:`utf-8`,commands:[`branch`,`-v`],parser(e){return dv(e)}}}function yv(e,t=!1){return{format:`utf-8`,commands:[`branch`,`-v`,t?`-D`:`-d`,...e],parser(e,t){return ov(e,t)},onError({exitCode:e,stdOut:t},n,r,i){if(!nv(String(n),e))return i(n);r(t)}}}function bv(e,t=!1){let n={format:`utf-8`,commands:[`branch`,`-v`,t?`-D`:`-d`,e],parser(t,n){return ov(t,n).branches[e]},onError({exitCode:e,stdErr:t,stdOut:r},i,a,o){if(!nv(String(i),e))return o(i);throw new Bf(n.parser(sp(r),sp(t)),String(i))}};return n}var xv=Z({"src/lib/tasks/branch.ts"(){Vf(),sv(),mv(),$()}});function Sv(e){let t=e.trim().replace(/^["']|["']$/g,``);return t&&ba(t)}var Cv,wv=Z({"src/lib/responses/CheckIgnore.ts"(){Cv=e=>e.split(/\n/g).map(Sv).filter(Boolean)}}),Tv={};Af(Tv,{checkIgnoreTask:()=>Ev});function Ev(e){return{commands:[`check-ignore`,...e],format:`utf-8`,parser:Cv}}var Dv=Z({"src/lib/tasks/check-ignore.ts"(){wv()}});function Ov(e,t){return Hp({raw:e,remote:null,branches:[],tags:[],updated:[],deleted:[]},kv,[e,t])}var kv,Av=Z({"src/lib/parsers/parse-fetch.ts"(){$(),kv=[new Q(/From (.+)$/,(e,[t])=>{e.remote=t}),new Q(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(e,[t,n])=>{e.branches.push({name:t,tracking:n})}),new Q(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(e,[t,n])=>{e.tags.push({name:t,tracking:n})}),new Q(/- \[deleted]\s+\S+\s*-> (.+)$/,(e,[t])=>{e.deleted.push({tracking:t})}),new Q(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(e,[t,n,r,i])=>{e.updated.push({name:r,tracking:i,to:n,from:t})})]}}),jv={};Af(jv,{fetchTask:()=>Nv});function Mv(e){return/^--upload-pack(=|$)/.test(e)}function Nv(e,t,n){let r=[`fetch`,...n];return e&&t&&r.push(e,t),r.find(Mv)?cm(`git.fetch: potential exploit argument blocked.`):{commands:r,format:`utf-8`,parser:Ov}}var Pv=Z({"src/lib/tasks/fetch.ts"(){Av(),mm()}});function Fv(e){return Hp({moves:[]},Iv,e)}var Iv,Lv=Z({"src/lib/parsers/parse-move.ts"(){$(),Iv=[new Q(/^Renaming (.+) to (.+)$/,(e,[t,n])=>{e.moves.push({from:t,to:n})})]}}),Rv={};Af(Rv,{moveTask:()=>zv});function zv(e,t){return{commands:[`mv`,`-v`,...np(e),t],format:`utf-8`,parser:Fv}}var Bv=Z({"src/lib/tasks/move.ts"(){Lv(),$()}}),Vv={};Af(Vv,{pullTask:()=>Hv});function Hv(e,t,n){let r=[`pull`,...n];return e&&t&&r.splice(1,0,e,t),{commands:r,format:`utf-8`,parser(e,t){return Zg(e,t)},onError(e,t,n,r){let i=Wg(sp(e.stdOut),sp(e.stdErr));if(i)return r(new Bf(i));r(t)}}}var Uv=Z({"src/lib/tasks/pull.ts"(){Vf(),Qg(),$()}});function Wv(e){let t={};return Kv(e,([e])=>t[e]={name:e}),Object.values(t)}function Gv(e){let t={};return Kv(e,([e,n,r])=>{Object.hasOwn(t,e)||(t[e]={name:e,refs:{fetch:``,push:``}}),r&&n&&(t[e].refs[r.replace(/[^a-z]/g,``)]=n)}),Object.values(t)}function Kv(e,t){Zf(e,e=>t(e.split(/\s+/)))}var qv=Z({"src/lib/responses/GetRemoteSummary.ts"(){$()}}),Jv={};Af(Jv,{addRemoteTask:()=>Yv,getRemotesTask:()=>Xv,listRemotesTask:()=>Zv,remoteTask:()=>Qv,removeRemoteTask:()=>$v});function Yv(e,t,n){return lm([`remote`,`add`,...n,e,t])}function Xv(e){let t=[`remote`];return e&&t.push(`-v`),{commands:t,format:`utf-8`,parser:e?Gv:Wv}}function Zv(e){let t=[...e];return t[0]!==`ls-remote`&&t.unshift(`ls-remote`),lm(t)}function Qv(e){let t=[...e];return t[0]!==`remote`&&t.unshift(`remote`),lm(t)}function $v(e){return lm([`remote`,`remove`,e])}var ey=Z({"src/lib/tasks/remote.ts"(){qv(),mm()}}),ty={};Af(ty,{stashListTask:()=>ny});function ny(e={},t){let n=Tg(e),r=[`stash`,`list`,...n.commands,...t],i=pg(n.splitter,n.fields,$h(r));return xg(r)||{commands:r,format:`utf-8`,parser:i}}var ry=Z({"src/lib/tasks/stash-list.ts"(){ng(),vg(),Sg(),kg()}}),iy={};Af(iy,{addSubModuleTask:()=>ay,initSubModuleTask:()=>oy,subModuleTask:()=>sy,updateSubModuleTask:()=>cy});function ay(e,t){return sy([`add`,e,t])}function oy(e){return sy([`init`,...e])}function sy(e){let t=[...e];return t[0]!==`submodule`&&t.unshift(`submodule`),lm(t)}function cy(e){return sy([`update`,...e])}var ly=Z({"src/lib/tasks/sub-module.ts"(){mm()}});function uy(e,t){let n=Number.isNaN(e);return n===Number.isNaN(t)?n?dy(e,t):0:n?1:-1}function dy(e,t){return e===t?0:e>t?1:-1}function fy(e){return e.trim()}function py(e){return typeof e==`string`&&parseInt(e.replace(/^\D+/g,``),10)||0}var my,hy,gy=Z({"src/lib/responses/TagList.ts"(){my=class{constructor(e,t){this.all=e,this.latest=t}},hy=function(e,t=!1){let n=e.split(`
|
|
22
|
+
`).map(fy).filter(Boolean);t||n.sort(function(e,t){let n=e.split(`.`),r=t.split(`.`);if(n.length===1||r.length===1)return uy(py(n[0]),py(r[0]));for(let e=0,t=Math.max(n.length,r.length);e<t;e++){let t=dy(py(n[e]),py(r[e]));if(t)return t}return 0});let r=t?n[0]:[...n].reverse().find(e=>e.indexOf(`.`)>=0);return new my(n,r)}}}),_y={};Af(_y,{addAnnotatedTagTask:()=>by,addTagTask:()=>yy,tagListTask:()=>vy});function vy(e=[]){let t=e.some(e=>/^--sort=/.test(e));return{format:`utf-8`,commands:[`tag`,`-l`,...e],parser(e){return hy(e,t)}}}function yy(e){return{format:`utf-8`,commands:[`tag`,e],parser(){return{name:e}}}}function by(e,t){return{format:`utf-8`,commands:[`tag`,`-a`,`-m`,t,e],parser(){return{name:e}}}}var xy=Z({"src/lib/tasks/tag.ts"(){gy()}}),Sy=kf({"src/git.js"(e,t){var{GitExecutor:n}=(xh(),Mf(yh)),{SimpleGitApi:r}=(W_(),Mf(H_)),{Scheduler:i}=(J_(),Mf(G_)),{adhocExecTask:a,configurationErrorTask:o}=(mm(),Mf(om)),{asArray:s,filterArray:c,filterPrimitives:l,filterString:u,filterStringOrStringArray:d,filterType:f,getTrailingOptions:p,trailingFunctionArgument:m,trailingOptionsArgument:h}=($(),Mf(Wp)),{applyPatchTask:g}=(Z_(),Mf(Y_)),{branchTask:_,branchLocalTask:v,deleteBranchesTask:y,deleteBranchTask:b}=(xv(),Mf(hv)),{checkIgnoreTask:x}=(Dv(),Mf(Tv)),{checkIsRepoTask:ee}=($p(),Mf(Gp)),{cleanWithOptionsTask:S,isCleanOptionsArray:C}=(Om(),Mf(hm)),{diffSummaryTask:w}=(Sg(),Mf(yg)),{fetchTask:te}=(Pv(),Mf(jv)),{moveTask:T}=(Bv(),Mf(Rv)),{pullTask:E}=(Uv(),Mf(Vv)),{pushTagsTask:D}=(p_(),Mf(u_)),{addRemoteTask:ne,getRemotesTask:O,listRemotesTask:k,remoteTask:A,removeRemoteTask:re}=(ey(),Mf(Jv)),{getResetMode:j,resetTask:ie}=(oh(),Mf(eh)),{stashListTask:M}=(ry(),Mf(ty)),{addSubModuleTask:ae,initSubModuleTask:N,subModuleTask:oe,updateSubModuleTask:P}=(ly(),Mf(iy)),{addAnnotatedTagTask:F,addTagTask:se,tagListTask:ce}=(xy(),Mf(_y)),{straightThroughBufferTask:le,straightThroughStringTask:I}=(mm(),Mf(om));function L(e,t){this._plugins=t,this._executor=new n(e.baseDir,new i(e.maxConcurrentProcesses),t),this._trimmed=e.trimmed}(L.prototype=Object.create(r.prototype)).constructor=L,L.prototype.customBinary=function(e){return this._plugins.reconfigure(`binary`,e),this},L.prototype.env=function(e,t){return arguments.length===1&&typeof e==`object`?this._executor.env=e:(this._executor.env=this._executor.env||{})[e]=t,this},L.prototype.stashList=function(e){return this._runTask(M(h(arguments)||{},c(e)&&e||[]),m(arguments))},L.prototype.mv=function(e,t){return this._runTask(T(e,t),m(arguments))},L.prototype.checkoutLatestTag=function(e){var t=this;return this.pull(function(){t.tags(function(n,r){t.checkout(r.latest,e)})})},L.prototype.pull=function(e,t,n,r){return this._runTask(E(f(e,u),f(t,u),p(arguments)),m(arguments))},L.prototype.fetch=function(e,t){return this._runTask(te(f(e,u),f(t,u),p(arguments)),m(arguments))},L.prototype.silent=function(e){return this._runTask(a(()=>console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this method will be removed.")))},L.prototype.tags=function(e,t){return this._runTask(ce(p(arguments)),m(arguments))},L.prototype.rebase=function(){return this._runTask(I([`rebase`,...p(arguments)]),m(arguments))},L.prototype.reset=function(e){return this._runTask(ie(j(e),p(arguments)),m(arguments))},L.prototype.revert=function(e){let t=m(arguments);return typeof e==`string`?this._runTask(I([`revert`,...p(arguments,0,!0),e]),t):this._runTask(o(`Commit must be a string`),t)},L.prototype.addTag=function(e){let t=typeof e==`string`?se(e):o(`Git.addTag requires a tag name`);return this._runTask(t,m(arguments))},L.prototype.addAnnotatedTag=function(e,t){return this._runTask(F(e,t),m(arguments))},L.prototype.deleteLocalBranch=function(e,t,n){return this._runTask(b(e,typeof t==`boolean`?t:!1),m(arguments))},L.prototype.deleteLocalBranches=function(e,t,n){return this._runTask(y(e,typeof t==`boolean`?t:!1),m(arguments))},L.prototype.branch=function(e,t){return this._runTask(_(p(arguments)),m(arguments))},L.prototype.branchLocal=function(e){return this._runTask(v(),m(arguments))},L.prototype.raw=function(e){let t=!Array.isArray(e),n=[].slice.call(t?arguments:e,0);for(let e=0;e<n.length&&t;e++)if(!l(n[e])){n.splice(e,n.length-e);break}n.push(...p(arguments,0,!0));var r=m(arguments);return n.length?this._runTask(I(n,this._trimmed),r):this._runTask(o(`Raw: must supply one or more command to execute`),r)},L.prototype.submoduleAdd=function(e,t,n){return this._runTask(ae(e,t),m(arguments))},L.prototype.submoduleUpdate=function(e,t){return this._runTask(P(p(arguments,!0)),m(arguments))},L.prototype.submoduleInit=function(e,t){return this._runTask(N(p(arguments,!0)),m(arguments))},L.prototype.subModule=function(e,t){return this._runTask(oe(p(arguments)),m(arguments))},L.prototype.listRemote=function(){return this._runTask(k(p(arguments)),m(arguments))},L.prototype.addRemote=function(e,t,n){return this._runTask(ne(e,t,p(arguments)),m(arguments))},L.prototype.removeRemote=function(e,t){return this._runTask(re(e),m(arguments))},L.prototype.getRemotes=function(e,t){return this._runTask(O(e===!0),m(arguments))},L.prototype.remote=function(e,t){return this._runTask(A(p(arguments)),m(arguments))},L.prototype.tag=function(e,t){let n=p(arguments);return n[0]!==`tag`&&n.unshift(`tag`),this._runTask(I(n),m(arguments))},L.prototype.updateServerInfo=function(e){return this._runTask(I([`update-server-info`]),m(arguments))},L.prototype.pushTags=function(e,t){let n=D({remote:f(e,u)},p(arguments));return this._runTask(n,m(arguments))},L.prototype.rm=function(e){return this._runTask(I([`rm`,`-f`,...s(e)]),m(arguments))},L.prototype.rmKeepLocal=function(e){return this._runTask(I([`rm`,`--cached`,...s(e)]),m(arguments))},L.prototype.catFile=function(e,t){return this._catFile(`utf-8`,arguments)},L.prototype.binaryCatFile=function(){return this._catFile(`buffer`,arguments)},L.prototype._catFile=function(e,t){var n=m(t),r=[`cat-file`],i=t[0];if(typeof i==`string`)return this._runTask(o(`Git.catFile: options must be supplied as an array of strings`),n);Array.isArray(i)&&r.push.apply(r,i);let a=e===`buffer`?le(r):I(r);return this._runTask(a,n)},L.prototype.diff=function(e,t){let n=u(e)?o(`git.diff: supplying options as a single string is no longer supported, switch to an array of strings`):I([`diff`,...p(arguments)]);return this._runTask(n,m(arguments))},L.prototype.diffSummary=function(){return this._runTask(w(p(arguments,1)),m(arguments))},L.prototype.applyPatch=function(e){let t=d(e)?g(s(e),p([].slice.call(arguments,1))):o(`git.applyPatch requires one or more string patches as the first argument`);return this._runTask(t,m(arguments))},L.prototype.revparse=function(){let e=[`rev-parse`,...p(arguments,!0)];return this._runTask(I(e,!0),m(arguments))},L.prototype.clean=function(e,t,n){let r=C(e),i=r&&e.join(``)||f(e,u)||``,a=p([].slice.call(arguments,r?1:0));return this._runTask(S(i,a),m(arguments))},L.prototype.exec=function(e){return this._runTask({commands:[],format:`utf-8`,parser(){typeof e==`function`&&e()}})},L.prototype.clearQueue=function(){return this._runTask(a(()=>console.warn(`simple-git deprecation notice: clearQueue() is deprecated and will be removed, switch to using the abortPlugin instead.`)))},L.prototype.checkIgnore=function(e,t){return this._runTask(x(s(f(e,d,[]))),m(arguments))},L.prototype.checkIsRepo=function(e,t){return this._runTask(ee(f(e,u)),m(arguments))},t.exports=L}});Lf(),zf();var Cy=class extends Rf{constructor(e,t){super(void 0,t),this.config=e}};zf(),zf();var wy=class extends Rf{constructor(e,t,n){super(e,n),this.task=e,this.plugin=t,Object.setPrototypeOf(this,new.target.prototype)}};Vf(),Uf(),$p(),Om(),Vm(),Gm(),$m(),oh();function Ty(e){if(e)return[{type:`spawn.before`,action(t,n){e.aborted&&n.kill(new wy(void 0,`abort`,`Abort already signaled`))}},{type:`spawn.after`,action(t,n){function r(){n.kill(new wy(void 0,`abort`,`Abort signal received`))}e.addEventListener(`abort`,r),n.spawned.on(`close`,()=>e.removeEventListener(`abort`,r))}}]}function Ey(e){return typeof e==`string`&&e.trim().toLowerCase()===`-c`}function Dy(e,t){if(typeof t!=`string`||!t.includes(e))return!1;let n=t.trim().replace(/\0/g,``);return/^(--no)?-{1,2}[\dlsqvnobucj]+(\s|$)/.test(n)}function Oy(e,t,n=String(e)){let r=typeof e==`string`?RegExp(`\\s*${e}`,`i`):e;return function(e,i,a){if(e[t]!==!0&&Ey(i)&&r.test(a))throw new wy(void 0,`unsafe`,`Configuring ${n} is not permitted without enabling ${t}`)}}var ky=[Oy(/^\s*protocol(.[a-z]+)?.allow/i,`allowUnsafeProtocolOverride`,`protocol.allow`),Oy(`core.sshCommand`,`allowUnsafeSshCommand`),Oy(`core.gitProxy`,`allowUnsafeGitProxy`),Oy(`core.hooksPath`,`allowUnsafeHooksPath`),Oy(`diff.external`,`allowUnsafeDiffExternal`)];function Ay(e,t){if(/^\s*--(upload|receive)-pack/.test(e))throw new wy(void 0,`unsafe`,`Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack`);if(t===`clone`&&Dy(`u`,e))throw new wy(void 0,`unsafe`,`Use of clone with option -u is not permitted without enabling allowUnsafePack`);if(t===`push`&&/^\s*--exec\b/.test(e))throw new wy(void 0,`unsafe`,`Use of push with option --exec is not permitted without enabling allowUnsafePack`)}function jy({allowUnsafePack:e=!1,...t}={}){return{type:`spawn.args`,action(n,r){return n.forEach((i,a)=>{let o=a<n.length?n[a+1]:``;e||Ay(i,r.method),ky.forEach(e=>e(t,i,o))}),n}}}$();function My(e){let t=op(e,`-c`);return{type:`spawn.args`,action(e){return[...t,...e]}}}$();var Ny=(0,wf.deferred)().promise;function Py({onClose:e=!0,onExit:t=50}={}){function n(){let n=-1,i={close:(0,wf.deferred)(),closeTimeout:(0,wf.deferred)(),exit:(0,wf.deferred)(),exitTimeout:(0,wf.deferred)()},a=Promise.race([e===!1?Ny:i.closeTimeout.promise,t===!1?Ny:i.exitTimeout.promise]);return r(e,i.close,i.closeTimeout),r(t,i.exit,i.exitTimeout),{close(e){n=e,i.close.done()},exit(e){n=e,i.exit.done()},get exitCode(){return n},result:a}}function r(e,t,n){e!==!1&&(e===!0?t.promise:t.promise.then(()=>lp(e))).then(n.done)}return{type:`spawn.after`,async action(e,{spawned:t,close:r}){let i=n(),a=!0,o=()=>void(a=!1);t.stdout?.on(`data`,o),t.stderr?.on(`data`,o),t.on(`error`,o),t.on(`close`,e=>i.close(e)),t.on(`exit`,e=>i.exit(e));try{await i.result,a&&await lp(50),r(i.exitCode)}catch(e){r(i.exitCode,e)}}}}$();var Fy=`Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings`,Iy=`Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option`;function Ly(e){return!e||!/^([a-z]:)?([a-z0-9/.\\_~-]+)$/i.test(e)}function Ry(e,t){if(e.length<1||e.length>2)throw new wy(void 0,`binary`,Fy);if(e.some(Ly))if(t)console.warn(Iy);else throw new wy(void 0,`binary`,Iy);let[n,r]=e;return{binary:n,prefix:r}}function zy(e,t=[`git`],n=!1){let r=Ry(np(t),n);e.on(`binary`,e=>{r=Ry(np(e),n)}),e.append(`spawn.binary`,()=>r.binary),e.append(`spawn.args`,e=>r.prefix?[r.prefix,...e]:e)}zf();function By(e){return!!(e.exitCode&&e.stdErr.length)}function Vy(e){return Buffer.concat([...e.stdOut,...e.stdErr])}function Hy(e=!1,t=By,n=Vy){return(r,i)=>!e&&r||!t(i)?r:n(i)}function Uy(e){return{type:`task.error`,action(t,n){let r=e(t.error,{stdErr:n.stdErr,stdOut:n.stdOut,exitCode:n.exitCode});return Buffer.isBuffer(r)?{error:new Rf(void 0,r.toString(`utf-8`))}:{error:r}}}}$();var Wy=class{constructor(){this.plugins=new Set,this.events=new Ha}on(e,t){this.events.on(e,t)}reconfigure(e,t){this.events.emit(e,t)}append(e,t){let n=$f(this.plugins,{type:e,action:t});return()=>this.plugins.delete(n)}add(e){let t=[];return np(e).forEach(e=>e&&this.plugins.add($f(t,e))),()=>{t.forEach(e=>this.plugins.delete(e))}}exec(e,t,n){let r=t,i=Object.freeze(Object.create(n));for(let t of this.plugins)t.type===e&&(r=t.action(r,i));return r}};$();function Gy(e){let t=`--progress`,n=[`checkout`,`clone`,`fetch`,`pull`,`push`];return[{type:`spawn.args`,action(e,r){return n.includes(r.method)?ep(e,t):e}},{type:`spawn.after`,action(n,r){r.commands.includes(t)&&r.spawned.stderr?.on(`data`,t=>{let n=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(t.toString(`utf8`));n&&e({method:r.method,stage:Ky(n[1]),progress:ap(n[2]),processed:ap(n[3]),total:ap(n[4])})})}}]}function Ky(e){return String(e.toLowerCase().split(` `,1))||`unknown`}$();function qy(e){let t=cp(e,[`uid`,`gid`]);return{type:`spawn.options`,action(e){return{...t,...e}}}}function Jy({block:e,stdErr:t=!0,stdOut:n=!0}){if(e>0)return{type:`spawn.after`,action(r,i){let a;function o(){a&&clearTimeout(a),a=setTimeout(c,e)}function s(){i.spawned.stdout?.off(`data`,o),i.spawned.stderr?.off(`data`,o),i.spawned.off(`exit`,s),i.spawned.off(`close`,s),a&&clearTimeout(a)}function c(){s(),i.kill(new wy(void 0,`timeout`,`block timeout reached`))}n&&i.spawned.stdout?.on(`data`,o),t&&i.spawned.stderr?.on(`data`,o),i.spawned.on(`exit`,s),i.spawned.on(`close`,s),o()}}}Lf();function Yy(){return{type:`spawn.args`,action(e){let t=[],n;function r(e){(n||=[]).push(...e)}for(let n=0;n<e.length;n++){let i=e[n];if(Pf(i)){r(Ff(i));continue}if(i===`--`){r(e.slice(n+1).flatMap(e=>Pf(e)&&Ff(e)||e));break}t.push(i)}return n?[...t,`--`,...n.map(String)]:t}}}$();var Xy=Sy();function Zy(e,t){let n=new Wy,r=Mp(e&&(typeof e==`string`?{baseDir:e}:e)||{},t);if(!Qf(r.baseDir))throw new Cy(r,`Cannot use simple-git on a directory that does not exist`);return Array.isArray(r.config)&&n.add(My(r.config)),n.add(jy(r.unsafe)),n.add(Py(r.completion)),r.abort&&n.add(Ty(r.abort)),r.progress&&n.add(Gy(r.progress)),r.timeout&&n.add(Jy(r.timeout)),r.spawnOptions&&n.add(qy(r.spawnOptions)),n.add(Yy()),n.add(Uy(Hy(!0))),r.errors&&n.add(Uy(r.errors)),zy(n,r.binary,r.unsafe?.allowUnsafeCustomBinary),new Xy(r,n)}Vf();var Qy=Zy,$y=class extends Zr()(`@supervisor/Updates`,{make:H(function*(){let e=yield*Mr();return{publish:qt(`Updates.publish`)(function*(t){yield*Gn(e,new lc({content:t,receivedAt:D()}))}),stream:qt(`Updates.stream`)(function*(){return Ki(e)})}})}){static layer=sr(this)(this.make)};const eb=`.expect`,tb=qt(`ensureStateDir`)(function*(e){let t=yield*qe,n=_a.join(e,eb);yield*t.makeDirectory(n,{recursive:!0}).pipe(_(`PlatformError`,()=>R));let r=_a.join(n,`.gitignore`);return(yield*t.exists(r).pipe(_(`PlatformError`,()=>V(!1))))||(yield*t.writeFileString(r,`*
|
|
23
|
+
`).pipe(_(`PlatformError`,()=>R))),n});var nb=class extends xt(`GitError`)({_tag:De(`GitError`),operation:B,cause:zi}){message=`Git error during "${this.operation}"`},rb=class extends xt(`FindRepoRootError`)({_tag:De(`FindRepoRootError`),cause:zi}){message=`Could not find git repository root`},ib=class extends Zr()(`@supervisor/GitRepoRoot`){},ab=class e extends Zr()(`@supervisor/Git`,{make:H(function*(){let e=yield*qe,t=e=>H(function*(){let t=yield*ib;return yield*Mt({try:()=>Qy(t).raw(e.args),catch:t=>new nb({operation:e.operation,cause:t})}).pipe(U(e.trim?Rn:Bt))}),n=e=>Mt({try:()=>Qy(e).revparse([`--show-toplevel`]),catch:e=>new rb({cause:e})}).pipe(U(Rn)),r=e=>t=>H(function*(){let r=yield*n(e);return yield*t.pipe(Di(ib,r))}),i=t({args:[`symbolic-ref`,`refs/remotes/origin/HEAD`],operation:`getting main branch`,trim:!0}).pipe(U(e=>e.replace(`refs/remotes/origin/`,``)),_(`GitError`,()=>t({args:[`revparse`,`--verify`,`origin/main`],operation:`getting main branch (origin/main)`,trim:!0}).pipe(be(`main`))),_(`GitError`,()=>t({args:[`rev-parse`,`--verify`,`main`],operation:`getting main branch (main)`,trim:!0}).pipe(be(`main`))),_(`GitError`,()=>V(`main`))),a=t({args:[`rev-parse`,`--abbrev-ref`,`HEAD`],operation:`getting current branch`,trim:!0}).pipe(_(`GitError`,()=>V(`HEAD`))),s=t({args:[`rev-parse`,`--is-inside-work-tree`],operation:`checking if inside work tree`,trim:!0}).pipe(U(e=>e===`true`),_(`GitError`,()=>V(!1))),c=e=>{let[t,n,r]=e.split(` `);return new Fs({relativePath:r??``,added:Number.parseInt(t??`0`,10)||0,removed:Number.parseInt(n??`0`,10)||0})},l=qt(`Git.getFileStats`)(function*(e){return e._tag===`WorkingTree`?yield*t({args:[`diff`,`HEAD`,`--numstat`],operation:`getting working tree file stats`}).pipe(U(o(`
|
|
24
|
+
`)),U(yi(Rn)),U(Br(ct)),U(yi(c)),_(`GitError`,()=>V([]))):yield*t({args:[`diff`,e._tag===`Branch`||e._tag===`Changes`?`${e.mainBranch}..HEAD`:`${e.hash}^..${e.hash}`,`--numstat`],operation:`getting file stats`}).pipe(U(o(`
|
|
25
|
+
`)),U(yi(Rn)),U(Br(ct)),U(yi(c)),_(`GitError`,()=>V([])))}),u=e=>e===`A`?`A`:e===`D`?`D`:e===`R`?`R`:e===`C`?`C`:e===`?`?`?`:`M`,d=qt(`Git.getChangedFiles`)(function*(e){return e._tag===`WorkingTree`?yield*t({args:[`status`,`--porcelain`],operation:`getting working tree changes`}).pipe(U(o(`
|
|
26
|
+
`)),U(Br(ct)),U(yi(e=>{let t=e.at(0)??`M`;return{path:e.slice(3).trim(),status:u(t)}})),_(`GitError`,()=>V([]))):yield*t({args:[`diff`,`--name-status`,e._tag===`Branch`||e._tag===`Changes`?`${e.mainBranch}..HEAD`:`${e.hash}^..${e.hash}`],operation:`getting changed files`,trim:!0}).pipe(U(o(`
|
|
27
|
+
`)),U(yi(Rn)),U(Br(ct)),U(yi(e=>{let t=e.split(` `),n=(t[0]??`M`).at(0)??`M`;return{path:(n===`R`||n===`C`?t[2]:t[1])??``,status:u(n)}})),_(`GitError`,()=>V([])))}),f=qt(`Git.getDiffPreview`)(function*(e){return e._tag===`WorkingTree`?yield*t({args:[`diff`,`HEAD`],operation:`getting diff preview`,trim:!0}).pipe(_(`GitError`,()=>V(``))):yield*t({args:[`diff`,e._tag===`Branch`||e._tag===`Changes`?`${e.mainBranch}..HEAD`:`${e.hash}^..${e.hash}`],operation:`getting diff preview`,trim:!0}).pipe(_(`GitError`,()=>V(``)))}),p=qt(`Git.getRecentCommits`)(function*(e){return yield*t({args:[`log`,`--format=%H %h %s`,e],operation:`getting recent commits`,trim:!0}).pipe(U(o(`
|
|
28
|
+
`)),U(yi(Rn)),U(Br(ct)),U(yi(e=>{let[t,n,...r]=e.split(` `);return{hash:t??``,shortHash:n??``,subject:r.join(` `)}})),_(`GitError`,()=>V([])))}),m=qt(`Git.getCommitSummary`)(function*(e){return yield*t({args:[`log`,`-1`,`--format=%H %h %s`,e],operation:`getting commit summary`,trim:!0}).pipe(U(e=>{let[t,n,...r]=e.split(` `);if(!(!t||!n))return{hash:t,shortHash:n,subject:r.join(` `)}}),_(`GitError`,()=>V(void 0)))}),h=qt(`Git.computeFingerprint`)(function*(){let e=yield*t({args:[`rev-parse`,`HEAD`],operation:`getting HEAD for fingerprint`,trim:!0}).pipe(_(`GitError`,()=>V(``)));if(!e)return;let n=yield*t({args:[`diff`],operation:`getting unstaged diff for fingerprint`}).pipe(_(`GitError`,()=>V(``))),r=yield*t({args:[`diff`,`--cached`],operation:`getting staged diff for fingerprint`}).pipe(_(`GitError`,()=>V(``)));return ka.createHash(`sha256`).update(e).update(`\0`).update(n).update(`\0`).update(r).digest(`hex`)}),g=H(function*(){let e=yield*tb(yield*ib);return _a.join(e,`last-tested`)}),v=qt(`Git.loadSavedFingerprint`)(function*(){let t=yield*g;return yield*e.readFileString(t).pipe(U(Rn),_(`PlatformError`,()=>V(void 0)))}),y=qt(`Git.saveTestedFingerprint`)(function*(){let t=yield*h();if(!t)return;let n=yield*g;yield*e.writeFileString(n,t)});return{withRepoRoot:r,getMainBranch:i,getCurrentBranch:a,isInsideWorkTree:s,getFileStats:l,getChangedFiles:d,getDiffPreview:f,getRecentCommits:p,getCommitSummary:m,getState:qt(`Git.getState`)(function*(){if(!(yield*s))return new Is({isGitRepo:!1,currentBranch:`HEAD`,mainBranch:void 0,isOnMain:!1,hasChangesFromMain:!1,hasUnstagedChanges:!1,hasBranchCommits:!1,branchCommitCount:0,fileStats:[],workingTreeFileStats:[],fingerprint:void 0,savedFingerprint:void 0});let[e,t,n,r]=yield*mr([a,i,h(),v()],{concurrency:`unbounded`}),o=e===t,[c,u,d]=yield*mr([l(zs.makeUnsafe({_tag:`Changes`,mainBranch:t})),l(zs.makeUnsafe({_tag:`WorkingTree`})),p(`${t}..HEAD`)],{concurrency:`unbounded`});return new Is({isGitRepo:!0,currentBranch:e,mainBranch:t,isOnMain:o,hasChangesFromMain:c.length>0,hasUnstagedChanges:u.length>0,hasBranchCommits:d.length>0,branchCommitCount:d.length,fileStats:c,workingTreeFileStats:u,fingerprint:n,savedFingerprint:r})}),computeFingerprint:h,saveTestedFingerprint:y}})}){static layer=sr(this)(this.make).pipe(Dn(Ra.layer));static withRepoRoot=t=>{let n=sr(ib)(Mt({try:()=>Qy(t).revparse([`--show-toplevel`]),catch:e=>new rb({cause:e})}).pipe(U(e=>e.trim())));return ci(e.layer.pipe(Dn(n)),n)}},ob=class extends xt(`@supervisor/ExecutionError`)({_tag:De(`@supervisor/ExecutionError`),reason:ht([Zd,Qd])}){message=`Execution failed: ${this.reason.message}`},sb=class extends Zr()(`@supervisor/Executor`,{make:H(function*(){let e=yield*rf,t=yield*ab,n=qt(`Executor.gatherContext`)(function*(e){let n=yield*t.getCurrentBranch,r=yield*t.getMainBranch,i=yield*t.getChangedFiles(e),a=yield*t.getDiffPreview(e),o=e._tag===`Branch`||e._tag===`Changes`?`${e.mainBranch}..HEAD`:e._tag===`Commit`?`-1 ${e.hash}`:`HEAD~5..HEAD`,s=yield*t.getRecentCommits(o);return{currentBranch:n,mainBranch:r,changedFiles:i.slice(0,12),recentCommits:s.slice(0,5),diffPreview:a}});return{execute:qt(`Executor.execute`)(function*(t){let r=yield*n(t.changesFor),i=df({userInstruction:t.instruction,scope:t.changesFor._tag,currentBranch:r.currentBranch,mainBranch:r.mainBranch,changedFiles:r.changedFiles,recentCommits:r.recentCommits,diffPreview:r.diffPreview,baseUrl:t.baseUrl,isHeadless:t.isHeadless,requiresCookies:t.requiresCookies,savedFlow:t.savedFlow,learnings:t.learnings}),a=Rs.makeUnsafe(crypto.randomUUID()),o=_a.join(process.cwd(),eb,`replays`,`${a}.ndjson`),s=new Js({id:a,changesFor:t.changesFor,currentBranch:r.currentBranch,diffPreview:r.diffPreview,fileStats:[],instruction:t.instruction,baseUrl:t.baseUrl?A(t.baseUrl):Ct(),isHeadless:t.isHeadless,requiresCookies:t.requiresCookies,title:t.instruction,rationale:`Direct execution`,steps:[]}),c=new _c({...s,events:[new Ys({plan:s})]}),l=[{name:`EXPECT_REPLAY_OUTPUT_PATH`,value:o}];t.liveViewUrl&&l.push({name:fi,value:t.liveViewUrl});let u=new Zu({cwd:process.cwd(),sessionId:Ct(),prompt:i,systemPrompt:Ct(),mcpEnv:l});return e.stream(u).pipe(Ot(()=>c,(e,t)=>{let n=e.addEvent(t);return[n,[n]]}),ce(e=>new ob({reason:e})))},Wr)}})}){static layer=sr(this)(this.make).pipe(Dn(Ra.layer))},cb=class extends Zr()(`@supervisor/Reporter`,{make:H(function*(){return{report:qt(`Reporter.report`)(function*(e){let t=e.events.filter(e=>e._tag===`StepFailed`),n=e.events.filter(e=>e._tag===`StepCompleted`),r=e.events.find(e=>e._tag===`RunFinished`),i=r?r.summary:t.length>0?`${t.length} step(s) failed, ${n.length} passed`:`${n.length} step(s) completed`,a=e.events.filter(e=>e._tag===`ToolResult`&&e.toolName.endsWith(`__screenshot`)&&!e.isError).map(e=>e._tag===`ToolResult`?e.result:``).filter(Boolean);return new vc({...e,summary:i,screenshotPaths:a,pullRequest:Ct()})})}})}){static layer=sr(this)(this.make)};const lb=e=>{let t=[`format_version: ${e.formatVersion}`,`title: ${JSON.stringify(e.title)}`,`description: ${JSON.stringify(e.description)}`,`slug: ${JSON.stringify(e.slug)}`,`saved_target_scope: ${JSON.stringify(e.savedTargetScope)}`,`saved_target_display_name: ${JSON.stringify(e.savedTargetDisplayName)}`];return e.selectedCommit!==void 0&&t.push(`selected_commit: ${JSON.stringify(e.selectedCommit)}`),t.push(`flow: ${JSON.stringify(e.flow)}`),t.push(`environment: ${JSON.stringify(e.environment)}`),t.join(`
|
|
29
|
+
`)},ub=e=>`---\n${lb(e)}\n---\n`,db=e=>e.startsWith(`"`)&&e.endsWith(`"`)?JSON.parse(e):e,fb=e=>dt(e)&&typeof e.id==`string`&&typeof e.title==`string`&&typeof e.instruction==`string`&&typeof e.expectedOutcome==`string`,pb=e=>dt(e)?{title:typeof e.title==`string`?e.title:``,userInstruction:typeof e.userInstruction==`string`?e.userInstruction:``,steps:Array.isArray(e.steps)?e.steps.filter(fb):[]}:{title:``,userInstruction:``,steps:[]},mb=e=>dt(e)?{baseUrl:typeof e.baseUrl==`string`?e.baseUrl:``,cookies:typeof e.cookies==`boolean`?e.cookies:!1}:{baseUrl:``,cookies:!1},hb=e=>{let t=e.match(/^---\n([\s\S]*?)\n---/);if(!t)throw Error(`Invalid saved flow file: no frontmatter found`);let n=t[1],r=new Map;for(let e of n.split(`
|
|
30
|
+
`)){if(e===`selected_commit: undefined`)continue;let t=e.indexOf(`: `);if(t===-1)continue;let n=e.slice(0,t),i=e.slice(t+2);r.set(n,i)}let i={formatVersion:Number(r.get(`format_version`)),title:db(r.get(`title`)??``),description:db(r.get(`description`)??``),slug:db(r.get(`slug`)??``),savedTargetScope:db(r.get(`saved_target_scope`)??``),savedTargetDisplayName:db(r.get(`saved_target_display_name`)??``),flow:pb(JSON.parse(r.get(`flow`)??`{}`)),environment:mb(JSON.parse(r.get(`environment`)??`{}`))},a=r.get(`selected_commit`);return a!==void 0&&(i.selectedCommit=db(a)),i},gb=e=>e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``).slice(0,60).replace(/-$/,``),_b=e=>({formatVersion:3,title:e.title,description:e.instruction.slice(0,120),slug:gb(e.title),savedTargetScope:e.changesFor._tag,savedTargetDisplayName:Bs(e.changesFor),flow:{title:e.title,userInstruction:e.instruction,steps:e.steps.map(e=>{let t=wi(e.summary,()=>``);return{id:e.id,title:e.title,instruction:e.instruction===e.title?t||e.title:e.instruction,expectedOutcome:e.expectedOutcome||t}})},environment:{baseUrl:wi(e.baseUrl,()=>``),cookies:e.requiresCookies}});var vb=class extends Zr()(`@supervisor/FlowStorage`,{make:H(function*(){let e=yield*qe,t=H(function*(){let e=yield*tb(yield*ib);return _a.join(e,`flows`)});return{save:qt(`FlowStorage.save`)(function*(n){let r=_b(n),i=yield*t,a=_a.join(i,`${r.slug}.md`);return yield*e.makeDirectory(i,{recursive:!0}).pipe(_(`PlatformError`,()=>R)),yield*e.writeFileString(a,ub(r)),yield*kn(`Flow saved`,{slug:r.slug,stepCount:r.flow.steps.length,filePath:a}),r}),list:qt(`FlowStorage.list`)(function*(){let n=yield*t;if(!(yield*e.exists(n).pipe(_(`PlatformError`,()=>V(!1)))))return[];let r=(yield*e.readDirectory(n).pipe(_(`PlatformError`,()=>V([])))).filter(e=>e.endsWith(`.md`)),i=[];for(let t of r){let r=yield*e.readFileString(_a.join(n,t)).pipe(_(`PlatformError`,()=>V(``)));if(!r)continue;let a=yield*Ut({try:()=>hb(r),catch:()=>({_tag:`FlowParseError`})}).pipe(_(`FlowParseError`,()=>V(void 0)));a&&i.push(a)}return yield*Ur(`Flows listed`,{count:i.length}),i})}})}){static layer=sr(this)(this.make).pipe(Dn(Ra.layer))};const yb=(e,t)=>{try{return Oa(`git checkout ${t}`,{cwd:e,encoding:`utf-8`,timeout:5e3,stdio:`pipe`}),!0}catch{return!1}};var bb=class extends xt(`GitHubCommandError`)({_tag:De(`GitHubCommandError`),cause:B}){message=`GitHub CLI command failed: ${this.cause}`},xb=class extends Zr()(`@supervisor/GitHub`,{make:H(function*(){let e=yield*Hn,t=yield*qe,n=qt(`GitHub.runGhCommand`)(function*(t,n){return yield*e.string(vi(`gh`,n,{cwd:t})).pipe(Xi(15e3),Lt({PlatformError:e=>je(new bb({cause:e.message})),TimeoutError:()=>je(new bb({cause:`command timed out`}))}),U(e=>e.trim()))}),r=qt(`GitHub.findPullRequest`)(function*(e,t){let r=yield*n(e,[`pr`,`list`,`--head`,yn(t).pipe(Pi({_tag:`Branch`},e=>e.branchName),sn),`--state`,`open`,`--limit`,`1`,`--json`,`number,url,title,headRefName`]);return yield*zt(ue($n(uc)))(r).pipe(U(si),_(`SchemaError`,()=>V(Ct())))}),i=ue($n(Vs));return{findPullRequest:r,listPullRequests:qt(`GitHub.listPullRequests`)(function*(e){let t=yield*n(e,[`pr`,`list`,`--state`,`all`,`--json`,`number,headRefName,author,state,updatedAt`,`--limit`,`100`]).pipe(_(`GitHubCommandError`,()=>V(`[]`)));return(yield*zt(i)(t).pipe(_(`SchemaError`,Ht))).map(e=>new Us({name:e.headRefName,author:e.author.login,prNumber:e.number,prStatus:e.state===`OPEN`?`open`:e.state===`MERGED`||e.state===`CLOSED`?`merged`:null,updatedAt:e.updatedAt}))}),addComment:qt(`GitHub.addComment`)(function*(e,r,i){yield*Ze(H(function*(){let a=ya(yield*t.makeTempDirectoryScoped({prefix:`expect-comment-`}),`pull-request-comment.md`);yield*t.writeFileString(a,i),yield*n(e,[`pr`,`comment`,String(r.number),`--body-file`,a])}))})}})}){static layer=sr(this)(this.make).pipe(Dn(Ra.layer))};const Sb=e=>_a.join(Na.homedir(),eb,`${e}.json`),Cb=new Map,wb={getItem:async e=>{try{let t=await Wa.readFile(Sb(e),`utf-8`);return Cb.set(e,t),t}catch{return null}},setItem:async(e,t)=>{if(Cb.get(e)===t)return;Cb.set(e,t);let n=Sb(e);await Wa.mkdir(_a.dirname(n),{recursive:!0}),await Wa.writeFile(n,t,`utf-8`)},removeItem:async e=>{Cb.delete(e);try{await Wa.unlink(Sb(e))}catch{}}},Tb=e=>_a.join(process.cwd(),eb,`${e}.json`),Eb=new Map,Db={getItem:async e=>{try{let t=await Wa.readFile(Tb(e),`utf-8`);return Eb.set(e,t),t}catch{return null}},setItem:async(e,t)=>{if(Eb.get(e)===t)return;Eb.set(e,t);let n=Tb(e);await Wa.mkdir(_a.dirname(n),{recursive:!0}),await Wa.writeFile(n,t,`utf-8`)},removeItem:async e=>{Eb.delete(e);try{await Wa.unlink(Tb(e))}catch{}}},Ob=e=>e.pipe(dn(xb.layer)),kb=async e=>{let t=[];if(e.hasUntestedChanges&&t.push(dc.makeUnsafe({_tag:`WorkingTree`})),e.mainBranch){let n=process.cwd(),r=await C(H(function*(){return yield*(yield*ab).getRecentCommits(`${e.mainBranch}..HEAD`)}).pipe(dn(ab.withRepoRoot(n))));for(let e of r)t.push(dc.makeUnsafe({_tag:`Commit`,hash:e.hash,shortHash:e.shortHash,subject:e.subject}))}return t},Ab=e=>C(Ob(xb.use(t=>t.listPullRequests(e)))),jb=async e=>{let t=await Ab(process.cwd()),n=t.filter(e=>e.prNumber!==null&&e.prStatus===`open`).map(e=>dc.makeUnsafe({_tag:`PullRequest`,branch:e})),r=t.filter(e=>e.prNumber!==null&&e.prStatus===`merged`).slice(0,5).map(e=>dc.makeUnsafe({_tag:`PullRequest`,branch:e})),i=t.filter(t=>t.name!==e.currentBranch&&t.prNumber===null).map(e=>dc.makeUnsafe({_tag:`Branch`,branch:e}));return[...n,...r,...i]},Mb=(e,t)=>e._tag===`WorkingTree`&&t&&!t.isOnMain?t.currentBranch:mc(e),Nb=(e,t)=>{if(e._tag===`WorkingTree`&&t){let e=[];if(t.fileStats.length>0){let n=t.fileStats.reduce((e,t)=>e+t.added,0),r=t.fileStats.reduce((e,t)=>e+t.removed,0),i=t.fileStats.length,a=[];n>0&&a.push(`+${n}`),r>0&&a.push(`-${r}`),a.length>0?e.push(`${a.join(` `)} in ${i} file${i===1?``:`s`}`):e.push(`${i} file${i===1?``:`s`}`)}if(t.branchCommitCount>0&&e.push(`${t.branchCommitCount} commit${t.branchCommitCount===1?``:`s`}`),e.length>0)return e.join(`, `)}return hc(e)},Pb=(e,t)=>e._tag===`WorkingTree`?Mb(e,t):gc(e),Fb=(e,t,n)=>{if(!t)return[...e];let r=t.toLowerCase();return e.filter(e=>(e._tag===`WorkingTree`?`local changes ${n?.currentBranch??``}`:pc(e)).toLowerCase().includes(r))},Ib=()=>sa({queryKey:[`remote-branches`],queryFn:()=>Ab(process.cwd())}),Lb=e=>{let t=ca(10);if(t[0]!==`19aae044389a98cd743b540aea8d28df87ba20582cdcc28d3b06005d495ed4de`){for(let e=0;e<10;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`19aae044389a98cd743b540aea8d28df87ba20582cdcc28d3b06005d495ed4de`}let{message:n}=e,r=ds(),i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=q(Ga,{type:`dots`}),t[1]=i):i=t[1];let a;t[2]===r.SELECTION?a=t[3]:(a=q(G,{color:r.SELECTION,children:i}),t[2]=r.SELECTION,t[3]=a);let o;t[4]===n?o=t[5]:(o=n?J(G,{children:[` `,n]}):null,t[4]=n,t[5]=o);let s;return t[6]!==r.DIM||t[7]!==a||t[8]!==o?(s=J(G,{color:r.DIM,children:[a,o]}),t[6]=r.DIM,t[7]=a,t[8]=o,t[9]=s):s=t[9],s},Rb=(e,t)=>{let n=Math.max(0,t-qa(e));return e+` `.repeat(n)},zb=({itemCount:e,visibleCount:t,initialIndex:n})=>{let[r,i]=K(n??0),a=ma(e);return a.current!==e&&(a.current=e,i(t=>Math.min(t,Math.max(0,e-1)))),{highlightedIndex:r,setHighlightedIndex:i,scrollOffset:pa(()=>{if(e<=t)return 0;let n=Math.floor(t/2),i=e-t;return Math.min(i,Math.max(0,r-n))},[e,t,r]),handleNavigation:ua((t,n)=>n.downArrow||t===`j`||n.ctrl&&t===`n`?(i(t=>Math.min(e-1,t+1)),!0):n.upArrow||t===`k`||n.ctrl&&t===`p`?(i(e=>Math.max(0,e-1)),!0):!1,[e])}},Bb=/(?:https?:\/\/|localhost[:/]|[\w-]+\.[\w-]+\.[\w]+|[\w-]+\.(com|org|net|io|dev|app|co|me|ai))\S*/i,Vb=e=>Bb.test(e),Hb=Ir(),Ub=e=>Vb(e.instruction)?Hb.Testing(e):Hb.PortPicker(e),Wb=Ja(e=>({screen:Hb.Main(),previousScreen:Hb.Main(),navigateTo:t=>e(e=>({screen:t,previousScreen:e.screen})),setScreen:t=>e({screen:t})})),Gb=new ia({defaultOptions:{queries:{staleTime:1/0,retry:!1}}}),Kb=e=>{let t=ca(18);if(t[0]!==`ebd3be31f5201c04dd238bf1bd9d32bf671ecbefa6ad88d45037fbe949e8bb0c`){for(let e=0;e<18;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`ebd3be31f5201c04dd238bf1bd9d32bf671ecbefa6ad88d45037fbe949e8bb0c`}let{title:n,subtitle:r,showDivider:i}=e,a=i===void 0?!0:i,[o]=cs(),s,c,l;t[1]!==r||t[2]!==n?(l=n.toUpperCase(),s=r?` │ ${r}`:``,c=qa(l),t[1]=r,t[2]=n,t[3]=s,t[4]=c,t[5]=l):(s=t[3],c=t[4],l=t[5]);let u=c+qa(s),d=a?Math.max(0,o-u-3):0,f;t[6]===l?f=t[7]:(f=q(G,{bold:!0,color:ls.text,children:l}),t[6]=l,t[7]=f);let p;t[8]!==r||t[9]!==s?(p=r?q(G,{color:ls.textMuted,children:s}):null,t[8]=r,t[9]=s,t[10]=p):p=t[10];let m;t[11]!==d||t[12]!==a?(m=a?J(G,{color:ls.border,children:[` `,`─`.repeat(d)]}):null,t[11]=d,t[12]=a,t[13]=m):m=t[13];let h;return t[14]!==f||t[15]!==p||t[16]!==m?(h=J(G,{children:[f,p,m]}),t[14]=f,t[15]=p,t[16]=m,t[17]=h):h=t[17],h},qb=()=>{let e=ca(39);if(e[0]!==`155bac1331928275f0977c44c5021af2a99f257236d72aa818a512bae62664a8`){for(let t=0;t<39;t+=1)e[t]=Symbol.for(`react.memo_cache_sentinel`);e[0]=`155bac1331928275f0977c44c5021af2a99f257236d72aa818a512bae62664a8`}let[t]=cs(),n=Wb(Jb),r=ds(),[i,a]=K(null),[o,s]=K(``),[c,l]=K(`recent`),[u,d]=K(!1),[f,p]=K(void 0),{data:m,isLoading:h}=Ib(),g=m===void 0?[]:m,_=Us.filterBranches(g,c,o),{highlightedIndex:v,setHighlightedIndex:y,scrollOffset:b,handleNavigation:x}=zb({itemCount:_.length,visibleCount:15}),ee=t-2-32-16-2,S=_.slice(b,b+15),C;e[1]===y?C=e[2]:(C=e=>{s(as(e)),y(0)},e[1]=y,e[2]=C);let w=C,te;e[3]===n?te=e[4]:(te=e=>{yb(process.cwd(),e)?(p(void 0),Gb.invalidateQueries({queryKey:[`git-state`]}),n(Hb.Main())):p(`Could not checkout "${e}". You may have uncommitted changes or the branch may not exist locally.`)},e[3]=n,e[4]=te);let T=te,E;e[5]!==c||e[6]!==y?(E=e=>{l(Hs[(Hs.indexOf(c)+e+Hs.length)%Hs.length]),y(0)},e[5]=c,e[6]=y,e[7]=E):E=e[7];let D=E;na((e,t)=>{if(u){t.escape&&d(!1);return}if(!x(e,t)){if(t.rightArrow&&D(1),t.leftArrow&&D(-1),t.return){let e=_[v];e&&(p(void 0),T(e.name))}e===`/`&&d(!0)}});let ne;e[8]!==i||e[9]!==T?(ne=(e,t)=>{i&&(e.toLowerCase()===`y`&&(p(void 0),T(i.name),a(null)),(e.toLowerCase()===`n`||t.escape)&&a(null))},e[8]=i,e[9]=T,e[10]=ne):ne=e[10];let O=i!==null,k;e[11]===O?k=e[12]:(k={isActive:O},e[11]=O,e[12]=k),na(ne,k);let A=W,re=`${_.length} branches`,j;e[13]===re?j=e[14]:(j=q(W,{paddingX:1,children:q(Kb,{title:`Select a PR or branch to test`,subtitle:re})}),e[13]=re,e[14]=j);let ie;e[15]!==r||e[16]!==c||e[17]!==y?(ie=Hs.map((e,t)=>{let n=e===c,i=t<Hs.length-1?` · `:``,a={recent:r.CYAN,all:r.TEXT,open:r.GREEN,draft:r.DIM,merged:r.PURPLE,"no-pr":r.YELLOW};return J(W,{children:[q(ms,{fullWidth:!1,onClick:()=>{l(e),y(0)},children:q(G,{color:n?a[e]:r.DIM,children:n?`[${e}]`:e})}),q(G,{color:r.DIM,children:i})]},e)}),e[15]=r,e[16]=c,e[17]=y,e[18]=ie):ie=e[18];let M;e[19]===ie?M=e[20]:(M=q(W,{marginTop:1,paddingX:1,children:ie}),e[19]=ie,e[20]=M);let ae=h?q(W,{marginTop:1,paddingX:1,children:q(Lb,{message:`Fetching PRs...`})}):J(W,{marginTop:1,flexDirection:`column`,height:15,overflow:`hidden`,paddingX:1,children:[S.map((e,t)=>{let n=t+b,i=n===v;return J(ms,{onClick:()=>{y(n),T(e.name)},children:[q(G,{color:i?r.PRIMARY:r.DIM,children:i?`${Y.pointer} `:` `}),q(G,{color:i?r.PRIMARY:r.DIM,bold:i,children:Rb(Ka(e.name,31),32)}),q(G,{color:r.CYAN,children:Rb(Ka(e.author||`—`,15),16)}),e.prNumber&&e.prStatus?q(G,{color:e.prStatus===`open`?r.GREEN:e.prStatus===`merged`?r.PURPLE:r.DIM,children:Ka(`#${e.prNumber} ${e.prStatus}`,ee)}):q(G,{color:r.DIM,children:`—`})]},e.name)}),_.length===0&&q(G,{color:r.DIM,children:`No matching branches`})]}),N;e[21]!==r||e[22]!==f?(N=f?q(W,{marginTop:1,paddingX:1,children:q(G,{color:r.RED,children:f})}):null,e[21]=r,e[22]=f,e[23]=N):N=e[23];let oe;e[24]!==r||e[25]!==i?(oe=i?J(fs,{color:r.YELLOW,marginTop:1,children:[J(G,{color:r.YELLOW,bold:!0,children:[`Switch to `,i.name,`?`]}),J(G,{color:r.DIM,children:[`Press `,q(G,{color:r.PRIMARY,children:`y`}),` to continue or`,` `,q(G,{color:r.PRIMARY,children:`n`}),` to cancel.`]})]}):null,e[24]=r,e[25]=i,e[26]=oe):oe=e[26];let P;e[27]!==w||e[28]!==u||e[29]!==o?(P=q(W,{paddingX:1,children:q(xs,{isSearching:u,query:o,onChange:w})}),e[27]=w,e[28]=u,e[29]=o,e[30]=P):P=e[30];let F;return e[31]!==A||e[32]!==j||e[33]!==M||e[34]!==ae||e[35]!==N||e[36]!==oe||e[37]!==P?(F=J(A,{flexDirection:`column`,width:`100%`,paddingY:1,children:[j,M,ae,N,oe,P]}),e[31]=A,e[32]=j,e[33]=M,e[34]=ae,e[35]=N,e[36]=oe,e[37]=P,e[38]=F):F=e[38],F};function Jb(e){return e.setScreen}const Yb=va.join(process.cwd(),`.expect`,`logs.md`),Xb=gt.pipe(ki(Yb)),Zb=ci(hn(H(function*(){let e=yield*qe;yield*e.makeDirectory(va.dirname(Yb),{recursive:!0}),yield*e.writeFileString(va.join(va.dirname(Yb),`.gitignore`),`*
|
|
31
|
+
`)})),b([Xb])).pipe(Dn(La.layer));var Qb=n(((t,n)=>{(function(r,i){typeof t==`object`&&typeof n==`object`?n.exports=i(e(`child_process`),e(`crypto`)):typeof define==`function`&&define.amd?define([`child_process`,`crypto`],i):typeof t==`object`?t[`electron-machine-id`]=i(e(`child_process`),e(`crypto`)):r[`electron-machine-id`]=i(r.child_process,r.crypto)})(t,function(t,n){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p=``,t(0)}([function(e,t,n){e.exports=n(34)},function(e,t,n){var r=n(29)(`wks`),i=n(33),a=n(2).Symbol,o=typeof a==`function`,s=e.exports=function(e){return r[e]||(r[e]=o&&a[e]||(o?a:i)(`Symbol.`+e))};s.store=r},function(e,t){var n=e.exports=typeof window<`u`&&window.Math==Math?window:typeof self<`u`&&self.Math==Math?self:Function(`return this`)();typeof __g==`number`&&(__g=n)},function(e,t,n){var r=n(9);e.exports=function(e){if(!r(e))throw TypeError(e+` is not an object!`);return e}},function(e,t,n){e.exports=!n(24)(function(){return Object.defineProperty({},`a`,{get:function(){return 7}}).a!=7})},function(e,t,n){var r=n(12),i=n(17);e.exports=n(4)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n=e.exports={version:`2.4.0`};typeof __e==`number`&&(__e=n)},function(e,t,n){var r=n(14);e.exports=function(e,t,n){if(r(e),t===void 0)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t){e.exports=function(e){return typeof e==`object`?e!==null:typeof e==`function`}},function(e,t){e.exports={}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(3),i=n(26),a=n(32),o=Object.defineProperty;t.f=n(4)?Object.defineProperty:function(e,t,n){if(r(e),t=a(t,!0),r(n),i)try{return o(e,t,n)}catch{}if(`get`in n||`set`in n)throw TypeError(`Accessors not supported!`);return`value`in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(42),i=n(15);e.exports=function(e){return r(i(e))}},function(e,t){e.exports=function(e){if(typeof e!=`function`)throw TypeError(e+` is not a function!`);return e}},function(e,t){e.exports=function(e){if(e==null)throw TypeError(`Can't call method on `+e);return e}},function(e,t,n){var r=n(9),i=n(2).document,a=r(i)&&r(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(12).f,i=n(8),a=n(1)(`toStringTag`);e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},function(e,t,n){var r=n(29)(`keys`),i=n(33);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(11),i=n(1)(`toStringTag`),a=r(function(){return arguments}())==`Arguments`,o=function(e,t){try{return e[t]}catch{}};e.exports=function(e){var t,n,s;return e===void 0?`Undefined`:e===null?`Null`:typeof(n=o(t=Object(e),i))==`string`?n:a?r(t):(s=r(t))==`Object`&&typeof t.callee==`function`?`Arguments`:s}},function(e,t){e.exports=`constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf`.split(`,`)},function(e,t,n){var r=n(2),i=n(6),a=n(7),o=n(5),s=`prototype`,c=function(e,t,n){var l,u,d,f=e&c.F,p=e&c.G,m=e&c.S,h=e&c.P,g=e&c.B,_=e&c.W,v=p?i:i[t]||(i[t]={}),y=v[s],b=p?r:m?r[t]:(r[t]||{})[s];for(l in p&&(n=t),n)u=!f&&b&&b[l]!==void 0,u&&l in v||(d=u?b[l]:n[l],v[l]=p&&typeof b[l]!=`function`?n[l]:g&&u?a(d,r):_&&b[l]==d?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t[s]=e[s],t}(d):h&&typeof d==`function`?a(Function.call,d):d,h&&((v.virtual||={})[l]=d,e&c.R&&y&&!y[l]&&o(y,l,d)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,t){e.exports=function(e){try{return!!e()}catch{return!0}}},function(e,t,n){e.exports=n(2).document&&document.documentElement},function(e,t,n){e.exports=!n(4)&&!n(24)(function(){return Object.defineProperty(n(16)(`div`),`a`,{get:function(){return 7}}).a!=7})},function(e,t,n){var r=n(28),i=n(23),a=n(57),o=n(5),s=n(8),c=n(10),l=n(45),u=n(18),d=n(52),f=n(1)(`iterator`),p=!([].keys&&`next`in[].keys()),m=`@@iterator`,h=`keys`,g=`values`,_=function(){return this};e.exports=function(e,t,n,v,y,b,x){l(n,t,v);var ee,S,C,w=function(e){if(!p&&e in D)return D[e];switch(e){case h:return function(){return new n(this,e)};case g:return function(){return new n(this,e)}}return function(){return new n(this,e)}},te=t+` Iterator`,T=y==g,E=!1,D=e.prototype,ne=D[f]||D[m]||y&&D[y],O=ne||w(y),k=y?T?w(`entries`):O:void 0,A=t==`Array`&&D.entries||ne;if(A&&(C=d(A.call(new e)),C!==Object.prototype&&(u(C,te,!0),r||s(C,f)||o(C,f,_))),T&&ne&&ne.name!==g&&(E=!0,O=function(){return ne.call(this)}),r&&!x||!p&&!E&&D[f]||o(D,f,O),c[t]=O,c[te]=_,y)if(ee={values:T?O:w(g),keys:b?O:w(h),entries:k},x)for(S in ee)S in D||a(D,S,ee[S]);else i(i.P+i.F*(p||E),t,ee);return ee}},function(e,t){e.exports=!0},function(e,t,n){var r=n(2),i=`__core-js_shared__`,a=r[i]||(r[i]={});e.exports=function(e){return a[e]||(a[e]={})}},function(e,t,n){var r,i,a,o=n(7),s=n(41),c=n(25),l=n(16),u=n(2),d=u.process,f=u.setImmediate,p=u.clearImmediate,m=u.MessageChannel,h=0,g={},_=`onreadystatechange`,v=function(){var e=+this;if(g.hasOwnProperty(e)){var t=g[e];delete g[e],t()}},y=function(e){v.call(e.data)};f&&p||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return g[++h]=function(){s(typeof e==`function`?e:Function(e),t)},r(h),h},p=function(e){delete g[e]},n(11)(d)==`process`?r=function(e){d.nextTick(o(v,e,1))}:m?(i=new m,a=i.port2,i.port1.onmessage=y,r=o(a.postMessage,a,1)):u.addEventListener&&typeof postMessage==`function`&&!u.importScripts?(r=function(e){u.postMessage(e+``,`*`)},u.addEventListener(`message`,y,!1)):r=_ in l(`script`)?function(e){c.appendChild(l(`script`))[_]=function(){c.removeChild(this),v.call(e)}}:function(e){setTimeout(o(v,e,1),0)}),e.exports={set:f,clear:p}},function(e,t,n){var r=n(20),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){var r=n(9);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&typeof(n=e.toString)==`function`&&!r(i=n.call(e))||typeof(n=e.valueOf)==`function`&&!r(i=n.call(e))||!t&&typeof(n=e.toString)==`function`&&!r(i=n.call(e)))return i;throw TypeError(`Can't convert object to primitive value`)}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return`Symbol(${e===void 0?``:e})_${(++n+r).toString(36)}`}},function(e,t,n){function r(e){return e&&e.__esModule?e:{default:e}}function i(){return process.platform===`win32`?process.arch===`ia32`&&process.env.hasOwnProperty(`PROCESSOR_ARCHITEW6432`)?`mixed`:`native`:``}function a(e){return(0,d.createHash)(`sha256`).update(e).digest(`hex`)}function o(e){switch(f){case`darwin`:return e.split(`IOPlatformUUID`)[1].split(`
|
|
32
|
+
`)[0].replace(/\=|\s+|\"/gi,``).toLowerCase();case`win32`:return e.toString().split(`REG_SZ`)[1].replace(/\r+|\n+|\s+/gi,``).toLowerCase();case`linux`:return e.toString().replace(/\r+|\n+|\s+/gi,``).toLowerCase();case`freebsd`:return e.toString().replace(/\r+|\n+|\s+/gi,``).toLowerCase();default:throw Error(`Unsupported platform: `+process.platform)}}function s(e){var t=o((0,u.execSync)(p[f]).toString());return e?t:a(t)}function c(e){return new l.default(function(t,n){return(0,u.exec)(p[f],{},function(r,i,s){if(r)return n(Error(`Error while obtaining machine id: `+r.stack));var c=o(i.toString());return t(e?c:a(c))})})}Object.defineProperty(t,`__esModule`,{value:!0});var l=r(n(35));t.machineIdSync=s,t.machineId=c;var u=n(70),d=n(71),f=process.platform,p={darwin:`ioreg -rd1 -c IOPlatformExpertDevice`,win32:{native:`%windir%\\System32`,mixed:`%windir%\\sysnative\\cmd.exe /c %windir%\\System32`}[i()]+`\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid`,linux:`( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :`,freebsd:`kenv -q smbios.system.uuid || sysctl -n kern.hostuuid`}},function(e,t,n){e.exports={default:n(36),__esModule:!0}},function(e,t,n){n(66),n(68),n(69),n(67),e.exports=n(6).Promise},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||r!==void 0&&r in e)throw TypeError(n+`: incorrect invocation!`);return e}},function(e,t,n){var r=n(13),i=n(31),a=n(62);e.exports=function(e){return function(t,n,o){var s,c=r(t),l=i(c.length),u=a(o,l);if(e&&n!=n){for(;l>u;)if(s=c[u++],s!=s)return!0}else for(;l>u;u++)if((e||u in c)&&c[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(7),i=n(44),a=n(43),o=n(3),s=n(31),c=n(64),l={},u={},t=e.exports=function(e,t,n,d,f){var p,m,h,g,_=f?function(){return e}:c(e),v=r(n,d,t?2:1),y=0;if(typeof _!=`function`)throw TypeError(e+` is not iterable!`);if(a(_)){for(p=s(e.length);p>y;y++)if(g=t?v(o(m=e[y])[0],m[1]):v(e[y]),g===l||g===u)return g}else for(h=_.call(e);!(m=h.next()).done;)if(g=i(h,v,m.value,t),g===l||g===u)return g};t.BREAK=l,t.RETURN=u},function(e,t){e.exports=function(e,t,n){var r=n===void 0;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(11);e.exports=Object(`z`).propertyIsEnumerable(0)?Object:function(e){return r(e)==`String`?e.split(``):Object(e)}},function(e,t,n){var r=n(10),i=n(1)(`iterator`),a=Array.prototype;e.exports=function(e){return e!==void 0&&(r.Array===e||a[i]===e)}},function(e,t,n){var r=n(3);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var a=e.return;throw a!==void 0&&r(a.call(e)),t}}},function(e,t,n){var r=n(49),i=n(17),a=n(18),o={};n(5)(o,n(1)(`iterator`),function(){return this}),e.exports=function(e,t,n){e.prototype=r(o,{next:i(1,n)}),a(e,t+` Iterator`)}},function(e,t,n){var r=n(1)(`iterator`),i=!1;try{var a=[7][r]();a.return=function(){i=!0},Array.from(a,function(){throw 2})}catch{}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var a=[7],o=a[r]();o.next=function(){return{done:n=!0}},a[r]=function(){return o},e(a)}catch{}return n}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(2),i=n(30).set,a=r.MutationObserver||r.WebKitMutationObserver,o=r.process,s=r.Promise,c=n(11)(o)==`process`;e.exports=function(){var e,t,n,l=function(){var r,i;for(c&&(r=o.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(c)n=function(){o.nextTick(l)};else if(a){var u=!0,d=document.createTextNode(``);new a(l).observe(d,{characterData:!0}),n=function(){d.data=u=!u}}else if(s&&s.resolve){var f=s.resolve();n=function(){f.then(l)}}else n=function(){i.call(r,l)};return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){var r=n(3),i=n(50),a=n(22),o=n(19)(`IE_PROTO`),s=function(){},c=`prototype`,l=function(){var e,t=n(16)(`iframe`),r=a.length,i=`>`;for(t.style.display=`none`,n(25).appendChild(t),t.src=`javascript:`,e=t.contentWindow.document,e.open(),e.write(`<script>document.F=Object<\/script`+i),e.close(),l=e.F;r--;)delete l[c][a[r]];return l()};e.exports=Object.create||function(e,t){var n;return e===null?n=l():(s[c]=r(e),n=new s,s[c]=null,n[o]=e),t===void 0?n:i(n,t)}},function(e,t,n){var r=n(12),i=n(3),a=n(54);e.exports=n(4)?Object.defineProperties:function(e,t){i(e);for(var n,o=a(t),s=o.length,c=0;s>c;)r.f(e,n=o[c++],t[n]);return e}},function(e,t,n){var r=n(55),i=n(17),a=n(13),o=n(32),s=n(8),c=n(26),l=Object.getOwnPropertyDescriptor;t.f=n(4)?l:function(e,t){if(e=a(e),t=o(t,!0),c)try{return l(e,t)}catch{}if(s(e,t))return i(!r.f.call(e,t),e[t])}},function(e,t,n){var r=n(8),i=n(63),a=n(19)(`IE_PROTO`),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,a)?e[a]:typeof e.constructor==`function`&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},function(e,t,n){var r=n(8),i=n(13),a=n(39)(!1),o=n(19)(`IE_PROTO`);e.exports=function(e,t){var n,s=i(e),c=0,l=[];for(n in s)n!=o&&r(s,n)&&l.push(n);for(;t.length>c;)r(s,n=t[c++])&&(~a(l,n)||l.push(n));return l}},function(e,t,n){var r=n(53),i=n(22);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(5);e.exports=function(e,t,n){for(var i in t)n&&e[i]?e[i]=t[i]:r(e,i,t[i]);return e}},function(e,t,n){e.exports=n(5)},function(e,t,n){var r=n(9),i=n(3),a=function(e,t){if(i(e),!r(t)&&t!==null)throw TypeError(t+`: can't set as prototype!`)};e.exports={set:Object.setPrototypeOf||(`__proto__`in{}?function(e,t,r){try{r=n(7)(Function.call,n(51).f(Object.prototype,`__proto__`).set,2),r(e,[]),t=!(e instanceof Array)}catch{t=!0}return function(e,n){return a(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:a}},function(e,t,n){var r=n(2),i=n(6),a=n(12),o=n(4),s=n(1)(`species`);e.exports=function(e){var t=typeof i[e]==`function`?i[e]:r[e];o&&t&&!t[s]&&a.f(t,s,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(3),i=n(14),a=n(1)(`species`);e.exports=function(e,t){var n,o=r(e).constructor;return o===void 0||(n=r(o)[a])==null?t:i(n)}},function(e,t,n){var r=n(20),i=n(15);e.exports=function(e){return function(t,n){var a,o,s=String(i(t)),c=r(n),l=s.length;return c<0||c>=l?e?``:void 0:(a=s.charCodeAt(c),a<55296||a>56319||c+1===l||(o=s.charCodeAt(c+1))<56320||o>57343?e?s.charAt(c):a:e?s.slice(c,c+2):(a-55296<<10)+(o-56320)+65536)}}},function(e,t,n){var r=n(20),i=Math.max,a=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):a(e,t)}},function(e,t,n){var r=n(15);e.exports=function(e){return Object(r(e))}},function(e,t,n){var r=n(21),i=n(1)(`iterator`),a=n(10);e.exports=n(6).getIteratorMethod=function(e){if(e!=null)return e[i]||e[`@@iterator`]||a[r(e)]}},function(e,t,n){var r=n(37),i=n(47),a=n(10),o=n(13);e.exports=n(27)(Array,`Array`,function(e,t){this._t=o(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):t==`keys`?i(0,n):t==`values`?i(0,e[n]):i(0,[n,e[n]])},`values`),a.Arguments=a.Array,r(`keys`),r(`values`),r(`entries`)},function(e,t){},function(e,t,n){var r,i,a,o=n(28),s=n(2),c=n(7),l=n(21),u=n(23),d=n(9),f=(n(3),n(14)),p=n(38),m=n(40),h=(n(58).set,n(60)),g=n(30).set,_=n(48)(),v=`Promise`,y=s.TypeError,b=s.process,x=s[v],b=s.process,ee=l(b)==`process`,S=function(){},C=!!function(){try{var e=x.resolve(1),t=(e.constructor={})[n(1)(`species`)]=function(e){e(S,S)};return(ee||typeof PromiseRejectionEvent==`function`)&&e.then(S)instanceof t}catch{}}(),w=function(e,t){return e===t||e===x&&t===a},te=function(e){var t;return!(!d(e)||typeof(t=e.then)!=`function`)&&t},T=function(e){return w(x,e)?new E(e):new i(e)},E=i=function(e){var t,n;this.promise=new e(function(e,r){if(t!==void 0||n!==void 0)throw y(`Bad Promise constructor`);t=e,n=r}),this.resolve=f(t),this.reject=f(n)},D=function(e){try{e()}catch(e){return{error:e}}},ne=function(e,t){if(!e._n){e._n=!0;var n=e._c;_(function(){for(var r=e._v,i=e._s==1,a=0,o=function(t){var n,a,o=i?t.ok:t.fail,s=t.resolve,c=t.reject,l=t.domain;try{o?(i||(e._h==2&&A(e),e._h=1),o===!0?n=r:(l&&l.enter(),n=o(r),l&&l.exit()),n===t.promise?c(y(`Promise-chain cycle`)):(a=te(n))?a.call(n,s,c):s(n)):c(r)}catch(e){c(e)}};n.length>a;)o(n[a++]);e._c=[],e._n=!1,t&&!e._h&&O(e)})}},O=function(e){g.call(s,function(){var t,n,r,i=e._v;if(k(e)&&(t=D(function(){ee?b.emit(`unhandledRejection`,i,e):(n=s.onunhandledrejection)?n({promise:e,reason:i}):(r=s.console)&&r.error&&r.error(`Unhandled promise rejection`,i)}),e._h=ee||k(e)?2:1),e._a=void 0,t)throw t.error})},k=function(e){if(e._h==1)return!1;for(var t,n=e._a||e._c,r=0;n.length>r;)if(t=n[r++],t.fail||!k(t.promise))return!1;return!0},A=function(e){g.call(s,function(){var t;ee?b.emit(`rejectionHandled`,e):(t=s.onrejectionhandled)&&t({promise:e,reason:e._v})})},re=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||=t._c.slice(),ne(t,!0))},j=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw y(`Promise can't be resolved itself`);(t=te(e))?_(function(){var r={_w:n,_d:!1};try{t.call(e,c(j,r,1),c(re,r,1))}catch(e){re.call(r,e)}}):(n._v=e,n._s=1,ne(n,!1))}catch(e){re.call({_w:n,_d:!1},e)}}};C||(x=function(e){p(this,x,v,`_h`),f(e),r.call(this);try{e(c(j,this,1),c(re,this,1))}catch(e){re.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(56)(x.prototype,{then:function(e,t){var n=T(h(this,x));return n.ok=typeof e!=`function`||e,n.fail=typeof t==`function`&&t,n.domain=ee?b.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&ne(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),E=function(){var e=new r;this.promise=e,this.resolve=c(j,e,1),this.reject=c(re,e,1)}),u(u.G+u.W+u.F*!C,{Promise:x}),n(18)(x,v),n(59)(v),a=n(6)[v],u(u.S+u.F*!C,v,{reject:function(e){var t=T(this),n=t.reject;return n(e),t.promise}}),u(u.S+u.F*(o||!C),v,{resolve:function(e){if(e instanceof x&&w(e.constructor,this))return e;var t=T(this),n=t.resolve;return n(e),t.promise}}),u(u.S+u.F*!(C&&n(46)(function(e){x.all(e).catch(S)})),v,{all:function(e){var t=this,n=T(t),r=n.resolve,i=n.reject,a=D(function(){var n=[],a=0,o=1;m(e,!1,function(e){var s=a++,c=!1;n.push(void 0),o++,t.resolve(e).then(function(e){c||(c=!0,n[s]=e,--o||r(n))},i)}),--o||r(n)});return a&&i(a.error),n.promise},race:function(e){var t=this,n=T(t),r=n.reject,i=D(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return i&&r(i.error),n.promise}})},function(e,t,n){var r=n(61)(!0);n(27)(String,`String`,function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){n(65);for(var r=n(2),i=n(5),a=n(10),o=n(1)(`toStringTag`),s=[`NodeList`,`DOMTokenList`,`MediaList`,`StyleSheetList`,`CSSRuleList`],c=0;c<5;c++){var l=s[c],u=r[l],d=u&&u.prototype;d&&!d[o]&&i(d,o,l),a[l]=a.Array}},function(t,n){t.exports=e(`child_process`)},function(t,n){t.exports=e(`crypto`)}])})}))();function $b(e){return typeof e==`string`?`'${e}'`:new ex().serialize(e)}const ex=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}(),tx=globalThis.process?.getBuiltinModule?.(`crypto`)?.hash,nx=`sha256`,rx=`base64url`;function ix(e){if(tx)return tx(nx,e,rx);let t=Aa(nx).update(e);return globalThis.process?.versions?.webcontainer?t.digest().toString(rx):t.digest(rx)}function ax(e){return ix($b(e))}function ox(){let e=sx();return async t=>{for(let n of t)n.module=e(n.filename);return t}}function sx(e=process.argv[1]?Ya(process.argv[1]):process.cwd(),t=Za===`\\`){let n=t?cx(e):e;return e=>{if(!e)return;let r=t?cx(e):e,{dir:i,base:a,ext:o}=Xa.parse(r);(o===`.js`||o===`.mjs`||o===`.cjs`)&&(a=a.slice(0,-1*o.length));let s=decodeURIComponent(a);i||=`.`;let c=i.lastIndexOf(`/node_modules`);if(c>-1)return`${i.slice(c+14).replace(/\//g,`.`)}:${s}`;if(i.startsWith(n)){let e=i.slice(n.length+1).replace(/\//g,`.`);return e?`${e}:${s}`:s}return s}}function cx(e){return e.replace(/^[A-Z]:/,``).replace(/\\/g,`/`)}const lx=e=>{if(`flags`in e){let t=dx(e.flags),n=fx(e.flags);return{...e,featureFlags:t,featureFlagPayloads:n}}{let t=e.featureFlags??{},n=Object.fromEntries(Object.entries(e.featureFlagPayloads||{}).map(([e,t])=>[e,mx(t)])),r=Object.fromEntries(Object.entries(t).map(([e,t])=>[e,ux(e,t,n[e])]));return{...e,featureFlags:t,featureFlagPayloads:n,flags:r}}};function ux(e,t,n){return{key:e,enabled:typeof t==`string`?!0:t,variant:typeof t==`string`?t:void 0,reason:void 0,metadata:{id:void 0,version:void 0,payload:n?JSON.stringify(n):void 0,description:void 0}}}const dx=e=>Object.fromEntries(Object.entries(e??{}).map(([e,t])=>[e,px(t)]).filter(([,e])=>e!==void 0)),fx=e=>{let t=e??{};return Object.fromEntries(Object.keys(t).filter(e=>{let n=t[e];return n.enabled&&n.metadata&&n.metadata.payload!==void 0}).map(e=>{let n=t[e].metadata?.payload;return[e,n?mx(n):void 0]}))},px=e=>e===void 0?void 0:e.variant??e.enabled,mx=e=>{if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return e}},hx=`0123456789abcdef`;var gx=class e{constructor(e){this.bytes=e}static ofInner(t){if(t.length===16)return new e(t);throw TypeError(`not 128-bit length`)}static fromFieldsV7(t,n,r,i){if(!Number.isInteger(t)||!Number.isInteger(n)||!Number.isInteger(r)||!Number.isInteger(i)||t<0||n<0||r<0||i<0||t>0xffffffffffff||n>4095||r>1073741823||i>4294967295)throw RangeError(`invalid field value`);let a=new Uint8Array(16);return a[0]=t/2**40,a[1]=t/2**32,a[2]=t/2**24,a[3]=t/2**16,a[4]=t/256,a[5]=t,a[6]=112|n>>>8,a[7]=n,a[8]=128|r>>>24,a[9]=r>>>16,a[10]=r>>>8,a[11]=r,a[12]=i>>>24,a[13]=i>>>16,a[14]=i>>>8,a[15]=i,new e(a)}static parse(t){let n;switch(t.length){case 32:n=/^[0-9a-f]{32}$/i.exec(t)?.[0];break;case 36:n=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join(``);break;case 38:n=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(t)?.slice(1,6).join(``);break;case 45:n=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(t)?.slice(1,6).join(``);break;default:break}if(n){let t=new Uint8Array(16);for(let e=0;e<16;e+=4){let r=parseInt(n.substring(2*e,2*e+8),16);t[e+0]=r>>>24,t[e+1]=r>>>16,t[e+2]=r>>>8,t[e+3]=r}return new e(t)}throw SyntaxError(`could not parse UUID string`)}toString(){let e=``;for(let t=0;t<this.bytes.length;t++)e+=hx.charAt(this.bytes[t]>>>4),e+=hx.charAt(15&this.bytes[t]),(t===3||t===5||t===7||t===9)&&(e+=`-`);return e}toHex(){let e=``;for(let t=0;t<this.bytes.length;t++)e+=hx.charAt(this.bytes[t]>>>4),e+=hx.charAt(15&this.bytes[t]);return e}toJSON(){return this.toString()}getVariant(){let e=this.bytes[8]>>>4;if(e<0)throw Error(`unreachable`);if(e<=7)return this.bytes.every(e=>e===0)?`NIL`:`VAR_0`;if(e<=11)return`VAR_10`;if(e<=13)return`VAR_110`;if(e<=15)return this.bytes.every(e=>e===255)?`MAX`:`VAR_RESERVED`;throw Error(`unreachable`)}getVersion(){return this.getVariant()===`VAR_10`?this.bytes[6]>>>4:void 0}clone(){return new e(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(let t=0;t<16;t++){let n=this.bytes[t]-e.bytes[t];if(n!==0)return Math.sign(n)}return 0}},_x=class{constructor(e){this.timestamp=0,this.counter=0,this.random=e??vx()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(e,t){let n=this.generateOrAbortCore(e,t);return n===void 0&&(this.timestamp=0,n=this.generateOrAbortCore(e,t)),n}generateOrAbortCore(e,t){if(!Number.isInteger(e)||e<1||e>0xffffffffffff)throw RangeError("`unixTsMs` must be a 48-bit positive integer");if(t<0||t>0xffffffffffff)throw RangeError("`rollbackAllowance` out of reasonable range");if(e>this.timestamp)this.timestamp=e,this.resetCounter();else{if(!(e+t>=this.timestamp))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return gx.fromFieldsV7(this.timestamp,Math.trunc(this.counter/2**30),this.counter&2**30-1,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}generateV4(){let e=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return e[6]=64|e[6]>>>4,e[8]=128|e[8]>>>2,gx.ofInner(e)}};const vx=()=>({nextUint32:()=>65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random())});let yx;const bx=()=>xx().toString(),xx=()=>(yx||=new _x).generate();var Sx=function(e){return e.AnonymousId=`anonymous_id`,e.DistinctId=`distinct_id`,e.Props=`props`,e.EnablePersonProcessing=`enable_person_processing`,e.PersonMode=`person_mode`,e.FeatureFlagDetails=`feature_flag_details`,e.FeatureFlags=`feature_flags`,e.FeatureFlagPayloads=`feature_flag_payloads`,e.BootstrapFeatureFlagDetails=`bootstrap_feature_flag_details`,e.BootstrapFeatureFlags=`bootstrap_feature_flags`,e.BootstrapFeatureFlagPayloads=`bootstrap_feature_flag_payloads`,e.OverrideFeatureFlags=`override_feature_flags`,e.Queue=`queue`,e.OptedOut=`opted_out`,e.SessionId=`session_id`,e.SessionStartTimestamp=`session_start_timestamp`,e.SessionLastTimestamp=`session_timestamp`,e.PersonProperties=`person_properties`,e.GroupProperties=`group_properties`,e.InstalledAppBuild=`installed_app_build`,e.InstalledAppVersion=`installed_app_version`,e.SessionReplay=`session_replay`,e.SurveyLastSeenDate=`survey_last_seen_date`,e.SurveysSeen=`surveys_seen`,e.Surveys=`surveys`,e.RemoteConfig=`remote_config`,e.FlagsEndpointWasHit=`flags_endpoint_was_hit`,e}({});const Cx=`amazonbot,amazonproductbot,app.hypefactors.com,applebot,archive.org_bot,awariobot,backlinksextendedbot,baiduspider,bingbot,bingpreview,chrome-lighthouse,dataforseobot,deepscan,duckduckbot,facebookexternal,facebookcatalog,http://yandex.com/bots,hubspot,ia_archiver,leikibot,linkedinbot,meta-externalagent,mj12bot,msnbot,nessus,petalbot,pinterest,prerender,rogerbot,screaming frog,sebot-wa,sitebulb,slackbot,slurp,trendictionbot,turnitin,twitterbot,vercel-screenshot,vercelbot,yahoo! slurp,yandexbot,zoombot,bot.htm,bot.php,(bot;,bot/,crawler,ahrefsbot,ahrefssiteaudit,semrushbot,siteauditbot,splitsignalbot,gptbot,oai-searchbot,chatgpt-user,perplexitybot,better uptime bot,sentryuptimebot,uptimerobot,headlesschrome,cypress,google-hoteladsverifier,adsbot-google,apis-google,duplexweb-google,feedfetcher-google,google favicon,google web preview,google-read-aloud,googlebot,googleother,google-cloudvertexbot,googleweblight,mediapartners-google,storebot-google,google-inspectiontool,bytespider`.split(`,`),wx=function(e,t=[]){if(!e)return!1;let n=e.toLowerCase();return Cx.concat(t).some(e=>{let t=e.toLowerCase();return n.indexOf(t)!==-1})},Tx=Array.isArray,Ex=Object.prototype;Ex.hasOwnProperty;const Dx=Ex.toString,Ox=Tx||function(e){return Dx.call(e)===`[object Array]`},kx=e=>e===Object(e)&&!Ox(e),Ax=e=>e===void 0,jx=e=>Dx.call(e)==`[object String]`,Mx=e=>jx(e)&&e.trim().length===0,Nx=e=>Dx.call(e)==`[object Number]`&&e===e,Px=e=>e instanceof Error;function Fx(e){return typeof e!=`object`||!e}function Ix(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function Lx(e){return!Ax(Event)&&zx(e,Event)}function Rx(e){return Ix(e,`Object`)}function zx(e,t){try{return e instanceof t}catch{return!1}}function Bx(e,t,n,r,i){return t>n&&(r.warn(`min cannot be greater than max.`),t=n),Nx(e)?e>n?(r.warn(` cannot be greater than max: `+n+`. Using max value instead.`),n):e<t?(r.warn(` cannot be less than min: `+t+`. Using min value instead.`),t):e:(r.warn(` must be a number. using max or fallback. max: `+n+`, fallback: `+i),Bx(i||n,t,n,r))}var Vx=class{constructor(e){this._buckets={},this._onBucketRateLimited=e._onBucketRateLimited,this._bucketSize=Bx(e.bucketSize,0,100,e._logger),this._refillRate=Bx(e.refillRate,0,this._bucketSize,e._logger),this._refillInterval=Bx(e.refillInterval,0,864e5,e._logger)}_applyRefill(e,t){let n=t-e.lastAccess,r=Math.floor(n/this._refillInterval);if(r>0){let t=r*this._refillRate;e.tokens=Math.min(e.tokens+t,this._bucketSize),e.lastAccess+=r*this._refillInterval}}consumeRateLimit(e){let t=Date.now(),n=String(e),r=this._buckets[n];return r?this._applyRefill(r,t):(r={tokens:this._bucketSize,lastAccess:t},this._buckets[n]=r),r.tokens===0?!0:(r.tokens--,r.tokens===0&&this._onBucketRateLimited?.(e),r.tokens===0)}stop(){this._buckets={}}},Hx=class{add(e){let t=bx();return this.promiseByIds[t]=e,e.catch(()=>{}).finally(()=>{delete this.promiseByIds[t]}),e}async join(){let e=Object.values(this.promiseByIds),t=e.length;for(;t>0;)await Promise.all(e),e=Object.values(this.promiseByIds),t=e.length}get length(){return Object.keys(this.promiseByIds).length}constructor(){this.promiseByIds={}}};function Ux(e=console){return{log:e.log.bind(e),warn:e.warn.bind(e),error:e.error.bind(e),debug:e.debug.bind(e)}}const Wx=(e,t,n)=>{function r(r,...i){t(()=>{let t=n[r];t(e,...i)})}return{info:(...e)=>{r(`log`,...e)},warn:(...e)=>{r(`warn`,...e)},error:(...e)=>{r(`error`,...e)},critical:(...t)=>{n.error(e,...t)},createLogger:r=>Wx(`${e} ${r}`,t,n)}},Gx=e=>e();function Kx(e,t=Gx){return Wx(e,t,Ux())}const qx=`Android`;qx+``;const Jx=`BlackBerry`,Yx=`Samsung`;Yx+``,Yx+``;const Xx=`Chrome`;Xx+``,Xx+``;const Zx=`Opera`;Zx+``;const Qx=`Edge`;``+Qx;const $x=`Firefox`;$x+``;const eS=`Nintendo`,tS=`PlayStation`,nS=`Xbox`;qx+``;const rS=`Windows`;rS+``;const iS=`Generic`;iS+``,iS+``;const aS=`(\\d+(\\.\\d+)?)`;RegExp(`Version/`+aS),new RegExp(nS,`i`),RegExp(tS+` \\w+`,`i`),RegExp(eS+` \\w+`,`i`),RegExp(Jx+`|PlayBook|BB10`,`i`),RegExp(`rv:`+aS),RegExp(Qx+`?\\/(\\d+(\\.\\d+)?)`),RegExp(`(`+Xx+`|CrMo)\\/(\\d+(\\.\\d+)?)`),RegExp(`CriOS\\/`+aS),RegExp(`(UCBrowser|UCWEB)\\/`+aS),RegExp(`(`+Zx+`|OPR)\\/(\\d+(\\.\\d+)?)`),RegExp($x+`\\/(\\d+(\\.\\d+)?)`),RegExp(`FxiOS\\/`+aS),RegExp(`Konqueror[:/]?`+aS,`i`),RegExp(Jx+` (\\d+(\\.\\d+)?)`),RegExp(`android\\s`+aS,`i`),RegExp(`(rv:|MSIE )`+aS),RegExp(`rv:`+aS),RegExp(nS+`; Xbox (.*?)[);]`,`i`),new RegExp(eS,`i`),new RegExp(tS,`i`),new RegExp(rS,`i`),RegExp(`(`+qx+` (\\d+)\\.(\\d+)\\.?(\\d+)?|Android)`,`i`);function oS(e,t){if(!e||typeof e!=`string`||sS(e))throw Error(t)}function sS(e){return e.trim().length===0}function cS(e){return e?.replace(/\/+$/,``)}async function lS(e,t){let n=null;for(let r=0;r<t.retryCount+1;r++){r>0&&await new Promise(e=>setTimeout(e,t.retryDelay));try{return await e()}catch(e){if(n=e,!t.retryCheck(e))throw e}}throw n}function uS(){return new Date().toISOString()}function dS(e,t){let n=setTimeout(e,t);return n?.unref&&n?.unref(),n}const fS=e=>e instanceof Error;function pS(e){return Promise.all(e.map(e=>(e??Promise.resolve()).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}var mS=class{constructor(){this.events={},this.events={}}on(e,t){return this.events[e]||(this.events[e]=[]),this.events[e].push(t),()=>{this.events[e]=this.events[e].filter(e=>e!==t)}}emit(e,t){for(let n of this.events[e]||[])n(t);for(let n of this.events[`*`]||[])n(e,t)}};function hS(){return`CompressionStream`in globalThis}async function gS(e,t=!0){try{let t=new Blob([e],{type:`text/plain`}).stream().pipeThrough(new CompressionStream(`gzip`));return await new Response(t).blob()}catch(e){return t&&console.error(`Failed to gzip compress data`,e),null}}var _S=class extends Error{constructor(e,t){super(`HTTP error while fetching PostHog: status=`+e.status+`, reqByteLength=`+t),this.response=e,this.reqByteLength=t,this.name=`PostHogFetchHttpError`}get status(){return this.response.status}get text(){return this.response.text()}get json(){return this.response.json()}},vS=class extends Error{constructor(e){super(`Network error while fetching PostHog`,e instanceof Error?{cause:e}:{}),this.error=e,this.name=`PostHogFetchNetworkError`}};async function yS(e){if(e instanceof _S){let t=``;try{t=await e.text}catch{}console.error(`Error while flushing PostHog: message=${e.message}, response body=${t}`,e)}else console.error(`Error while flushing PostHog`,e);return Promise.resolve()}function bS(e){return typeof e==`object`&&(e instanceof _S||e instanceof vS)}function xS(e){return typeof e==`object`&&e instanceof _S&&e.status===413}var SS=class{constructor(e,t={}){this.flushPromise=null,this.shutdownPromise=null,this.promiseQueue=new Hx,this._events=new mS,this._isInitialized=!1,oS(e,`You must pass your PostHog project's api key.`),this.apiKey=e,this.host=cS(t.host||`https://us.i.posthog.com`),this.flushAt=t.flushAt?Math.max(t.flushAt,1):20,this.maxBatchSize=Math.max(this.flushAt,t.maxBatchSize??100),this.maxQueueSize=Math.max(this.flushAt,t.maxQueueSize??1e3),this.flushInterval=t.flushInterval??1e4,this.preloadFeatureFlags=t.preloadFeatureFlags??!0,this.defaultOptIn=t.defaultOptIn??!0,this.disableSurveys=t.disableSurveys??!1,this._retryOptions={retryCount:t.fetchRetryCount??3,retryDelay:t.fetchRetryDelay??3e3,retryCheck:bS},this.requestTimeout=t.requestTimeout??1e4,this.featureFlagsRequestTimeoutMs=t.featureFlagsRequestTimeoutMs??3e3,this.remoteConfigRequestTimeoutMs=t.remoteConfigRequestTimeoutMs??3e3,this.disableGeoip=t.disableGeoip??!0,this.disabled=t.disabled??!1,this.historicalMigration=t?.historicalMigration??!1,this._initPromise=Promise.resolve(),this._isInitialized=!0,this._logger=Kx(`[PostHog]`,this.logMsgIfDebug.bind(this)),this.evaluationContexts=t?.evaluationContexts??t?.evaluationEnvironments,t?.evaluationEnvironments&&!t?.evaluationContexts&&this._logger.warn(`evaluationEnvironments is deprecated. Use evaluationContexts instead. This property will be removed in a future version.`),this.disableCompression=!hS()||(t?.disableCompression??!1)}logMsgIfDebug(e){this.isDebug&&e()}wrap(e){if(this.disabled)return void this._logger.warn(`The client is disabled`);if(this._isInitialized)return e();this._initPromise.then(()=>e())}getCommonEventProperties(){return{$lib:this.getLibraryId(),$lib_version:this.getLibraryVersion()}}get optedOut(){return this.getPersistedProperty(Sx.OptedOut)??!this.defaultOptIn}async optIn(){this.wrap(()=>{this.setPersistedProperty(Sx.OptedOut,!1)})}async optOut(){this.wrap(()=>{this.setPersistedProperty(Sx.OptedOut,!0)})}on(e,t){return this._events.on(e,t)}debug(e=!0){if(this.removeDebugCallback?.(),e){let e=this.on(`*`,(e,t)=>this._logger.info(e,t));this.removeDebugCallback=()=>{e(),this.removeDebugCallback=void 0}}}get isDebug(){return!!this.removeDebugCallback}get isDisabled(){return this.disabled}buildPayload(e){return{distinct_id:e.distinct_id,event:e.event,properties:{...e.properties||{},...this.getCommonEventProperties()}}}addPendingPromise(e){return this.promiseQueue.add(e)}identifyStateless(e,t,n){this.wrap(()=>{let r={...this.buildPayload({distinct_id:e,event:`$identify`,properties:t})};this.enqueue(`identify`,r,n)})}async identifyStatelessImmediate(e,t,n){let r={...this.buildPayload({distinct_id:e,event:`$identify`,properties:t})};await this.sendImmediate(`identify`,r,n)}captureStateless(e,t,n,r){this.wrap(()=>{let i=this.buildPayload({distinct_id:e,event:t,properties:n});this.enqueue(`capture`,i,r)})}async captureStatelessImmediate(e,t,n,r){let i=this.buildPayload({distinct_id:e,event:t,properties:n});await this.sendImmediate(`capture`,i,r)}aliasStateless(e,t,n,r){this.wrap(()=>{let i=this.buildPayload({event:`$create_alias`,distinct_id:t,properties:{...n||{},distinct_id:t,alias:e}});this.enqueue(`alias`,i,r)})}async aliasStatelessImmediate(e,t,n,r){let i=this.buildPayload({event:`$create_alias`,distinct_id:t,properties:{...n||{},distinct_id:t,alias:e}});await this.sendImmediate(`alias`,i,r)}groupIdentifyStateless(e,t,n,r,i,a){this.wrap(()=>{let o=this.buildPayload({distinct_id:i||`$${e}_${t}`,event:`$groupidentify`,properties:{$group_type:e,$group_key:t,$group_set:n||{},...a||{}}});this.enqueue(`capture`,o,r)})}async getRemoteConfig(){await this._initPromise;let e=this.host;e===`https://us.i.posthog.com`?e=`https://us-assets.i.posthog.com`:e===`https://eu.i.posthog.com`&&(e=`https://eu-assets.i.posthog.com`);let t=`${e}/array/${this.apiKey}/config`,n={method:`GET`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`}};return this.fetchWithRetry(t,n,{retryCount:0},this.remoteConfigRequestTimeoutMs).then(e=>e.json()).catch(e=>{this._logger.error(`Remote config could not be loaded`,e),this._events.emit(`error`,e)})}async getFlags(e,t={},n={},r={},i={},a=!1){await this._initPromise;let o=a?`&config=true`:``,s=`${this.host}/flags/?v=2${o}`,c={token:this.apiKey,distinct_id:e,groups:t,person_properties:n,group_properties:r,...i};this.evaluationContexts&&this.evaluationContexts.length>0&&(c.evaluation_contexts=this.evaluationContexts);let l={method:`POST`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`},body:JSON.stringify(c)};return this._logger.info(`Flags URL`,s),this.fetchWithRetry(s,l,{retryCount:0},this.featureFlagsRequestTimeoutMs).then(e=>e.json()).then(e=>({success:!0,response:lx(e)})).catch(e=>(this._events.emit(`error`,e),{success:!1,error:this.categorizeRequestError(e)}))}categorizeRequestError(e){if(e instanceof _S)return{type:`api_error`,statusCode:e.status};if(e instanceof vS){let t=e.error;return t instanceof Error&&(t.name===`AbortError`||t.name===`TimeoutError`)?{type:`timeout`}:{type:`connection_error`}}return{type:`unknown_error`}}async getFeatureFlagStateless(e,t,n={},r={},i={},a){await this._initPromise;let o=await this.getFeatureFlagDetailStateless(e,t,n,r,i,a);if(o===void 0)return{response:void 0,requestId:void 0};let s=px(o.response);return s===void 0&&(s=!1),{response:s,requestId:o.requestId}}async getFeatureFlagDetailStateless(e,t,n={},r={},i={},a){await this._initPromise;let o=await this.getFeatureFlagDetailsStateless(t,n,r,i,a,[e]);if(o!==void 0)return{response:o.flags[e],requestId:o.requestId,evaluatedAt:o.evaluatedAt}}async getFeatureFlagPayloadStateless(e,t,n={},r={},i={},a){await this._initPromise;let o=await this.getFeatureFlagPayloadsStateless(t,n,r,i,a,[e]);if(!o)return;let s=o[e];return s===void 0?null:s}async getFeatureFlagPayloadsStateless(e,t={},n={},r={},i,a){return await this._initPromise,(await this.getFeatureFlagsAndPayloadsStateless(e,t,n,r,i,a)).payloads}async getFeatureFlagsStateless(e,t={},n={},r={},i,a){return await this._initPromise,await this.getFeatureFlagsAndPayloadsStateless(e,t,n,r,i,a)}async getFeatureFlagsAndPayloadsStateless(e,t={},n={},r={},i,a){await this._initPromise;let o=await this.getFeatureFlagDetailsStateless(e,t,n,r,i,a);return o?{flags:o.featureFlags,payloads:o.featureFlagPayloads,requestId:o.requestId}:{flags:void 0,payloads:void 0,requestId:void 0}}async getFeatureFlagDetailsStateless(e,t={},n={},r={},i,a){await this._initPromise;let o={};(i??this.disableGeoip)&&(o.geoip_disable=!0),a&&(o.flag_keys_to_evaluate=a);let s=await this.getFlags(e,t,n,r,o);if(!s.success)return;let c=s.response;return c.errorsWhileComputingFlags&&console.error(`[FEATURE FLAGS] Error while computing feature flags, some flags may be missing or incorrect. Learn more at https://posthog.com/docs/feature-flags/best-practices`),c.quotaLimited?.includes(`feature_flags`)?(console.warn(`[FEATURE FLAGS] Feature flags quota limit exceeded - feature flags unavailable. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts`),{flags:{},featureFlags:{},featureFlagPayloads:{},requestId:c?.requestId,quotaLimited:c.quotaLimited}):c}async getSurveysStateless(){if(await this._initPromise,!0===this.disableSurveys)return this._logger.info(`Loading surveys is disabled.`),[];let e=`${this.host}/api/surveys/?token=${this.apiKey}`,t={method:`GET`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`}},n=(await this.fetchWithRetry(e,t).then(e=>{if(e.status!==200||!e.json){let t=`Surveys API could not be loaded: ${e.status}`,n=Error(t);this._logger.error(n),this._events.emit(`error`,Error(t));return}return e.json()}).catch(e=>{this._logger.error(`Surveys API could not be loaded`,e),this._events.emit(`error`,e)}))?.surveys;return n&&this._logger.info(`Surveys fetched from API: `,JSON.stringify(n)),n??[]}get props(){return this._props||=this.getPersistedProperty(Sx.Props),this._props||{}}set props(e){this._props=e}async register(e){this.wrap(()=>{this.props={...this.props,...e},this.setPersistedProperty(Sx.Props,this.props)})}async unregister(e){this.wrap(()=>{delete this.props[e],this.setPersistedProperty(Sx.Props,this.props)})}processBeforeEnqueue(e){return e}async flushStorage(){}enqueue(e,t,n){this.wrap(()=>{if(this.optedOut)return void this._events.emit(e,`Library is disabled. Not sending event. To re-enable, call posthog.optIn()`);let r=this.prepareMessage(e,t,n);if(r=this.processBeforeEnqueue(r),r===null)return;let i=this.getPersistedProperty(Sx.Queue)||[];i.length>=this.maxQueueSize&&(i.shift(),this._logger.info(`Queue is full, the oldest event is dropped.`)),i.push({message:r}),this.setPersistedProperty(Sx.Queue,i),this._events.emit(e,r),i.length>=this.flushAt&&this.flushBackground(),this.flushInterval&&!this._flushTimer&&(this._flushTimer=dS(()=>this.flushBackground(),this.flushInterval))})}async sendImmediate(e,t,n){if(this.disabled)return void this._logger.warn(`The client is disabled`);if(this._isInitialized||await this._initPromise,this.optedOut)return void this._events.emit(e,`Library is disabled. Not sending event. To re-enable, call posthog.optIn()`);let r=this.prepareMessage(e,t,n);if(r=this.processBeforeEnqueue(r),r===null)return;let i={api_key:this.apiKey,batch:[r],sent_at:uS()};this.historicalMigration&&(i.historical_migration=!0);let a=JSON.stringify(i),o=`${this.host}/batch/`,s=this.disableCompression?null:await gS(a,this.isDebug),c={method:`POST`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`,...s!==null&&{"Content-Encoding":`gzip`}},body:s||a};try{await this.fetchWithRetry(o,c)}catch(e){this._events.emit(`error`,e)}}prepareMessage(e,t,n){let r={...t,type:e,library:this.getLibraryId(),library_version:this.getLibraryVersion(),timestamp:n?.timestamp?n?.timestamp:uS(),uuid:n?.uuid?n.uuid:bx()};return(n?.disableGeoip??this.disableGeoip)&&(r.properties||={},r.properties.$geoip_disable=!0),r.distinctId&&(r.distinct_id=r.distinctId,delete r.distinctId),r}clearFlushTimer(){this._flushTimer&&=(clearTimeout(this._flushTimer),void 0)}flushBackground(){this.flush().catch(async e=>{await yS(e)})}async flush(){let e=pS([this.flushPromise]).then(()=>this._flush());return this.flushPromise=e,this.addPendingPromise(e),pS([e]).then(()=>{this.flushPromise===e&&(this.flushPromise=null)}),e}getCustomHeaders(){let e=this.getCustomUserAgent(),t={};return e&&e!==``&&(t[`User-Agent`]=e),t}async _flush(){this.clearFlushTimer(),await this._initPromise;let e=this.getPersistedProperty(Sx.Queue)||[];if(!e.length)return;let t=[],n=e.length;for(;e.length>0&&t.length<n;){let n=e.slice(0,this.maxBatchSize),r=n.map(e=>e.message),i=async()=>{let t=(this.getPersistedProperty(Sx.Queue)||[]).slice(n.length);this.setPersistedProperty(Sx.Queue,t),e=t,await this.flushStorage()},a={api_key:this.apiKey,batch:r,sent_at:uS()};this.historicalMigration&&(a.historical_migration=!0);let o=JSON.stringify(a),s=`${this.host}/batch/`,c=this.disableCompression?null:await gS(o,this.isDebug),l={method:`POST`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`,...c!==null&&{"Content-Encoding":`gzip`}},body:c||o},u={retryCheck:e=>xS(e)?!1:bS(e)};try{await this.fetchWithRetry(s,l,u)}catch(e){if(xS(e)&&r.length>1){this.maxBatchSize=Math.max(1,Math.floor(r.length/2)),this._logger.warn(`Received 413 when sending batch of size ${r.length}, reducing batch size to ${this.maxBatchSize}`);continue}throw e instanceof vS||await i(),this._events.emit(`error`,e),e}await i(),t.push(...r)}this._events.emit(`flush`,t)}async fetchWithRetry(e,t,n,r){let i=t.body?t.body:``,a=-1;try{a=i instanceof Blob?i.size:Buffer.byteLength(i,`utf8`)}catch{a=i instanceof Blob?i.size:new TextEncoder().encode(i).length}return await lS(async()=>{let n=new AbortController,i=dS(()=>n.abort(),r??this.requestTimeout),o=null;try{o=await this.fetch(e,{signal:n.signal,...t})}catch(e){throw new vS(e)}finally{clearTimeout(i)}if(t.mode!==`no-cors`&&(o.status<200||o.status>=400))throw new _S(o,a);return o},{...this._retryOptions,...n})}async _shutdown(e=3e4){await this._initPromise;let t=!1;this.clearFlushTimer();let n=async()=>{try{for(await this.promiseQueue.join();!((this.getPersistedProperty(Sx.Queue)||[]).length===0||(await this.flush(),t)););}catch(e){if(!bS(e))throw e;await yS(e)}},r;try{return await Promise.race([new Promise((n,i)=>{r=dS(()=>{this._logger.error(`Timed out while shutting down PostHog`),t=!0,i(`Timeout while shutting down PostHog. Some events may not have been sent.`)},e)}),n()])}finally{clearTimeout(r)}}async shutdown(e=3e4){return this.shutdownPromise?this._logger.warn(`shutdown() called while already shutting down. shutdown() is meant to be called once before process exit - use flush() for per-request cleanup`):this.shutdownPromise=this._shutdown(e).finally(()=>{this.shutdownPromise=null}),this.shutdownPromise}};let CS,wS,TS;function ES(e){let t=globalThis._posthogChunkIds;if(!t)return;let n=Object.keys(t);return TS&&n.length===wS?TS:(wS=n.length,TS=n.reduce((n,r)=>{CS||={};let i=CS[r];if(i)n[i[0]]=i[1];else{let i=e(r);for(let e=i.length-1;e>=0;e--){let a=i[e]?.filename,o=t[r];if(a&&o){n[a]=o,CS[r]=[a,o];break}}}return n},{}),TS)}var DS=class{constructor(e,t,n=[]){this.coercers=e,this.stackParser=t,this.modifiers=n}buildFromUnknown(e,t={}){let n=t&&t.mechanism||{handled:!0,type:`generic`},r=this.buildCoercingContext(n,t,0).apply(e),i=this.buildParsingContext(t),a=this.parseStacktrace(r,i);return{$exception_list:this.convertToExceptionList(a,n),$exception_level:`error`}}async modifyFrames(e){for(let t of e)t.stacktrace&&t.stacktrace.frames&&Ox(t.stacktrace.frames)&&(t.stacktrace.frames=await this.applyModifiers(t.stacktrace.frames));return e}coerceFallback(e){return{type:`Error`,value:`Unknown error`,stack:e.syntheticException?.stack,synthetic:!0}}parseStacktrace(e,t){let n;e.cause!=null&&(n=this.parseStacktrace(e.cause,t));let r;return e.stack!=``&&e.stack!=null&&(r=this.applyChunkIds(this.stackParser(e.stack,e.synthetic?t.skipFirstLines:0),t.chunkIdMap)),{...e,cause:n,stack:r}}applyChunkIds(e,t){return e.map(e=>(e.filename&&t&&(e.chunk_id=t[e.filename]),e))}applyCoercers(e,t){for(let n of this.coercers)if(n.match(e))return n.coerce(e,t);return this.coerceFallback(t)}async applyModifiers(e){let t=e;for(let e of this.modifiers)t=await e(t);return t}convertToExceptionList(e,t){let n={type:e.type,value:e.value,mechanism:{type:t.type??`generic`,handled:t.handled??!0,synthetic:e.synthetic??!1}};e.stack&&(n.stacktrace={type:`raw`,frames:e.stack});let r=[n];return e.cause!=null&&r.push(...this.convertToExceptionList(e.cause,{...t,handled:!0})),r}buildParsingContext(e){return{chunkIdMap:ES(this.stackParser),skipFirstLines:e.skipFirstLines??1}}buildCoercingContext(e,t,n=0){let r=(n,r)=>{if(r<=4){let i=this.buildCoercingContext(e,t,r);return this.applyCoercers(n,i)}};return{...t,syntheticException:n==0?t.syntheticException:void 0,mechanism:e,apply:e=>r(e,n),next:e=>r(e,n+1)}}};const OS=/^\s*[-]{4,}$/,kS=/at (?:async )?(?:(.+?)\s+\()?(?:(.+):(\d+):(\d+)?|([^)]+))\)?/,AS=(e,t)=>{let n=e.match(kS);if(n){let e,r,i,a,o;if(n[1]){i=n[1];let t=i.lastIndexOf(`.`);if(i[t-1]===`.`&&t--,t>0){e=i.slice(0,t),r=i.slice(t+1);let n=e.indexOf(`.Module`);n>0&&(i=i.slice(n+1),e=e.slice(0,n))}a=void 0}r&&(a=e,o=r),r===`<anonymous>`&&(o=void 0,i=void 0),i===void 0&&(o||=`?`,i=a?`${a}.${o}`:o);let s=n[2]?.startsWith(`file://`)?n[2].slice(7):n[2],c=n[5]===`native`;return s?.match(/\/[A-Z]:/)&&(s=s.slice(1)),!s&&n[5]&&!c&&(s=n[5]),{filename:s?decodeURI(s):void 0,module:void 0,function:i,lineno:MS(n[3]),colno:MS(n[4]),in_app:jS(s||``,c),platform:t}}if(e.match(OS))return{filename:e,platform:t}};function jS(e,t=!1){return!(t||e&&!e.startsWith(`/`)&&!e.match(/^[A-Z]:/)&&!e.startsWith(`.`)&&!e.match(/^[a-zA-Z]([a-zA-Z0-9.\-+])*:\/\//))&&e!==void 0&&!e.includes(`node_modules/`)}function MS(e){return parseInt(e||``,10)||void 0}const NS=/\(error: (.*)\)/;function PS(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,50).map(e=>({...e,filename:e.filename||FS(t).filename,function:e.function||`?`}))}function FS(e){return e[e.length-1]||{}}function IS(e,...t){return(n,r=0)=>{let i=[],a=n.split(`
|
|
33
|
+
`);for(let n=r;n<a.length;n++){let r=a[n];if(r.length>1024)continue;let o=NS.test(r)?r.replace(NS,`$1`):r;if(!o.match(/\S*Error: /)){for(let n of t){let t=n(o,e);if(t){i.push(t);break}}if(i.length>=50)break}}return PS(i)}}var LS=class{match(e){return Px(e)}coerce(e,t){return{type:this.getType(e),value:this.getMessage(e,t),stack:this.getStack(e),cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return e.name||e.constructor.name}getMessage(e,t){let n=e.message;return n.error&&typeof n.error.message==`string`?String(n.error.message):String(n)}getStack(e){return e.stacktrace||e.stack||void 0}};const RS=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;var zS=class{match(e){return typeof e==`string`}coerce(e,t){let[n,r]=this.getInfos(e);return{type:n??`Error`,value:r??e,stack:t.syntheticException?.stack,synthetic:!0}}getInfos(e){let t=`Error`,n=e,r=e.match(RS);return r&&(t=r[1],n=r[2]),[t,n]}};const BS=[`fatal`,`error`,`warning`,`log`,`info`,`debug`];function VS(e,t=40){let n=Object.keys(e);if(n.sort(),!n.length)return`[object has no keys]`;for(let e=n.length;e>0;e--){let r=n.slice(0,e).join(`, `);if(!(r.length>t))return e===n.length||r.length<=t?r:`${r.slice(0,t)}...`}return``}var HS=class{match(e){return typeof e==`object`&&!!e}coerce(e,t){let n=this.getErrorPropertyFromObject(e);return n?t.apply(n):{type:this.getType(e),value:this.getValue(e),stack:t.syntheticException?.stack,level:this.isSeverityLevel(e.level)?e.level:`error`,synthetic:!0}}getType(e){return Lx(e)?e.constructor.name:`Error`}getValue(e){if(`name`in e&&typeof e.name==`string`){let t=`'${e.name}' captured as exception`;return`message`in e&&typeof e.message==`string`&&(t+=` with message: '${e.message}'`),t}if(`message`in e&&typeof e.message==`string`)return e.message;let t=this.getObjectClassName(e),n=VS(e);return`${t&&t!==`Object`?`'${t}'`:`Object`} captured as exception with keys: ${n}`}isSeverityLevel(e){return jx(e)&&!Mx(e)&&BS.indexOf(e)>=0}getErrorPropertyFromObject(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let n=e[t];if(fS(n))return n}}getObjectClassName(e){try{let t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{return}}},US=class{match(e){return Lx(e)}coerce(e,t){let n=e.constructor.name;return{type:n,value:`${n} captured as exception with keys: ${VS(e)}`,stack:t.syntheticException?.stack,synthetic:!0}}},WS=class{match(e){return Fx(e)}coerce(e,t){return{type:`Error`,value:`Primitive value captured as exception: ${String(e)}`,stack:t.syntheticException?.stack,synthetic:!0}}},GS=class{constructor(e){this._maxSize=e,this._cache=new Map}get(e){let t=this._cache.get(e);if(t!==void 0)return this._cache.delete(e),this._cache.set(e,t),t}set(e,t){this._cache.set(e,t)}reduce(){for(;this._cache.size>=this._maxSize;){let e=this._cache.keys().next().value;e&&this._cache.delete(e)}}};const KS=new GS(25),qS=new GS(20);async function JS(e){let t={};for(let n=e.length-1;n>=0;n--){let r=e[n],i=r?.filename;!r||typeof i!=`string`||typeof r.lineno!=`number`||$S(i)||eC(r)||(t[i]||(t[i]=[]),t[i].push(r.lineno))}let n=Object.keys(t);if(n.length==0)return e;let r=[];for(let e of n){if(qS.get(e))continue;let n=t[e];if(!n)continue;n.sort((e,t)=>e-t);let i=nC(n);if(i.every(t=>tC(e,t)))continue;let a=oC(KS,e,{});r.push(YS(e,i,a))}return await Promise.all(r).catch(()=>{}),e&&e.length>0&&XS(e,KS),KS.reduce(),e}function YS(e,t,n){return new Promise(r=>{let i=Ma(e),a=Ia({input:i});function o(){i.destroy(),r()}let s=0,c=0,l=t[c];if(l===void 0)return void o();let u=l[0],d=l[1];function f(){qS.set(e,1),a.close(),a.removeAllListeners(),o()}i.on(`error`,f),a.on(`error`,f),a.on(`close`,o),a.on(`line`,e=>{if(s++,!(s<u)&&(n[s]=sC(e,0),s>=d)){if(c===t.length-1){a.close(),a.removeAllListeners();return}c++;let e=t[c];if(e===void 0){a.close(),a.removeAllListeners();return}u=e[0],d=e[1]}})})}function XS(e,t){for(let n of e)if(n.filename&&n.context_line===void 0&&typeof n.lineno==`number`){let e=t.get(n.filename);if(e===void 0)continue;ZS(n.lineno,n,e)}}function ZS(e,t,n){if(t.lineno===void 0||n===void 0)return;t.pre_context=[];for(let r=iC(e);r<e;r++){let e=n[r];if(e===void 0)return void QS(t);t.pre_context.push(e)}if(n[e]===void 0)return void QS(t);t.context_line=n[e];let r=aC(e);t.post_context=[];for(let i=e+1;i<=r;i++){let e=n[i];if(e===void 0)break;t.post_context.push(e)}}function QS(e){delete e.pre_context,delete e.context_line,delete e.post_context}function $S(e){return e.startsWith(`node:`)||e.endsWith(`.min.js`)||e.endsWith(`.min.cjs`)||e.endsWith(`.min.mjs`)||e.startsWith(`data:`)}function eC(e){return e.lineno!==void 0&&e.lineno>1e4||e.colno!==void 0&&e.colno>1e3}function tC(e,t){let n=KS.get(e);if(n===void 0)return!1;for(let e=t[0];e<=t[1];e++)if(n[e]===void 0)return!1;return!0}function nC(e){if(!e.length)return[];let t=0,n=e[0];if(typeof n!=`number`)return[];let r=rC(n),i=[];for(;;){if(t===e.length-1){i.push(r);break}let n=e[t+1];if(typeof n!=`number`)break;n<=r[1]?r[1]=n+7:(i.push(r),r=rC(n)),t++}return i}function rC(e){return[iC(e),aC(e)]}function iC(e){return Math.max(1,e-7)}function aC(e){return e+7}function oC(e,t,n){let r=e.get(t);return r===void 0?(e.set(t,n),n):r}function sC(e,t){let n=e,r=n.length;if(r<=150)return n;t>r&&(t=r);let i=Math.max(t-60,0);i<5&&(i=0);let a=Math.min(i+140,r);return a>r-5&&(a=r),a===r&&(i=Math.max(a-140,0)),n=n.slice(i,a),i>0&&(n=`...${n}`),a<r&&(n+=`...`),n}function cC(e,t){let n=!1;return Object.assign(r=>{let i=global.process.listeners(`uncaughtException`).filter(e=>e.name!==`domainUncaughtExceptionClear`&&!0!==e._posthogErrorHandler).length===0;e(r,{mechanism:{type:`onuncaughtexception`,handled:!1}}),!n&&i&&(n=!0,t(r))},{_posthogErrorHandler:!0})}function lC(e,t){globalThis.process?.on(`uncaughtException`,cC(e,t))}function uC(e){globalThis.process?.on(`unhandledRejection`,t=>e(t,{mechanism:{type:`onunhandledrejection`,handled:!1}}))}var dC=class e{constructor(e,t,n){this.client=e,this._exceptionAutocaptureEnabled=t.enableExceptionAutocapture||!1,this._logger=n,this._rateLimiter=new Vx({refillRate:1,bucketSize:10,refillInterval:1e4,_logger:this._logger}),this.startAutocaptureIfEnabled()}static isPreviouslyCapturedError(e){return kx(e)&&`__posthog_previously_captured_error`in e&&!0===e.__posthog_previously_captured_error}static async buildEventMessage(e,t,n,r){let i={...r};n||(i.$process_person_profile=!1);let a=this.errorPropertiesBuilder.buildFromUnknown(e,t);return a.$exception_list=await this.errorPropertiesBuilder.modifyFrames(a.$exception_list),{event:`$exception`,distinctId:n||bx(),properties:{...a,...i},_originatedFromCaptureException:!0}}startAutocaptureIfEnabled(){this.isEnabled()&&(lC(this.onException.bind(this),this.onFatalError.bind(this)),uC(this.onException.bind(this)))}onException(t,n){this.client.addPendingPromise((async()=>{if(!e.isPreviouslyCapturedError(t)){let r=await e.buildEventMessage(t,n),i=r.properties?.$exception_list[0]?.type??`Exception`;return this._rateLimiter.consumeRateLimit(i)?void this._logger.info(`Skipping exception capture because of client rate limiting.`,{exception:i}):this.client.capture(r)}})())}async onFatalError(e){console.error(e),await this.client.shutdown(2e3),process.exit(1)}isEnabled(){return!this.client.isDisabled&&this._exceptionAutocaptureEnabled}shutdown(){this._rateLimiter.stop()}};const fC={ERRORS_WHILE_COMPUTING:`errors_while_computing_flags`,FLAG_MISSING:`flag_missing`,QUOTA_LIMITED:`quota_limited`,UNKNOWN_ERROR:`unknown_error`};async function pC(e){let t=globalThis.crypto?.subtle;if(!t)throw Error(`SubtleCrypto API not available`);let n=await t.digest(`SHA-1`,new TextEncoder().encode(e));return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}const mC=[`is_not`];var hC=class e extends Error{constructor(t){super(),Error.captureStackTrace(this,this.constructor),this.name=`ClientError`,this.message=t,Object.setPrototypeOf(this,e.prototype)}},gC=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},_C=class e extends Error{constructor(t){super(t),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor),Object.setPrototypeOf(this,e.prototype)}},vC=class{constructor({pollingInterval:e,personalApiKey:t,projectApiKey:n,timeout:r,host:i,customHeaders:a,...o}){this.debugMode=!1,this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.pollingInterval=e,this.personalApiKey=t,this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={},this.loadedSuccessfullyOnce=!1,this.timeout=r,this.projectApiKey=n,this.host=i,this.poller=void 0,this.fetch=o.fetch||fetch,this.onError=o.onError,this.customHeaders=a,this.onLoad=o.onLoad,this.cacheProvider=o.cacheProvider,this.strictLocalEvaluation=o.strictLocalEvaluation??!1,this.loadFeatureFlags()}debug(e=!0){this.debugMode=e}logMsgIfDebug(e){this.debugMode&&e()}createEvaluationContext(e,t={},n={},r={},i={}){return{distinctId:e,groups:t,personProperties:n,groupProperties:r,evaluationCache:i}}async getFeatureFlag(e,t,n={},r={},i={}){await this.loadFeatureFlags();let a,o;if(!this.loadedSuccessfullyOnce)return a;if(o=this.featureFlagsByKey[e],o!==void 0){let s=this.createEvaluationContext(t,n,r,i);try{a=(await this.computeFlagAndPayloadLocally(o,s)).value,this.logMsgIfDebug(()=>console.debug(`Successfully computed flag locally: ${e} -> ${a}`))}catch(t){t instanceof _C||t instanceof gC?this.logMsgIfDebug(()=>console.debug(`${t.name} when computing flag locally: ${e}: ${t.message}`)):t instanceof Error&&this.onError?.(Error(`Error computing flag locally: ${e}: ${t}`))}}return a}async getAllFlagsAndPayloads(e,t){await this.loadFeatureFlags();let n={},r={},i=this.featureFlags.length==0,a=t?t.map(e=>this.featureFlagsByKey[e]).filter(Boolean):this.featureFlags,o={...e,evaluationCache:e.evaluationCache??{}};return await Promise.all(a.map(async e=>{try{let{value:t,payload:i}=await this.computeFlagAndPayloadLocally(e,o);n[e.key]=t,i&&(r[e.key]=i)}catch(t){t instanceof _C||t instanceof gC?this.logMsgIfDebug(()=>console.debug(`${t.name} when computing flag locally: ${e.key}: ${t.message}`)):t instanceof Error&&this.onError?.(Error(`Error computing flag locally: ${e.key}: ${t}`)),i=!0}})),{response:n,payloads:r,fallbackToFlags:i}}async computeFlagAndPayloadLocally(e,t,n={}){let{matchValue:r,skipLoadCheck:i=!1}=n;if(i||await this.loadFeatureFlags(),!this.loadedSuccessfullyOnce)return{value:!1,payload:null};let a;a=r===void 0?await this.computeFlagValueLocally(e,t):r;let o=this.getFeatureFlagPayload(e.key,a);return{value:a,payload:o}}async computeFlagValueLocally(e,t){let{distinctId:n,groups:r,personProperties:i,groupProperties:a}=t;if(e.ensure_experience_continuity)throw new gC(`Flag has experience continuity enabled`);if(!e.active)return!1;let o=(e.filters||{}).aggregation_group_type_index;if(o!=null){let n=this.groupTypeMapping[String(o)];if(!n)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Unknown group type index ${o} for feature flag ${e.key}`)),new gC(`Flag has unknown group type index`);if(!(n in r))return this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute group feature flag: ${e.key} without group names passed in`)),!1;e.bucketing_identifier===`device_id`&&(i?.$device_id===void 0||i?.$device_id===null||i?.$device_id===``)&&this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Ignoring bucketing_identifier for group flag: ${e.key}`));let s=a[n];return await this.matchFeatureFlagProperties(e,r[n],s,t)}{let r=this.getBucketingValueForFlag(e,n,i);if(r===void 0)throw this.logMsgIfDebug(()=>console.warn(`[FEATURE FLAGS] Can't compute feature flag: ${e.key} without $device_id, falling back to server evaluation`)),new gC(`Can't compute feature flag: ${e.key} without $device_id`);return await this.matchFeatureFlagProperties(e,r,i,t)}}getBucketingValueForFlag(e,t,n){if(e.filters?.aggregation_group_type_index!=null)return t;if(e.bucketing_identifier===`device_id`){let e=n?.$device_id;return e==null||e===``?void 0:e}return t}getFeatureFlagPayload(e,t){let n=null;if(!1!==t&&t!=null&&(typeof t==`boolean`?n=this.featureFlagsByKey?.[e]?.filters?.payloads?.[t.toString()]||null:typeof t==`string`&&(n=this.featureFlagsByKey?.[e]?.filters?.payloads?.[t]||null),n!=null)){if(typeof n==`object`)return n;if(typeof n==`string`)try{return JSON.parse(n)}catch{}return n}return null}async evaluateFlagDependency(e,t,n){let{evaluationCache:r}=n,i=e.key;if(!this.featureFlagsByKey)throw new gC(`Feature flags not available for dependency evaluation`);if(!(`dependency_chain`in e))throw new gC(`Flag dependency property for '${i}' is missing required 'dependency_chain' field`);let a=e.dependency_chain;if(!Array.isArray(a))throw new gC(`Flag dependency property for '${i}' has an invalid 'dependency_chain' (expected array, got ${typeof a})`);if(a.length===0)throw new gC(`Circular dependency detected for flag '${i}' (empty dependency chain)`);for(let e of a){if(!(e in r)){let t=this.featureFlagsByKey[e];if(t)if(t.active)try{r[e]=await this.computeFlagValueLocally(t,n)}catch(t){throw new gC(`Error evaluating flag dependency '${e}' for flag '${i}': ${t}`)}else r[e]=!1;else throw new gC(`Missing flag dependency '${e}' for flag '${i}'`)}if(r[e]==null)throw new gC(`Dependency '${e}' could not be evaluated`)}let o=r[i];return this.flagEvaluatesToExpectedValue(e.value,o)}flagEvaluatesToExpectedValue(e,t){return typeof e==`boolean`?e===t||typeof t==`string`&&t!==``&&!0===e:typeof e==`string`?t===e:!1}async matchFeatureFlagProperties(e,t,n,r){let i=e.filters||{},a=i.groups||[],o=!1,s;for(let c of a)try{if(await this.isConditionMatch(e,t,c,n,r)){let n=c.variant,r=i.multivariate?.variants||[];s=n&&r.some(e=>e.key===n)?n:await this.getMatchingVariant(e,t)||!0;break}}catch(e){if(e instanceof _C)throw e;if(e instanceof gC)o=!0;else throw e}if(s!==void 0)return s;if(o)throw new gC(`Can't determine if feature flag is enabled or not with given properties`);return!1}async isConditionMatch(e,t,n,r,i){let a=n.rollout_percentage,o=e=>{this.logMsgIfDebug(()=>console.warn(e))};if((n.properties||[]).length>0){for(let e of n.properties){let t=e.type,n=!1;if(n=t===`cohort`?SC(e,r,this.cohorts,this.debugMode):t===`flag`?await this.evaluateFlagDependency(e,r,i):bC(e,r,o),!n)return!1}if(a==null)return!0}return!(a!=null&&await yC(e.key,t)>a/100)}async getMatchingVariant(e,t){let n=await yC(e.key,t,`variant`),r=this.variantLookupTable(e).find(e=>n>=e.valueMin&&n<e.valueMax);if(r)return r.key}variantLookupTable(e){let t=[],n=0,r=0;return((e.filters||{}).multivariate?.variants||[]).forEach(e=>{r=n+e.rollout_percentage/100,t.push({valueMin:n,valueMax:r,key:e.key}),n=r}),t}updateFlagState(e){this.featureFlags=e.flags,this.featureFlagsByKey=e.flags.reduce((e,t)=>(e[t.key]=t,e),{}),this.groupTypeMapping=e.groupTypeMapping,this.cohorts=e.cohorts,this.loadedSuccessfullyOnce=!0}warnAboutExperienceContinuityFlags(e){if(this.strictLocalEvaluation)return;let t=e.filter(e=>e.ensure_experience_continuity);t.length>0&&console.warn(`[PostHog] You are using local evaluation but ${t.length} flag(s) have experience continuity enabled: ${t.map(e=>e.key).join(`, `)}. Experience continuity is incompatible with local evaluation and will cause a server request on every flag evaluation, negating local evaluation cost savings. To avoid server requests and unexpected costs, either disable experience continuity on these flags in PostHog, use strictLocalEvaluation: true in client init, or pass onlyEvaluateLocally: true per flag call (flags that cannot be evaluated locally will return undefined).`)}async loadFromCache(e){if(!this.cacheProvider)return!1;try{let t=await this.cacheProvider.getFlagDefinitions();return t?(this.updateFlagState(t),this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] ${e} (${t.flags.length} flags)`)),this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(t.flags),!0):!1}catch(e){return this.onError?.(Error(`Failed to load from cache: ${e}`)),!1}}async loadFeatureFlags(e=!1){if(!(this.loadedSuccessfullyOnce&&!e))return!e&&this.nextFetchAllowedAt&&Date.now()<this.nextFetchAllowedAt?void this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Skipping fetch, in backoff period`)):(this.loadingPromise||=this._loadFeatureFlags().catch(e=>this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Failed to load feature flags: ${e}`))).finally(()=>{this.loadingPromise=void 0}),this.loadingPromise)}isLocalEvaluationReady(){return(this.loadedSuccessfullyOnce??!1)&&(this.featureFlags?.length??0)>0}getFlagDefinitionsLoadedAt(){return this.flagDefinitionsLoadedAt}getPollingInterval(){return this.shouldBeginExponentialBackoff?Math.min(6e4,this.pollingInterval*2**this.backOffCount):this.pollingInterval}beginBackoff(){this.shouldBeginExponentialBackoff=!0,this.backOffCount+=1,this.nextFetchAllowedAt=Date.now()+this.getPollingInterval()}clearBackoff(){this.shouldBeginExponentialBackoff=!1,this.backOffCount=0,this.nextFetchAllowedAt=void 0}async _loadFeatureFlags(){this.poller&&=(clearTimeout(this.poller),void 0),this.poller=setTimeout(()=>this.loadFeatureFlags(!0),this.getPollingInterval());try{let e=!0;if(this.cacheProvider)try{e=await this.cacheProvider.shouldFetchFlagDefinitions()}catch(e){this.onError?.(Error(`Error in shouldFetchFlagDefinitions: ${e}`))}if(!e&&(await this.loadFromCache(`Loaded flags from cache (skipped fetch)`)||this.loadedSuccessfullyOnce))return;let t=await this._requestFeatureFlagDefinitions();if(!t)return;switch(t.status){case 304:this.logMsgIfDebug(()=>console.debug(`[FEATURE FLAGS] Flags not modified (304), using cached data`)),this.flagsEtag=t.headers?.get(`ETag`)??this.flagsEtag,this.loadedSuccessfullyOnce=!0,this.clearBackoff();return;case 401:throw this.beginBackoff(),new hC(`Your project key or personal API key is invalid. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 402:console.warn(`[FEATURE FLAGS] Feature flags quota limit exceeded - unsetting all local flags. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts`),this.featureFlags=[],this.featureFlagsByKey={},this.groupTypeMapping={},this.cohorts={};return;case 403:throw this.beginBackoff(),new hC(`Your personal API key does not have permission to fetch feature flag definitions for local evaluation. Setting next polling interval to ${this.getPollingInterval()}ms. Are you sure you're using the correct personal and Project API key pair? More information: https://posthog.com/docs/api/overview`);case 429:throw this.beginBackoff(),new hC(`You are being rate limited. Setting next polling interval to ${this.getPollingInterval()}ms. More information: https://posthog.com/docs/api#rate-limiting`);case 200:{let n=await t.json()??{};if(!(`flags`in n))return void this.onError?.(Error(`Invalid response when getting feature flags: ${JSON.stringify(n)}`));this.flagsEtag=t.headers?.get(`ETag`)??void 0;let r={flags:n.flags??[],groupTypeMapping:n.group_type_mapping||{},cohorts:n.cohorts||{}};if(this.updateFlagState(r),this.flagDefinitionsLoadedAt=Date.now(),this.clearBackoff(),this.cacheProvider&&e)try{await this.cacheProvider.onFlagDefinitionsReceived(r)}catch(e){this.onError?.(Error(`Failed to store in cache: ${e}`))}this.onLoad?.(this.featureFlags.length),this.warnAboutExperienceContinuityFlags(r.flags);break}default:return}}catch(e){e instanceof hC&&this.onError?.(e)}}getPersonalApiKeyRequestOptions(e=`GET`,t){let n={...this.customHeaders,"Content-Type":`application/json`,Authorization:`Bearer ${this.personalApiKey}`};return t&&(n[`If-None-Match`]=t),{method:e,headers:n}}_requestFeatureFlagDefinitions(){let e=`${this.host}/api/feature_flag/local_evaluation?token=${this.projectApiKey}&send_cohorts`,t=this.getPersonalApiKeyRequestOptions(`GET`,this.flagsEtag),n=null;if(this.timeout&&typeof this.timeout==`number`){let e=new AbortController;n=dS(()=>{e.abort()},this.timeout),t.signal=e.signal}try{let n=this.fetch;return n(e,t)}finally{clearTimeout(n)}}async stopPoller(e=3e4){if(clearTimeout(this.poller),this.cacheProvider)try{let t=this.cacheProvider.shutdown();t instanceof Promise&&await Promise.race([t,new Promise((t,n)=>setTimeout(()=>n(Error(`Cache shutdown timeout after ${e}ms`)),e))])}catch(e){this.onError?.(Error(`Error during cache shutdown: ${e}`))}}};async function yC(e,t,n=``){let r=await pC(`${e}.${t}${n}`);return parseInt(r.slice(0,15),16)/0x1000000000000000}function bC(e,t,n){let r=e.key,i=e.value,a=e.operator||`exact`;if(r in t){if(a===`is_not_set`)throw new gC(`Operator is_not_set is not supported`)}else throw new gC(`Property ${r} not found in propertyValues`);let o=t[r];if(o==null&&!mC.includes(a))return n&&n(`Property ${r} cannot have a value of null/undefined with the ${a} operator`),!1;function s(e,t){return Array.isArray(e)?e.map(e=>String(e).toLowerCase()).includes(String(t).toLowerCase()):String(e).toLowerCase()===String(t).toLowerCase()}function c(e,t,n){if(n===`gt`)return e>t;if(n===`gte`)return e>=t;if(n===`lt`)return e<t;if(n===`lte`)return e<=t;throw Error(`Invalid operator: ${n}`)}switch(a){case`exact`:return s(i,o);case`is_not`:return!s(i,o);case`is_set`:return r in t;case`icontains`:return String(o).toLowerCase().includes(String(i).toLowerCase());case`not_icontains`:return!String(o).toLowerCase().includes(String(i).toLowerCase());case`regex`:return wC(String(i))&&String(o).match(String(i))!==null;case`not_regex`:return wC(String(i))&&String(o).match(String(i))===null;case`gt`:case`gte`:case`lt`:case`lte`:{let e=typeof i==`number`?i:null;if(typeof i==`string`)try{e=parseFloat(i)}catch{}return e==null||o==null?c(String(o),String(i),a):typeof o==`string`?c(o,String(i),a):c(o,e,a)}case`is_date_after`:case`is_date_before`:{if(typeof i==`boolean`)throw new gC(`Date operations cannot be performed on boolean values`);let e=jC(String(i));if(e??=AC(i),e==null)throw new gC(`Invalid date: ${i}`);let t=AC(o);return[`is_date_before`].includes(a)?t<e:t>e}case`semver_eq`:return EC(TC(String(o)),TC(String(i)))===0;case`semver_neq`:return EC(TC(String(o)),TC(String(i)))!==0;case`semver_gt`:return EC(TC(String(o)),TC(String(i)))>0;case`semver_gte`:return EC(TC(String(o)),TC(String(i)))>=0;case`semver_lt`:return EC(TC(String(o)),TC(String(i)))<0;case`semver_lte`:return EC(TC(String(o)),TC(String(i)))<=0;case`semver_tilde`:{let e=TC(String(o)),{lower:t,upper:n}=DC(String(i));return EC(e,t)>=0&&EC(e,n)<0}case`semver_caret`:{let e=TC(String(o)),{lower:t,upper:n}=OC(String(i));return EC(e,t)>=0&&EC(e,n)<0}case`semver_wildcard`:{let e=TC(String(o)),{lower:t,upper:n}=kC(String(i));return EC(e,t)>=0&&EC(e,n)<0}default:throw new gC(`Unknown operator: ${a}`)}}function xC(e,t){if(!(e in t))throw new _C(`cohort ${e} not found in local cohorts - likely a static cohort that requires server evaluation`)}function SC(e,t,n,r=!1){let i=String(e.value);xC(i,n);let a=n[i];return CC(a,t,n,r)}function CC(e,t,n,r=!1){if(!e)return!0;let i=e.type,a=e.values;if(!a||a.length===0)return!0;let o=!1;if(`values`in a[0]){for(let e of a)try{let a=CC(e,t,n,r);if(i===`AND`){if(!a)return!1}else if(a)return!0}catch(t){if(t instanceof _C)throw t;if(t instanceof gC)r&&console.debug(`Failed to compute property ${e} locally: ${t}`),o=!0;else throw t}if(o)throw new gC(`Can't match cohort without a given cohort property value`);return i===`AND`}for(let e of a)try{let a;if(e.type===`cohort`)a=SC(e,t,n,r);else if(e.type===`flag`){r&&console.warn(`[FEATURE FLAGS] Flag dependency filters are not supported in local evaluation. Skipping condition with dependency on flag '${e.key||`unknown`}'`);continue}else a=bC(e,t);let o=e.negation||!1;if(i===`AND`){if(!a&&!o||a&&o)return!1}else if(a&&!o||!a&&o)return!0}catch(t){if(t instanceof _C)throw t;if(t instanceof gC)r&&console.debug(`Failed to compute property ${e} locally: ${t}`),o=!0;else throw t}if(o)throw new gC(`can't match cohort without a given cohort property value`);return i===`AND`}function wC(e){try{return new RegExp(e),!0}catch{return!1}}function TC(e){let t=String(e).trim().replace(/^[vV]/,``).split(`-`)[0].split(`+`)[0];if(!t||t.startsWith(`.`))throw new gC(`Invalid semver: ${e}`);let n=t.split(`.`),r=t=>{if(t===void 0||t===``)return 0;if(!/^\d+$/.test(t))throw new gC(`Invalid semver: ${e}`);return parseInt(t,10)};return[r(n[0]),r(n[1]),r(n[2])]}function EC(e,t){for(let n=0;n<3;n++){if(e[n]<t[n])return-1;if(e[n]>t[n])return 1}return 0}function DC(e){let t=TC(e);return{lower:[t[0],t[1],t[2]],upper:[t[0],t[1]+1,0]}}function OC(e){let[t,n,r]=TC(e),i=[t,n,r],a;return a=t>0?[t+1,0,0]:n>0?[0,n+1,0]:[0,0,r+1],{lower:i,upper:a}}function kC(e){let t=String(e).trim().replace(/^[vV]/,``).replace(/\.\*$/,``).replace(/\*$/,``);if(!t)throw new gC(`Invalid wildcard semver: ${e}`);let n=t.split(`.`),r=parseInt(n[0],10);if(isNaN(r))throw new gC(`Invalid wildcard semver: ${e}`);let i,a;if(n.length===1)i=[r,0,0],a=[r+1,0,0];else{let t=parseInt(n[1],10);if(isNaN(t))throw new gC(`Invalid wildcard semver: ${e}`);i=[r,t,0],a=[r,t+1,0]}return{lower:i,upper:a}}function AC(e){if(e instanceof Date)return e;if(typeof e==`string`||typeof e==`number`){let t=new Date(e);if(!isNaN(t.valueOf()))return t;throw new gC(`${e} is in an invalid date format`)}throw new gC(`The date provided ${e} must be a string, number, or date object`)}function jC(e){let t=e.match(/^-?(?<number>[0-9]+)(?<interval>[a-z])$/),n=new Date(new Date().toISOString());if(!t)return null;{if(!t.groups)return null;let e=parseInt(t.groups.number);if(e>=1e4)return null;let r=t.groups.interval;if(r==`h`)n.setUTCHours(n.getUTCHours()-e);else if(r==`d`)n.setUTCDate(n.getUTCDate()-e);else if(r==`w`)n.setUTCDate(n.getUTCDate()-7*e);else if(r==`m`)n.setUTCMonth(n.getUTCMonth()-e);else{if(r!=`y`)return null;n.setUTCFullYear(n.getUTCFullYear()-e)}return n}}var MC=class{getProperty(e){return this._memoryStorage[e]}setProperty(e,t){this._memoryStorage[e]=t===null?void 0:t}constructor(){this._memoryStorage={}}};const NC=3e4;var PC=class extends SS{constructor(e,t={}){if(super(e,t),this._memoryStorage=new MC,this.options=t,this.context=this.initializeContext(),this.options.featureFlagsPollingInterval=typeof t.featureFlagsPollingInterval==`number`?Math.max(t.featureFlagsPollingInterval,100):NC,typeof t.waitUntilDebounceMs==`number`&&(this.options.waitUntilDebounceMs=Math.max(t.waitUntilDebounceMs,0)),typeof t.waitUntilMaxWaitMs==`number`&&(this.options.waitUntilMaxWaitMs=Math.max(t.waitUntilMaxWaitMs,0)),t.personalApiKey){if(t.personalApiKey.includes(`phc_`))throw Error(`Your Personal API key is invalid. These keys are prefixed with "phx_" and can be created in PostHog project settings.`);!1!==t.enableLocalEvaluation&&(this.featureFlagsPoller=new vC({pollingInterval:this.options.featureFlagsPollingInterval,personalApiKey:t.personalApiKey,projectApiKey:e,timeout:t.requestTimeout??1e4,host:this.host,fetch:t.fetch,onError:e=>{this._events.emit(`error`,e)},onLoad:e=>{this._events.emit(`localEvaluationFlagsLoaded`,e)},customHeaders:this.getCustomHeaders(),cacheProvider:t.flagDefinitionCacheProvider,strictLocalEvaluation:t.strictLocalEvaluation}))}this.errorTracking=new dC(this,t,this._logger),this.distinctIdHasSentFlagCalls={},this.maxCacheSize=t.maxCacheSize||5e4}enqueue(e,t,n){super.enqueue(e,t,n),this.scheduleDebouncedFlush()}async flush(){let e=super.flush(),t=this.options.waitUntil;if(t&&!this._waitUntilCycle)try{t(e.catch(()=>{}))}catch{}return e}scheduleDebouncedFlush(){let e=this.options.waitUntil;if(!e||this.disabled||this.optedOut)return;if(!this._waitUntilCycle){let t,n=new Promise(e=>{t=e});try{e(n)}catch{return}this._waitUntilCycle={resolve:t,startedAt:Date.now(),timer:void 0}}let t=Date.now()-this._waitUntilCycle.startedAt>=(this.options.waitUntilMaxWaitMs??500);if(this._waitUntilCycle.timer!==void 0&&clearTimeout(this._waitUntilCycle.timer),t)return void this.resolveWaitUntilFlush();let n=this.options.waitUntilDebounceMs??50;this._waitUntilCycle.timer=dS(()=>{this.resolveWaitUntilFlush()},n)}_consumeWaitUntilCycle(){let e=this._waitUntilCycle;return e&&(clearTimeout(e.timer),this._waitUntilCycle=void 0),e?.resolve}async resolveWaitUntilFlush(){let e=this._consumeWaitUntilCycle();try{await super.flush()}catch{}finally{e?.()}}getPersistedProperty(e){return this._memoryStorage.getProperty(e)}setPersistedProperty(e,t){return this._memoryStorage.setProperty(e,t)}fetch(e,t){return this.options.fetch?this.options.fetch(e,t):fetch(e,t)}getLibraryVersion(){return`5.28.5`}getCustomUserAgent(){return`${this.getLibraryId()}/${this.getLibraryVersion()}`}enable(){return super.optIn()}disable(){return super.optOut()}debug(e=!0){super.debug(e),this.featureFlagsPoller?.debug(e)}capture(e){typeof e==`string`&&this._logger.warn(`Called capture() with a string as the first argument when an object was expected.`),e.event===`$exception`&&!e._originatedFromCaptureException&&this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.addPendingPromise(this.prepareEventMessage(e).then(({distinctId:e,event:t,properties:n,options:r})=>super.captureStateless(e,t,n,{timestamp:r.timestamp,disableGeoip:r.disableGeoip,uuid:r.uuid})).catch(e=>{e&&console.error(e)}))}async captureImmediate(e){return typeof e==`string`&&this._logger.warn(`Called captureImmediate() with a string as the first argument when an object was expected.`),e.event===`$exception`&&!e._originatedFromCaptureException&&this._logger.warn("Capturing a `$exception` event via `posthog.captureImmediate('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureExceptionImmediate(error)` instead, which attaches this metadata by default."),this.addPendingPromise(this.prepareEventMessage(e).then(({distinctId:e,event:t,properties:n,options:r})=>super.captureStatelessImmediate(e,t,n,{timestamp:r.timestamp,disableGeoip:r.disableGeoip,uuid:r.uuid})).catch(e=>{e&&console.error(e)}))}identify({distinctId:e,properties:t={},disableGeoip:n}){let{$set:r,$set_once:i,$anon_distinct_id:a,...o}=t,s={$set:r||o,$set_once:i||{},$anon_distinct_id:a??void 0};super.identifyStateless(e,s,{disableGeoip:n})}async identifyImmediate({distinctId:e,properties:t={},disableGeoip:n}){let{$set:r,$set_once:i,$anon_distinct_id:a,...o}=t,s={$set:r||o,$set_once:i||{},$anon_distinct_id:a??void 0};super.identifyStatelessImmediate(e,s,{disableGeoip:n})}alias(e){super.aliasStateless(e.alias,e.distinctId,void 0,{disableGeoip:e.disableGeoip})}async aliasImmediate(e){await super.aliasStatelessImmediate(e.alias,e.distinctId,void 0,{disableGeoip:e.disableGeoip})}isLocalEvaluationReady(){return this.featureFlagsPoller?.isLocalEvaluationReady()??!1}async waitForLocalEvaluationReady(e=NC){return this.isLocalEvaluationReady()?!0:this.featureFlagsPoller===void 0?!1:new Promise(t=>{let n=setTimeout(()=>{r(),t(!1)},e),r=this._events.on(`localEvaluationFlagsLoaded`,e=>{clearTimeout(n),r(),t(e>0)})})}_resolveDistinctId(e,t){return typeof e==`string`?{distinctId:e,options:t}:{distinctId:this.context?.get()?.distinctId,options:e}}async _getFeatureFlagResult(e,t,n={},r){let i=n.sendFeatureFlagEvents??!0;if(this._flagOverrides!==void 0&&e in this._flagOverrides){let t=this._flagOverrides[e];if(t===void 0)return;let n=this._payloadOverrides?.[e];return{key:e,enabled:!1!==t,variant:typeof t==`string`?t:void 0,payload:n}}let{groups:a,disableGeoip:o}=n,{onlyEvaluateLocally:s,personProperties:c,groupProperties:l}=n,u=this.addLocalPersonAndGroupProperties(t,a,c,l);c=u.allPersonProperties,l=u.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(t,a,c,l);s??=this.options.strictLocalEvaluation??!1;let f,p=!1,m,h,g,_,v,y;if(this.featureFlagsPoller!==void 0){await this.featureFlagsPoller?.loadFeatureFlags();let t=this.featureFlagsPoller?.featureFlagsByKey[e];if(t)try{let n=await this.featureFlagsPoller?.computeFlagAndPayloadLocally(t,d,{matchValue:r});if(n){p=!0;let r=n.value;_=t.id,y=`Evaluated locally`,f={key:e,enabled:!1!==r,variant:typeof r==`string`?r:void 0,payload:n.payload??void 0}}}catch(t){if(t instanceof _C||t instanceof gC)this._logger?.info(`${t.name} when computing flag locally: ${e}: ${t.message}`);else throw t}}if(!p&&!s){let t=await super.getFeatureFlagDetailsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,o,[e]);if(t===void 0)g=fC.UNKNOWN_ERROR;else{m=t.requestId,h=t.evaluatedAt;let n=[];t.errorsWhileComputingFlags&&n.push(fC.ERRORS_WHILE_COMPUTING),t.quotaLimited?.includes(`feature_flags`)&&n.push(fC.QUOTA_LIMITED);let r=t.flags[e];if(r===void 0)n.push(fC.FLAG_MISSING);else{_=r.metadata?.id,v=r.metadata?.version,y=r.reason?.description??r.reason?.code;let t;if(r.metadata?.payload!==void 0)try{t=JSON.parse(r.metadata.payload)}catch{t=r.metadata.payload}f={key:e,enabled:r.enabled,variant:r.variant,payload:t}}n.length>0&&(g=n.join(`,`))}}if(i){let n=f===void 0?void 0:!1===f.enabled?!1:f.variant??!0,r=`${e}_${n}`;if(!(t in this.distinctIdHasSentFlagCalls)||!this.distinctIdHasSentFlagCalls[t].includes(r)){Object.keys(this.distinctIdHasSentFlagCalls).length>=this.maxCacheSize&&(this.distinctIdHasSentFlagCalls={}),Array.isArray(this.distinctIdHasSentFlagCalls[t])?this.distinctIdHasSentFlagCalls[t].push(r):this.distinctIdHasSentFlagCalls[t]=[r];let i={$feature_flag:e,$feature_flag_response:n,$feature_flag_id:_,$feature_flag_version:v,$feature_flag_reason:y,locally_evaluated:p,[`$feature/${e}`]:n,$feature_flag_request_id:m,$feature_flag_evaluated_at:p?Date.now():h};if(p&&this.featureFlagsPoller){let e=this.featureFlagsPoller.getFlagDefinitionsLoadedAt();e!==void 0&&(i.$feature_flag_definitions_loaded_at=e)}g&&(i.$feature_flag_error=g),this.capture({distinctId:t,event:`$feature_flag_called`,properties:i,groups:a,disableGeoip:o})}}return f!==void 0&&this._payloadOverrides!==void 0&&e in this._payloadOverrides&&(f={...f,payload:this._payloadOverrides[e]}),f}async getFeatureFlag(e,t,n){let r=await this._getFeatureFlagResult(e,t,{...n,sendFeatureFlagEvents:n?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0});if(r!==void 0)return!1===r.enabled?!1:r.variant??!0}async getFeatureFlagPayload(e,t,n,r){if(this._payloadOverrides!==void 0&&e in this._payloadOverrides)return this._payloadOverrides[e];let i=await this._getFeatureFlagResult(e,t,{...r,sendFeatureFlagEvents:!1},n);if(i!==void 0)return i.payload??null}async getFeatureFlagResult(e,t,n){let{distinctId:r,options:i}=this._resolveDistinctId(t,n);return r?this._getFeatureFlagResult(e,r,{...i,sendFeatureFlagEvents:i?.sendFeatureFlagEvents??this.options.sendFeatureFlagEvent??!0}):void this._logger.warn(`[PostHog] distinctId is required — pass it explicitly or use withContext()`)}async getRemoteConfigPayload(e){if(!this.options.personalApiKey)throw Error(`Personal API key is required for remote config payload decryption`);let t=await this._requestRemoteConfigPayload(e);if(!t)return;let n=await t.json();if(typeof n==`string`)try{return JSON.parse(n)}catch{}return n}async isFeatureEnabled(e,t,n){let r=await this.getFeatureFlag(e,t,n);if(r!==void 0)return!!r||!1}async getAllFlags(e,t){let{distinctId:n,options:r}=this._resolveDistinctId(e,t);return n?(await this.getAllFlagsAndPayloads(n,r)).featureFlags||{}:(this._logger.warn(`[PostHog] distinctId is required to get feature flags — pass it explicitly or use withContext()`),{})}async getAllFlagsAndPayloads(e,t){let{distinctId:n,options:r}=this._resolveDistinctId(e,t);if(!n)return this._logger.warn(`[PostHog] distinctId is required to get feature flags and payloads — pass it explicitly or use withContext()`),{featureFlags:{},featureFlagPayloads:{}};let{groups:i,disableGeoip:a,flagKeys:o}=r||{},{onlyEvaluateLocally:s,personProperties:c,groupProperties:l}=r||{},u=this.addLocalPersonAndGroupProperties(n,i,c,l);c=u.allPersonProperties,l=u.allGroupProperties;let d=this.createFeatureFlagEvaluationContext(n,i,c,l);s??=this.options.strictLocalEvaluation??!1;let f=await this.featureFlagsPoller?.getAllFlagsAndPayloads(d,o),p={},m={},h=!0;if(f&&(p=f.response,m=f.payloads,h=f.fallbackToFlags),h&&!s){let e=await super.getFeatureFlagsAndPayloadsStateless(d.distinctId,d.groups,d.personProperties,d.groupProperties,a,o);p={...p,...e.flags||{}},m={...m,...e.payloads||{}}}return this._flagOverrides!==void 0&&(p={...p,...this._flagOverrides}),this._payloadOverrides!==void 0&&(m={...m,...this._payloadOverrides}),{featureFlags:p,featureFlagPayloads:m}}groupIdentify({groupType:e,groupKey:t,properties:n,distinctId:r,disableGeoip:i}){super.groupIdentifyStateless(e,t,n,{disableGeoip:i},r)}async reloadFeatureFlags(){await this.featureFlagsPoller?.loadFeatureFlags(!0)}overrideFeatureFlags(e){let t=e=>Object.fromEntries(e.map(e=>[e,!0]));if(!1===e){this._flagOverrides=void 0,this._payloadOverrides=void 0;return}if(Array.isArray(e)){this._flagOverrides=t(e);return}if(this._isFeatureFlagOverrideOptions(e)){`flags`in e&&(!1===e.flags?this._flagOverrides=void 0:Array.isArray(e.flags)?this._flagOverrides=t(e.flags):e.flags!==void 0&&(this._flagOverrides={...e.flags})),`payloads`in e&&(!1===e.payloads?this._payloadOverrides=void 0:e.payloads!==void 0&&(this._payloadOverrides={...e.payloads}));return}this._flagOverrides={...e}}_isFeatureFlagOverrideOptions(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=e;if(`flags`in t){let e=t.flags;if(!1===e||Array.isArray(e)||typeof e==`object`&&e)return!0}if(`payloads`in t){let e=t.payloads;if(!1===e||typeof e==`object`&&e)return!0}return!1}withContext(e,t,n){return this.context?this.context.run(e,t,n):t()}getContext(){return this.context?.get()}enterContext(e,t){this.context?.enter(e,t)}async _shutdown(e){let t=this._consumeWaitUntilCycle();await this.featureFlagsPoller?.stopPoller(e),this.errorTracking.shutdown();try{return await super._shutdown(e)}finally{t?.()}}async _requestRemoteConfigPayload(e){if(!this.options.personalApiKey)return;let t=`${this.host}/api/projects/@current/feature_flags/${e}/remote_config?token=${encodeURIComponent(this.apiKey)}`,n={method:`GET`,headers:{...this.getCustomHeaders(),"Content-Type":`application/json`,Authorization:`Bearer ${this.options.personalApiKey}`}},r=null;if(this.options.requestTimeout&&typeof this.options.requestTimeout==`number`){let e=new AbortController;r=dS(()=>{e.abort()},this.options.requestTimeout),n.signal=e.signal}try{return await this.fetch(t,n)}catch(e){this._events.emit(`error`,e);return}finally{r&&clearTimeout(r)}}extractPropertiesFromEvent(e,t){if(!e)return{personProperties:{},groupProperties:{}};let n={},r={};for(let[i,a]of Object.entries(e))if(Rx(a)&&t&&i in t){let e={};for(let[t,n]of Object.entries(a))e[String(t)]=String(n);r[String(i)]=e}else n[String(i)]=String(a);return{personProperties:n,groupProperties:r}}async getFeatureFlagsForEvent(e,t,n,r){let i=r?.personProperties||{},a=r?.groupProperties||{},o=r?.flagKeys;if(r?.onlyEvaluateLocally??this.options.strictLocalEvaluation??!1)if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let r={};for(let[e,n]of Object.entries(t||{}))r[e]=String(n);return await this.getAllFlags(e,{groups:r,personProperties:i,groupProperties:a,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:o})}else return{};if((this.featureFlagsPoller?.featureFlags?.length||0)>0){let r={};for(let[e,n]of Object.entries(t||{}))r[e]=String(n);return await this.getAllFlags(e,{groups:r,personProperties:i,groupProperties:a,disableGeoip:n,onlyEvaluateLocally:!0,flagKeys:o})}return(await super.getFeatureFlagsStateless(e,t,i,a,n)).flags}addLocalPersonAndGroupProperties(e,t,n,r){let i={distinct_id:e,...n||{}},a={};if(t)for(let e of Object.keys(t))a[e]={$group_key:t[e],...r?.[e]||{}};return{allPersonProperties:i,allGroupProperties:a}}createFeatureFlagEvaluationContext(e,t,n,r){return{distinctId:e,groups:t||{},personProperties:n||{},groupProperties:r||{},evaluationCache:{}}}captureException(e,t,n,r){if(!dC.isPreviouslyCapturedError(e)){let i=Error(`PostHog syntheticException`);this.addPendingPromise(dC.buildEventMessage(e,{syntheticException:i},t,n).then(e=>this.capture({...e,uuid:r})))}}async captureExceptionImmediate(e,t,n){if(!dC.isPreviouslyCapturedError(e)){let r=Error(`PostHog syntheticException`);return this.addPendingPromise(dC.buildEventMessage(e,{syntheticException:r},t,n).then(e=>this.captureImmediate(e)))}}async prepareEventMessage(e){let{distinctId:t,event:n,properties:r,groups:i,sendFeatureFlags:a,timestamp:o,disableGeoip:s,uuid:c}=e,l=this.context?.get(),u=t||l?.distinctId,d={...this.props,...l?.properties||{},...r||{}};u||(u=bx(),d.$process_person_profile=!1),l?.sessionId&&!d.$session_id&&(d.$session_id=l.sessionId);let f=this._runBeforeSend({distinctId:u,event:n,properties:d,groups:i,sendFeatureFlags:a,timestamp:o,disableGeoip:s,uuid:c});if(!f)return Promise.reject(null);let p=await Promise.resolve().then(async()=>{if(a){let e=typeof a==`object`?a:void 0;return await this.getFeatureFlagsForEvent(f.distinctId,i,s,e)}return f.event,{}}).then(e=>{let t={};if(e)for(let[n,r]of Object.entries(e))t[`$feature/${n}`]=r;let n=Object.keys(e||{}).filter(t=>e?.[t]!==!1).sort();return n.length>0&&(t.$active_feature_flags=n),t}).catch(()=>({})).then(e=>({...e,...f.properties||{},$groups:f.groups||i}));return f.event===`$pageview`&&this.options.__preview_capture_bot_pageviews&&typeof p.$raw_user_agent==`string`&&wx(p.$raw_user_agent,this.options.custom_blocked_useragents||[])&&(f.event=`$bot_pageview`,p.$browser_type=`bot`),{distinctId:f.distinctId,event:f.event,properties:p,options:{timestamp:f.timestamp,disableGeoip:f.disableGeoip,uuid:f.uuid}}}_runBeforeSend(e){let t=this.options.before_send;if(!t)return e;let n=Array.isArray(t)?t:[t],r=e;for(let t of n){if(r=t(r),!r)return this._logger.info(`Event '${e.event}' was rejected in beforeSend function`),null;if(!r.properties||Object.keys(r.properties).length===0){let e=`Event '${r.event}' has no properties after beforeSend function, this is likely an error.`;this._logger.warn(e)}}return r}},FC=class{constructor(){this.storage=new Qa}get(){return this.storage.getStore()}run(e,t,n){return this.storage.run(this.resolve(e,n),t)}enter(e,t){this.storage.enterWith(this.resolve(e,t))}resolve(e,t){if(t?.fresh===!0)return e;let n=this.get()||{};return{distinctId:e.distinctId??n.distinctId,sessionId:e.sessionId??n.sessionId,properties:{...n.properties||{},...e.properties||{}}}}};const IC=`posthog-node`;function LC(e,{organization:t,projectId:n,prefix:r,severityAllowList:i=[`error`],sendExceptionsToPostHog:a=!0}={}){return o=>{if(!(i===`*`||i.includes(o.level)))return o;o.tags||={};let s=o.tags[RC.POSTHOG_ID_TAG];if(s===void 0)return o;let c=e.options.host??`https://us.i.posthog.com`,l=new URL(`/project/${e.apiKey}/person/${s}`,c).toString();o.tags[`PostHog Person URL`]=l;let u=o.exception?.values||[],d=u.map(e=>({...e,stacktrace:e.stacktrace?{...e.stacktrace,type:`raw`,frames:(e.stacktrace.frames||[]).map(e=>({...e,platform:`node:javascript`}))}:void 0})),f={$exception_message:u[0]?.value||o.message,$exception_type:u[0]?.type,$exception_level:o.level,$exception_list:d,$sentry_event_id:o.event_id,$sentry_exception:o.exception,$sentry_exception_message:u[0]?.value||o.message,$sentry_exception_type:u[0]?.type,$sentry_tags:o.tags};return t&&n&&(f.$sentry_url=(r||`https://sentry.io/organizations/`)+t+`/issues/?project=`+n+`&query=`+o.event_id),a&&e.capture({event:`$exception`,distinctId:s,properties:f}),o}}var RC=class{static#e=this.POSTHOG_ID_TAG=`posthog_distinct_id`;constructor(e,t,n,r,i){this.name=IC,this.name=IC,this.setupOnce=function(a,o){let s=o()?.getClient()?.getDsn()?.projectId;a(LC(e,{organization:t,projectId:s,prefix:n,severityAllowList:r,sendExceptionsToPostHog:i??!0}))}}};dC.errorPropertiesBuilder=new DS([new US,new LS,new HS,new zS,new WS],IS(`node:javascript`,AS),[ox(),JS]);const zC=new class extends PC{getLibraryId(){return`posthog-node`}initializeContext(){return new FC}}(`phc_t5FKk9mlc4pKbbBimiIlrM5Acq9meRp1FSuNjmwxjAX`,{host:`https://us.i.posthog.com`}),BC=Ke({email:B}),VC=qt(`getClaudeCodeEmail`)(function*(){let e=yield*(yield*Hn).string(vi(`claude`,[`auth`,`status`])).pipe(Xi(`5 seconds`));return(yield*zt(ue(BC))(e)).email}),HC=qt(`getGitEmail`)(function*(){let e=yield*(yield*Hn).string(vi(`git`,[`config`,`user.email`])).pipe(Xi(`5 seconds`),U(e=>e.trim()));return e.length===0?yield*je(`empty`):e}),UC=qt(`getGitName`)(function*(){let e=yield*(yield*Hn).string(vi(`git`,[`config`,`user.name`])).pipe(Xi(`5 seconds`),U(e=>e.trim()));return e.length===0?yield*je(`empty`):e});var WC=class extends Zr()(`@expect/AnalyticsProvider`){static layerPostHog=bi(this)({capture:e=>F(()=>{zC.captureImmediate({event:e.eventName,properties:e.properties,distinctId:e.distinctId})}),identify:e=>F(()=>{zC.identify({distinctId:e.distinctId,properties:{email:e.email,...e.name?{name:e.name}:{}}})}),flush:Mt({try:()=>zC.flush(),catch:e=>e}).pipe(ii)});static layerDev=bi(this)({capture:e=>kn(`Tracked event`,{eventName:e.eventName,distinctId:e.distinctId,...e.properties}).pipe(nt({module:`Analytics`})),identify:e=>kn(`Identified user`,{distinctId:e.distinctId,email:e.email,name:e.name}).pipe(nt({module:`Analytics`})),flush:R})},GC=class extends Zr()(`@expect/Analytics`,{make:H(function*(){let e=yield*WC,t=yield*Mt({try:()=>(0,Qb.machineId)(),catch:()=>`unknown`}),n=ax(process.cwd());yield*mr({email:VC().pipe(_(`PlatformError`,()=>HC()),_(`TimeoutError`,()=>HC()),_(`SchemaError`,()=>HC())),name:UC().pipe(Yi(()=>V(void 0)))}).pipe(xe(({email:n,name:r})=>e.identify({distinctId:t,email:n,name:r})),Yi(()=>R),Bn);let r=(r,...[i])=>H(function*(){let a={timestamp:new Date().toISOString(),projectId:n};yield*e.capture({eventName:r,properties:{...a,...i??{}},distinctId:t})}).pipe(Yi(e=>Dr(`Analytics capture failed`,{eventName:r,cause:e}).pipe(nt({module:`Analytics`}))));return{capture:r,track:((e,t)=>n=>xe(n,n=>{let i=t?t(n):void 0;return r.call(void 0,e,...i===void 0?[]:[i])})),flush:e.flush}})}){static layerPostHog=sr(this)(this.make).pipe(Dn(WC.layerPostHog),Dn(Ra.layer));static layerDev=sr(this)(this.make).pipe(Dn(WC.layerDev),Dn(Ra.layer))};const KC=e=>{let t=It(e);return{error_tag:et(t,`_tag`)?String(t._tag):`Unknown`,error_message:g(e)}};(class extends Zr()(`@expect/ErrorHandler`,{make:H(function*(){let e=yield*GC;return{orDie:t=>t.pipe(Fe(t=>e.capture(`error:unexpected`,KC(t))),ir),streamOrDie:t=>t.pipe(Rr(t=>e.capture(`error:unexpected`,KC(t))),Ce),tapCause:(...t)=>n=>n.pipe(Fe(n=>mr([e.capture(`error:expected`,KC(n)),ui(...t,n)],{discard:!0})))}})}){static layer=sr(this)(this.make)});const qC=Ja()(eo(e=>({agentBackend:`claude`,browserHeaded:!1,replayHost:`https://expect.dev`,autoSaveFlows:!0,notifications:void 0,instructionHistory:[],setAgentBackend:t=>e({agentBackend:t}),toggleAutoSave:()=>e(e=>({autoSaveFlows:!e.autoSaveFlows})),toggleNotifications:()=>e(e=>({notifications:e.notifications!==!0})),rememberInstruction:t=>{t&&e(e=>({instructionHistory:[t,...e.instructionHistory.filter(e=>e!==t)].slice(0,20)}))}}),{name:`prompt-history`,storage:$a(()=>wb),partialize:e=>({instructionHistory:e.instructionHistory,notifications:e.notifications})})),JC=GC.layerPostHog,YC=(e,...[t])=>C(H(function*(){let n=yield*GC;yield*n.capture.call(n,e,...t===void 0?[]:[t])}).pipe(Yi(()=>R),dn(JC))),XC=()=>YC(`session:started`,{mode:`interactive`,skip_planning:!1,browser_headed:qC.getState().browserHeaded}),ZC=e=>C(H(function*(){let t=yield*GC;yield*t.capture(`session:ended`,{session_ms:Date.now()-e}),yield*t.flush}).pipe(dn(JC))),QC=()=>{let e=ca(11);if(e[0]!==`22e44f7492e404ec9264543e8c0bccc53524e2de50e4e8b699cdcbe65e792e34`){for(let t=0;t<11;t+=1)e[t]=Symbol.for(`react.memo_cache_sentinel`);e[0]=`22e44f7492e404ec9264543e8c0bccc53524e2de50e4e8b699cdcbe65e792e34`}let t=ds(),n,r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=q(G,{color:`red`,children:Y.cross}),r=q(G,{color:`green`,children:Y.tick}),e[1]=n,e[2]=r):(n=e[1],r=e[2]);let i;e[3]===t.PRIMARY?i=e[4]:(i=q(G,{bold:!0,color:t.PRIMARY,children:` Expect`}),e[3]=t.PRIMARY,e[4]=i);let a;e[5]===t.DIM?a=e[6]:(a=q(G,{color:t.DIM,children:` v${Jo}`}),e[5]=t.DIM,e[6]=a);let o;return e[7]!==t.BORDER||e[8]!==i||e[9]!==a?(o=q(W,{children:J(G,{color:t.BORDER,children:[n,r,i,a]})}),e[7]=t.BORDER,e[8]=i,e[9]=a,e[10]=o):o=e[10],o},$C=[{id:`enable-sync`,label:`Use existing cookies`,detail:`Recommended. Uses your browser session as-is.`},{id:`run-without-sync`,label:`Skip cookies`,detail:`Not recommended. Tests requiring login will fail.`}],ew=e=>{let t=ca(34);if(t[0]!==`e3c7abb53538ed236081ea9ec92e2272ee1c8b466fbb62e1c8ec442744cd59e3`){for(let e=0;e<34;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`e3c7abb53538ed236081ea9ec92e2272ee1c8b466fbb62e1c8ec442744cd59e3`}let{changesFor:n,instruction:r,savedFlow:i}=e,a=ds(),o=Wb(tw),[s,c]=K(0),l;t[1]!==n||t[2]!==r||t[3]!==i||t[4]!==o?(l=e=>{let t=e.id===`enable-sync`;YC(`cookies:sync_choice`,{choice:t?`use_cookies`:`skip_cookies`}),o(Ub({changesFor:n,instruction:r,savedFlow:i,requiresCookies:t}))},t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=l):l=t[5];let u=l,d;t[6]!==u||t[7]!==s?(d=(e,t)=>{(t.downArrow||e===`j`||t.ctrl&&e===`n`)&&c(nw),(t.upArrow||e===`k`||t.ctrl&&e===`p`)&&c(rw),e===`c`&&u($C[0]),e===`a`&&u($C[1]),t.return&&u($C[s])},t[6]=u,t[7]=s,t[8]=d):d=t[8],na(d);let f;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=q(QC,{}),t[9]=f):f=t[9];let p;t[10]===a.DIM?p=t[11]:(p=q(G,{color:a.DIM,children:Y.pointerSmall}),t[10]=a.DIM,t[11]=p);let m;t[12]!==a.TEXT||t[13]!==r?(m=q(G,{color:a.TEXT,children:r}),t[12]=a.TEXT,t[13]=r,t[14]=m):m=t[14];let h;t[15]!==p||t[16]!==m?(h=J(W,{children:[f,J(G,{wrap:`truncate`,children:[` `,p,` `,m]})]}),t[15]=p,t[16]=m,t[17]=h):h=t[17];let g;t[18]!==a.GREEN||t[19]!==a.YELLOW||t[20]!==s?(g=q(W,{marginTop:1,children:s===0?J(G,{color:a.GREEN,children:[Y.tick,` Your signed-in session will be synced to the browser. Cookies stay on device.`]}):J(G,{color:a.YELLOW,children:[Y.warning,` The browser won`,`'`,`t inherit your signed-in session without cookies.`]})}),t[18]=a.GREEN,t[19]=a.YELLOW,t[20]=s,t[21]=g):g=t[21];let _;t[22]!==a.DIM||t[23]!==a.PRIMARY||t[24]!==a.TEXT||t[25]!==u||t[26]!==s?(_=$C.map((e,t)=>{let n=t===s;return q(ms,{onClick:()=>{c(t),u(e)},children:J(W,{flexDirection:`column`,marginBottom:1,children:[J(G,{children:[q(G,{color:n?a.PRIMARY:a.DIM,children:n?`${Y.pointer} `:` `}),q(G,{color:n?a.PRIMARY:a.TEXT,bold:n,children:e.label})]}),J(G,{color:a.DIM,children:[` `,e.detail]})]})},e.id)}),t[22]=a.DIM,t[23]=a.PRIMARY,t[24]=a.TEXT,t[25]=u,t[26]=s,t[27]=_):_=t[27];let v;t[28]===_?v=t[29]:(v=q(W,{flexDirection:`column`,marginTop:1,children:_}),t[28]=_,t[29]=v);let y;return t[30]!==h||t[31]!==g||t[32]!==v?(y=J(W,{flexDirection:`column`,width:`100%`,paddingY:1,paddingX:1,children:[h,g,v]}),t[30]=h,t[31]=g,t[32]=v,t[33]=y):y=t[33],y};function tw(e){return e.setScreen}function nw(e){return Math.min($C.length-1,e+1)}function rw(e){return Math.max(0,e-1)}const iw=Ja()(eo(e=>({cookiesEnabled:!1,setCookiesEnabled:t=>e({cookiesEnabled:t}),toggleCookies:()=>e(e=>({cookiesEnabled:!e.cookiesEnabled})),lastBaseUrl:void 0,setLastBaseUrl:t=>e({lastBaseUrl:t})}),{name:`project-preferences`,storage:$a(()=>Db)})),aw=`spotify,raycast,google,controlce,controlcenter,cursor,electron,slack,discord,figma,redis,postgres,mysqld,mongod,mongos,memcached,dockerd,containerd,com.docke,docker,code,rapportd,wifiagent,airplayxpc,identitys,sharingd,bluetoothd,screencap,loginwind,systempol,corespeec,apsd,mds_store,spotlight,lsd`.split(`,`),ow=[[/next[\\/]dist[\\/]/,`next`],[/next-server/,`next`],[/vite[\\/]/,`vite`],[/vite-plus[\\/]/,`vite`],[/react-scripts[\\/]/,`react-scripts`],[/angular[\\/]cli[\\/]/,`angular`],[/remix[\\/]/,`remix`],[/astro[\\/]/,`astro`],[/nuxt[\\/]/,`nuxt`],[/svelte[\\/]/,`svelte`],[/webpack[\\/]/,`webpack`],[/webpack-dev-server/,`webpack`],[/turbopack[\\/]/,`turbopack`],[/remotion[\\/]/,`remotion`],[/gatsby[\\/]/,`gatsby`],[/parcel[\\/]/,`parcel`],[/http-server/,`http-server`],[/live-server/,`live-server`],[/serve[\\/]/,`serve`],[/express[\\/]/,`express`],[/fastify[\\/]/,`fastify`],[/hono[\\/]/,`hono`],[/elysia[\\/]/,`elysia`]],sw=e=>{let t=e.toLowerCase();return aw.some(e=>t.startsWith(e))},cw=e=>{if(!/^\d+$/.test(e))return``;try{let t=Ba(`lsof -p ${e} -a -d cwd -Fn`,{encoding:`utf-8`,timeout:1e3}).split(`
|
|
34
|
+
`).find(e=>e.startsWith(`n`));return t?t.slice(1):``}catch{return``}},lw=(e,t)=>{if(!/^\d+$/.test(e)||sw(t))return;let n=cw(e);try{let t=Ba(`ps -p ${e} -o command=`,{encoding:`utf-8`,timeout:1e3}).trim();for(let[e,r]of ow)if(e.test(t))return{name:r,isFramework:!0,cwd:n}}catch{}return{name:t,isFramework:!1,cwd:n}},uw=e=>{let t=new Set,n=[];for(let r of e.split(`
|
|
35
|
+
`)){let e=r.trim().split(/\s+/);if(e.length<9)continue;let i=e[0]??``,a=e[1]??``,o=(e[8]??``).match(/:(\d+)$/);if(!o)continue;let s=Number(o[1]);s<1024||s>65535||t.has(s)||(t.add(s),n.push({port:s,pid:a,commandName:i}))}return n},dw=()=>{try{let e=uw(Ba(`lsof -iTCP -sTCP:LISTEN -nP`,{encoding:`utf-8`,timeout:3e3})),t=[];for(let n of e){let e=lw(n.pid,n.commandName);e!==void 0&&(n.port>=32768&&!e.isFramework||t.push({port:n.port,processName:e.name,cwd:e.cwd}))}return t.sort((e,t)=>e.port-t.port)}catch{return[]}},fw=()=>sa({queryKey:[`listening-ports`],queryFn:()=>dw(),refetchInterval:5e3}),pw=e=>`http://localhost:${e}`,mw=(e,t)=>{let n=t.toLowerCase();return String(e.port).includes(n)||e.processName.toLowerCase().includes(n)||e.cwd.toLowerCase().includes(n)},hw=e=>{let t=e.trim(),n=Number(t);if(Number.isInteger(n)&&n>=1&&n<=65535)return n;let r=t.match(/:(\d+)\/?$/);if(r){let e=Number(r[1]);if(Number.isInteger(e)&&e>=1&&e<=65535)return e}},gw=e=>{let t=ca(178);if(t[0]!==`84a93f0b7994a0f9318ab42167dadcad0ffba85a300830ca86b74045fc7574ce`){for(let e=0;e<178;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`84a93f0b7994a0f9318ab42167dadcad0ffba85a300830ca86b74045fc7574ce`}let{changesFor:n,instruction:r,savedFlow:i,requiresCookies:a}=e,o=ds(),s=Wb(_w),c=iw(vw),l=iw(yw),{data:u}=fw(),d=u===void 0?[]:u,[f,p]=K(!1),[m,h]=K(``),[g,_]=K(!1),[v,y]=K(``),b;t[1]===c?b=t[2]:(b=()=>{if(!c)return new Set;let e=c.match(/:(\d+)/);return e?new Set([Number(e[1])]):new Set},t[1]=c,t[2]=b);let[x,ee]=K(b),S;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(S=new Set,t[3]=S):S=t[3];let[C,w]=K(S),te=d.map(bw),T=m?te.filter(e=>mw(e,m)):te,E=T.length,D=T.length+1,ne=T.length+2,O;t[4]===ne?O=t[5]:(O={itemCount:ne,visibleCount:10},t[4]=ne,t[5]=O);let{highlightedIndex:k,setHighlightedIndex:A,scrollOffset:re,handleNavigation:j}=zb(O),ie;t[6]!==n||t[7]!==C||t[8]!==r||t[9]!==a||t[10]!==i||t[11]!==l||t[12]!==s?(ie=e=>{let t=[...e,...C];l(t.length>0?t[0]:void 0),t.length===0?YC(`port:skipped`):YC(`port:selected`,{port_count:t.length,has_custom_url:C.size>0}),s(Hb.Testing({changesFor:n,instruction:r,savedFlow:i,requiresCookies:a,baseUrls:t.length>0?t:void 0}))},t[6]=n,t[7]=C,t[8]=r,t[9]=a,t[10]=i,t[11]=l,t[12]=s,t[13]=ie):ie=t[13];let M=ie,ae;t[14]===ee?ae=t[15]:(ae=e=>{ee(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},t[14]=ee,t[15]=ae);let N=ae,oe;t[16]!==E||t[17]!==C||t[18]!==T||t[19]!==k||t[20]!==M||t[21]!==x||t[22]!==_||t[23]!==D?(oe=()=>{if(k===D){M([]);return}if(x.size>0||C.size>0){M([...x].sort(xw).map(pw));return}if(k===E){_(!0);return}let e=T[k];e&&M([pw(e.port)])},t[16]=E,t[17]=C,t[18]=T,t[19]=k,t[20]=M,t[21]=x,t[22]=_,t[23]=D,t[24]=oe):oe=t[24];let P=oe,F=Sw,se;t[25]!==y||t[26]!==w||t[27]!==_?(se=e=>{let t=e.trim();if(!t){_(!1);return}let n=F(t);w(e=>new Set([...e,n])),y(``),_(!1)},t[25]=y,t[26]=w,t[27]=_,t[28]=se):se=t[28];let ce=se,le;t[29]===w?le=t[30]:(le=e=>{w(t=>{let n=new Set(t);return n.delete(e),n})},t[29]=w,t[30]=le);let I=le,L;t[31]!==A||t[32]!==h?(L=e=>{h(e),A(0)},t[31]=A,t[32]=h,t[33]=L):L=t[33];let ue=L,de;t[34]!==p||t[35]!==h||t[36]!==N?(de=e=>{let t=hw(e);if(t){N(t),p(!1),h(``);return}p(!1)},t[34]=p,t[35]=h,t[36]=N,t[37]=de):de=t[37];let fe=de,pe;t[38]!==P||t[39]!==E||t[40]!==T||t[41]!==j||t[42]!==k||t[43]!==g||t[44]!==f||t[45]!==y||t[46]!==_||t[47]!==p||t[48]!==N?(pe=(e,t)=>{if(g){if(t.escape){_(!1),y(``);return}return}if(f){if(t.escape){p(!1);return}return}if(!j(e,t)){if(e===`/`){p(!0);return}if(e===` `){if(k===E){_(!0);return}let e=T[k];e&&N(e.port);return}t.return&&P()}},t[38]=P,t[39]=E,t[40]=T,t[41]=j,t[42]=k,t[43]=g,t[44]=f,t[45]=y,t[46]=_,t[47]=p,t[48]=N,t[49]=pe):pe=t[49],na(pe);let me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke;if(t[50]!==o.DIM||t[51]!==o.GREEN||t[52]!==o.PRIMARY||t[53]!==o.TEXT||t[54]!==o.YELLOW||t[55]!==E||t[56]!==C||t[57]!==T||t[58]!==k||t[59]!==r||t[60]!==re||t[61]!==x||t[62]!==A||t[63]!==D||t[64]!==N){let e=T.slice(re,re+8);ge=re+8>=T.length,ye=ge;let n=T[k];_e=k===E,ve=k===D;let i;t[81]!==C||t[82]!==x?(i=[...[...x].sort(Cw).map(pw),...C],t[81]=C,t[82]=x,t[83]=i):i=t[83];let a=i;he=W,Ce=`column`,we=`100%`,Te=1,Ee=1;let s;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(s=q(QC,{}),t[84]=s):s=t[84];let c;t[85]===o.DIM?c=t[86]:(c=q(G,{color:o.DIM,children:Y.pointerSmall}),t[85]=o.DIM,t[86]=c);let l;t[87]!==o.TEXT||t[88]!==r?(l=q(G,{color:o.TEXT,children:r}),t[87]=o.TEXT,t[88]=r,t[89]=l):l=t[89],t[90]!==c||t[91]!==l?(De=J(W,{children:[s,J(G,{wrap:`truncate`,children:[` `,c,` `,l]})]}),t[90]=c,t[91]=l,t[92]=De):De=t[92],t[93]===o.DIM?Oe=t[94]:(Oe=q(W,{marginTop:1,children:q(G,{color:o.DIM,children:`Pick the dev server the agent should open in the browser.`})}),t[93]=o.DIM,t[94]=Oe);let u;t[95]!==o.GREEN||t[96]!==a?(u=a.length>0&&J(G,{color:o.GREEN,children:[Y.tick,` `,a.join(`, `)]}),t[95]=o.GREEN,t[96]=a,t[97]=u):u=t[97];let d;t[98]!==o.DIM||t[99]!==a.length||t[100]!==n||t[101]!==_e||t[102]!==ve?(d=a.length===0&&!ve&&!_e&&n&&J(G,{color:o.DIM,children:[Y.arrowRight,` `,pw(n.port)]}),t[98]=o.DIM,t[99]=a.length,t[100]=n,t[101]=_e,t[102]=ve,t[103]=d):d=t[103];let f;t[104]!==o.YELLOW||t[105]!==a.length||t[106]!==ve?(f=a.length===0&&ve&&J(G,{color:o.YELLOW,children:[Y.warning,` No base URL. The agent won`,`'`,`t know where your dev server is.`]}),t[104]=o.YELLOW,t[105]=a.length,t[106]=ve,t[107]=f):f=t[107],t[108]!==u||t[109]!==d||t[110]!==f?(ke=J(W,{marginTop:1,children:[u,d,f]}),t[108]=u,t[109]=d,t[110]=f,t[111]=ke):ke=t[111],me=W,be=`column`,xe=1;let p;t[112]!==o.DIM||t[113]!==o.PRIMARY||t[114]!==o.TEXT||t[115]!==k||t[116]!==re||t[117]!==x||t[118]!==A||t[119]!==N?(p=(e,t)=>{let n=t+re,r=n===k,i=x.has(e.port);return q(ms,{onClick:()=>{A(n),N(e.port)},children:J(W,{children:[q(G,{color:r?o.PRIMARY:o.DIM,children:r?`${Y.pointer} `:` `}),J(G,{color:i?o.PRIMARY:o.DIM,children:[i?Y.checkboxOn:Y.checkboxOff,` `]}),J(G,{color:r?o.PRIMARY:o.TEXT,bold:r,children:[`:`,e.port]}),e.processName&&J(G,{color:o.DIM,children:[` `,e.processName]}),e.cwd&&J(G,{color:o.DIM,children:[` `,e.cwd]})]})},e.port)},t[112]=o.DIM,t[113]=o.PRIMARY,t[114]=o.TEXT,t[115]=k,t[116]=re,t[117]=x,t[118]=A,t[119]=N,t[120]=p):p=t[120],Se=e.map(p),t[50]=o.DIM,t[51]=o.GREEN,t[52]=o.PRIMARY,t[53]=o.TEXT,t[54]=o.YELLOW,t[55]=E,t[56]=C,t[57]=T,t[58]=k,t[59]=r,t[60]=re,t[61]=x,t[62]=A,t[63]=D,t[64]=N,t[65]=me,t[66]=he,t[67]=ge,t[68]=_e,t[69]=ve,t[70]=ye,t[71]=be,t[72]=xe,t[73]=Se,t[74]=Ce,t[75]=we,t[76]=Te,t[77]=Ee,t[78]=De,t[79]=Oe,t[80]=ke}else me=t[65],he=t[66],ge=t[67],_e=t[68],ve=t[69],ye=t[70],be=t[71],xe=t[72],Se=t[73],Ce=t[74],we=t[75],Te=t[76],Ee=t[77],De=t[78],Oe=t[79],ke=t[80];let Ae;t[121]!==o.DIM||t[122]!==o.PRIMARY||t[123]!==o.TEXT||t[124]!==E||t[125]!==v||t[126]!==ge||t[127]!==ce||t[128]!==_e||t[129]!==g||t[130]!==y||t[131]!==A||t[132]!==_?(Ae=ge&&q(ms,{onClick:()=>{A(E),_(!0)},children:J(W,{children:[q(G,{color:_e?o.PRIMARY:o.DIM,children:_e?`${Y.pointer} `:` `}),g&&J(W,{children:[q(G,{color:o.PRIMARY,children:`URL: `}),q(bs,{focus:!0,value:v,placeholder:`http://localhost:4000 or staging.example.com`,onChange:y,onSubmit:ce})]}),!g&&J(G,{color:_e?o.PRIMARY:o.TEXT,bold:_e,children:[`Enter a custom URL`,Y.ellipsis]})]})}),t[121]=o.DIM,t[122]=o.PRIMARY,t[123]=o.TEXT,t[124]=E,t[125]=v,t[126]=ge,t[127]=ce,t[128]=_e,t[129]=g,t[130]=y,t[131]=A,t[132]=_,t[133]=Ae):Ae=t[133];let je;t[134]!==o.DIM||t[135]!==o.PRIMARY||t[136]!==o.TEXT||t[137]!==ge||t[138]!==C||t[139]!==I?(je=ge&&[...C].map(e=>q(ms,{onClick:()=>I(e),children:J(W,{children:[q(G,{children:` `}),J(G,{color:o.PRIMARY,children:[Y.checkboxOn,` `]}),q(G,{color:o.TEXT,children:e}),q(G,{color:o.DIM,children:` (click to remove)`})]})},e)),t[134]=o.DIM,t[135]=o.PRIMARY,t[136]=o.TEXT,t[137]=ge,t[138]=C,t[139]=I,t[140]=je):je=t[140];let R;t[141]!==o.DIM||t[142]!==o.PRIMARY||t[143]!==ve||t[144]!==M||t[145]!==A||t[146]!==D||t[147]!==ye?(R=ye&&q(ms,{onClick:()=>{A(D),M([])},children:J(W,{children:[q(G,{color:ve?o.PRIMARY:o.DIM,children:ve?`${Y.pointer} `:` `}),J(G,{color:ve?o.PRIMARY:o.DIM,bold:ve,children:[`Skip `,Y.arrowRight,` no base URL`]})]})}),t[141]=o.DIM,t[142]=o.PRIMARY,t[143]=ve,t[144]=M,t[145]=A,t[146]=D,t[147]=ye,t[148]=R):R=t[148];let z;t[149]!==o.DIM||t[150]!==T.length||t[151]!==ye?(z=T.length===0&&!ye&&q(G,{color:o.DIM,children:`No matching ports`}),t[149]=o.DIM,t[150]=T.length,t[151]=ye,t[152]=z):z=t[152];let Me;t[153]!==me||t[154]!==be||t[155]!==xe||t[156]!==Se||t[157]!==Ae||t[158]!==je||t[159]!==R||t[160]!==z?(Me=J(me,{flexDirection:be,marginTop:xe,children:[Se,Ae,je,R,z]}),t[153]=me,t[154]=be,t[155]=xe,t[156]=Se,t[157]=Ae,t[158]=je,t[159]=R,t[160]=z,t[161]=Me):Me=t[161];let Ne;t[162]!==ue||t[163]!==fe||t[164]!==f||t[165]!==m?(Ne=q(xs,{isSearching:f,query:m,onChange:ue,onSubmit:fe}),t[162]=ue,t[163]=fe,t[164]=f,t[165]=m,t[166]=Ne):Ne=t[166];let Pe;return t[167]!==he||t[168]!==Ce||t[169]!==we||t[170]!==Te||t[171]!==Ee||t[172]!==De||t[173]!==Oe||t[174]!==ke||t[175]!==Me||t[176]!==Ne?(Pe=J(he,{flexDirection:Ce,width:we,paddingY:Te,paddingX:Ee,children:[De,Oe,ke,Me,Ne]}),t[167]=he,t[168]=Ce,t[169]=we,t[170]=Te,t[171]=Ee,t[172]=De,t[173]=Oe,t[174]=ke,t[175]=Me,t[176]=Ne,t[177]=Pe):Pe=t[177],Pe};function _w(e){return e.setScreen}function vw(e){return e.lastBaseUrl}function yw(e){return e.setLastBaseUrl}function bw(e){return{port:e.port,processName:e.processName,cwd:e.cwd}}function xw(e,t){return e-t}function Sw(e){let t=e.trim(),n=Number(t);return Number.isInteger(n)&&n>=1&&n<=65535?pw(n):/^https?:\/\//i.test(t)?t:`http://${t}`}function Cw(e,t){return e-t}const ww={"~effect/reactivity/AsyncResult":{E:Bt,A:Bt},pipe(){return ke(this,arguments)},[vr](e){if(this._tag!==e._tag||this.waiting!==e.waiting)return!1;switch(this._tag){case`Initial`:return!0;case`Success`:return Je(this.value,e.value);case`Failure`:return Je(this.cause,e.cause)}},[Ue](){let e=Re(`${this._tag}:${this.waiting}`);return this._tag===`Initial`?e:l(e)(this._tag===`Success`?fr(this.value):fr(this.cause))}},Tw=e=>e.waiting,Ew=(e,t)=>e._tag===`Success`?jw(e.value):Pw(e.cause,{previous:t}),Dw=e=>e._tag===`None`?kw(!0):Iw(e.value),Ow=e=>e._tag===`Initial`,kw=(e=!1)=>{let t=Object.create(ww);return t._tag=`Initial`,t.waiting=e,t},Aw=e=>e._tag===`Success`,jw=(e,t)=>{let n=Object.create(ww);return n._tag=`Success`,n.value=e,n.waiting=t?.waiting??!1,n.timestamp=t?.timestamp??Date.now(),n},Mw=e=>e._tag===`Failure`,Nw=(e,t)=>{let n=Object.create(ww);return n._tag=`Failure`,n.cause=e,n.previousSuccess=t?.previousSuccess??Ct(),n.waiting=t?.waiting??!1,n},Pw=(e,t)=>Nw(e,{previousSuccess:tr(t.previous,e=>Aw(e)?A(e):Mw(e)?e.previousSuccess:Ct()),waiting:t.waiting}),Fw=(e,t)=>Pw(tt(e),t),Iw=(e,t)=>{if(e.waiting)return t?.touch?Lw(e):e;let n=Object.assign(Object.create(ww),e);return n.waiting=!0,t?.touch&&Aw(n)&&(n.timestamp=Date.now()),n},Lw=e=>Aw(e)?jw(e.value,{waiting:e.waiting}):e,Rw=(e,t)=>e._tag===`Failure`?Pw(e.cause,{previous:t,waiting:e.waiting}):e,zw=e=>e._tag===`Success`?A(e.value):e._tag===`Failure`?x(e.previousSuccess,e=>e.value):Ct(),Bw=e=>bn(zw(e),()=>new pr(`AsyncResult.getOrThrow: no value found`)),Vw=e=>new Hw(e);var Hw=class{constructor(e){this.result=e}result;output=Ct();when(e,t){if(Fi(this.output)&&e(this.result)){let e=t(this.result);_t(e)&&(this.output=e)}return this}pipe(){return ke(this,arguments)}onWaiting(e){return this.when(e=>e.waiting,t=>A(e(t)))}onInitialOrWaiting(e){return this.when(e=>Ow(e)||e.waiting,t=>A(e(t)))}onInitial(e){return this.when(Ow,t=>A(e(t)))}onSuccess(e){return this.when(Aw,t=>A(e(t.value,t)))}onFailure(e){return this.when(Mw,t=>A(e(t.cause,t)))}onError(e){return this.onErrorIf(h,e)}onErrorIf(e,t){return this.when(Mw,n=>Ne(n.cause).pipe(Ar(e),x(e=>t(e,n))))}onErrorTag(e,t){return this.onErrorIf(t=>et(t,`_tag`)&&(Array.isArray(e)?e.includes(t._tag):t._tag===e),t)}onDefect(e){return this.when(Mw,t=>{let n=ye(t.cause);return Kr(n)?Ct():A(e(n.success,t))})}orElse(e){return wi(this.output,e)}orNull(){return Vi(this.output)}render(){if(_t(this.output))return this.output.value;if(Mw(this.result))throw It(this.result.cause);return null}};const Uw=Zr(`~effect/reactivity/AtomRegistry`),Ww={alive:1,initialized:2,waitingForValue:4},Gw={uninitialized:Ww.alive|Ww.waitingForValue,stale:Ww.alive|Ww.initialized|Ww.waitingForValue,valid:Ww.alive|Ww.initialized,removed:0},Kw={disabled:0,collect:1,commit:2},qw={phase:Kw.disabled,depth:0,stale:[],notify:new Set};function Jw(e){qw.phase=Kw.collect,qw.depth++;try{if(e(),qw.depth===1){for(let e=0;e<qw.stale.length;e++)Yw(qw.stale[e]);qw.phase=Kw.commit;for(let e of qw.notify)e.notify();qw.notify.clear()}}finally{qw.depth--,qw.depth===0&&(qw.phase=Kw.disabled,qw.stale=[])}}function Yw(e){if(e.state!==Gw.valid){for(let t=0;t<e.parents.length;t++){let n=e.parents[t];n.state!==Gw.valid&&Yw(n)}e.state!==Gw.valid&&e.value()}}const Xw=`~effect/reactivity/Atom`,Zw=e=>et(e,Xw),Qw=`~effect/reactivity/Atom/Writable`,$w=fe(2,(e,t)=>{let n=pi(t),r=Fr(n);return Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!r,idleTTL:r?ti(n):void 0})})(0),eT={[Xw]:Xw,...T,toJSON(){return{_id:`Atom`,keepAlive:this.keepAlive,lazy:this.lazy,label:this.label}}},tT={...eT,atom(e,t){let n=lT(e,t);return aT(e=>{let t=e.self(),r=e(this);return r._tag===`Success`?n(e,r.value):Rw(r,t)})},fn(e,t){return arguments.length===0?(e,t)=>nT(this,e,t):nT(this,e,t)},pull(e,t){let n=$w(fT(0));return TT(n,aT(r=>{let i=r.self(),a=r(this);return a._tag===`Success`?mT(r,wT(r,n,e,t),kw(!0),a.value):Rw(a,i)}))},subscriptionRef(e){return bT($w(aT(t=>{let n=t.self(),r=t(this);if(r._tag!==`Success`)return Rw(r,n);let i=typeof e==`function`?e(t):e;return Bo(i)?i:mT(t,i,kw(!0),r.value)})),(e,t)=>yT(e,t,Bw(e(this))))}},nT=(e,t,n)=>{let[r,i,a]=CT(n?.reactivityKeys?(e,r)=>{let i=t(e,r);return _n(i)?Mo(i,n.reactivityKeys):_e(i,No(n.reactivityKeys))}:t,n);return oT(t=>{t.get(a);let n=t.self(),i=t.get(e);return i._tag===`Success`?r(t,i.value):Rw(i,n)},i)},rT={...eT,[Qw]:Qw},iT=e=>Qw in e,aT=(e,t)=>{let n=Object.create(eT);return n.keepAlive=!1,n.lazy=!0,n.read=e,n.refresh=t,n},oT=(e,t,n)=>{let r=Object.create(rT);return r.keepAlive=!1,r.lazy=!0,r.read=e,r.write=t,r.refresh=n,r};function sT(e,t){e.setSelf(t)}const cT=(e,t)=>{let n=lT(e,t);return`~effect/reactivity/Atom`in n?n:aT(n)},lT=(e,t)=>{if(typeof e==`function`&&!_n(e)&&!Pt(e)){let n=e;return function(e,r){let i=n(e);switch(typeof i){case`function`:case`object`:return i===null?i:uT in i?pT(e,i,t,r):dT in i?_T(e,i,t,r):i;default:return i}}}else if(_n(e))return function(n,r){return pT(n,e,t,r)};else if(Pt(e))return function(n,r){return _T(n,e,t,r)};return fT(e)},uT=`~effect/Effect`,dT=`~effect/Stream`,fT=e=>oT(function(t){return e},sT),pT=(e,t,n,r)=>mT(e,t,n?.initialValue===void 0?kw():jw(n.initialValue),r,n?.uninterruptible);function mT(e,t,n,r=Zt(),i=!1){let a=e.self(),o=nr();e.addFinalizer(()=>{bt(r)(jr(o,yr))});let s=new Map(r.mapUnsafe);s.set(Wn.key,o),s.set(Uw.key,e.registry),s.set(Ae.key,e.registry.scheduler);let c,l=!1,u=hT(nn(s),t,function(t){c=Ew(t,a),l&&e.setSelf(c)},i);return l=!0,u!==void 0&&e.addFinalizer(u),c===void 0?a._tag===`Some`?Dw(a):Iw(n):c}function hT(e,t,n,r=!1){if(wt(t)){n(t);return}let i=bt(e)(t);i.currentDispatcher?.flush();let a=i.pollUnsafe();if(a){n(a);return}let o=i.addObserver(n);function s(){o(),r||i.interruptUnsafe()}return s}const gT=(e=>{let t=Po;function n(r){let i=Object.create(tT);i.keepAlive=!1,i.lazy=!0,i.refresh=void 0,i.factory=n;let a=ET(aT(typeof r==`function`?e=>Tr(r(e),t):()=>Tr(r,t)));return i.layer=a,i.read=function(t){let n=t(a);return pT(t,Qt(ne,t=>ni(n,e.memoMap,t)),{uninterruptible:!0})},i}n.memoMap=e.memoMap,n.addGlobalLayer=e=>{t=Tr(t,Dn(e,Po))};let r=$w(cT(Ve(t=>ni(Po,e.memoMap,Kt(t,Wn))).pipe(U(Kt(ko)))));return n.withReactivity=e=>t=>DT(t,n=>{let i=Bw(n(r));return n.addFinalizer(i.registerUnsafe(e,()=>{n.refresh(t)})),n.subscribe(t,e=>n.setSelf(e)),n.once(t)},{initialValueTarget:t}),n})({memoMap:Vr()});gT.withReactivity;const _T=(e,t,n,r)=>vT(e,t,n?.initialValue===void 0?kw():jw(n.initialValue),r);function vT(e,t,n,r=Zt()){let i=e.self();r=we(r,Uw,e.registry);let a=xr(n=>Qt(ri(t.channel,n),t=>$r({while:h,body:()=>t,step(t){e.setSelf(jw(wr(t),{waiting:!0}))}}))).pipe(Yi(t=>(an(t)?le(e.self(),tr(zw),Ai({onNone:()=>e.setSelf(Fw(new pr,{previous:e.self()})),onSome:t=>e.setSelf(jw(t))})):e.setSelf(Pw(t,{previous:e.self()})),R))),o=new Map(r.mapUnsafe);o.set(Uw.key,e.registry),o.set(Ae.key,e.registry.scheduler);let s=hT(nn(o),a,Ft,!1);return s!==void 0&&e.addFinalizer(s),i._tag===`Some`?Dw(i):Iw(n)}const yT=(e,t,n=Zt())=>Bo(t)?(e.addFinalizer(Vo(t).pipe(at(t=>{for(let n=0;n<t.length;n++)e.setSelf(t[n]);return R}),Cn(n))),ie(n)(Ho(t))):t._tag===`Success`?vT(e,Vo(t.value),kw(!0),n):t,bT=(e,t)=>{function n(t,n){let r=t.get(e);Bo(r)?Et(Wo(r,n)):Aw(r)&&Et(Wo(r.value,n))}return oT(n=>{let r=n(e);return Bo(r)||Aw(r)?t(n,r):r},n)},xT=Symbol.for(`effect/reactivity/atom/Atom/Reset`),ST=Symbol.for(`effect/reactivity/atom/Atom/Interrupt`);function CT(e,t){let n=$w(fT([0,void 0])),r=t?.initialValue===void 0?kw():jw(t.initialValue),i=t?.concurrent?$w(aT(e=>{let t=new Set;return e.addFinalizer(()=>t.forEach(e=>e.interruptUnsafe())),t})):void 0;function a(t,a){let o=i?t(i):void 0;t.isFn=!0;let[s,c]=t.get(n);if(s===0)return r;if(c===ST)return Pw(Ji(),{previous:t.self()});let l=e(c,t);return uT in l?(o&&(l=Qt(Bn(l,{startImmediately:!0}),e=>(o.add(e),e.addObserver(()=>o.delete(e)),U(Ui(o),e=>e[0])))),mT(t,l,r,a,!1)):vT(t,l,r,a)}function o(e,t){kT(()=>{t===xT?e.set(n,[0,void 0]):t===ST?e.set(n,[e.get(n)[0]+1,ST]):e.set(n,[e.get(n)[0]+1,t]),e.refreshSelf()})}return[a,o,n]}const wT=(e,t,n,r)=>Qt(ai(typeof n==`function`?n(e):n),n=>{let i=un().services,a=mn(),o=Fn(n,{onFailure(e){return an(e)?En(a)?V({done:!0,items:a}):je(new pr(`Atom.pull: no items`)):Qr(e)},onSuccess(e){let t;return r?.disableAccumulation?t=e:(t=or(a,e),a=t),V({done:!1,items:t})}}),s=new Set;return e.addFinalizer(()=>{for(let e of s)e()}),e.once(t),e.subscribe(t,()=>{e.setSelf(Dw(e.self()));let t;t=hT(i,o,n=>{t&&s.delete(t);let r=Ew(n,e.self()),i=s.size>0;e.setSelf(i?Iw(r):r)}),t&&s.add(t)}),o}),TT=(e,t)=>oT(t.read,function(t,n){t.set(e,t.get(e)+1)}),ET=e=>Object.assign(Object.create(Object.getPrototypeOf(e)),{...e,keepAlive:!0}),DT=fe(e=>Zw(e[0]),(e,t,n)=>{let r=$w(iT(e)?oT(n=>t(n,e),function(t,n){t.set(e,n)},e.refresh??function(t){t(e)}):aT(n=>t(n,e),e.refresh??function(t){t(e)}));return n?.initialValueTarget&&(r.initialValueTarget=OT(n.initialValueTarget)),r}),OT=e=>{let t=e;for(;t.initialValueTarget;)t=t.initialValueTarget;return t},kT=Jw,AT=e=>{let t=e.replace(`#`,``);return[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16)]},jT=(e,t,n)=>`#${[e,t,n].map(e=>Math.round(e).toString(16).padStart(2,`0`)).join(``)}`,MT=(e,t,n)=>e+(t-e)*n,NT=(e,t,n)=>{let[r,i,a]=AT(e),[o,s,c]=AT(t);return jT(MT(r,o,n),MT(i,s,n),MT(a,c,n))},PT=({text:e,baseColor:t,highlightColor:n,speed:r=1})=>{let[i,a]=K(-16),o=ma(r);o.current=r;let s=ma(e.length);s.current=e.length;let c=ma(!1);return c.current||(c.current=!0,setTimeout(()=>{setInterval(()=>{let e=s.current+16;a(t=>t>=e?-16:t+o.current)},50)},0)),q(G,{children:[...e].map((e,r)=>{let a=Math.abs(r-i),o=Math.max(0,1-a/16);return q(G,{color:o>0?NT(t,n,o):t,children:e},r)})})},FT=Ja(e=>({executedPlan:void 0,expanded:!1,setExecutedPlan:t=>e({executedPlan:t}),setExpanded:t=>e({expanded:t}),toggleExpanded:()=>e(e=>({expanded:!e.expanded}))})),IT=e=>ao(Math.max(0,e),{secondsDecimalDigits:0}),LT=new Set([`warpterminal`]),RT=so.stdout,zT=oo({preferOuter:!0}),BT=process.stdout.isTTY&&!LT.has(zT??``),VT=BT&&RT.kitty,HT=BT&&RT.iterm2,UT=VT||HT,WT=oo(),GT=WT===`tmux`||WT===`screen`,KT=e=>GT?`Ptmux;${e.replaceAll(`\x1B`,`\x1B\x1B`)}\\`:e,qT=(e,t)=>{let n=Buffer.from(e).toString(`base64`),r=`a=T,t=f`;return t.width&&(r+=`,c=${t.width}`),t.height&&(r+=`,r=${t.height}`),KT(`_G${r};${n}\\`)},JT=(e,t)=>{let n=`\x1B]1337;File=inline=1`;return t.width&&(n+=`;width=${t.width}`),t.height&&(n+=`;height=${t.height}`),n+=`;size=${e.byteLength}:${e.toString(`base64`)}`,KT(n)},YT=(e,t={})=>{if(!ja.existsSync(e))return null;if(VT)return qT(e,t);if(HT)try{return JT(ja.readFileSync(e),t)}catch{return null}return null},XT=e=>e.startsWith(`file://`),ZT=e=>{let t=ca(9);if(t[0]!==`edb58922a19f7cd34125950b48961a70defca0454a8de685a54dc50281109929`){for(let e=0;e<9;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`edb58922a19f7cd34125950b48961a70defca0454a8de685a54dc50281109929`}let{path:n,label:r}=e,i,a;t[1]===n?(i=t[2],a=t[3]):(i=XT(n)?xa.fileURLToPath(n):_a.resolve(n),a=XT(n)?n:xa.pathToFileURL(i).href,t[1]=n,t[2]=i,t[3]=a);let o=a,s=r??i,c;t[4]===s?c=t[5]:(c=q(G,{children:s}),t[4]=s,t[5]=c);let l;return t[6]!==o||t[7]!==c?(l=q(co,{url:o,children:c}),t[6]=o,t[7]=c,t[8]=l):l=t[8],l},QT=({src:e,alt:t,width:n,height:r})=>{let i=_a.resolve(e),{write:a}=ra(),o=ma(!1);if(!o.current){let e=YT(i,{width:n,height:r});e&&(a(e+`
|
|
36
|
+
`),o.current=!0)}return UT?null:q(ZT,{path:i,label:t})},$T=({message:e})=>e?q(W,{marginTop:1,children:q(G,{color:ds().RED,children:e})}):null,eE=`~effect/encoding/Ndjson/NdjsonError`;var tE=class extends mi(`NdjsonError`){[eE]=eE;get message(){return this.kind}};const nE=()=>on((e,t)=>V(Qt(e,e=>{try{return V(Mn(e.map(e=>JSON.stringify(e)).join(`
|
|
37
37
|
`)+`
|
|
38
|
-
`))}catch(e){return
|
|
39
|
-
`)),i.length>0&&t.write(i),n.length>0&&r.write(n),r.pipe(t),t.pipe(r),t.on(`error`,()=>r.destroy()),r.on(`error`,()=>t.destroy())}),a.on(`error`,()=>t.destroy()),a.end()},
|
|
40
|
-
`)
|
|
41
|
-
`);i.push(J(G,{color:r.DIM,wrap:`truncate`,children:[t,Y.lineVertical,` `,q(G,{color:r.TEXT,children:o.tool.name}),`(`,o.isRunning&&J(G,{children:[` `,q(Ua,{type:`line`})]}),o.resultTokens!==void 0&&` ${Y.arrowDown} ${UE(o.resultTokens)} tokens`]},`${s}-h`));for(let n=0;n<e.length;n++)i.push(J(G,{color:r.DIM,children:[t,Y.lineVertical,` `,` `,q(G,{color:r.TEXT,children:e[n]})]},`${s}-${n}`));i.push(J(G,{color:r.DIM,children:[t,Y.lineVertical,` )`]},`${s}-c`))}else i.push(J(G,{color:r.DIM,wrap:`truncate`,children:[t,Y.lineVertical,` `,q(G,{color:r.TEXT,children:o.tool.name}),`(`,o.tool.args,`)`,o.isRunning&&J(G,{children:[` `,q(Ua,{type:`line`})]}),o.resultTokens!==void 0&&` ${Y.arrowDown} ${UE(o.resultTokens)} tokens`]},s))}return i},$E=t=>{let n=sa(114);if(n[0]!==`005b3d9fb8513c8104b3ce6cfde6c91aa99fa8cbc82e0e741e1e9c0a75511e6e`){for(let e=0;e<114;e+=1)n[e]=Symbol.for(`react.memo_cache_sentinel`);n[0]=`005b3d9fb8513c8104b3ce6cfde6c91aa99fa8cbc82e0e741e1e9c0a75511e6e`}let{changesFor:r,instruction:i,savedFlow:a,requiresCookies:o,baseUrls:s}=t,c=o===void 0?!1:o,l=Hb(eD),u=ls(),[,d]=os(),f=GC(tD),p=GC(nD),m=GC(rD),h=GC(iD),g;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(g={mode:`promiseExit`},n[1]=g):g=n[1];let[_,v]=eo(LE,g),y=no(FE),[b,x]=K(void 0),ee;n[2]===_?ee=n[3]:(ee=Cw(_),n[2]=_,n[3]=ee);let S=ee,C;n[4]===_?C=n[5]:(C=Ow(_),n[4]=_,n[5]=C);let w=C,te=w?_.value.report:void 0,[T,E]=K(void 0),[D,O]=K(void 0),[ne,k]=K(0),[A,re]=K(!1),j=NT(aD),M=NT(oD),ie=NT(sD),ae;n[6]===ne?ae=n[7]:(ae=PT(ne),n[6]=ne,n[7]=ae);let oe=ae,se=T?.steps?T.steps.length:0,N;if(n[8]!==u||n[9]!==oe||n[10]!==T||n[11]!==j||n[12]!==S){if(N=[],j&&T){let e=T.steps??[];if(e.length===0&&S){let e=qE(T.events,!0);N.push(...QE(e,` `,`planning`,u))}for(let t=0;t<e.length;t++){let n=e[t],r=Pi(n.summary)?n.summary.value:n.title,i=ZE(n),a=i===void 0?void 0:PT(i),o=`${t+1}.`;if(n.status===`active`){N.push(J(W,{children:[J(G,{color:u.DIM,children:[` `,o,` `]}),q(Fb,{}),q(G,{children:` `}),q(MT,{text:`${n.title} ${oe}`,baseColor:ss.shimmerBase,highlightColor:ss.shimmerHighlight})]},`step-${t}`));let e=KE(T.events,!0);N.push(...QE(e,` `,`s${t}`,u))}else if(n.status===`passed`){N.push(J(G,{children:[J(G,{color:u.DIM,children:[` `,o]}),J(G,{color:u.GREEN,children:[` `,Y.tick,` `,Wa(r,100)]}),a&&J(G,{color:u.DIM,children:[` `,a]})]},`step-${t}`));let e=YE(T.events,t);N.push(...QE(e,` `,`s${t}`,u))}else if(n.status===`failed`){N.push(J(G,{children:[J(G,{color:u.DIM,children:[` `,o]}),J(G,{color:u.RED,children:[` `,Y.cross,` `,Wa(r,100)]}),a&&J(G,{color:u.DIM,children:[` `,a]})]},`step-${t}`));let e=YE(T.events,t);N.push(...QE(e,` `,`s${t}`,u))}else N.push(J(G,{color:u.DIM,children:[` `,o,` `,Y.circle,` `,n.title]},`step-${t}`))}}n[8]=u,n[9]=oe,n[10]=T,n[11]=j,n[12]=S,n[13]=N}else N=n[13];let ce=Math.max(1,d-6),le;n[14]!==N.length||n[15]!==ce?(le={itemCount:N.length,visibleCount:ce},n[14]=N.length,n[15]=ce,n[16]=le):le=n[16];let ue=Lb(le),de=pa(!1),P,F;n[17]!==j||n[18]!==N.length||n[19]!==ue?(P=()=>{j&&!de.current&&N.length>0&&ue.setHighlightedIndex(N.length-1),de.current=j},F=[j,N.length,ue],n[17]=j,n[18]=N.length,n[19]=ue,n[20]=P,n[21]=F):(P=n[20],F=n[21]),da(P,F);let fe;n[22]!==f||n[23]!==s||n[24]!==p||n[25]!==r||n[26]!==i||n[27]!==m||n[28]!==c||n[29]!==a||n[30]!==v?(fe=()=>{O(Date.now());let e=s&&s.length>0?s.join(`, `):void 0,t=s?s.map(cD).join(` `):void 0;return v({options:{changesFor:r,instruction:t?`${i} ${t}`:i,isHeadless:!p,requiresCookies:c,savedFlow:a,baseUrl:e},agentBackend:f,replayHost:m,onUpdate:E,onReplayUrl:x}),()=>{v(bT)}},n[22]=f,n[23]=s,n[24]=p,n[25]=r,n[26]=i,n[27]=m,n[28]=c,n[29]=a,n[30]=v,n[31]=fe):fe=n[31];let pe;n[32]!==f||n[33]!==s||n[34]!==p||n[35]!==r||n[36]!==i||n[37]!==c||n[38]!==a||n[39]!==v?(pe=[v,f,p,r,i,a,c,s],n[32]=f,n[33]=s,n[34]=p,n[35]=r,n[36]=i,n[37]=c,n[38]=a,n[39]=v,n[40]=pe):pe=n[40],da(fe,pe);let me=w?_.value.replayUrl:void 0,he,ge;n[41]!==T||n[42]!==w||n[43]!==me||n[44]!==te||n[45]!==l?(he=()=>{w&&T&&te&&(NT.getState().setExecutedPlan(T),l(Bb.Results({report:te,replayUrl:me})))},ge=[w,T,te,me,l],n[41]=T,n[42]=w,n[43]=me,n[44]=te,n[45]=l,n[46]=he,n[47]=ge):(he=n[46],ge=n[47]),da(he,ge);let _e;n[48]===l?_e=n[49]:(_e=()=>{NT.getState().setExecutedPlan(void 0),l(Bb.Main())},n[48]=l,n[49]=_e);let ve=_e,ye,be;n[50]!==S||n[51]!==D?(ye=()=>{if(D===void 0||!S)return;let e=setInterval(()=>{k(Date.now()-D)},1e3);return()=>clearInterval(e)},be=[D,S],n[50]=S,n[51]=D,n[52]=ye,n[53]=be):(ye=n[52],be=n[53]),da(ye,be);let xe;n[54]!==T||n[55]!==_||n[56]!==j||n[57]!==ue||n[58]!==ve||n[59]!==S||n[60]!==b||n[61]!==me||n[62]!==te||n[63]!==M||n[64]!==l||n[65]!==A||n[66]!==ie||n[67]!==h?(xe=(t,n)=>{let r=t.toLowerCase();if(A){if(n.return||r===`y`){re(!1),qC(`run:cancelled`),ve();return}(n.escape||r===`n`)&&re(!1);return}if(r===`o`&&!n.ctrl&&!n.meta&&b){let{exec:t}=e(`node:child_process`);t(`open "${b.replace(/"/g,`\\"`)}"`),qC(`live_preview:opened`);return}if(n.ctrl&&t===`o`){ie();return}if(n.ctrl&&t===`n`){h();return}if(j){if(ue.handleNavigation(t,n))return;if(n.escape){M(!1);return}return}if(n.escape){if(Aw(_)){ve();return}if(S){re(!0);return}if(T&&te){NT.getState().setExecutedPlan(T),l(Bb.Results({report:te,replayUrl:me}));return}ve()}},n[54]=T,n[55]=_,n[56]=j,n[57]=ue,n[58]=ve,n[59]=S,n[60]=b,n[61]=me,n[62]=te,n[63]=M,n[64]=l,n[65]=A,n[66]=ie,n[67]=h,n[68]=xe):xe=n[68],ta(xe);let Se;n[69]!==N||n[70]!==ue.scrollOffset||n[71]!==ce?(Se=N.slice(ue.scrollOffset,ue.scrollOffset+ce),n[69]=N,n[70]=ue.scrollOffset,n[71]=ce,n[72]=Se):Se=n[72];let Ce=Se,we;n[73]===y?we=n[74]:(we=q($i,{items:[...y],children:lD}),n[73]=y,n[74]=we);let Te;n[75]===Symbol.for(`react.memo_cache_sentinel`)?(Te=q(XC,{}),n[75]=Te):Te=n[75];let Ee;n[76]===u.DIM?Ee=n[77]:(Ee=q(G,{color:u.DIM,children:Y.pointerSmall}),n[76]=u.DIM,n[77]=Ee);let De;n[78]!==u.TEXT||n[79]!==i?(De=q(G,{color:u.TEXT,children:i}),n[78]=u.TEXT,n[79]=i,n[80]=De):De=n[80];let Oe;n[81]!==Ee||n[82]!==De?(Oe=J(W,{children:[Te,J(G,{wrap:`truncate`,children:[` `,Ee,` `,De]})]}),n[81]=Ee,n[82]=De,n[83]=Oe):Oe=n[83];let I;n[84]!==u.DIM||n[85]!==u.PRIMARY||n[86]!==S||n[87]!==b?(I=b&&S&&q(W,{marginTop:0,children:J(G,{color:u.DIM,children:[` `,`Press `,q(G,{color:u.PRIMARY,children:`o`}),` to open live preview`]})}),n[84]=u.DIM,n[85]=u.PRIMARY,n[86]=S,n[87]=b,n[88]=I):I=n[88];let ke;n[89]!==u.DIM||n[90]!==u.GREEN||n[91]!==u.RED||n[92]!==oe||n[93]!==T||n[94]!==j||n[95]!==S||n[96]!==se||n[97]!==Ce?(ke=j?q(W,{flexDirection:`column`,marginTop:1,children:Ce}):J(ma,{children:[se===0&&S&&(()=>{let e=T?qE(T.events,!1):[];return J(W,{marginTop:1,flexDirection:`column`,children:[J(W,{children:[q(Fb,{}),q(G,{children:` `}),q(MT,{text:`Starting${Y.ellipsis} ${oe}`,baseColor:ss.shimmerBase,highlightColor:ss.shimmerHighlight})]}),e.map(uD)]})})(),q(W,{flexDirection:`column`,marginTop:1,children:(T?.steps??[]).map((e,t)=>{let n=Pi(e.summary)?e.summary.value:e.title,r=ZE(e),i=r===void 0?void 0:PT(r),a=`${t+1}.`;if(e.status===`active`){let t=T?KE(T.events,!1):[];return J(W,{flexDirection:`column`,children:[J(W,{children:[J(G,{color:u.DIM,children:[` `,a,` `]}),q(Fb,{}),q(G,{children:` `}),q(MT,{text:`${e.title} ${oe}`,baseColor:ss.shimmerBase,highlightColor:ss.shimmerHighlight})]}),t.map(dD)]},e.id)}return e.status===`passed`?J(G,{children:[J(G,{color:u.DIM,children:[` `,a]}),J(G,{color:u.GREEN,children:[` `,Y.tick,` `,Wa(n,100)]}),i&&J(G,{color:u.DIM,children:[` `,i]})]},e.id):e.status===`failed`?J(G,{children:[J(G,{color:u.DIM,children:[` `,a]}),J(G,{color:u.RED,children:[` `,Y.cross,` `,Wa(n,100)]}),i&&J(G,{color:u.DIM,children:[` `,i]})]},e.id):J(G,{color:u.DIM,children:[` `,a,` `,Y.circle,` `,e.title]},e.id)})})]}),n[89]=u.DIM,n[90]=u.GREEN,n[91]=u.RED,n[92]=oe,n[93]=T,n[94]=j,n[95]=S,n[96]=se,n[97]=Ce,n[98]=ke):ke=n[98];let L;n[99]!==u.PRIMARY||n[100]!==u.YELLOW||n[101]!==A?(L=A&&q(W,{marginTop:1,children:J(G,{color:u.YELLOW,children:[`Stop run? `,q(G,{color:u.PRIMARY,children:`enter`}),` to stop,`,` `,q(G,{color:u.PRIMARY,children:`esc`}),` to dismiss`]})}),n[99]=u.PRIMARY,n[100]=u.YELLOW,n[101]=A,n[102]=L):L=n[102];let Ae;n[103]===_?Ae=n[104]:(Ae=zw(_).onError(fD).orNull(),n[103]=_,n[104]=Ae);let je;n[105]!==Oe||n[106]!==I||n[107]!==ke||n[108]!==L||n[109]!==Ae?(je=J(W,{flexDirection:`column`,width:`100%`,paddingY:1,paddingX:1,children:[Oe,I,ke,L,Ae]}),n[105]=Oe,n[106]=I,n[107]=ke,n[108]=L,n[109]=Ae,n[110]=je):je=n[110];let R;return n[111]!==we||n[112]!==je?(R=J(ma,{children:[we,je]}),n[111]=we,n[112]=je,n[113]=R):R=n[113],R};function eD(e){return e.setScreen}function tD(e){return e.agentBackend}function nD(e){return e.browserHeaded}function rD(e){return e.replayHost}function iD(e){return e.toggleNotifications}function aD(e){return e.expanded}function oD(e){return e.setExpanded}function sD(e){return e.toggleExpanded}function cD(e){return`[url: ${e}]`}function lD(e){return q(W,{paddingX:1,children:q(XT,{src:e,alt:e})},e)}function uD(e,t){return q(XE,{display:e,indent:` `},t)}function dD(e,t){return q(XE,{display:e,indent:` `},t)}function fD(e){return q(ZT,{message:e instanceof Error?e.message:String(e)})}const pD=e=>{try{return Ca.execSync(`pbcopy`,{input:e,stdio:[`pipe`,`ignore`,`ignore`]}),!0}catch{return!1}},mD=(e,t)=>S(yb.use(n=>n.addComment(process.cwd(),e,t)).pipe(ln(yb.layer))),hD=()=>aa({mutationFn:({pullRequest:e,body:t})=>mD(e,t)}),gD=EE.fn(tn(function*(e,t){return yield*(yield*gb).save(e.plan)},nt({fn:`saveFlowFn`}),ln(Ia.layer))),_D=e=>{if(!(vn(e.startedAt)||vn(e.endedAt)))return Xe(e.endedAt.value)-Xe(e.startedAt.value)},vD=e=>{let t=0;for(let n of e){let e=_D(n);e!==void 0&&(t+=e)}return t},yD=e=>{let t=sa(123);if(t[0]!==`31036d6ecd3a5ffd4854dcf9cbf6ebd796f8fa24eaa164ce17410f50b4ecef3c`){for(let e=0;e<123;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`31036d6ecd3a5ffd4854dcf9cbf6ebd796f8fa24eaa164ce17410f50b4ecef3c`}let{report:n,replayUrl:r}=e,i=ls(),a=Hb(bD),[o,s]=K(void 0),c=hD(),l;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(l={mode:`promiseExit`},t[1]=l):l=t[1];let[u,d]=eo(gD,l),f=u.waiting,p;t[2]===u?p=t[3]:(p=Ow(u),t[2]=u,t[3]=p);let m=p,h;t[4]!==c||t[5]!==n.pullRequest||t[6]!==n.toPlainText?(h=()=>{Pi(n.pullRequest)&&(qC(`results:posted_to_pr`),c.mutate({pullRequest:n.pullRequest.value,body:n.toPlainText}))},t[4]=c,t[5]=n.pullRequest,t[6]=n.toPlainText,t[7]=h):h=t[7];let g=h,_;t[8]!==i.GREEN||t[9]!==i.RED||t[10]!==n.toPlainText?(_=()=>{pD(n.toPlainText)?(qC(`results:copied_to_clipboard`),s({text:`${Y.tick} Copied to clipboard`,color:i.GREEN})):s({text:`${Y.cross} Failed to copy to clipboard`,color:i.RED})},t[8]=i.GREEN,t[9]=i.RED,t[10]=n.toPlainText,t[11]=_):_=t[11];let v=_,y;t[12]!==n||t[13]!==f||t[14]!==m||t[15]!==d?(y=async()=>{f||m||(qC(`flow:saved`,{step_count:n.steps.length}),await d({plan:n}))},t[12]=n,t[13]=f,t[14]=m,t[15]=d,t[16]=y):y=t[16];let b=y,x;t[17]!==n.changesFor||t[18]!==n.instruction||t[19]!==a?(x=()=>{qC(`results:restarted`),NT.getState().setExecutedPlan(void 0),a(Vb({changesFor:n.changesFor,instruction:n.instruction}))},t[17]=n.changesFor,t[18]=n.instruction,t[19]=a,t[20]=x):x=t[20];let ee=x,S;t[21]!==v||t[22]!==g||t[23]!==ee||t[24]!==b?(S=e=>{let t=e.toLowerCase();t===`y`&&v(),t===`p`&&g(),t===`s`&&b(),t===`r`&&ee()},t[21]=v,t[22]=g,t[23]=ee,t[24]=b,t[25]=S):S=t[25],ta(S);let C=n.status===`passed`,w=C?i.GREEN:i.RED,te=C?Y.tick:Y.cross,T=C?`Passed`:`Failed`,E,D,O,ne,k,A,re,j,M;if(t[26]!==i.DIM||t[27]!==i.GREEN||t[28]!==i.RED||t[29]!==i.TEXT||t[30]!==n.instruction||t[31]!==n.stepStatuses||t[32]!==n.steps||t[33]!==w||t[34]!==te||t[35]!==T){let e=vD(n.steps);E=W,j=`column`,M=`100%`,D=1,O=1;let r;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(r=q(XC,{}),t[45]=r):r=t[45];let a;t[46]===i.DIM?a=t[47]:(a=q(G,{color:i.DIM,children:Y.pointerSmall}),t[46]=i.DIM,t[47]=a);let o;t[48]!==i.TEXT||t[49]!==n.instruction?(o=q(G,{color:i.TEXT,children:n.instruction}),t[48]=i.TEXT,t[49]=n.instruction,t[50]=o):o=t[50],t[51]!==a||t[52]!==o?(ne=J(W,{children:[r,J(G,{wrap:`truncate`,children:[` `,a,` `,o]})]}),t[51]=a,t[52]=o,t[53]=ne):ne=t[53];let s;t[54]!==w||t[55]!==te||t[56]!==T?(s=J(G,{color:w,bold:!0,children:[te,` `,T]}),t[54]=w,t[55]=te,t[56]=T,t[57]=s):s=t[57];let c=n.steps.length===1?``:`s`,l;t[58]!==i.DIM||t[59]!==n.steps.length||t[60]!==c?(l=J(G,{color:i.DIM,children:[` `,n.steps.length,` step`,c]}),t[58]=i.DIM,t[59]=n.steps.length,t[60]=c,t[61]=l):l=t[61],t[62]!==s||t[63]!==l?(k=J(W,{marginTop:1,children:[s,l]}),t[62]=s,t[63]=l,t[64]=k):k=t[64];let u;if(t[65]!==i.DIM||t[66]!==i.GREEN||t[67]!==i.RED||t[68]!==n.stepStatuses||t[69]!==n.steps){let e;t[71]!==i.DIM||t[72]!==i.GREEN||t[73]!==i.RED||t[74]!==n.stepStatuses?(e=(e,t)=>{let r=_D(e),a=r===void 0?void 0:PT(r),o=n.stepStatuses.get(e.id),s=o?.status===`failed`,c=s?i.RED:i.GREEN,l=s?Y.cross:Y.tick,u=`${t+1}.`;return J(W,{flexDirection:`column`,children:[J(G,{children:[J(G,{color:i.DIM,children:[` `,u]}),J(G,{color:c,children:[` `,l,` `,e.title]}),a&&J(G,{color:i.DIM,children:[` `,a]})]}),s&&o.summary&&J(G,{color:i.DIM,children:[` `,o.summary]})]},e.id)},t[71]=i.DIM,t[72]=i.GREEN,t[73]=i.RED,t[74]=n.stepStatuses,t[75]=e):e=t[75],u=n.steps.map(e),t[65]=i.DIM,t[66]=i.GREEN,t[67]=i.RED,t[68]=n.stepStatuses,t[69]=n.steps,t[70]=u}else u=t[70];t[76]===u?A=t[77]:(A=q(W,{flexDirection:`column`,marginTop:1,children:u}),t[76]=u,t[77]=A),re=e>0&&q(W,{marginTop:1,children:J(G,{color:i.DIM,children:[`Worked for `,PT(e)]})}),t[26]=i.DIM,t[27]=i.GREEN,t[28]=i.RED,t[29]=i.TEXT,t[30]=n.instruction,t[31]=n.stepStatuses,t[32]=n.steps,t[33]=w,t[34]=te,t[35]=T,t[36]=E,t[37]=D,t[38]=O,t[39]=ne,t[40]=k,t[41]=A,t[42]=re,t[43]=j,t[44]=M}else E=t[36],D=t[37],O=t[38],ne=t[39],k=t[40],A=t[41],re=t[42],j=t[43],M=t[44];let ie;t[78]===o?ie=t[79]:(ie=o&&q(W,{marginTop:1,children:q(G,{color:o.color,children:o.text})}),t[78]=o,t[79]=ie);let ae;t[80]!==i.DIM||t[81]!==c.isPending?(ae=c.isPending&&q(W,{marginTop:1,children:J(G,{color:i.DIM,children:[`Posting to PR`,Y.ellipsis]})}),t[80]=i.DIM,t[81]=c.isPending,t[82]=ae):ae=t[82];let oe;t[83]!==i.GREEN||t[84]!==c.isSuccess?(oe=c.isSuccess&&q(W,{marginTop:1,children:J(G,{color:i.GREEN,children:[Y.tick,` Posted to PR`]})}),t[83]=i.GREEN,t[84]=c.isSuccess,t[85]=oe):oe=t[85];let se;t[86]!==i.RED||t[87]!==c.isError?(se=c.isError&&q(W,{marginTop:1,children:J(G,{color:i.RED,children:[Y.cross,` Failed to post to PR`]})}),t[86]=i.RED,t[87]=c.isError,t[88]=se):se=t[88];let N;t[89]!==i.DIM||t[90]!==f?(N=f&&q(W,{marginTop:1,children:J(G,{color:i.DIM,children:[`Saving flow`,Y.ellipsis]})}),t[89]=i.DIM,t[90]=f,t[91]=N):N=t[91];let ce;t[92]!==i.GREEN||t[93]!==m?(ce=m&&q(W,{marginTop:1,children:J(G,{color:i.GREEN,children:[Y.tick,` Flow saved`]})}),t[92]=i.GREEN,t[93]=m,t[94]=ce):ce=t[94];let le;t[95]!==i.RED||t[96]!==u?(le=Aw(u)&&q(W,{marginTop:1,children:J(G,{color:i.RED,children:[Y.cross,` Failed to save flow`]})}),t[95]=i.RED,t[96]=u,t[97]=le):le=t[97];let ue;t[98]!==i.DIM||t[99]!==i.PRIMARY||t[100]!==r?(ue=r&&q(W,{flexDirection:`column`,paddingX:1,marginTop:1,children:J(G,{color:i.DIM,children:[`Replay:`,` `,q(G,{color:i.PRIMARY,bold:!0,children:r})]})}),t[98]=i.DIM,t[99]=i.PRIMARY,t[100]=r,t[101]=ue):ue=t[101];let de;t[102]===n.screenshotPaths?de=t[103]:(de=n.screenshotPaths.map(xD),t[102]=n.screenshotPaths,t[103]=de);let P;return t[104]!==E||t[105]!==D||t[106]!==O||t[107]!==ne||t[108]!==k||t[109]!==A||t[110]!==re||t[111]!==ie||t[112]!==ae||t[113]!==oe||t[114]!==se||t[115]!==N||t[116]!==ce||t[117]!==le||t[118]!==ue||t[119]!==de||t[120]!==j||t[121]!==M?(P=J(E,{flexDirection:j,width:M,paddingY:D,paddingX:O,children:[ne,k,A,re,ie,ae,oe,se,N,ce,le,ue,de]}),t[104]=E,t[105]=D,t[106]=O,t[107]=ne,t[108]=k,t[109]=A,t[110]=re,t[111]=ie,t[112]=ae,t[113]=oe,t[114]=se,t[115]=N,t[116]=ce,t[117]=le,t[118]=ue,t[119]=de,t[120]=j,t[121]=M,t[122]=P):P=t[122],P};function bD(e){return e.setScreen}function xD(e){return q(W,{marginTop:1,children:q(XT,{src:e,alt:`Screenshot: ${e}`})},e)}const SD=zr(gb.layer,rb.withRepoRoot(process.cwd())),CD=()=>oa({queryKey:[`saved-flows`],queryFn:()=>H(function*(){return yield*(yield*gb).list()}).pipe(ln(SD),ln(Ia.layer),_(`FindRepoRootError`,()=>B([])),S)}),wD=new Ps({isGitRepo:!1,currentBranch:`HEAD`,mainBranch:void 0,isOnMain:!1,hasChangesFromMain:!1,hasUnstagedChanges:!1,hasBranchCommits:!1,branchCommitCount:0,fileStats:[],workingTreeFileStats:[],fingerprint:void 0,savedFingerprint:void 0}),TD=()=>oa({queryKey:[`git-state`],queryFn:async()=>{let e=await ji(H(function*(){return yield*(yield*rb).getState()}).pipe(ln(rb.withRepoRoot(process.cwd())),_(`FindRepoRootError`,()=>B(wD)),v({duration:1e4,onTimeout:()=>B(wD)}),ln(Ia.layer)));return A(e)?e.value:wD}}),ED=e=>Array.isArray(e.flow?.steps)?e.flow.steps:[],DD=(e,t)=>{let n=Ls.makeUnsafe({_tag:`Changes`,mainBranch:t}),r=ED(e),i={title:e.flow.title,userInstruction:e.flow.userInstruction,steps:r},a=e.environment.cookies;qC(`flow:reused`,{slug:e.slug,step_count:r.length}),Hb.getState().setScreen(Vb({changesFor:n,instruction:e.flow.userInstruction,savedFlow:i,requiresCookies:a}))},OD=()=>{let e=sa(11);if(e[0]!==`53939b05c229418d7d52eba403172d78da52d4f06481f5625a9cf002fc443ae8`){for(let t=0;t<11;t+=1)e[t]=Symbol.for(`react.memo_cache_sentinel`);e[0]=`53939b05c229418d7d52eba403172d78da52d4f06481f5625a9cf002fc443ae8`}let t=ls(),[n]=os(),r=Hb(kD),{data:i}=TD(),{data:a,isLoading:o}=CD(),s=a===void 0?[]:a,{highlightedIndex:c,setHighlightedIndex:l,scrollOffset:u,handleNavigation:d}=Lb({itemCount:s.length,visibleCount:15}),f=Math.min(40,Math.floor(n*.35)),p=Math.max(20,n-f-8),m=s.slice(u,u+15);ta((e,t)=>{if(!d(e,t)){if(t.return){let e=s[c];e&&DD(e,i?.mainBranch??`main`)}t.escape&&r(Bb.Main())}});let h=W,g=`${s.length} flow${s.length===1?``:`s`}`,_;e[1]===g?_=e[2]:(_=q(W,{paddingX:1,children:q(Wb,{title:`Saved flows`,subtitle:g})}),e[1]=g,e[2]=_);let v;e[3]===o?v=e[4]:(v=o&&q(W,{marginTop:1,paddingX:1,children:q(Fb,{message:`Loading saved flows...`})}),e[3]=o,e[4]=v);let y=!o&&s.length===0&&q(W,{marginTop:1,paddingX:1,flexDirection:`column`,children:J(G,{color:t.DIM,children:[`No saved flows yet. Run a test and press `,q(G,{color:t.PRIMARY,children:`s`}),` on the results screen to save a flow.`]})}),b=!o&&s.length>0&&q(W,{marginTop:1,flexDirection:`column`,height:15,overflow:`hidden`,paddingX:1,children:m.map((e,n)=>{let r=n+u,a=r===c,o=ED(e).length;return J(fs,{onClick:()=>{l(r),DD(e,i?.mainBranch??`main`)},children:[q(G,{color:a?t.PRIMARY:t.DIM,children:a?`${Y.pointer} `:` `}),q(G,{color:a?t.PRIMARY:t.TEXT,bold:a,children:Ib(Wa(e.title,f-1),f)}),q(G,{color:t.DIM,children:Ib(`${o} step${o===1?``:`s`}`,10)}),q(G,{color:t.DIM,children:Wa(e.description,p)})]},e.slug)})}),x;return e[5]!==h||e[6]!==_||e[7]!==v||e[8]!==y||e[9]!==b?(x=J(h,{flexDirection:`column`,width:`100%`,paddingY:1,children:[_,v,y,b]}),e[5]=h,e[6]=_,e[7]=v,e[8]=y,e[9]=b,e[10]=x):x=e[10],x};function kD(e){return e.setScreen}const AD=e=>{let t=sa(7);if(t[0]!==`4fad32b1608f5dc4d90407ad58143bc83cfcba6f2b87af31eb3b6ad187111fee`){for(let e=0;e<7;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`4fad32b1608f5dc4d90407ad58143bc83cfcba6f2b87af31eb3b6ad187111fee`}let{status:n}=e,r=ls();if(n===`open`){let e;return t[1]===r.GREEN?e=t[2]:(e=J(G,{color:r.GREEN,children:[Y.bullet,` `]}),t[1]=r.GREEN,t[2]=e),e}if(n===`merged`){let e;return t[3]===r.PURPLE?e=t[4]:(e=J(G,{color:r.PURPLE,children:[Y.bullet,` `]}),t[3]=r.PURPLE,t[4]=e),e}if(n===`draft`){let e;return t[5]===r.DIM?e=t[6]:(e=J(G,{color:r.DIM,children:[Y.bullet,` `]}),t[5]=r.DIM,t[6]=e),e}return null},jD=e=>{let t=sa(30);if(t[0]!==`4fad32b1608f5dc4d90407ad58143bc83cfcba6f2b87af31eb3b6ad187111fee`){for(let e=0;e<30;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`4fad32b1608f5dc4d90407ad58143bc83cfcba6f2b87af31eb3b6ad187111fee`}let{options:n,selectedIndex:r,isLoading:i,gitState:a}=e,o=ls(),s;bb0:{if(n.length<=8){s=0;break bb0}let e=n.length-8;s=Math.min(e,Math.max(0,r-4))}let c=s,l,u,d,f;if(t[1]!==o||t[2]!==a||t[3]!==i||t[4]!==n||t[5]!==c||t[6]!==r){f=Symbol.for(`react.early_return_sentinel`);bb1:{let e=n.slice(c,c+8);if(n.length===0&&!i){let e;t[11]===o.DIM?e=t[12]:(e=q(W,{flexDirection:`column`,children:q(G,{color:o.DIM,children:`No matching results`})}),t[11]=o.DIM,t[12]=e),f=e;break bb1}l=W,u=`column`;let s;t[13]!==o||t[14]!==a||t[15]!==c||t[16]!==r?(s=(e,t)=>{let n=t+c===r,i=Ab(e,a),s=jb(e,a),l=e._tag===`PullRequest`||e._tag===`Branch`?e.branch.prNumber:null,u=e._tag===`PullRequest`||e._tag===`Branch`?e.branch.prStatus:null;return J(G,{wrap:`truncate`,children:[q(G,{color:n?o.PRIMARY:o.DIM,children:n?`${Y.pointer} `:` `}),e._tag===`WorkingTree`?J(G,{color:o.GREEN,children:[Y.bullet,` `]}):null,u?q(AD,{status:u}):null,q(G,{color:n?o.PRIMARY:o.TEXT,bold:n,children:i}),l?J(G,{children:[` `,J(G,{color:u===`open`?o.GREEN:u===`merged`?o.PURPLE:o.DIM,children:[`#`,l]}),u?J(G,{color:o.DIM,children:[` `,u]}):null]}):null,s&&!l?J(G,{color:o.DIM,children:[` `,s]}):null]},uc(e))},t[13]=o,t[14]=a,t[15]=c,t[16]=r,t[17]=s):s=t[17],d=e.map(s)}t[1]=o,t[2]=a,t[3]=i,t[4]=n,t[5]=c,t[6]=r,t[7]=l,t[8]=u,t[9]=d,t[10]=f}else l=t[7],u=t[8],d=t[9],f=t[10];if(f!==Symbol.for(`react.early_return_sentinel`))return f;let p;t[18]!==o||t[19]!==i?(p=i?q(W,{children:J(G,{color:o.DIM,children:[` Loading PRs and branches`,Y.ellipsis]})}):null,t[18]=o,t[19]=i,t[20]=p):p=t[20];let m;t[21]!==o||t[22]!==n.length?(m=n.length>8?q(W,{children:J(G,{color:o.DIM,children:[` `,n.length-8,` more `,Y.arrowUp,`/`,Y.arrowDown]})}):null,t[21]=o,t[22]=n.length,t[23]=m):m=t[23];let h;return t[24]!==l||t[25]!==u||t[26]!==d||t[27]!==p||t[28]!==m?(h=J(l,{flexDirection:u,children:[d,p,m]}),t[24]=l,t[25]=u,t[26]=d,t[27]=p,t[28]=m,t[29]=h):h=t[29],h},MD=({gitState:e,onSelect:t})=>{let[n,r]=K(!1),[i,a]=K(``),[o,s]=K(0),{data:c=[]}=oa({queryKey:[`local-context-options`,e?.currentBranch],queryFn:()=>Db(e),enabled:!!e}),{data:l=[],isLoading:u}=oa({queryKey:[`remote-context-options`,e?.currentBranch],queryFn:()=>kb(e),enabled:n&&!!e}),d=fa(()=>[...c,...l],[c,l]),f=fa(()=>Nb(d,i,e),[d,i,e]);da(()=>{s(0)},[i]);let p=la(()=>{r(!0),a(``),s(0)},[]),m=la(()=>{r(!1),a(``)},[]);return{pickerOpen:n,pickerQuery:i,pickerIndex:o,filteredOptions:f,localOptions:c,remoteLoading:u,openPicker:p,closePicker:m,handleContextSelect:la(e=>{t(e),m()},[t,m]),setPickerQuery:a,setPickerIndex:s,createInputChangeHandler:(e,t)=>r=>{let i=rs(r),o=e.current;if(i.length>o.length&&i[i.length-1]===`@`&&(o.length===0||i[i.length-2]===` `)){t(i.slice(0,-1)),p();return}if(n){i.length-o.length<0?(m(),t(i)):a(e=>{let n=i.slice(o.length);return n.includes(` `)?(m(),t(i),``):e+n});return}t(i)}}},ND=[`Test the main user flow end to end`,`Smoke test the homepage and key pages`,`Check authentication and protected routes`],PD=[`Verify my recent changes work as expected`,`Check for regressions in related features`,`Test the main user flow end to end`],FD=[`Test the changes on this branch`,`Smoke test this branch end to end`,`Check for regressions on this branch`],ID=[`Test the changes in this pull request`,`Check for regressions introduced by this PR`,`Verify the PR works end to end`],LD=[`Test the changes from this commit`,`Check if this commit introduces regressions`,`Verify this commit works as expected`],RD=(e,t)=>{if(!e)return ND;switch(e._tag){case`WorkingTree`:return PD;case`Branch`:return FD;case`PullRequest`:return ID;case`Commit`:return LD;default:return ND}},zD=({gitState:e})=>{let t=ls(),[n]=os(),r=GC(e=>e.instructionHistory),i=Hb(e=>e.setScreen),[a,o]=K(void 0),[s,c]=K(``),[l,u]=K(0),[d,f]=K(0),[p,m]=K(!1),[h,g]=K(void 0),[_,v]=K(-1),[y,b]=K(``),x=nw(e=>e.cookiesEnabled),ee=nw(e=>e.toggleCookies),S=()=>{if(r.length===0)return;let e=_+1;e>=r.length||(_===-1&&b(s),v(e),c(r[e]),u(e=>e+1))},C=()=>{if(_<=-1)return;let e=_-1;v(e),c(e===-1?y:r[e]),u(e=>e+1)},w=MD({gitState:e??null,onSelect:e=>{o(e),qC(`context:selected`,{context_type:{WorkingTree:`working_tree`,Branch:`branch`,PullRequest:`pull_request`,Commit:`commit`}[e._tag]})}}),te=w.localOptions.find(e=>e._tag===`WorkingTree`)??void 0,T=a??te??null,E=RD(T,e??null);da(()=>{f(0)},[T,e]);let D=t=>{let n=(t??s).trim();if(!n){g(`Describe what you want the browser agent to test.`);return}if(!e)return;let r=e.mainBranch??`main`,a;T?._tag===`Commit`?a=Ls.makeUnsafe({_tag:`Commit`,hash:T.hash}):T?._tag===`Branch`||T?._tag===`PullRequest`?(T.branch.name&&(_b(process.cwd(),T.branch.name),Ub.invalidateQueries({queryKey:[`git-state`]})),a=Ls.makeUnsafe({_tag:`Branch`,mainBranch:r})):a=Ls.makeUnsafe({_tag:`Changes`,mainBranch:r}),GC.getState().rememberInstruction(n),x||zb(n)?i(Vb({changesFor:a,instruction:n,requiresCookies:x})):i(Bb.CookieSyncConfirm({changesFor:a,instruction:n}))},O=pa(s);O.current=s;let ne=w.createInputChangeHandler(O,e=>{c(e),h&&g(void 0)}),k=!s.includes(`
|
|
42
|
-
`),A=s===``&&!w.pickerOpen&&E.length>0,re=A&&!p&&n>=80,j=E[d%E.length];return ta((e,t)=>{if(w.pickerOpen){if(t.escape){w.closePicker();return}if(t.downArrow||t.ctrl&&e===`n`){w.setPickerIndex(Math.min(w.filteredOptions.length-1,w.pickerIndex+1));return}if(t.upArrow||t.ctrl&&e===`p`){w.setPickerIndex(Math.max(0,w.pickerIndex-1));return}if(t.return||t.tab){let e=w.filteredOptions[w.pickerIndex];e&&w.handleContextSelect(e);return}if(t.backspace||t.delete){w.pickerQuery.length===0?w.closePicker():w.setPickerQuery(w.pickerQuery.slice(0,-1));return}e&&!t.ctrl&&!t.meta&&w.setPickerQuery(w.pickerQuery+e);return}if(k&&t.upArrow){S();return}if(k&&t.downArrow){C();return}if(t.ctrl&&e===`k`){ee(),qC(`cookies:toggled`,{enabled:!x});return}if(t.tab&&!t.shift&&A&&j){c(j),u(e=>e+1),qC(`suggestion:accepted`);return}if(!(t.tab&&t.shift)&&A){if(t.rightArrow){f(e=>(e+1)%E.length),m(!0);return}if(t.leftArrow){f(e=>(e-1+E.length)%E.length),m(!0);return}}},{isActive:!0}),J(W,{flexDirection:`column`,width:`100%`,paddingY:1,children:[q(W,{flexDirection:`column`,marginBottom:1,paddingX:1,children:q(XC,{})}),e?.hasUntestedChanges&&J(W,{paddingX:1,paddingY:1,marginBottom:1,backgroundColor:t.BANNER_BG,width:`100%`,flexDirection:`column`,gap:0,children:[(()=>{let n=e.workingTreeFileStats,r=n.reduce((e,t)=>e+t.added,0),i=n.reduce((e,t)=>e+t.removed,0);return J(W,{children:[J(G,{color:t.YELLOW,bold:!0,children:[Y.warning,` Untested changes detected`]}),n.length>0&&J(ma,{children:[J(G,{color:t.DIM,children:[` `,n.length,` file`,n.length===1?``:`s`,` `]}),r>0&&J(G,{color:t.GREEN,children:[`+`,r]}),r>0&&i>0&&q(G,{color:t.DIM,children:` `}),i>0&&J(G,{color:t.RED,children:[`-`,i]})]})]})})(),J(G,{color:t.DIM,children:[`Describe what to test and hit `,q(G,{color:t.YELLOW,children:`enter`}),` to verify your changes.`]})]}),J(W,{flexDirection:`column`,width:`100%`,children:[J(W,{paddingX:1,children:[!e&&q(Fb,{message:`loading context`}),e&&e.isGitRepo&&T&&q(fs,{fullWidth:!1,onClick:()=>{w.pickerOpen?w.closePicker():w.openPicker()},children:J(G,{color:t.DIM,children:[Y.bullet,` `,J(G,{color:t.PRIMARY,children:[`@`,Mb(T,e)]}),jb(T,e)&&` (${jb(T,e)})`]})})]}),q(fs,{children:q(W,{flexDirection:`column`,marginTop:1,backgroundColor:t.INPUT_BG,width:`100%`,paddingX:1,paddingY:1,children:J(W,{children:[q(G,{color:t.PRIMARY,children:`❯ `}),q(W,{flexGrow:1,children:q(vs,{focus:!w.pickerOpen,multiline:!0,placeholder:j?`${j} [tab]`:``,value:s,onSubmit:D,onUpArrowAtTop:k?void 0:S,onDownArrowAtBottom:k?void 0:C,onChange:ne},l)}),re?q(G,{color:t.DIM,children:` ←→ cycle test suggestions`}):null]})})}),e?.isGitRepo&&w.pickerOpen&&J(us,{color:t.BORDER,children:[J(W,{marginBottom:0,children:[q(G,{color:t.DIM,children:`@ `}),q(G,{color:t.PRIMARY,children:w.pickerQuery}),q(G,{color:t.DIM,children:w.pickerQuery?``:`type to filter`})]}),q(jD,{options:w.filteredOptions,selectedIndex:w.pickerIndex,isLoading:w.remoteLoading,gitState:e})]}),e?.isGitRepo&&!w.pickerOpen&&q(W,{marginTop:1,paddingX:1,children:J(G,{color:t.DIM,children:[q(G,{color:t.PRIMARY,children:`@`}),` add context`]})})]}),q(ZT,{message:h})]})},BD=e=>{let t=sa(10);if(t[0]!==`e8c3ad7624de558f1292f5717cd6dbce82fb6c0767dc4ab19348dc7a7975d8f5`){for(let e=0;e<10;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`e8c3ad7624de558f1292f5717cd6dbce82fb6c0767dc4ab19348dc7a7975d8f5`}let{segment:n,mutedColor:r}=e,i=n.color??r,a;t[1]!==n.label||t[2]!==i?(a=J(G,{color:i,children:[n.label,` `]}),t[1]=n.label,t[2]=i,t[3]=a):a=t[3];let o=n.color??r,s;t[4]!==n.key||t[5]!==o?(s=J(G,{color:o,children:[`[`,n.key,`]`]}),t[4]=n.key,t[5]=o,t[6]=s):s=t[6];let c;return t[7]!==a||t[8]!==s?(c=J(ma,{children:[a,s]}),t[7]=a,t[8]=s,t[9]=c):c=t[9],c},VD=e=>{let t=sa(12);if(t[0]!==`e8c3ad7624de558f1292f5717cd6dbce82fb6c0767dc4ab19348dc7a7975d8f5`){for(let e=0;e<12;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`e8c3ad7624de558f1292f5717cd6dbce82fb6c0767dc4ab19348dc7a7975d8f5`}let{segments:n,color:r,mutedColor:i}=e,a;t[1]===r?a=t[2]:(a=q(G,{color:r,children:` `}),t[1]=r,t[2]=a);let o;if(t[3]!==i||t[4]!==n){let e;t[6]!==i||t[7]!==n.length?(e=(e,t)=>J(W,{children:[e.onClick?q(fs,{fullWidth:!1,onClick:e.onClick,children:q(BD,{segment:e,mutedColor:i})}):q(BD,{segment:e,mutedColor:i}),t<n.length-1&&q(G,{color:i,children:` `})]},e.key+e.label),t[6]=i,t[7]=n.length,t[8]=e):e=t[8],o=n.map(e),t[3]=i,t[4]=n,t[5]=o}else o=t[5];let s;return t[9]!==a||t[10]!==o?(s=J(W,{children:[a,o]}),t[9]=a,t[10]=o,t[11]=s):s=t[11],s},HD=(e,t)=>{let n=sa(87);if(n[0]!==`b550868c87cf6b1dfe1682300fe0d38844022dce570a0a2326bec2f32013cc8b`){for(let e=0;e<87;e+=1)n[e]=Symbol.for(`react.memo_cache_sentinel`);n[0]=`b550868c87cf6b1dfe1682300fe0d38844022dce570a0a2326bec2f32013cc8b`}let r=ls(),i=Hb(GD),a=nw(KD),o=nw(qD),s=GC(JD),c=GC(YD),l=NT(XD);switch(e._tag){case`Main`:{let e=a?`cookies on`:`cookies off`,r;n[1]!==e||n[2]!==o?(r={key:`ctrl+k`,label:e,cta:!0,onClick:o},n[1]=e,n[2]=o,n[3]=r):r=n[3];let s;n[4]===i?s=n[5]:(s={key:`ctrl+r`,label:`saved flows`,cta:!0,onClick:()=>i(Bb.SavedFlowPicker())},n[4]=i,n[5]=s);let c;if(n[6]!==t?.isGitRepo||n[7]!==i||n[8]!==r||n[9]!==s){if(c=[r,s],t?.isGitRepo){let e;n[11]===i?e=n[12]:(e={key:`ctrl+p`,label:`pick pr`,cta:!0,onClick:()=>i(Bb.SelectPr())},n[11]=i,n[12]=e),c.push(e)}n[6]=t?.isGitRepo,n[7]=i,n[8]=r,n[9]=s,n[10]=c}else c=n[10];return c}case`SelectPr`:{let e,t,a;n[13]===Symbol.for(`react.memo_cache_sentinel`)?(e={key:`↑↓`,label:`nav`},t={key:`←→`,label:`filter`},a={key:`/`,label:`search`},n[13]=e,n[14]=t,n[15]=a):(e=n[13],t=n[14],a=n[15]);let o;n[16]===i?o=n[17]:(o={key:`esc`,label:`back`,cta:!0,onClick:()=>i(Bb.Main())},n[16]=i,n[17]=o);let s;n[18]===r.PRIMARY?s=n[19]:(s={key:`enter`,label:`select`,color:r.PRIMARY,cta:!0},n[18]=r.PRIMARY,n[19]=s);let c;return n[20]!==o||n[21]!==s?(c=[e,t,a,o,s],n[20]=o,n[21]=s,n[22]=c):c=n[22],c}case`SavedFlowPicker`:{let e;n[23]===Symbol.for(`react.memo_cache_sentinel`)?(e={key:`↑↓`,label:`nav`},n[23]=e):e=n[23];let t;n[24]===i?t=n[25]:(t={key:`esc`,label:`back`,cta:!0,onClick:()=>i(Bb.Main())},n[24]=i,n[25]=t);let a;n[26]===r.PRIMARY?a=n[27]:(a={key:`enter`,label:`select`,color:r.PRIMARY,cta:!0},n[26]=r.PRIMARY,n[27]=a);let o;return n[28]!==t||n[29]!==a?(o=[e,t,a],n[28]=t,n[29]=a,n[30]=o):o=n[30],o}case`CookieSyncConfirm`:{let t;n[31]===Symbol.for(`react.memo_cache_sentinel`)?(t={key:`↑↓`,label:`nav`},n[31]=t):t=n[31];let a;n[32]===i?a=n[33]:(a={key:`esc`,label:`back`,onClick:()=>i(Bb.Main())},n[32]=i,n[33]=a);let o;n[34]!==e.changesFor||n[35]!==e.instruction||n[36]!==e.savedFlow||n[37]!==i?(o={key:`c`,label:`enable sync`,cta:!0,onClick:()=>{i(Vb({changesFor:e.changesFor,instruction:e.instruction,savedFlow:e.savedFlow,requiresCookies:!0}))}},n[34]=e.changesFor,n[35]=e.instruction,n[36]=e.savedFlow,n[37]=i,n[38]=o):o=n[38];let s;n[39]!==e.changesFor||n[40]!==e.instruction||n[41]!==e.savedFlow||n[42]!==i?(s=()=>{i(Vb({changesFor:e.changesFor,instruction:e.instruction,savedFlow:e.savedFlow,requiresCookies:!1}))},n[39]=e.changesFor,n[40]=e.instruction,n[41]=e.savedFlow,n[42]=i,n[43]=s):s=n[43];let c;n[44]!==r.PRIMARY||n[45]!==s?(c={key:`a`,label:`run anyway`,color:r.PRIMARY,cta:!0,onClick:s},n[44]=r.PRIMARY,n[45]=s,n[46]=c):c=n[46];let l;return n[47]!==a||n[48]!==o||n[49]!==c?(l=[t,a,o,c],n[47]=a,n[48]=o,n[49]=c,n[50]=l):l=n[50],l}case`PortPicker`:{let e,t,a;n[51]===Symbol.for(`react.memo_cache_sentinel`)?(e={key:`↑↓`,label:`nav`},t={key:`space`,label:`toggle`},a={key:`/`,label:`custom port`},n[51]=e,n[52]=t,n[53]=a):(e=n[51],t=n[52],a=n[53]);let o;n[54]===i?o=n[55]:(o={key:`esc`,label:`back`,cta:!0,onClick:()=>i(Bb.Main())},n[54]=i,n[55]=o);let s;n[56]===r.PRIMARY?s=n[57]:(s={key:`enter`,label:`confirm`,color:r.PRIMARY,cta:!0},n[56]=r.PRIMARY,n[57]=s);let c;return n[58]!==o||n[59]!==s?(c=[e,t,a,o,s],n[58]=o,n[59]=s,n[60]=c):c=n[60],c}case`Testing`:{let e=s===!0?`notify on`:`notify off`,t=l?`collapse`:`expand`,r;n[61]!==e||n[62]!==c?(r={key:`ctrl+n`,label:e,cta:!0,onClick:c},n[61]=e,n[62]=c,n[63]=r):r=n[63];let i;n[64]===t?i=n[65]:(i={key:`ctrl+o`,label:t,cta:!0},n[64]=t,n[65]=i);let a=l?`collapse`:`cancel`,o;n[66]===a?o=n[67]:(o={key:`esc`,label:a},n[66]=a,n[67]=o);let u;return n[68]!==r||n[69]!==i||n[70]!==o?(u=[r,i,o],n[68]=r,n[69]=i,n[70]=o,n[71]=u):u=n[71],u}case`Results`:{let t;n[72]===Symbol.for(`react.memo_cache_sentinel`)?(t={key:`y`,label:`copy`,cta:!0},n[72]=t):t=n[72];let r;if(n[73]!==e.report.changesFor||n[74]!==e.report.instruction||n[75]!==e.report.pullRequest||n[76]!==i){if(r=[t],Pi(e.report.pullRequest)){let e;n[78]===Symbol.for(`react.memo_cache_sentinel`)?(e={key:`p`,label:`post to PR`,cta:!0},n[78]=e):e=n[78],r.push(e)}let a;n[79]===Symbol.for(`react.memo_cache_sentinel`)?(a={key:`s`,label:`save flow`,cta:!0},n[79]=a):a=n[79],r.push(a);let o;n[80]!==e.report.changesFor||n[81]!==e.report.instruction||n[82]!==i?(o={key:`r`,label:`restart`,cta:!0,onClick:()=>{NT.getState().setExecutedPlan(void 0),i(Vb({changesFor:e.report.changesFor,instruction:e.report.instruction}))}},n[80]=e.report.changesFor,n[81]=e.report.instruction,n[82]=i,n[83]=o):o=n[83],r.push(o);let s;n[84]===i?s=n[85]:(s={key:`esc`,label:`main menu`,cta:!0,onClick:()=>{NT.getState().setExecutedPlan(void 0),i(Bb.Main())}},n[84]=i,n[85]=s),r.push(s),n[73]=e.report.changesFor,n[74]=e.report.instruction,n[75]=e.report.pullRequest,n[76]=i,n[77]=r}else r=n[77];return r}default:{let e;return n[86]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],n[86]=e):e=n[86],e}}},UD=e=>e.length>0?` ${e.map(e=>`${e.label} [${e.key}]`).join(` `)}`:``,WD=()=>{let e=sa(35);if(e[0]!==`b550868c87cf6b1dfe1682300fe0d38844022dce570a0a2326bec2f32013cc8b`){for(let t=0;t<35;t+=1)e[t]=Symbol.for(`react.memo_cache_sentinel`);e[0]=`b550868c87cf6b1dfe1682300fe0d38844022dce570a0a2326bec2f32013cc8b`}let[t]=os(),{data:n}=TD(),r=Hb(ZD),i=HD(r,n),a,o;e[1]===i?(a=e[2],o=e[3]):(a=i.filter(QD),o=Ga(UD(a)),e[1]=i,e[2]=a,e[3]=o);let s=o,c=eO,l,u,d,f,p,m,h;if(e[4]!==i||e[5]!==t||e[6]!==s||e[7]!==r._tag){let n=i.filter(tO),a=c(n)+s+2>t?n.filter(nO):n,o=c(a);d=Math.max(0,t-o-s-2),u=W,m=`column`,e[15]!==t||e[16]!==r._tag?(h=r._tag===`Testing`?q(MT,{text:`─`.repeat(t),baseColor:ss.shimmerBase,highlightColor:ss.shimmerHighlight,speed:3}):q(G,{color:ss.border,children:`─`.repeat(t)}),e[15]=t,e[16]=r._tag,e[17]=h):h=e[17],l=W,f=1,p=a.map(rO),e[4]=i,e[5]=t,e[6]=s,e[7]=r._tag,e[8]=l,e[9]=u,e[10]=d,e[11]=f,e[12]=p,e[13]=m,e[14]=h}else l=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],h=e[14];let g;e[18]===d?g=e[19]:(g=` `.repeat(d),e[18]=d,e[19]=g);let _;e[20]===g?_=e[21]:(_=q(G,{children:g}),e[20]=g,e[21]=_);let v;e[22]===a?v=e[23]:(v=a.length>0?q(VD,{segments:a,color:ss.primary,mutedColor:ss.textMuted}):null,e[22]=a,e[23]=v);let y;e[24]!==l||e[25]!==f||e[26]!==p||e[27]!==_||e[28]!==v?(y=J(l,{paddingX:f,children:[p,_,v]}),e[24]=l,e[25]=f,e[26]=p,e[27]=_,e[28]=v,e[29]=y):y=e[29];let b;return e[30]!==u||e[31]!==m||e[32]!==h||e[33]!==y?(b=J(u,{flexDirection:m,children:[h,y]}),e[30]=u,e[31]=m,e[32]=h,e[33]=y,e[34]=b):b=e[34],b};function GD(e){return e.setScreen}function KD(e){return e.cookiesEnabled}function qD(e){return e.toggleCookies}function JD(e){return e.notifications}function YD(e){return e.toggleNotifications}function XD(e){return e.expanded}function ZD(e){return e.screen}function QD(e){return!e.cta}function $D(e){return e.color?` ${e.label} [${e.key}] `:`${e.label} [${e.key}]`}function eO(e){return Ga(e.map($D).join(` `))}function tO(e){return e.cta}function nO(e){return e.key!==`ctrl+p`}function rO(e,t){let n=J(G,{children:[t>0?` `:``,e.color?J(G,{backgroundColor:e.color,color:`black`,children:[` `,q(G,{bold:!0,children:e.label}),` `,J(G,{children:[`[`,e.key,`]`]}),` `]}):J(G,{children:[J(G,{color:ss.textMuted,children:[e.label,` `]}),J(G,{color:ss.textMuted,children:[`[`,e.key,`]`]})]})]},e.key+e.label);return e.onClick?q(fs,{onClick:e.onClick,fullWidth:!1,children:n},e.key+e.label):n}let iO=null;const aO=e=>{iO=e},oO=()=>iO?.clear(),sO=e=>{let t=sa(30);if(t[0]!==`8cbe973ac2cae0070f842bf2b3a7796d3cb37b925c068f9fba119e7cb70dfe14`){for(let e=0;e<30;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`8cbe973ac2cae0070f842bf2b3a7796d3cb37b925c068f9fba119e7cb70dfe14`}let{agent:n}=e,r=Hb(cO),i=Hb(lO),a=Hb(uO),{data:o}=TD(),s=to(TE),c,l;t[1]!==n||t[2]!==s?(c=()=>{s(Ct(n))},l=[n,s],t[1]=n,t[2]=s,t[3]=c,t[4]=l):(c=t[3],l=t[4]),da(c,l);let u;t[5]!==r._tag||t[6]!==i?(u=()=>{if(r._tag===`CookieSyncConfirm`){i(Bb.Main());return}if(r._tag===`PortPicker`){i(Bb.Main());return}if(r._tag===`Results`){NT.getState().setExecutedPlan(void 0),i(Bb.Main());return}r._tag!==`Testing`&&i(Bb.Main())},t[5]=r._tag,t[6]=i,t[7]=u):u=t[7];let d=u,[,f]=K(0),[,p]=os(),m;t[8]!==o?.isGitRepo||t[9]!==d||t[10]!==a||t[11]!==r._tag||t[12]!==f?(m=(e,t)=>{if(t.ctrl&&e===`l`){oO(),f(dO);return}t.escape&&r._tag!==`Main`&&d(),t.ctrl&&e===`p`&&r._tag===`Main`&&o?.isGitRepo&&a(Bb.SelectPr()),t.ctrl&&e===`r`&&r._tag===`Main`&&a(Bb.SavedFlowPicker())},t[8]=o?.isGitRepo,t[9]=d,t[10]=a,t[11]=r._tag,t[12]=f,t[13]=m):m=t[13],ta(m);let h;t[14]!==o||t[15]!==r._tag||t[16]!==r.baseUrls||t[17]!==r.changesFor||t[18]!==r.instruction||t[19]!==r.replayUrl||t[20]!==r.report||t[21]!==r.requiresCookies||t[22]!==r.savedFlow?(h=()=>{if(!o)return q(zD,{gitState:void 0});switch(r._tag){case`PortPicker`:return q(mw,{changesFor:r.changesFor,instruction:r.instruction,savedFlow:r.savedFlow,requiresCookies:r.requiresCookies});case`Testing`:return q($E,{changesFor:r.changesFor,instruction:r.instruction,savedFlow:r.savedFlow,requiresCookies:r.requiresCookies,baseUrls:r.baseUrls});case`Results`:return q(yD,{report:r.report,replayUrl:r.replayUrl});case`SelectPr`:return q(Gb,{});case`CookieSyncConfirm`:return q(QC,{changesFor:r.changesFor,instruction:r.instruction,savedFlow:r.savedFlow});case`SavedFlowPicker`:return q(OD,{});default:return q(zD,{gitState:o})}},t[14]=o,t[15]=r._tag,t[16]=r.baseUrls,t[17]=r.changesFor,t[18]=r.instruction,t[19]=r.replayUrl,t[20]=r.report,t[21]=r.requiresCookies,t[22]=r.savedFlow,t[23]=h):h=t[23];let g=h,_;t[24]===g?_=t[25]:(_=q(W,{flexGrow:1,children:g()}),t[24]=g,t[25]=_);let v;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(v=q(WD,{}),t[26]=v):v=t[26];let y;return t[27]!==p||t[28]!==_?(y=q(es,{children:J(W,{flexDirection:`column`,width:`100%`,height:p,children:[_,v]})}),t[27]=p,t[28]=_,t[29]=y):y=t[29],y};function cO(e){return e.screen}function lO(e){return e.setScreen}function uO(e){return e.navigateTo}function dO(e){return e+1}const fO=()=>{let e=Ma();return e===`darwin`?`afplay /System/Library/Sounds/Glass.aiff`:e===`win32`?`powershell -c (New-Object Media.SoundPlayer 'C:\\Windows\\Media\\chimes.wav').PlaySync()`:`paplay /usr/share/sounds/freedesktop/stereo/complete.oga 2>/dev/null || aplay /usr/share/sounds/freedesktop/stereo/complete.oga 2>/dev/null`},pO=()=>new Promise(e=>{wa(fO(),()=>e())}),mO=e=>S(DE(H(function*(){let t=yield*ab,n=yield*ob,i=yield*UC,a=Date.now();yield*i.capture(`session:started`,{mode:`headless`,skip_planning:!1,browser_headed:e.headed}),console.log(`expect v${Ko}`),console.log(`Testing ${Rs(e.changesFor)}`),console.log(`Starting browser test...`);let o=Date.now();yield*i.capture(`run:started`,{plan_id:`direct`});let s=new Set,c=yield*t.execute({changesFor:e.changesFor,instruction:e.instruction,isHeadless:!e.headed,requiresCookies:!1}).pipe(hi(e=>N(()=>{for(let t of e.events)if(!s.has(t.id))switch(s.add(t.id),t._tag){case`RunStarted`:console.log(`Starting ${t.plan.title}`);break;case`StepStarted`:console.log(`${Y.arrowRight} ${t.stepId} ${t.title}`);break;case`StepCompleted`:console.log(` ${Y.tick} ${t.stepId} ${t.summary}`);break;case`StepFailed`:console.log(` ${Y.cross} ${t.stepId} ${t.message}`);break}})),r,U(t=>t._tag===`Some`?t.value:new hc({id:``,changesFor:e.changesFor,currentBranch:``,diffPreview:``,fileStats:[],instruction:e.instruction,baseUrl:void 0,isHeadless:!e.headed,requiresCookies:!1,title:e.instruction,rationale:`Direct execution`,steps:[],events:[]}))),l=yield*n.report(c),u=l.steps.filter(e=>l.stepStatuses.get(e.id)?.status===`passed`).length,d=l.steps.filter(e=>l.stepStatuses.get(e.id)?.status===`failed`).length;yield*i.capture(`run:completed`,{plan_id:c.id??`direct`,passed:u,failed:d,step_count:c.steps.length,file_count:0,duration_ms:Date.now()-o}),yield*i.capture(`session:ended`,{session_ms:Date.now()-a}),yield*i.flush,console.error(`\n${l.toPlainText}`),yield*Xn(()=>pO()),process.exit(l.status===`passed`?0:1)}).pipe(ln(wE({verbose:e.verbose,agent:e.agent}))))),hO={error:ha.red,warn:ha.yellow,info:ha.cyan,success:ha.green,dim:ha.dim},gO={error:(...e)=>{console.log(hO.error(e.join(` `)))},warn:(...e)=>{console.log(hO.warn(e.join(` `)))},info:(...e)=>{console.log(hO.info(e.join(` `)))},success:(...e)=>{console.log(hO.success(e.join(` `)))},dim:(...e)=>{console.log(hO.dim(e.join(` `)))},log:(...e)=>{console.log(e.join(` `))},break:()=>{console.log(``)}},_O=()=>{gO.break(),gO.log(`Cancelled.`),gO.break(),process.exit(0)},vO=e=>uo(e,{onCancel:_O}),yO=(e,t)=>fo({text:e,isSilent:t?.silent}),bO=[`CI`,`CLAUDECODE`,`CURSOR_AGENT`,`CODEX_CI`,`OPENCODE`,`AMP_HOME`,`AMI`],xO=()=>bO.some(e=>!!process.env[e]),SO=()=>!process.stdin.isTTY,CO={npm:`npm install -g expect-cli@latest`,pnpm:`pnpm add -g expect-cli@latest`,yarn:`yarn global add expect-cli@latest`,bun:`bun add -g expect-cli@latest`,vp:`vp install -g expect-cli@latest`},wO=`npx skills add https://github.com/millionco/expect --skill expect-cli`,TO=()=>{if(process.env.VITE_PLUS_CLI_BIN)return`vp`;let e=process.env.npm_config_user_agent;if(e){if(e.startsWith(`pnpm`))return`pnpm`;if(e.startsWith(`yarn`))return`yarn`;if(e.startsWith(`bun`))return`bun`;if(e.startsWith(`npm`))return`npm`}return`npm`},EO=e=>e||xO()||SO(),DO=e=>{try{return Ea(e,{stdio:`pipe`}),!0}catch{return!1}},OO=async(e={})=>{let t=EO(e.yes??!1),n=CO[TO()];gO.break(),gO.log(` ${hO.info(`expect`)} ${hO.dim(`— AI-powered browser testing`)}`),gO.break(),af().length===0&&(gO.error(`No supported coding agent found. expect requires one of: Claude Code, Codex, or Cursor.`),gO.break(),gO.log(` Install one to get started:`),gO.log(` ${hO.info(`Claude Code`)} ${hO.dim(`https://docs.anthropic.com/en/docs/claude-code`)}`),gO.log(` ${hO.info(`Codex`)} ${hO.dim(`https://github.com/openai/codex`)}`),gO.log(` ${hO.info(`Cursor`)} ${hO.dim(`https://cursor.com`)}`),gO.break(),process.exit(1));let r=yO(`Installing expect-cli globally...`).start();DO(n)?r.succeed(`Installed! You can now run ${hO.info(`expect-cli`)} from anywhere.`):(r.fail(`Failed to install globally.`),gO.dim(` Run manually: ${hO.info(n)}`)),gO.break();let i=t;if(t||(i=(await vO({type:`confirm`,name:`installSkill`,message:`Install the ${hO.info(`expect`)} skill for your coding agent?`,initial:!0})).installSkill),i){let e=yO(`Installing skill...`).start();DO(wO)?e.succeed(`Skill installed.`):(e.fail(`Failed to install skill.`),gO.dim(` Run manually: ${hO.info(wO)}`))}gO.break(),gO.success(`You're all set!`),gO.log(` Run ${hO.info(`expect-cli`)} in any project to start testing.`),gO.break()},kO=[`packages/*`,`apps/*`],AO=e=>Yo.some(t=>e.includes(t)),jO=V(`detectAgent`)(function*(e){let t=yield*qe;for(let[n,r]of Object.entries(Xo)){let i=ga.join(e,n);if(yield*t.exists(i).pipe(_(`PlatformError`,()=>B(!1))))return r}let n=ga.join(e,`package.json`),r=yield*t.readFileString(n).pipe(_(`PlatformError`,()=>B(``)));if(r){let e=yield*Mt({try:()=>JSON.parse(r),catch:()=>({_tag:`JsonParseError`})}).pipe(_(`JsonParseError`,()=>B(void 0)));if(e?.packageManager){let t=e.packageManager.split(`@`)[0];if(t)return t}}return`npm`}),MO=V(`readPackageJson`)(function*(e){let t=yield*qe,n=ga.join(e,`package.json`),r=yield*t.readFileString(n);return yield*Mt({try:()=>JSON.parse(r),catch:()=>({_tag:`JsonParseError`})})}),NO=V(`listWorkspaceDirectories`)(function*(e){let t=yield*qe,n=[];for(let r of kO){let i=ga.join(e,ga.dirname(r)),a=yield*t.readDirectory(i).pipe(_(`PlatformError`,()=>B([])));for(let e of a){let r=ga.join(i,e);(yield*t.stat(r).pipe(_(`PlatformError`,()=>B(void 0))))?.type===`Directory`&&n.push(r)}}return n}),PO=(e,t,n)=>new Promise(r=>{Ta(e,[`run`,n],{cwd:t,timeout:12e4,maxBuffer:5*1024*1024},(e,t,i)=>{let a=(t+`
|
|
43
|
-
`+i).trim();r({script:n,passed:!e,output:a})})}),FO=V(`discoverPackages`)(function*(e){let t=yield*NO(e),n=[];for(let e of t){let t=yield*MO(e).pipe(_(`PlatformError`,()=>B(void 0)),_(`JsonParseError`,()=>B(void 0)));if(!t?.scripts)continue;let r=Object.keys(t.scripts).filter(AO);r.length!==0&&n.push({packageName:t.name??ga.basename(e),directory:e,scripts:r})}return n}),IO=async(e,t)=>S(H(function*(){let n=yield*jO(e);return yield*st(yield*FO(e),e=>H(function*(){t.onPackageStart(e.packageName,e.scripts);let r=[];for(let i of e.scripts){let a=yield*Xn(()=>PO(n,e.directory,i));t.onScriptDone(e.packageName,a),r.push(a)}return{packageName:e.packageName,directory:e.directory,results:r}}),{concurrency:4})}).pipe(ln(Ia.layer))),LO=e=>{let t=sa(5);if(t[0]!==`2d9c928ad4631c339250b8fd0f4c153b8184fa5a47421a54f29b7df14a1f0cc5`){for(let e=0;e<5;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`2d9c928ad4631c339250b8fd0f4c153b8184fa5a47421a54f29b7df14a1f0cc5`}let{statusMap:n}=e,r;if(t[1]!==n){let e=Array.from(n.entries()),i,a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=q(G,{bold:!0,children:`expect audit`}),a=q(G,{children:` `}),t[3]=i,t[4]=a):(i=t[3],a=t[4]),r=J(W,{flexDirection:`column`,paddingY:1,children:[i,a,e.map(GO)]}),t[1]=n,t[2]=r}else r=t[2];return r},RO=e=>{let t=sa(12);if(t[0]!==`2d9c928ad4631c339250b8fd0f4c153b8184fa5a47421a54f29b7df14a1f0cc5`){for(let e=0;e<12;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`2d9c928ad4631c339250b8fd0f4c153b8184fa5a47421a54f29b7df14a1f0cc5`}let{results:n}=e,r=0,i=0;for(let e of n)for(let t of e.results)t.passed?r++:i++;let a=`${r} passed, ${i} failed`,o=i>0?`red`:`green`,s;t[1]!==a||t[2]!==o?(s=q(G,{bold:!0,color:o,children:a}),t[1]=a,t[2]=o,t[3]=s):s=t[3];let c;t[4]===i?c=t[5]:(c=i>0&&J(G,{color:`yellow`,children:[`Run `,q(G,{bold:!0,children:`expect`}),` to test your changes in a real browser and catch issues before they ship.`]}),t[4]=i,t[5]=c);let l;t[6]===i?l=t[7]:(l=i===0&&J(G,{color:`green`,children:[`Looking good! Run `,q(G,{bold:!0,children:`expect`}),` to verify your changes work end-to-end in the browser.`]}),t[6]=i,t[7]=l);let u;return t[8]!==s||t[9]!==c||t[10]!==l?(u=J(W,{flexDirection:`column`,gap:1,children:[s,c,l]}),t[8]=s,t[9]=c,t[10]=l,t[11]=u):u=t[11],u},zO=async()=>{let e=process.cwd(),t={current:new Map},n,r,i=ea(q(()=>{let[e,t]=K(new Map),[i,a]=K();return n=e=>t(new Map(e)),r=a,J(W,{flexDirection:`column`,children:[q(LO,{statusMap:e}),i&&q(RO,{results:i})]})},{})),a=await IO(e,{onPackageStart:(e,r)=>{t.current.set(e,{scripts:r,completed:[],done:!1}),n?.(t.current)},onScriptDone:(e,r)=>{let i=t.current.get(e);i&&(i.completed.push(r),i.done=i.completed.length===i.scripts.length),n?.(t.current)}});r?.(a),setTimeout(()=>{i.unmount(),a.reduce((e,t)=>e+t.results.filter(e=>!e.passed).length,0)>0&&process.exit(1)},100)},BO=async()=>{let e=process.cwd();console.log(``),console.log(ha.bold(`expect audit`)),console.log(``);let t=await IO(e,{onPackageStart:(e,t)=>{console.log(`${Y.arrowRight} ${ha.bold(e)} (${t.join(`, `)})`)},onScriptDone:(e,t)=>{let n=t.passed?ha.green(Y.tick):ha.red(Y.cross);if(console.log(` ${n} ${t.script}`),!t.passed){let e=t.output.split(`
|
|
38
|
+
`))}catch(e){return je(new tE({kind:`Pack`,cause:e}))}}))),rE=e=>zn(Lr().pipe(e?.ignoreEmptyLines===!0?Yt(e=>e.length>0):Bt),e=>{try{return V(yi(e,e=>JSON.parse(e)))}catch(e){return je(new tE({kind:`Unpack`,cause:e}))}}),iE=fe(e=>lt(e[0]),(e,t)=>hi(hi(nE(),e),rE(t))),aE=fe(2,(e,t)=>_o(iE(e,t),t)),oE=ht([Ke({_tag:De(`Started`),startTime:fn}),Ke({_tag:De(`Ended`),startTime:fn,endTime:fn})]),sE=Ke({_tag:De(`ExternalSpan`),spanId:B,traceId:B,sampled:Oi}),cE=Ke({_tag:De(`Span`),spanId:B,traceId:B,name:B,sampled:Oi,attributes:p(B,ar),status:oE,parent:Qe(ei(()=>uE))}),lE=Ke({_tag:De(`SpanEvent`),traceId:B,spanId:B,name:B,startTime:fn,attributes:Ie(gr(B,ar))}),uE=ht([cE,sE]),dE=Ke({_tag:De(`Ping`)}),fE=Ke({_tag:De(`Pong`)}),pE=Ke({_tag:De(`MetricsRequest`)}),mE=(e,t)=>Ke({id:B,type:De(e),description:Ie(B),attributes:Ie(gr(B,B)),state:t}),hE=ht([dE,cE,lE,Ke({_tag:De(`MetricsSnapshot`),metrics:$n(ht([mE(`Counter`,Ke({count:ht([O,fn]),incremental:Oi})),mE(`Frequency`,Ke({occurrences:p(B,O)})),mE(`Gauge`,Ke({value:ht([O,fn])})),mE(`Histogram`,Ke({buckets:$n(Se([O,O])),count:O,min:O,max:O,sum:O})),mE(`Summary`,Ke({quantiles:$n(Se([O,Ie(O)])),count:O,min:O,max:O,sum:O}))]))})]),gE=ht([fE,pE]),_E=en(hE),vE=en(gE);var yE=class extends Zr()(`effect/devtools/DevToolsClient`){};const bE=H(function*(){let e=yield*pn,t=yield*hr(),n=yield*Pn(),r=yield*Ii(),i=F(()=>{xi(n,xE(t))});return yield*m(n).pipe(Xt(aE(Tn(e),{inputSchema:_E,outputSchema:vE})),Xr(()=>ln(r,R)),tn(e=>{switch(e._tag){case`MetricsRequest`:return i;case`Pong`:return R}}),gi),yield*d(()=>i.pipe(Be(Qt(Te,e=>Hr(n,Ji(e)))))),yield*rt(()=>Er(n,{_tag:`Ping`})).pipe(jt(`3 seconds`),a,gi),yield*Xn(r).pipe(v(`1 second`),Pe),yE.of({sendUnsafe(e){xi(n,e)}})}),xE=e=>({_tag:`MetricsSnapshot`,metrics:$t(e)}),SE=sr(yE,bE.pipe(nt({module:`DevTools`,service:`Client`}))),CE=sr(At,H(function*(){let e=yield*yE,t=yield*he;return Vt({span(n){let r=t.span(n);e.sendUnsafe(r);let i=r.event;r.event=function(t,n,a){return e.sendUnsafe({_tag:`SpanEvent`,traceId:r.traceId,spanId:r.spanId,name:t,startTime:n,attributes:a}),i.call(this,t,n,a)};let a=r.end;return r.end=function(t,n){a.call(this,t,n),e.sendUnsafe(r)},r},context:t.context})}).pipe(nt({module:`DevTools`,service:`Tracer`}))).pipe(Dn(SE)),wE=(e=`ws://localhost:34437`)=>CE.pipe(Dn(zr(e))),TE=(e=`ws://localhost:34437`)=>wE(e).pipe(Dn(oi)),EE=({verbose:e,agent:t})=>{let n=ab.withRepoRoot(process.cwd());return ci(sb.layer.pipe(Dn(n)),cb.layer,$y.layer,vb.layer,TE(),n,GC.layerPostHog).pipe(Dn(rf.layerFor(t??`claude`)),Dn(Zb),Tr(bi(pe,e?`All`:`Error`)))},DE=cT(Ct()),OE=gT(rn(function*(e){return EE({verbose:!0,agent:yield*e.some(DE)})},Nn)).pipe(ET),kE=e=>e,AE=(e,t,n,r)=>{let i=new URL(e.url??`/`,r),a=Ua({hostname:i.hostname,port:i.port,path:i.pathname+i.search,method:`GET`,headers:{...e.headers,host:i.host}});a.on(`upgrade`,(e,r,i)=>{t.write([`HTTP/1.1 101 Switching Protocols`,`Upgrade: websocket`,`Connection: Upgrade`,`Sec-WebSocket-Accept: ${e.headers[`sec-websocket-accept`]}`,``,``].join(`\r
|
|
39
|
+
`)),i.length>0&&t.write(i),n.length>0&&r.write(n),r.pipe(t),t.pipe(r),t.on(`error`,()=>r.destroy()),r.on(`error`,()=>t.destroy())}),a.on(`error`,()=>t.destroy()),a.end()},jE=qt(`startReplayProxy`)(function*(e){let t=new lo,n=[],r={title:``,status:`running`,steps:[]},i=!1,a=()=>{let e=r?.status;(e===`passed`||e===`failed`)&&(i=!0,r={...r,done:!0})};t.get(`/latest.json`,async t=>{if(i)return t.json(n);try{let r=await fetch(`${e.liveViewUrl}/latest.json`);if(!r.ok)return t.json(n);let i=await r.json();return Array.isArray(i)&&i.length>0&&(n=i),t.json(i)}catch{return t.json(n)}}),t.post(`/latest.json`,async e=>{try{let t=await e.req.json();return Array.isArray(t)&&(n=t),new Response(void 0,{status:204})}catch{return new Response(void 0,{status:400})}}),t.get(`/steps`,async t=>{if(i)return t.json(r);try{let n=await fetch(`${e.liveViewUrl}/steps`);return n.ok?(r=await n.json(),a(),t.json(r)):t.json(r)}catch{return t.json(r)}}),t.post(`/steps`,async t=>{try{let n=await t.req.text();r=JSON.parse(n),a();let i=await fetch(`${e.liveViewUrl}/steps`,{method:`POST`,headers:{"Content-Type":`application/json`},body:n});return new Response(i.body,{status:i.status,headers:Object.fromEntries(i.headers.entries())})}catch{return new Response(void 0,{status:204})}});let o=new URL(e.replayHost);t.all(`/*`,async t=>{let n=t.req.path;if(n===`/latest.json`||n===`/steps`)return t.text(`Not Found`,404);let r=new URL(n,e.replayHost);r.search=new URL(t.req.url).search;try{return await uo(r.toString(),{headers:{"User-Agent":t.req.header(`user-agent`)??``,Accept:t.req.header(`accept`)??`*/*`,Host:o.host}})}catch(e){return console.error(`[replay-proxy] Failed to proxy ${n} to ${r}:`,e),t.text(`Bad Gateway: could not reach ${o.host}`,502)}}),t.onError((e,t)=>(console.error(`[replay-proxy] Unhandled error:`,e),t.text(`Internal Server Error`,500)));let s=yield*Ut({try:()=>fo({fetch:t.fetch,port:0}),catch:e=>Error(`Failed to start replay proxy: ${e}`)});s.on(`upgrade`,(t,n,r)=>{AE(t,n,r,e.replayHost)});let c=s.address(),l=`http://localhost:${typeof c==`object`&&c?c.port:0}`;return yield*kn(`Replay proxy started`,{proxyUrl:l,liveViewUrl:e.liveViewUrl}),{url:l,close:pt(e=>{s.close(()=>e(R))})}}),ME=e=>_t(e)?Number(Xe(e.value)):void 0,NE=e=>e.length===0||!e.every(e=>e.status===`passed`||e.status===`failed`)?`running`:e.some(e=>e.status===`failed`)?`failed`:`passed`,PE=e=>{let t=e.events.find(e=>e._tag===`RunFinished`),n=t&&t._tag===`RunFinished`?t.status:NE(e.steps),r=t&&t._tag===`RunFinished`?t.summary:void 0,i=e.steps.map(e=>({stepId:e.id,title:e.title,status:e.status,summary:_t(e.summary)?e.summary.value:void 0,startedAtMs:ME(e.startedAt),endedAtMs:ME(e.endedAt)}));return{title:e.title,status:n,summary:r,steps:i}},FE=qt(`pushStepState`)(function*(e,t){yield*Mt(()=>fetch(`${e}/steps`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})).pipe(Yi(()=>R))}),IE=`rrweb report:`,LE=`Playwright video:`,RE=()=>5e4+Math.floor(Math.random()*1e4),zE=e=>{let t=e.slice().reverse().find(e=>e._tag===`ToolResult`&&e.toolName===`close`&&!e.isError&&e.result.length>0);if(!t||t._tag!==`ToolResult`)return{localReplayUrl:void 0,videoUrl:void 0};let n=t.result.split(`
|
|
40
|
+
`).map(e=>e.trim()).filter(e=>e.length>0),r=n.find(e=>e.startsWith(IE))?.replace(IE,``),i=n.find(e=>e.startsWith(LE))?.replace(LE,``);return{localReplayUrl:r&&r.trim().length>0?Ca(r.trim()).href:void 0,videoUrl:i&&i.trim().length>0?Ca(i.trim()).href:void 0}},BE=cT([]),VE=rn(function*(e,t){let n=yield*cb,i=yield*sb,a=yield*GC,o=yield*ab,s=Date.now(),c=`http://localhost:${RE()}`,l;e.replayHost&&(l=`${(yield*jE({replayHost:e.replayHost,liveViewUrl:c})).url}/replay?live=true`,yield*kn(`Replay viewer available`,{replayUrl:l}),yield*F(()=>e.onReplayUrl?.(l)));let u={...e.options,liveViewUrl:c};yield*a.capture(`run:started`,{plan_id:`direct`});let d=yield*i.execute(u).pipe(_i(t=>H(function*(){e.onUpdate(t),yield*FE(c,PE(t))})),r,U(t=>t._tag===`Some`?t.value:new _c({...e.options,id:``,changesFor:e.options.changesFor,currentBranch:``,diffPreview:``,fileStats:[],instruction:e.options.instruction,baseUrl:void 0,isHeadless:e.options.isHeadless,requiresCookies:e.options.requiresCookies,title:e.options.instruction,rationale:`Direct execution`,steps:[],events:[]}))),f=zE(d.events);if(l){let e=l.split(`/replay`)[0];yield*Mt(()=>fetch(`${c}/latest.json`).then(async t=>{if(!t.ok)return;let n=await t.json();await fetch(`${e}/latest.json`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})})).pipe(Yi(()=>R)),yield*FE(e,PE(d))}let p=yield*n.report(d),m=p.steps.filter(e=>p.stepStatuses.get(e.id)?.status===`passed`).length,h=p.steps.filter(e=>p.stepStatuses.get(e.id)?.status===`failed`).length;return yield*a.capture(`run:completed`,{plan_id:d.id??`direct`,passed:m,failed:h,step_count:d.steps.length,file_count:0,duration_ms:Date.now()-s}),p.status===`passed`&&(yield*o.saveTestedFingerprint()),{executedPlan:d,report:p,replayUrl:l??f.localReplayUrl,localReplayUrl:f.localReplayUrl,videoUrl:f.videoUrl}},nt({fn:`executeFn`})),HE=OE.fn()((e,t)=>kE(VE(e,t)).pipe(mt(e=>H(function*(){let t=yield*GC,n=e instanceof Error?e.constructor.name:`UnknownError`;yield*t.capture(`run:failed`,{plan_id:`direct`,error_tag:n})}).pipe(Yi(()=>R))),dn(Ra.layer))),UE=e=>{if(typeof e==`string`)try{let t=JSON.parse(e);if(dt(t))return t}catch{return{}}return dt(e)?e:{}},WE=e=>e.replace(/\s+/g,` `).trim(),GE=e=>{let t=e.match(/^mcp__.+__(.+)$/);return t?t[1]:e},KE=(e,t)=>{let n=GE(e),r=typeof t==`string`?t:JSON.stringify(t??{}),i=UE(t),a=yn(n).pipe(Pi(`open`,()=>i.url?`"${i.url}"`:``),Pi(`screenshot`,()=>{let e=i.mode??`screenshot`;return e===`screenshot`?``:e}),Pi(`playwright`,()=>Ka(WE(i.code??r),100)),Pi(`console_logs`,()=>i.type?`type: "${i.type}"`:``),Pi(`network_requests`,()=>{let e=[];return i.method&&e.push(i.method),i.url&&e.push(`"${i.url}"`),e.join(`, `)}),Pi(`performance_metrics`,()=>``),Pi(`close`,()=>``),Ci(()=>qE(i))),o=(i.code??r).trim();return{name:n,args:a,multilineArgs:n===`playwright`&&o.includes(`
|
|
41
|
+
`)?o:void 0}},qE=e=>{let t=Object.values(e).filter(e=>typeof e==`string`&&e.length>0);return t.length===0?``:Ka(WE(t.join(`, `)),100)},JE=e=>e>=1e3?`${(e/1e3).toFixed(1)}k`:`${e}`,YE=(e,t,n=e.length)=>{let r=[];for(let i=t;i<n;i++){let t=e[i];if(t._tag===`ToolCall`&&r.push({tool:KE(t.toolName,t.input),isRunning:!1,resultTokens:void 0}),t._tag===`ToolProgress`&&r.length>0){let e=r[r.length-1];r[r.length-1]={...e,resultTokens:Math.round(t.outputSize/4)}}if(t._tag===`ToolResult`&&r.length>0){let e=r[r.length-1];r[r.length-1]={...e,resultTokens:Math.round(t.result.length/4)}}}return r},XE=(e,t)=>{if(e.length===0)return e;let n=t.at(-1)?._tag===`ToolResult`,r=[...e];return r[r.length-1]={...r[r.length-1],isRunning:!n},r},ZE=(e,t=!1)=>{let n=-1;for(let t=e.length-1;t>=0;t--)if(e[t]._tag===`StepStarted`){n=t;break}if(n===-1)return[];let r=XE(YE(e,n+1),e);return t?r:r.slice(-5)},QE=(e,t=!1)=>{let n=XE(YE(e,0),e);return t?n:n.slice(-5)},$E=(e,t)=>{let n=-1,r=0;for(let i=0;i<e.length;i++)if(e[i]._tag===`StepStarted`&&(n++,n===t&&(r=i+1),n===t+1))return[r,i];return[r,e.length]},eD=(e,t)=>{let[n,r]=$E(e,t);return YE(e,n,r)},tD=e=>{let t=ca(15);if(t[0]!==`27a6e4564d444ede431a56553e82d15c31bed9991bc9b26bce11b132e6169fbb`){for(let e=0;e<15;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`27a6e4564d444ede431a56553e82d15c31bed9991bc9b26bce11b132e6169fbb`}let{display:n,indent:r}=e,i=ds(),a;t[1]!==i.TEXT||t[2]!==n.tool.name?(a=q(G,{color:i.TEXT,children:n.tool.name}),t[1]=i.TEXT,t[2]=n.tool.name,t[3]=a):a=t[3];let o;t[4]===n.isRunning?o=t[5]:(o=n.isRunning&&J(G,{children:[` `,q(Ga,{type:`line`})]}),t[4]=n.isRunning,t[5]=o);let s;t[6]===n.resultTokens?s=t[7]:(s=n.resultTokens!==void 0&&` ${Y.arrowDown} ${JE(n.resultTokens)} tokens`,t[6]=n.resultTokens,t[7]=s);let c;return t[8]!==i.DIM||t[9]!==n.tool.args||t[10]!==r||t[11]!==a||t[12]!==o||t[13]!==s?(c=J(G,{color:i.DIM,wrap:`truncate`,children:[r,Y.lineVertical,` `,a,`(`,n.tool.args,`)`,o,s]}),t[8]=i.DIM,t[9]=n.tool.args,t[10]=r,t[11]=a,t[12]=o,t[13]=s,t[14]=c):c=t[14],c},nD=e=>{if(!Fi(e.startedAt))return(_t(e.endedAt)?Xe(e.endedAt.value):Date.now())-Xe(e.startedAt.value)},rD=(e,t,n,r)=>{let i=[];for(let a=0;a<e.length;a++){let o=e[a],s=`${n}-t${a}`;if(o.tool.multilineArgs){let e=o.tool.multilineArgs.split(`
|
|
42
|
+
`);i.push(J(G,{color:r.DIM,wrap:`truncate`,children:[t,Y.lineVertical,` `,q(G,{color:r.TEXT,children:o.tool.name}),`(`,o.isRunning&&J(G,{children:[` `,q(Ga,{type:`line`})]}),o.resultTokens!==void 0&&` ${Y.arrowDown} ${JE(o.resultTokens)} tokens`]},`${s}-h`));for(let n=0;n<e.length;n++)i.push(J(G,{color:r.DIM,children:[t,Y.lineVertical,` `,` `,q(G,{color:r.TEXT,children:e[n]})]},`${s}-${n}`));i.push(J(G,{color:r.DIM,children:[t,Y.lineVertical,` )`]},`${s}-c`))}else i.push(J(G,{color:r.DIM,wrap:`truncate`,children:[t,Y.lineVertical,` `,q(G,{color:r.TEXT,children:o.tool.name}),`(`,o.tool.args,`)`,o.isRunning&&J(G,{children:[` `,q(Ga,{type:`line`})]}),o.resultTokens!==void 0&&` ${Y.arrowDown} ${JE(o.resultTokens)} tokens`]},s))}return i},iD=t=>{let n=ca(110);if(n[0]!==`27a6e4564d444ede431a56553e82d15c31bed9991bc9b26bce11b132e6169fbb`){for(let e=0;e<110;e+=1)n[e]=Symbol.for(`react.memo_cache_sentinel`);n[0]=`27a6e4564d444ede431a56553e82d15c31bed9991bc9b26bce11b132e6169fbb`}let{changesFor:r,instruction:i,savedFlow:a,requiresCookies:o,baseUrls:s}=t,c=o===void 0?!1:o,l=Wb(aD),u=ds(),[,d]=cs(),f=qC(oD),p=qC(sD),m=qC(cD),h=qC(lD),g;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(g={mode:`promiseExit`},n[1]=g):g=n[1];let[_,v]=no(HE,g),y=io(BE),[b,x]=K(void 0),ee;n[2]===_?ee=n[3]:(ee=Tw(_),n[2]=_,n[3]=ee);let S=ee,C;n[4]===_?C=n[5]:(C=Aw(_),n[4]=_,n[5]=C);let w=C,te=w?_.value.report:void 0,[T,E]=K(void 0),[D,ne]=K(void 0),[O,k]=K(0),[A,re]=K(!1),j=FT(uD),ie=FT(dD),M=FT(fD),ae;n[6]===O?ae=n[7]:(ae=IT(O),n[6]=O,n[7]=ae);let N=ae,oe=T?.steps?T.steps.length:0,P;if(n[8]!==u||n[9]!==N||n[10]!==T||n[11]!==j||n[12]!==S){if(P=[],j&&T){let e=T.steps??[];if(e.length===0&&S){let e=QE(T.events,!0);P.push(...rD(e,` `,`planning`,u))}for(let t=0;t<e.length;t++){let n=e[t],r=_t(n.summary)?n.summary.value:n.title,i=nD(n),a=i===void 0?void 0:IT(i),o=`${t+1}.`;if(n.status===`active`){P.push(J(W,{children:[J(G,{color:u.DIM,children:[` `,o,` `]}),q(Lb,{}),q(G,{children:` `}),q(PT,{text:`${n.title} ${N}`,baseColor:ls.shimmerBase,highlightColor:ls.shimmerHighlight})]},`step-${t}`));let e=ZE(T.events,!0);P.push(...rD(e,` `,`s${t}`,u))}else if(n.status===`passed`){P.push(J(G,{children:[J(G,{color:u.DIM,children:[` `,o]}),J(G,{color:u.GREEN,children:[` `,Y.tick,` `,Ka(r,100)]}),a&&J(G,{color:u.DIM,children:[` `,a]})]},`step-${t}`));let e=eD(T.events,t);P.push(...rD(e,` `,`s${t}`,u))}else if(n.status===`failed`){P.push(J(G,{children:[J(G,{color:u.DIM,children:[` `,o]}),J(G,{color:u.RED,children:[` `,Y.cross,` `,Ka(r,100)]}),a&&J(G,{color:u.DIM,children:[` `,a]})]},`step-${t}`));let e=eD(T.events,t);P.push(...rD(e,` `,`s${t}`,u))}else P.push(J(G,{color:u.DIM,children:[` `,o,` `,Y.circle,` `,n.title]},`step-${t}`))}}n[8]=u,n[9]=N,n[10]=T,n[11]=j,n[12]=S,n[13]=P}else P=n[13];let F=Math.max(1,d-6),se;n[14]!==P.length||n[15]!==F?(se={itemCount:P.length,visibleCount:F},n[14]=P.length,n[15]=F,n[16]=se):se=n[16];let ce=zb(se),le=ma(!1),I,L;n[17]!==j||n[18]!==P.length||n[19]!==ce?(I=()=>{j&&!le.current&&P.length>0&&ce.setHighlightedIndex(P.length-1),le.current=j},L=[j,P.length,ce],n[17]=j,n[18]=P.length,n[19]=ce,n[20]=I,n[21]=L):(I=n[20],L=n[21]),fa(I,L);let ue,de;n[22]!==f||n[23]!==s||n[24]!==p||n[25]!==r||n[26]!==i||n[27]!==m||n[28]!==c||n[29]!==a||n[30]!==v?(de=()=>{ne(Date.now());let e=s&&s.length>0?s.join(`, `):void 0,t=s?s.map(pD).join(` `):void 0;return v({options:{changesFor:r,instruction:t?`${i} ${t}`:i,isHeadless:!p,requiresCookies:c,savedFlow:a,baseUrl:e},agentBackend:f,replayHost:m,onUpdate:E,onReplayUrl:x}),()=>{v(ST)}},ue=[v,f,p,r,i,a,c,s,m],n[22]=f,n[23]=s,n[24]=p,n[25]=r,n[26]=i,n[27]=m,n[28]=c,n[29]=a,n[30]=v,n[31]=ue,n[32]=de):(ue=n[31],de=n[32]),fa(de,ue);let fe=w?_.value.replayUrl:void 0,pe=w?_.value.localReplayUrl:void 0,me=w?_.value.videoUrl:void 0,he,ge;n[33]!==T||n[34]!==w||n[35]!==pe||n[36]!==fe||n[37]!==te||n[38]!==l||n[39]!==me?(he=()=>{w&&T&&te&&(FT.getState().setExecutedPlan(T),l(Hb.Results({report:te,replayUrl:fe,localReplayUrl:pe,videoUrl:me})))},ge=[w,T,te,fe,pe,me,l],n[33]=T,n[34]=w,n[35]=pe,n[36]=fe,n[37]=te,n[38]=l,n[39]=me,n[40]=he,n[41]=ge):(he=n[40],ge=n[41]),fa(he,ge);let _e;n[42]===l?_e=n[43]:(_e=()=>{FT.getState().setExecutedPlan(void 0),l(Hb.Main())},n[42]=l,n[43]=_e);let ve=_e,ye,be;n[44]!==S||n[45]!==D?(ye=()=>{if(D===void 0||!S)return;let e=setInterval(()=>{k(Date.now()-D)},1e3);return()=>clearInterval(e)},be=[D,S],n[44]=S,n[45]=D,n[46]=ye,n[47]=be):(ye=n[46],be=n[47]),fa(ye,be);let xe;n[48]!==T||n[49]!==_||n[50]!==j||n[51]!==ce||n[52]!==ve||n[53]!==S||n[54]!==b||n[55]!==pe||n[56]!==fe||n[57]!==te||n[58]!==ie||n[59]!==l||n[60]!==A||n[61]!==M||n[62]!==h||n[63]!==me?(xe=(t,n)=>{let r=t.toLowerCase();if(A){if(n.return||r===`y`){re(!1),YC(`run:cancelled`),ve();return}(n.escape||r===`n`)&&re(!1);return}if(r===`o`&&!n.ctrl&&!n.meta&&b){let{exec:t}=e(`node:child_process`);t(`open "${b.replace(/"/g,`\\"`)}"`),YC(`live_preview:opened`);return}if(n.ctrl&&t===`o`){M();return}if(n.ctrl&&t===`n`){h();return}if(j){if(ce.handleNavigation(t,n))return;if(n.escape){ie(!1);return}return}if(n.escape){if(Mw(_)){ve();return}if(S){re(!0);return}if(T&&te){FT.getState().setExecutedPlan(T),l(Hb.Results({report:te,replayUrl:fe,localReplayUrl:pe,videoUrl:me}));return}ve()}},n[48]=T,n[49]=_,n[50]=j,n[51]=ce,n[52]=ve,n[53]=S,n[54]=b,n[55]=pe,n[56]=fe,n[57]=te,n[58]=ie,n[59]=l,n[60]=A,n[61]=M,n[62]=h,n[63]=me,n[64]=xe):xe=n[64],na(xe);let Se;n[65]!==P||n[66]!==ce.scrollOffset||n[67]!==F?(Se=P.slice(ce.scrollOffset,ce.scrollOffset+F),n[65]=P,n[66]=ce.scrollOffset,n[67]=F,n[68]=Se):Se=n[68];let Ce=Se,we;n[69]===y?we=n[70]:(we=q(ea,{items:[...y],children:mD}),n[69]=y,n[70]=we);let Te;n[71]===Symbol.for(`react.memo_cache_sentinel`)?(Te=q(QC,{}),n[71]=Te):Te=n[71];let Ee;n[72]===u.DIM?Ee=n[73]:(Ee=q(G,{color:u.DIM,children:Y.pointerSmall}),n[72]=u.DIM,n[73]=Ee);let De;n[74]!==u.TEXT||n[75]!==i?(De=q(G,{color:u.TEXT,children:i}),n[74]=u.TEXT,n[75]=i,n[76]=De):De=n[76];let Oe;n[77]!==Ee||n[78]!==De?(Oe=J(W,{children:[Te,J(G,{wrap:`truncate`,children:[` `,Ee,` `,De]})]}),n[77]=Ee,n[78]=De,n[79]=Oe):Oe=n[79];let ke;n[80]!==u.DIM||n[81]!==u.PRIMARY||n[82]!==S||n[83]!==b?(ke=b&&S&&q(W,{marginTop:0,children:J(G,{color:u.DIM,children:[` `,`Press `,q(G,{color:u.PRIMARY,children:`o`}),` to open live preview`]})}),n[80]=u.DIM,n[81]=u.PRIMARY,n[82]=S,n[83]=b,n[84]=ke):ke=n[84];let Ae;n[85]!==u.DIM||n[86]!==u.GREEN||n[87]!==u.RED||n[88]!==N||n[89]!==T||n[90]!==j||n[91]!==S||n[92]!==oe||n[93]!==Ce?(Ae=j?q(W,{flexDirection:`column`,marginTop:1,children:Ce}):J(ha,{children:[oe===0&&S&&(()=>{let e=T?QE(T.events,!1):[];return J(W,{marginTop:1,flexDirection:`column`,children:[J(W,{children:[q(Lb,{}),q(G,{children:` `}),q(PT,{text:`Starting${Y.ellipsis} ${N}`,baseColor:ls.shimmerBase,highlightColor:ls.shimmerHighlight})]}),e.map(hD)]})})(),q(W,{flexDirection:`column`,marginTop:1,children:(T?.steps??[]).map((e,t)=>{let n=_t(e.summary)?e.summary.value:e.title,r=nD(e),i=r===void 0?void 0:IT(r),a=`${t+1}.`;if(e.status===`active`){let t=T?ZE(T.events,!1):[];return J(W,{flexDirection:`column`,children:[J(W,{children:[J(G,{color:u.DIM,children:[` `,a,` `]}),q(Lb,{}),q(G,{children:` `}),q(PT,{text:`${e.title} ${N}`,baseColor:ls.shimmerBase,highlightColor:ls.shimmerHighlight})]}),t.map(gD)]},e.id)}return e.status===`passed`?J(G,{children:[J(G,{color:u.DIM,children:[` `,a]}),J(G,{color:u.GREEN,children:[` `,Y.tick,` `,Ka(n,100)]}),i&&J(G,{color:u.DIM,children:[` `,i]})]},e.id):e.status===`failed`?J(G,{children:[J(G,{color:u.DIM,children:[` `,a]}),J(G,{color:u.RED,children:[` `,Y.cross,` `,Ka(n,100)]}),i&&J(G,{color:u.DIM,children:[` `,i]})]},e.id):J(G,{color:u.DIM,children:[` `,a,` `,Y.circle,` `,e.title]},e.id)})})]}),n[85]=u.DIM,n[86]=u.GREEN,n[87]=u.RED,n[88]=N,n[89]=T,n[90]=j,n[91]=S,n[92]=oe,n[93]=Ce,n[94]=Ae):Ae=n[94];let je;n[95]!==u.PRIMARY||n[96]!==u.YELLOW||n[97]!==A?(je=A&&q(W,{marginTop:1,children:J(G,{color:u.YELLOW,children:[`Stop run? `,q(G,{color:u.PRIMARY,children:`enter`}),` to stop,`,` `,q(G,{color:u.PRIMARY,children:`esc`}),` to dismiss`]})}),n[95]=u.PRIMARY,n[96]=u.YELLOW,n[97]=A,n[98]=je):je=n[98];let R;n[99]===_?R=n[100]:(R=Vw(_).onError(_D).orNull(),n[99]=_,n[100]=R);let z;n[101]!==Oe||n[102]!==ke||n[103]!==Ae||n[104]!==je||n[105]!==R?(z=J(W,{flexDirection:`column`,width:`100%`,paddingY:1,paddingX:1,children:[Oe,ke,Ae,je,R]}),n[101]=Oe,n[102]=ke,n[103]=Ae,n[104]=je,n[105]=R,n[106]=z):z=n[106];let Me;return n[107]!==we||n[108]!==z?(Me=J(ha,{children:[we,z]}),n[107]=we,n[108]=z,n[109]=Me):Me=n[109],Me};function aD(e){return e.setScreen}function oD(e){return e.agentBackend}function sD(e){return e.browserHeaded}function cD(e){return e.replayHost}function lD(e){return e.toggleNotifications}function uD(e){return e.expanded}function dD(e){return e.setExpanded}function fD(e){return e.toggleExpanded}function pD(e){return`[url: ${e}]`}function mD(e){return q(W,{paddingX:1,children:q(QT,{src:e,alt:e})},e)}function hD(e,t){return q(tD,{display:e,indent:` `},t)}function gD(e,t){return q(tD,{display:e,indent:` `},t)}function _D(e){return q($T,{message:e instanceof Error?e.message:String(e)})}const vD=e=>{try{return Ta.execSync(`pbcopy`,{input:e,stdio:[`pipe`,`ignore`,`ignore`]}),!0}catch{return!1}},yD=(e,t)=>C(xb.use(n=>n.addComment(process.cwd(),e,t)).pipe(dn(xb.layer))),bD=()=>oa({mutationFn:({pullRequest:e,body:t})=>yD(e,t)}),xD=OE.fn(rn(function*(e,t){return yield*(yield*vb).save(e.plan)},nt({fn:`saveFlowFn`}),dn(Ra.layer))),SD=e=>{if(!(Fi(e.startedAt)||Fi(e.endedAt)))return Xe(e.endedAt.value)-Xe(e.startedAt.value)},CD=e=>{let t=0;for(let n of e){let e=SD(n);e!==void 0&&(t+=e)}return t},wD=e=>{let t=ca(138);if(t[0]!==`99942357a453cbb5dc20454ff37ec4feb6c4634d202945566791064e1562399f`){for(let e=0;e<138;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`99942357a453cbb5dc20454ff37ec4feb6c4634d202945566791064e1562399f`}let{report:n,replayUrl:r,localReplayUrl:i,videoUrl:a}=e,o=ds(),s=Wb(TD),[c,l]=K(void 0),u=bD(),d;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(d={mode:`promiseExit`},t[1]=d):d=t[1];let[f,p]=no(xD,d),m=f.waiting,h;t[2]===f?h=t[3]:(h=Aw(f),t[2]=f,t[3]=h);let g=h,_;t[4]!==u||t[5]!==n.pullRequest||t[6]!==n.toPlainText?(_=()=>{_t(n.pullRequest)&&(YC(`results:posted_to_pr`),u.mutate({pullRequest:n.pullRequest.value,body:n.toPlainText}))},t[4]=u,t[5]=n.pullRequest,t[6]=n.toPlainText,t[7]=_):_=t[7];let v=_,y;t[8]!==o.GREEN||t[9]!==o.RED||t[10]!==n.toPlainText?(y=()=>{vD(n.toPlainText)?(YC(`results:copied_to_clipboard`),l({text:`${Y.tick} Copied to clipboard`,color:o.GREEN})):l({text:`${Y.cross} Failed to copy to clipboard`,color:o.RED})},t[8]=o.GREEN,t[9]=o.RED,t[10]=n.toPlainText,t[11]=y):y=t[11];let b=y,x;t[12]!==n||t[13]!==m||t[14]!==g||t[15]!==p?(x=async()=>{m||g||(YC(`flow:saved`,{step_count:n.steps.length}),await p({plan:n}))},t[12]=n,t[13]=m,t[14]=g,t[15]=p,t[16]=x):x=t[16];let ee=x,S;t[17]!==n.changesFor||t[18]!==n.instruction||t[19]!==s?(S=()=>{YC(`results:restarted`),FT.getState().setExecutedPlan(void 0),s(Ub({changesFor:n.changesFor,instruction:n.instruction}))},t[17]=n.changesFor,t[18]=n.instruction,t[19]=s,t[20]=S):S=t[20];let C=S,w;t[21]!==b||t[22]!==v||t[23]!==C||t[24]!==ee?(w=e=>{let t=e.toLowerCase();t===`y`&&b(),t===`p`&&v(),t===`s`&&ee(),t===`r`&&C()},t[21]=b,t[22]=v,t[23]=C,t[24]=ee,t[25]=w):w=t[25],na(w);let te=n.status===`passed`,T=te?o.GREEN:o.RED,E=te?Y.tick:Y.cross,D=te?`Passed`:`Failed`,ne,O,k,A,re,j,ie,M,ae,N,oe;if(t[26]!==o.DIM||t[27]!==o.GREEN||t[28]!==o.RED||t[29]!==o.TEXT||t[30]!==i||t[31]!==r||t[32]!==n.instruction||t[33]!==n.stepStatuses||t[34]!==n.steps||t[35]!==T||t[36]!==E||t[37]!==D){let e=CD(n.steps);O=r??i,k=!!r&&!!i&&r!==i&&i!==void 0,ne=W,N=`column`,oe=`100%`,A=1,re=1;let a;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(a=q(QC,{}),t[49]=a):a=t[49];let s;t[50]===o.DIM?s=t[51]:(s=q(G,{color:o.DIM,children:Y.pointerSmall}),t[50]=o.DIM,t[51]=s);let c;t[52]!==o.TEXT||t[53]!==n.instruction?(c=q(G,{color:o.TEXT,children:n.instruction}),t[52]=o.TEXT,t[53]=n.instruction,t[54]=c):c=t[54],t[55]!==s||t[56]!==c?(j=J(W,{children:[a,J(G,{wrap:`truncate`,children:[` `,s,` `,c]})]}),t[55]=s,t[56]=c,t[57]=j):j=t[57];let l;t[58]!==T||t[59]!==E||t[60]!==D?(l=J(G,{color:T,bold:!0,children:[E,` `,D]}),t[58]=T,t[59]=E,t[60]=D,t[61]=l):l=t[61];let u=n.steps.length===1?``:`s`,d;t[62]!==o.DIM||t[63]!==n.steps.length||t[64]!==u?(d=J(G,{color:o.DIM,children:[` `,n.steps.length,` step`,u]}),t[62]=o.DIM,t[63]=n.steps.length,t[64]=u,t[65]=d):d=t[65],t[66]!==l||t[67]!==d?(ie=J(W,{marginTop:1,children:[l,d]}),t[66]=l,t[67]=d,t[68]=ie):ie=t[68];let f;if(t[69]!==o.DIM||t[70]!==o.GREEN||t[71]!==o.RED||t[72]!==n.stepStatuses||t[73]!==n.steps){let e;t[75]!==o.DIM||t[76]!==o.GREEN||t[77]!==o.RED||t[78]!==n.stepStatuses?(e=(e,t)=>{let r=SD(e),i=r===void 0?void 0:IT(r),a=n.stepStatuses.get(e.id),s=a?.status===`failed`,c=s?o.RED:o.GREEN,l=s?Y.cross:Y.tick,u=`${t+1}.`;return J(W,{flexDirection:`column`,children:[J(G,{children:[J(G,{color:o.DIM,children:[` `,u]}),J(G,{color:c,children:[` `,l,` `,e.title]}),i&&J(G,{color:o.DIM,children:[` `,i]})]}),s&&a.summary&&J(G,{color:o.DIM,children:[` `,a.summary]})]},e.id)},t[75]=o.DIM,t[76]=o.GREEN,t[77]=o.RED,t[78]=n.stepStatuses,t[79]=e):e=t[79],f=n.steps.map(e),t[69]=o.DIM,t[70]=o.GREEN,t[71]=o.RED,t[72]=n.stepStatuses,t[73]=n.steps,t[74]=f}else f=t[74];t[80]===f?M=t[81]:(M=q(W,{flexDirection:`column`,marginTop:1,children:f}),t[80]=f,t[81]=M),ae=e>0&&q(W,{marginTop:1,children:J(G,{color:o.DIM,children:[`Worked for `,IT(e)]})}),t[26]=o.DIM,t[27]=o.GREEN,t[28]=o.RED,t[29]=o.TEXT,t[30]=i,t[31]=r,t[32]=n.instruction,t[33]=n.stepStatuses,t[34]=n.steps,t[35]=T,t[36]=E,t[37]=D,t[38]=ne,t[39]=O,t[40]=k,t[41]=A,t[42]=re,t[43]=j,t[44]=ie,t[45]=M,t[46]=ae,t[47]=N,t[48]=oe}else ne=t[38],O=t[39],k=t[40],A=t[41],re=t[42],j=t[43],ie=t[44],M=t[45],ae=t[46],N=t[47],oe=t[48];let P;t[82]===c?P=t[83]:(P=c&&q(W,{marginTop:1,children:q(G,{color:c.color,children:c.text})}),t[82]=c,t[83]=P);let F;t[84]!==o.DIM||t[85]!==u.isPending?(F=u.isPending&&q(W,{marginTop:1,children:J(G,{color:o.DIM,children:[`Posting to PR`,Y.ellipsis]})}),t[84]=o.DIM,t[85]=u.isPending,t[86]=F):F=t[86];let se;t[87]!==o.GREEN||t[88]!==u.isSuccess?(se=u.isSuccess&&q(W,{marginTop:1,children:J(G,{color:o.GREEN,children:[Y.tick,` Posted to PR`]})}),t[87]=o.GREEN,t[88]=u.isSuccess,t[89]=se):se=t[89];let ce;t[90]!==o.RED||t[91]!==u.isError?(ce=u.isError&&q(W,{marginTop:1,children:J(G,{color:o.RED,children:[Y.cross,` Failed to post to PR`]})}),t[90]=o.RED,t[91]=u.isError,t[92]=ce):ce=t[92];let le;t[93]!==o.DIM||t[94]!==m?(le=m&&q(W,{marginTop:1,children:J(G,{color:o.DIM,children:[`Saving flow`,Y.ellipsis]})}),t[93]=o.DIM,t[94]=m,t[95]=le):le=t[95];let I;t[96]!==o.GREEN||t[97]!==g?(I=g&&q(W,{marginTop:1,children:J(G,{color:o.GREEN,children:[Y.tick,` Flow saved`]})}),t[96]=o.GREEN,t[97]=g,t[98]=I):I=t[98];let L;t[99]!==o.RED||t[100]!==f?(L=Mw(f)&&q(W,{marginTop:1,children:J(G,{color:o.RED,children:[Y.cross,` Failed to save flow`]})}),t[99]=o.RED,t[100]=f,t[101]=L):L=t[101];let ue;t[102]!==o.DIM||t[103]!==o.PRIMARY||t[104]!==O?(ue=O&&q(W,{flexDirection:`column`,paddingX:1,marginTop:1,children:J(G,{color:o.DIM,children:[`Replay:`,` `,q(G,{color:o.PRIMARY,bold:!0,children:O})]})}),t[102]=o.DIM,t[103]=o.PRIMARY,t[104]=O,t[105]=ue):ue=t[105];let de;t[106]!==o.DIM||t[107]!==o.PRIMARY||t[108]!==i||t[109]!==k?(de=k&&q(W,{flexDirection:`column`,paddingX:1,children:J(G,{color:o.DIM,children:[`Local Replay:`,` `,q(G,{color:o.PRIMARY,bold:!0,children:i})]})}),t[106]=o.DIM,t[107]=o.PRIMARY,t[108]=i,t[109]=k,t[110]=de):de=t[110];let fe;t[111]!==o.DIM||t[112]!==o.PRIMARY||t[113]!==a?(fe=a&&q(W,{flexDirection:`column`,paddingX:1,children:J(G,{color:o.DIM,children:[`Video:`,` `,q(G,{color:o.PRIMARY,bold:!0,children:a})]})}),t[111]=o.DIM,t[112]=o.PRIMARY,t[113]=a,t[114]=fe):fe=t[114];let pe;t[115]===n.screenshotPaths?pe=t[116]:(pe=n.screenshotPaths.map(ED),t[115]=n.screenshotPaths,t[116]=pe);let me;return t[117]!==ne||t[118]!==A||t[119]!==re||t[120]!==j||t[121]!==ie||t[122]!==M||t[123]!==ae||t[124]!==P||t[125]!==F||t[126]!==se||t[127]!==ce||t[128]!==le||t[129]!==I||t[130]!==L||t[131]!==ue||t[132]!==de||t[133]!==fe||t[134]!==pe||t[135]!==N||t[136]!==oe?(me=J(ne,{flexDirection:N,width:oe,paddingY:A,paddingX:re,children:[j,ie,M,ae,P,F,se,ce,le,I,L,ue,de,fe,pe]}),t[117]=ne,t[118]=A,t[119]=re,t[120]=j,t[121]=ie,t[122]=M,t[123]=ae,t[124]=P,t[125]=F,t[126]=se,t[127]=ce,t[128]=le,t[129]=I,t[130]=L,t[131]=ue,t[132]=de,t[133]=fe,t[134]=pe,t[135]=N,t[136]=oe,t[137]=me):me=t[137],me};function TD(e){return e.setScreen}function ED(e){return q(W,{marginTop:1,children:q(QT,{src:e,alt:`Screenshot: ${e}`})},e)}const DD=ci(vb.layer,ab.withRepoRoot(process.cwd())),OD=()=>sa({queryKey:[`saved-flows`],queryFn:()=>H(function*(){return yield*(yield*vb).list()}).pipe(dn(DD),dn(Ra.layer),_(`FindRepoRootError`,()=>V([])),C)}),kD=new Is({isGitRepo:!1,currentBranch:`HEAD`,mainBranch:void 0,isOnMain:!1,hasChangesFromMain:!1,hasUnstagedChanges:!1,hasBranchCommits:!1,branchCommitCount:0,fileStats:[],workingTreeFileStats:[],fingerprint:void 0,savedFingerprint:void 0}),AD=()=>sa({queryKey:[`git-state`],queryFn:async()=>{let e=await Mi(H(function*(){return yield*(yield*ab).getState()}).pipe(dn(ab.withRepoRoot(process.cwd())),_(`FindRepoRootError`,()=>V(kD)),Rt({duration:1e4,onTimeout:()=>V(kD)}),dn(Ra.layer)));return E(e)?e.value:kD}}),jD=e=>Array.isArray(e.flow?.steps)?e.flow.steps:[],MD=(e,t)=>{let n=zs.makeUnsafe({_tag:`Changes`,mainBranch:t}),r=jD(e),i={title:e.flow.title,userInstruction:e.flow.userInstruction,steps:r},a=e.environment.cookies;YC(`flow:reused`,{slug:e.slug,step_count:r.length}),Wb.getState().setScreen(Ub({changesFor:n,instruction:e.flow.userInstruction,savedFlow:i,requiresCookies:a}))},ND=()=>{let e=ca(11);if(e[0]!==`53939b05c229418d7d52eba403172d78da52d4f06481f5625a9cf002fc443ae8`){for(let t=0;t<11;t+=1)e[t]=Symbol.for(`react.memo_cache_sentinel`);e[0]=`53939b05c229418d7d52eba403172d78da52d4f06481f5625a9cf002fc443ae8`}let t=ds(),[n]=cs(),r=Wb(PD),{data:i}=AD(),{data:a,isLoading:o}=OD(),s=a===void 0?[]:a,{highlightedIndex:c,setHighlightedIndex:l,scrollOffset:u,handleNavigation:d}=zb({itemCount:s.length,visibleCount:15}),f=Math.min(40,Math.floor(n*.35)),p=Math.max(20,n-f-8),m=s.slice(u,u+15);na((e,t)=>{if(!d(e,t)){if(t.return){let e=s[c];e&&MD(e,i?.mainBranch??`main`)}t.escape&&r(Hb.Main())}});let h=W,g=`${s.length} flow${s.length===1?``:`s`}`,_;e[1]===g?_=e[2]:(_=q(W,{paddingX:1,children:q(Kb,{title:`Saved flows`,subtitle:g})}),e[1]=g,e[2]=_);let v;e[3]===o?v=e[4]:(v=o&&q(W,{marginTop:1,paddingX:1,children:q(Lb,{message:`Loading saved flows...`})}),e[3]=o,e[4]=v);let y=!o&&s.length===0&&q(W,{marginTop:1,paddingX:1,flexDirection:`column`,children:J(G,{color:t.DIM,children:[`No saved flows yet. Run a test and press `,q(G,{color:t.PRIMARY,children:`s`}),` on the results screen to save a flow.`]})}),b=!o&&s.length>0&&q(W,{marginTop:1,flexDirection:`column`,height:15,overflow:`hidden`,paddingX:1,children:m.map((e,n)=>{let r=n+u,a=r===c,o=jD(e).length;return J(ms,{onClick:()=>{l(r),MD(e,i?.mainBranch??`main`)},children:[q(G,{color:a?t.PRIMARY:t.DIM,children:a?`${Y.pointer} `:` `}),q(G,{color:a?t.PRIMARY:t.TEXT,bold:a,children:Rb(Ka(e.title,f-1),f)}),q(G,{color:t.DIM,children:Rb(`${o} step${o===1?``:`s`}`,10)}),q(G,{color:t.DIM,children:Ka(e.description,p)})]},e.slug)})}),x;return e[5]!==h||e[6]!==_||e[7]!==v||e[8]!==y||e[9]!==b?(x=J(h,{flexDirection:`column`,width:`100%`,paddingY:1,children:[_,v,y,b]}),e[5]=h,e[6]=_,e[7]=v,e[8]=y,e[9]=b,e[10]=x):x=e[10],x};function PD(e){return e.setScreen}const FD=e=>{let t=ca(7);if(t[0]!==`4fad32b1608f5dc4d90407ad58143bc83cfcba6f2b87af31eb3b6ad187111fee`){for(let e=0;e<7;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`4fad32b1608f5dc4d90407ad58143bc83cfcba6f2b87af31eb3b6ad187111fee`}let{status:n}=e,r=ds();if(n===`open`){let e;return t[1]===r.GREEN?e=t[2]:(e=J(G,{color:r.GREEN,children:[Y.bullet,` `]}),t[1]=r.GREEN,t[2]=e),e}if(n===`merged`){let e;return t[3]===r.PURPLE?e=t[4]:(e=J(G,{color:r.PURPLE,children:[Y.bullet,` `]}),t[3]=r.PURPLE,t[4]=e),e}if(n===`draft`){let e;return t[5]===r.DIM?e=t[6]:(e=J(G,{color:r.DIM,children:[Y.bullet,` `]}),t[5]=r.DIM,t[6]=e),e}return null},ID=e=>{let t=ca(30);if(t[0]!==`4fad32b1608f5dc4d90407ad58143bc83cfcba6f2b87af31eb3b6ad187111fee`){for(let e=0;e<30;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`4fad32b1608f5dc4d90407ad58143bc83cfcba6f2b87af31eb3b6ad187111fee`}let{options:n,selectedIndex:r,isLoading:i,gitState:a}=e,o=ds(),s;bb0:{if(n.length<=8){s=0;break bb0}let e=n.length-8;s=Math.min(e,Math.max(0,r-4))}let c=s,l,u,d,f;if(t[1]!==o||t[2]!==a||t[3]!==i||t[4]!==n||t[5]!==c||t[6]!==r){f=Symbol.for(`react.early_return_sentinel`);bb1:{let e=n.slice(c,c+8);if(n.length===0&&!i){let e;t[11]===o.DIM?e=t[12]:(e=q(W,{flexDirection:`column`,children:q(G,{color:o.DIM,children:`No matching results`})}),t[11]=o.DIM,t[12]=e),f=e;break bb1}l=W,u=`column`;let s;t[13]!==o||t[14]!==a||t[15]!==c||t[16]!==r?(s=(e,t)=>{let n=t+c===r,i=Mb(e,a),s=Nb(e,a),l=e._tag===`PullRequest`||e._tag===`Branch`?e.branch.prNumber:null,u=e._tag===`PullRequest`||e._tag===`Branch`?e.branch.prStatus:null;return J(G,{wrap:`truncate`,children:[q(G,{color:n?o.PRIMARY:o.DIM,children:n?`${Y.pointer} `:` `}),e._tag===`WorkingTree`?J(G,{color:o.GREEN,children:[Y.bullet,` `]}):null,u?q(FD,{status:u}):null,q(G,{color:n?o.PRIMARY:o.TEXT,bold:n,children:i}),l?J(G,{children:[` `,J(G,{color:u===`open`?o.GREEN:u===`merged`?o.PURPLE:o.DIM,children:[`#`,l]}),u?J(G,{color:o.DIM,children:[` `,u]}):null]}):null,s&&!l?J(G,{color:o.DIM,children:[` `,s]}):null]},fc(e))},t[13]=o,t[14]=a,t[15]=c,t[16]=r,t[17]=s):s=t[17],d=e.map(s)}t[1]=o,t[2]=a,t[3]=i,t[4]=n,t[5]=c,t[6]=r,t[7]=l,t[8]=u,t[9]=d,t[10]=f}else l=t[7],u=t[8],d=t[9],f=t[10];if(f!==Symbol.for(`react.early_return_sentinel`))return f;let p;t[18]!==o||t[19]!==i?(p=i?q(W,{children:J(G,{color:o.DIM,children:[` Loading PRs and branches`,Y.ellipsis]})}):null,t[18]=o,t[19]=i,t[20]=p):p=t[20];let m;t[21]!==o||t[22]!==n.length?(m=n.length>8?q(W,{children:J(G,{color:o.DIM,children:[` `,n.length-8,` more `,Y.arrowUp,`/`,Y.arrowDown]})}):null,t[21]=o,t[22]=n.length,t[23]=m):m=t[23];let h;return t[24]!==l||t[25]!==u||t[26]!==d||t[27]!==p||t[28]!==m?(h=J(l,{flexDirection:u,children:[d,p,m]}),t[24]=l,t[25]=u,t[26]=d,t[27]=p,t[28]=m,t[29]=h):h=t[29],h},LD=({gitState:e,onSelect:t})=>{let[n,r]=K(!1),[i,a]=K(``),[o,s]=K(0),{data:c=[]}=sa({queryKey:[`local-context-options`,e?.currentBranch],queryFn:()=>kb(e),enabled:!!e}),{data:l=[],isLoading:u}=sa({queryKey:[`remote-context-options`,e?.currentBranch],queryFn:()=>jb(e),enabled:n&&!!e}),d=pa(()=>[...c,...l],[c,l]),f=pa(()=>Fb(d,i,e),[d,i,e]);fa(()=>{s(0)},[i]);let p=ua(()=>{r(!0),a(``),s(0)},[]),m=ua(()=>{r(!1),a(``)},[]);return{pickerOpen:n,pickerQuery:i,pickerIndex:o,filteredOptions:f,localOptions:c,remoteLoading:u,openPicker:p,closePicker:m,handleContextSelect:ua(e=>{t(e),m()},[t,m]),setPickerQuery:a,setPickerIndex:s,createInputChangeHandler:(e,t)=>r=>{let i=as(r),o=e.current;if(i.length>o.length&&i[i.length-1]===`@`&&(o.length===0||i[i.length-2]===` `)){t(i.slice(0,-1)),p();return}if(n){i.length-o.length<0?(m(),t(i)):a(e=>{let n=i.slice(o.length);return n.includes(` `)?(m(),t(i),``):e+n});return}t(i)}}},RD=[`Test the main user flow end to end`,`Smoke test the homepage and key pages`,`Check authentication and protected routes`],zD=[`Verify my recent changes work as expected`,`Check for regressions in related features`,`Test the main user flow end to end`],BD=[`Test the changes on this branch`,`Smoke test this branch end to end`,`Check for regressions on this branch`],VD=[`Test the changes in this pull request`,`Check for regressions introduced by this PR`,`Verify the PR works end to end`],HD=[`Test the changes from this commit`,`Check if this commit introduces regressions`,`Verify this commit works as expected`],UD=(e,t)=>{if(!e)return RD;switch(e._tag){case`WorkingTree`:return zD;case`Branch`:return BD;case`PullRequest`:return VD;case`Commit`:return HD;default:return RD}},WD=({gitState:e})=>{let t=ds(),[n]=cs(),r=qC(e=>e.instructionHistory),i=Wb(e=>e.setScreen),[a,o]=K(void 0),[s,c]=K(``),[l,u]=K(0),[d,f]=K(0),[p,m]=K(!1),[h,g]=K(void 0),[_,v]=K(-1),[y,b]=K(``),x=iw(e=>e.cookiesEnabled),ee=iw(e=>e.toggleCookies),S=()=>{if(r.length===0)return;let e=_+1;e>=r.length||(_===-1&&b(s),v(e),c(r[e]),u(e=>e+1))},C=()=>{if(_<=-1)return;let e=_-1;v(e),c(e===-1?y:r[e]),u(e=>e+1)},w=LD({gitState:e??null,onSelect:e=>{o(e),YC(`context:selected`,{context_type:{WorkingTree:`working_tree`,Branch:`branch`,PullRequest:`pull_request`,Commit:`commit`}[e._tag]})}}),te=w.localOptions.find(e=>e._tag===`WorkingTree`)??void 0,T=a??te??null,E=UD(T,e??null);fa(()=>{f(0)},[T,e]);let D=t=>{let n=(t??s).trim();if(!n){g(`Describe what you want the browser agent to test.`);return}if(!e)return;let r=e.mainBranch??`main`,a;T?._tag===`Commit`?a=zs.makeUnsafe({_tag:`Commit`,hash:T.hash}):T?._tag===`Branch`||T?._tag===`PullRequest`?(T.branch.name&&(yb(process.cwd(),T.branch.name),Gb.invalidateQueries({queryKey:[`git-state`]})),a=zs.makeUnsafe({_tag:`Branch`,mainBranch:r})):a=zs.makeUnsafe({_tag:`Changes`,mainBranch:r}),qC.getState().rememberInstruction(n),x||Vb(n)?i(Ub({changesFor:a,instruction:n,requiresCookies:x})):i(Hb.CookieSyncConfirm({changesFor:a,instruction:n}))},ne=ma(s);ne.current=s;let O=w.createInputChangeHandler(ne,e=>{c(e),h&&g(void 0)}),k=!s.includes(`
|
|
43
|
+
`),A=s===``&&!w.pickerOpen&&E.length>0,re=A&&!p&&n>=80,j=E[d%E.length];return na((e,t)=>{if(w.pickerOpen){if(t.escape){w.closePicker();return}if(t.downArrow||t.ctrl&&e===`n`){w.setPickerIndex(Math.min(w.filteredOptions.length-1,w.pickerIndex+1));return}if(t.upArrow||t.ctrl&&e===`p`){w.setPickerIndex(Math.max(0,w.pickerIndex-1));return}if(t.return||t.tab){let e=w.filteredOptions[w.pickerIndex];e&&w.handleContextSelect(e);return}if(t.backspace||t.delete){w.pickerQuery.length===0?w.closePicker():w.setPickerQuery(w.pickerQuery.slice(0,-1));return}e&&!t.ctrl&&!t.meta&&w.setPickerQuery(w.pickerQuery+e);return}if(k&&t.upArrow){S();return}if(k&&t.downArrow){C();return}if(t.ctrl&&e===`k`){ee(),YC(`cookies:toggled`,{enabled:!x});return}if(t.tab&&!t.shift&&A&&j){c(j),u(e=>e+1),YC(`suggestion:accepted`);return}if(!(t.tab&&t.shift)&&A){if(t.rightArrow){f(e=>(e+1)%E.length),m(!0);return}if(t.leftArrow){f(e=>(e-1+E.length)%E.length),m(!0);return}}},{isActive:!0}),J(W,{flexDirection:`column`,width:`100%`,paddingY:1,children:[q(W,{flexDirection:`column`,marginBottom:1,paddingX:1,children:q(QC,{})}),e?.hasUntestedChanges&&J(W,{paddingX:1,paddingY:1,marginBottom:1,backgroundColor:t.BANNER_BG,width:`100%`,flexDirection:`column`,gap:0,children:[(()=>{let n=e.workingTreeFileStats,r=n.reduce((e,t)=>e+t.added,0),i=n.reduce((e,t)=>e+t.removed,0);return J(W,{children:[J(G,{color:t.YELLOW,bold:!0,children:[Y.warning,` Untested changes detected`]}),n.length>0&&J(ha,{children:[J(G,{color:t.DIM,children:[` `,n.length,` file`,n.length===1?``:`s`,` `]}),r>0&&J(G,{color:t.GREEN,children:[`+`,r]}),r>0&&i>0&&q(G,{color:t.DIM,children:` `}),i>0&&J(G,{color:t.RED,children:[`-`,i]})]})]})})(),J(G,{color:t.DIM,children:[`Describe what to test and hit `,q(G,{color:t.YELLOW,children:`enter`}),` to verify your changes.`]})]}),J(W,{flexDirection:`column`,width:`100%`,children:[J(W,{paddingX:1,children:[!e&&q(Lb,{message:`loading context`}),e&&e.isGitRepo&&T&&q(ms,{fullWidth:!1,onClick:()=>{w.pickerOpen?w.closePicker():w.openPicker()},children:J(G,{color:t.DIM,children:[Y.bullet,` `,J(G,{color:t.PRIMARY,children:[`@`,Pb(T,e)]}),Nb(T,e)&&` (${Nb(T,e)})`]})})]}),q(ms,{children:q(W,{flexDirection:`column`,marginTop:1,backgroundColor:t.INPUT_BG,width:`100%`,paddingX:1,paddingY:1,children:J(W,{children:[q(G,{color:t.PRIMARY,children:`❯ `}),q(W,{flexGrow:1,children:q(bs,{focus:!w.pickerOpen,multiline:!0,placeholder:j?`${j} [tab]`:``,value:s,onSubmit:D,onUpArrowAtTop:k?void 0:S,onDownArrowAtBottom:k?void 0:C,onChange:O},l)}),re?q(G,{color:t.DIM,children:` ←→ cycle test suggestions`}):null]})})}),e?.isGitRepo&&w.pickerOpen&&J(fs,{color:t.BORDER,children:[J(W,{marginBottom:0,children:[q(G,{color:t.DIM,children:`@ `}),q(G,{color:t.PRIMARY,children:w.pickerQuery}),q(G,{color:t.DIM,children:w.pickerQuery?``:`type to filter`})]}),q(ID,{options:w.filteredOptions,selectedIndex:w.pickerIndex,isLoading:w.remoteLoading,gitState:e})]}),e?.isGitRepo&&!w.pickerOpen&&q(W,{marginTop:1,paddingX:1,children:J(G,{color:t.DIM,children:[q(G,{color:t.PRIMARY,children:`@`}),` add context`]})})]}),q($T,{message:h})]})},GD=e=>{let t=ca(10);if(t[0]!==`e8c3ad7624de558f1292f5717cd6dbce82fb6c0767dc4ab19348dc7a7975d8f5`){for(let e=0;e<10;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`e8c3ad7624de558f1292f5717cd6dbce82fb6c0767dc4ab19348dc7a7975d8f5`}let{segment:n,mutedColor:r}=e,i=n.color??r,a;t[1]!==n.label||t[2]!==i?(a=J(G,{color:i,children:[n.label,` `]}),t[1]=n.label,t[2]=i,t[3]=a):a=t[3];let o=n.color??r,s;t[4]!==n.key||t[5]!==o?(s=J(G,{color:o,children:[`[`,n.key,`]`]}),t[4]=n.key,t[5]=o,t[6]=s):s=t[6];let c;return t[7]!==a||t[8]!==s?(c=J(ha,{children:[a,s]}),t[7]=a,t[8]=s,t[9]=c):c=t[9],c},KD=e=>{let t=ca(12);if(t[0]!==`e8c3ad7624de558f1292f5717cd6dbce82fb6c0767dc4ab19348dc7a7975d8f5`){for(let e=0;e<12;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`e8c3ad7624de558f1292f5717cd6dbce82fb6c0767dc4ab19348dc7a7975d8f5`}let{segments:n,color:r,mutedColor:i}=e,a;t[1]===r?a=t[2]:(a=q(G,{color:r,children:` `}),t[1]=r,t[2]=a);let o;if(t[3]!==i||t[4]!==n){let e;t[6]!==i||t[7]!==n.length?(e=(e,t)=>J(W,{children:[e.onClick?q(ms,{fullWidth:!1,onClick:e.onClick,children:q(GD,{segment:e,mutedColor:i})}):q(GD,{segment:e,mutedColor:i}),t<n.length-1&&q(G,{color:i,children:` `})]},e.key+e.label),t[6]=i,t[7]=n.length,t[8]=e):e=t[8],o=n.map(e),t[3]=i,t[4]=n,t[5]=o}else o=t[5];let s;return t[9]!==a||t[10]!==o?(s=J(W,{children:[a,o]}),t[9]=a,t[10]=o,t[11]=s):s=t[11],s},qD=(e,t)=>{let n=ca(87);if(n[0]!==`b550868c87cf6b1dfe1682300fe0d38844022dce570a0a2326bec2f32013cc8b`){for(let e=0;e<87;e+=1)n[e]=Symbol.for(`react.memo_cache_sentinel`);n[0]=`b550868c87cf6b1dfe1682300fe0d38844022dce570a0a2326bec2f32013cc8b`}let r=ds(),i=Wb(XD),a=iw(ZD),o=iw(QD),s=qC($D),c=qC(eO),l=FT(tO);switch(e._tag){case`Main`:{let e=a?`cookies on`:`cookies off`,r;n[1]!==e||n[2]!==o?(r={key:`ctrl+k`,label:e,cta:!0,onClick:o},n[1]=e,n[2]=o,n[3]=r):r=n[3];let s;n[4]===i?s=n[5]:(s={key:`ctrl+r`,label:`saved flows`,cta:!0,onClick:()=>i(Hb.SavedFlowPicker())},n[4]=i,n[5]=s);let c;if(n[6]!==t?.isGitRepo||n[7]!==i||n[8]!==r||n[9]!==s){if(c=[r,s],t?.isGitRepo){let e;n[11]===i?e=n[12]:(e={key:`ctrl+p`,label:`pick pr`,cta:!0,onClick:()=>i(Hb.SelectPr())},n[11]=i,n[12]=e),c.push(e)}n[6]=t?.isGitRepo,n[7]=i,n[8]=r,n[9]=s,n[10]=c}else c=n[10];return c}case`SelectPr`:{let e,t,a;n[13]===Symbol.for(`react.memo_cache_sentinel`)?(e={key:`↑↓`,label:`nav`},t={key:`←→`,label:`filter`},a={key:`/`,label:`search`},n[13]=e,n[14]=t,n[15]=a):(e=n[13],t=n[14],a=n[15]);let o;n[16]===i?o=n[17]:(o={key:`esc`,label:`back`,cta:!0,onClick:()=>i(Hb.Main())},n[16]=i,n[17]=o);let s;n[18]===r.PRIMARY?s=n[19]:(s={key:`enter`,label:`select`,color:r.PRIMARY,cta:!0},n[18]=r.PRIMARY,n[19]=s);let c;return n[20]!==o||n[21]!==s?(c=[e,t,a,o,s],n[20]=o,n[21]=s,n[22]=c):c=n[22],c}case`SavedFlowPicker`:{let e;n[23]===Symbol.for(`react.memo_cache_sentinel`)?(e={key:`↑↓`,label:`nav`},n[23]=e):e=n[23];let t;n[24]===i?t=n[25]:(t={key:`esc`,label:`back`,cta:!0,onClick:()=>i(Hb.Main())},n[24]=i,n[25]=t);let a;n[26]===r.PRIMARY?a=n[27]:(a={key:`enter`,label:`select`,color:r.PRIMARY,cta:!0},n[26]=r.PRIMARY,n[27]=a);let o;return n[28]!==t||n[29]!==a?(o=[e,t,a],n[28]=t,n[29]=a,n[30]=o):o=n[30],o}case`CookieSyncConfirm`:{let t;n[31]===Symbol.for(`react.memo_cache_sentinel`)?(t={key:`↑↓`,label:`nav`},n[31]=t):t=n[31];let a;n[32]===i?a=n[33]:(a={key:`esc`,label:`back`,onClick:()=>i(Hb.Main())},n[32]=i,n[33]=a);let o;n[34]!==e.changesFor||n[35]!==e.instruction||n[36]!==e.savedFlow||n[37]!==i?(o={key:`c`,label:`enable sync`,cta:!0,onClick:()=>{i(Ub({changesFor:e.changesFor,instruction:e.instruction,savedFlow:e.savedFlow,requiresCookies:!0}))}},n[34]=e.changesFor,n[35]=e.instruction,n[36]=e.savedFlow,n[37]=i,n[38]=o):o=n[38];let s;n[39]!==e.changesFor||n[40]!==e.instruction||n[41]!==e.savedFlow||n[42]!==i?(s=()=>{i(Ub({changesFor:e.changesFor,instruction:e.instruction,savedFlow:e.savedFlow,requiresCookies:!1}))},n[39]=e.changesFor,n[40]=e.instruction,n[41]=e.savedFlow,n[42]=i,n[43]=s):s=n[43];let c;n[44]!==r.PRIMARY||n[45]!==s?(c={key:`a`,label:`run anyway`,color:r.PRIMARY,cta:!0,onClick:s},n[44]=r.PRIMARY,n[45]=s,n[46]=c):c=n[46];let l;return n[47]!==a||n[48]!==o||n[49]!==c?(l=[t,a,o,c],n[47]=a,n[48]=o,n[49]=c,n[50]=l):l=n[50],l}case`PortPicker`:{let e,t,a;n[51]===Symbol.for(`react.memo_cache_sentinel`)?(e={key:`↑↓`,label:`nav`},t={key:`space`,label:`toggle`},a={key:`/`,label:`custom port`},n[51]=e,n[52]=t,n[53]=a):(e=n[51],t=n[52],a=n[53]);let o;n[54]===i?o=n[55]:(o={key:`esc`,label:`back`,cta:!0,onClick:()=>i(Hb.Main())},n[54]=i,n[55]=o);let s;n[56]===r.PRIMARY?s=n[57]:(s={key:`enter`,label:`confirm`,color:r.PRIMARY,cta:!0},n[56]=r.PRIMARY,n[57]=s);let c;return n[58]!==o||n[59]!==s?(c=[e,t,a,o,s],n[58]=o,n[59]=s,n[60]=c):c=n[60],c}case`Testing`:{let e=s===!0?`notify on`:`notify off`,t=l?`collapse`:`expand`,r;n[61]!==e||n[62]!==c?(r={key:`ctrl+n`,label:e,cta:!0,onClick:c},n[61]=e,n[62]=c,n[63]=r):r=n[63];let i;n[64]===t?i=n[65]:(i={key:`ctrl+o`,label:t,cta:!0},n[64]=t,n[65]=i);let a=l?`collapse`:`cancel`,o;n[66]===a?o=n[67]:(o={key:`esc`,label:a},n[66]=a,n[67]=o);let u;return n[68]!==r||n[69]!==i||n[70]!==o?(u=[r,i,o],n[68]=r,n[69]=i,n[70]=o,n[71]=u):u=n[71],u}case`Results`:{let t;n[72]===Symbol.for(`react.memo_cache_sentinel`)?(t={key:`y`,label:`copy`,cta:!0},n[72]=t):t=n[72];let r;if(n[73]!==e.report.changesFor||n[74]!==e.report.instruction||n[75]!==e.report.pullRequest||n[76]!==i){if(r=[t],_t(e.report.pullRequest)){let e;n[78]===Symbol.for(`react.memo_cache_sentinel`)?(e={key:`p`,label:`post to PR`,cta:!0},n[78]=e):e=n[78],r.push(e)}let a;n[79]===Symbol.for(`react.memo_cache_sentinel`)?(a={key:`s`,label:`save flow`,cta:!0},n[79]=a):a=n[79],r.push(a);let o;n[80]!==e.report.changesFor||n[81]!==e.report.instruction||n[82]!==i?(o={key:`r`,label:`restart`,cta:!0,onClick:()=>{FT.getState().setExecutedPlan(void 0),i(Ub({changesFor:e.report.changesFor,instruction:e.report.instruction}))}},n[80]=e.report.changesFor,n[81]=e.report.instruction,n[82]=i,n[83]=o):o=n[83],r.push(o);let s;n[84]===i?s=n[85]:(s={key:`esc`,label:`main menu`,cta:!0,onClick:()=>{FT.getState().setExecutedPlan(void 0),i(Hb.Main())}},n[84]=i,n[85]=s),r.push(s),n[73]=e.report.changesFor,n[74]=e.report.instruction,n[75]=e.report.pullRequest,n[76]=i,n[77]=r}else r=n[77];return r}default:{let e;return n[86]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],n[86]=e):e=n[86],e}}},JD=e=>e.length>0?` ${e.map(e=>`${e.label} [${e.key}]`).join(` `)}`:``,YD=()=>{let e=ca(35);if(e[0]!==`b550868c87cf6b1dfe1682300fe0d38844022dce570a0a2326bec2f32013cc8b`){for(let t=0;t<35;t+=1)e[t]=Symbol.for(`react.memo_cache_sentinel`);e[0]=`b550868c87cf6b1dfe1682300fe0d38844022dce570a0a2326bec2f32013cc8b`}let[t]=cs(),{data:n}=AD(),r=Wb(nO),i=qD(r,n),a,o;e[1]===i?(a=e[2],o=e[3]):(a=i.filter(rO),o=qa(JD(a)),e[1]=i,e[2]=a,e[3]=o);let s=o,c=aO,l,u,d,f,p,m,h;if(e[4]!==i||e[5]!==t||e[6]!==s||e[7]!==r._tag){let n=i.filter(oO),a=c(n)+s+2>t?n.filter(sO):n,o=c(a);d=Math.max(0,t-o-s-2),u=W,m=`column`,e[15]!==t||e[16]!==r._tag?(h=r._tag===`Testing`?q(PT,{text:`─`.repeat(t),baseColor:ls.shimmerBase,highlightColor:ls.shimmerHighlight,speed:3}):q(G,{color:ls.border,children:`─`.repeat(t)}),e[15]=t,e[16]=r._tag,e[17]=h):h=e[17],l=W,f=1,p=a.map(cO),e[4]=i,e[5]=t,e[6]=s,e[7]=r._tag,e[8]=l,e[9]=u,e[10]=d,e[11]=f,e[12]=p,e[13]=m,e[14]=h}else l=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],h=e[14];let g;e[18]===d?g=e[19]:(g=` `.repeat(d),e[18]=d,e[19]=g);let _;e[20]===g?_=e[21]:(_=q(G,{children:g}),e[20]=g,e[21]=_);let v;e[22]===a?v=e[23]:(v=a.length>0?q(KD,{segments:a,color:ls.primary,mutedColor:ls.textMuted}):null,e[22]=a,e[23]=v);let y;e[24]!==l||e[25]!==f||e[26]!==p||e[27]!==_||e[28]!==v?(y=J(l,{paddingX:f,children:[p,_,v]}),e[24]=l,e[25]=f,e[26]=p,e[27]=_,e[28]=v,e[29]=y):y=e[29];let b;return e[30]!==u||e[31]!==m||e[32]!==h||e[33]!==y?(b=J(u,{flexDirection:m,children:[h,y]}),e[30]=u,e[31]=m,e[32]=h,e[33]=y,e[34]=b):b=e[34],b};function XD(e){return e.setScreen}function ZD(e){return e.cookiesEnabled}function QD(e){return e.toggleCookies}function $D(e){return e.notifications}function eO(e){return e.toggleNotifications}function tO(e){return e.expanded}function nO(e){return e.screen}function rO(e){return!e.cta}function iO(e){return e.color?` ${e.label} [${e.key}] `:`${e.label} [${e.key}]`}function aO(e){return qa(e.map(iO).join(` `))}function oO(e){return e.cta}function sO(e){return e.key!==`ctrl+p`}function cO(e,t){let n=J(G,{children:[t>0?` `:``,e.color?J(G,{backgroundColor:e.color,color:`black`,children:[` `,q(G,{bold:!0,children:e.label}),` `,J(G,{children:[`[`,e.key,`]`]}),` `]}):J(G,{children:[J(G,{color:ls.textMuted,children:[e.label,` `]}),J(G,{color:ls.textMuted,children:[`[`,e.key,`]`]})]})]},e.key+e.label);return e.onClick?q(ms,{onClick:e.onClick,fullWidth:!1,children:n},e.key+e.label):n}let lO=null;const uO=e=>{lO=e},dO=()=>lO?.clear(),fO=e=>{let t=ca(32);if(t[0]!==`55ea97aad1f2a785565d81fb2926f5458ca90308c23ea4df7f06a9353bc781af`){for(let e=0;e<32;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`55ea97aad1f2a785565d81fb2926f5458ca90308c23ea4df7f06a9353bc781af`}let{agent:n}=e,r=Wb(pO),i=Wb(mO),a=Wb(hO),{data:o}=AD(),s=ro(DE),c,l;t[1]!==n||t[2]!==s?(c=()=>{s(A(n))},l=[n,s],t[1]=n,t[2]=s,t[3]=c,t[4]=l):(c=t[3],l=t[4]),fa(c,l);let u;t[5]!==r._tag||t[6]!==i?(u=()=>{if(r._tag===`CookieSyncConfirm`){i(Hb.Main());return}if(r._tag===`PortPicker`){i(Hb.Main());return}if(r._tag===`Results`){FT.getState().setExecutedPlan(void 0),i(Hb.Main());return}r._tag!==`Testing`&&i(Hb.Main())},t[5]=r._tag,t[6]=i,t[7]=u):u=t[7];let d=u,[,f]=K(0),[,p]=cs(),m;t[8]!==o?.isGitRepo||t[9]!==d||t[10]!==a||t[11]!==r._tag||t[12]!==f?(m=(e,t)=>{if(t.ctrl&&e===`l`){dO(),f(gO);return}t.escape&&r._tag!==`Main`&&d(),t.ctrl&&e===`p`&&r._tag===`Main`&&o?.isGitRepo&&a(Hb.SelectPr()),t.ctrl&&e===`r`&&r._tag===`Main`&&a(Hb.SavedFlowPicker())},t[8]=o?.isGitRepo,t[9]=d,t[10]=a,t[11]=r._tag,t[12]=f,t[13]=m):m=t[13],na(m);let h;t[14]!==o||t[15]!==r._tag||t[16]!==r.baseUrls||t[17]!==r.changesFor||t[18]!==r.instruction||t[19]!==r.localReplayUrl||t[20]!==r.replayUrl||t[21]!==r.report||t[22]!==r.requiresCookies||t[23]!==r.savedFlow||t[24]!==r.videoUrl?(h=()=>{if(!o)return q(WD,{gitState:void 0});switch(r._tag){case`PortPicker`:return q(gw,{changesFor:r.changesFor,instruction:r.instruction,savedFlow:r.savedFlow,requiresCookies:r.requiresCookies});case`Testing`:return q(iD,{changesFor:r.changesFor,instruction:r.instruction,savedFlow:r.savedFlow,requiresCookies:r.requiresCookies,baseUrls:r.baseUrls});case`Results`:return q(wD,{report:r.report,replayUrl:r.replayUrl,localReplayUrl:r.localReplayUrl,videoUrl:r.videoUrl});case`SelectPr`:return q(qb,{});case`CookieSyncConfirm`:return q(ew,{changesFor:r.changesFor,instruction:r.instruction,savedFlow:r.savedFlow});case`SavedFlowPicker`:return q(ND,{});default:return q(WD,{gitState:o})}},t[14]=o,t[15]=r._tag,t[16]=r.baseUrls,t[17]=r.changesFor,t[18]=r.instruction,t[19]=r.localReplayUrl,t[20]=r.replayUrl,t[21]=r.report,t[22]=r.requiresCookies,t[23]=r.savedFlow,t[24]=r.videoUrl,t[25]=h):h=t[25];let g=h,_;t[26]===g?_=t[27]:(_=q(W,{flexGrow:1,children:g()}),t[26]=g,t[27]=_);let v;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(v=q(YD,{}),t[28]=v):v=t[28];let y;return t[29]!==p||t[30]!==_?(y=q(ns,{children:J(W,{flexDirection:`column`,width:`100%`,height:p,children:[_,v]})}),t[29]=p,t[30]=_,t[31]=y):y=t[31],y};function pO(e){return e.screen}function mO(e){return e.setScreen}function hO(e){return e.navigateTo}function gO(e){return e+1}const _O=()=>{let e=Pa();return e===`darwin`?`afplay /System/Library/Sounds/Glass.aiff`:e===`win32`?`powershell -c (New-Object Media.SoundPlayer 'C:\\Windows\\Media\\chimes.wav').PlaySync()`:`paplay /usr/share/sounds/freedesktop/stereo/complete.oga 2>/dev/null || aplay /usr/share/sounds/freedesktop/stereo/complete.oga 2>/dev/null`},vO=()=>new Promise(e=>{Ea(_O(),()=>e())}),yO=e=>C(kE(H(function*(){let t=yield*sb,n=yield*cb,i=yield*GC,a=Date.now();yield*i.capture(`session:started`,{mode:`headless`,skip_planning:!1,browser_headed:e.headed}),console.log(`expect v${Jo}`),console.log(`Testing ${Bs(e.changesFor)}`),console.log(`Starting browser test...`);let o=Date.now();yield*i.capture(`run:started`,{plan_id:`direct`});let s=new Set,c=yield*t.execute({changesFor:e.changesFor,instruction:e.instruction,isHeadless:!e.headed,requiresCookies:!1}).pipe(_i(e=>F(()=>{for(let t of e.events)if(!s.has(t.id))switch(s.add(t.id),t._tag){case`RunStarted`:console.log(`Starting ${t.plan.title}`);break;case`StepStarted`:console.log(`${Y.arrowRight} ${t.stepId} ${t.title}`);break;case`StepCompleted`:console.log(` ${Y.tick} ${t.stepId} ${t.summary}`);break;case`StepFailed`:console.log(` ${Y.cross} ${t.stepId} ${t.message}`);break}})),r,U(t=>t._tag===`Some`?t.value:new _c({id:``,changesFor:e.changesFor,currentBranch:``,diffPreview:``,fileStats:[],instruction:e.instruction,baseUrl:void 0,isHeadless:!e.headed,requiresCookies:!1,title:e.instruction,rationale:`Direct execution`,steps:[],events:[]}))),l=yield*n.report(c),u=l.steps.filter(e=>l.stepStatuses.get(e.id)?.status===`passed`).length,d=l.steps.filter(e=>l.stepStatuses.get(e.id)?.status===`failed`).length;yield*i.capture(`run:completed`,{plan_id:c.id??`direct`,passed:u,failed:d,step_count:c.steps.length,file_count:0,duration_ms:Date.now()-o}),yield*i.capture(`session:ended`,{session_ms:Date.now()-a}),yield*i.flush,console.error(`\n${l.toPlainText}`),yield*Qn(()=>vO()),process.exit(l.status===`passed`?0:1)}).pipe(dn(EE({verbose:e.verbose,agent:e.agent}))))),bO={error:ga.red,warn:ga.yellow,info:ga.cyan,success:ga.green,dim:ga.dim},xO={error:(...e)=>{console.log(bO.error(e.join(` `)))},warn:(...e)=>{console.log(bO.warn(e.join(` `)))},info:(...e)=>{console.log(bO.info(e.join(` `)))},success:(...e)=>{console.log(bO.success(e.join(` `)))},dim:(...e)=>{console.log(bO.dim(e.join(` `)))},log:(...e)=>{console.log(e.join(` `))},break:()=>{console.log(``)}},SO=()=>{xO.break(),xO.log(`Cancelled.`),xO.break(),process.exit(0)},CO=e=>po(e,{onCancel:SO}),wO=(e,t)=>mo({text:e,isSilent:t?.silent}),TO=[`CI`,`CLAUDECODE`,`CURSOR_AGENT`,`CODEX_CI`,`OPENCODE`,`AMP_HOME`,`AMI`],EO=()=>TO.some(e=>!!process.env[e]),DO=()=>!process.stdin.isTTY,OO={npm:`npm install -g expect-cli@latest`,pnpm:`pnpm add -g expect-cli@latest`,yarn:`yarn global add expect-cli@latest`,bun:`bun add -g expect-cli@latest`,vp:`vp install -g expect-cli@latest`},kO=`npx skills add https://github.com/millionco/expect --skill expect-cli`,AO=()=>{if(process.env.VITE_PLUS_CLI_BIN)return`vp`;let e=process.env.npm_config_user_agent;if(e){if(e.startsWith(`pnpm`))return`pnpm`;if(e.startsWith(`yarn`))return`yarn`;if(e.startsWith(`bun`))return`bun`;if(e.startsWith(`npm`))return`npm`}return`npm`},jO=e=>e||EO()||DO(),MO=e=>{try{return Oa(e,{stdio:`pipe`}),!0}catch{return!1}},NO=async(e={})=>{let t=jO(e.yes??!1),n=OO[AO()];xO.break(),xO.log(` ${bO.info(`expect`)} ${bO.dim(`— AI-powered browser testing`)}`),xO.break(),sf().length===0&&(xO.error(`No supported coding agent found. expect requires one of: Claude Code, Codex, or Cursor.`),xO.break(),xO.log(` Install one to get started:`),xO.log(` ${bO.info(`Claude Code`)} ${bO.dim(`https://docs.anthropic.com/en/docs/claude-code`)}`),xO.log(` ${bO.info(`Codex`)} ${bO.dim(`https://github.com/openai/codex`)}`),xO.log(` ${bO.info(`Cursor`)} ${bO.dim(`https://cursor.com`)}`),xO.break(),process.exit(1));let r=wO(`Installing expect-cli globally...`).start();MO(n)?r.succeed(`Installed! You can now run ${bO.info(`expect-cli`)} from anywhere.`):(r.fail(`Failed to install globally.`),xO.dim(` Run manually: ${bO.info(n)}`)),xO.break();let i=t;if(t||(i=(await CO({type:`confirm`,name:`installSkill`,message:`Install the ${bO.info(`expect`)} skill for your coding agent?`,initial:!0})).installSkill),i){let e=wO(`Installing skill...`).start();MO(kO)?e.succeed(`Skill installed.`):(e.fail(`Failed to install skill.`),xO.dim(` Run manually: ${bO.info(kO)}`))}xO.break(),xO.success(`You're all set!`),xO.log(` Run ${bO.info(`expect-cli`)} in any project to start testing.`),xO.break()},PO=[`packages/*`,`apps/*`],FO=e=>Zo.some(t=>e.includes(t)),IO=qt(`detectAgent`)(function*(e){let t=yield*qe;for(let[n,r]of Object.entries(Qo)){let i=_a.join(e,n);if(yield*t.exists(i).pipe(_(`PlatformError`,()=>V(!1))))return r}let n=_a.join(e,`package.json`),r=yield*t.readFileString(n).pipe(_(`PlatformError`,()=>V(``)));if(r){let e=yield*Ut({try:()=>JSON.parse(r),catch:()=>({_tag:`JsonParseError`})}).pipe(_(`JsonParseError`,()=>V(void 0)));if(e?.packageManager){let t=e.packageManager.split(`@`)[0];if(t)return t}}return`npm`}),LO=qt(`readPackageJson`)(function*(e){let t=yield*qe,n=_a.join(e,`package.json`),r=yield*t.readFileString(n);return yield*Ut({try:()=>JSON.parse(r),catch:()=>({_tag:`JsonParseError`})})}),RO=qt(`listWorkspaceDirectories`)(function*(e){let t=yield*qe,n=[];for(let r of PO){let i=_a.join(e,_a.dirname(r)),a=yield*t.readDirectory(i).pipe(_(`PlatformError`,()=>V([])));for(let e of a){let r=_a.join(i,e);(yield*t.stat(r).pipe(_(`PlatformError`,()=>V(void 0))))?.type===`Directory`&&n.push(r)}}return n}),zO=(e,t,n)=>new Promise(r=>{Da(e,[`run`,n],{cwd:t,timeout:12e4,maxBuffer:5*1024*1024},(e,t,i)=>{let a=(t+`
|
|
44
|
+
`+i).trim();r({script:n,passed:!e,output:a})})}),BO=qt(`discoverPackages`)(function*(e){let t=yield*RO(e),n=[];for(let e of t){let t=yield*LO(e).pipe(_(`PlatformError`,()=>V(void 0)),_(`JsonParseError`,()=>V(void 0)));if(!t?.scripts)continue;let r=Object.keys(t.scripts).filter(FO);r.length!==0&&n.push({packageName:t.name??_a.basename(e),directory:e,scripts:r})}return n}),VO=async(e,t)=>C(H(function*(){let n=yield*IO(e);return yield*st(yield*BO(e),e=>H(function*(){t.onPackageStart(e.packageName,e.scripts);let r=[];for(let i of e.scripts){let a=yield*Qn(()=>zO(n,e.directory,i));t.onScriptDone(e.packageName,a),r.push(a)}return{packageName:e.packageName,directory:e.directory,results:r}}),{concurrency:4})}).pipe(dn(Ra.layer))),HO=e=>{let t=ca(5);if(t[0]!==`2d9c928ad4631c339250b8fd0f4c153b8184fa5a47421a54f29b7df14a1f0cc5`){for(let e=0;e<5;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`2d9c928ad4631c339250b8fd0f4c153b8184fa5a47421a54f29b7df14a1f0cc5`}let{statusMap:n}=e,r;if(t[1]!==n){let e=Array.from(n.entries()),i,a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=q(G,{bold:!0,children:`expect audit`}),a=q(G,{children:` `}),t[3]=i,t[4]=a):(i=t[3],a=t[4]),r=J(W,{flexDirection:`column`,paddingY:1,children:[i,a,e.map(XO)]}),t[1]=n,t[2]=r}else r=t[2];return r},UO=e=>{let t=ca(12);if(t[0]!==`2d9c928ad4631c339250b8fd0f4c153b8184fa5a47421a54f29b7df14a1f0cc5`){for(let e=0;e<12;e+=1)t[e]=Symbol.for(`react.memo_cache_sentinel`);t[0]=`2d9c928ad4631c339250b8fd0f4c153b8184fa5a47421a54f29b7df14a1f0cc5`}let{results:n}=e,r=0,i=0;for(let e of n)for(let t of e.results)t.passed?r++:i++;let a=`${r} passed, ${i} failed`,o=i>0?`red`:`green`,s;t[1]!==a||t[2]!==o?(s=q(G,{bold:!0,color:o,children:a}),t[1]=a,t[2]=o,t[3]=s):s=t[3];let c;t[4]===i?c=t[5]:(c=i>0&&J(G,{color:`yellow`,children:[`Run `,q(G,{bold:!0,children:`expect`}),` to test your changes in a real browser and catch issues before they ship.`]}),t[4]=i,t[5]=c);let l;t[6]===i?l=t[7]:(l=i===0&&J(G,{color:`green`,children:[`Looking good! Run `,q(G,{bold:!0,children:`expect`}),` to verify your changes work end-to-end in the browser.`]}),t[6]=i,t[7]=l);let u;return t[8]!==s||t[9]!==c||t[10]!==l?(u=J(W,{flexDirection:`column`,gap:1,children:[s,c,l]}),t[8]=s,t[9]=c,t[10]=l,t[11]=u):u=t[11],u},WO=async()=>{let e=process.cwd(),t={current:new Map},n,r,i=ta(q(()=>{let[e,t]=K(new Map),[i,a]=K();return n=e=>t(new Map(e)),r=a,J(W,{flexDirection:`column`,children:[q(HO,{statusMap:e}),i&&q(UO,{results:i})]})},{})),a=await VO(e,{onPackageStart:(e,r)=>{t.current.set(e,{scripts:r,completed:[],done:!1}),n?.(t.current)},onScriptDone:(e,r)=>{let i=t.current.get(e);i&&(i.completed.push(r),i.done=i.completed.length===i.scripts.length),n?.(t.current)}});r?.(a),setTimeout(()=>{i.unmount(),a.reduce((e,t)=>e+t.results.filter(e=>!e.passed).length,0)>0&&process.exit(1)},100)},GO=async()=>{let e=process.cwd();console.log(``),console.log(ga.bold(`expect audit`)),console.log(``);let t=await VO(e,{onPackageStart:(e,t)=>{console.log(`${Y.arrowRight} ${ga.bold(e)} (${t.join(`, `)})`)},onScriptDone:(e,t)=>{let n=t.passed?ga.green(Y.tick):ga.red(Y.cross);if(console.log(` ${n} ${t.script}`),!t.passed){let e=t.output.split(`
|
|
44
45
|
`).slice(-3).join(`
|
|
45
|
-
`);console.log(
|
|
46
|
+
`);console.log(ga.dim(` ${e.split(`
|
|
46
47
|
`).join(`
|
|
47
|
-
`)}`))}}}),n=0,r=0;for(let e of t)for(let t of e.results)t.passed?n++:r++;console.log(``);let i=`${n} passed, ${r} failed`,a=r>0?
|
|
48
|
+
`)}`))}}}),n=0,r=0;for(let e of t)for(let t of e.results)t.passed?n++:r++;console.log(``);let i=`${n} passed, ${r} failed`,a=r>0?ga.red:ga.green;console.log(a(ga.bold(i))),r>0?(console.log(``),console.log(ga.yellow(`Run ${ga.bold(`expect`)} to test your changes in a real browser and catch issues before they ship.`))):(console.log(``),console.log(ga.green(`Looking good! Run ${ga.bold(`expect`)} to verify your changes work end-to-end in the browser.`))),console.log(``),r>0&&process.exit(1)},KO=async()=>{EO()||DO()?await GO():await WO()};function qO(e){return e.passed}function JO(e){return J(W,{flexDirection:`column`,children:[J(G,{children:[` `,e.passed?q(G,{color:`green`,children:Y.tick}):q(G,{color:`red`,children:Y.cross}),` `,e.script]}),!e.passed&&J(G,{color:`gray`,children:[` `,e.output.split(`
|
|
48
49
|
`).slice(-3).join(`
|
|
49
|
-
`)]})]},e.script)}function
|
|
50
|
+
`)]})]},e.script)}function YO(e){return J(G,{color:`gray`,children:[` `,q(Ga,{type:`dots`}),` `,e]},e)}function XO(e){let[t,n]=e;return J(W,{flexDirection:`column`,children:[J(W,{children:[n.done&&q(G,{children:n.completed.every(qO)?q(G,{color:`green`,children:Y.tick}):q(G,{color:`red`,children:Y.cross})}),!n.done&&q(G,{color:`white`,children:q(Ga,{type:`dots`})}),J(G,{bold:!0,children:[` `,t]})]}),n.completed.map(JO),!n.done&&n.scripts.filter(e=>!n.completed.some(t=>t.script===e)).slice(0,1).map(YO)]},t)}const ZO=[`unstaged`,`branch`,`changes`],QO=new $i().name(`expect`).description(`AI-powered browser testing for your changes`).version(Jo,`-v, --version`).option(`-m, --message <instruction>`,`natural language instruction for what to test`).option(`-f, --flow <slug>`,`reuse a saved flow by its slug`).option(`-y, --yes`,`run immediately without confirmation`).option(`-a, --agent <provider>`,`agent provider to use (claude or codex)`).option(`-t, --target <target>`,`what to test: unstaged, branch, or changes`,`changes`).option(`--verbose`,`enable verbose logging`).option(`--headed`,`show a visible browser window during tests`).option(`--replay-host <url>`,`website host for live replay viewer`,`https://expect.dev`).addHelpText(`after`,`
|
|
50
51
|
Examples:
|
|
51
52
|
$ expect open interactive TUI
|
|
52
53
|
$ expect -m "test the login flow" -y run immediately
|
|
53
54
|
$ expect --headed -m "smoke test" -y run with a visible browser
|
|
54
55
|
$ expect --target branch test all branch changes
|
|
55
|
-
$ expect --target unstaged test unstaged changes`)
|
|
56
|
+
$ expect --target unstaged test unstaged changes`),$O=`\x1B[?1000l\x1B[?1006l`,ek=async e=>{let t=Date.now();await XC(),process.stdout.write(`\x1B[?1049h\x1B[2J\x1B[H`),process.on(`exit`,()=>process.stdout.write($O+Yo));let n=ta(q(to,{initialValues:[[DE,A(e)]],children:q(aa,{client:Gb,children:q(fO,{agent:e})})}));uO(n),await n.waitUntilExit(),await ZC(t),process.stdout.write($O+Yo),process.exit(0)},tk=async e=>{let t=process.cwd();return C(H(function*(){let t=yield*ab,n=yield*t.getMainBranch,r=yield*t.getCurrentBranch;return e===`branch`?{changesFor:zs.makeUnsafe({_tag:`Branch`,mainBranch:n}),currentBranch:r}:e===`changes`?{changesFor:zs.makeUnsafe({_tag:`Changes`,mainBranch:n}),currentBranch:r}:{changesFor:zs.makeUnsafe({_tag:`WorkingTree`}),currentBranch:r}}).pipe(dn(ab.withRepoRoot(t))))},nk=(e,t)=>{qC.setState({...e.agent?{agentBackend:e.agent}:{},browserHeaded:e.headed??!1,replayHost:e.replayHost??`https://expect.dev`}),e.message?Wb.setState({screen:Hb.Testing({changesFor:t,instruction:e.message})}):Wb.setState({screen:Hb.Main()})},rk=async(e,t)=>{let{changesFor:n}=await tk(e);return yO({changesFor:n,instruction:t.message??`Test all changes from main in the browser and verify they work correctly.`,agent:t.agent??`claude`,verbose:t.verbose??!1,headed:t.headed??!1})},ik=async(e,t)=>{let{changesFor:n}=await tk(e);nk(t,n),ek(t.agent??`claude`)};QO.command(`init`).description(`set up expect for your coding agent`).option(`-y, --yes`,`skip confirmation prompts`).action(async e=>{await NO(e)}),QO.command(`audit`).description(`audit your workspace for lint, type, and formatting issues`).action(async()=>{await KO()}),QO.action(async()=>{let e=QO.opts(),t=e.target??`changes`;if(ZO.includes(t)||QO.error(`Unknown target: ${t}. Use ${ZO.join(`, `)}.`),EO()||DO())return rk(t,e);e.message||e.flow||e.yes?await ik(t,e):(qC.setState({browserHeaded:e.headed??!1,replayHost:e.replayHost??`https://expect.dev`}),ek(e.agent??`claude`))}),QO.parse();export{};
|
|
56
57
|
//# sourceMappingURL=index.js.map
|