@codeyam-editor/codeyam-editor 0.1.14 → 0.1.15
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/npm/agent-cli-install.js +102 -0
- package/npm/cloud.js +50 -53
- package/npm/editor.js +23 -0
- package/npm/fleet-add-failure.js +53 -2
- package/npm/fleet-auth.js +17 -1
- package/npm/launch-config.js +20 -3
- package/npm/launcher-boot-log.js +57 -0
- package/npm/operator-host-disk.js +44 -0
- package/npm/scenario-check.js +172 -1
- package/npm/scenario-metrics.js +101 -0
- package/npm/scenario-playwright.js +77 -5
- package/npm/utils.js +140 -21
- package/package.json +5 -5
- package/ui/dist/assets/{ContainerInspector-9w8TlRwl.js → ContainerInspector-Ceop11Fv.js} +1 -1
- package/ui/dist/assets/EditorShell-DjI5cEF_.js +366 -0
- package/ui/dist/assets/ScenarioDataPanel-D-nWT7xD.js +21 -0
- package/ui/dist/assets/{ScenarioDataPanelFullPage-DkysGs6X.js → ScenarioDataPanelFullPage-ZNFZcTQU.js} +1 -1
- package/ui/dist/assets/ScenarioRenderer-BW6QLGFW.js +26 -0
- package/ui/dist/assets/index-B3SMxYUB.css +1 -0
- package/ui/dist/assets/{index-CqKB9WVm.js → index-ClrdYzlw.js} +6 -6
- package/ui/dist/index.html +2 -2
- package/ui/dist/assets/EditorShell-CmEoMxKh.js +0 -366
- package/ui/dist/assets/ScenarioDataPanel-BM7COEfv.js +0 -21
- package/ui/dist/assets/ScenarioRenderer-M3HRiuEn.js +0 -26
- package/ui/dist/assets/index-Bk0fHYF3.css +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{j as e}from"./markdown-C9tbsVHX.js";import{b as d}from"./react-nrLBr15I.js";import{C as k,a as xe,u as ko,_ as No,b as To}from"./useServerIdentity-CVuHTzjg.js";import{R as Pt,P as Ro,c as Do,L as N,C as wt,S as kt,M as Nt,f as Eo,T as Tt,e as Mo,a as ge,b as Rt,d as Bo,g as L,N as re,h as Oo,i as Dt,j as Et,k as be,l as Mt,m as Bt,D as Ot,u as Ao,A as At,n as Ft,o as Fo,O as ie,p as Io,q as Lo,s as Ho,F as It,r as zo,t as Lt,E as Ht,v as Go,w as $o,x as zt,y as qo,z as Vo,B as Gt,G as Wo,H as $t,I as Uo,J as Qo,K as qt,Q as M,X as le,U as D,V as Vt,W as Wt,Y as Ut,Z as Qt,_ as U,$ as ce,a0 as Jt,a1 as _t,a2 as Kt,a3 as Yt,a4 as Xt,a5 as Zt,a6 as es,a7 as Jo,a8 as Ko,a9 as Yo,aa as Xo,ab as Zo,ac as ea,ad as ta,ae as sa,af as oa,ag as aa,ah as na,ai as ra,aj as ia,ak as la,al as ca,am as _a,an as da,ao as pa,ap as ua,aq as ma,ar as xa,as as ga,at as ba,au as va,av as ha,aw as fa,ax as ya,ay as Sa,az as ja,aA as Ca,aB as Pa,aC as wa,aD as ka,aE as Na,aF as Ta,aG as Ra,aH as Da,aI as Ea,aJ as Ma,aK as Ba,aL as Oa,aM as Aa,aN as Fa,aO as Ia,aP as La,aQ as Ha,aR as za,aS as Ga,aT as $a,aU as qa,aV as Va,aW as Wa,aX as Ua,aY as Qa,aZ as Ja,a_ as Ka,a$ as Ya,b0 as Xa,b1 as Za,b2 as en,b3 as tn,b4 as sn,b5 as on,b6 as an,b7 as nn,b8 as rn,b9 as ln,ba as cn,bb as _n,bc as dn,bd as pn,be as un,bf as mn,bg as xn,bh as gn,bi as bn,bj as vn,bk as hn,bl as fn,bm as yn,bn as Sn,bo as jn,bp as Cn,bq as Pn,br as wn,bs as kn,bt as Nn,bu as Tn,bv as Rn,bw as Dn,bx as En,by as Mn,bz as Bn,bA as On,bB as An,bC as Fn,bD as In,bE as Ln,bF as Hn,bG as zn,bH as Gn,bI as $n,bJ as qn,bK as Vn,bL as Wn,bM as Un,bN as Qn,bO as Jn,bP as Kn,bQ as Yn,bR as Xn,bS as Zn,bT as er,bU as tr,bV as sr,bW as or,bX as ar,bY as nr,bZ as rr,b_ as ir,b$ as lr,c0 as cr,c1 as _r,c2 as dr,c3 as pr,c4 as ur,c5 as mr,c6 as xr,c7 as gr,c8 as br,c9 as vr,ca as hr,cb as fr,cc as yr,cd as Sr,ce as jr,cf as Cr,cg as Pr,ch as wr,ci as kr,cj as Nr,ck as Tr,cl as Rr,cm as Dr,cn as Er,co as Mr,cp as Br,cq as Or,cr as Ar,cs as Fr,ct as Ir,cu as Lr,cv as Hr,cw as zr,cx as Gr,cy as $r,cz as qr,cA as Vr,cB as Wr,cC as Ur,cD as Qr,cE as Jr,cF as Kr,cG as Yr,cH as Xr,cI as Zr,cJ as ei,cK as ti,cL as si,cM as oi,cN as ai,cO as ni,cP as ri,cQ as ii,cR as li,cS as ci,cT as _i,cU as ts,cV as di,cW as pi,cX as ui,cY as mi,cZ as xi,c_ as gi,c$ as bi,d0 as vi,d1 as hi,d2 as fi,d3 as yi,d4 as Si,d5 as ji,d6 as Ci,d7 as Pi,d8 as wi,d9 as ki,da as Ni,db as Ti,dc as Ri,dd as Di,de as Ei,df as Mi,dg as Bi,dh as Oi,di as Ai,dj as Fi,dk as Ii,dl as Li,dm as Hi,dn as zi,dp as Gi,dq as $i,dr as qi,ds as Vi,dt as Wi,du as Ui,dv as Qi,dw as Ji,dx as Ki,dy as Yi,dz as Xi,dA as Zi,dB as el,dC as tl,dD as sl,dE as ol,dF as al,dG as nl,dH as rl,dI as il,dJ as ll,dK as cl,dL as _l,dM as dl,dN as pl,dO as ul,dP as ml,dQ as xl,dR as gl,dS as bl,dT as vl,dU as hl,dV as fl,dW as yl,dX as Sl,dY as jl,dZ as Cl,d_ as Pl,d$ as wl,e0 as kl,e1 as Nl,e2 as Tl,e3 as Rl,e4 as Dl,e5 as El,e6 as Ml,e7 as Bl,e8 as Ol,e9 as Al,ea as Fl,eb as Il,ec as Ll,ed as Hl,ee as zl,ef as Gl,eg as $l,eh as ql,ei as Vl,ej as Wl,ek as Ul,el as Ql,em as Jl,en as Kl,eo as Yl,ep as Xl,eq as Zl,er as ec,es as tc,et as sc,eu as oc,ev as ac,ew as nc,ex as rc,ey as ic,ez as lc,eA as cc,eB as _c,eC as dc,eD as pc,eE as uc,eF as mc,eG as xc,eH as gc,eI as bc,eJ as vc,eK as hc,eL as fc,eM as yc,eN as Sc,eO as jc,eP as Cc,eQ as Pc,eR as wc,eS as kc,eT as Nc,eU as Tc,eV as Rc,eW as Dc,eX as Ec,eY as Mc,eZ as Bc,e_ as Oc,e$ as Ac,f0 as Fc,f1 as Ic,f2 as Lc,f3 as Hc,f4 as zc,f5 as Gc,f6 as $c,f7 as qc,f8 as Vc,f9 as Wc,fa as Uc,fb as Qc,fc as Jc,fd as Kc,fe as Yc,ff as Xc,fg as Zc,fh as e_,fi as t_,fj as s_,fk as o_,fl as a_,fm as n_,fn as r_,fo as i_,fp as l_,fq as c_,fr as __,fs as d_,ft as p_,fu as u_,fv as m_,fw as x_,fx as g_,fy as b_,fz as v_,fA as h_,fB as f_,fC as y_,fD as S_,fE as j_,fF as C_,fG as P_,fH as w_,fI as k_,fJ as N_,fK as T_,fL as R_,fM as D_,fN as E_,fO as M_,fP as B_,fQ as O_,fR as A_,fS as F_,fT as I_,fU as L_,fV as H_,fW as z_,fX as G_,fY as $_,fZ as q_,f_ as V_,f$ as W_,g0 as U_,g1 as Q_,g2 as J_,g3 as K_,g4 as Y_,g5 as X_,g6 as Z_,g7 as ed,g8 as td,g9 as sd,ga as od,gb as ad,gc as nd,gd as rd,ge as id,gf as ld,gg as cd,gh as _d,gi as dd,gj as pd,gk as ud,gl as md,gm as xd,gn as gd,go as bd,gp as vd,gq as hd,gr as fd,gs as yd,gt as Sd,gu as jd,gv as Cd,gw as Pd,gx as wd,gy as kd,gz as Nd,gA as Td,gB as Rd,gC as Dd,gD as Ed,gE as Md,gF as Bd,gG as Od,gH as Ad,gI as Fd,gJ as Id,gK as Ld,gL as Hd,gM as zd,gN as Gd,gO as $d,gP as qd,gQ as Vd,gR as Wd,gS as Ud,gT as Qd,gU as Jd,gV as Kd,gW as Yd,gX as Xd,gY as Zd,gZ as ep,g_ as tp,g$ as sp,h0 as op,h1 as ap,h2 as np,h3 as rp,h4 as ip,h5 as lp,h6 as cp,h7 as _p,h8 as dp,h9 as pp,ha as up,hb as mp,hc as xp,hd as gp,he as bp,hf as vp,hg as hp,hh as fp,hi as yp,hj as Sp,hk as jp,hl as Cp,hm as Pp,hn as wp,ho as kp,hp as Np,hq as Tp,hr as Rp,hs as Dp,ht as Ep,hu as Mp,hv as Bp,hw as Op,hx as Ap,hy as Fp,hz as Ip,hA as Lp,hB as Hp,hC as zp,hD as Gp,hE as $p,hF as qp,hG as Vp,hH as Wp,hI as Up,hJ as Qp,hK as Jp,hL as Kp,hM as Yp,hN as Xp,hO as Zp,hP as eu,hQ as tu,hR as su,hS as ou,hT as au,hU as nu,hV as ru,hW as iu,hX as lu,hY as cu,hZ as _u,h_ as du,h$ as pu,i0 as uu,i1 as mu,i2 as xu,i3 as gu,i4 as bu,i5 as vu,i6 as hu,i7 as fu,i8 as yu,i9 as Su,ia as ju,ib as Cu,ic as Pu,id as wu,ie as ku,ig as Nu,ih as Tu,ii as Ru,ij as Du,ik as Eu,il as Mu,im as Bu,io as Ou,ip as Au,iq as Fu,ir as Iu,is as Lu,it as Hu,iu as zu,iv as Gu,iw as $u,ix as qu,iy as Vu,iz as Wu,iA as Uu,iB as Qu,iC as Ju,iD as Ku,iE as Yu,iF as Xu,iG as Zu,iH as em,iI as tm,iJ as sm,iK as om,iL as am,iM as nm,iN as rm,iO as im,iP as lm,iQ as cm,iR as _m,iS as dm,iT as pm,iU as um,iV as mm,iW as xm,iX as gm,iY as bm,iZ as vm,i_ as hm,i$ as fm,j0 as ym,j1 as Sm,j2 as jm,j3 as Cm,j4 as Pm,j5 as wm,j6 as km,j7 as Nm,j8 as Tm,j9 as Rm,ja as Dm,jb as Em,jc as Mm,jd as Bm,je as Om,jf as Am,jg as Fm,jh as Im,ji as Lm,jj as Hm,jk as zm,jl as Gm,jm as $m,jn as qm,jo as Vm,jp as Wm,jq as Um,jr as Qm,js as Jm,jt as Km,ju as Ym,jv as Xm,jw as Zm,jx as ex,jy as tx,jz as sx,jA as ox,jB as ax,jC as nx,jD as rx,jE as ix,jF as lx,jG as cx,jH as _x,jI as dx,jJ as px,jK as ux,jL as mx,jM as xx,jN as gx,jO as bx,jP as vx,jQ as hx,jR as fx,jS as yx,jT as Sx,jU as jx,jV as Cx,jW as Px,jX as wx,jY as kx,jZ as Nx,j_ as Tx,j$ as Rx,k0 as Dx,k1 as Ex,k2 as Mx,k3 as Bx,k4 as Ox,k5 as Ax,k6 as Fx,k7 as Ix,k8 as Lx,k9 as Hx,ka as zx,kb as Gx,kc as $x,kd as qx,ke as Vx,kf as Wx,kg as Ux,kh as Qx,ki as Jx,kj as Kx,kk as Yx,kl as Xx,km as Zx,kn as eg,ko as tg,kp as sg,kq as og,kr as ag,ks as ng,kt as rg,ku as ig,kv as lg,kw as cg,kx as _g,ky as dg,kz as pg,kA as ug,kB as mg,kC as xg,kD as gg,kE as bg,kF as vg,kG as hg,kH as fg,kI as yg,kJ as Sg,kK as jg,kL as Cg,kM as Pg,kN as wg,kO as kg,kP as Ng,kQ as Tg,kR as Rg,kS as Dg,kT as Eg,kU as Mg,kV as Bg,kW as Og,kX as Ag,kY as Fg,kZ as Ig,k_ as Lg,k$ as Hg,l0 as zg,l1 as Gg,l2 as $g,l3 as qg,l4 as Vg,l5 as Wg,l6 as Ug,l7 as Qg,l8 as Jg,l9 as Kg,la as Yg,lb as Xg,lc as Zg,ld as eb,le as tb,lf as sb,lg as ob,lh as ab,li as nb,lj as rb,lk as ib,ll as lb,lm as cb,ln as _b,lo as db,lp as pb,lq as ub,lr as mb,ls as xb,lt as gb,lu as bb,lv as vb,lw as hb,lx as fb,ly as yb,lz as Sb,lA as jb,lB as Cb,lC as Pb,lD as wb,lE as kb,lF as Nb,lG as Tb,lH as Rb,lI as Db,lJ as Eb,lK as Mb,lL as Bb,lM as Ob,lN as Ab,lO as Fb,lP as Ib,lQ as Lb,lR as Hb,lS as zb,lT as Gb,lU as $b,lV as qb,lW as Vb,lX as Wb,lY as Ub,lZ as Qb,l_ as Jb,l$ as Kb,m0 as Yb,m1 as Xb,m2 as Zb,m3 as ev,m4 as tv,m5 as sv,m6 as ov,m7 as av,m8 as nv,m9 as rv,ma as iv,mb as lv,mc as cv,md as _v,me as dv,mf as pv,mg as uv,mh as mv,mi as xv,mj as gv,mk as bv,ml as vv,mm as hv,mn as fv,mo as yv,mp as Sv,mq as jv,mr as Cv,ms as Pv,mt as wv,mu as kv,mv as Nv,mw as Tv,mx as Rv,my as Dv,mz as Ev,mA as Mv,mB as Bv,mC as Ov,mD as Av,mE as Fv,mF as Iv,mG as Lv,mH as Hv,mI as zv,mJ as Gv,mK as $v,mL as qv,mM as Vv,mN as Wv,mO as Uv,mP as Qv,mQ as Jv,mR as Kv,mS as Yv,mT as Xv,mU as Zv,mV as eh,mW as th,mX as sh,mY as oh,mZ as ah,m_ as nh,m$ as rh,n0 as ih,n1 as lh,n2 as ch,n3 as _h,n4 as dh,n5 as ph,n6 as uh,n7 as mh,n8 as xh,n9 as gh,na as bh,nb as vh,nc as hh,nd as fh,ne as yh,nf as Sh,ng as jh,nh as Ch,ni as Ph,nj as wh,nk as kh,nl as Nh,nm as Th,nn as Rh,no as Dh,np as Eh,nq as Mh,nr as Bh,ns as Oh,nt as Ah,nu as Fh,nv as Ih,nw as Lh,nx as Hh,ny as zh,nz as Gh,nA as $h,nB as qh,nC as Vh,nD as Wh,nE as Uh,nF as Qh,nG as Jh,nH as Kh,nI as Yh,nJ as Xh,nK as Zh,nL as ef,nM as tf,nN as sf,nO as of,nP as af,nQ as nf,nR as rf,nS as lf,nT as cf,nU as _f,nV as df,nW as pf,nX as uf,nY as mf,nZ as xf,n_ as gf,n$ as bf,o0 as vf,o1 as hf,o2 as ff,o3 as yf,o4 as Sf,o5 as jf,o6 as Cf,o7 as Pf,o8 as wf,o9 as kf,oa as Nf,ob as Tf,oc as Rf,od as Df,oe as Ef,of as Mf,og as Bf,oh as Of,oi as Af,oj as Ff,ok as If,ol as Lf,om as Hf,on as zf,oo as Gf,op as $f,oq as qf,or as Vf,os as Wf,ot as Uf,ou as Qf,ov as Jf,ow as Kf,ox as Yf,oy as Xf,oz as Zf,oA as e0,oB as t0,oC as s0,oD as o0,oE as a0,oF as n0,oG as r0,oH as i0,oI as l0,oJ as c0,oK as _0,oL as d0,oM as p0,oN as u0,oO as m0,oP as x0,oQ as g0,oR as b0,oS as v0,oT as h0,oU as f0,oV as y0,oW as S0,oX as j0,oY as C0,oZ as P0,o_ as w0,o$ as k0,p0 as N0,p1 as T0,p2 as R0,p3 as D0,p4 as E0,p5 as M0,p6 as B0,p7 as O0,p8 as A0,p9 as F0,pa as I0,pb as L0,pc as H0,pd as z0,pe as G0,pf as $0,pg as q0,ph as V0,pi as W0,pj as U0,pk as Q0,pl as J0,pm as K0,pn as Y0,po as X0,pp as Z0,pq as ey,pr as ty,ps as sy,pt as oy,pu as ay,pv as ny,pw as ry,px as iy,py as ly,pz as cy,pA as _y,pB as dy,pC as py,pD as uy,pE as my,pF as xy,pG as gy,pH as by,pI as vy,pJ as hy,pK as fy,pL as yy,pM as Sy,pN as jy,pO as Cy,pP as Py,pQ as wy,pR as ky,pS as Ny,pT as Ty,pU as Ry,pV as Dy,pW as Ey,pX as My,pY as By,pZ as Oy,p_ as Ay,p$ as Fy,q0 as Iy,q1 as Ly,q2 as Hy,q3 as zy,q4 as Gy,q5 as $y,q6 as qy,q7 as Vy,q8 as Wy,q9 as Uy,qa as Qy,qb as Jy,qc as Ky,qd as Yy,qe as Xy,qf as Zy,qg as eS,qh as tS,qi as sS,qj as oS,qk as aS,ql as nS,qm as rS,qn as iS,qo as lS,qp as cS,qq as _S,qr as dS,qs as pS,qt as uS,qu as mS,qv as xS,qw as gS,qx as bS,qy as vS,qz as hS,qA as fS,qB as yS,qC as SS,qD as jS,qE as CS,qF as PS,qG as wS,qH as kS,qI as NS,qJ as TS,qK as RS,qL as DS,qM as ES,qN as MS,qO as BS,qP as OS,qQ as AS,qR as FS,qS as IS,qT as LS,qU as HS,qV as zS,qW as GS,qX as $S,qY as qS,qZ as VS,q_ as WS,q$ as US,r0 as QS,r1 as JS,r2 as KS,r3 as YS,r4 as XS,r5 as ZS,r6 as ej,r7 as tj,r8 as sj,r9 as oj,ra as aj,rb as nj,rc as rj,rd as ij,re as lj,rf as cj,rg as _j,rh as dj,ri as pj,rj as uj,rk as mj,rl as xj,rm as gj,rn as bj,ro as vj,rp as hj,rq as fj,rr as yj,rs as Sj,rt as jj,ru as Cj,rv as Pj,rw as wj,rx as kj,ry as Nj,rz as Tj,rA as Rj,rB as Dj,rC as Ej,rD as Mj,rE as Bj,rF as Oj,rG as Aj,rH as Fj,rI as Ij,rJ as Lj,rK as Hj,rL as zj,rM as Gj,rN as $j,rO as qj,rP as Vj,rQ as Wj,rR as Uj,rS as Qj,rT as Jj,rU as Kj,rV as Yj,rW as Xj,rX as Zj,rY as eC,rZ as tC,r_ as sC,r$ as oC,s0 as aC,s1 as nC,s2 as rC,s3 as iC,s4 as lC,s5 as cC,s6 as _C,s7 as dC,s8 as pC,s9 as uC,sa as mC,sb as xC,sc as gC,sd as bC,se as vC,sf as hC,sg as fC,sh as yC,si as SC,sj as jC,sk as CC,sl as PC,sm as wC,sn as kC,so as NC,sp as TC,sq as RC,sr as DC,ss as EC,st as MC,su as BC,sv as OC,sw as AC,sx as FC,sy as IC,sz as LC,sA as HC,sB as zC,sC as GC,sD as $C,sE as qC,sF as VC,sG as WC,sH as UC,sI as QC,sJ as JC,sK as KC,sL as YC,sM as XC,sN as ZC,sO as eP,sP as tP,sQ as sP,sR as oP,sS as aP,sT as nP,sU as rP,sV as iP,sW as lP,sX as cP,sY as _P,sZ as dP,s_ as pP,s$ as uP,t0 as mP,t1 as xP,t2 as gP,t3 as bP,t4 as vP,t5 as hP,t6 as fP,t7 as yP,t8 as SP,t9 as jP,ta as CP,tb as PP,tc as wP,td as kP,te as NP,tf as TP,tg as RP,th as DP,ti as EP,tj as MP,tk as BP,tl as OP,tm as AP,tn as FP,to as IP,tp as LP,tq as HP,tr as zP,ts as GP,tt as $P,tu as qP,tv as VP,tw as WP,tx as UP,ty as QP,tz as JP,tA as KP,tB as YP,tC as XP,tD as ZP,tE as ew,tF as tw,tG as sw,tH as ow,tI as aw,tJ as nw,tK as rw,tL as iw,tM as lw,tN as cw,tO as _w,tP as dw,tQ as pw,tR as uw,tS as mw,tT as xw,tU as gw,tV as bw,tW as vw,tX as hw,tY as fw,tZ as yw,t_ as Sw,t$ as jw,u0 as Cw,u1 as Pw,u2 as ww,u3 as kw,u4 as Nw,u5 as Tw,u6 as Rw,u7 as Dw,u8 as Ew,u9 as Mw,ua as Bw,ub as Ow,uc as Aw,ud as Fw,ue as Iw,uf as Lw,ug as Hw,uh as zw,ui as Gw,uj as $w,uk as qw,ul as Vw,um as Ww,un as Uw,uo as Qw,up as Jw,uq as Kw,ur as Yw,us as Xw,ut as Zw,uu as ek,uv as tk,uw as sk,ux as ok,uy as ak,uz as nk,uA as rk,uB as ik,uC as lk,uD as ck,uE as _k,uF as dk,uG as pk,uH as uk,uI as mk,uJ as xk,uK as gk,uL as bk,uM as vk,uN as hk,uO as fk,uP as yk,uQ as Sk,uR as jk,uS as Ck,uT as Pk,uU as wk,uV as kk,uW as Nk,uX as Tk,uY as Rk,uZ as Dk,u_ as Ek,u$ as Mk,v0 as Bk,v1 as Ok,v2 as Ak,v3 as Fk,v4 as Ik,v5 as Lk,v6 as Hk,v7 as zk,v8 as Gk,v9 as $k,va as qk,vb as Vk,vc as Wk,vd as Uk,ve as Qk,vf as Jk,vg as Kk,vh as Yk,vi as Xk,vj as Zk,vk as e1,vl as t1,vm as s1,vn as o1,vo as a1,vp as n1,vq as r1,vr as i1,vs as l1,vt as c1,vu as _1,vv as d1,vw as p1,vx as u1,vy as m1,vz as x1,vA as g1,vB as b1,vC as v1,vD as h1,vE as f1,vF as y1,vG as S1,vH as j1,vI as C1,vJ as P1,vK as w1,vL as k1,vM as N1,vN as T1,vO as R1,vP as D1,vQ as E1,vR as M1,vS as B1,vT as O1,vU as A1,vV as F1,vW as I1,vX as L1,vY as H1,vZ as z1,v_ as G1,v$ as $1,w0 as q1,w1 as V1,w2 as W1,w3 as U1,w4 as Q1,w5 as J1,w6 as K1,w7 as Y1,w8 as X1,w9 as Z1,wa as eN,wb as tN,wc as sN,wd as oN,we as aN,wf as nN,wg as rN,wh as iN,wi as lN,wj as cN,wk as _N,wl as dN,wm as pN,wn as uN,wo as mN,wp as xN,wq as gN,wr as bN,ws as vN,wt as hN,wu as fN,wv as yN,ww as SN,wx as jN,wy as CN,wz as PN,wA as wN,wB as kN,wC as NN,wD as TN,wE as RN,wF as DN,wG as EN,wH as MN,wI as BN,wJ as ON,wK as AN,wL as FN,wM as IN,wN as LN,wO as HN,wP as zN,wQ as GN,wR as $N,wS as qN,wT as VN,wU as WN,wV as UN,wW as QN,wX as JN,wY as KN,wZ as YN,w_ as XN,w$ as ZN,x0 as eT,x1 as tT,x2 as sT,x3 as oT,x4 as aT,x5 as nT,x6 as rT,x7 as iT,x8 as lT,x9 as cT,xa as _T,xb as dT,xc as pT,xd as uT,xe as mT,xf as xT,xg as gT,xh as bT,xi as vT,xj as hT,xk as fT,xl as yT,xm as ST,xn as jT,xo as CT,xp as PT,xq as wT,xr as kT,xs as NT,xt as TT,xu as RT,xv as DT,xw as ET,xx as MT,xy as BT,xz as OT,xA as AT,xB as FT,xC as IT,xD as LT,xE as HT,xF as zT,xG as GT,xH as $T,xI as qT,xJ as VT,xK as WT,xL as UT,xM as QT,xN as JT,xO as KT,xP as YT,xQ as XT,xR as ZT,xS as eR,xT as tR,xU as sR,xV as oR,xW as aR,xX as nR,xY as rR,xZ as iR,x_ as lR,x$ as cR,y0 as _R,y1 as dR,y2 as pR,y3 as uR,y4 as mR,y5 as xR,y6 as gR,y7 as bR,y8 as vR,y9 as hR,ya as fR,yb as yR,yc as SR,yd as jR,ye as CR,yf as PR,yg as wR,yh as kR,yi as NR,yj as TR,yk as RR,yl as DR,ym as ER,yn as MR,yo as BR,yp as OR,yq as AR,yr as FR,ys as IR,yt as LR,yu as HR,yv as zR,yw as GR,yx as $R,yy as qR,yz as VR,yA as WR,yB as UR,yC as QR,yD as JR,yE as KR,yF as YR,yG as XR,yH as ZR,yI as eD,yJ as tD,yK as sD,yL as oD,yM as aD,yN as nD,yO as rD,yP as iD,yQ as lD,yR as cD,yS as _D,yT as dD,yU as pD,yV as uD,yW as mD,yX as xD,yY as gD,yZ as bD,y_ as vD,y$ as hD,z0 as fD,z1 as yD,z2 as SD,z3 as jD,z4 as CD,z5 as PD,z6 as wD,z7 as kD,z8 as ND,z9 as TD,za as oe}from"./EditorShell-DjI5cEF_.js";import{u as RD,A as X,S as ss,M as os,f as DD,a as as,F as ns,b as rs,c as ED,r as ve,p as dt,e as J,d as is,g as ls,h as cs,i as MD,j as BD,k as OD,C as AD,l as FD,m as ID,n as LD,R as HD,o as zD,q as GD,s as $D,E as qD,t as VD,v as WD,w as UD,x as QD,y as JD,T as KD,z as YD,B as XD,D as ZD,G as e2,H as t2,I as s2,J as o2,K as a2,L as n2,N as r2,O as i2,P as l2,Q as c2,U as _2,V as d2,W as p2,X as u2,Y as m2,Z as x2,_ as g2,$ as b2,a0 as v2,a1 as h2,a2 as f2,a3 as y2,a4 as S2,a5 as j2,a6 as C2,a7 as P2,a8 as w2,a9 as k2,aa as N2,ab as T2,ac as R2,ad as D2,ae as E2,af as M2,ag as B2,ah as O2,ai as A2,aj as F2,ak as I2,al as L2,am as H2,an as z2,ao as G2,ap as $2,aq as q2,ar as V2,as as W2,at as U2,au as Q2,av as J2,aw as K2,ax as Y2,ay as X2,az as Z2,aA as eE,aB as tE,aC as sE,aD as oE,aE,aF as nE,aG as rE,aH as iE,aI as lE,aJ as cE,aK as _E,aL as dE,aM as pE,aN as uE,aO as mE,aP as xE,aQ as gE,aR as bE,aS as vE,aT as hE,aU as fE,aV as yE,aW as SE,aX as jE,aY as CE,aZ as PE,a_ as wE,a$ as kE,b0 as NE,b1 as TE,b2 as RE,b3 as DE,b4 as EE,b5 as ME,b6 as BE,b7 as OE,b8 as AE,b9 as FE,ba as IE,bb as LE,bc as HE,bd as zE,be as GE,bf as $E,bg as qE,bh as VE,bi as WE,bj as UE,bk as QE,bl as JE,bm as KE,bn as YE,bo as XE,bp as ZE,bq as eM,br as tM,bs as sM,bt as oM,bu as aM,bv as nM,bw as rM,bx as iM,by as lM,bz as cM,bA as _M,bB as dM}from"./ScenarioDataPanel-D-nWT7xD.js";import{p as pM,u as uM,D as mM,_ as xM}from"./index-ClrdYzlw.js";import{V as gM,S as bM,P as vM,a as hM,B as fM,b as yM,c as SM,d as jM,e as CM,_ as PM,f as wM,g as kM,h as NM}from"./StepsSimulator-CcD_CR_X.js";import{M as _s,_ as TM}from"./Markdown-BaLq9qkt.js";import{S as ds,B as H,M as O,a as Q,t as B,I as RM,D as DM,b as EM,c as MM,d as BM,e as OM,f as AM,g as FM,h as IM,i as LM,j as HM,k as zM,C as GM,l as $M,_ as qM,m as VM,n as WM,o as UM,p as QM,q as JM,r as KM,s as YM,u as XM,v as ZM,w as eB,x as tB,y as sB,z as oB}from"./ContainerInspector-Ceop11Fv.js";import{C as aB,_ as nB}from"./CyLogo-BIbFVvgW.js";import{P as rB,O as iB,a as lB,b as cB,C as _B,c as dB,d as pB,e as uB,f as mB,g as xB,h as gB,R as bB,T as vB,i as hB,j as fB,k as yB,l as SB,m as jB,n as CB,_ as PB,o as wB,p as kB,q as NB,r as TB,s as RB,t as DB,u as EB,v as MB,w as BB,x as OB,y as AB,z as FB}from"./ProjectLauncherScreen-DP25uSQm.js";import{S as IB,_ as LB}from"./ScenarioDataPanelFullPage-ZNFZcTQU.js";import"./useEvents-DNb1olaj.js";import"./xterm--24IGk-x.js";const HB=Object.freeze(Object.defineProperty({__proto__:null,get ScenarioRenderer(){return mo}},Symbol.toStringTag,{value:"Module"}));function ps({allCollapsed:t=!1}){const[s,o]=d.useState(t);return e.jsx(Pt,{onOpenGallery:()=>{},allCollapsed:s,onToggleAll:()=>o(a=>!a)})}const zB=Object.freeze(Object.defineProperty({__proto__:null,RouteViewControlsShowcase:ps},Symbol.toStringTag,{value:"Module"})),pt="var(--status-error, #e5484d)";function us(t){return t.status==="saving"?"Saving…":t.status==="saved"?"Saved":t.error??"Not saved"}function he({file:t,onRemove:s}){const o=t.status==="failed";return e.jsxs("span",{title:t.error??void 0,style:{display:"inline-flex",alignItems:"center",gap:8,background:"#2b2b2b",border:`1px solid ${o?pt:"rgba(255,255,255,.09)"}`,borderRadius:8,padding:"6px 8px 6px 12px",fontSize:12.5,color:"var(--text-secondary)"},children:[t.relativePath,e.jsx("span",{style:{fontSize:11,color:o?pt:"var(--text-dim)"},children:us(t)}),e.jsx("button",{type:"button","aria-label":`Remove ${t.relativePath} from this list`,onClick:a=>{a.stopPropagation(),s()},style:{background:"none",border:"none",padding:0,color:"var(--text-dim)",cursor:"pointer",fontSize:13},children:"×"})]})}const GB=Object.freeze(Object.defineProperty({__proto__:null,OnboardingAssetChip:he,statusLabel:us},Symbol.toStringTag,{value:"Module"}));function ms({previewOrigin:t="https://vm-2.preview.fleet.codeyam.com"}){return e.jsx("div",{style:{position:"relative",width:"100%",height:420,background:"#1e1e1e"},children:e.jsx(Ro,{previewOrigin:t,onRecheck:()=>{}})})}const $B=Object.freeze(Object.defineProperty({__proto__:null,PreviewSignInNoticeShowcase:ms},Symbol.toStringTag,{value:"Module"}));function fe({files:t}){if(t.length===0)return null;const{added:s,modified:o,deleted:a}=Do(t);return e.jsxs("span",{className:"text-xs text-[var(--text-muted)]",children:[s>0&&e.jsxs("span",{className:"text-[var(--accent-green)]",children:["+",s," "]}),o>0&&e.jsxs("span",{className:"text-[var(--accent-orange)]",children:["~",o," "]}),a>0&&e.jsxs("span",{className:"text-[var(--accent-red)]",children:["-",a," "]}),"file",t.length!==1?"s":""]})}const qB=Object.freeze(Object.defineProperty({__proto__:null,FileChangeSummary:fe},Symbol.toStringTag,{value:"Module"}));function ye({entry:t}){return e.jsxs("div",{className:"mt-3 pt-3",style:{borderTop:"1px solid var(--border-default)"},children:[t.userRequest&&e.jsx(N,{label:"Request",children:e.jsx(wt,{children:t.userRequest})}),e.jsx(N,{label:"Description",children:e.jsx(_s,{variant:"compact",children:t.description})}),t.scenarioScreenshots.length>0&&e.jsx(N,{label:"Scenarios",children:e.jsx(kt,{screenshots:t.scenarioScreenshots})}),t.modifiedFiles.length>0&&e.jsx(N,{label:"Modified Files",children:e.jsx(Nt,{files:t.modifiedFiles})}),t.commitSha&&e.jsxs("p",{className:"text-xs",style:{color:"var(--text-dim)"},children:["Commit: ",e.jsx("span",{className:"font-mono",children:t.commitSha.slice(0,7)}),t.commitMessage&&` — ${t.commitMessage}`]})]})}const VB=Object.freeze(Object.defineProperty({__proto__:null,JournalEntryDetails:ye},Symbol.toStringTag,{value:"Module"}));function Se({entry:t}){const[s,o]=d.useState(!1);return e.jsxs("div",{className:"rounded-lg border p-4",style:{borderColor:"var(--border-default)",background:"var(--bg-surface)"},children:[e.jsxs("button",{onClick:()=>o(!s),className:"flex w-full items-start gap-3 text-left",children:[e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(je,{type:t.type}),e.jsx("h3",{className:"text-sm font-medium",style:{color:"var(--text-secondary)"},children:t.title})]}),e.jsxs("div",{className:"mt-1 flex items-center gap-3",children:[e.jsx("span",{className:"text-xs",style:{color:"var(--text-dim)"},children:Eo(t.timestamp)}),t.testResults&&e.jsx(Tt,{total:t.testResults.total,passed:t.testResults.passed,failed:t.testResults.failed}),e.jsx(fe,{files:t.modifiedFiles})]})]}),e.jsx("span",{className:"text-xs mt-1",style:{color:"var(--text-dim)"},children:s?"▼":"▶"})]}),s&&e.jsx(ye,{entry:t})]})}function je({type:t}){return e.jsx("span",{className:`text-xs font-medium ${Mo(t)}`,children:t})}const WB=Object.freeze(Object.defineProperty({__proto__:null,EntryTypeBadge:je,JournalEntryCard:Se},Symbol.toStringTag,{value:"Module"}));function xs({entries:t,total:s,hasMore:o,loading:a,loadingMore:n,error:r,onLoadMore:i}){if(a)return e.jsx("div",{className:"py-12 text-center text-[var(--text-muted)]",children:"Loading journal..."});if(r)return e.jsx("div",{className:"py-12",children:e.jsx(k,{text:`Failed to load journal: ${r}`,className:"text-sm text-[var(--accent-red)]",rowClassName:"justify-center"})});if(t.length===0)return e.jsxs("div",{className:"py-12 text-center text-[var(--text-dim)]",children:[e.jsx("p",{children:"No journal entries yet."}),e.jsx("p",{className:"mt-2 text-sm text-[var(--text-dim)]",children:"Journal entries capture what was requested, what changed, and the state of tests and scenarios."})]});const l=Math.max(s,t.length);return e.jsxs("div",{className:"overflow-y-auto px-6 py-4",style:{maxHeight:"calc(100vh - 110px)"},children:[e.jsxs("p",{className:"mb-4 text-sm text-[var(--text-muted)]",children:[t.length," of ",l," journal entr",l===1?"y":"ies"]}),e.jsx("div",{className:"flex flex-col gap-3",children:t.map(_=>e.jsx(Se,{entry:_},_.timestamp))}),o?e.jsx("div",{className:"mt-4 flex justify-center",children:e.jsx("button",{type:"button",onClick:i,disabled:n,className:"rounded border border-[var(--border)] px-3 py-1 text-sm text-[var(--text-muted)] hover:bg-[var(--bg-subtle)] disabled:opacity-50",children:n?"Loading...":"Load older entries"})}):null]})}const UB=Object.freeze(Object.defineProperty({__proto__:null,JournalView:xs},Symbol.toStringTag,{value:"Module"})),Ce=[{key:"api-key",term:"API key",aka:["secret key","access token"],category:"Security",body:`**What is it?** A long secret your app uses to identify itself to another service.
|
|
2
|
+
|
|
3
|
+
**Why?** Any time your app talks to a paid or protected outside service.
|
|
4
|
+
|
|
5
|
+
**The catch?** Anyone who has it can act as you — keep it out of public code.`},{key:"database",term:"Database",aka:["db","data store"],category:"Infrastructure",body:`**What is it?** Where your app keeps information that has to stick around.
|
|
6
|
+
|
|
7
|
+
**Why?** As soon as your app must remember anything between visits.
|
|
8
|
+
|
|
9
|
+
**The catch?** The data is precious — you'll want backups.`},{key:"domain",term:"Domain",aka:["domain name","custom domain"],category:"Infrastructure",body:`**What is it?** The human-friendly name people type to find your app, like \`myapp.com\`.
|
|
10
|
+
|
|
11
|
+
**Why?** For a memorable, professional address. You can skip it at first.
|
|
12
|
+
|
|
13
|
+
**The catch?** Rented yearly, usually $10–$20 — you don't own it forever.`},{key:"hosting",term:"Hosting",aka:["web hosting","host"],category:"Infrastructure",body:`**What is it?** Renting a computer that stays on all the time so others can reach your app.
|
|
14
|
+
|
|
15
|
+
**Why?** The moment anyone other than you needs to use it.
|
|
16
|
+
|
|
17
|
+
**The catch?** Often free or a few dollars; costs grow with traffic.`},{key:"ssl-https",term:"SSL / HTTPS",aka:["HTTPS","the padlock","SSL certificate"],category:"Security",body:`**What is it?** The padlock by a web address — it encrypts the connection.
|
|
18
|
+
|
|
19
|
+
**Why?** Always, for anything on the public internet.
|
|
20
|
+
|
|
21
|
+
**The catch?** Almost none — most hosts set it up free and automatically.`}];function Pe(t){const s=new Map(t.map(o=>[o.key,o]));return{concepts:t,byKey:o=>s.get(o)}}function gs(){return e.jsx(ge.Provider,{value:Pe(Ce),children:e.jsx("div",{className:"learn-screen",style:{maxWidth:520,padding:24,fontSize:15,lineHeight:1.7},children:e.jsxs("p",{style:{color:"var(--text-secondary, #b6bdcc)"},children:["To put your app online you'll set up"," ",e.jsx(L,{k:"hosting",children:"hosting"})," and point a"," ",e.jsx(L,{k:"domain",children:"domain"})," at it. Your host turns on"," ",e.jsx(L,{k:"ssl-https",children:"HTTPS"})," automatically, and if your app saves anything you'll add a"," ",e.jsx(L,{k:"database",children:"database"})," and an"," ",e.jsx(L,{k:"api-key",children:"API key"})," or two. Tap any underlined word to learn what it means."]})})})}function bs(){return e.jsx(ge.Provider,{value:Pe(Ce),children:e.jsx(Bo,{onBack:()=>{}})})}const QB=[{key:"run-locally",name:"Run it locally",desc:"Start the app on your own machine.",icon:"terminal",status:"available"},{key:"hosting",name:"Hosting & going live",desc:"Put your app online with a link.",icon:"cloud",status:"next"},{key:"real-data",name:"Real data",desc:"Read and write real, saved information.",icon:"database",status:"available"},{key:"accounts",name:"Accounts & sign-in",desc:"Let people log in safely.",icon:"lock",status:"available"}];function vs(){return e.jsx(ge.Provider,{value:Pe(Ce),children:e.jsx(Rt,{topics:QB,onBack:()=>{},onOpenHosting:()=>{},onOpenTopic:()=>{},onOpenConcepts:()=>{}})})}const JB=Object.freeze(Object.defineProperty({__proto__:null,ConceptTermShowcase:gs,ConceptsGlossaryScreenShowcase:bs,LearnSetupConceptsNudgeShowcase:vs},Symbol.toStringTag,{value:"Module"}));function hs({apps:t,selected:s,onChange:o}){return t.length===0?null:e.jsxs("div",{className:"flex gap-1",children:[t.map(a=>e.jsx(re,{href:Oo(a.dir),onNavigate:()=>o(a.dir),className:`rounded-md px-3 py-1 text-sm ${s===a.dir?"bg-[var(--bg-input)] text-[var(--text-primary)]":"text-[var(--text-muted)] hover:text-[var(--text-secondary)]"}`,children:a.name},a.dir)),e.jsx(re,{href:pM("home"),onNavigate:()=>o(null),className:`rounded-md px-3 py-1 text-sm ${s===null?"bg-[var(--bg-input)] text-[var(--text-primary)]":"text-[var(--text-muted)] hover:text-[var(--text-secondary)]"}`,children:"All"})]})}const KB=Object.freeze(Object.defineProperty({__proto__:null,AppSelector:hs},Symbol.toStringTag,{value:"Module"}));function fs(){return e.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-slate-500 space-y-4 px-10 text-center",children:[e.jsx("div",{className:"text-lg font-medium text-slate-400",children:"Ready to build"}),e.jsx("p",{className:"max-w-md",children:"Your first session will start automatically. You can queue changes or wait for the project to initialize."})]})}const YB=Object.freeze(Object.defineProperty({__proto__:null,BuildTabReadyToBuildPlaceholder:fs},Symbol.toStringTag,{value:"Module"}));function Z(){return RD(()=>!0,!0),null}const XB=Object.freeze(Object.defineProperty({__proto__:null,ReadyAgentRegistrar:Z},Symbol.toStringTag,{value:"Module"}));function ys({silentMs:t,providerLabel:s}){const[o,a]=d.useState(!1);return o?null:e.jsxs(X,{children:[e.jsx(Z,{}),e.jsx(Dt,{silentMs:t,onDismiss:()=>a(!0),providerLabel:s})]})}const ZB=Object.freeze(Object.defineProperty({__proto__:null,StuckTurnBannerAgentReadyShowcase:ys},Symbol.toStringTag,{value:"Module"}));function Ss({step:t,label:s,providerLabel:o,reason:a}){const[n,r]=d.useState(!1);return n?e.jsx("div",{className:"bg-black px-4 py-3 text-xs text-[#666]",children:"Banner dismissed — the terminal is unobstructed. The backend re-arms its one-shot latch on the next output or keystroke, so a later off-gate stop raises it again."}):e.jsxs(X,{children:[e.jsx(Z,{}),e.jsx(Et,{step:t,label:s,onDismiss:()=>r(!0),providerLabel:o,reason:a})]})}const e5=Object.freeze(Object.defineProperty({__proto__:null,TurnEndedOffGateBannerAgentReadyShowcase:Ss},Symbol.toStringTag,{value:"Module"}));function js({settings:t,providerLabel:s}){const[o,a]=d.useState(t);return e.jsx(be,{settings:o,onChange:a,providerLabel:s})}const t5=Object.freeze(Object.defineProperty({__proto__:null,NotificationSettingsControlsShowcase:js},Symbol.toStringTag,{value:"Module"})),s5={http_request:"#3fb950",db_query:"#D7FF63",process_output:"#6e7681",health_check:"#d29922",hook_execution:"#bc8cff",error:"#f85149",scenario_switch:"#d29922"};function o5(t){const s=s5[t.type]??"#6e7681";switch(t.type){case"http_request":{const o=t.status??"";return{label:"HTTP",detail:`${t.method} ${t.url} ${o} ${t.durationMs}ms`,badge:t.mocked?"MOCKED":"LIVE",color:s}}case"db_query":return{label:"DB",detail:`${t.query} (${t.durationMs}ms)`,badge:t.mocked?"MOCKED":"LIVE",color:s};case"process_output":return{label:"Process",detail:`[${t.stream}] ${t.line}`,color:s};case"health_check":return{label:"Health",detail:t.healthy?"healthy":"unhealthy",color:s};case"hook_execution":return{label:"Hook",detail:`${t.hook} exit=${t.exitCode} ${t.durationMs}ms`,color:s};case"error":return{label:"Error",detail:`${t.source}: ${t.message}`,color:s};case"scenario_switch":return{label:"Scenario",detail:`${t.from??"(none)"} → ${t.to}`,color:s}}}function we({event:t}){const{label:s,detail:o,badge:a,color:n}=o5(t);return e.jsxs("div",{className:"my-1 rounded-md bg-[var(--bg-surface)] px-3 py-2 font-mono text-sm",style:{borderLeft:`3px solid ${n}`},children:[e.jsx("span",{className:"mr-2 font-semibold",children:s}),e.jsx("span",{className:"text-[var(--text-secondary)]",children:o}),a&&e.jsx("span",{className:`ml-2 text-xs ${a==="MOCKED"?"text-[var(--accent-green)]":"text-[var(--text-muted)]"}`,children:a})]})}const a5=Object.freeze(Object.defineProperty({__proto__:null,EventCard:we},Symbol.toStringTag,{value:"Module"}));function Cs({events:t}){return t.length===0?e.jsx("div",{className:"py-12 text-center text-[var(--text-dim)]",children:"Waiting for events..."}):e.jsx("div",{className:"overflow-y-auto px-6 py-2",style:{maxHeight:"calc(100vh - 110px)"},children:t.map(s=>e.jsx(we,{event:s},s.id))})}const n5=Object.freeze(Object.defineProperty({__proto__:null,EventStream:Cs},Symbol.toStringTag,{value:"Module"}));function ke({passed:t,failed:s,total:o}){return s>0?e.jsxs("span",{className:"rounded bg-[var(--accent-red)]/20 px-2 py-0.5 text-xs text-[var(--accent-red)]",children:[s," failed"]}):t===o&&o>0?e.jsxs("span",{className:"rounded bg-[var(--accent-green)]/20 px-2 py-0.5 text-xs text-[var(--accent-green)]",children:[t," passed"]}):e.jsxs("span",{className:"text-xs text-[var(--text-dim)]",children:["(",o,")"]})}const r5=Object.freeze(Object.defineProperty({__proto__:null,StatusBadge:ke},Symbol.toStringTag,{value:"Module"}));function Ne({group:t}){const[s,o]=d.useState(!0),a=t.tests.filter(i=>i.status==="passed").length,n=t.tests.filter(i=>i.status==="failed").length,r=t.tests.length;return e.jsxs("div",{className:"mb-4",children:[e.jsxs("button",{onClick:()=>o(!s),className:"flex w-full items-center gap-2 text-left text-sm font-medium text-[var(--text-secondary)] hover:text-[var(--text-primary)]",children:[e.jsx("span",{className:"text-[var(--text-dim)]",children:s?"▼":"▶"}),e.jsx("span",{children:t.feature}),e.jsx(ke,{passed:a,failed:n,total:r})]}),s&&e.jsx("div",{className:"ml-5 mt-1 border-l border-[var(--border-default)] pl-3",children:t.tests.map((i,l)=>e.jsx(Mt,{test:i},l))})]})}const i5=Object.freeze(Object.defineProperty({__proto__:null,FeatureGroupView:Ne},Symbol.toStringTag,{value:"Module"}));function Ps({filters:t,active:s,onChange:o}){return e.jsx("div",{className:"flex gap-2 border-b px-6 py-3",style:{borderColor:"var(--border-default)"},children:t.map(a=>e.jsx("button",{onClick:()=>o(a),className:"rounded-md border px-3 py-1 text-sm",style:a===s?{borderColor:"var(--accent-active)",background:"var(--accent-active)",color:"var(--bg-nav)"}:{borderColor:"var(--border-default)",background:"var(--bg-surface)",color:"var(--text-secondary)"},children:a},a))})}const l5=Object.freeze(Object.defineProperty({__proto__:null,FilterBar:Ps},Symbol.toStringTag,{value:"Module"}));function Te({group:t,onPreviewScenario:s}){const[o,a]=d.useState(!0);return e.jsxs("div",{className:"mb-6",children:[e.jsxs("button",{onClick:()=>a(!o),className:"flex w-full items-center gap-2 text-left text-sm font-medium text-[var(--text-secondary)] hover:text-[var(--text-primary)]",children:[e.jsx("span",{className:"text-[var(--text-dim)]",children:o?"▼":"▶"}),e.jsx("span",{className:"font-mono",children:t.route}),e.jsxs("span",{className:"text-[var(--text-dim)]",children:["(",t.scenarios.length,")"]})]}),o&&e.jsx("div",{className:"mt-2 grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:t.scenarios.map(n=>e.jsx(Bt,{scenario:n,onPreview:s?()=>s(n.slug):void 0},n.slug))})]})}const c5=Object.freeze(Object.defineProperty({__proto__:null,RouteGroupView:Te},Symbol.toStringTag,{value:"Module"}));function I({title:t,subtitle:s,children:o}){return e.jsxs("div",{children:[e.jsx("h2",{style:{fontSize:"var(--text-xl, 22px)",fontWeight:700,color:"var(--text-primary)",marginBottom:"var(--spacing-xs, 4px)"},children:t}),e.jsx("p",{style:{fontSize:"var(--text-sm, 14px)",color:"var(--text-muted)",marginBottom:"var(--spacing-lg, 24px)"},children:s}),o]})}const _5=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireStepPanel:I},Symbol.toStringTag,{value:"Module"}));function ws({onAssetsSaved:t}){return e.jsx(I,{title:"Add your design files",subtitle:"Drop in anything: brand assets, mockups, references. Tell us briefly what each one shows.",children:e.jsx(Ot,{onAssetsSaved:t})})}const d5=Object.freeze(Object.defineProperty({__proto__:null,DesignAddAssetsStep:ws},Symbol.toStringTag,{value:"Module"}));function ee({label:t,description:s,selected:o,onClick:a,multi:n}){return e.jsxs("button",{onClick:a,style:{display:"flex",alignItems:"center",gap:"var(--spacing-md, 12px)",width:"100%",textAlign:"left",padding:"var(--spacing-sm, 8px) var(--spacing-md, 12px)",background:"var(--bg-input)",border:o?"1.5px solid var(--accent-active)":"1px solid var(--border-default)",borderRadius:8,cursor:"pointer",transition:"border-color 0.15s"},children:[e.jsx(Re,{selected:o,multi:n}),e.jsxs("div",{children:[e.jsx("span",{style:{fontSize:"var(--text-sm, 14px)",fontWeight:500,color:"var(--text-primary)"},children:t}),s&&e.jsx("span",{style:{display:"block",fontSize:"var(--text-xs, 12px)",color:"var(--text-muted)",marginTop:2},children:s})]})]})}function Re({selected:t,multi:s}){return e.jsx("span",{style:{width:16,height:16,borderRadius:s?3:"50%",border:t?"none":"1.5px solid var(--text-dim)",background:t?"var(--accent-active)":"transparent",flexShrink:0,display:"flex",alignItems:"center",justifyContent:"center"},children:t&&e.jsx("span",{style:{color:"#000",fontSize:11,fontWeight:700,lineHeight:1},children:"✓"})})}const p5=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireOptionCard:ee,QuestionnaireOptionIndicator:Re},Symbol.toStringTag,{value:"Module"})),u5=[{id:"files",label:"I have design files and/or a design system",description:"Add screenshots, mockups, brand guides — anything that defines the look you want."},{id:"chat",label:"I need help on this, can we chat about it?",description:"After setup we'll generate mockups against curated moodboards and you pick a direction."},{id:"skip",label:"I'm not too worried about design, can we start building?",description:"Skip design for now. You can revisit it any time."}];function ks({selected:t,onSelect:s}){return e.jsx(I,{title:"How should we approach design?",subtitle:"Pick whichever feels right — you can always change direction later.",children:e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--spacing-sm, 8px)"},children:u5.map(o=>e.jsx(ee,{label:o.label,description:o.description,selected:t===o.id,onClick:()=>s(o.id)},o.id))})})}const m5=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireDesignApproachStep:ks},Symbol.toStringTag,{value:"Module"})),x5={position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap",border:0},g5={padding:0,border:"none",background:"none",font:"inherit",color:"var(--accent-active)",textDecoration:"underline",cursor:"pointer"};function De({open:t,files:s,onAddFiles:o,onRemoveFile:a}){const n=d.useRef(null),[r,i]=d.useState(!1),{fromDrop:l,fromFileInput:_,fromFolderInput:u,error:x}=Ao(),p=d.useCallback(g=>{g.length>0&&o(g)},[o]),c=d.useCallback(async g=>p(await l(g)),[p,l]),v=d.useCallback(g=>(c(g),!0),[c]);uM(v,"design assets",t);const b=r;return e.jsxs("div",{style:{maxHeight:t?320:0,opacity:t?1:0,overflow:t?"visible":"hidden",transition:"max-height .38s cubic-bezier(.2,.8,.2,1), opacity .28s"},children:[e.jsxs("div",{role:"button",tabIndex:t?0:-1,onClick:()=>{var g;return(g=n.current)==null?void 0:g.click()},onKeyDown:g=>{var S;(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),(S=n.current)==null||S.click())},onDragOver:g=>{g.preventDefault(),i(!0)},onDragLeave:()=>i(!1),onDrop:g=>{g.preventDefault(),i(!1),c(g.dataTransfer)},style:{marginTop:9,border:`1px dashed ${b?"var(--accent-active)":"rgba(255,255,255,.16)"}`,borderRadius:14,padding:26,textAlign:"center",fontSize:14,color:b?"var(--text-primary)":"var(--text-muted)",background:b?"rgba(199,240,74,.05)":"transparent",cursor:"pointer",transition:".16s"},children:[e.jsx("span",{style:{fontWeight:600,color:"var(--text-primary)"},children:"Drop files or folders here"})," ","or"," ",e.jsx("span",{onClick:g=>g.stopPropagation(),onKeyDown:g=>g.stopPropagation(),children:e.jsx(At,{onPickFiles:g=>p(_(g)),onPickFolder:g=>p(u(g)),disabled:!t,style:g5,children:"browse"})}),e.jsx("div",{style:{fontSize:12,color:"var(--text-dim)",marginTop:7},children:"PNG, JPG, SVG, PDF, Figma links"})]}),e.jsx("input",{ref:n,type:"file",multiple:!0,"aria-label":"Add design files",onChange:g=>{p(_(g.target.files)),g.target.value=""},style:x5}),e.jsx(Ft,{message:x,style:{marginTop:9}}),s.length>0&&e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:7,marginTop:9},children:s.map((g,S)=>e.jsx(he,{file:g,onRemove:()=>a(S)},g.id))})]})}const b5=Object.freeze(Object.defineProperty({__proto__:null,OnboardingDropzone:De},Symbol.toStringTag,{value:"Module"})),ae=[{id:"files",badge:"1",label:"Yes, I have some"},{id:"chat",badge:"2",label:"I'd like help with design"},{id:"skip",badge:"3",label:"I don't care, let's start building"}],v5=260;function Ns({selected:t,files:s,onSelect:o,onAddFiles:a,onRemoveFile:n,onOpenChat:r}){return Fo(ae.length,i=>{o(ae[i-1].id)}),e.jsxs("div",{children:[e.jsx("h1",{style:{fontSize:34,fontWeight:600,letterSpacing:"-.02em",color:"var(--text-primary)",marginBottom:10},children:"Do you have any design assets?"}),e.jsxs("p",{style:{fontSize:14.5,color:"var(--text-muted)",marginBottom:34},children:["Logos, screenshots, brand guides."," ",e.jsx("a",{href:"https://docs.codeyam.com/design-assets",target:"_blank",rel:"noreferrer",style:{color:"var(--accent-active)"},children:"Learn about design assets"})]}),e.jsxs("div",{style:{maxWidth:720,margin:"0 auto",display:"flex",flexDirection:"column",gap:9,textAlign:"left"},children:[ae.map(i=>e.jsx(ie,{badge:i.badge,label:i.label,selected:t===i.id,onClick:()=>o(i.id),children:i.id==="files"&&e.jsx(De,{open:t==="files",files:s,onAddFiles:a,onRemoveFile:n})},i.id)),e.jsx(ie,{badge:"↩",label:"Chat about this instead",selected:!1,dashed:!0,onClick:r})]})]})}const h5=Object.freeze(Object.defineProperty({__proto__:null,ASSETS_AUTO_ADVANCE_MS:v5,OnboardingDesignAssetsStep:Ns},Symbol.toStringTag,{value:"Module"}));function Ts({providerLabel:t}){const[s,o]=d.useState(()=>Io());d.useEffect(()=>{Lo()},[]);const a=r=>{o(r),Ho(r)},n=()=>{a({...s,systemNotification:!0}),typeof Notification<"u"&&Notification.permission==="default"&&Notification.requestPermission()};return e.jsx(I,{title:`Want to be notified when ${t} finishes?`,subtitle:"Building can take a while. Turn on a sound or a system notification and we'll ping you when the agent stops or pauses — so you can step away while it works.",children:e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"var(--spacing-md, 12px)"},children:[e.jsx("button",{onClick:n,className:"text-left px-3 py-2 rounded cursor-pointer transition-colors",style:{background:s.systemNotification?"var(--bg-input)":"var(--accent-green, #16a34a)",color:s.systemNotification?"var(--text-primary)":"#fff",fontSize:"var(--text-sm, 14px)",fontWeight:600,border:"1px solid var(--border-default)"},children:s.systemNotification?"System notifications enabled":"Enable notifications"}),e.jsx("div",{className:"flex flex-col gap-3 rounded p-3",style:{background:"var(--bg-surface)",border:"1px solid var(--border-default)"},children:e.jsx(be,{settings:s,onChange:a,providerLabel:t})}),e.jsx("p",{style:{fontSize:"var(--text-xs, 12px)",color:"var(--text-dim)"},children:'This is optional — you can skip it and change it any time from the "Notifications" control in the footer.'})]})})}const f5=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireNotificationsStep:Ts},Symbol.toStringTag,{value:"Module"}));function Rs({providerLabel:t,preparing:s,failed:o=!1,onLaunch:a,variant:n="chat"}){const r=s||o,i=n==="files"?e.jsxs(e.Fragment,{children:["Click the button below to start a design session with ",t,"."," ",t," will turn the assets you added above into HTML mockups you can compare and iterate on."]}):e.jsxs(e.Fragment,{children:["Click the button below to launch a chat window with ",t," so that ",t," can generate some design options for you to consider and iterate on."]}),l=n==="files"?e.jsxs(e.Fragment,{children:[t," reads the design assets you added in the"," ",e.jsx("strong",{children:"Add your design files"})," step above — keep adding more any time and ",t," will fold them in."]}):e.jsxs(e.Fragment,{children:[t," will ask whether you have any design assets — logos, screenshots, brand guides, or inspiration. You can add them any time from the ",e.jsx("strong",{children:"Add assets"})," panel on the right (drag-and-drop or browse)."]}),_=n==="files"?"Start a design session":`Launch ${t} Design Chat`;return e.jsxs("div",{children:[e.jsx("p",{style:{margin:"0 0 var(--spacing-md, 12px)",fontSize:"var(--text-md, 15px)",lineHeight:1.5,color:"var(--text-primary)"},children:i}),e.jsx("p",{style:{margin:"0 0 var(--spacing-lg, 16px)",fontSize:"var(--text-sm, 14px)",lineHeight:1.5,color:"var(--text-secondary)"},children:l}),e.jsx("button",{onClick:a,disabled:r,style:{background:r?"var(--bg-surface)":"var(--accent-active)",border:"none",color:r?"var(--text-dim)":"#000",padding:"var(--spacing-sm, 8px) var(--spacing-lg, 16px)",borderRadius:6,cursor:r?"not-allowed":"pointer",fontSize:"var(--text-sm, 14px)",fontWeight:600},children:o?"Design setup didn't finish":s?"Preparing design moodboards…":_})]})}const y5=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireDesignChatLaunchPanel:Rs},Symbol.toStringTag,{value:"Module"})),Ds=[239,68,68],_e=[251,191,36],Es=[215,255,99];function S5(t){const s=Math.max(1,Math.min(100,t));let o,a,n;s<=50?(o=Ds,a=_e,n=(s-1)/49):(o=_e,a=Es,n=(s-50)/50);const r=Math.round(o[0]+(a[0]-o[0])*n),i=Math.round(o[1]+(a[1]-o[1])*n),l=Math.round(o[2]+(a[2]-o[2])*n);return`rgb(${r}, ${i}, ${l})`}`${Ds.join(", ")}${_e.join(", ")}${Es.join(", ")}`;function Ee(){return e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[e.jsx("path",{d:"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3z"}),e.jsx("path",{d:"M17 2h2.5a2.5 2.5 0 0 1 2.5 2.5v6A2.5 2.5 0 0 1 19.5 13H17"})]})}function Me(){return e.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[e.jsx("path",{d:"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3z"}),e.jsx("path",{d:"M7 22H4.5a2.5 2.5 0 0 1-2.5-2.5v-6A2.5 2.5 0 0 1 4.5 11H7"})]})}const j5=Object.freeze(Object.defineProperty({__proto__:null,ThumbDownIcon:Ee,ThumbUpIcon:Me},Symbol.toStringTag,{value:"Module"}));function Ms({rating:t,onRatingChange:s}){const o=t!=null,a=o&&t<=33,n=o&&t>=67;return e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--spacing-sm, 10px)"},children:[e.jsx("span",{"aria-hidden":"true",style:{color:a?"var(--text-primary)":"var(--text-muted)",display:"inline-flex",alignItems:"center"},children:e.jsx(Ee,{})}),e.jsx("input",{type:"range",min:1,max:100,step:1,value:t??50,onPointerDown:()=>{o||s(50)},onChange:r=>s(Number(r.target.value)),"aria-label":"Rate this mockup from 1 to 100",className:"mockup-feedback-slider","data-rated":o?"true":"false",style:{flex:1,"--mockup-feedback-progress":`${t??0}%`,"--mockup-feedback-color":o?S5(t):"var(--accent-active, #D7FF63)"}}),e.jsx("span",{"aria-hidden":"true",style:{color:n?"var(--text-primary)":"var(--text-muted)",display:"inline-flex",alignItems:"center"},children:e.jsx(Me,{})})]})}const C5=Object.freeze(Object.defineProperty({__proto__:null,MockupFeedbackRatingSlider:Ms},Symbol.toStringTag,{value:"Module"}));function Bs({step:t,canAdvance:s,isFinalStep:o,isAdvancing:a,onBack:n,onNext:r,onFinish:i}){return e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--spacing-md, 12px)",marginTop:"var(--spacing-lg, 24px)"},children:[t>1&&e.jsx("button",{onClick:n,style:{background:"none",border:"1px solid var(--border-default)",color:"var(--text-secondary)",padding:"var(--spacing-sm, 8px) var(--spacing-lg, 16px)",borderRadius:6,cursor:"pointer",fontSize:"var(--text-sm, 14px)"},children:"← Back"}),o?e.jsx("button",{onClick:i,disabled:!s,style:{background:s?"var(--accent-active)":"var(--bg-surface)",border:"none",color:s?"#000":"var(--text-dim)",padding:"var(--spacing-sm, 8px) var(--spacing-lg, 16px)",borderRadius:6,cursor:s?"pointer":"not-allowed",fontSize:"var(--text-sm, 14px)",fontWeight:600},children:"FINISH →"}):e.jsx("button",{onClick:r,disabled:!s||a,style:{background:s?"var(--accent-active)":"var(--bg-surface)",border:"none",color:s?"#000":"var(--text-dim)",padding:"var(--spacing-sm, 8px) var(--spacing-lg, 16px)",borderRadius:6,cursor:s&&!a?"pointer":"not-allowed",fontSize:"var(--text-sm, 14px)",fontWeight:600,opacity:a?.7:1},children:a?"…":"NEXT →"})]})}const P5=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireNavButtons:Bs},Symbol.toStringTag,{value:"Module"})),ut=[{id:"Desktop",label:"Desktop",description:"Standard desktop browser viewport"},{id:"Tablet",label:"Tablet",description:"Tablet-sized portrait viewport"},{id:"Mobile",label:"Mobile",description:"Phone-sized portrait viewport"}];function Os({selected:t,onSelect:s,variant:o="panel"}){return o==="inline"?e.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"var(--spacing-sm, 10px)",marginTop:"var(--spacing-xl, 28px)"},children:[e.jsx("span",{style:{fontSize:"var(--text-xs, 13px)",color:"var(--text-dim)"},children:"Where will it primarily be viewed?"}),e.jsx("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"center",gap:"var(--spacing-sm, 8px)"},children:ut.map(a=>e.jsx("button",{type:"button",onClick:()=>s(a.id),"aria-pressed":t===a.id,style:{padding:"var(--spacing-sm, 8px) var(--spacing-md, 14px)",background:"var(--bg-input)",border:t===a.id?"1px solid var(--text-primary)":"1px solid transparent",borderRadius:999,cursor:"pointer",fontSize:"var(--text-xs, 12px)",color:t===a.id?"var(--text-primary)":"var(--text-muted)",transition:"border-color 0.15s, color 0.15s"},children:a.label},a.id))})]}):e.jsx("div",{style:{marginTop:"var(--spacing-xl, 32px)"},children:e.jsx(I,{title:"Where will this web app primarily be viewed?",subtitle:"This sets the default viewport for every scenario captured in your project.",children:e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--spacing-sm, 8px)"},children:ut.map(a=>e.jsx(ee,{label:a.label,description:a.description,selected:t===a.id,onClick:()=>s(a.id)},a.id))})})})}const w5=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireDeviceSelector:Os},Symbol.toStringTag,{value:"Module"}));function As({currentStep:t,stepLabels:s,onStepClick:o}){return e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"var(--spacing-xs, 4px)",paddingTop:"var(--spacing-lg, 24px)"},children:s.map((a,n)=>{const r=n+1,i=r===t,l=r<t;return e.jsx("button",{onClick:()=>{l&&o(r)},style:{background:"none",border:"none",cursor:l?"pointer":"default",padding:"var(--spacing-xs, 4px) 0",fontSize:"var(--text-sm, 14px)",color:i?"var(--text-primary)":l?"var(--text-secondary)":"var(--text-dim)",fontWeight:i?500:400,textAlign:"left",transition:"color 0.15s"},children:a},r)})})}const k5=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireStepNav:As},Symbol.toStringTag,{value:"Module"}));function Be({fileName:t,dirPath:s}){return e.jsxs("div",{className:"flex items-center gap-3 rounded-md px-3 py-2 text-left bg-[var(--bg-card)] border border-[var(--border-subtle)] hover:border-[var(--border-default)] transition",children:[e.jsx("span",{className:"text-xs text-[var(--text-secondary)]",children:t}),e.jsxs("span",{className:"font-mono text-[10px] text-[var(--text-dim)]",children:[s,"/"]})]})}const N5=Object.freeze(Object.defineProperty({__proto__:null,RouteImportRow:Be},Symbol.toStringTag,{value:"Module"}));function Fs({slug:t,name:s,url:o,componentName:a,props:n,mocks:r,seed:i,localStorage:l,dimensions:_}){const[u,x]=d.useState(!1),p=Object.keys((r==null?void 0:r.http)??{}).length,c=Object.keys((r==null?void 0:r.db)??{}).length,v=Object.keys(l??{});return e.jsxs("div",{className:"space-y-3 text-sm",children:[e.jsx("h3",{className:"font-medium text-[var(--text-secondary)]",children:s}),o&&e.jsx(N,{label:"URL",children:e.jsx("span",{className:"font-mono text-xs text-[var(--text-muted)]",children:o})}),a&&e.jsx(N,{label:"Component",children:e.jsx("span",{className:"font-mono text-xs text-[var(--accent-blue)]",children:a})}),n&&e.jsx(N,{label:"Props",children:e.jsx("pre",{className:"max-h-32 overflow-auto rounded bg-[var(--bg-input)] p-2 font-mono text-xs text-[var(--text-muted)]",children:JSON.stringify(n,null,2)})}),p>0&&e.jsxs(N,{label:"Mocks",children:[t?e.jsxs("button",{type:"button",onClick:()=>x(!0),className:"text-xs text-[var(--accent-blue)] hover:underline bg-transparent border-none cursor-pointer p-0",children:[p," HTTP mock",p!==1?"s":""," →"]}):e.jsxs("span",{className:"text-xs text-[var(--text-muted)]",children:[p," HTTP mock",p!==1?"s":""]}),c>0&&e.jsxs("span",{className:"ml-2 text-xs text-[var(--text-muted)]",children:[c," DB mock",c!==1?"s":""]})]}),i&&e.jsx(N,{label:"Seed",children:i.command&&e.jsx("span",{className:"font-mono text-xs text-[var(--text-muted)]",children:i.command})}),v.length>0&&e.jsx(N,{label:"localStorage",children:v.map(b=>e.jsxs("p",{className:"font-mono text-xs text-[var(--text-muted)]",children:[b,": ",l[b]]},b))}),_.length>0&&e.jsx(N,{label:"Dimensions",children:e.jsx("div",{className:"flex gap-1",children:_.map(b=>e.jsx("span",{className:"rounded bg-[var(--bg-input)] px-1.5 py-0.5 text-xs text-[var(--text-muted)]",children:b},b))})}),u&&t&&e.jsx(ss,{slug:t,scenarioName:s,initialSection:"mocks",onClose:()=>x(!1)})]})}const T5=Object.freeze(Object.defineProperty({__proto__:null,ScenarioDetailPanel:Fs},Symbol.toStringTag,{value:"Module"}));function Oe({value:t,onChange:s=()=>{},parseError:o,onParseError:a=()=>{}}){return d.useEffect(()=>{if(t.trim()===""){a(null);return}try{JSON.parse(t),a(null)}catch(n){a(n instanceof Error?n.message:"Invalid JSON")}},[t,a]),e.jsxs("div",{className:"space-y-1",children:[e.jsx("label",{className:"text-xs text-[var(--text-muted)]",children:"Body (JSON)"}),e.jsx("textarea",{value:t,onChange:n=>s(n.target.value),rows:8,spellCheck:!1,className:`w-full rounded border bg-[var(--bg-surface)] px-2 py-1 text-xs font-mono resize-y ${o?"border-red-500":"border-[var(--border-default)]"}`}),o&&e.jsx(k,{text:o,className:"text-xs text-red-400 font-mono"})]})}const R5=Object.freeze(Object.defineProperty({__proto__:null,MockBodyJsonTextarea:Oe},Symbol.toStringTag,{value:"Module"}));function Ae({initialStatus:t,initialBody:s,initialHeaders:o,onSave:a,onCancel:n}){const r=d.useMemo(()=>{if(s==null)return"";try{return JSON.stringify(s,null,2)}catch{return""}},[s]),[i,l]=d.useState(t),[_,u]=d.useState(r),[x,p]=d.useState(null),[c,v]=d.useState(()=>Object.entries(o).map(([h,y])=>({name:h,value:y}))),[b,g]=d.useState(!0),S=x!==null||b;function f(){const h=_.trim()===""?null:JSON.parse(_),y={};for(const C of c)C.name.trim()&&(y[C.name.trim()]=C.value);a({status:i,body:h,headers:y})}return e.jsxs("div",{className:"mt-2 border border-[var(--border-subtle)] rounded bg-[var(--bg-input)] p-3 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("label",{className:"text-xs text-[var(--text-muted)]",children:"Status"}),e.jsx("input",{type:"number",value:i,onChange:h=>{g(!1),l(Number(h.target.value))},className:"w-20 rounded border border-[var(--border-default)] bg-[var(--bg-surface)] px-2 py-1 text-xs font-mono"})]}),e.jsx(os,{headers:c,onChange:h=>{g(!1),v(h)}}),e.jsx(Oe,{value:_,parseError:x,onChange:h=>{g(!1),u(h)},onParseError:p}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx("button",{type:"button",onClick:n,className:"px-3 py-1 text-xs rounded border border-[var(--border-default)] bg-transparent text-[var(--text-muted)] hover:text-[var(--text-primary)] cursor-pointer",children:"Cancel"}),e.jsx("button",{type:"button",onClick:f,disabled:S,className:"px-3 py-1 text-xs rounded border border-[var(--accent-blue)] bg-[var(--accent-blue)]/10 text-[var(--accent-blue)] hover:bg-[var(--accent-blue)]/20 disabled:opacity-40 disabled:cursor-not-allowed cursor-pointer",children:"Save"})]})]})}const D5=Object.freeze(Object.defineProperty({__proto__:null,MockBodyEditor:Ae},Symbol.toStringTag,{value:"Module"}));function Fe({entry:t,scenarioHasDefaultFallback:s,editing:o,onToggleEdit:a,onPromoteDefaultToScenario:n,onRemove:r,onPassthrough:i,onCaptureLive:l}){const[_,u]=d.useState(!1),[x,p]=d.useState(null);async function c(){u(!0),p(null);try{await l()}catch(b){p(b instanceof Error?b.message:"Capture failed")}finally{u(!1)}}const v="px-2 py-0.5 rounded border border-[var(--border-default)] bg-transparent text-[var(--text-muted)] hover:text-[var(--text-primary)] cursor-pointer text-[10px]";return e.jsxs("div",{className:"flex flex-wrap gap-1 pt-1",children:[t.source==="scenario"&&e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:a,className:v,children:o?"Close":"Edit"}),s&&e.jsx("button",{onClick:r,className:v,title:"Revert to default",children:"Revert to default"}),e.jsx("button",{onClick:i,className:v,children:"Mark passthrough"})]}),t.source==="default"&&e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:n,className:"px-2 py-0.5 rounded border border-emerald-500/50 bg-emerald-500/10 text-emerald-300 hover:bg-emerald-500/20 cursor-pointer text-[10px]",title:"Copy default body into this scenario",children:"Promote to scenario"}),e.jsx("button",{onClick:i,className:v,children:"Mark passthrough"})]}),t.source==="catalog-only"&&e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:c,disabled:_,className:"px-2 py-0.5 rounded border border-[#D7FF63]/50 bg-[#D7FF63]/10 text-[#D7FF63] hover:bg-[#D7FF63]/20 disabled:opacity-50 disabled:cursor-wait cursor-pointer text-[10px]",title:"Write last-observed body as this scenario's mock",children:_?"Capturing…":"Capture from live"}),x&&e.jsx(k,{text:x,className:"text-red-400 text-[10px]"})]}),t.source==="passthrough"&&e.jsx("button",{onClick:r,className:v,children:"Undo passthrough"})]})}const E5=Object.freeze(Object.defineProperty({__proto__:null,MockPanelRowActions:Fe},Symbol.toStringTag,{value:"Module"})),mt={GET:"text-emerald-400 border-emerald-400/40",POST:"text-[#D7FF63] border-[#D7FF63]/40",PUT:"text-amber-400 border-amber-400/40",PATCH:"text-purple-400 border-purple-400/40",DELETE:"text-red-400 border-red-400/40"};function Ie({entry:t}){const s=mt[t.method]??mt.GET,o=t.status??t.lastObservedStatus,a=t.lastObservedMs?DD(t.lastObservedMs,Date.now()):null;return e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:`px-1.5 py-0.5 rounded border font-mono ${s}`,children:t.method}),e.jsx("span",{className:"font-mono text-[var(--text-primary)] break-all",children:t.pathPattern}),e.jsx(as,{source:t.source}),o!==void 0&&e.jsx("span",{className:"px-1.5 py-0.5 rounded border border-[var(--border-default)] text-[var(--text-muted)] font-mono",children:o}),t.observedCount>0&&e.jsxs("span",{className:"ml-auto text-[var(--text-dim)]",children:[t.observedCount,"× ",a?`· ${a}`:""]})]})}const M5=Object.freeze(Object.defineProperty({__proto__:null,MockPanelRowHeader:Ie},Symbol.toStringTag,{value:"Module"}));function Le({entry:t,scenarioHasDefaultFallback:s,onSave:o,onRemove:a,onPassthrough:n,onCaptureLive:r}){const[i,l]=d.useState(!1),_=`${t.method} ${t.pathPattern}`;return e.jsxs("div",{className:"border border-[var(--border-subtle)] rounded p-2 text-xs space-y-1",children:[e.jsx(Ie,{entry:t}),t.variants.length>1&&e.jsxs("div",{className:"text-[10px] text-[var(--text-dim)] font-mono",children:["variants: ",t.variants.filter(u=>u!==_).join(", ")]}),e.jsx(Fe,{entry:t,scenarioHasDefaultFallback:s,editing:i,onToggleEdit:()=>l(u=>!u),onPromoteDefaultToScenario:()=>o({routeKey:_,status:t.status??200,body:t.body,headers:t.headers??{}}),onRemove:()=>a(_),onPassthrough:()=>n(_),onCaptureLive:()=>r(t.method,t.pathPattern)}),i&&e.jsx(Ae,{initialStatus:t.status??200,initialBody:t.body,initialHeaders:t.headers??{},onCancel:()=>l(!1),onSave:async u=>{await o({routeKey:_,...u}),l(!1)}})]})}const B5=Object.freeze(Object.defineProperty({__proto__:null,MockPanelRow:Le},Symbol.toStringTag,{value:"Module"})),G=async()=>{};function Is({label:t,entries:s,defaultEndpointKeys:o=[],onSave:a=G,onRemove:n=G,onPassthrough:r=G,onCaptureLive:i=G}){if(s.length===0)return null;const l=o instanceof Set?o:new Set(o);return e.jsxs("section",{className:"space-y-2",children:[e.jsxs("h3",{className:"text-[10px] font-semibold uppercase tracking-wide text-[var(--text-dim)]",children:[t," (",s.length,")"]}),e.jsx("div",{className:"space-y-2",children:s.map(_=>e.jsx(Le,{entry:_,scenarioHasDefaultFallback:l.has(`${_.method} ${_.pathPattern}`),onSave:a,onRemove:n,onPassthrough:r,onCaptureLive:i},`${_.method} ${_.pathPattern}`))})]})}const O5=Object.freeze(Object.defineProperty({__proto__:null,MockPanelGroup:Is},Symbol.toStringTag,{value:"Module"}));function Ls({scenarioName:t,defaultSlug:s,onClose:o}){return e.jsxs("header",{className:"sticky top-0 z-10 flex items-center justify-between gap-2 border-b border-[var(--border-subtle)] bg-[var(--bg-deep)] px-4 py-3",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-sm font-medium text-[var(--text-primary)]",children:["Mocks for ",t]}),s&&e.jsxs("p",{className:"text-xs text-[var(--text-dim)]",children:["Defaults inherited from ",e.jsx("span",{className:"font-mono",children:s})]})]}),e.jsx("button",{onClick:o,className:"rounded border border-[var(--border-default)] bg-transparent px-2 py-1 text-xs text-[var(--text-muted)] hover:text-[var(--text-primary)] cursor-pointer",children:"Close"})]})}const A5=Object.freeze(Object.defineProperty({__proto__:null,MockPanelHeader:Ls},Symbol.toStringTag,{value:"Module"}));function Hs({total:t,passed:s,failed:o,discovered:a}){if(t===0&&(a??0)>0)return e.jsxs("span",{className:"text-[var(--text-dim)]",children:[a," ",a===1?"test":"tests"," (not run)"]});if(t===0)return e.jsx("span",{className:"text-[var(--text-dim)]",children:"No tests"});const n=(a??t)>t?(a??t)-t:0;return n>0?e.jsxs("span",{children:[e.jsxs("span",{className:"text-[var(--accent-green)]",children:[s," passed"]}),o>0&&e.jsxs("span",{className:"text-[var(--accent-red)]",children:[" · ",o," failed"]}),e.jsxs("span",{className:"text-[var(--text-dim)]",children:[" · ",n," not run"]})]}):o>0?e.jsxs("span",{className:"text-[var(--accent-red)]",children:[s,"/",t," passed"]}):e.jsxs("span",{className:"text-[var(--accent-green)]",children:[s,"/",t," passed"]})}const F5=Object.freeze(Object.defineProperty({__proto__:null,TestSummary:Hs},Symbol.toStringTag,{value:"Module"}));function zs({title:t}){return e.jsx("div",{className:"flex h-full items-center justify-center",style:{color:"var(--text-dim)"},children:e.jsxs("p",{className:"text-sm",children:[t," — coming soon"]})})}const I5=Object.freeze(Object.defineProperty({__proto__:null,PlaceholderPane:zs},Symbol.toStringTag,{value:"Module"}));function Gs({paths:t}){return e.jsxs(X,{children:[e.jsx(Z,{}),e.jsx(It,{paths:t,onClose:()=>{}})]})}const L5=Object.freeze(Object.defineProperty({__proto__:null,FileDropConfirmModalAgentReadyShowcase:Gs},Symbol.toStringTag,{value:"Module"})),H5="the confirm modal (no live session)";function $s({sessions:t=["Plan chat","Build terminal"],claimedBy:s=null}){const[o,a]=d.useState(s);return e.jsx(ns,{fallbackUpload:()=>a(null),children:e.jsxs("div",{className:"p-6",children:[e.jsxs("div",{className:"mb-5 flex items-center gap-3",children:[e.jsx(rs,{}),e.jsxs("span",{className:"text-xs text-[var(--text-dim)]","data-testid":"attach-routing-target",children:["Attaches into: ",o??H5]})]}),e.jsx("div",{className:"flex gap-3",children:t.map(n=>e.jsx(z5,{name:n,active:o===n,onClaimed:a},n))})]})})}function z5({name:t,active:s,onClaimed:o}){const{registerFileSink:a}=ED(),n=d.useCallback(()=>{a(()=>!0),o(t)},[a,o,t]);return e.jsxs("button",{type:"button",onClick:n,className:"rounded-lg border px-4 py-3 text-left text-sm cursor-pointer",style:{background:s?"var(--bg-card)":"transparent",borderColor:s?"var(--accent-active)":"var(--border-subtle)",color:s?"var(--accent-active)":"var(--text-dim)"},children:["Focus ",t]})}const G5=Object.freeze(Object.defineProperty({__proto__:null,AttachFileButtonRoutingShowcase:$s},Symbol.toStringTag,{value:"Module"})),$5=`<!doctype html>
|
|
22
|
+
<html><body style="margin:0;font:13px system-ui;color:#555;background:#fff">
|
|
23
|
+
<div style="padding:12px">Your app, freshly reloaded.</div>
|
|
24
|
+
<input aria-label="a field in the preview app"
|
|
25
|
+
style="margin:0 12px;padding:6px;width:60%" />
|
|
26
|
+
</body></html>`,q5="the Describe box",V5="the Live Preview",xt="nowhere at all";function qs({custodianEnabled:t=!0}){const s=d.useRef(null),o=d.useRef(null),{notePreviewLoaded:a}=zo(s),[n,r]=d.useState(0),[i,l]=d.useState(xt);return d.useEffect(()=>{const _=()=>{const x=document.activeElement;x===o.current?l(q5):x===s.current?l(V5):l(xt)},u=()=>queueMicrotask(_);return _(),document.addEventListener("focusin",_),document.addEventListener("focusout",u),()=>{document.removeEventListener("focusin",_),document.removeEventListener("focusout",u)}},[]),e.jsxs("div",{className:"p-6",children:[e.jsxs("div",{className:"mb-4 flex items-center gap-3",children:[e.jsx("button",{type:"button",onClick:()=>r(_=>_+1),className:"rounded-lg border px-4 py-2 text-sm cursor-pointer",style:{borderColor:"var(--border-subtle)",color:"var(--text-dim)"},children:"Reload the preview"}),e.jsxs("span",{className:"text-xs text-[var(--text-dim)]","data-testid":"custodian-caret-readout",children:["Caret is in: ",i]})]}),e.jsxs("div",{className:"flex gap-4",children:[e.jsxs("label",{className:"flex-1 text-xs text-[var(--text-dim)]",children:["Describe your change",e.jsx("textarea",{ref:o,rows:6,className:"mt-1 w-full rounded-lg border p-2 text-sm",style:{background:"var(--bg-card)",borderColor:"var(--border-subtle)",color:"var(--text-dim)"}})]}),e.jsx("iframe",{ref:s,title:"Live Preview",srcDoc:$5,onLoad:()=>{var _;(_=s.current)==null||_.focus(),t&&a()},className:"flex-1 rounded-lg border",style:{height:140,borderColor:"var(--border-subtle)"}},n)]})]})}const W5=Object.freeze(Object.defineProperty({__proto__:null,PreviewFocusCustodianShowcase:qs},Symbol.toStringTag,{value:"Module"}));function Vs({groups:t,loading:s,error:o,totalScenarios:a,onPreviewScenario:n}){return s?e.jsx("div",{className:"py-12 text-center text-[var(--text-muted)]",children:"Loading scenarios..."}):o?e.jsx("div",{className:"py-12",children:e.jsx(k,{text:`Failed to load scenarios: ${o}`,className:"text-sm text-[var(--accent-red)]",rowClassName:"justify-center"})}):t.length===0?e.jsxs("div",{className:"py-12 text-center text-[var(--text-dim)]",children:[e.jsx("p",{children:"No scenarios defined yet."}),e.jsx("p",{className:"mt-2 text-sm text-[var(--text-dim)]",children:"Create scenario JSON files in .codeyam/scenarios/"})]}):e.jsxs("div",{className:"overflow-y-auto px-6 py-4",style:{maxHeight:"calc(100vh - 110px)"},children:[e.jsxs("p",{className:"mb-4 text-sm text-[var(--text-muted)]",children:[a," scenarios across ",t.length," routes"]}),t.map(r=>e.jsx(Te,{group:r,onPreviewScenario:n},r.route))]})}const U5=Object.freeze(Object.defineProperty({__proto__:null,ScenariosView:Vs},Symbol.toStringTag,{value:"Module"}));function Ws({groups:t,loading:s,error:o,cached:a,totalTests:n,passedTests:r,coverage:i,onRefresh:l}){return s?e.jsx("div",{className:"py-12 text-center text-[var(--text-muted)]",children:"Loading tests..."}):o?e.jsx("div",{className:"py-12",children:e.jsx(k,{text:`Failed to load tests: ${o}`,className:"text-sm text-[var(--accent-red)]",rowClassName:"justify-center"})}):t.length===0?e.jsx("div",{className:"py-12 text-center text-[var(--text-dim)]",children:"No tests found"}):e.jsxs("div",{className:"overflow-y-auto px-6 py-4",style:{maxHeight:"calc(100vh - 110px)"},children:[e.jsxs("div",{className:"mb-4 flex items-center gap-3 text-sm text-[var(--text-muted)]",children:[e.jsxs("span",{children:[r,"/",n," passed across ",t.length," features"]}),e.jsx(Lt,{coverage:i,testId:"tests-view-coverage",className:"rounded bg-[var(--bg-input)] px-2 py-0.5 text-xs font-medium text-[var(--text-secondary)]"}),a&&e.jsx("span",{className:"rounded bg-[var(--bg-input)] px-2 py-0.5 text-xs text-[var(--text-muted)]",children:"cached"}),e.jsx("button",{onClick:l,disabled:s,className:"rounded bg-[var(--bg-input)] px-2 py-0.5 text-xs text-[var(--text-muted)] hover:bg-[var(--bg-surface)] hover:text-[var(--text-secondary)] disabled:opacity-50",children:s?"Running...":"Run Tests"})]}),t.map(_=>e.jsx(Ne,{group:_},_.feature))]})}const Q5=Object.freeze(Object.defineProperty({__proto__:null,TestsView:Ws},Symbol.toStringTag,{value:"Module"}));function Us({onClick:t,isOpen:s,disabled:o}){return e.jsx("button",{type:"button",onClick:t,disabled:o,"aria-expanded":s,"aria-haspopup":"dialog",className:`flex items-center h-7 px-2 rounded text-[11px] font-mono tracking-wide cursor-pointer transition-colors ${o?"text-gray-500 bg-[#2d2d2d] cursor-not-allowed":s?"text-white bg-[#555]":"text-gray-300 bg-[#3a3a3a] hover:bg-[#444]"}`,title:"Edit scenario data",children:"EDIT DATA"})}const J5=Object.freeze(Object.defineProperty({__proto__:null,EditDataButton:Us},Symbol.toStringTag,{value:"Module"}));function K5({slug:t,onApplied:s}){const[o,a]=d.useState({kind:"idle"}),n=d.useCallback(async r=>{a({kind:"submitting"});try{const l=await(await fetch(`/api/scenarios/${encodeURIComponent(t)}/data/describe`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:r})})).json();l.success?(s(),a({kind:"applied",message:l.message??"Changes applied. Review the table and click Save."})):a({kind:"error",message:l.error??"AI rewrite failed."})}catch(i){a({kind:"error",message:i instanceof Error?i.message:"Network error"})}},[t,s]);return{status:o,submit:n}}function Y5(t,s){d.useEffect(()=>{function o(n){t.current&&!t.current.contains(n.target)&&s()}function a(n){n.key==="Escape"&&s()}return document.addEventListener("mousedown",o),document.addEventListener("keydown",a),()=>{document.removeEventListener("mousedown",o),document.removeEventListener("keydown",a)}},[t,s])}function X5({props:t,seedTabs:s,mockEntries:o}){const[a,n]=d.useState(null),[r,i]=d.useState(null),[l,_]=d.useState(null),u=d.useMemo(()=>{const c=[];return t&&Object.keys(t).length>0&&c.push({kind:"props",label:"Props",tabs:[]}),s.length>0&&c.push({kind:"seed",label:"Seed Data",tabs:s.map(v=>({id:v.dataKey,label:v.label}))}),o.length>0&&c.push({kind:"mock",label:"Mock Data",tabs:o.map(v=>({id:ve(v),label:`${v.method} ${v.pathPattern}`}))}),c},[t,s,o]);d.useEffect(()=>{if(a!==null||u.length===0)return;const c=u[0];n(c.kind),c.kind==="seed"&&c.tabs[0]?i(c.tabs[0].id):c.kind==="mock"&&c.tabs[0]&&_(c.tabs[0].id)},[a,u]);const x=u.find(c=>c.kind===a)??null;function p(c){var v,b,g,S;if(n(c),c==="seed"&&!r){const f=(b=(v=u.find(h=>h.kind==="seed"))==null?void 0:v.tabs[0])==null?void 0:b.id;f&&i(f)}if(c==="mock"&&!l){const f=(S=(g=u.find(h=>h.kind==="mock"))==null?void 0:g.tabs[0])==null?void 0:S.id;f&&_(f)}}return{sections:u,activeSection:x,section:a,activeSeedKey:r,activeMockKey:l,selectSection:p,selectSeedKey:i,selectMockKey:_}}function Z5(t){const[s,o]=d.useState(null);return d.useEffect(()=>{var i;const a=(i=t.current)==null?void 0:i.closest("[data-preview-pane='true']");if(!a)return;const n=()=>o(a.getBoundingClientRect().width);n();const r=new ResizeObserver(n);return r.observe(a),()=>r.disconnect()},[t]),s}function He(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function e3(t){return Array.isArray(t)&&t.length>0&&t.every(He)}function de(t,s,o){if(He(t)){for(const[a,n]of Object.entries(t)){const r=s?`${s}.${a}`:a;de(n,r,o)}return}if(e3(t)){t.forEach((a,n)=>de(a,`${s}[${n}]`,o));return}o.push({path:s,value:t})}function gt(t){if(!He(t))return[];const s=[];return de(t,"",s),s}function t3(t){return t===null?"null":t===void 0?"":typeof t=="object"?JSON.stringify(t):String(t)}function s3({slug:t,initialProps:s,onCellEdited:o}){const[a,n]=d.useState(()=>gt(s)),[r,i]=d.useState(null),[l,_]=d.useState(""),[u,x]=d.useState(""),p=d.useRef(null);d.useEffect(()=>{n(gt(s)),i(null)},[s]);function c(f){const h=a.find(T=>T.path===f);i(f);const y=h==null?void 0:h.value,C=y==null?"":typeof y=="object"?JSON.stringify(y):String(y);_(C),x(C)}function v(f){if(_(f),p.current&&clearTimeout(p.current),!r)return;const h=r;p.current=setTimeout(()=>{S(h,f)},600)}function b(){r&&(p.current&&clearTimeout(p.current),S(r,l),i(null))}function g(){if(p.current&&clearTimeout(p.current),!!r){if(l!==u){const f=a.map(h=>h.path===r?{...h,value:dt(u)}:h);n(f),fetch(`/api/scenarios/${encodeURIComponent(t)}/data`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:`props.${r}`,value:u})}).then(()=>{J(),o&&o()}).catch(()=>{})}i(null)}}async function S(f,h){const y=a.map(C=>C.path===f?{...C,value:dt(h)}:C);n(y);try{await fetch(`/api/scenarios/${encodeURIComponent(t)}/data`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:`props.${f}`,value:h})}),J(),o&&o()}catch{}}return{rows:a,editingPath:r,editValue:l,handleEditPath:c,handleEditValueChange:v,handleSave:b,handleCancelEdit:g}}function ze({path:t,value:s,onValueChange:o,onSave:a,onCancel:n}){return e.jsxs("div",{className:"border-t border-[var(--border-default)] bg-[var(--bg-deep)] px-3 py-2",children:[e.jsx("div",{className:"flex items-center gap-2 mb-1.5",children:e.jsxs("span",{className:"text-[10px] text-[var(--text-muted)]",children:["Editing"," ",e.jsx("strong",{className:"text-[var(--text-secondary)] font-mono",children:t})]})}),e.jsx("textarea",{value:s,onChange:r=>o(r.target.value),className:"w-full px-2 py-1.5 text-[11px] bg-[var(--bg-card)] text-[var(--text-primary)] border border-[var(--border-default)] rounded outline-none focus:border-[var(--accent-active)]/50 resize-y min-h-[60px] max-h-[200px] font-mono",autoFocus:!0,rows:s.length>100?4:2,onKeyDown:r=>{r.key==="Escape"&&n(),r.key==="Enter"&&(r.metaKey||r.ctrlKey)&&a()}}),e.jsxs("div",{className:"flex items-center gap-2 mt-1.5",children:[e.jsx("button",{onClick:a,className:"px-3 py-1 text-[10px] font-medium text-[var(--bg-deep)] bg-[var(--accent-active)] rounded cursor-pointer border-none hover:bg-[var(--accent-active)]/80 transition-colors",children:"Save"}),e.jsx("button",{onClick:n,className:"px-3 py-1 text-[10px] text-[var(--text-muted)] hover:text-[var(--text-primary)] bg-transparent border-none cursor-pointer",children:"Cancel"}),e.jsxs("span",{className:"text-[9px] text-[var(--text-dim)] ml-auto",children:["⌘","+Enter to save, Esc to cancel"]})]})]})}const o3=Object.freeze(Object.defineProperty({__proto__:null,ScenarioDataPanelPropsEditor:ze},Symbol.toStringTag,{value:"Module"}));function Ge({slug:t,props:s,onCellEdited:o}){const{rows:a,editingPath:n,editValue:r,handleEditPath:i,handleEditValueChange:l,handleSave:_,handleCancelEdit:u}=s3({slug:t,initialProps:s,onCellEdited:o});return a.length===0?e.jsx("p",{className:"p-4 text-xs text-[var(--text-dim)] italic",children:"This scenario has no props to edit."}):e.jsxs("div",{className:"flex flex-col h-full min-h-0",children:[e.jsx("div",{className:"flex-1 min-h-0 overflow-auto",children:e.jsxs("table",{className:"w-full text-[11px] border-separate border-spacing-0",children:[e.jsx("thead",{className:"bg-[var(--bg-card)] sticky top-0 z-10",children:e.jsxs("tr",{children:[e.jsx("th",{className:"text-left font-medium text-[var(--text-secondary)] px-3 py-2 border-b border-[var(--border-default)] w-1/3",children:"Key"}),e.jsx("th",{className:"text-left font-medium text-[var(--text-secondary)] px-3 py-2 border-b border-[var(--border-default)]",children:"Value"})]})}),e.jsx("tbody",{children:a.map(x=>e.jsxs("tr",{className:"hover:bg-[var(--bg-card)]",children:[e.jsx("td",{className:"px-3 py-1.5 border-b border-[var(--border-subtle)] font-mono text-[var(--text-secondary)] align-top",children:x.path}),e.jsx("td",{className:"px-3 py-1.5 border-b border-[var(--border-subtle)] cursor-text text-[var(--text-primary)] align-top",onClick:()=>i(x.path),children:t3(x.value)})]},x.path))})]})}),n&&e.jsx(ze,{path:n,value:r,onValueChange:l,onSave:_,onCancel:u})]})}const a3=Object.freeze(Object.defineProperty({__proto__:null,ScenarioDataPanelMainProps:Ge},Symbol.toStringTag,{value:"Module"}));function $e({slug:t,section:s,hasAnything:o,loading:a,seedError:n,mocksError:r,draftError:i,props:l,selectedSeedTab:_,filteredSeedRows:u,selectedMock:x,onSeedCellEdit:p,onMockSave:c}){return e.jsxs("div",{className:"min-h-0 flex-1 flex flex-col bg-[var(--bg-deep)] overflow-hidden",children:[n&&e.jsx(k,{text:`Seed error: ${n}`,className:"text-xs text-red-400",rowClassName:"p-3"}),r&&e.jsx(k,{text:`Mocks error: ${r}`,className:"text-xs text-red-400",rowClassName:"p-3"}),i&&e.jsx(k,{text:`Draft error: ${i}`,className:"text-xs text-red-400",rowClassName:"p-3"}),a&&!o&&e.jsx("p",{className:"p-4 text-xs text-[var(--text-dim)]",children:"Loading scenario data…"}),!a&&!o&&e.jsx("p",{className:"p-4 text-xs text-[var(--text-dim)] italic",children:"This scenario has no data, mocks, or props to edit."}),s==="props"&&e.jsx(Ge,{slug:t,props:l,onCellEdited:p}),s==="seed"&&_&&e.jsx(is,{slug:t,tab:_,initialRows:u,onCellEdited:p}),s==="mock"&&x&&e.jsx("div",{className:"flex-1 min-h-0 overflow-auto p-3",children:x.source==="scenario"||x.source==="default"||x.source==="shared"?e.jsx(ls,{entry:x,routeKey:ve(x),scenarioSlug:t,onSave:c}):e.jsx(cs,{entry:x})})]})}const n3=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverBody:$e},Symbol.toStringTag,{value:"Module"}));function qe({status:t,onSubmit:s}){const[o,a]=d.useState(""),n=t.kind==="submitting";function r(){const i=o.trim();!i||n||(s(i),a(""))}return e.jsxs("div",{className:"shrink-0 border-t border-[var(--border-default)] bg-[var(--bg-deep)] px-4 py-3",children:[e.jsxs("div",{className:"flex items-end gap-2",children:[e.jsx("textarea",{value:o,onChange:i=>a(i.target.value),placeholder:"Describe Changes",rows:2,disabled:n,className:"flex-1 px-3 py-2 text-[12px] bg-[var(--bg-card)] text-[var(--text-primary)] border border-[var(--border-default)] rounded outline-none focus:border-[var(--accent-active)]/50 resize-none min-h-[44px] disabled:opacity-50",onKeyDown:i=>{i.key==="Enter"&&(i.metaKey||i.ctrlKey)&&(i.preventDefault(),r())}}),e.jsx("button",{type:"button",onClick:r,disabled:n||!o.trim(),className:"px-3 py-2 text-[11px] font-medium text-[var(--bg-deep)] bg-[var(--accent-active)] rounded cursor-pointer border-none hover:bg-[var(--accent-active)]/80 disabled:opacity-50 disabled:cursor-not-allowed transition-colors h-fit",children:n?"Applying…":"Submit"})]}),t.kind==="applied"&&e.jsx("p",{className:"text-[10px] text-[var(--accent-active)] mt-1.5",children:t.message}),t.kind==="error"&&e.jsx(k,{text:t.message,className:"text-[10px] text-red-400",rowClassName:"mt-1.5"})]})}const r3=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverDescribeInput:qe},Symbol.toStringTag,{value:"Module"}));function Ve({isDirty:t,saving:s,cancelling:o,onSave:a,onCancel:n,onClose:r}){const i=s||o;return e.jsxs(e.Fragment,{children:[t&&e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:a,disabled:i,className:"px-2 py-0.5 text-[10px] font-medium text-[var(--bg-deep)] bg-[var(--accent-active)] rounded cursor-pointer border-none hover:bg-[var(--accent-active)]/80 disabled:opacity-50",children:s?"Saving…":"Save"}),e.jsx("button",{type:"button",onClick:n,disabled:i,className:"px-2 py-0.5 text-[10px] text-[var(--text-muted)] hover:text-[var(--text-primary)] bg-transparent border border-[var(--border-default)] rounded cursor-pointer disabled:opacity-50",children:o?"Cancelling…":"Cancel"})]}),e.jsx("button",{type:"button",onClick:r,"aria-label":"Close",className:"text-[var(--text-muted)] hover:text-[var(--text-primary)] text-sm bg-transparent border-none cursor-pointer px-1 leading-none",children:"✕"})]})}const i3=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverSaveCancelClose:Ve},Symbol.toStringTag,{value:"Module"}));function We({value:t,disabled:s,onChange:o}){return e.jsx("input",{type:"search",value:t,onChange:a=>o(a.target.value),placeholder:"Search…",disabled:s,className:"text-[10px] bg-[var(--bg-card)] text-[var(--text-primary)] border border-[var(--border-default)] rounded px-2 py-0.5 outline-none focus:border-[var(--accent-active)]/50 disabled:opacity-40 w-36"})}const l3=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverSearchInput:We},Symbol.toStringTag,{value:"Module"}));function Ue({sections:t,section:s,activeSection:o,onSelect:a}){return t.length>1?e.jsx("select",{value:s??"",onChange:n=>a(n.target.value),className:"text-[9px] font-semibold tracking-wider uppercase text-[var(--text-primary)] bg-[var(--bg-card)] border border-[var(--border-default)] rounded px-1.5 py-0.5 cursor-pointer outline-none",children:t.map(n=>e.jsx("option",{value:n.kind,children:n.label},n.kind))}):o?e.jsx("span",{className:"text-[9px] font-semibold tracking-wider uppercase text-[var(--text-primary)] px-1.5 py-0.5",children:o.label}):null}const c3=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverSectionSelector:Ue},Symbol.toStringTag,{value:"Module"}));function Qe({tabs:t,activeId:s,onSelect:o}){return e.jsx("div",{className:"flex items-center gap-0.5 overflow-x-auto min-w-0",children:t.map(a=>{const n=a.id===s;return e.jsx("button",{type:"button",onClick:()=>o(a.id),className:`px-1.5 py-0.5 text-[9px] font-medium tracking-wide uppercase rounded whitespace-nowrap cursor-pointer transition-colors ${n?"text-[var(--accent-active)] bg-[var(--accent-active)]/10":"text-[var(--text-muted)] hover:text-[var(--text-primary)]"}`,children:a.label},a.id)})})}const _3=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverTabStrip:Qe},Symbol.toStringTag,{value:"Module"}));function Je({sections:t,section:s,activeSection:o,activeTabId:a,onSelectSection:n,onSelectTab:r,search:i,searchDisabled:l,onSearchChange:_,isDirty:u,saving:x,cancelling:p,onSave:c,onCancel:v,onClose:b}){return e.jsxs("header",{className:"shrink-0 flex items-center justify-between gap-3 px-3 py-1.5 border-b border-[var(--border-subtle)]",children:[e.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 flex-1",children:[e.jsx(Ue,{sections:t,section:s,activeSection:o,onSelect:n}),e.jsx("span",{className:"text-[var(--text-dim)] text-[10px]",children:"/"}),e.jsx(Qe,{tabs:(o==null?void 0:o.tabs)??[],activeId:a,onSelect:r})]}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsx(We,{value:i,disabled:l,onChange:_}),e.jsx(Ve,{isDirty:u,saving:x,cancelling:p,onSave:c,onCancel:v,onClose:b})]})]})}const d3=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverHeader:Je},Symbol.toStringTag,{value:"Module"}));function Ke({popoverRef:t,paneWidth:s}){return e.jsx("div",{"aria-hidden":"true",onMouseDown:o=>{const a=t.current;if(!a)return;o.preventDefault();const n=a.getBoundingClientRect(),r=o.clientX,i=o.clientY,l=n.width,_=n.height,u=n.right,x=c=>{const v=c.clientX-r,b=c.clientY-i,g=420,S=280,f=s?Math.max(g,s-16):l+1e3,h=Math.max(g,Math.min(f,l-v)),y=Math.max(S,_+b);a.style.width=`${h}px`,a.style.height=`${y}px`,a.style.right=`${a.parentElement.getBoundingClientRect().right-u}px`},p=()=>{window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",p)};window.addEventListener("mousemove",x),window.addEventListener("mouseup",p)},className:"absolute bottom-0 left-0 w-3 h-3 z-50",style:{cursor:"nesw-resize"}})}const p3=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverResizeHandleLeft:Ke},Symbol.toStringTag,{value:"Module"}));function Qs({slug:t,scenarioName:s,onClose:o}){const a=d.useRef(null),n=MD({slug:t,onPreviewReload:J}),r=Z5(a),{data:i,tableTabs:l,props:_,loading:u,error:x}=BD(t),{entries:p,loading:c,error:v,upsertScoped:b}=OD(t),{sections:g,activeSection:S,section:f,activeSeedKey:h,activeMockKey:y,selectSection:C,selectSeedKey:T,selectMockKey:E}=X5({props:_,seedTabs:l,mockEntries:p}),[j,P]=d.useState(""),R=f==="seed"?l.find(w=>w.dataKey===h)??null:null,xo=f==="mock"?p.find(w=>ve(w)===y)??null:null,se=R&&i?i[R.dataKey]??[]:[],go=d.useMemo(()=>{if(!j.trim())return se;const w=j.toLowerCase();return se.filter(Po=>Object.values(Po).some(wo=>String(wo??"").toLowerCase().includes(w)))},[se,j]),z=d.useCallback(()=>{n.markDirty(),J()},[n]),bo=d.useCallback(async w=>{await b(w),z()},[b,z]),lt=d.useCallback(()=>{n.confirmIfDirty("Discard unsaved changes to this scenario?")&&o()},[n,o]);Y5(a,lt);const vo=d.useCallback(async()=>{await n.save(),n.error||o()},[n,o]),ct=K5({slug:t,onApplied:z}),ho=f==="seed"?h:f==="mock"?y:null;function fo(w){f==="seed"&&T(w),f==="mock"&&E(w)}function yo(w){w!==null&&(C(w),P(""))}const So=s??t,jo=g.length>0,Co=u||c;return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-30 bg-black/30 pointer-events-none","aria-hidden":"true"}),e.jsxs("div",{ref:a,role:"dialog","aria-label":`Edit data for ${So}`,style:{resize:"both",maxWidth:r?`${Math.max(420,r-16)}px`:"calc(100vw - 2rem)"},className:"absolute right-0 top-full mt-1 z-40 flex flex-col rounded-lg border border-[var(--border-default)] bg-[var(--bg-deep)] shadow-2xl overflow-hidden w-[640px] max-h-[calc(100vh-6rem)] min-w-[420px] min-h-[200px]",children:[e.jsx(Je,{sections:g,section:f,activeSection:S,activeTabId:ho,onSelectSection:yo,onSelectTab:fo,search:j,searchDisabled:f!=="seed",onSearchChange:P,isDirty:n.isDirty,saving:n.saving,cancelling:n.cancelling,onSave:vo,onCancel:()=>void n.cancel(),onClose:lt}),e.jsx($e,{slug:t,section:f,hasAnything:jo,loading:Co,seedError:x,mocksError:v,draftError:n.error,props:_,selectedSeedTab:R,filteredSeedRows:go,selectedMock:xo,onSeedCellEdit:z,onMockSave:bo}),e.jsx(qe,{status:ct.status,onSubmit:ct.submit}),e.jsx(Ke,{popoverRef:a,paneWidth:r})]})]})}const u3=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopover:Qs},Symbol.toStringTag,{value:"Module"}));function Js({tabs:t,active:s,onChange:o}){return e.jsx("div",{className:"flex gap-0",children:t.map(a=>e.jsx("button",{onClick:()=>o(a.key),className:`px-3 py-2 text-sm transition-colors border-b-2 ${s===a.key?"font-medium":"border-transparent hover:text-[var(--text-primary)]"}`,style:s===a.key?{color:"var(--accent-active)",borderBottomColor:"var(--accent-active)"}:{color:"var(--text-muted)"},children:a.label},a.key))})}const m3=Object.freeze(Object.defineProperty({__proto__:null,ViewTabs:Js},Symbol.toStringTag,{value:"Module"}));function Ks({items:t,maxVisible:s=6,showAll:o=!1,onSelect:a,onOpenAll:n}){const r=o?t:t.slice(0,s),i=t.length-r.length;return e.jsxs("div",{className:"exdoor",children:[e.jsxs("button",{type:"button",className:"exhead",onClick:n,children:[e.jsx("div",{className:"dic",children:e.jsx(Ht,{size:20})}),e.jsxs("div",{className:"grow",children:[e.jsx("div",{className:"dname",children:"Explore your app"}),e.jsx("div",{className:"ddesc",children:"Every page of your app. Click one to see it live."})]}),e.jsx("span",{className:"open",children:"Open all →"})]}),e.jsxs("div",{className:"rail",children:[r.length===0?e.jsx("div",{className:"railempty",children:"No pages registered yet — they'll appear here as you build."}):r.map(l=>e.jsxs("button",{type:"button",className:"pcard",onClick:()=>a(l),children:[e.jsx("div",{className:"pthumb",children:l.screenshotPath?e.jsx("img",{className:"pshot",src:Go(l.screenshotPath,l.screenshotCb??void 0),alt:`${l.name} preview`,loading:"lazy"}):e.jsx("div",{className:"pnopreview",children:"No preview"})}),e.jsx("div",{className:"pname",children:l.name})]},l.key)),i>0?e.jsx("div",{className:"allcard",children:e.jsxs("button",{type:"button",className:"alltile",onClick:n,children:[e.jsxs("span",{className:"n",children:["+",i]}),e.jsx("span",{className:"l",children:i===1?"page":"pages"})]})}):null]})]})}const x3=Object.freeze(Object.defineProperty({__proto__:null,ExploreRail:Ks},Symbol.toStringTag,{value:"Module"}));function Ys({text:t,title:s,testId:o,children:a,className:n="",writer:r}){return e.jsxs("div",{role:"alert","data-testid":o,className:`rounded-md border border-[var(--accent-danger)] bg-[var(--accent-danger)]/10 p-3 ${n}`,children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s?e.jsx("div",{className:"text-xs font-medium text-[var(--text-danger)]",children:s}):e.jsx("span",{}),e.jsx(xe,{variant:"subtle",text:t,label:"Copy",writer:r})]}),e.jsx("div",{className:"mt-2",children:a??e.jsx("pre",{className:"whitespace-pre-wrap break-words font-mono text-xs text-[var(--text-secondary)]",children:t})})]})}const g3=Object.freeze(Object.defineProperty({__proto__:null,CopyableErrorBlock:Ys},Symbol.toStringTag,{value:"Module"}));function te({restartCount:t}){return e.jsxs("div",{className:"relative h-12 w-12",children:[e.jsx("div",{"aria-hidden":"true",className:"absolute inset-0 rounded-full border-2 border-[rgba(255,255,255,.08)] border-t-[var(--accent-active)] animate-spin",style:{boxShadow:"0 0 24px rgba(215,255,99,.12)"}}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center text-[10px] font-semibold text-[var(--accent-active)]",children:t>0?`#${t}`:""})]})}const b3=Object.freeze(Object.defineProperty({__proto__:null,RestartSpinner:te},Symbol.toStringTag,{value:"Module"}));function Xs({restartCount:t}){return e.jsx("div",{className:"absolute inset-0 bg-white/90 dark:bg-gray-900/90 backdrop-blur-sm flex flex-col items-center justify-center z-50 animate-in fade-in duration-300",children:e.jsxs("div",{className:"flex flex-col items-center space-y-4 text-center max-w-md p-6",children:[e.jsx(te,{restartCount:t}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:"Dev Server Restarting"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"The Live Preview server crashed unexpectedly. CodeYam is automatically recovering it..."})]}),t>2&&e.jsx("div",{className:"pt-2",children:e.jsx("p",{className:"text-xs text-amber-600 dark:text-amber-400 font-medium",children:"Recovery is taking longer than usual..."})})]})})}const v3=Object.freeze(Object.defineProperty({__proto__:null,DevServerRestartingOverlay:Xs},Symbol.toStringTag,{value:"Module"}));function Zs(){return e.jsx("div",{className:"absolute inset-0 bg-white/90 dark:bg-gray-900/90 backdrop-blur-sm flex flex-col items-center justify-center z-50 animate-in fade-in duration-300",children:e.jsxs("div",{className:"flex flex-col items-center space-y-4 text-center max-w-md p-6",children:[e.jsx(te,{restartCount:0}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:"Starting Dev Server"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"Waiting for the development server to start..."})]})]})})}const h3=Object.freeze(Object.defineProperty({__proto__:null,DevServerStartingOverlay:Zs},Symbol.toStringTag,{value:"Module"}));function eo(){return e.jsx("div",{className:"absolute inset-0 bg-white/90 dark:bg-gray-900/90 backdrop-blur-sm flex flex-col items-center justify-center z-50 animate-in fade-in duration-300",children:e.jsxs("div",{className:"flex flex-col items-center space-y-4 text-center max-w-md p-6",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-gray-200 dark:bg-gray-700 flex items-center justify-center",children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-6 h-6 text-gray-500 dark:text-gray-400","aria-hidden":"true",children:[e.jsx("rect",{x:"6",y:"5",width:"4",height:"14",rx:"1"}),e.jsx("rect",{x:"14",y:"5",width:"4",height:"14",rx:"1"})]})}),e.jsxs("div",{className:"space-y-1",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:"Dev Server Not Running"}),e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"Starting automatically…"})]})]})})}const f3=Object.freeze(Object.defineProperty({__proto__:null,DevServerStoppedOverlay:eo},Symbol.toStringTag,{value:"Module"}));function to({title:t,count:s,children:o}){return e.jsxs("div",{className:"mt-5",children:[e.jsxs("div",{className:"mb-3 flex items-center justify-between gap-4",children:[e.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--text-dim)]",children:t}),e.jsxs("p",{className:"text-xs text-[var(--text-dim)]",children:[s," total"]})]}),o]})}const y3=Object.freeze(Object.defineProperty({__proto__:null,RouteEntitySection:to},Symbol.toStringTag,{value:"Module"}));function Ye(){return e.jsx("div",{className:"rounded-xl border border-dashed border-[var(--border-default)] px-4 py-5 text-sm text-[var(--text-dim)]",children:"No direct imports were found for this route file."})}const S3=Object.freeze(Object.defineProperty({__proto__:null,RouteImportEmptyState:Ye},Symbol.toStringTag,{value:"Module"}));function so({directImports:t}){return t.length===0?e.jsx(Ye,{}):e.jsx("div",{className:"grid grid-cols-1 gap-1",children:t.map(s=>{const{fileName:o,dirPath:a}=$o(s);return e.jsx(Be,{fileName:o,dirPath:a},s)})})}const j3=Object.freeze(Object.defineProperty({__proto__:null,RouteImportList:so},Symbol.toStringTag,{value:"Module"}));function oo({routeEntity:t}){return e.jsxs("div",{className:"rounded-xl border border-[var(--border-default)] bg-[var(--bg-elevated)] px-4 py-4",children:[e.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-[var(--text-dim)]",children:"Route"}),e.jsx("p",{className:"mt-2 text-lg font-semibold text-[var(--text-primary)]",children:t.displayName}),e.jsx("p",{className:"mt-1 font-mono text-xs text-[var(--accent-blue)]",children:t.route}),t.pageFilePath?e.jsx("p",{className:"mt-3 text-sm text-[var(--text-muted)]",children:t.pageFilePath}):e.jsx("p",{className:"mt-3 text-sm text-[var(--text-dim)]",children:"No source file is linked to this route yet."})]})}const C3=Object.freeze(Object.defineProperty({__proto__:null,RouteSummaryCard:oo},Symbol.toStringTag,{value:"Module"}));function ao({tabs:t,activeTable:s,onSelectTable:o,onClose:a}){return e.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1.5 bg-[var(--bg-card)] border-b border-[var(--border-default)] flex-wrap",children:[t.map(n=>e.jsx(Xe,{tab:n,isActive:s===n.dataKey,onClick:()=>o(n.dataKey)},n.dataKey)),e.jsx("div",{className:"flex-1"}),e.jsx("button",{onClick:a,className:"w-5 h-5 flex items-center justify-center text-[var(--text-dim)] hover:text-[var(--text-primary)] bg-[var(--bg-input)] hover:bg-[var(--border-default)] rounded-full border-none cursor-pointer text-xs transition-colors",title:"Close",children:"×"})]})}function Xe({tab:t,isActive:s,onClick:o}){const a=t.category==="datastore"?s?"text-[var(--accent-active)] bg-[var(--accent-active)]/15 border-[var(--accent-active)]/40":"text-[var(--accent-active)]/60 bg-transparent border-transparent hover:text-[var(--accent-active)]/80":t.category==="mock-api"?s?"text-[#D7FF63] bg-[#D7FF63]/15 border-[#D7FF63]/40":"text-[#D7FF63]/60 bg-transparent border-transparent hover:text-[#D7FF63]/80":s?"text-[var(--text-primary)] bg-[var(--border-default)] border-[var(--border-default)]":"text-[var(--text-dim)] bg-transparent border-transparent hover:text-[var(--text-secondary)]";return e.jsx("button",{onClick:o,className:`px-2.5 py-0.5 text-[10px] font-semibold uppercase tracking-wider rounded cursor-pointer border transition-colors ${a}`,children:t.label})}const P3=Object.freeze(Object.defineProperty({__proto__:null,DataViewerTabBar:ao,DataViewerTabButton:Xe},Symbol.toStringTag,{value:"Module"}));function no({featureName:t,onClose:s}){return e.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center",style:{background:"rgba(30, 30, 30, 0.90)"},"data-testid":"send-transcript-backdrop",onMouseDown:o=>{o.target===o.currentTarget&&s()},children:e.jsx(zt,{featureName:t,onClose:s})})}const w3=Object.freeze(Object.defineProperty({__proto__:null,SendTranscriptOverlay:no},Symbol.toStringTag,{value:"Module"}));function pe(){return e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:16,padding:16,background:"#0d1117",color:"#c9d1d9",fontFamily:"'SF Mono', Menlo, monospace",fontSize:13},children:[e.jsx(ds,{title:"Section Header Example"}),e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsx(H,{color:"#238636",children:"ACTIVE"}),e.jsx(H,{color:"#d29922",children:"WARNING"}),e.jsx(H,{color:"#da3633",children:"ERROR"}),e.jsx(H,{color:"#D7FF63",children:"INFO"})]}),e.jsxs("div",{style:{display:"flex",gap:12},children:[e.jsx(O,{method:"GET"}),e.jsx(O,{method:"POST"}),e.jsx(O,{method:"PUT"}),e.jsx(O,{method:"DELETE"}),e.jsx(O,{method:"PATCH"})]}),e.jsx(Q,{color:"#238636",children:"Success status message"}),e.jsx(Q,{color:"#d29922",children:"Warning status message"}),e.jsx(Q,{color:"#8b949e",children:"Neutral status message"})]})}const k3=Object.freeze(Object.defineProperty({__proto__:null,InspectorPrimitivesShowcase:pe},Symbol.toStringTag,{value:"Module"})),N3=[{type:"http_request",id:"evt-1",timestampMs:Date.now(),method:"GET",url:"/api/tasks",status:200,durationMs:2,mocked:!0},{type:"http_request",id:"evt-2",timestampMs:Date.now(),method:"POST",url:"/api/users/register",status:201,durationMs:145,mocked:!1}];function ue({events:t}){const s=t??N3;return e.jsx("div",{style:{background:"#0d1117",padding:16},children:e.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:12,fontFamily:"'SF Mono', Menlo, monospace",color:"#c9d1d9"},children:[e.jsx("thead",{children:e.jsxs("tr",{style:{borderBottom:"1px solid #30363d"},children:[e.jsx("th",{style:B,children:"Time"}),e.jsx("th",{style:B,children:"Method"}),e.jsx("th",{style:{...B,textAlign:"left"},children:"URL"}),e.jsx("th",{style:B,children:"Status"}),e.jsx("th",{style:B,children:"Duration"}),e.jsx("th",{style:B,children:"Source"})]})}),e.jsx("tbody",{children:s.map(o=>e.jsx(RM,{event:o},o.id))})]})})}const T3=Object.freeze(Object.defineProperty({__proto__:null,InspectorTrafficRowShowcase:ue},Symbol.toStringTag,{value:"Module"}));function ro(){return e.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-0",style:{background:"repeating-linear-gradient(45deg, transparent 0 24px, rgba(255,255,255,0.025) 24px 48px)"}})}const R3=Object.freeze(Object.defineProperty({__proto__:null,StaleDbStripeOverlay:ro},Symbol.toStringTag,{value:"Module"}));function Ze({error:t}){return e.jsx("div",{"data-codeyam-scenario-error":"seed",className:"flex min-h-screen items-center justify-center bg-[var(--bg-deep)] text-[var(--accent-red)]",children:e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-lg",children:"Seed Error"}),e.jsx(k,{text:t,copyText:`Seed Error: ${t}`,className:"text-sm text-[var(--accent-red)]",rowClassName:"mt-2 justify-center"}),e.jsx("p",{className:"mt-2 text-xs text-[var(--text-muted)]",children:"The database state shown may not match this scenario."})]})})}const D3=Object.freeze(Object.defineProperty({__proto__:null,ScenarioSeedErrorView:Ze},Symbol.toStringTag,{value:"Module"}));function io(){const{projectDir:t,inContainer:s,loaded:o}=ko();return!o||t===null?null:e.jsxs("p",{className:"text-xs",style:{color:"var(--text-dim)"},children:[AD,e.jsx("code",{children:t}),FD(s)]})}const E3=Object.freeze(Object.defineProperty({__proto__:null,ConnectionIdentityLine:io},Symbol.toStringTag,{value:"Module"}));function $(t,s,o){return{name:t,light:bt(s),dark:o?bt(o):null}}function bt(t){const s=[{label:"Background",cssVar:"--bg-default",value:t.bg},{label:"Surface",cssVar:"--bg-surface",value:t.surface},{label:"Text",cssVar:"--text-primary",value:t.text},{label:"Primary",cssVar:"--accent-primary",value:t.primary},{label:"Secondary",cssVar:"--accent-secondary",value:t.secondary},{label:"Accent",cssVar:"--accent-highlight",value:t.accent}],o={};for(const a of s)a.cssVar&&a.value&&(o[a.cssVar]=a.value);return{vars:o,slots:s}}function M3(){return[$("Lime Bright",{bg:"#F4F4EE",surface:"#FFFFFF",text:"#0F0F0F",primary:"#D7FF63",secondary:"#9DA48F",accent:"#FF6B5C"},{bg:"#14160F",surface:"#25251F",text:"#F1EFEA",primary:"#D7FF63",secondary:"#4D5247",accent:"#FF6B5C"}),$("Warm Cream",{bg:"#EFE9DA",surface:"#F8F3E7",text:"#3B2F1C",primary:"#C44536",secondary:"#7A9E7E",accent:"#EAA64A"},{bg:"#1F1A11",surface:"#2A2418",text:"#EFE9DA",primary:"#E07767",secondary:"#A9CBA9",accent:"#EAA64A"}),$("Cool Mono",{bg:"#F5F6F8",surface:"#FFFFFF",text:"#101218",primary:"#2B2D3A",secondary:"#8B8FA3",accent:"#5C8DFF"},{bg:"#0E1016",surface:"#181B23",text:"#E9EBF2",primary:"#E9EBF2",secondary:"#8B8FA3",accent:"#7CA0FF"}),$("Bold Pop",{bg:"#FFF8F0",surface:"#FFFFFF",text:"#181818",primary:"#FF3D7F",secondary:"#3DD2FF",accent:"#FFD60A"},{bg:"#161113",surface:"#1F1A1D",text:"#FFF8F0",primary:"#FF3D7F",secondary:"#3DD2FF",accent:"#FFD60A"})]}function et({palettes:t,activeName:s,theme:o,onApply:a}){const n=(()=>{const r=new Set(t.map(l=>l.name.toLowerCase())),i=M3().filter(l=>!r.has(l.name.toLowerCase()));return[...t,...i]})();return e.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:n.map(r=>{const i=o==="dark"&&r.dark?r.dark:r.light,l=r.name===s;return e.jsx("button",{type:"button",onClick:()=>a(r),"aria-pressed":l,"aria-label":`Apply ${r.name} palette`,title:r.name,style:{padding:4,border:l?"2px solid var(--accent-active, #D7FF63)":"1px solid var(--border-default)",borderRadius:8,background:"var(--bg-elevated)",cursor:"pointer"},children:e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 18px)",gridTemplateRows:"repeat(2, 18px)",gap:2},children:i.slots.map(_=>e.jsx("span",{title:_.label,style:{width:18,height:18,borderRadius:4,border:"1px solid var(--border-default)",background:_.value??"transparent"}},_.label))})},r.name)})})}const B3=Object.freeze(Object.defineProperty({__proto__:null,ColorPalettePicker:et},Symbol.toStringTag,{value:"Module"}));function tt({slots:t,values:s,onChange:o}){return e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:"8px 16px"},children:t.map(a=>{const n=!a.cssVar,r=a.cssVar?s[a.cssVar]??a.value??"":"",i=qo(r);return e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"70px 1fr 80px",alignItems:"center",gap:6,opacity:n?.4:1,minWidth:0},children:[e.jsx("span",{style:{fontSize:"var(--text-xs, 12px)",color:"var(--text-primary)",fontWeight:500},children:a.label}),e.jsx("input",{type:"color","aria-label":`${a.label} color`,disabled:n,value:i,onChange:l=>{a.cssVar&&o(a.cssVar,l.target.value)},style:{width:"100%",height:28,border:"1px solid var(--border-default)",borderRadius:6,background:"var(--bg-elevated)",cursor:n?"not-allowed":"pointer"}}),e.jsx("input",{type:"text","aria-label":`${a.label} hex`,disabled:n,value:r,onChange:l=>{a.cssVar&&o(a.cssVar,l.target.value)},spellCheck:!1,style:{padding:"4px 6px",fontSize:"var(--text-xs, 12px)",fontFamily:"var(--font-mono, monospace)",border:"1px solid var(--border-default)",borderRadius:6,background:"var(--bg-elevated)",color:"var(--text-primary)"}})]},a.label)})})}const O3=Object.freeze(Object.defineProperty({__proto__:null,ColorSwatchEditor:tt},Symbol.toStringTag,{value:"Module"}));let vt=!1;function A3(){if(vt||typeof document>"u")return;vt=!0;const t=Vo(Gt.map(o=>o.family));if(!t)return;const s=document.createElement("link");s.rel="stylesheet",s.href=t,s.dataset.codeyamFontPreviews="1",document.head.appendChild(s)}function lo(t,s,o){d.useEffect(()=>{if(!t)return;const a=r=>{var l;const i=r.target;(l=s.current)!=null&&l.contains(i)||o()},n=r=>{r.key==="Escape"&&o()};return document.addEventListener("mousedown",a),document.addEventListener("keydown",n),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",n)}},[t,s,o])}function K({label:t,value:s,onChange:o,hint:a}){const[n,r]=d.useState(!1),i=d.useRef(null),l=d.useRef(null),_=d.useRef(null);d.useEffect(()=>{A3()},[]);const u=d.useCallback(()=>r(!1),[]);lo(n,_,u);const x={sans:[],serif:[],display:[],mono:[]};for(const p of Gt)x[p.category].push(p);return e.jsxs("div",{ref:_,style:{display:"flex",flexDirection:"column",gap:4,fontSize:"var(--text-xs, 12px)",color:"var(--text-primary)",position:"relative"},children:[e.jsx("span",{style:{fontFamily:"var(--font-mono, 'IBM Plex Mono', monospace)",fontSize:11,fontWeight:500,letterSpacing:"0.08em",textTransform:"uppercase",color:"var(--text-secondary)"},children:t}),a&&e.jsx("span",{style:{color:"var(--text-secondary)",fontStyle:"italic"},children:a}),e.jsxs("button",{ref:i,type:"button","aria-haspopup":"listbox","aria-expanded":n,onClick:()=>r(p=>!p),style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:6,padding:"6px 10px",background:"var(--bg-elevated)",color:"var(--text-primary)",border:"1px solid var(--border-default)",borderRadius:6,fontSize:"var(--text-sm, 14px)",fontFamily:s?`"${s}", system-ui, sans-serif`:"inherit",cursor:"pointer",textAlign:"left"},children:[e.jsx("span",{children:s??"System default"}),e.jsx("span",{"aria-hidden":!0,style:{opacity:.6},children:"▾"})]}),n&&e.jsxs("div",{ref:l,role:"listbox",style:{position:"absolute",top:"100%",left:0,right:0,marginTop:4,zIndex:20,background:"var(--bg-surface)",border:"1px solid var(--border-default)",borderRadius:8,boxShadow:"0 8px 24px rgba(0,0,0,0.12)",maxHeight:320,overflowY:"auto",padding:4},children:[e.jsx(Y,{family:null,label:"System default",isActive:s===null,onPick:()=>{o(null),r(!1)}}),Object.keys(x).map(p=>e.jsxs("div",{children:[e.jsx("div",{style:{padding:"6px 10px 2px",fontSize:"var(--text-xs, 11px)",color:"var(--text-secondary)",textTransform:"uppercase",letterSpacing:"0.06em",fontWeight:700},children:Wo[p]}),x[p].map(c=>e.jsx(Y,{family:c.family,label:c.family,isActive:s===c.family,onPick:()=>{o(c.family),r(!1)}},c.family))]},p))]})]})}function Y({family:t,label:s,isActive:o,onPick:a}){return e.jsx("button",{type:"button",role:"option","aria-selected":o,onClick:a,style:{display:"block",width:"100%",padding:"8px 10px",background:o?"var(--bg-elevated)":"transparent",color:"var(--text-primary)",border:"none",borderRadius:4,fontSize:16,fontFamily:t?`"${t}", system-ui, sans-serif`:"inherit",textAlign:"left",cursor:"pointer"},children:s})}const F3=Object.freeze(Object.defineProperty({__proto__:null,FontOptionRow:Y,FontPicker:K},Symbol.toStringTag,{value:"Module"}));function st(){return e.jsx("p",{role:"note",style:{margin:0,padding:"var(--spacing-sm, 8px) var(--spacing-md, 12px)",borderRadius:8,border:"1px solid var(--border-default)",background:"var(--bg-elevated)",color:"var(--text-secondary)",fontSize:"var(--text-sm, 14px)",lineHeight:1.5},children:"This design's colors are built into it directly rather than kept as separate settings, so there is nothing here to change. Designs generated by CodeYam always have editable colors."})}const I3=Object.freeze(Object.defineProperty({__proto__:null,MockupCustomizeNoColorsNotice:st},Symbol.toStringTag,{value:"Module"}));function ot({children:t}){return e.jsx("div",{role:"menu",style:{padding:"var(--spacing-md, 12px)",background:"var(--bg-card, #1a1a1a)",borderTop:"2px solid var(--accent-active, #D7FF63)",borderBottom:"1px solid var(--border-default)",boxShadow:"0 10px 24px rgba(0, 0, 0, 0.45)",position:"relative",zIndex:1},children:t})}const L3=Object.freeze(Object.defineProperty({__proto__:null,MockupCustomizePanelShell:ot},Symbol.toStringTag,{value:"Module"}));function me({children:t}){return e.jsx("h4",{style:{margin:"0 0 8px",fontFamily:"var(--font-mono, 'IBM Plex Mono', monospace)",fontSize:11,fontWeight:500,color:"var(--text-secondary)",textTransform:"uppercase",letterSpacing:"0.08em"},children:t})}const H3=Object.freeze(Object.defineProperty({__proto__:null,MockupCustomizePanelSectionHeading:me},Symbol.toStringTag,{value:"Module"}));function at({palettes:t,activeName:s,theme:o,slots:a,vars:n,onApplyPalette:r,onColorChange:i}){const l=a.some(_=>_.cssVar);return e.jsx(ot,{children:e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:12},children:l?e.jsxs(e.Fragment,{children:[e.jsxs("div",{children:[e.jsx(me,{children:"Palettes"}),e.jsx(et,{palettes:t,activeName:s,theme:o,onApply:r})]}),e.jsxs("div",{children:[e.jsx(me,{children:"Individual colors"}),e.jsx(tt,{slots:a,values:n,onChange:i})]})]}):e.jsx(st,{})})})}const z3=Object.freeze(Object.defineProperty({__proto__:null,MockupCustomizeColorsPanel:at},Symbol.toStringTag,{value:"Module"}));function nt({primaryFont:t,secondaryFont:s,onPrimaryChange:o,onSecondaryChange:a}){return e.jsx(ot,{children:e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:16},children:[e.jsx(K,{label:"Headings",value:s,onChange:a}),e.jsx(K,{label:"Body text",value:t,onChange:o})]})})}const G3=Object.freeze(Object.defineProperty({__proto__:null,MockupCustomizeFontsPanel:nt},Symbol.toStringTag,{value:"Module"}));function q(t){return{height:28,padding:"0 8px",background:t?"#555":"#3a3a3a",color:t?"#ffffff":"#d1d5db",border:"none",borderRadius:4,fontSize:11,fontFamily:"var(--font-mono, 'IBM Plex Mono', monospace)",fontWeight:400,letterSpacing:"0.04em",cursor:"pointer",display:"inline-flex",alignItems:"center",gap:4}}function rt({systemName:t,openMenu:s,theme:o,hasDark:a,saving:n,toolbarRef:r,onBack:i,onToggleMenu:l,onToggleTheme:_,onReset:u,onSave:x}){return e.jsxs("div",{ref:r,style:{display:"flex",alignItems:"center",gap:8,padding:"0 8px",height:40,borderBottom:"1px solid #3d3d3d",background:"#2d2d2d",flexWrap:"nowrap"},children:[e.jsx("button",{type:"button",onClick:i,"aria-label":"Back to mockups",style:{...q(!1),background:"transparent"},children:"← Back"}),e.jsxs("span",{style:{color:"#9ca3af",fontSize:13,fontFamily:"'IBM Plex Sans', system-ui, sans-serif",fontWeight:400,marginRight:4},children:["Customize: ",t]}),e.jsxs("button",{type:"button","aria-haspopup":"menu","aria-expanded":s==="fonts",onClick:()=>l("fonts"),style:q(s==="fonts"),children:["Fonts ",e.jsx("span",{"aria-hidden":!0,style:{opacity:.7},children:"▾"})]}),e.jsxs("button",{type:"button","aria-haspopup":"menu","aria-expanded":s==="colors",onClick:()=>l("colors"),style:q(s==="colors"),children:["Colors ",e.jsx("span",{"aria-hidden":!0,style:{opacity:.7},children:"▾"})]}),e.jsx("button",{type:"button",onClick:u,style:{...q(!1),background:"transparent",color:"#9ca3af"},children:"Reset"}),e.jsx("div",{style:{flex:1}}),a&&e.jsx($t,{theme:o,onToggle:_,size:28}),e.jsx("button",{type:"button",onClick:x,disabled:n,style:{height:28,padding:"0 10px",background:"var(--accent-active, #D7FF63)",color:"var(--text-on-accent, #0F0F0F)",border:"none",borderRadius:4,fontSize:11,fontFamily:"var(--font-mono, 'IBM Plex Mono', monospace)",fontWeight:500,letterSpacing:"0.04em",cursor:n?"wait":"pointer",opacity:n?.7:1},children:n?"SAVING…":"SAVE"})]})}const $3=Object.freeze(Object.defineProperty({__proto__:null,MockupCustomizeToolbar:rt},Symbol.toStringTag,{value:"Module"}));function co({mockup:t,systemName:s,initial:o,onBack:a,onSave:n,saving:r=!1}){const{state:i,overrides:l,setOverrides:_,theme:u,setTheme:x,hasDark:p,srcDoc:c,stackedVars:v,slots:b,activePaletteName:g,applyPalette:S,changeColor:f,reset:h}=Uo(t.url,s,o),[y,C]=d.useState(null),T=d.useRef(null),E=d.useCallback(()=>C(null),[]);return lo(y!==null,T,E),e.jsxs("div",{"data-testid":"mockup-customize-view",className:"flex-1 flex flex-col min-w-0",style:{overflow:"hidden",position:"relative"},children:[e.jsxs("div",{ref:T,children:[e.jsx(rt,{systemName:s,openMenu:y,theme:u,hasDark:p,saving:r,toolbarRef:{current:null},onBack:()=>a(l),onToggleMenu:j=>C(P=>P===j?null:j),onToggleTheme:()=>x(j=>j==="light"?"dark":"light"),onReset:h,onSave:()=>n(l)}),y==="fonts"&&e.jsx(nt,{primaryFont:l.primaryFont,secondaryFont:l.secondaryFont,onPrimaryChange:j=>_(P=>({...P,primaryFont:j})),onSecondaryChange:j=>_(P=>({...P,secondaryFont:j}))}),y==="colors"&&e.jsx(at,{palettes:i.kind==="ready"?i.palettes:[],activeName:g,theme:u,slots:b,vars:v,onApplyPalette:S,onColorChange:f})]}),i.kind==="error"&&e.jsx(Qo,{message:i.message}),i.kind==="loading"?e.jsx("div",{style:{flex:1,minHeight:0,overflow:"auto",background:"white",padding:"var(--spacing-lg, 16px)",color:"var(--text-secondary)"},children:"Loading mockup…"}):i.kind==="ready"?e.jsx(qt,{html:i.html,srcDoc:c,theme:u,mockupUrl:t.url,mockupName:t.name}):null]})}const q3=Object.freeze(Object.defineProperty({__proto__:null,MockupCustomizeView:co},Symbol.toStringTag,{value:"Module"}));function it({name:t,url:s}){return e.jsx("div",{className:"flex min-h-screen items-center justify-center bg-[var(--bg-deep)] text-[var(--text-muted)]",children:e.jsxs("div",{className:"max-w-md text-center",children:[e.jsx("p",{className:"text-lg",children:t}),e.jsx("p",{className:"mt-2 text-sm",children:"This is an application scenario — it renders on its own app route, not the component preview path."}),s?e.jsxs("p",{className:"mt-3 text-sm",children:["Open it at"," ",e.jsx("a",{href:s,className:"underline text-[var(--accent-blue,#6ab0ff)]",children:s})," ","(its seed and mocks are already active)."]}):e.jsx("p",{className:"mt-3 text-sm",children:"Activate the scenario, then navigate the preview to its app route to see it."})]})})}const V3=Object.freeze(Object.defineProperty({__proto__:null,ScenarioRendererAppDeadEnd:it},Symbol.toStringTag,{value:"Module"})),ht={singular:"item",plural:"items",pluralCap:"Items",field:"name",fields:"name, description, image",fieldsTitleCase:"Name, description, and image",currentCount:0,exampleSuggestions:["Add user accounts","Track saves per item","Remember people's preferences"]},W3={supabaseProject:"your-app",connectedOn:"today",describedOn:"today"};function U3(t){return[{title:`A ${t.singular} table`,caption:`${t.fieldsTitleCase}, ready to edit.`,where:"database"},{title:`Saved ${t.plural} tied to each person`,caption:"Their list is remembered between visits and devices.",where:"database"},{title:`An admin screen to add & edit ${t.plural}`,caption:"A simple form, no code, changes go live instantly.",where:"/admin"},{title:`Your current ${t.plural} copied in`,caption:`The ${t.currentCount} ${t.plural} already in your app become real, editable data.`,where:"migration"}]}function Q3(t){return`Store ${t.plural} (${t.fields}) and which ${t.plural} each person saved. Let me add and edit ${t.plural} from an admin screen.`}function F({tone:t,icon:s,title:o,subtitle:a,children:n}){return e.jsxs("div",{className:`rd-zone rd-z-${t}`,children:[e.jsxs("div",{className:"rd-zhd",children:[e.jsx("div",{className:"rd-zn",children:s}),e.jsxs("div",{className:"rd-ztext",children:[e.jsx("div",{className:"rd-zt",children:o}),e.jsx("div",{className:"rd-zs",children:a})]})]}),n]})}const J3=Object.freeze(Object.defineProperty({__proto__:null,RealDataZone:F},Symbol.toStringTag,{value:"Module"}));function _o({entity:t,connection:s,onPlan:o}){const[a,n]=d.useState(new Set),[r,i]=d.useState(!1),l=U3(t),_=Q3(t),u=p=>{n(c=>{const v=new Set(c);return v.has(p)?v.delete(p):v.add(p),v})},x=()=>{r||(i(!0),o==null||o())};return e.jsxs("div",{className:"rd-content",children:[e.jsxs("div",{className:"rd-shead",children:[e.jsx("div",{className:"rd-badge",children:e.jsx(M,{size:25})}),e.jsxs("div",{children:[e.jsx("h1",{className:"rd-title",children:"Use real data"}),e.jsxs("div",{className:"rd-via",children:["powered by ",e.jsx("b",{children:"Supabase"})," · a secure database used by modern apps"]}),e.jsxs("p",{className:"rd-lead",children:["Move your ",t.plural," out of the code and into a database, so you (or a teammate) can add and edit them without a developer, and so each person's saved list is remembered for good."]})]})]}),e.jsxs(F,{tone:"learn",icon:e.jsx(Vt,{size:16}),title:"Understand it first",subtitle:"No jargon — here's what a database actually does for you.",children:[e.jsxs("p",{children:["A database is just a ",e.jsx("b",{children:"labelled place your app remembers things"})," — like a spreadsheet it can read and write instantly. Today your"," ",t.plural," are typed into the code, so changing one means changing the app."]}),e.jsxs("p",{children:["Move them into a database and a ",t.singular," becomes"," ",e.jsx("b",{children:"data you can edit"})," from a simple screen. Update a ",t.field," ","once and it changes everywhere, instantly."]}),e.jsxs("div",{className:"rd-ba",children:[e.jsxs("div",{className:"rd-bx2 rd-now",children:[e.jsx("div",{className:"rd-batag",children:"Now · in the code"}),e.jsxs("div",{className:"rd-baln",children:[e.jsx(le,{size:13}),"A developer edits ",t.plural]}),e.jsxs("div",{className:"rd-baln",children:[e.jsx(le,{size:13}),"Saves reset on refresh"]})]}),e.jsx("div",{className:"rd-arrowmid",children:"→"}),e.jsxs("div",{className:"rd-bx2 rd-next",children:[e.jsx("div",{className:"rd-batag",children:"After · in a database"}),e.jsxs("div",{className:"rd-baln",children:[e.jsx(D,{size:13}),"You edit ",t.plural," yourself"]}),e.jsxs("div",{className:"rd-baln",children:[e.jsx(D,{size:13}),"Saves last forever"]})]})]})]}),e.jsxs(F,{tone:"tell",icon:e.jsx(Wt,{size:16}),title:"Tell CodeYam what to remember",subtitle:"Describe it in plain words. This is the instruction it follows.",children:[e.jsxs("div",{className:"rd-field",children:[e.jsx("span",{className:"rd-edit",children:"Edit"}),_]}),e.jsx("div",{className:"rd-examples",children:t.exampleSuggestions.map((p,c)=>e.jsxs("button",{type:"button",className:"rd-ex"+(a.has(c)?" added":""),onClick:()=>u(c),children:[e.jsx("span",{className:"rd-plus",children:a.has(c)?"✓":"+"}),p]},p))})]}),e.jsx(F,{tone:"build",icon:e.jsx(Ut,{size:16}),title:"What CodeYam will build",subtitle:`${l.length} changes, each previewable before it ships.`,children:e.jsx("div",{className:"rd-builds",children:l.map(p=>e.jsxs("div",{className:"rd-bitem",children:[e.jsx("div",{className:"rd-bx",children:e.jsx(D,{size:13})}),e.jsxs("div",{className:"rd-bmain",children:[e.jsx("b",{children:p.title}),e.jsx("span",{children:p.caption})]}),e.jsx("span",{className:"rd-where",children:p.where})]},p.title))})}),e.jsx(F,{tone:"track",icon:e.jsx(Qt,{size:16}),title:"Track what's done",subtitle:"So you always know where you left off, even weeks later.",children:e.jsxs("div",{className:"rd-tl",children:[e.jsxs("div",{className:"rd-te",children:[e.jsxs("div",{className:"rd-tdot",children:[e.jsx("div",{className:"rd-nd done",children:e.jsx(D,{size:12})}),e.jsx("div",{className:"rd-tline"})]}),e.jsxs("div",{className:"rd-tc",children:[e.jsxs("div",{className:"rd-tt",children:["Connected a Supabase project"," ",e.jsx("span",{className:"rd-when",children:s.connectedOn})]}),e.jsxs("div",{className:"rd-td",children:['Project "',s.supabaseProject,`" linked. CodeYam holds the keys — you don't manage servers.`]})]})]}),e.jsxs("div",{className:"rd-te",children:[e.jsxs("div",{className:"rd-tdot",children:[e.jsx("div",{className:"rd-nd done",children:e.jsx(D,{size:12})}),e.jsx("div",{className:"rd-tline"})]}),e.jsxs("div",{className:"rd-tc",children:[e.jsxs("div",{className:"rd-tt",children:["Described what to store"," ",e.jsx("span",{className:"rd-when",children:s.describedOn})]}),e.jsxs("div",{className:"rd-td",children:[t.pluralCap," and per-person saved lists. You can refine this above anytime."]})]})]}),e.jsxs("div",{className:"rd-te is-todo",children:[e.jsx("div",{className:"rd-tdot",children:e.jsx("div",{className:"rd-nd now",children:"3"})}),e.jsxs("div",{className:"rd-tc",children:[e.jsxs("div",{className:"rd-tt",children:["Plan & build the ",l.length," changes"]}),e.jsx("div",{className:"rd-td",children:"Next step. Nothing is built or charged until you do this."})]})]})]})}),e.jsxs("div",{className:"rd-foot",children:[e.jsx("button",{type:"button",className:"rd-cta"+(r?" done":""),onClick:x,disabled:r,children:r?"Added to your plans ✓":e.jsxs(e.Fragment,{children:["Plan these ",l.length," changes"," ",e.jsx("span",{className:"rd-ar",children:"→"})]})}),e.jsxs("div",{className:"rd-fnote",children:["They'll land in your ",e.jsx("b",{children:"Plan"})," tab. Your live app keeps working on its current data until they ship."]})]})]})}const K3=Object.freeze(Object.defineProperty({__proto__:null,RealDataConnected:_o},Symbol.toStringTag,{value:"Module"})),Y3=1800;function po({entity:t,onConnect:s}){const[o,a]=d.useState(!1),n=()=>{o||(a(!0),window.setTimeout(s,Y3))};return e.jsxs("div",{className:"rd-content",children:[e.jsxs("div",{className:"rd-shead",children:[e.jsx("div",{className:"rd-badge",children:e.jsx(M,{size:25})}),e.jsxs("div",{children:[e.jsxs("h1",{className:"rd-title",children:["Use real data ",e.jsx("span",{className:"rd-pill",children:"Not set up"})]}),e.jsxs("div",{className:"rd-via",children:["powered by ",e.jsx("b",{children:"Supabase"})]}),e.jsxs("p",{className:"rd-lead",children:["Right now your ",t.plural," live inside the code, and anything people save resets when they leave. To remember things for good, your app needs a database. CodeYam uses Supabase."]})]})]}),e.jsxs("div",{className:"rd-explain",children:[e.jsxs("div",{className:"rd-eh",children:[e.jsx("span",{className:"rd-q",children:"?"}),"New to Supabase? Here's the short version"]}),e.jsxs("div",{className:"rd-lede",children:[e.jsx("b",{children:"Supabase is your app's memory."})," It's a database — a secure, organised place your app stores everything it needs to remember: your"," ",t.plural,", who saved what, people's profiles. Think of a smart filing cabinet your app can read from and write to in an instant."]}),e.jsxs("div",{className:"rd-erows",children:[e.jsxs("div",{className:"rd-erow",children:[e.jsx("div",{className:"rd-en",children:e.jsx(M,{size:16})}),e.jsxs("div",{className:"rd-et",children:[e.jsx("b",{children:"It remembers everything"}),e.jsxs("span",{children:["Your ",t.plural,", saved lists, and profiles are kept safe"," ",e.jsx("em",{children:"even after everyone closes the app"}),", instead of resetting."]})]})]}),e.jsxs("div",{className:"rd-erow",children:[e.jsx("div",{className:"rd-en",children:e.jsx(U,{size:16})}),e.jsxs("div",{className:"rd-et",children:[e.jsx("b",{children:"It keeps data private"}),e.jsxs("span",{children:["Built-in rules decide who can see what, so"," ",e.jsx("em",{children:"one person can't read another's"})," saved ",t.plural," or details."]})]})]}),e.jsxs("div",{className:"rd-erow",children:[e.jsx("div",{className:"rd-en",children:e.jsx(ce,{size:16})}),e.jsxs("div",{className:"rd-et",children:[e.jsx("b",{children:"It's yours to edit"}),e.jsxs("span",{children:["Change a ",t.singular," in a simple screen and it updates"," ",e.jsx("em",{children:"everywhere, instantly"}),", with no developer involved."]})]})]})]}),e.jsxs("div",{className:"rd-why",children:[e.jsxs("div",{className:"rd-wh",children:[e.jsx(Jt,{size:15}),"Why CodeYam picks Supabase for you"]}),[{lead:"Free to start, no card needed.",rest:"A generous free tier covers a new app comfortably. You only pay if it grows popular, and you'll see it coming."},{lead:"Built on standard Postgres.",rest:"Your core data lives in a standard Postgres database, so it's portable and easy to export — moving it elsewhere is straightforward. (Auth, file storage, and row-level security are Supabase-specific.)"},{lead:"Little for you to manage.",rest:`No servers to run or patch, and paid tiers keep automatic daily backups. One caveat on the free tier: ${_t("supabase.free").value} — so keep your own export and plan to upgrade before launch.`}].map(r=>e.jsxs("div",{className:"rd-whyrow",children:[e.jsx("span",{className:"rd-wc",children:e.jsx(D,{size:11})}),e.jsxs("p",{children:[e.jsx("b",{children:r.lead})," ",r.rest]})]},r.lead))]})]}),e.jsxs("div",{className:"rd-connect",children:[e.jsx("div",{className:"rd-ct",children:"Connect or create your Supabase project"}),e.jsx("div",{className:"rd-cd",children:"A new window opens on Supabase. If you already have an account, sign in. If not, you'll make one — it's free and takes a few minutes. CodeYam links to it and holds the keys, so you never touch a server."}),e.jsx("button",{type:"button",className:"rd-cbtn",onClick:n,disabled:o,children:o?e.jsxs(e.Fragment,{children:[e.jsx(Kt,{size:16}),"Opening Supabase…"]}):e.jsxs(e.Fragment,{children:[e.jsx(Yt,{size:16}),"Connect Supabase"]})}),e.jsxs("div",{className:"rd-reassure",children:[e.jsxs("span",{children:[e.jsx(D,{size:13}),"Free to start, no card needed"]}),e.jsxs("span",{children:[e.jsx(D,{size:13}),"Takes about 3 minutes"]}),e.jsxs("span",{children:[e.jsx(D,{size:13}),"Disconnect any time"]})]})]}),e.jsx("div",{className:"rd-uplabel",children:"Then, once you're connected"}),e.jsxs("div",{className:"rd-locked",children:[e.jsxs("div",{className:"rd-lrow",children:[e.jsx("div",{className:"rd-ln",children:e.jsx(Xt,{size:15})}),e.jsxs("div",{className:"rd-lt",children:[e.jsx("b",{children:"Tell us what to remember"}),e.jsxs("span",{children:['A sentence in plain language, like "store ',t.plural,' and which ones each person saved."']})]}),e.jsx("span",{className:"rd-lk",children:e.jsx(U,{size:15})})]}),e.jsxs("div",{className:"rd-lrow",children:[e.jsx("div",{className:"rd-ln",children:e.jsx(ce,{size:15})}),e.jsxs("div",{className:"rd-lt",children:[e.jsx("b",{children:"CodeYam builds your data & admin screen"}),e.jsxs("span",{children:["A ",t.singular," table, saved lists, and a simple screen to add or edit ",t.plural," — each a plan you preview before it ships."]})]}),e.jsx("span",{className:"rd-lk",children:e.jsx(U,{size:15})})]})]}),e.jsx("div",{className:"rd-uplabel",children:"Common questions"}),e.jsx(Zt,{items:[{q:"What happens to my data if I stop paying or leave?",a:`Your data is in standard Postgres, so you can export it at any time and take it with you. On Supabase's free tier, ${_t("supabase.free").value}, so keep your own export and don't rely on it for anything you can't lose. Paid tiers add automatic daily backups, and because the core is Postgres, moving to another host later is straightforward.`},{q:"Is my data really safe on the free tier?",a:"It's secure, but the free tier is meant for building and trying things, not for production data you can't afford to lose. Free projects pause when idle and have no automatic backups, so upgrade to a paid tier (or keep regular exports) before real people depend on it."}]}),e.jsx(es,{assistKey:"real-data",topicName:"Use real data"})]})}const X3=Object.freeze(Object.defineProperty({__proto__:null,RealDataNotConnected:po},Symbol.toStringTag,{value:"Module"})),Z3={AppleGlyph:mh,ArrowRightIcon:uh,GoogleGlyph:ph,GraduationIcon:dh,MagicLinkIcon:_h,PaperPlaneIcon:ch,PersonIcon:lh,WarningTriangleIcon:ih,ChatIcon:Wt,CheckGlyph:D,ClockIcon:Qt,CubeIcon:Ut,InfoCircleIcon:Vt,LinkIcon:Yt,ListLinesIcon:Xt,ScreenIcon:ce,ShieldCheckIcon:Jt,SpinnerIcon:Kt,XCircleIcon:le,SetupStepper:rh,SetupStep:nh,SetupAccountRow:ah,MethodChips:oh,EditableField:sh,ExampleChips:th,BuildList:eh,ControlNote:Zv,SetupPlanFooter:Xv,AccountsConnected:Yv,EmailsConnected:Kv,PaymentsConnected:Jv,ModeBar:Qv,RealDataConnected:_o,RealDataNotConnected:po,RealDataZone:F,RealSetupFlow:Uv,SetupNotConnected:Wv,DesignAssetDropLabel:Vv,PendingFileCard:qv,PendingFileList:$v,SaveAssetsButton:Gv,AssetSaveErrorMessage:zv,AssetSaveSuccessMessage:Hv,ProviderAuthGate:Lv,ProviderAuthenticateCta:J2,GatedAgentChat:Q2,ProviderAuthModal:U2,ClaudeOAuthFlow:W2,ApiKeyFlow:V2,AppServiceCredentialModal:Iv,CredentialRequestPreviewPane:Fv,DetectedServiceRow:Av,ServiceRow:Ov,ApiKeyField:Bv,ProviderLogo:Mv,G:Ev,ExternalServicesScreenConnected:Dv,ConnectionIdentityLine:io,PreviewForwardPortNotice:Rv,AppCard:Tv,AppDetail:Nv,AppOverview:kv,BuildTab:wv,BuildTabLayout:Pv,BuildTabPane:Cv,BuildTabPaneLayout:jv,BuildTabRecoveryPanel:Sv,BuildTabSessionContent:yv,BuildTabStartupError:fv,BuildTabReadyToBuildPlaceholder:fs,BuildTabTerminalSession:hv,AppSelector:hs,AppTypeBadge:vv,BreadcrumbNav:bv,EntityBreadcrumb:gv,BuildingPreviewOverlay:xv,ConnectionBadge:$M,DebugModeButton:mv,DebugModal:uv,DebugModalElementPreview:pv,DebugModalInfoPanel:dv,DebugOverlay:_v,DebugAncestryList:cv,DebugAncestrySection:lv,DebugPropsChips:iv,DebugFreezePill:rv,OpenInEditorErrorToast:nv,CyLogo:aB,DeviceIcon:av,EditorNavBar:ov,DesktopTitleBar:sv,IdleBanner:tv,BlockedBanner:ev,StuckTurnBanner:Dt,StuckTurnBannerAgentReadyShowcase:ys,TurnEndedOffGateBanner:Et,TurnEndedOffGateBannerAgentReadyShowcase:Ss,NotificationSettingsControlsShowcase:js,EditorSessionRecoveryActionButton:Zb,EditorSessionRecoveryDialog:Xb,EditorSessionRecoveryHeader:Yb,EditorSessionRecovery:Kb,EditorSessionRecoverySummaryRow:Jb,EditorSessionRecoverySummary:Qb,EditorShellHomeTabContent:Ub,EditorShellBuildLayer:Wb,EditorShellLayout:Vb,EditorShellLeftPane:qb,EditorShellPlanLayer:$b,EditorShellPreviewPane:Gb,EditorShellTabLayer:zb,MobilePaneSwitcher:Hb,GearIcon:Lb,EventCard:we,EventStream:Cs,EntryTypeBadge:je,CollapsibleMarkdown:wt,FeatureNameButton:Ib,FeatureGroupView:Ne,FileChangeSummary:fe,FileStatusIndicator:Fb,HistoryTab:Ab,HistoryEntryCard:Ob,HistoryDigest:Bb,HistoryDigestStatRow:Mb,HistoryRangeSelector:Eb,DigestHeader:Db,CommitOnlyHistoryRow:Rb,NotificationSettingsControls:be,NotificationSetupBanner:Tb,DebugNotificationsButton:Nb,IdleTriggerCheckbox:kb,JournalEntryCard:Se,JournalEntryDetails:ye,JournalView:xs,ReviewsTab:wb,ReviewDetailCard:Pb,ScenarioComparisonRow:Cb,CapturePane:jb,ReviewFindingRow:Sb,LearnSetupScreen:Rt,LibrariesCatalogScreen:yb,LibraryGroupSection:fb,LibraryRow:hb,AddTopicForm:vb,SetupAddTopicRow:bb,SetupTopicRouter:gb,ExternalServicesScreen:xb,ProvisionWithBrokerCta:mb,HostingScreen:ub,RunLocallyScreen:pb,WiredProviderBanner:db,StoreAccountsScreen:_b,ExtensionAssetsScreen:cb,PermissionsJustificationScreen:lb,PermissionRow:ib,ExtensionPrivacyPolicyScreen:rb,OAuthVerificationScreen:nb,SinglePurposeListingScreen:ab,ManifestVersioningScreen:ob,SubmitReviewScreen:sb,ExtensionDistributionScreen:tb,StagingPreviewScreen:eb,StagingEnvironmentScreen:Zg,PreReleaseScreen:Xg,RealDataScreen:Yg,DeployTargetScreen:Kg,DatabaseBackupsScreen:Jg,SecretsScreen:Qg,ApiAuthScreen:Ug,CorsOriginsScreen:Wg,BackgroundJobsScreen:Vg,LoggingMonitoringScreen:qg,AccountsScreen:$g,EmailsScreen:Gg,PaymentsScreen:zg,AnalyticsMonitoringScreen:Hg,LegalScreen:Lg,DataSafetyScreen:Ig,PublishScreen:Fg,CustomDomainScreen:Ag,FormsScreen:Og,AnalyticsSeoScreen:Bg,RedirectsNotFoundScreen:Mg,PerformanceImagesScreen:Eg,CommentsSearchScreen:Dg,PublishRegistryScreen:Rg,VersioningChangelogScreen:Tg,InstallDocsScreen:Ng,ReleaseBuildsScreen:kg,ShellCompletionsScreen:wg,CliUxScreen:Pg,SupplyChainScreen:Cg,ExamplesScreen:jg,ApiDocsScreen:Sg,BackendApiDocsScreen:yg,SemverPolicyScreen:fg,ReadmeLicenseScreen:hg,ChangelogCiScreen:vg,DevAccountsScreen:bg,StoreAssetsScreen:gg,StoreListingScreen:xg,TestingDistributionScreen:mg,PushNotificationsScreen:ug,CrashReportingScreen:pg,InAppPurchasesScreen:dg,AppPrivacyScreen:_g,AppReviewScreen:cg,LabeledSection:N,FilterBar:Ps,LeftPanel:lg,ModifiedFilesList:Nt,NavLink:re,Markdown:_s,NewProjectQuestionnaire:ig,NewProjectQuestionnaireInner:rg,DesignAddAssetsStep:ws,QuestionnaireProviderStep:ng,QuestionnaireProviderAuthPanel:ag,OnboardingShell:og,OnboardingPromptStep:sg,OnboardingTypeChips:tg,OnboardingPromptBox:eg,OnboardingFileChip:Zx,DesignSessionBrandRow:Xx,DesignSessionCanvasHeader:Yx,DesignSessionCanvas:Kx,DesignSessionGenerating:Jx,DesignSessionPreparing:Qx,DesignSessionSpinner:Ux,DesignSessionChatPane:Wx,DesignChatFeed:Vx,DesignChatActivity:qx,DesignChatAgentMessage:$x,DesignChatComposer:Gx,DesignChatDecisionCard:zx,DesignChatPickCard:Hx,DesignChatSuggestions:Lx,DesignQuestionPersonality:Ix,DesignQuestionRefs:Fx,MockupFeedbackStars:Ax,MockupDetailModal:Ox,MockupDetailBody:Bx,MockupDetailSidebar:Mx,Section:Ex,SessionTip:Dx,MockupNoteField:Rx,DesignIterateBanner:Tx,LoadingDots:Nx,SessionTipCard:kx,DesignChatTerminalPrompt:wx,AgentChatPane:Px,DesignChatQuestionCard:Cx,DesignQuestionsForm:jx,DesignQuestionCard:Sx,DesignQuestionOptions:yx,DesignQuestionChips:fx,DesignQuestionOwnRow:hx,DesignQuestionIdkPill:vx,ColorRow:bx,FontChips:gx,UserMessageBody:xx,OnboardingStackPicker:mx,StackPickerCollapsed:ux,StackPickerResults:px,NotificationSoundSelect:dx,OnboardingListItem:ie,OnboardingDropzone:De,OnboardingDesignAssetsStep:Ns,OnboardingNotificationsStep:_x,QuestionnaireDesignApproachStep:ks,QuestionnaireNotificationsStep:Ts,QuestionnaireDesignChatStep:cx,QuestionnaireDesignChatLaunchPanel:Rs,MockupArchivedRoundView:lx,MockupCard:ix,MockupCardPreviewSlot:rx,MockupDeviceFrame:nx,MockupDeviceNotch:ax,MockupDeviceHomeIndicator:ox,MockupCardFeedback:sx,MockupFeedbackCommentBox:tx,MockupFeedbackRatingSlider:Ms,MockupGridGeneratingOverlay:ex,MockupGridInfoBanner:Zm,MockupGridIterateButton:Xm,MockupPlaceholderCard:Ym,MockupRoundPager:Km,DesignExplorationView:Jm,DesignRoundPreviewPane:Qm,QuestionnaireIntroBanner:Um,QuestionnaireDeviceSelector:Os,QuestionnaireNavButtons:Bs,QuestionnaireOptionCard:ee,PanelDivider:Wm,PromptDropdownPanel:Vm,PreviewCanvas:qm,PreviewEmptyState:$m,PreviewFrame:Gm,BackendResultsPanelView:zm,PlanPreviewPanelView:Hm,PlanPreviewEmptyState:Lm,PlanPreviewHeader:Im,ProjectSetupPreviewView:Fm,ProjectSetupPreviewPane:Am,StartBuildingConfirmModal:Om,ResetBuildConfirmModal:Bm,ProjectSetupHeader:Mm,ProjectSetupDescriptionCard:Em,ProjectSetupDesignCard:Dm,ProjectSetupChosenMockup:Rm,ProjectSetupDesignAssetList:Tm,ProjectLauncher:CB,ProjectRow:jB,ProjectRowActions:SB,ProjectScanForm:yB,ProjectCreateForm:fB,ProjectBootstrapBanner:hB,Thumbnail:vB,RunningBadge:bB,CurrentBadge:gB,ProjectLauncherHeader:xB,ProjectLauncherLoading:mB,ProjectLauncherError:uB,ProjectLauncherEmpty:pB,ProjectOpenError:dB,CreateProjectModal:_B,ProjectLauncherScreen:cB,OpenSourceProjectsSection:lB,OpenSourceProjectRow:iB,ProjectSetupProgressList:Nm,ProjectSetupProgressRow:km,LiveIframeHealthPill:wm,PreviewPanel:Pm,BuildLogsModal:Cm,SimulatorLauncherControls:jm,SimulatorPreviewFrame:()=>d.createElement(bh,{currentWidth:390,currentHeight:844,isFilled:!1,scale:.6,pollMs:6e4}),SimulatorNotBootedPrompt:()=>d.createElement(gh,{pollMs:6e4}),NoBootedSimulatorPlaceholder:Sm,DeviceFrameImage:()=>d.createElement(xh,{src:"/api/screenshots/app-overview-single-app--desktop.png",currentWidth:390,currentHeight:844,isFilled:!1,scale:1}),SimulatorFrameNotice:ym,NativeMirrorNotice:fm,QuestionnaireStepNav:As,QuestionnaireStepPanel:I,AppDetailContent:hm,AppDetailContentError:vm,AppDetailContentLoading:bm,AppDetailHeader:gm,AppCapabilitiesPanel:xm,AppStackPanel:mm,AppStackPanelSummary:um,AppStackPanelBody:pm,AppStackCapabilitiesSlot:dm,CapabilityRow:_m,AppTestSummary:cm,LayoutChainCard:lm,LayoutChainSection:im,RouteDependencyCard:rm,RouteDependencyCardHeader:nm,RouteDependencyEmptyState:am,RouteDependencyList:om,RouteDependencyScenarioStrip:sm,RouteEntityDetail:tm,RouteEntityDetailContent:em,RouteFunctionCard:Zu,RouteFunctionEmptyState:Xu,RouteFunctionList:Yu,RouteEntityDetailHeader:Ku,RouteEntityTabs:Ju,RouteGroupView:Te,RouteImportRow:Be,RouteList:Qu,UnsurfacedPagesSection:Uu,UnsurfacedPagesSectionHeader:Wu,UnsurfacedPageGroup:Vu,UnsurfacedPageRow:qu,UnsurfacedPageRowSummary:$u,UnsurfacedPageInvestigateButton:Gu,RouteListCardThumbnail:zu,RouteScenarioList:Hu,ScenarioCard:Bt,ScenarioRow:Lu,ScenarioDetailPanel:Fs,MockBodyEditor:Ae,MockBodyHeadersEditor:os,MockBodyJsonTextarea:Oe,MockPanelGroup:Is,MockPanelHeader:Ls,MockPanelRow:Le,MockPanelRowActions:Fe,MockPanelRowHeader:Ie,MockSourceBadge:as,RepeatPassMarker:Iu,ScenarioThumbnailGrid:kt,StatusBadge:ke,StepIndicatorBar:Fu,StepIndicatorDropdownItem:Au,TabPane:Ou,TestItem:Mt,TestGroupHeader:Bu,TestGroupList:Mu,TestGroupRow:Eu,TestResultsBadge:Tt,TestSummary:Hs,ProjectTestsSummary:rB,ActivityExitControl:Du,ExitOption:Ru,BuildCardMenu:Tu,ChatHero:Nu,ChatHistorySidebar:ku,LiveDot:wu,RowMenu:Pu,RenameField:Cu,ChatLink:ju,ChatLiveConversation:Su,ChatPastConversation:yu,ChatTab:fu,ChatTerminalToggle:hu,HomeSummaryStrip:vu,Chevron:bu,DesignChatCodeBlock:gu,RouteDimensionFilter:xu,DimensionDeviceIcon:mu,EditorShellChatLayer:uu,ExternalServicesComposer:pu,NotificationBell:du,OwnAnswerField:_u,PixelYam:cu,PlanDocument:lu,WebPanel:iu,ArrowButton:ru,GalleryTile:nu,DetailsGroup:au,TestStatusIcon:ou,ThumbnailStrip:su,CollapseToggleButton:tu,DimensionInput:eu,EditorShell:Zp,EntityDetail:Xp,EntityDetailContent:Yp,EntityDetailHeader:Kp,EntityRefCard:Jp,EntityRefList:Qp,FillPreviewButton:Up,OpenInNewTabButton:Wp,PlaceholderPane:zs,SettingsTab:Vp,CheckInToggleRow:qp,WorkflowSettingsSection:$p,HardeningAutoAction:Gp,SegmentedPicker:zp,PlanTab:Hp,PlanTabHeader:Lp,PlanAuthoringChat:Ip,DescribePane:Fp,DesignSwitchQueuedNotice:Ap,PrototypePane:Op,PrototypeAgentChat:Bp,StartPrototypingButton:Mp,FinishAndFormalizeButton:Ep,PrototypeBuildingInProgressBanner:Dp,PlanChatLaunchCaption:Rp,PlanExpandedHeader:Tp,PlanExpandedTitle:Np,PlanRow:kp,PlanRowClaimBadge:wp,PlanRowDependencyEntry:Pp,PlanRowEditButton:Cp,PlanRowEditChatButton:jp,PlanRowExpandedBody:Sp,PlanRowExpandedChat:yp,PlanRowExpandedDependencies:fp,PlanRowExpandedEdit:hp,PlanRowExpandedView:vp,PlanRunButton:bp,PlanRunBlockedModal:gp,PlanRunForeignClaimModal:xp,PlanRunDependenciesModal:mp,QueuedChangesSection:up,InFlightSection:pp,InFlightPlanRow:dp,CommitQueueSection:_p,CommitQueueRow:cp,CommitQueuePriorityChip:lp,CommitQueueReleaseButton:ip,CommitQueueSaveBar:rp,CommitQueueRowIdentity:np,SortablePlanRow:ap,RecentPlansSection:op,CompletedPlanRow:sp,CompletedPlanExpandedBody:tp,TabScrollPanel:ep,BuildActivityModal:Zd,BuildActivityMenu:Xd,BuildActivityCard:Yd,BuildActivityIcon:Kd,BuildActivityModalHeading:Jd,BuildActivityPlanList:Qd,FeatureCompleteActions:Ud,BuildChatLaunchPanel:Wd,BuildChatAgentChat:Vd,StartChatButton:qd,BuildActivityReopenBar:$d,BuildChatPane:Gd,ActivityDoneButton:zd,GlobalFileDropOverlay:Hd,GlobalFileDropToast:Ld,FileDropConfirmModal:It,FileDropConfirmModalAgentReadyShowcase:Gs,AttachFileButton:rs,AttachFileButtonRoutingShowcase:$s,PreviewFocusCustodianShowcase:qs,SelectPlanModal:Id,PlanCompleteDialog:Fd,PlanCompleteTransition:Ad,ScenarioRenderer:mo,ScenariosView:Vs,TerminalEmulator:Od,RawTerminalModal:Bd,RawTerminalEmulator:Md,SetupTerminalPane:Ed,SetupTerminalHeader:Dd,SetupBrowserPane:Rd,SetupBrowserHeader:Td,TerminalDropOverlay:q2,TerminalDropToast:$2,TerminalDisconnectOverlay:G2,MobileTerminalCommandMenu:Nd,MobileTerminalCommandMenuPanel:kd,TerminalConnectingHint:z2,TerminalReconnectingBanner:H2,TerminalFailedBanner:L2,TerminalServerStoppedBanner:I2,TestsView:Ws,NavigationBar:wd,PagePill:Pd,PagePickerDropdown:Cd,StatesDropdown:jd,CreateStatePlaceholderModal:Sd,StatesPillButton:yd,EditDataButton:Us,EditDataPopover:Qs,EditDataPopoverBody:$e,EditDataPopoverDescribeInput:qe,EditDataPopoverHeader:Je,EditDataPopoverResizeHandleLeft:Ke,EditDataPopoverSaveCancelClose:Ve,EditDataPopoverSearchInput:We,EditDataPopoverSectionSelector:Ue,EditDataPopoverTabStrip:Qe,ScenarioDataPanelMainProps:Ge,ScenarioDataPanelPropsEditor:ze,ViewportPresetButton:fd,PagePickerTabButton:hd,PagePickerEmptyMessage:vd,PagePickerScenarioThumbnail:bd,PagePickerRouteSection:gd,StatesDropdownRow:xd,ComponentGlyph:md,DropdownChevron:ud,PageGlyph:pd,ViewTabs:Js,SessionResultsPanel:dd,SessionResultsGallery:_d,SessionResultsDetails:cd,SessionResultsPanelHeader:ld,MinimizedSessionResults:id,BackendResultsPage:rd,BackendResultsHeader:nd,BuildProgressDetail:ad,BuildFileRow:od,FunctionChangeRow:sd,BackendConnectionStatusBadge:td,BehaviorGallery:ed,ChangeCard:Z_,WaysToTestList:X_,BehaviorGroup:Y_,BehaviorItem:K_,BehaviorEvidenceDrawer:J_,RerunSection:Q_,BehaviorExampleTable:U_,BehaviorGalleryEmptyState:W_,RunEvidenceLine:V_,NarrativeTestStatusIcon:q_,CoverageBadge:Lt,CoverageBar:$_,CoverageWarningsBanner:G_,CoverageSectionHeader:z_,OrphanedFileRow:H_,CoverageDetailsModal:L_,CoverageFileDrilldown:I_,CoverageDetailsEntriesSection:F_,CoverageDetailsEntryRow:A_,CoverageDetailsOrphanedSection:O_,CoverageDetailsDirectoriesSection:B_,CoverageDetailsDirectoryGroup:M_,CoverageDetailsDirectoryFileRow:E_,CoverageLineRow:D_,AppCardFooter:R_,RunTestsButton:T_,TestBar:N_,AppCardHeader:k_,AppCardScenarioStrip:w_,AppOverviewEmptyState:P_,AppOverviewEmptyStateBuildingPanel:C_,AppOverviewEmptyStateNoAppPanel:j_,OpenBuildTabButton:S_,AppOverviewGrid:y_,AppOverviewHeader:f_,HomeBuildStatusSection:h_,ExploreRail:Ks,CopyButton:xe,CopyableErrorBlock:Ys,CopyableErrorText:k,CrashLogFooter:v_,CrashLogFooterMessage:b_,CrashLogHeader:g_,CrashLogViewer:x_,DevServerCrashLog:m_,DevServerRestartingOverlay:Xs,DevServerStartingOverlay:Zs,DevServerStoppedOverlay:eo,PreviewUnhealthyOverlay:u_,ClientRoutingAdvisory:p_,PreviewErrorOverlay:d_,PreviewErrorOverlayHeader:__,PreviewErrorOverlayFooter:c_,PreviewErrorList:l_,PreviewErrorRow:i_,PreviewErrorBadge:r_,BuildSpinner:n_,BuildShaBadge:a_,RestartSpinner:te,RouteEntitySection:to,RouteImportEmptyState:Ye,RouteImportList:so,RouteListCard:o_,RouteListEmptyState:s_,RouteListSection:t_,RouteListSectionHeader:e_,RouteScenarioEmptyState:Zc,RouteSummaryCard:oo,BuildingDoor:Xc,PlanRunBlockedTooltip:Yc,AnimatedEllipsis:Kc,BuildingCardActive:Jc,BuildingCardIdle:Qc,BuildingCardThumbnail:Uc,BuildingStepLine:Wc,BuildResetLink:Vc,ExploreSectionHeading:qc,RouteKindToggle:$c,RouteSearchField:Gc,RouteViewControls:Pt,RouteListCardHeading:zc,RouteGroupDisclosure:Hc,ExternalServicesListBar:Lc,ExternalServicesSummary:Ic,ExternalServicesSuggestionChips:Fc,SearchIcon:Ac,HomeHeader:Oc,ProjectAvatar:Bc,HomeSectionHeading:Mc,HomeBuildingSection:Ec,HomeQueuedPlansSection:Dc,HomeTestingSection:Rc,HomeTestingSectionControls:Tc,ManualTestRow:Nc,ManualTestDeleteConfirmModal:kc,HomeExploreTabs:wc,SiteContentPanel:Pc,SiteContentPanelConnected:Cc,SiteContentEntryList:jc,SiteContentNewEntry:Sc,SiteContentPreview:yc,SafeScreenshot:fc,ScenarioRowMeta:hc,ScenarioRowOverrideBadge:vc,ScenarioRowThumbnail:bc,SidebarGroupOverrideHeader:F2,SidebarInheritedSection:A2,DataViewerCategoryBadge:O2,DataViewerCellEditor:B2,DataViewerTabBar:ao,DataViewerTable:M2,ScenarioDataPanel:ss,ScenarioDataPanelCloseButton:E2,ScenarioDataPanelEditChatButton:D2,ScenarioDataPanelEmptyState:R2,ScenarioDataPanelFullPage:IB,ScenarioDataPanelHeader:T2,ScenarioDataPanelInspectButton:N2,ScenarioDataPanelMainMock:k2,ScenarioDataPanelMainMockEditable:ls,ScenarioDataPanelMainMockHeader:w2,ScenarioDataPanelMainMockReadOnly:cs,ScenarioDataPanelMainTable:is,ScenarioDataPanelOpenInNewButton:P2,ScenarioDataPanelMockDataBadge:C2,ScenarioDataPanelMockDataStrip:j2,ScenarioDataPanelSidebar:S2,SaveScopeChoiceRow:y2,SaveScopeModal:f2,SidebarMockEntryRow:h2,MockSharedSlugBadge:v2,ScenarioDraftBar:b2,JsonBodyActions:g2,JsonTreeAddKeyInput:x2,JsonTreeArrayNode:m2,JsonTreeEditor:u2,JsonTreeNode:p2,JsonTreeNodeLine:d2,JsonTreeObjectNode:_2,JsonTreePrimitiveEditor:c2,JsonTreePrimitiveNode:l2,ScenarioRenameForm:gc,ScenarioRowActions:xc,MiniAgentChat:i2,MiniAgentLaunchOverlay:r2,FeedbackIcon:mc,SendTranscriptModal:zt,SendTranscriptOverlay:no,ContainerInspector:GM,InspectorScenarioSection:zM,InspectorRouteTable:HM,InspectorTrafficSection:LM,InspectorExplainerSection:IM,InspectorExplainerResult:FM,InspectorPrimitivesShowcase:pe,InspectorTrafficRowShowcase:ue,InspectorTrafficDetail:AM,InspectorTrafficFilterBar:OM,InspectorTrafficTable:BM,InspectorTrafficUrlChips:MM,InspectorUrlGlossary:EM,InspectorPrimitives:pe,InspectorTrafficRow:ue,StepsSimulator:CM,StepsSimulatorStepList:jM,StepsSimulatorVariableControl:SM,StepsSimulatorInstructionsPanel:yM,SeedErrorBanner:uc,SeedLoadingOverlay:pc,PreviewLoadingSpinner:dc,StaleDbStripeOverlay:ro,ScenarioSeedErrorView:Ze,InspectModeRibbon:_c,IframeClickThroughErrorCard:cc,InspectResultCard:lc,InspectResultCardBackdrop:ic,InspectResultCardBody:rc,InspectResultCardHeader:nc,InspectResultCardMatchButton:ac,InspectResultCardMatchList:oc,SkeletonBar:sc,PreviewWaitingPlaceholder:tc,AgentInputProvider:X,Alts:ec,AskBox:Zl,Badge:H,BellIcon:Xl,BoxIcon:Yl,CardIcon:Kl,ChartIcon:Jl,Check:Ql,ChevronLeftIcon:Ul,ChevronRightIcon:Wl,Chips:Vl,CloseIcon:ql,CloudIcon:$l,DatabaseIcon:M,DocIcon:Gl,EmbeddedPreviewPlaceholder:zl,EmptyTabCopy:Hl,ExploreIcon:Ht,Faq:Ll,GlobeIcon:Il,HSHeader:Fl,HostingConnectStep:Al,HostingDeployStep:Ol,HostingRealDeployStep:Bl,HostingLiveStep:Ml,HostingOverviewConnected:El,HostingOverviewGuided:Dl,Journey:Rl,LightbulbIcon:Tl,LockIcon:U,MailIcon:Nl,OpenInNewTabIcon:kl,PlansIcon:wl,ProviderMark:Pl,QuestionnaireOptionIndicator:Re,Reasons:Cl,RefreshCycleIcon:jl,RefreshPreviewButton:Sl,ReqList:yl,RocketIcon:fl,SetupIcon:hl,SimulatedSetupOverview:vl,SimulatedSetupScreen:bl,StatusBox:Q,StoreAlternativesNote:gl,TeachSetupScreen:xl,TerminalCopiedToast:ml,TerminalIcon:ul,ThumbDownIcon:Ee,ThumbUpIcon:Me,VercelMark:pl,ActiveScenarioOverlay:dl,Alternatives:_l,FactFreshness:cl,ProviderCard:ll,TopicFaq:Zt,FaqSection:il,ChangelogSection:rl,BranchRows:fM,BrowserStateButton:n2,BrowserStateTab:a2,CheckList:nl,CollapsedImpactedScenarios:al,ColorPalettePicker:et,ColorSwatchEditor:tt,CostCallout:ol,DataViewerCell:o2,DataViewerColumnHeader:s2,DataViewerRow:t2,DataViewerTabButton:Xe,DesignAssetDropZone:Ot,DesignAssetsView:sl,DesignChatPreviewPane:tl,DetailSection:DM,DevServerFailedPanel:el,FilesList:Zi,FlowBar:Xi,FontOptionRow:Y,FontPicker:K,FunctionsList:Yi,HomeLanding:Ki,MethodBadge:O,MockupCardFooter:Ji,MockupCardThemeToggleButton:$t,MockupCustomizeColorsPanel:at,MockupCustomizeFontsPanel:nt,MockupCustomizePreviewArea:qt,MockupCustomizeToolbar:rt,MockupCustomizeView:co,MockupCustomizeNoColorsNotice:st,MockupSavedNotice:Qi,DesignReturnPill:Ui,PlanDesignsReturnRow:Wi,MockupColumnsToggle:Vi,ColumnsButton:qi,MockupGrid:$i,PagerArrowButton:Gi,PanelBody:hM,PanelHeader:vM,PlanClaimSyncBanner:zi,PreviewPortMismatchCard:Hi,QueuedChangesBody:Li,RecentPlansBody:Ii,ReqItem:Fi,RunLocallyCommandRow:Ai,ScenarioRendererAppDeadEnd:it,ScenarioThumbnail:Oi,ScenarioThumbnailStrip:Bi,SectionHeader:ds,ServerStalenessBanner:Mi,UpdateAvailableBanner:Ei,SetupGoalAssist:Di,SetupGoalAssistList:es,SetupCompleteCta:Ri,SetupDetailHeader:Ti,SetupFlowBar:Ni,SetupSubCrumb:ki,SetupTopicPlaceholder:wi,SidebarGroup:e2,SimulatedConnect:Pi,SimulatedProvision:Ci,SimulatedReady:ji,StatusIndicator:Si,StatusPill:yi,StepRow:bM,StoreCard:fi,TerminalServerErrorBanner:ZD,UserPrompt:hi,VariableField:gM,ConceptTerm:gs,ConceptsGlossaryScreen:bs,LearnSetupConceptsNudge:vs,MockupGridEmptyState:vi,TerminalEdgeUnreachableBanner:XD,TerminalSessionStaleBanner:YD,SessionLostBanner:bi,TerminalSessionDiedBanner:KD,WebFallbackNotice:gi,PreviewSignInNotice:ms,NonWebAppDetail:xi,ScenarioTypeSection:mi,ScenarioImpactSection:ui,ReviewCard:pi,SetupExternalLink:di,SetupJourney:ts,SetupSplit:_i,SetupStack:ci,SetupOrbit:li,SetupBars:ii,SetupEmblem:ri,SetupChannels:ni,SetupTopicPage:ai,GridColumnsIcon:oi,GridDensityControl:si,HomeExploreSection:ti,LivePageScenariosModal:ei,RouteListTabs:Zr,ComponentSurfaceReasonNote:Xr,ScenarioGalleryModal:Yr,FullScreenIcon:Kr,ChooseAssetsButton:Jr,AssetPickerMenu:JD,PendingFileCountLine:Qr,PlanRowSkeleton:Ur,PlanRowSkeletonList:Wr,ExternalServicesAskCard:Vr,ExternalServicesSortToolbar:qr,ExternalServiceGroupList:$r,ExternalServicesEmptyState:Gr,ChangeDescriptionInput:zr,PlanRowTag:Hr,PlanSectionStatus:Lr,PlanRowControls:Ir,PlanRowIdentity:Fr,InFlightPlanRowMeta:Ar,PlanSectionHeader:Or,PlanAuthorAvatar:Br,PlanRowDragHandle:Mr,PlanRowTitleWithAge:Er,PlanDisclosureChevron:Dr,PlanModeBadge:Rr,PlanRowBlockedChip:Tr,CopyPathButton:Nr,PreviewDedicatedOriginNotice:kr,ErrorNotice:QD,ErrorNoticeHeader:UD,ErrorNoticeNextAction:WD,ErrorNoticeDiagnostics:VD,ErrorNoticeActions:qD,PreviewWaitingOverlay:wr,MiniAgentLaunchFailed:$D,MiniAgentLaunchRetryingHint:GD,BuildLaunchStatusBanner:Pr,AssetPickerMenuItem:zD,PlanRowDeleteButton:Cr,PlanDeleteConfirmModal:jr,PlanDeleteConfirmHeader:Sr,PlanDeleteDependentsWarning:yr,PlanDeleteConfirmActions:fr,NavTabDot:hr,AgentHtmlPreviewPane:vr,AgentHtmlPaneHeader:br,AgentHtmlLintWarnings:gr,AgentHtmlEmptyState:xr,FeatureCompleteSummary:mr,FeatureCompleteBanner:ur,NotSurePrompt:pr,FeatureCompleteBannerSection:dr,ManualTestSurfaceControl:_r,ManualTestRangeControl:cr,ManualTestRangeOption:lr,ManualTestRangeOptions:ir,ManualTestRangeCommitRow:rr,ManualTestRangeCommitList:nr,ManualTestRangeCustomField:ar,ManualTestRangeHint:or,ManualTestRangeActions:sr,ManualTestAdHocNote:tr,ManualTestSteps:er,ManualTestCountLine:Zn,ManualTestCompletedGroup:Xn,ManualTestsChat:Yn,FeatureCompleteProposedPlans:Kn,SuggestedPlansList:Jn,SuggestedPlansSection:Qn,FeatureCompleteCodeyamImprovements:Un,FeatureCompleteProposedPlanRow:Wn,TrackedProposedPlans:Vn,TrackedCodeyamImprovements:qn,CodeyamImprovementSightings:$n,ProposedPlanRowActions:Gn,RecoveryActions:HD,ExternalServicesChatDock:zn,BrokerNote:Hn,ManualTestAskChatButton:Ln,DesignRoundEmptyState:In,CommitQueueRowDetails:Fn,ManualTestDeleteConfirmHeader:An,ManualTestDeleteReceiptWarning:On,ManualTestDeleteConfirmActions:Bn,ManualTestDeleteButton:Mn,ManualTestBarrierTag:En,ManualTestGapSummary:Dn,FilePickerProvider:ns,ScrollFadeRegion:Rn,BuildTabLaunchError:Tn,InterruptedBuildPanel:Nn,InterruptedBuildRecovery:kn,InterruptedBuildRequestSummary:wn,InterruptedBuildChangedFiles:Pn,InterruptedBuildNextStep:Cn,InterruptedBuildActions:jn,DesignContextNote:Sn,TweakDesignsButton:yn,DesignSwitchPlanExplainer:fn,DesignTweakChat:hn,QuestionnaireDesignPrepareErrorBanner:vn,AwaitingFormalizeCaption:bn,OnlyRefreshedNotice:gn,ClaudeOAuthInstallProgress:LD,TurnEndedOffGateReasonBody:xn,AppServiceCredentialForm:mn,CredentialRequestSaved:un,CredentialDocsLink:pn,CredentialStorageNote:dn,OnboardingAssetChip:he,DesignAssetDropProvider:mM,CollapseAllIcon:_n,ToolbarIconButton:cn,RouteViewControlsShowcase:ps,CaptureChatPlaceholder:ID,DesignAgentPreparing:ln,QuestionnaireSubmitErrorBanner:rn,BuildRequestSavedNote:nn,BuildTabConnectionPhasePanel:an,SiteContentCollectionList:on,SiteContentCollectionRow:sn,SiteContentEntryRow:tn,SiteContentEntryEditor:en,SiteContentFieldInput:Za,SiteContentBodyEditor:Xa,SiteContentSaveBar:Ya,SiteContentPreviewEmpty:Ka,SiteContentUnsavedDialog:Ja,SiteContentInferredNotice:Qa,BuildLaunchLog:Ua,SiteContentEditSwitch:Wa,SiteContentPopoverFooter:Va,SiteContentFieldRow:qa,SiteContentAnchoredPopover:$a,SiteContentBodyPopover:Ga,SiteContentFieldPopover:za,SiteContentPreviewHeader:Ha,SiteContentNoMarkersHint:La,EmbeddedTerminalNotice:Ia,DesignDecisionRow:Fa,ProposedPlanSeverityBadge:Aa,ScaledViewport:Oa,HeadReleaseWarning:Ba,AgentChatNotice:Ma,CodeyamImprovementRow:Ea,CodeyamImprovementRowActions:Da,ProposalCategoryTag:Ra,GeneratedGlueNotice:Ta,DecidedCodeyamImprovements:Na,CodeyamImprovementDecisionNote:ka,SessionLostFramedNotice:wa,FeatureIdeaEvidence:Pa,AgentErrorReply:Ca,BackgroundTaskCard:ja,CardFooter:Sa,CloseSessionConfirmModal:ya,DesignChatTerminalLogin:fa,DomainCardEntry:ha,FormalizeHandoffPanel:va,HistoryLeadThumbnail:ba,HistoryScreensStrip:ga,PlanHistoryRow:xa,PlanPreviewCard:ma,PreviewStuckPanel:ua,ResizableResultsPanel:pa,ServiceAskField:da,TestFileList:_a,QuickReplies:ca,CodeRun:la,DesignRefs:ia,HistoryLiveList:ra,SuggestedPlansPager:na,SuggestedPlansStatusLine:aa,ProviderAuthServerUnreachableNotice:oa,SupportSharingSection:sa,SupportShareState:ta,SupportShareActive:ea,SupportShareGuided:Zo,SupportShareIdle:Xo,SupportShareLastEvent:Yo,SettingsNote:Ko,SupportSharingPill:Jo,AttachMenuButton:At,AttachErrorNotice:Ft};function e4({traceWindow:t}){const[s,o]=d.useState(!1),[a,n]=d.useState([]),[r,i]=d.useState(!1),[l,_]=d.useState(!1),[u,x]=d.useState(null);d.useEffect(()=>{if(!s||a.length>0||l||u)return;let c=!0;async function v(){i(!0),x(null);try{const b=await fetch(`/api/events/window?from=${t.from}&to=${t.to}`);if(!c)return;if(!b.ok)throw new Error(`HTTP ${b.status}`);const g=await b.json();g.evicted?_(!0):n(g.events||[])}catch(b){c&&x(b instanceof Error?b.message:String(b))}finally{c&&i(!1)}}return v(),()=>{c=!1}},[s,t.from,t.to,a.length,l,u]);const p=()=>{o(c=>!s)};return e.jsxs("div",{className:"mt-2","data-testid":"behavior-trace-section",children:[e.jsxs("button",{onClick:p,className:"flex items-center gap-x-1.5 text-[10px] font-semibold uppercase tracking-wide text-[var(--text-muted)] hover:text-[var(--text-primary)] transition-colors focus:outline-none","aria-expanded":s,"data-testid":"trace-toggle-btn",children:[e.jsx("svg",{className:`w-3 h-3 transition-transform ${s?"rotate-90":""}`,fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:e.jsx("path",{d:"M9 5l7 7-7 7",strokeLinecap:"round",strokeLinejoin:"round"})}),e.jsx("span",{children:"Trace"})]}),s&&e.jsxs("div",{className:"mt-1 ml-4","data-testid":"trace-content",children:[r&&e.jsxs("p",{className:"text-[11px] text-[var(--text-dim)] m-0 animate-pulse",children:["Loading trace window ",t.from,"..",t.to,"…"]}),u&&e.jsx(k,{testId:"trace-error",text:`Could not load trace: ${u}`,className:"text-[11px] text-red-600"}),l&&e.jsx("p",{className:"text-[11px] text-[var(--text-secondary)] italic m-0","data-testid":"trace-evicted",children:"Trace no longer available — re-run to capture a fresh one."}),!r&&!u&&!l&&a.length===0&&e.jsx("p",{className:"text-[11px] text-[var(--text-dim)] italic m-0","data-testid":"trace-empty",children:"No intercepted calls captured during this run."}),!r&&!u&&!l&&a.length>0&&e.jsx("div",{className:"max-h-60 overflow-y-auto border border-[var(--border-muted)] rounded bg-[var(--bg-secondary)] p-2 space-y-1.5 font-mono text-[10px] leading-relaxed text-[var(--text-secondary)] shadow-inner","data-testid":"trace-events-list",children:a.map((c,v)=>{const b=c.seq!==void 0?`#${c.seq}`:"";return c.type==="http_request"?e.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-1.5","data-testid":"trace-event-http",children:[e.jsx("span",{className:"text-emerald-600 font-bold",children:"[HTTP]"}),e.jsx("span",{className:"text-[var(--text-muted)] text-[9px]",children:b}),e.jsx("span",{className:"font-semibold text-[var(--text-primary)]",children:c.method}),e.jsx("span",{className:"break-all text-[var(--text-secondary)]",children:c.url}),c.status!==void 0&&e.jsxs("span",{className:`font-semibold ${c.status>=400?"text-red-600":"text-emerald-600"}`,children:["→ ",c.status]}),c.durationMs!==void 0&&e.jsxs("span",{className:"text-[var(--text-dim)]",children:["(",c.durationMs,"ms)"]}),c.mocked&&e.jsx("span",{className:"px-1 py-0.2 bg-purple-100 text-purple-700 text-[8px] rounded font-sans uppercase font-bold tracking-wider",children:"Mocked"})]},v):c.type==="db_query"?e.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-1.5","data-testid":"trace-event-db",children:[e.jsx("span",{className:"text-blue-600 font-bold",children:"[SQL]"}),e.jsx("span",{className:"text-[var(--text-muted)] text-[9px]",children:b}),e.jsx("span",{className:"italic break-all text-[var(--text-secondary)]",children:c.query}),c.durationMs!==void 0&&e.jsxs("span",{className:"text-[var(--text-dim)]",children:["(",c.durationMs,"ms)"]})]},v):c.type==="error"?e.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-1.5","data-testid":"trace-event-error",children:[e.jsx("span",{className:"text-red-600 font-bold",children:"[ERROR]"}),e.jsx("span",{className:"text-[var(--text-muted)] text-[9px]",children:b}),c.source&&e.jsxs("span",{className:"text-red-700 font-semibold",children:[c.source,":"]}),e.jsx("span",{className:"text-red-600 break-all",children:c.message}),e.jsx(xe,{variant:"icon",text:c.source?`${c.source}: ${c.message??""}`:c.message??""})]},v):c.type==="process_output"?e.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-1.5","data-testid":"trace-event-process",children:[e.jsx("span",{className:"text-amber-600 font-bold",children:"[PROC]"}),e.jsx("span",{className:"text-[var(--text-muted)] text-[9px]",children:b}),c.source&&e.jsxs("span",{className:"text-amber-700 font-semibold",children:[c.source,":"]}),e.jsx("span",{className:"text-[var(--text-secondary)] break-all",children:c.output})]},v):c.type==="scenario_switch"?e.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-1.5","data-testid":"trace-event-scenario",children:[e.jsx("span",{className:"text-purple-600 font-bold",children:"[SCENARIO]"}),e.jsx("span",{className:"text-[var(--text-muted)] text-[9px]",children:b}),e.jsxs("span",{className:"text-[var(--text-secondary)] font-semibold",children:["Active Slug: ",c.scenarioSlug]})]},v):c.type==="hook_execution"?e.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-1.5","data-testid":"trace-event-hook",children:[e.jsx("span",{className:"text-indigo-600 font-bold",children:"[HOOK]"}),e.jsx("span",{className:"text-[var(--text-muted)] text-[9px]",children:b}),e.jsx("span",{className:"font-semibold text-[var(--text-primary)]",children:c.hookName}),c.exitCode!==void 0&&e.jsxs("span",{className:`font-semibold ${c.exitCode!==0?"text-red-600":"text-emerald-600"}`,children:["exit ",c.exitCode]}),c.durationMs!==void 0&&e.jsxs("span",{className:"text-[var(--text-dim)]",children:["(",c.durationMs,"ms)"]})]},v):e.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-1.5","data-testid":"trace-event-generic",children:[e.jsxs("span",{className:"text-gray-500 font-bold",children:["[",c.type.toUpperCase(),"]"]}),e.jsx("span",{className:"text-[var(--text-muted)] text-[9px]",children:b}),e.jsx("span",{className:"text-[var(--text-secondary)] break-all",children:JSON.stringify(c)})]},v)})})]})]})}const t4=Object.freeze(Object.defineProperty({__proto__:null,BehaviorTraceSection:e4},Symbol.toStringTag,{value:"Module"}));function s4(t,s=()=>{}){const o={};for(const a of Object.values(t))for(const[n,r]of Object.entries(a))if(!(n==="default"||!o4(n))&&typeof r=="function"){if(Object.prototype.hasOwnProperty.call(o,n)){s(n);continue}o[n]=r}return o}function o4(t){return/^[A-Z]/.test(t)}const a4=Object.assign({"../components/AccountsRealConnect.tsx":TD,"../components/AccountsScreen.tsx":ND,"../components/ActiveScenarioOverlay.tsx":kD,"../components/ActivityDoneButton.tsx":wD,"../components/ActivityExitControl.tsx":PD,"../components/AddTopicForm.tsx":CD,"../components/AgentChatNotice.tsx":jD,"../components/AgentChatPane.tsx":SD,"../components/AgentErrorReply.tsx":yD,"../components/AgentHtmlEmptyState.tsx":fD,"../components/AgentHtmlLintWarnings.tsx":hD,"../components/AgentHtmlPaneHeader.tsx":vD,"../components/AgentHtmlPreviewPane.tsx":bD,"../components/AnalyticsMonitoringScreen.tsx":gD,"../components/AnalyticsSeoScreen.tsx":xD,"../components/AnimatedEllipsis.tsx":mD,"../components/AnswerSentMark.tsx":uD,"../components/ApiAuthScreen.tsx":pD,"../components/ApiDocsScreen.tsx":dD,"../components/ApiKeyField.tsx":_D,"../components/AppCapabilitiesPanel.tsx":cD,"../components/AppCard.tsx":lD,"../components/AppCardFooter.tsx":iD,"../components/AppCardHeader.tsx":rD,"../components/AppCardScenarioStrip.tsx":nD,"../components/AppDetail.tsx":aD,"../components/AppDetailContent.tsx":oD,"../components/AppDetailContentError.tsx":sD,"../components/AppDetailContentLoading.tsx":tD,"../components/AppDetailHeader.tsx":eD,"../components/AppOverview.tsx":ZR,"../components/AppOverviewEmptyState.tsx":XR,"../components/AppOverviewEmptyStateBuildingPanel.tsx":YR,"../components/AppOverviewEmptyStateNoAppPanel.tsx":KR,"../components/AppOverviewGrid.tsx":JR,"../components/AppOverviewHeader.tsx":QR,"../components/AppPrivacyScreen.tsx":UR,"../components/AppReviewScreen.tsx":WR,"../components/AppSelector.tsx":KB,"../components/AppServiceCredentialForm.tsx":VR,"../components/AppServiceCredentialModal.tsx":qR,"../components/AppStackCapabilitiesSlot.tsx":$R,"../components/AppStackPanel.tsx":GR,"../components/AppStackPanelBody.tsx":zR,"../components/AppStackPanelSummary.tsx":HR,"../components/AppTestSummary.tsx":LR,"../components/AppTypeBadge.tsx":IR,"../components/AssetPickerMenu.tsx":dM,"../components/AssetPickerMenuItem.tsx":_M,"../components/AssetSaveErrorMessage.tsx":FR,"../components/AssetSaveSuccessMessage.tsx":AR,"../components/AttachErrorNotice.tsx":OR,"../components/AttachFileButton.tsx":cM,"../components/AttachFileButtonRoutingShowcase.tsx":G5,"../components/AttachMenuButton.tsx":BR,"../components/AwaitingFormalizeCaption.tsx":MR,"../components/BackendApiDocsScreen.tsx":ER,"../components/BackendConnectionStatusBadge.tsx":DR,"../components/BackendResultsHeader.tsx":RR,"../components/BackendResultsPage.tsx":TR,"../components/BackendResultsPanelView.tsx":NR,"../components/BackgroundJobsScreen.tsx":kR,"../components/BackgroundTaskCard.tsx":wR,"../components/BehaviorEvidenceDrawer.tsx":PR,"../components/BehaviorExampleTable.tsx":CR,"../components/BehaviorGallery.tsx":jR,"../components/BehaviorGalleryEmptyState.tsx":SR,"../components/BehaviorGroup.tsx":yR,"../components/BehaviorItem.tsx":fR,"../components/BehaviorTraceSection.tsx":t4,"../components/BlockedBanner.tsx":hR,"../components/BreadcrumbNav.tsx":vR,"../components/BrowserStateTab.tsx":lM,"../components/BuildActivityCard.tsx":bR,"../components/BuildActivityIcon.tsx":gR,"../components/BuildActivityMenu.tsx":xR,"../components/BuildActivityModal.tsx":mR,"../components/BuildActivityModalHeading.tsx":uR,"../components/BuildActivityPlanList.tsx":pR,"../components/BuildActivityReopenBar.tsx":dR,"../components/BuildCardMenu.tsx":_R,"../components/BuildChatAgentChat.tsx":cR,"../components/BuildChatLaunchPanel.tsx":lR,"../components/BuildChatPane.tsx":iR,"../components/BuildFileRow.tsx":rR,"../components/BuildLaunchLog.tsx":nR,"../components/BuildLaunchStatusBanner.tsx":aR,"../components/BuildLogsModal.tsx":oR,"../components/BuildProgressDetail.tsx":sR,"../components/BuildRequestSavedNote.tsx":tR,"../components/BuildResetLink.tsx":eR,"../components/BuildShaBadge.tsx":ZT,"../components/BuildSpinner.tsx":XT,"../components/BuildTab.tsx":YT,"../components/BuildTabConnectionPhasePanel.tsx":KT,"../components/BuildTabLaunchError.tsx":JT,"../components/BuildTabLayout.tsx":QT,"../components/BuildTabPane.tsx":UT,"../components/BuildTabPaneLayout.tsx":WT,"../components/BuildTabReadyToBuildPlaceholder.tsx":YB,"../components/BuildTabRecoveryPanel.tsx":VT,"../components/BuildTabSessionContent.tsx":qT,"../components/BuildTabStartupError.tsx":$T,"../components/BuildTabTerminalSession.tsx":GT,"../components/BuildingCardActive.tsx":zT,"../components/BuildingCardIdle.tsx":HT,"../components/BuildingCardThumbnail.tsx":LT,"../components/BuildingDoor.tsx":IT,"../components/BuildingPreviewOverlay.tsx":FT,"../components/BuildingStepLine.tsx":AT,"../components/CaptureChatPlaceholder.tsx":iM,"../components/ChangeCard.tsx":OT,"../components/ChangeDescriptionInput.tsx":BT,"../components/ChangelogCiScreen.tsx":MT,"../components/ChatHero.tsx":ET,"../components/ChatHistorySidebar.tsx":DT,"../components/ChatLink.tsx":RT,"../components/ChatLiveConversation.tsx":TT,"../components/ChatPastConversation.tsx":NT,"../components/ChatTab.tsx":kT,"../components/ChatTerminalToggle.tsx":wT,"../components/CheckInToggleRow.tsx":PT,"../components/ChooseAssetsButton.tsx":CT,"../components/CliUxScreen.tsx":jT,"../components/ClientRoutingAdvisory.tsx":ST,"../components/CloseSessionConfirmModal.tsx":yT,"../components/CodeyamImprovementDecisionNote.tsx":fT,"../components/CodeyamImprovementRow.tsx":hT,"../components/CodeyamImprovementRowActions.tsx":vT,"../components/CodeyamImprovementSightings.tsx":bT,"../components/CollapseAllIcon.tsx":gT,"../components/CollapseToggleButton.tsx":xT,"../components/CollapsibleMarkdown.tsx":mT,"../components/ColorPalettePicker.tsx":B3,"../components/ColorSwatchEditor.tsx":O3,"../components/CommentsSearchScreen.tsx":uT,"../components/CommitOnlyHistoryRow.tsx":pT,"../components/CommitQueuePriorityChip.tsx":dT,"../components/CommitQueueReleaseButton.tsx":_T,"../components/CommitQueueRow.tsx":cT,"../components/CommitQueueRowDetails.tsx":lT,"../components/CommitQueueRowIdentity.tsx":iT,"../components/CommitQueueSaveBar.tsx":rT,"../components/CommitQueueSection.tsx":nT,"../components/CompletedPlanExpandedBody.tsx":aT,"../components/CompletedPlanRow.tsx":oT,"../components/ComponentSurfaceReasonNote.tsx":sT,"../components/ComposerImagePreview.tsx":tT,"../components/ConceptShowcase.tsx":JB,"../components/ConceptTerm.tsx":eT,"../components/ConceptsContext.tsx":ZN,"../components/ConceptsGlossaryScreen.tsx":XN,"../components/ConnectedSessionLostBanner.tsx":YN,"../components/ConnectionBadge.tsx":oB,"../components/ConnectionIdentityLine.tsx":E3,"../components/ContainerInspector.tsx":sB,"../components/CopyButton.tsx":To,"../components/CopyPathButton.tsx":KN,"../components/CopyableErrorBlock.tsx":g3,"../components/CopyableErrorText.tsx":No,"../components/CorsOriginsScreen.tsx":JN,"../components/CoverageBadge.tsx":QN,"../components/CoverageBar.tsx":UN,"../components/CoverageDetailsDirectoriesSection.tsx":WN,"../components/CoverageDetailsDirectoryFileRow.tsx":VN,"../components/CoverageDetailsDirectoryGroup.tsx":qN,"../components/CoverageDetailsEntriesSection.tsx":$N,"../components/CoverageDetailsEntryRow.tsx":GN,"../components/CoverageDetailsModal.tsx":zN,"../components/CoverageDetailsOrphanedSection.tsx":HN,"../components/CoverageFileDrilldown.tsx":LN,"../components/CoverageLineRow.tsx":IN,"../components/CoverageSectionHeader.tsx":FN,"../components/CoverageWarningsBanner.tsx":AN,"../components/CrashLogFooter.tsx":ON,"../components/CrashLogFooterMessage.tsx":BN,"../components/CrashLogHeader.tsx":MN,"../components/CrashLogViewer.tsx":EN,"../components/CrashReportingScreen.tsx":DN,"../components/CreateProjectModal.tsx":FB,"../components/CreateStatePlaceholderModal.tsx":RN,"../components/CredentialDocsLink.tsx":TN,"../components/CredentialRequestPreviewPane.tsx":NN,"../components/CredentialRequestSaved.tsx":kN,"../components/CredentialStorageNote.tsx":wN,"../components/CurrentBadge.tsx":AB,"../components/CustomDomainScreen.tsx":PN,"../components/CyLogo.tsx":nB,"../components/DataSafetyScreen.tsx":CN,"../components/DataViewerCategoryBadge.tsx":rM,"../components/DataViewerCellEditor.tsx":nM,"../components/DataViewerTabBar.tsx":P3,"../components/DataViewerTable.tsx":aM,"../components/DatabaseBackupsScreen.tsx":jN,"../components/DebugAncestryList.tsx":SN,"../components/DebugAncestrySection.tsx":yN,"../components/DebugFreezePill.tsx":fN,"../components/DebugModal.tsx":hN,"../components/DebugModalElementPreview.tsx":vN,"../components/DebugModalInfoPanel.tsx":bN,"../components/DebugModeButton.tsx":gN,"../components/DebugNotificationsButton.tsx":xN,"../components/DebugOverlay.tsx":mN,"../components/DebugPropsChips.tsx":uN,"../components/DecidedCodeyamImprovements.tsx":pN,"../components/DeployTargetScreen.tsx":dN,"../components/DescribePane.tsx":_N,"../components/DesignAddAssetsStep.tsx":d5,"../components/DesignAgentPreparing.tsx":cN,"../components/DesignAssetDropLabel.tsx":lN,"../components/DesignAssetDropZone.tsx":iN,"../components/DesignAssetsView.tsx":rN,"../components/DesignChatActivity.tsx":nN,"../components/DesignChatAgentMessage.tsx":aN,"../components/DesignChatCodeBlock.tsx":oN,"../components/DesignChatComposer.tsx":sN,"../components/DesignChatDecisionCard.tsx":tN,"../components/DesignChatFeed.tsx":eN,"../components/DesignChatPickCard.tsx":Z1,"../components/DesignChatPreviewPane.tsx":X1,"../components/DesignChatQuestionCard.tsx":Y1,"../components/DesignChatSuggestions.tsx":K1,"../components/DesignChatTerminalLogin.tsx":J1,"../components/DesignChatTerminalPrompt.tsx":Q1,"../components/DesignContextNote.tsx":U1,"../components/DesignDecisionRow.tsx":W1,"../components/DesignExplorationView.tsx":V1,"../components/DesignIterateBanner.tsx":q1,"../components/DesignQuestionCard.tsx":$1,"../components/DesignQuestionChips.tsx":G1,"../components/DesignQuestionIdkPill.tsx":z1,"../components/DesignQuestionOptions.tsx":H1,"../components/DesignQuestionOwnRow.tsx":L1,"../components/DesignQuestionPersonality.tsx":I1,"../components/DesignQuestionRefs.tsx":F1,"../components/DesignQuestionsForm.tsx":A1,"../components/DesignReturnPill.tsx":O1,"../components/DesignRoundEmptyState.tsx":B1,"../components/DesignRoundPreviewPane.tsx":M1,"../components/DesignSessionBrandRow.tsx":E1,"../components/DesignSessionCanvas.tsx":D1,"../components/DesignSessionCanvasHeader.tsx":R1,"../components/DesignSessionChatPane.tsx":T1,"../components/DesignSessionGenerating.tsx":N1,"../components/DesignSessionPreparing.tsx":k1,"../components/DesignSessionSpinner.tsx":w1,"../components/DesignSwitchPlanExplainer.tsx":P1,"../components/DesignSwitchQueuedNotice.tsx":C1,"../components/DesignTweakChat.tsx":j1,"../components/DesktopTitleBar.tsx":S1,"../components/DetectedServiceRow.tsx":y1,"../components/DevAccountsScreen.tsx":f1,"../components/DevServerCrashLog.tsx":h1,"../components/DevServerFailedPanel.tsx":v1,"../components/DevServerRestartingOverlay.tsx":v3,"../components/DevServerStartingOverlay.tsx":h3,"../components/DevServerStoppedOverlay.tsx":f3,"../components/DeviceFrameImage.tsx":b1,"../components/DeviceIcon.tsx":g1,"../components/DimensionInput.tsx":x1,"../components/DomainCardEntry.tsx":m1,"../components/EditDataButton.tsx":J5,"../components/EditDataPopover.tsx":u3,"../components/EditDataPopoverBody.tsx":n3,"../components/EditDataPopoverDescribeInput.tsx":r3,"../components/EditDataPopoverHeader.tsx":d3,"../components/EditDataPopoverResizeHandleLeft.tsx":p3,"../components/EditDataPopoverSaveCancelClose.tsx":i3,"../components/EditDataPopoverSearchInput.tsx":l3,"../components/EditDataPopoverSectionSelector.tsx":c3,"../components/EditDataPopoverTabStrip.tsx":_3,"../components/EditorNavBar.tsx":u1,"../components/EditorSessionRecovery.tsx":p1,"../components/EditorSessionRecoveryActionButton.tsx":d1,"../components/EditorSessionRecoveryDialog.tsx":_1,"../components/EditorSessionRecoveryHeader.tsx":c1,"../components/EditorSessionRecoverySummary.tsx":l1,"../components/EditorSessionRecoverySummaryRow.tsx":i1,"../components/EditorShell.tsx":r1,"../components/EditorShellBuildLayer.tsx":n1,"../components/EditorShellChatLayer.tsx":a1,"../components/EditorShellHomeTabContent.tsx":o1,"../components/EditorShellLayout.tsx":s1,"../components/EditorShellLeftPane.tsx":t1,"../components/EditorShellPlanLayer.tsx":e1,"../components/EditorShellPreviewPane.tsx":Zk,"../components/EditorShellTabLayer.tsx":Xk,"../components/EmailsScreen.tsx":Yk,"../components/EmbeddedTerminalNotice.tsx":Kk,"../components/EntityBreadcrumb.tsx":Jk,"../components/EntityDetail.tsx":Qk,"../components/EntityDetailContent.tsx":Uk,"../components/EntityDetailHeader.tsx":Wk,"../components/EntityRefCard.tsx":Vk,"../components/EntityRefList.tsx":qk,"../components/ErrorNotice.tsx":oM,"../components/ErrorNoticeActions.tsx":sM,"../components/ErrorNoticeDiagnostics.tsx":tM,"../components/ErrorNoticeHeader.tsx":eM,"../components/ErrorNoticeNextAction.tsx":ZE,"../components/EventCard.tsx":a5,"../components/EventStream.tsx":n5,"../components/ExamplesScreen.tsx":$k,"../components/ExploreRail.tsx":x3,"../components/ExploreSectionHeading.tsx":Gk,"../components/ExtensionAssetsScreen.tsx":zk,"../components/ExtensionDistributionScreen.tsx":Hk,"../components/ExtensionPrivacyPolicyScreen.tsx":Lk,"../components/ExternalServiceGroupList.tsx":Ik,"../components/ExternalServicesAskCard.tsx":Fk,"../components/ExternalServicesChatDock.tsx":Ak,"../components/ExternalServicesComposer.tsx":Ok,"../components/ExternalServicesEmptyState.tsx":Bk,"../components/ExternalServicesListBar.tsx":Mk,"../components/ExternalServicesScreen.tsx":Ek,"../components/ExternalServicesScreenConnected.tsx":Dk,"../components/ExternalServicesSortToolbar.tsx":Rk,"../components/ExternalServicesSuggestionChips.tsx":Tk,"../components/ExternalServicesSummary.tsx":Nk,"../components/FactFreshness.tsx":kk,"../components/FeatureCompleteActions.tsx":wk,"../components/FeatureCompleteBanner.tsx":Pk,"../components/FeatureCompleteBannerSection.tsx":Ck,"../components/FeatureCompleteCodeyamImprovements.tsx":jk,"../components/FeatureCompleteProposedPlanRow.tsx":Sk,"../components/FeatureCompleteProposedPlans.tsx":yk,"../components/FeatureCompleteSummary.tsx":fk,"../components/FeatureGroupView.tsx":i5,"../components/FeatureIdeaEvidence.tsx":hk,"../components/FeatureNameButton.tsx":vk,"../components/FeedbackIcon.tsx":bk,"../components/FileChangeSummary.tsx":qB,"../components/FileDropConfirmModal.tsx":gk,"../components/FileDropConfirmModalAgentReadyShowcase.tsx":L5,"../components/FileStatusIndicator.tsx":xk,"../components/FillPreviewButton.tsx":mk,"../components/FilterBar.tsx":l5,"../components/FinishAndFormalizeButton.tsx":uk,"../components/FontPicker.tsx":F3,"../components/FormalizeHandoffPanel.tsx":pk,"../components/FormalizeIntro.tsx":dk,"../components/FormsScreen.tsx":_k,"../components/FullScreenIcon.tsx":ck,"../components/FunctionChangeRow.tsx":lk,"../components/GatedAgentChat.tsx":XE,"../components/GearIcon.tsx":ik,"../components/GeneratedGlueNotice.tsx":rk,"../components/GlobalFileDropOverlay.tsx":nk,"../components/GlobalFileDropToast.tsx":ak,"../components/GridColumnsIcon.tsx":ok,"../components/GridDensityControl.tsx":sk,"../components/HardeningAutoAction.tsx":tk,"../components/HeadReleaseWarning.tsx":ek,"../components/HistoryDayGroup.tsx":Zw,"../components/HistoryDigest.tsx":Xw,"../components/HistoryDigestStatRow.tsx":Yw,"../components/HistoryEntryCard.tsx":Kw,"../components/HistoryEntryThumbnails.tsx":Jw,"../components/HistoryLiveList.tsx":Qw,"../components/HistoryRangeSelector.tsx":Uw,"../components/HistoryTab.tsx":Ww,"../components/HomeBuildStatusSection.tsx":Vw,"../components/HomeBuildingSection.tsx":qw,"../components/HomeExploreSection.tsx":$w,"../components/HomeExploreTabs.tsx":Gw,"../components/HomeHeader.tsx":zw,"../components/HomeLanding.tsx":Hw,"../components/HomeQueuedPlansSection.tsx":Lw,"../components/HomeScreenIcons.tsx":Iw,"../components/HomeSectionHeading.tsx":Fw,"../components/HomeSummaryStrip.tsx":Aw,"../components/HomeTestingSection.tsx":Ow,"../components/HomeTestingSectionControls.tsx":Bw,"../components/HostingConnectStep.tsx":Mw,"../components/HostingDeployStep.tsx":Ew,"../components/HostingLiveStep.tsx":Dw,"../components/HostingOverviewConnected.tsx":Rw,"../components/HostingOverviewGuided.tsx":Tw,"../components/HostingRealDeployStep.tsx":Nw,"../components/HostingScreen.tsx":kw,"../components/HostingScreenChrome.tsx":ww,"../components/HostingScreenParts.tsx":Pw,"../components/IdleBanner.tsx":Cw,"../components/IdleTriggerCheckbox.tsx":jw,"../components/IframeClickThroughErrorCard.tsx":Sw,"../components/InAppPurchasesScreen.tsx":yw,"../components/InFlightPlanRow.tsx":fw,"../components/InFlightPlanRowMeta.tsx":hw,"../components/InFlightSection.tsx":vw,"../components/InspectModeRibbon.tsx":bw,"../components/InspectResultCard.tsx":gw,"../components/InspectResultCardBackdrop.tsx":xw,"../components/InspectResultCardBody.tsx":mw,"../components/InspectResultCardHeader.tsx":uw,"../components/InspectResultCardMatchButton.tsx":pw,"../components/InspectResultCardMatchList.tsx":dw,"../components/InspectorExplainerResult.tsx":tB,"../components/InspectorExplainerSection.tsx":eB,"../components/InspectorPrimitives.tsx":ZM,"../components/InspectorPrimitivesShowcase.tsx":k3,"../components/InspectorRouteTable.tsx":XM,"../components/InspectorScenarioSection.tsx":YM,"../components/InspectorTrafficDetail.tsx":KM,"../components/InspectorTrafficFilterBar.tsx":JM,"../components/InspectorTrafficRow.tsx":QM,"../components/InspectorTrafficRowShowcase.tsx":T3,"../components/InspectorTrafficSection.tsx":UM,"../components/InspectorTrafficTable.tsx":WM,"../components/InspectorTrafficUrlChips.tsx":VM,"../components/InspectorUrlGlossary.tsx":qM,"../components/InstallDocsScreen.tsx":_w,"../components/InterruptedBuildActions.tsx":cw,"../components/InterruptedBuildChangedFiles.tsx":lw,"../components/InterruptedBuildNextStep.tsx":iw,"../components/InterruptedBuildPanel.tsx":rw,"../components/InterruptedBuildRecovery.tsx":nw,"../components/InterruptedBuildRequestSummary.tsx":aw,"../components/JournalEntryCard.tsx":WB,"../components/JournalEntryDetails.tsx":VB,"../components/JournalView.tsx":UB,"../components/JsonBodyActions.tsx":YE,"../components/JsonTreeAddKeyInput.tsx":KE,"../components/JsonTreeArrayNode.tsx":JE,"../components/JsonTreeEditor.tsx":QE,"../components/JsonTreeNode.tsx":UE,"../components/JsonTreeNodeLine.tsx":WE,"../components/JsonTreeObjectNode.tsx":VE,"../components/JsonTreePrimitiveEditor.tsx":qE,"../components/JsonTreePrimitiveNode.tsx":$E,"../components/LabeledSection.tsx":ow,"../components/LayoutChainCard.tsx":sw,"../components/LayoutChainSection.tsx":tw,"../components/LearnSetupScreen.tsx":ew,"../components/LeftPanel.tsx":ZP,"../components/LegalScreen.tsx":XP,"../components/LibrariesCatalogScreen.tsx":YP,"../components/LibraryGroupSection.tsx":KP,"../components/LibraryRow.tsx":JP,"../components/LiveIframeHealthPill.tsx":QP,"../components/LivePageScenariosModal.tsx":UP,"../components/LoadingDots.tsx":WP,"../components/LoggingMonitoringScreen.tsx":VP,"../components/ManifestVersioningScreen.tsx":qP,"../components/ManualTestAdHocNote.tsx":$P,"../components/ManualTestAskChatButton.tsx":GP,"../components/ManualTestBarrierTag.tsx":zP,"../components/ManualTestCompletedGroup.tsx":HP,"../components/ManualTestCountLine.tsx":LP,"../components/ManualTestDeleteButton.tsx":IP,"../components/ManualTestDeleteConfirmActions.tsx":FP,"../components/ManualTestDeleteConfirmHeader.tsx":AP,"../components/ManualTestDeleteConfirmModal.tsx":OP,"../components/ManualTestDeleteReceiptWarning.tsx":BP,"../components/ManualTestGapSummary.tsx":MP,"../components/ManualTestHelpChat.tsx":EP,"../components/ManualTestRangeActions.tsx":DP,"../components/ManualTestRangeCommitList.tsx":RP,"../components/ManualTestRangeCommitRow.tsx":TP,"../components/ManualTestRangeControl.tsx":NP,"../components/ManualTestRangeCustomField.tsx":kP,"../components/ManualTestRangeHint.tsx":wP,"../components/ManualTestRangeOption.tsx":PP,"../components/ManualTestRangeOptions.tsx":CP,"../components/ManualTestRow.tsx":jP,"../components/ManualTestSteps.tsx":SP,"../components/ManualTestSurfaceControl.tsx":yP,"../components/ManualTestsChat.tsx":fP,"../components/Markdown.tsx":TM,"../components/MiniAgentChat.tsx":GE,"../components/MiniAgentLaunchFailed.tsx":zE,"../components/MiniAgentLaunchOverlay.tsx":HE,"../components/MiniAgentLaunchRetryingHint.tsx":LE,"../components/MinimizedSessionResults.tsx":hP,"../components/MobilePaneSwitcher.tsx":vP,"../components/MobileSetupParts.tsx":bP,"../components/MobileTerminalCommandMenu.tsx":gP,"../components/MockBodyEditor.tsx":D5,"../components/MockBodyHeadersEditor.tsx":IE,"../components/MockBodyJsonTextarea.tsx":R5,"../components/MockPanelGroup.tsx":O5,"../components/MockPanelHeader.tsx":A5,"../components/MockPanelRow.tsx":B5,"../components/MockPanelRowActions.tsx":E5,"../components/MockPanelRowHeader.tsx":M5,"../components/MockSharedSlugBadge.tsx":FE,"../components/MockSourceBadge.tsx":AE,"../components/MockupArchivedRoundView.tsx":xP,"../components/MockupCard.tsx":mP,"../components/MockupCardFeedback.tsx":uP,"../components/MockupCardFooter.tsx":pP,"../components/MockupCardPreviewSlot.tsx":dP,"../components/MockupCardThemeToggleButton.tsx":_P,"../components/MockupColumnsToggle.tsx":cP,"../components/MockupCustomizeColorsPanel.tsx":z3,"../components/MockupCustomizeErrorBanner.tsx":lP,"../components/MockupCustomizeFontsPanel.tsx":G3,"../components/MockupCustomizeNoColorsNotice.tsx":I3,"../components/MockupCustomizePanelSectionHeading.tsx":H3,"../components/MockupCustomizePanelShell.tsx":L3,"../components/MockupCustomizePreviewArea.tsx":iP,"../components/MockupCustomizeToolbar.tsx":$3,"../components/MockupCustomizeView.tsx":q3,"../components/MockupDetailBody.tsx":rP,"../components/MockupDetailModal.tsx":nP,"../components/MockupDetailSidebar.tsx":aP,"../components/MockupDeviceFrame.tsx":oP,"../components/MockupDeviceHomeIndicator.tsx":sP,"../components/MockupDeviceNotch.tsx":tP,"../components/MockupFeedbackCommentBox.tsx":eP,"../components/MockupFeedbackRatingSlider.tsx":C5,"../components/MockupFeedbackStars.tsx":ZC,"../components/MockupFeedbackThumbIcons.tsx":j5,"../components/MockupGrid.tsx":XC,"../components/MockupGridEmptyState.tsx":YC,"../components/MockupGridGeneratingOverlay.tsx":KC,"../components/MockupGridInfoBanner.tsx":JC,"../components/MockupGridIterateButton.tsx":QC,"../components/MockupNoteField.tsx":UC,"../components/MockupPlaceholderCard.tsx":WC,"../components/MockupRoundPager.tsx":VC,"../components/MockupSavedNotice.tsx":qC,"../components/MockupSkeletonOverlay.tsx":$C,"../components/ModifiedFilesList.tsx":GC,"../components/NarrativeTestStatusIcon.tsx":zC,"../components/NativeMirrorNotice.tsx":HC,"../components/NativeWebPreviewNotice.tsx":LC,"../components/NavLink.tsx":IC,"../components/NavTabDot.tsx":FC,"../components/NavigationBar.tsx":AC,"../components/NewProjectQuestionnaire.tsx":OC,"../components/NoBootedSimulatorPlaceholder.tsx":BC,"../components/NonWebAppDetail.tsx":MC,"../components/NotSurePrompt.tsx":EC,"../components/NotificationBell.tsx":DC,"../components/NotificationSettingsControls.tsx":RC,"../components/NotificationSettingsControlsShowcase.tsx":t5,"../components/NotificationSetupBanner.tsx":TC,"../components/NotificationSoundSelect.tsx":NC,"../components/OAuthVerificationScreen.tsx":kC,"../components/OnboardingAssetChip.tsx":GB,"../components/OnboardingDesignAssetsStep.tsx":h5,"../components/OnboardingDropzone.tsx":b5,"../components/OnboardingFileChip.tsx":wC,"../components/OnboardingListItem.tsx":PC,"../components/OnboardingNotificationsStep.tsx":CC,"../components/OnboardingPromptBox.tsx":jC,"../components/OnboardingPromptStep.tsx":SC,"../components/OnboardingShell.tsx":yC,"../components/OnboardingStackPicker.tsx":fC,"../components/OnboardingTypeChips.tsx":hC,"../components/OnlyRefreshedNotice.tsx":vC,"../components/OpenBuildTabButton.tsx":bC,"../components/OpenInEditorErrorToast.tsx":gC,"../components/OpenInNewTabButton.tsx":xC,"../components/OpenSourceProjectsSection.tsx":OB,"../components/OrphanedFileRow.tsx":mC,"../components/OwnAnswerField.tsx":uC,"../components/PagePickerDropdown.tsx":pC,"../components/PagePickerEmptyMessage.tsx":dC,"../components/PagePickerRouteSection.tsx":_C,"../components/PagePickerScenarioThumbnail.tsx":cC,"../components/PagePickerTabButton.tsx":lC,"../components/PagePill.tsx":iC,"../components/PagePillIcons.tsx":rC,"../components/PanelDivider.tsx":nC,"../components/PaymentsScreen.tsx":aC,"../components/PendingFileCard.tsx":oC,"../components/PendingFileCountLine.tsx":sC,"../components/PendingFileList.tsx":tC,"../components/PerformanceImagesScreen.tsx":eC,"../components/PermissionsJustificationScreen.tsx":Zj,"../components/PixelYam.tsx":Xj,"../components/PlaceholderPane.tsx":I5,"../components/PlanAuthorAvatar.tsx":Yj,"../components/PlanAuthoringChat.tsx":Kj,"../components/PlanChatLaunchCaption.tsx":Jj,"../components/PlanClaimSyncBanner.tsx":Qj,"../components/PlanCompleteDialog.tsx":Uj,"../components/PlanCompleteTransition.tsx":Wj,"../components/PlanDeleteConfirmActions.tsx":Vj,"../components/PlanDeleteConfirmHeader.tsx":qj,"../components/PlanDeleteConfirmModal.tsx":$j,"../components/PlanDeleteDependentsWarning.tsx":Gj,"../components/PlanDesignsReturnRow.tsx":zj,"../components/PlanDisclosureChevron.tsx":Hj,"../components/PlanDocument.tsx":Lj,"../components/PlanExpandedHeader.tsx":Ij,"../components/PlanExpandedTitle.tsx":Fj,"../components/PlanHistoryRow.tsx":Aj,"../components/PlanModeBadge.tsx":Oj,"../components/PlanPreviewCard.tsx":Bj,"../components/PlanPreviewEmptyState.tsx":Mj,"../components/PlanPreviewHeader.tsx":Ej,"../components/PlanPreviewPanelView.tsx":Dj,"../components/PlanRow.tsx":Rj,"../components/PlanRowBlockedChip.tsx":Tj,"../components/PlanRowClaimBadge.tsx":Nj,"../components/PlanRowControls.tsx":kj,"../components/PlanRowDeleteButton.tsx":wj,"../components/PlanRowDependencyEntry.tsx":Pj,"../components/PlanRowDragHandle.tsx":Cj,"../components/PlanRowEditButton.tsx":jj,"../components/PlanRowEditChatButton.tsx":Sj,"../components/PlanRowExpandedBody.tsx":yj,"../components/PlanRowExpandedChat.tsx":fj,"../components/PlanRowExpandedDependencies.tsx":hj,"../components/PlanRowExpandedEdit.tsx":vj,"../components/PlanRowExpandedView.tsx":bj,"../components/PlanRowIdentity.tsx":gj,"../components/PlanRowSkeleton.tsx":xj,"../components/PlanRowTag.tsx":mj,"../components/PlanRowTitleWithAge.tsx":uj,"../components/PlanRunBlockedModal.tsx":pj,"../components/PlanRunBlockedTooltip.tsx":dj,"../components/PlanRunButton.tsx":_j,"../components/PlanRunDependenciesModal.tsx":cj,"../components/PlanRunForeignClaimModal.tsx":lj,"../components/PlanSectionHeader.tsx":ij,"../components/PlanSectionStatus.tsx":rj,"../components/PlanTab.tsx":nj,"../components/PlanTabHeader.tsx":aj,"../components/PreReleaseScreen.tsx":oj,"../components/PreviewCanvas.tsx":sj,"../components/PreviewDedicatedOriginNotice.tsx":tj,"../components/PreviewEmptyState.tsx":ej,"../components/PreviewErrorBadge.tsx":ZS,"../components/PreviewErrorList.tsx":XS,"../components/PreviewErrorOverlay.tsx":YS,"../components/PreviewErrorOverlayFooter.tsx":KS,"../components/PreviewErrorOverlayHeader.tsx":JS,"../components/PreviewErrorRow.tsx":QS,"../components/PreviewFocusCustodianShowcase.tsx":W5,"../components/PreviewForwardPortNotice.tsx":US,"../components/PreviewFrame.tsx":WS,"../components/PreviewLoadingSpinner.tsx":VS,"../components/PreviewPanel.tsx":qS,"../components/PreviewPortMismatchCard.tsx":$S,"../components/PreviewSignInNotice.tsx":GS,"../components/PreviewSignInNoticeShowcase.tsx":$B,"../components/PreviewStuckPanel.tsx":zS,"../components/PreviewUnhealthyOverlay.tsx":HS,"../components/PreviewWaitingOverlay.tsx":LS,"../components/PreviewWaitingPlaceholder.tsx":IS,"../components/ProjectAvatar.tsx":FS,"../components/ProjectBootstrapBanner.tsx":BB,"../components/ProjectLauncher.tsx":MB,"../components/ProjectLauncherError.tsx":EB,"../components/ProjectLauncherHeader.tsx":DB,"../components/ProjectLauncherLoading.tsx":RB,"../components/ProjectLauncherScreen.tsx":TB,"../components/ProjectOpenError.tsx":NB,"../components/ProjectSetupChosenMockup.tsx":AS,"../components/ProjectSetupDescriptionCard.tsx":OS,"../components/ProjectSetupDesignAssetList.tsx":BS,"../components/ProjectSetupDesignCard.tsx":MS,"../components/ProjectSetupHeader.tsx":ES,"../components/ProjectSetupPreviewPane.tsx":DS,"../components/ProjectSetupPreviewView.tsx":RS,"../components/ProjectSetupProgressList.tsx":TS,"../components/ProjectSetupProgressRow.tsx":NS,"../components/ProjectTestsSummary.tsx":kB,"../components/PromptDropdownPanel.tsx":kS,"../components/ProposalCategoryTag.tsx":wS,"../components/ProposedPlanRowActions.tsx":PS,"../components/ProposedPlanSeverityBadge.tsx":CS,"../components/PrototypeAgentChat.tsx":jS,"../components/PrototypeBuildingInProgressBanner.tsx":SS,"../components/PrototypePane.tsx":yS,"../components/ProviderAuthGate.tsx":fS,"../components/ProviderAuthModal.tsx":OE,"../components/ProviderAuthServerUnreachableNotice.tsx":hS,"../components/ProviderAuthenticateCta.tsx":BE,"../components/ProviderLogo.tsx":vS,"../components/ProvisionWithBrokerCta.tsx":bS,"../components/PublishRegistryScreen.tsx":gS,"../components/PublishScreen.tsx":xS,"../components/PushNotificationsScreen.tsx":mS,"../components/QuestionnaireDesignApproachStep.tsx":m5,"../components/QuestionnaireDesignChatLaunchPanel.tsx":y5,"../components/QuestionnaireDesignChatStep.tsx":uS,"../components/QuestionnaireDesignPrepareErrorBanner.tsx":pS,"../components/QuestionnaireDeviceSelector.tsx":w5,"../components/QuestionnaireIntroBanner.tsx":dS,"../components/QuestionnaireNavButtons.tsx":P5,"../components/QuestionnaireNotificationsStep.tsx":f5,"../components/QuestionnaireOptionCard.tsx":p5,"../components/QuestionnaireProviderAuthPanel.tsx":_S,"../components/QuestionnaireProviderStep.tsx":cS,"../components/QuestionnaireStepNav.tsx":k5,"../components/QuestionnaireStepPanel.tsx":_5,"../components/QuestionnaireSubmitErrorBanner.tsx":lS,"../components/QueuedChangesSection.tsx":iS,"../components/RawTerminalEmulator.tsx":rS,"../components/RawTerminalModal.tsx":nS,"../components/ReadmeLicenseScreen.tsx":aS,"../components/ReadyAgentRegistrar.tsx":XB,"../components/RealDataConnected.tsx":K3,"../components/RealDataNotConnected.tsx":X3,"../components/RealDataScreen.tsx":oS,"../components/RealDataZone.tsx":J3,"../components/RealSetupFlow.tsx":sS,"../components/RecentPlansSection.tsx":tS,"../components/RedirectsNotFoundScreen.tsx":eS,"../components/RefreshPreviewButton.tsx":Zy,"../components/ReleaseBuildsScreen.tsx":Xy,"../components/RepeatPassMarker.tsx":Yy,"../components/RerunSection.tsx":Ky,"../components/ResetBuildConfirmModal.tsx":Jy,"../components/ResizableResultsPanel.tsx":Qy,"../components/RestartSpinner.tsx":b3,"../components/ReviewCard.tsx":Uy,"../components/ReviewDetailCard.tsx":Wy,"../components/ReviewFindingRow.tsx":Vy,"../components/ReviewsTab.tsx":qy,"../components/RouteDependencyCard.tsx":$y,"../components/RouteDependencyCardHeader.tsx":Gy,"../components/RouteDependencyEmptyState.tsx":zy,"../components/RouteDependencyList.tsx":Hy,"../components/RouteDependencyScenarioStrip.tsx":Ly,"../components/RouteDimensionFilter.tsx":Iy,"../components/RouteEntityDetail.tsx":Fy,"../components/RouteEntityDetailContent.tsx":Ay,"../components/RouteEntityDetailHeader.tsx":Oy,"../components/RouteEntitySection.tsx":y3,"../components/RouteEntityTabs.tsx":By,"../components/RouteFunctionCard.tsx":My,"../components/RouteFunctionEmptyState.tsx":Ey,"../components/RouteFunctionList.tsx":Dy,"../components/RouteGroupDisclosure.tsx":Ry,"../components/RouteGroupView.tsx":c5,"../components/RouteImportEmptyState.tsx":S3,"../components/RouteImportList.tsx":j3,"../components/RouteImportRow.tsx":N5,"../components/RouteKindToggle.tsx":Ty,"../components/RouteList.tsx":Ny,"../components/RouteListCard.tsx":ky,"../components/RouteListCardHeading.tsx":wy,"../components/RouteListCardThumbnail.tsx":Py,"../components/RouteListEmptyState.tsx":Cy,"../components/RouteListSection.tsx":jy,"../components/RouteListSectionHeader.tsx":Sy,"../components/RouteListTabs.tsx":yy,"../components/RouteScenarioEmptyState.tsx":fy,"../components/RouteScenarioList.tsx":hy,"../components/RouteSearchField.tsx":vy,"../components/RouteSummaryCard.tsx":C3,"../components/RouteViewControls.tsx":by,"../components/RouteViewControlsShowcase.tsx":zB,"../components/RunEvidenceLine.tsx":gy,"../components/RunLocallyCommandRow.tsx":xy,"../components/RunLocallyScreen.tsx":my,"../components/RunTestsButton.tsx":uy,"../components/RunningBadge.tsx":wB,"../components/SafeScreenshot.tsx":py,"../components/SaveAssetsButton.tsx":dy,"../components/SaveScopeChoiceRow.tsx":ME,"../components/SaveScopeModal.tsx":EE,"../components/ScaledViewport.tsx":_y,"../components/ScenarioCard.tsx":cy,"../components/ScenarioComparisonRow.tsx":ly,"../components/ScenarioDataPanel.tsx":DE,"../components/ScenarioDataPanelCloseButton.tsx":RE,"../components/ScenarioDataPanelEditChatButton.tsx":TE,"../components/ScenarioDataPanelEmptyState.tsx":NE,"../components/ScenarioDataPanelFullPage.tsx":LB,"../components/ScenarioDataPanelHeader.tsx":kE,"../components/ScenarioDataPanelInspectButton.tsx":wE,"../components/ScenarioDataPanelMainMock.tsx":PE,"../components/ScenarioDataPanelMainMockEditable.tsx":CE,"../components/ScenarioDataPanelMainMockHeader.tsx":jE,"../components/ScenarioDataPanelMainMockReadOnly.tsx":SE,"../components/ScenarioDataPanelMainProps.tsx":a3,"../components/ScenarioDataPanelMainTable.tsx":yE,"../components/ScenarioDataPanelMockDataBadge.tsx":fE,"../components/ScenarioDataPanelMockDataStrip.tsx":hE,"../components/ScenarioDataPanelOpenInNewButton.tsx":vE,"../components/ScenarioDataPanelPropsEditor.tsx":o3,"../components/ScenarioDataPanelSidebar.tsx":bE,"../components/ScenarioDetailPanel.tsx":T5,"../components/ScenarioDraftBar.tsx":gE,"../components/ScenarioGalleryModal.tsx":iy,"../components/ScenarioImpactSection.tsx":ry,"../components/ScenarioRenameForm.tsx":ny,"../components/ScenarioRenderer.tsx":HB,"../components/ScenarioRendererAppDeadEnd.tsx":V3,"../components/ScenarioRow.tsx":ay,"../components/ScenarioRowActions.tsx":oy,"../components/ScenarioRowMeta.tsx":sy,"../components/ScenarioRowOverrideBadge.tsx":ty,"../components/ScenarioRowThumbnail.tsx":ey,"../components/ScenarioSeedErrorView.tsx":D3,"../components/ScenarioThumbnailGrid.tsx":Z0,"../components/ScenarioTypeSection.tsx":X0,"../components/ScenariosView.tsx":U5,"../components/ScrollFadeRegion.tsx":Y0,"../components/SearchIcon.tsx":K0,"../components/SecretsScreen.tsx":J0,"../components/SeedErrorBanner.tsx":Q0,"../components/SeedLoadingOverlay.tsx":U0,"../components/SegmentedPicker.tsx":W0,"../components/SelectPlanModal.tsx":V0,"../components/SemverPolicyScreen.tsx":q0,"../components/SendTranscriptModal.tsx":$0,"../components/SendTranscriptOverlay.tsx":w3,"../components/ServerStalenessBanner.tsx":G0,"../components/ServiceAskField.tsx":z0,"../components/ServiceRow.tsx":H0,"../components/SessionHeaderSlot.tsx":L0,"../components/SessionLostBanner.tsx":I0,"../components/SessionLostFramedNotice.tsx":F0,"../components/SessionResultsDetails.tsx":A0,"../components/SessionResultsGallery.tsx":O0,"../components/SessionResultsPanel.tsx":B0,"../components/SessionResultsPanelHeader.tsx":M0,"../components/SessionTip.tsx":E0,"../components/SessionTipCard.tsx":D0,"../components/SettingsNote.tsx":R0,"../components/SettingsTab.tsx":T0,"../components/SetupAddTopicRow.tsx":N0,"../components/SetupBrowserHeader.tsx":k0,"../components/SetupBrowserPane.tsx":w0,"../components/SetupDetailChrome.tsx":P0,"../components/SetupDetailParts.tsx":C0,"../components/SetupGoalAssist.tsx":j0,"../components/SetupGoalAssistList.tsx":S0,"../components/SetupIllustrations.tsx":y0,"../components/SetupJourney.tsx":f0,"../components/SetupNotConnected.tsx":h0,"../components/SetupStepper.tsx":v0,"../components/SetupTerminalHeader.tsx":b0,"../components/SetupTerminalPane.tsx":g0,"../components/SetupTopicPage.tsx":x0,"../components/SetupTopicRouter.tsx":m0,"../components/ShellCompletionsScreen.tsx":u0,"../components/SidebarGroupOverrideHeader.tsx":xE,"../components/SidebarInheritedSection.tsx":mE,"../components/SidebarMockEntryRow.tsx":uE,"../components/SimulatedSetupFlow.tsx":p0,"../components/SimulatedSetupOverview.tsx":d0,"../components/SimulatedSetupScreen.tsx":_0,"../components/SimulatorFrameNotice.tsx":c0,"../components/SimulatorLauncherControls.tsx":l0,"../components/SimulatorNotBootedPrompt.tsx":i0,"../components/SimulatorPreviewFrame.tsx":r0,"../components/SinglePurposeListingScreen.tsx":n0,"../components/SiteContentAnchoredPopover.tsx":a0,"../components/SiteContentBodyEditor.tsx":o0,"../components/SiteContentBodyPopover.tsx":s0,"../components/SiteContentCollectionList.tsx":t0,"../components/SiteContentCollectionRow.tsx":e0,"../components/SiteContentEditSwitch.tsx":Zf,"../components/SiteContentEntryEditor.tsx":Xf,"../components/SiteContentEntryList.tsx":Yf,"../components/SiteContentEntryRow.tsx":Kf,"../components/SiteContentFieldInput.tsx":Jf,"../components/SiteContentFieldPopover.tsx":Qf,"../components/SiteContentFieldRow.tsx":Uf,"../components/SiteContentInferredNotice.tsx":Wf,"../components/SiteContentNewEntry.tsx":Vf,"../components/SiteContentNoMarkersHint.tsx":qf,"../components/SiteContentPanel.tsx":$f,"../components/SiteContentPanelConnected.tsx":Gf,"../components/SiteContentPopoverFooter.tsx":zf,"../components/SiteContentPreview.tsx":Hf,"../components/SiteContentPreviewEmpty.tsx":Lf,"../components/SiteContentPreviewHeader.tsx":If,"../components/SiteContentSaveBar.tsx":Ff,"../components/SiteContentUnsavedDialog.tsx":Af,"../components/SkeletonBar.tsx":Of,"../components/SkeletonShimmerKeyframes.tsx":Bf,"../components/SortablePlanRow.tsx":Mf,"../components/StackPickerCollapsed.tsx":Ef,"../components/StackPickerResults.tsx":Df,"../components/StagingEnvironmentScreen.tsx":Rf,"../components/StagingPreviewScreen.tsx":Tf,"../components/StaleDbStripeOverlay.tsx":R3,"../components/StartBuildingConfirmModal.tsx":Nf,"../components/StartChatButton.tsx":kf,"../components/StartPrototypingButton.tsx":wf,"../components/StatesDropdown.tsx":Pf,"../components/StatesDropdownRow.tsx":Cf,"../components/StatesPillButton.tsx":jf,"../components/StatusBadge.tsx":r5,"../components/StepIndicatorBar.tsx":Sf,"../components/StepIndicatorDropdownItem.tsx":yf,"../components/StepsSimulator.tsx":NM,"../components/StepsSimulatorInstructionsPanel.tsx":kM,"../components/StepsSimulatorStepList.tsx":wM,"../components/StepsSimulatorVariableControl.tsx":PM,"../components/StoreAccountsScreen.tsx":ff,"../components/StoreAssetsScreen.tsx":hf,"../components/StoreListingScreen.tsx":vf,"../components/StuckTurnBanner.tsx":bf,"../components/StuckTurnBannerAgentReadyShowcase.tsx":ZB,"../components/SubmitReviewScreen.tsx":gf,"../components/SuggestedPlansList.tsx":xf,"../components/SuggestedPlansPager.tsx":mf,"../components/SuggestedPlansSection.tsx":uf,"../components/SuggestedPlansStatusLine.tsx":pf,"../components/SupplyChainScreen.tsx":df,"../components/SupportShareActive.tsx":_f,"../components/SupportShareGuided.tsx":cf,"../components/SupportShareIdle.tsx":lf,"../components/SupportShareLastEvent.tsx":rf,"../components/SupportShareState.tsx":nf,"../components/SupportSharingPill.tsx":af,"../components/SupportSharingSection.tsx":of,"../components/TabPane.tsx":sf,"../components/TabScrollPanel.tsx":tf,"../components/TeachSetupScreen.tsx":ef,"../components/TerminalConnectingHint.tsx":pE,"../components/TerminalCopiedToast.tsx":Zh,"../components/TerminalDisconnectOverlay.tsx":dE,"../components/TerminalDropOverlay.tsx":_E,"../components/TerminalDropToast.tsx":cE,"../components/TerminalEdgeUnreachableBanner.tsx":lE,"../components/TerminalEmulator.tsx":Xh,"../components/TerminalFailedBanner.tsx":iE,"../components/TerminalReconnectingBanner.tsx":rE,"../components/TerminalServerErrorBanner.tsx":nE,"../components/TerminalServerStoppedBanner.tsx":aE,"../components/TerminalSessionDiedBanner.tsx":oE,"../components/TerminalSessionStaleBanner.tsx":sE,"../components/TestBar.tsx":Yh,"../components/TestGroupHeader.tsx":Kh,"../components/TestGroupList.tsx":Jh,"../components/TestGroupRow.tsx":Qh,"../components/TestItem.tsx":Uh,"../components/TestResultsBadge.tsx":Wh,"../components/TestStatusIcon.tsx":Vh,"../components/TestSummary.tsx":F5,"../components/TestingDistributionScreen.tsx":qh,"../components/TestsView.tsx":Q5,"../components/Thumbnail.tsx":PB,"../components/ThumbnailStrip.tsx":$h,"../components/ToolbarIconButton.tsx":Gh,"../components/TrackedCodeyamImprovements.tsx":zh,"../components/TrackedProposedPlans.tsx":Hh,"../components/TurnEndedOffGateBanner.tsx":Lh,"../components/TurnEndedOffGateBannerAgentReadyShowcase.tsx":e5,"../components/TurnEndedOffGateReasonBody.tsx":Ih,"../components/TweakDesignsButton.tsx":Fh,"../components/UnsurfacedPageGroup.tsx":Ah,"../components/UnsurfacedPageInvestigateButton.tsx":Oh,"../components/UnsurfacedPageRow.tsx":Bh,"../components/UnsurfacedPageRowSummary.tsx":Mh,"../components/UnsurfacedPagesSection.tsx":Eh,"../components/UnsurfacedPagesSectionHeader.tsx":Dh,"../components/UpdateAvailableBanner.tsx":Rh,"../components/VersioningChangelogScreen.tsx":Th,"../components/ViewTabs.tsx":m3,"../components/ViewportPresetButton.tsx":Nh,"../components/WaysToTestList.tsx":kh,"../components/WebFallbackNotice.tsx":wh,"../components/WebPanel.tsx":Ph,"../components/WiredProviderBanner.tsx":Ch,"../components/WorkflowSettingsSection.tsx":jh,"../components/authFlows/ApiKeyFlow.tsx":tE,"../components/authFlows/ClaudeOAuthFlow.tsx":eE,"../components/authFlows/ClaudeOAuthInstallProgress.tsx":Z2,"../components/authFlows/RecoveryActions.tsx":X2,"../components/externalServicesIcons.tsx":Sh,"../components/realDataIcons.tsx":yh,"../components/setupFlowParts.tsx":fh,"../components/setupIcons.tsx":hh,"../components/setupTopicIllustration.tsx":vh,"../context/AgentInputContext.tsx":Y2,"../context/DesignAssetDropContext.tsx":xM,"../context/FilePickerContext.tsx":K2});let V=null;function n4(){if(V)return V;const t=[];return V=s4(a4,s=>t.push(s)),t.length>0&&console.warn("[scenario] auto-component index found duplicate export names:",Array.from(new Set(t)).sort().join(", ")),V}function r4(t){return n4()[t]??null}function i4(t,s){const{structural:o,fixtureProps:a}=s;if(!o&&!a)return t;const n=r=>{const i=a?{...a,...r}:r,l=e.jsx(t,{...i});return o?l4(o,l):l};return n.displayName=`ScenarioComponent(${t.displayName||t.name||"Anonymous"})`,n}function l4(t,s){const o="w-full text-[10px] border-collapse table-fixed";switch(t){case"tr":return e.jsx("table",{className:o,children:e.jsx("tbody",{children:s})});case"td":return e.jsx("table",{className:o,children:e.jsx("tbody",{children:e.jsx("tr",{children:s})})});case"th":return e.jsx("table",{className:o,children:e.jsx("thead",{children:e.jsx("tr",{children:s})})});case"li":return e.jsx("ul",{children:s});case"anchored":return e.jsx("div",{className:"relative ml-64 mt-24 inline-block",children:s})}}const m=()=>{},W={key:"real-data",Icon:M,title:"Real data",crumbLabel:"Real data",meta:"Foundation · about 10 minutes",leads:[{text:"Right now your app runs on sample data. Connecting real data lets it remember what people create."},{text:"We'll set up a managed database — no servers to run yourself.",dim:!0}],recommendLabel:"Recommended for your app",recommended:{initial:"S",color:"#3ecf8e",name:"Supabase",bestFit:!0,description:"A managed Postgres database with auth and storage built in.",reasons:[{lead:"No setup.",rest:"Provisioned and ready in under a minute."},{lead:"Generous free tier.",rest:"Plenty for getting started."}],chips:["Postgres","Free tier","Auth included"]},alternatives:[{initial:"N",color:"#000",name:"Neon",description:"Serverless Postgres with branching."}],ctaLabel:"Set up real data with Supabase",ctaNote:"You can change providers later — nothing is locked in.",faq:[{q:"Will this cost me anything?",a:"No — the free tier covers everything you need to start."}],flowLabels:["Connect","Provision","Ready"],connect:{heading:"Connect your database",sub:"Sign in to provision a managed Postgres instance.",grants:["Create a new database","Store your app's data securely"],continueLabel:"Continue with Supabase",reassure:"We never see your password — sign-in happens on Supabase."},provisionTitle:"Setting up your database…",provisionDesc:"This usually takes under a minute. You can keep working.",provisionSteps:["Creating your project","Provisioning Postgres","Wiring up your app","Running the first migration"],ready:{title:"Real data is live 🎉",desc:"Your app now reads and writes to a real database.",resultLabel:"Your database",resultValue:"app-db.supabase.co",donePill:"Real data is now set up"}},c4={key:"privacy-legal",Icon:M,title:"Privacy & legal",crumbLabel:"Privacy & legal",meta:"Foundation · about 5 minutes",leads:[{text:"A few small things keep you on the right side of privacy law and app-store rules."}],sections:[{heading:"What you need",body:"Most apps need a privacy policy and clear terms of use.",bullets:[{lead:"Privacy policy:",text:"explains what data you collect."},{lead:"Terms of use:",text:"sets the rules for using your app."}]}],optionsLabel:"Generators we like",options:[{initial:"T",color:"#6366f1",name:"Termly",description:"Free privacy-policy and terms generator.",reasons:[],chips:["Free","Fast"]}],faq:[{q:"Do I really need a privacy policy?",a:"If you collect any personal data, yes — and app stores require one."}],doneLabel:"Mark privacy & legal as handled",doneNote:"You can revisit this anytime."},ft={monogram:"YA",name:"Your app",detail:"you@your-app.com · acct_1Q8…7fED"},_4={accent:"blue",badge:"●",title:"Let people sign in",providerName:"Supabase",connectColor:"lime",lead:"Right now everyone using your app is anonymous, so anything they save vanishes when they close the tab. Give people their own account and their saved items follow them on any device.",explainerHeading:"New to accounts? Here's the short version",lede:"An account is how your app knows who someone is — each person gets a private space they can reach from any device by signing in.",explainerRows:[{icon:"•",title:"Everything stays tied to them",desc:"Their saved items and profile are remembered even after they close the app."},{icon:"•",title:"It follows them across devices",desc:"Sign in on a phone, see the same data on a laptop."},{icon:"•",title:"It keeps private things private",desc:"Accounts let you say only this person can see their data."}],whyHeading:"Why CodeYam picks Supabase for you",whyRows:[{lead:"Free to start, no card needed.",rest:"A generous free tier covers a new app comfortably."},{lead:"Security handled for you.",rest:"Passwords and social sign-in are managed by Supabase."}],connectTitle:"Connect or create your Supabase project",connectDesc:"A new window opens on Supabase. Sign in or make a free account — CodeYam links to it and holds the keys.",connectButtonLabel:"Connect Supabase",reassure:["Free to start, no card needed","Takes about 3 minutes","Disconnect any time"],altToggleLabel:"Supabase not for you? See other options",alternatives:[{monogram:"C",color:"linear-gradient(140deg,#6c47ff,#4b2fcc)",name:"Clerk",desc:"Polished sign-in screens and user management out of the box."}],lockedLabel:"Then, once you're connected",lockedSteps:[{icon:"•",title:"Choose how people sign in",desc:"Google, Apple, email, magic link — pick as many as you like."},{icon:"•",title:"CodeYam builds your sign-in screens",desc:"Each a plan you preview before it ships."}]},d4={DataViewerRow:{structural:"tr"},DataViewerColumnHeader:{structural:"th"},DataViewerCell:{structural:"td"},PlanRunBlockedTooltip:{structural:"anchored"},RouteListTabs:{fixtureProps:{onSelectRoute:m,onSelectScenario:m}},HostingDeployStep:{fixtureProps:{onDone:m}},HostingScreen:{fixtureProps:{connector:{provider:"vercel"},onBack:m,onComplete:m}},HostingLiveStep:{fixtureProps:{onFinish:m}},HostingRealDeployStep:{fixtureProps:{provider:"vercel",credential:"demo-token",onDone:m,onRetry:m}},HistoryRangeSelector:{fixtureProps:{onChange:m}},NotificationSettingsControls:{fixtureProps:{onChange:m}},AppServiceCredentialModal:{fixtureProps:{onStored:m,onClose:m}},SetupCompleteCta:{fixtureProps:{onComplete:m,onRevert:m,onBack:m}},DetectedServiceRow:{fixtureProps:{onDismiss:m,onAddCredential:m}},DigestHeader:{fixtureProps:{onCopy:m}},SimulatedSetupOverview:{fixtureProps:{config:W,onBack:m,onSetup:m}},SimulatedSetupScreen:{fixtureProps:{config:W,onBack:m,onComplete:m}},SimulatedProvision:{fixtureProps:{config:W,onDone:m}},TeachSetupScreen:{fixtureProps:{config:c4,onBack:m,onComplete:m}},MobileTerminalCommandMenu:{fixtureProps:{defaultOpen:!0,currentFeature:"Mobile Commands Menu"}},MobileTerminalCommandMenuPanel:{fixtureProps:{defaultOpen:!0,currentFeature:"Mobile Commands Menu"}},RealDataScreen:{fixtureProps:{onBack:m,onComplete:m}},RealSetupFlow:{fixtureProps:{config:W,provider:"supabase",onBack:m,onComplete:m}},AccountsScreen:{fixtureProps:{onBack:m,onComplete:m}},EmailsScreen:{fixtureProps:{onBack:m,onComplete:m}},PaymentsScreen:{fixtureProps:{onBack:m,onComplete:m}},AccountsConnected:{fixtureProps:{app:oe,startedOn:"June 14",onComplete:m}},EmailsConnected:{fixtureProps:{app:oe,verifiedAddress:"hello@your-app.com",account:ft,onComplete:m}},PaymentsConnected:{fixtureProps:{app:oe,account:ft,onComplete:m}},RealDataConnected:{fixtureProps:{entity:ht,connection:W3,onPlan:m}},RealDataNotConnected:{fixtureProps:{entity:ht,onConnect:m}},SetupNotConnected:{fixtureProps:{config:_4,onConnect:m}},SetupPlanFooter:{fixtureProps:{onPlan:m}},ProjectLauncher:{fixtureProps:{onOpen:m,onStop:m,onScan:m,onClone:m}},ProjectRow:{fixtureProps:{onOpen:m,onStop:m}},ProjectRowActions:{fixtureProps:{onOpen:m,onStop:m}},ProjectScanForm:{fixtureProps:{onScan:m}},ProjectCreateForm:{fixtureProps:{onCreate:m}},CreateProjectModal:{fixtureProps:{onCreate:m,onClose:m}},ProjectLauncherEmpty:{fixtureProps:{onCreateFirst:m,onScan:m}},OpenSourceProjectsSection:{fixtureProps:{onClone:m}},OpenSourceProjectRow:{fixtureProps:{onClone:m}},SetupTopicPage:{fixtureProps:{icon:d.createElement(M,{size:26}),title:"Use real data",crumbLabel:"Real data",meta:"Foundation · about 10 minutes",assistKey:"real-data",onBack:m,lead:"Right now your app's information lives inside the code, so anything people enter disappears when they reload. A real database gives your app a memory.",illustration:d.createElement(ts,{nodes:[{emoji:"📝",label:"In the code",sub:"Resets on refresh"},{emoji:"🗄️",label:"A real database",sub:"Your app's memory",lime:!0},{emoji:"♾️",label:"Saved for good",sub:"Remembered everywhere"}]}),chatPrompt:"Help me set up real data for my app.",faqs:[{q:"What is a database, really?",a:"A labelled place your app remembers things — like a spreadsheet it can read from and write to instantly."}]}},BuildLaunchStatusBanner:{fixtureProps:{onOpenTerminal:m,onRetry:m,onViewLog:m}}};function p4(t){const s={};for(const[o,a]of Object.entries(t))s[o]=A(a);return s}const u4=new Set(["div","span","p","strong","em","code","pre","h1","h2","h3","h4","h5","h6","ul","ol","li","a","br","hr","img","section","header","footer","nav","article","button"]),yt=2e6;function m4(t){if(typeof File!="function"||typeof Blob!="function")return null;const s=typeof t.type=="string"?t.type:"";let o;if(typeof t.dataBase64=="string")try{const a=atob(t.dataBase64);if(a.length>yt)return null;const n=new Uint8Array(a.length);for(let r=0;r<a.length;r++)n[r]=a.charCodeAt(r);o=n}catch{return null}else{const a=typeof t.size=="number"&&t.size>=0?Math.min(t.size,yt):0;o=new Uint8Array(a)}return new File([o],t.name,s?{type:s}:void 0)}function A(t){if(t==="__noop__")return()=>{};if(t==null||typeof t!="object")return t;if(Array.isArray(t))return t.map(A);if(t.__type==="noop")return()=>{};if(t.__type==="undefined")return;if(t.__type==="Ref")return{current:null};if(t.__type==="Date"&&typeof t.value=="string")return new Date(t.value);if(t.__type==="Set"&&Array.isArray(t.values))return new Set(t.values.map(A));if(t.__type==="ReactNode"){if(typeof t.text=="string")return t.text;if(typeof t.element=="string"){if(!u4.has(t.element))return null;const o=t.children!=null?A(t.children):void 0;return d.createElement(t.element,t.props||null,o)}}if(t.__type==="File"&&typeof t.name=="string")return m4(t);if(t.__type==="Map"&&typeof t.entries=="object"&&t.entries!==null){const o=new Map;for(const[a,n]of Object.entries(t.entries))o.set(a,A(n));return o}const s={};for(const[o,a]of Object.entries(t))s[o]=A(a);return s}const St=200;function jt(t){const s=t.trim().replace(/\s+/g," ");return s.length<=St?s:`${s.slice(0,St)}…`}function x4(t,s,o,a){if(s===401)return{ok:!1,scenario:null,error:`This preview has no editor session, so the editor refused ${t} (HTTP 401). The Live Preview runs on its own address and gets a one-time pass from the editor when it loads — reload the Live Preview to get a fresh one.`};if(!o){const n=a.trim()?`: ${jt(a)}`:" (empty response body)";return{ok:!1,scenario:null,error:`HTTP ${s} from ${t}${n}`}}if(!a.trim())return{ok:!1,scenario:null,error:`HTTP ${s} from ${t} returned an empty response body (expected JSON)`};try{return{ok:!0,scenario:JSON.parse(a),error:null}}catch{return{ok:!1,scenario:null,error:`HTTP ${s} from ${t} returned a body that is not valid JSON: ${jt(a)}`}}}function g4(t){if(!t||typeof t!="object")return!1;const s=t,o=s.http?Object.keys(s.http).length:0,a=s.db?Object.keys(s.db).length:0;return o>0||a>0}function b4(t){if(!t||typeof t!="object")return null;const s=t.http;return!s||typeof s!="object"||Object.keys(s).length===0?null:s}const v4=new Set(["EditorShell"]),Ct=new Map;function h4(t){if(!t)return null;const s=Z3[t]??r4(t);if(!s)return null;const o=d4[t];if(!o)return s;const a=Ct.get(t);if(a)return a;const n=i4(s,o);return Ct.set(t,n),n}function ne(t){return{Component:null,props:{},name:"",loading:!1,error:t,needsRouter:!1,displayHints:null,seed:null,scenarioType:null,hasMocks:!1,httpMocks:null,url:null}}function f4(t){const[s,o]=d.useState({Component:null,props:{},name:"",loading:!0,error:null,needsRouter:!1,displayHints:null,seed:null,scenarioType:null,hasMocks:!1,httpMocks:null,url:null});return d.useEffect(()=>{let a=!1;o(r=>({...r,loading:!0,error:null}));const n=`/api/scenarios/${encodeURIComponent(t)}`;return fetch(n).then(async r=>{const i=await r.text();return x4(n,r.status,r.ok,i)}).then(r=>{if(a)return;if(!r.ok){o(ne(r.error));return}const i=r.scenario;if(i.error){o(ne(i.error));return}const l=h4(i.componentName),_=i.scenarioType==="application"||i.scenarioType==="component"?i.scenarioType:null,u=i.seed??null,x=g4(i.mocks),p=b4(i.mocks),c=typeof i.url=="string"?i.url:null;if(!l&&i.componentName){o({Component:null,props:{},name:i.name??"",loading:!1,error:`Component "${i.componentName}" not found in registry`,needsRouter:!1,displayHints:null,seed:u,scenarioType:_,hasMocks:x,httpMocks:p,url:c});return}o({Component:l,props:p4(i.props??{}),name:i.name??"",loading:!1,error:null,needsRouter:v4.has(i.componentName??""),displayHints:i.displayHints??null,seed:u,scenarioType:_,hasMocks:x,httpMocks:p,url:c})}).catch(r=>{a||o(ne(r.message))}),()=>{a=!0}},[t]),s}function y4(t){const s=t.indexOf(" ");return s>0&&s<8?{method:t.slice(0,s).toUpperCase(),pathname:t.slice(s+1)}:{method:"GET",pathname:t}}function S4(t){return typeof t=="string"?t:t instanceof URL?t.href:t instanceof Request?t.url:String(t)}function j4(t){if(typeof t=="string")try{return new URL(t,"http://localhost").pathname}catch{return t}if(t instanceof URL)return t.pathname;if(t instanceof Request)try{return new URL(t.url,"http://localhost").pathname}catch{return t.url}return String(t)}function uo(t,s){return s!=null&&s.method?s.method.toUpperCase():t instanceof Request?t.method.toUpperCase():"GET"}function C4(t){const s=window.fetch,o=Object.entries(t).map(([a,n])=>({...y4(a),response:n}));return window.fetch=function(n,r){const i=j4(n),l=uo(n,r);for(const _ of o)if(_.method===l&&_.pathname===i){const u=_.response.status??200,x=new Headers(_.response.headers??{});x.has("Content-Type")||x.set("Content-Type","application/json");const p=_.response.body!==void 0?JSON.stringify(_.response.body):null;return Promise.resolve(new Response(p,{status:u,headers:x}))}return s.call(window,n,r)},()=>{window.fetch=s}}const P4=new Set(["/api/editor-activate-scenario","/api/editor-deactivate-scenario"]);function w4(t){const s=typeof window<"u"?window.location.origin:"http://localhost";try{const o=new URL(t,s);return o.origin!==s?null:o.pathname}catch{return null}}function k4(t,s){const o=t.toUpperCase();if(o==="GET"||o==="HEAD")return!1;const a=w4(s);return!(a===null||!a.startsWith("/api/")||P4.has(a))}function N4(){const t=window.fetch;return window.fetch=function(o,a){const n=uo(o,a),r=S4(o);return k4(n,r)?(console.warn(`[scenario] suppressed ${n} ${r} — a mounted component scenario is a fixture and must not mutate real project state`),Promise.resolve(new Response(JSON.stringify({suppressedByScenarioWriteGuard:!0,reason:"A component scenario is a fixture; mutating requests are suppressed while it is mounted.",method:n,url:r}),{status:200,headers:{"Content-Type":"application/json"}}))):t.call(window,o,a)},()=>{window.fetch=t}}function mo({slug:t}){const{Component:s,props:o,name:a,loading:n,error:r,needsRouter:i,displayHints:l,seed:_,scenarioType:u,hasMocks:x,httpMocks:p,url:c}=f4(t),[v,b]=d.useState(!1),[g,S]=d.useState(null);if(d.useEffect(()=>{if(n)return;let T=!1;b(!1),S(null);const E=u==="component"?N4():null,j=p?C4(p):null;return u==="component"&&_==null&&!x?(b(!0),()=>{T=!0,j&&j(),E&&E()}):(fetch("/api/editor-activate-scenario",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:t})}).then(async P=>{const R=await P.json().catch(()=>null);T||(R&&(R.seedError||R.success===!1)&&(_!=null?S(R.seedError||R.error||"scenario activation failed"):console.warn("[scenario] activation returned failure for no-seed scenario; ignoring",R)),b(!0))}).catch(P=>{T||(_!=null?S(P instanceof Error?P.message:String(P)):console.warn("[scenario] activation request failed for no-seed scenario; ignoring",P),b(!0))}),()=>{T=!0,j&&j(),E&&E(),fetch("/api/editor-deactivate-scenario",{method:"POST"}).catch(()=>{})})},[t,n,_,u,x,p]),n||!v)return e.jsx("div",{className:"flex min-h-screen items-center justify-center bg-[var(--bg-deep)] text-[var(--text-muted)]",children:"Loading scenario..."});if(g)return e.jsx(Ze,{error:g});if(r)return e.jsx("div",{"data-codeyam-scenario-error":"scenario",className:"flex min-h-screen items-center justify-center bg-[var(--bg-deep)] text-[var(--accent-red)]",children:e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-lg",children:"Scenario Error"}),e.jsx(k,{text:r,copyText:`Scenario Error: ${r}`,className:"text-sm text-[var(--accent-red)]",rowClassName:"mt-2 justify-center"})]})});if(!s)return u==="application"?e.jsx(it,{name:a,url:c}):e.jsx("div",{className:"flex min-h-screen items-center justify-center bg-[var(--bg-deep)] text-[var(--text-muted)]",children:e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-lg",children:a}),e.jsx("p",{className:"mt-2 text-sm",children:"No component specified for this scenario"})]})});const f=e.jsx(s,{...o});if(i)return f;const h=l==null?void 0:l.height,y={...l!=null&&l.maxWidth?{maxWidth:l.maxWidth}:{},...h?{height:h,display:"flex",flexDirection:"column"}:{}},C=l!=null&&l.anchor?"w-full relative":"w-full";return e.jsx("div",{className:"flex min-h-screen items-center justify-center bg-[var(--bg-deep)] p-4",children:e.jsx("div",{className:C,style:Object.keys(y).length>0?y:void 0,children:f})})}export{mo as ScenarioRenderer};
|