@codeyam-editor/codeyam-editor 0.1.8 → 0.1.9
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/cloud.js +361 -18
- package/npm/editor-dev.js +24 -2
- package/npm/editor.js +15 -5
- package/npm/fleet-add-failure.js +355 -21
- package/npm/fleet-branch.js +124 -1
- package/npm/fleet-build-data.js +12 -1
- package/npm/fleet-cleanup.js +84 -3
- package/npm/fleet-datastore-health.js +107 -0
- package/npm/fleet-revision.js +108 -0
- package/npm/fleet-run-setup.js +66 -0
- package/npm/fleet-session-activity.js +162 -0
- package/npm/fleet-vm-readiness.js +57 -16
- package/npm/launch-config.js +126 -2
- package/npm/scenario-check.js +697 -34
- package/npm/scenario-interactivity.js +477 -23
- package/npm/scenario-issues.js +61 -0
- package/npm/scenario-playwright.js +67 -14
- package/npm/utils.js +262 -22
- package/package.json +5 -5
- package/ui/dist/assets/{ContainerInspector-DSVZvEkB.js → ContainerInspector-C7I9wctz.js} +1 -1
- package/ui/dist/assets/EditorShell-9aYMeOdZ.js +330 -0
- package/ui/dist/assets/EditorShell-CE8iG_EM.css +1 -0
- package/ui/dist/assets/ScenarioDataPanel-CLwkrex0.js +18 -0
- package/ui/dist/assets/{ScenarioDataPanelFullPage-Cyk6efiI.js → ScenarioDataPanelFullPage-DT0TZC4M.js} +1 -1
- package/ui/dist/assets/ScenarioRenderer-Bsarhcrl.js +21 -0
- package/ui/dist/assets/index-BRoAenc1.css +1 -0
- package/ui/dist/assets/{index-BPLKgwon.js → index-iMR5siiG.js} +9 -9
- package/ui/dist/index.html +2 -2
- package/ui/dist/preview-subdir-demo/index.html +62 -0
- package/ui/dist/preview-subdir-demo/sibling.html +48 -0
- package/ui/dist/assets/EditorShell-DnXdHrar.js +0 -256
- package/ui/dist/assets/EditorShell-FvbXyqqD.css +0 -1
- package/ui/dist/assets/ScenarioDataPanel-6qJE-0lA.js +0 -15
- package/ui/dist/assets/ScenarioRenderer-Uyt54vHI.js +0 -21
- package/ui/dist/assets/index-DKpgJLo3.css +0 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{j as e}from"./markdown-C9tbsVHX.js";import{b as d}from"./react-nrLBr15I.js";import{C,a as ie,u as Is,_ as Ls,b as Fs}from"./useServerIdentity-CVuHTzjg.js";import{P as Hs,c as zs,L as w,C as st,S as ot,M as at,f as Gs,T as nt,e as qs,a as le,b as rt,d as $s,g as L,N as ee,h as Vs,i as it,j as lt,k as ce,l as te,m as ct,n as _t,Q as H,D as dt,o as Ws,p as Us,s as Js,F as pt,q as mt,E as ut,r as Qs,R as _e,t as Ks,u as xt,v as E,X as se,w as k,I as gt,x as bt,y as vt,z as ht,A as V,B as oe,G as ft,H as We,J as St,K as yt,O as jt,U as Pt,V as Ct,W as Ys,Y as Xs,Z as Zs,_ as eo,$ as to,a0 as so,a1 as oo,a2 as ao,a3 as no,a4 as ro,a5 as io,a6 as lo,a7 as co,a8 as _o,a9 as po,aa as mo,ab as uo,ac as xo,ad as go,ae as bo,af as vo,ag as ho,ah as fo,ai as So,aj as yo,ak as jo,al as Po,am as Co,an as wo,ao as No,ap as ko,aq as To,ar as Ro,as as Do,at as Eo,au as Bo,av as Mo,aw as Oo,ax as Ao,ay as Io,az as Lo,aA as Fo,aB as Ho,aC as zo,aD as Go,aE as qo,aF as $o,aG as Vo,aH as Wo,aI as Uo,aJ as Jo,aK as Qo,aL as Ko,aM as Yo,aN as Xo,aO as Zo,aP as ea,aQ as ta,aR as sa,aS as oa,aT as aa,aU as na,aV as ra,aW as ia,aX as la,aY as ca,aZ as wt,a_ as _a,a$ as da,b0 as pa,b1 as ma,b2 as ua,b3 as xa,b4 as ga,b5 as ba,b6 as va,b7 as ha,b8 as fa,b9 as Sa,ba as ya,bb as ja,bc as Pa,bd as Ca,be as wa,bf as Na,bg as ka,bh as Ta,bi as Ra,bj as Da,bk as Ea,bl as Ba,bm as Ma,bn as Oa,bo as Aa,bp as Ia,bq as La,br as Fa,bs as Ha,bt as za,bu as Ga,bv as qa,bw as $a,bx as Va,by as Wa,bz as Ua,bA as Ja,bB as Qa,bC as Ka,bD as Ya,bE as Xa,bF as Za,bG as en,bH as tn,bI as sn,bJ as on,bK as an,bL as nn,bM as rn,bN as ln,bO as cn,bP as _n,bQ as dn,bR as pn,bS as mn,bT as un,bU as xn,bV as gn,bW as bn,bX as vn,bY as hn,bZ as fn,b_ as Sn,b$ as yn,c0 as jn,c1 as Pn,c2 as Cn,c3 as wn,c4 as Nn,c5 as kn,c6 as Tn,c7 as Rn,c8 as Dn,c9 as En,ca as Bn,cb as Mn,cc as On,cd as An,ce as In,cf as Ln,cg as Fn,ch as Hn,ci as zn,cj as Gn,ck as qn,cl as $n,cm as Vn,cn as Wn,co as Un,cp as Jn,cq as Qn,cr as Kn,cs as Yn,ct as Xn,cu as Zn,cv as er,cw as tr,cx as sr,cy as or,cz as ar,cA as nr,cB as rr,cC as ir,cD as lr,cE as cr,cF as _r,cG as dr,cH as pr,cI as mr,cJ as ur,cK as xr,cL as gr,cM as br,cN as vr,cO as hr,cP as fr,cQ as Sr,cR as yr,cS as jr,cT as Pr,cU as Cr,cV as wr,cW as Nr,cX as kr,cY as Tr,cZ as Rr,c_ as Dr,c$ as Er,d0 as Br,d1 as Mr,d2 as Or,d3 as Ar,d4 as Ir,d5 as Lr,d6 as Fr,d7 as Hr,d8 as zr,d9 as Gr,da as qr,db as $r,dc as Vr,dd as Wr,de as Ur,df as Jr,dg as Qr,dh as Kr,di as Yr,dj as Xr,dk as Zr,dl as ei,dm as ti,dn as si,dp as oi,dq as ai,dr as ni,ds as ri,dt as ii,du as li,dv as ci,dw as _i,dx as di,dy as pi,dz as mi,dA as ui,dB as xi,dC as gi,dD as bi,dE as vi,dF as hi,dG as fi,dH as Si,dI as yi,dJ as ji,dK as Pi,dL as Ci,dM as wi,dN as Ni,dO as ki,dP as Ti,dQ as Ri,dR as Di,dS as Ei,dT as Bi,dU as Mi,dV as Oi,dW as Ai,dX as Ii,dY as Li,dZ as Fi,d_ as Hi,d$ as zi,e0 as Gi,e1 as qi,e2 as $i,e3 as Vi,e4 as Wi,e5 as Ui,e6 as Ji,e7 as Qi,e8 as Ki,e9 as Yi,ea as Xi,eb as Zi,ec as el,ed as tl,ee as sl,ef as ol,eg as al,eh as nl,ei as rl,ej as il,ek as ll,el as cl,em as _l,en as dl,eo as pl,ep as ml,eq as ul,er as xl,es as gl,et as bl,eu as vl,ev as hl,ew as fl,ex as Sl,ey as yl,ez as jl,eA as Pl,eB as Cl,eC as wl,eD as Nl,eE as kl,eF as Tl,eG as Rl,eH as Dl,eI as El,eJ as Bl,eK as Ml,eL as Ol,eM as Al,eN as Il,eO as Ll,eP as Fl,eQ as Hl,eR as zl,eS as Gl,eT as ql,eU as $l,eV as Vl,eW as Wl,eX as Ul,eY as Jl,eZ as Ql,e_ as Kl,e$ as Yl,f0 as Xl,f1 as Zl,f2 as ec,f3 as tc,f4 as sc,f5 as oc,f6 as ac,f7 as nc,f8 as rc,f9 as ic,fa as lc,fb as cc,fc as _c,fd as dc,fe as pc,ff as mc,fg as uc,fh as xc,fi as gc,fj as bc,fk as vc,fl as hc,fm as fc,fn as Sc,fo as yc,fp as jc,fq as Pc,fr as Cc,fs as wc,ft as Nc,fu as kc,fv as Tc,fw as Rc,fx as Dc,fy as Ec,fz as Bc,fA as Mc,fB as Oc,fC as Ac,fD as Ic,fE as Lc,fF as Fc,fG as Hc,fH as zc,fI as Gc,fJ as qc,fK as $c,fL as Vc,fM as Wc,fN as Uc,fO as Jc,fP as Qc,fQ as Kc,fR as Yc,fS as Xc,fT as Zc,fU as e_,fV as t_,fW as s_,fX as o_,fY as a_,fZ as n_,f_ as r_,f$ as i_,g0 as l_,g1 as c_,g2 as __,g3 as d_,g4 as p_,g5 as m_,g6 as u_,g7 as x_,g8 as g_,g9 as b_,ga as v_,gb as h_,gc as f_,gd as S_,ge as y_,gf as j_,gg as P_,gh as C_,gi as w_,gj as N_,gk as k_,gl as T_,gm as R_,gn as D_,go as E_,gp as B_,gq as M_,gr as O_,gs as A_,gt as I_,gu as L_,gv as F_,gw as H_,gx as z_,gy as G_,gz as q_,gA as $_,gB as V_,gC as W_,gD as U_,gE as J_,gF as Q_,gG as K_,gH as Y_,gI as X_,gJ as Z_,gK as ed,gL as td,gM as sd,gN as od,gO as ad,gP as nd,gQ as rd,gR as id,gS as ld,gT as cd,gU as _d,gV as dd,gW as pd,gX as md,gY as ud,gZ as xd,g_ as gd,g$ as bd,h0 as vd,h1 as hd,h2 as fd,h3 as Sd,h4 as yd,h5 as jd,h6 as Pd,h7 as Cd,h8 as wd,h9 as Nd,ha as kd,hb as Td,hc as Rd,hd as Dd,he as Ed,hf as Bd,hg as Md,hh as Od,hi as Ad,hj as Id,hk as Ld,hl as Fd,hm as Hd,hn as zd,ho as Gd,hp as qd,hq as $d,hr as Vd,hs as Wd,ht as Ud,hu as Jd,hv as Qd,hw as Kd,hx as Yd,hy as Xd,hz as Zd,hA as ep,hB as tp,hC as sp,hD as op,hE as ap,hF as np,hG as rp,hH as ip,hI as lp,hJ as cp,hK as _p,hL as dp,hM as pp,hN as mp,hO as up,hP as xp,hQ as gp,hR as bp,hS as vp,hT as hp,hU as fp,hV as Sp,hW as yp,hX as jp,hY as Pp,hZ as Cp,h_ as wp,h$ as Np,i0 as kp,i1 as Tp,i2 as Rp,i3 as Dp,i4 as Ep,i5 as Bp,i6 as Mp,i7 as Op,i8 as Ap,i9 as Ip,ia as Lp,ib as Fp,ic as Hp,id as zp,ie as Gp,ig as qp,ih as $p,ii as Vp,ij as Wp,ik as Up,il as Jp,im as Qp,io as Kp,ip as Yp,iq as Xp,ir as Zp,is as em,it as tm,iu as sm,iv as om,iw as am,ix as nm,iy as rm,iz as im,iA as lm,iB as cm,iC as _m,iD as dm,iE as pm,iF as mm,iG as um,iH as xm,iI as gm,iJ as bm,iK as vm,iL as hm,iM as fm,iN as Sm,iO as ym,iP as jm,iQ as Pm,iR as Cm,iS as wm,iT as Nm,iU as km,iV as Tm,iW as Rm,iX as Dm,iY as Em,iZ as Bm,i_ as Mm,i$ as Om,j0 as Am,j1 as Im,j2 as Lm,j3 as Fm,j4 as Hm,j5 as zm,j6 as Gm,j7 as qm,j8 as $m,j9 as Vm,ja as Wm,jb as Um,jc as Jm,jd as Qm,je as Km,jf as Ym,jg as Xm,jh as Zm,ji as eu,jj as tu,jk as su,jl as ou,jm as au,jn as nu,jo as ru,jp as iu,jq as lu,jr as cu,js as _u,jt as du,ju as pu,jv as mu,jw as uu,jx as xu,jy as gu,jz as bu,jA as vu,jB as hu,jC as fu,jD as Su,jE as yu,jF as ju,jG as Pu,jH as Cu,jI as wu,jJ as Nu,jK as ku,jL as Tu,jM as Ru,jN as Du,jO as Eu,jP as Bu,jQ as Mu,jR as Ou,jS as Au,jT as Iu,jU as Lu,jV as Fu,jW as Hu,jX as zu,jY as Gu,jZ as qu,j_ as $u,j$ as Vu,k0 as Wu,k1 as Uu,k2 as Ju,k3 as Qu,k4 as Ku,k5 as Yu,k6 as Xu,k7 as Zu,k8 as ex,k9 as tx,ka as sx,kb as ox,kc as ax,kd as nx,ke as rx,kf as ix,kg as lx,kh as cx,ki as _x,kj as dx,kk as px,kl as mx,km as ux,kn as xx,ko as gx,kp as bx,kq as vx,kr as hx,ks as fx,kt as Sx,ku as yx,kv as jx,kw as Px,kx as Cx,ky as wx,kz as Nx,kA as kx,kB as Tx,kC as Rx,kD as Dx,kE as Ex,kF as Bx,kG as Mx,kH as Ox,kI as Ax,kJ as Ix,kK as Lx,kL as Fx,kM as Hx,kN as zx,kO as Gx,kP as qx,kQ as $x,kR as Vx,kS as Wx,kT as Ux,kU as Jx,kV as Qx,kW as Kx,kX as Yx,kY as Xx,kZ as Zx,k_ as eg,k$ as tg,l0 as sg,l1 as og,l2 as ag,l3 as ng,l4 as rg,l5 as ig,l6 as lg,l7 as cg,l8 as _g,l9 as dg,la as pg,lb as mg,lc as ug,ld as xg,le as gg,lf as bg,lg as vg,lh as hg,li as fg,lj as Sg,lk as yg,ll as jg,lm as Pg,ln as Cg,lo as wg,lp as Ng,lq as kg,lr as Tg,ls as Rg,lt as Dg,lu as Eg,lv as Bg,lw as Mg,lx as Og,ly as Ag,lz as Ig,lA as Lg,lB as Fg,lC as Hg,lD as zg,lE as Gg,lF as qg,lG as $g,lH as Vg,lI as Wg,lJ as Ug,lK as Jg,lL as Qg,lM as Kg,lN as Yg,lO as Xg,lP as Zg,lQ as eb,lR as tb,lS as sb,lT as ob,lU as ab,lV as nb,lW as rb,lX as ib,lY as lb,lZ as cb,l_ as _b,l$ as db,m0 as pb,m1 as mb,m2 as ub,m3 as xb,m4 as gb,m5 as bb,m6 as vb,m7 as hb,m8 as fb,m9 as Sb,ma as yb,mb as jb,mc as Pb,md as Cb,me as wb,mf as Nb,mg as kb,mh as Tb,mi as Rb,mj as Db,mk as Eb,ml as Bb,mm as Mb,mn as Ob,mo as Ab,mp as Ib,mq as Lb,mr as Fb,ms as Hb,mt as zb,mu as Gb,mv as qb,mw as $b,mx as Vb,my as Wb,mz as Ub,mA as Jb,mB as Qb,mC as Kb,mD as Yb,mE as Xb,mF as Zb,mG as ev,mH as tv,mI as sv,mJ as ov,mK as av,mL as nv,mM as rv,mN as iv,mO as lv,mP as cv,mQ as _v,mR as dv,mS as pv,mT as mv,mU as uv,mV as xv,mW as gv,mX as bv,mY as vv,mZ as hv,m_ as fv,m$ as Sv,n0 as yv,n1 as jv,n2 as Pv,n3 as Cv,n4 as wv,n5 as Nv,n6 as kv,n7 as Tv,n8 as Rv,n9 as Dv,na as Ev,nb as Bv,nc as Mv,nd as Ov,ne as Av,nf as Iv,ng as Lv,nh as Fv,ni as Hv,nj as zv,nk as Gv,nl as qv,nm as $v,nn as Vv,no as Wv,np as Uv,nq as Jv,nr as Qv,ns as Kv,nt as Yv,nu as Xv,nv as Zv,nw as eh,nx as th,ny as sh,nz as oh,nA as ah,nB as nh,nC as rh,nD as ih,nE as lh,nF as ch,nG as _h,nH as dh,nI as ph,nJ as mh,nK as uh,nL as xh,nM as gh,nN as bh,nO as vh,nP as hh,nQ as fh,nR as Sh,nS as yh,nT as jh,nU as Ph,nV as Ch,nW as wh,nX as Nh,nY as kh,nZ as Th,n_ as Rh,n$ as Dh,o0 as Eh,o1 as Bh,o2 as Mh,o3 as Oh,o4 as Ah,o5 as Ih,o6 as Lh,o7 as Fh,o8 as Hh,o9 as zh,oa as Gh,ob as qh,oc as $h,od as Vh,oe as Wh,of as Uh,og as Jh,oh as Qh,oi as Kh,oj as Yh,ok as Xh,ol as Zh,om as ef,on as tf,oo as sf,op as of,oq as af,or as nf,os as rf,ot as lf,ou as cf,ov as _f,ow as df,ox as pf,oy as mf,oz as uf,oA as xf,oB as gf,oC as bf,oD as vf,oE as hf,oF as ff,oG as Sf,oH as yf,oI as jf,oJ as Pf,oK as Cf,oL as wf,oM as Nf,oN as kf,oO as Tf,oP as Rf,oQ as Df,oR as Ef,oS as Bf,oT as Mf,oU as Of,oV as Af,oW as If,oX as Lf,oY as Ff,oZ as Hf,o_ as zf,o$ as Gf,p0 as qf,p1 as $f,p2 as Vf,p3 as Wf,p4 as Uf,p5 as Jf,p6 as Qf,p7 as Kf,p8 as Yf,p9 as Xf,pa as Zf,pb as e0,pc as t0,pd as s0,pe as o0,pf as a0,pg as n0,ph as r0,pi as i0,pj as l0,pk as c0,pl as _0,pm as d0,pn as p0,po as m0,pp as u0,pq as x0,pr as g0,ps as b0,pt as v0,pu as h0,pv as f0,pw as S0,px as y0,py as j0,pz as P0,pA as C0,pB as w0,pC as N0,pD as k0,pE as T0,pF as R0,pG as D0,pH as E0,pI as B0,pJ as M0,pK as O0,pL as A0,pM as I0,pN as L0,pO as F0,pP as H0,pQ as z0,pR as G0,pS as q0,pT as $0,pU as V0,pV as W0,pW as U0,pX as J0,pY as Q0,pZ as K0,p_ as Y0,p$ as X0,q0 as Z0,q1 as eS,q2 as tS,q3 as sS,q4 as oS,q5 as aS,q6 as nS,q7 as rS,q8 as iS,q9 as lS,qa as cS,qb as _S,qc as dS,qd as pS,qe as mS,qf as uS,qg as xS,qh as gS,qi as bS,qj as vS,qk as hS,ql as fS,qm as SS,qn as yS,qo as jS,qp as PS,qq as CS,qr as wS,qs as NS,qt as kS,qu as TS,qv as RS,qw as DS,qx as ES,qy as BS,qz as MS,qA as OS,qB as AS,qC as IS,qD as LS,qE as FS,qF as HS,qG as zS,qH as GS,qI as qS,qJ as $S,qK as VS,qL as WS,qM as US,qN as JS,qO as QS,qP as KS,qQ as YS,qR as XS,qS as ZS,qT as ey,qU as ty,qV as sy,qW as oy,qX as ay,qY as ny,qZ as ry,q_ as iy,q$ as ly,r0 as cy,r1 as _y,r2 as dy,r3 as py,r4 as my,r5 as uy,r6 as xy,r7 as gy,r8 as by,r9 as vy,ra as hy,rb as fy,rc as Sy,rd as yy,re as jy,rf as Py,rg as Cy,rh as wy,ri as Ny,rj as ky,rk as Ty,rl as Ry,rm as Dy,rn as Ey,ro as By,rp as My,rq as Oy,rr as Ay,rs as Iy,rt as Ly,ru as Fy,rv as Hy,rw as zy,rx as Gy,ry as qy,rz as $y,rA as Vy,rB as Wy,rC as Uy,rD as Jy,rE as Qy,rF as Ky,rG as Yy,rH as Xy,rI as Zy,rJ as ej,rK as tj,rL as sj,rM as oj,rN as aj,rO as nj,rP as rj,rQ as ij,rR as lj,rS as cj,rT as _j,rU as dj,rV as pj,rW as mj,rX as uj,rY as xj,rZ as gj,r_ as bj,r$ as vj,s0 as hj,s1 as fj,s2 as Sj,s3 as yj,s4 as jj,s5 as Pj,s6 as Cj,s7 as wj,s8 as Nj,s9 as kj,sa as Tj,sb as Rj,sc as Dj,sd as Ej,se as Bj,sf as Mj,sg as Oj,sh as Aj,si as Ij,sj as Lj,sk as Fj,sl as Hj,sm as zj,sn as Gj,so as qj,sp as $j,sq as Vj,sr as Wj,ss as Uj,st as Jj,su as Qj,sv as Kj,sw as Yj,sx as Xj,sy as Zj,sz as eP,sA as tP,sB as sP,sC as oP,sD as aP,sE as nP,sF as rP,sG as iP,sH as lP,sI as cP,sJ as _P,sK as dP,sL as pP,sM as mP,sN as uP,sO as xP,sP as gP,sQ as bP,sR as vP,sS as hP,sT as fP,sU as SP,sV as yP,sW as jP,sX as PP,sY as CP,sZ as wP,s_ as NP,s$ as kP,t0 as TP,t1 as RP,t2 as DP,t3 as EP,t4 as BP,t5 as MP,t6 as OP,t7 as AP,t8 as IP,t9 as LP,ta as FP,tb as HP,tc as zP,td as GP,te as qP,tf as $P,tg as VP,th as WP,ti as UP,tj as JP,tk as QP,tl as KP,tm as YP,tn as XP,to as ZP,tp as eC,tq as tC,tr as sC,ts as oC,tt as aC,tu as nC,tv as X}from"./EditorShell-9aYMeOdZ.js";import{u as rC,A as J,S as Nt,M as kt,f as iC,a as Tt,p as Ue,e as U,b as Rt,c as Dt,d as Et,g as lC,h as cC,i as _C,C as dC,j as pC,R as mC,k as uC,l as xC,E as gC,m as bC,n as vC,o as hC,q as fC,T as SC,r as yC,s as jC,t as PC,v as CC,D as wC,w as NC,x as kC,B as TC,y as RC,z as DC,F as EC,J as BC,G as MC,H as OC,I as AC,K as IC,L as LC,N as FC,O as HC,P as zC,Q as GC,U as qC,V as $C,W as VC,X as WC,Y as UC,Z as JC,_ as QC,$ as KC,a0 as YC,a1 as XC,a2 as ZC,a3 as ew,a4 as tw,a5 as sw,a6 as ow,a7 as aw,a8 as nw,a9 as rw,aa as iw,ab as lw,ac as cw,ad as _w,ae as dw,af as pw,ag as mw,ah as uw,ai as xw,aj as gw,ak as bw,al as vw,am as hw,an as fw,ao as Sw,ap as yw,aq as jw,ar as Pw,as as Cw,at as ww,au as Nw,av as kw,aw as Tw,ax as Rw,ay as Dw,az as Ew,aA as Bw,aB as Mw,aC as Ow,aD as Aw,aE as Iw,aF as Lw,aG as Fw,aH as Hw,aI as zw,aJ as Gw,aK as qw,aL as $w,aM as Vw,aN as Ww,aO as Uw,aP as Jw,aQ as Qw,aR as Kw,aS as Yw,aT as Xw,aU as Zw,aV as eN,aW as tN,aX as sN,aY as oN,aZ as aN,a_ as nN,a$ as rN,b0 as iN,b1 as lN,b2 as cN,b3 as _N,b4 as dN,b5 as pN,b6 as mN,b7 as uN,b8 as xN,b9 as gN,ba as bN,bb as vN,bc as hN,bd as fN,be as SN,bf as yN,bg as jN,bh as PN,bi as CN,bj as wN,bk as NN,bl as kN,bm as TN,bn as RN,bo as DN,bp as EN,bq as BN}from"./ScenarioDataPanel-CLwkrex0.js";import{V as MN,S as ON,P as AN,a as IN,B as LN,b as FN,c as HN,d as zN,e as GN,_ as qN,f as $N,g as VN,h as WN}from"./StepsSimulator-CymGgfbu.js";import{M as Bt,_ as UN}from"./Markdown-Chgdf3PW.js";import{p as JN}from"./index-iMR5siiG.js";import{S as Mt,B as F,M as O,a as W,t as M,I as QN,D as KN,b as YN,c as XN,d as ZN,e as ek,f as tk,g as sk,h as ok,i as ak,j as nk,k as rk,C as ik,l as lk,_ as ck,m as _k,n as dk,o as pk,p as mk,q as uk,r as xk,s as gk,u as bk,v as vk,w as hk,x as fk,y as Sk,z as yk}from"./ContainerInspector-C7I9wctz.js";import{O as jk,a as Pk,P as Ck,C as wk,b as Nk,c as kk,d as Tk,e as Rk,f as Dk,g as Ek,R as Bk,T as Mk,h as Ok,i as Ak,j as Ik,k as Lk,l as Fk,m as Hk,_ as zk,n as Gk,o as qk,p as $k}from"./ProjectLauncherScreen-E0NYYiwy.js";import{S as Vk,_ as Wk}from"./ScenarioDataPanelFullPage-DT0TZC4M.js";import"./useEvents-S3Qk1Y_d.js";import"./xterm--24IGk-x.js";const Uk=Object.freeze(Object.defineProperty({__proto__:null,get ScenarioRenderer(){return Ps}},Symbol.toStringTag,{value:"Module"}));function Ot({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(Hs,{previewOrigin:t,onRecheck:()=>{}})})}const Jk=Object.freeze(Object.defineProperty({__proto__:null,PreviewSignInNoticeShowcase:Ot},Symbol.toStringTag,{value:"Module"}));function de({files:t}){if(t.length===0)return null;const{added:s,modified:o,deleted:a}=zs(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 Qk=Object.freeze(Object.defineProperty({__proto__:null,FileChangeSummary:de},Symbol.toStringTag,{value:"Module"}));function pe({entry:t}){return e.jsxs("div",{className:"mt-3 pt-3",style:{borderTop:"1px solid var(--border-default)"},children:[t.userRequest&&e.jsx(w,{label:"Request",children:e.jsx(st,{children:t.userRequest})}),e.jsx(w,{label:"Description",children:e.jsx(Bt,{variant:"compact",children:t.description})}),t.scenarioScreenshots.length>0&&e.jsx(w,{label:"Scenarios",children:e.jsx(ot,{screenshots:t.scenarioScreenshots})}),t.modifiedFiles.length>0&&e.jsx(w,{label:"Modified Files",children:e.jsx(at,{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 Kk=Object.freeze(Object.defineProperty({__proto__:null,JournalEntryDetails:pe},Symbol.toStringTag,{value:"Module"}));function me({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(ue,{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:Gs(t.timestamp)}),t.testResults&&e.jsx(nt,{total:t.testResults.total,passed:t.testResults.passed,failed:t.testResults.failed}),e.jsx(de,{files:t.modifiedFiles})]})]}),e.jsx("span",{className:"text-xs mt-1",style:{color:"var(--text-dim)"},children:s?"▼":"▶"})]}),s&&e.jsx(pe,{entry:t})]})}function ue({type:t}){return e.jsx("span",{className:`text-xs font-medium ${qs(t)}`,children:t})}const Yk=Object.freeze(Object.defineProperty({__proto__:null,EntryTypeBadge:ue,JournalEntryCard:me},Symbol.toStringTag,{value:"Module"}));function At({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(C,{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 c=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 ",c," journal entr",c===1?"y":"ies"]}),e.jsx("div",{className:"flex flex-col gap-3",children:t.map(_=>e.jsx(me,{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 Xk=Object.freeze(Object.defineProperty({__proto__:null,JournalView:At},Symbol.toStringTag,{value:"Module"})),xe=[{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 ge(t){const s=new Map(t.map(o=>[o.key,o]));return{concepts:t,byKey:o=>s.get(o)}}function It(){return e.jsx(le.Provider,{value:ge(xe),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 Lt(){return e.jsx(le.Provider,{value:ge(xe),children:e.jsx($s,{onBack:()=>{}})})}const Zk=[{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 Ft(){return e.jsx(le.Provider,{value:ge(xe),children:e.jsx(rt,{topics:Zk,onBack:()=>{},onOpenHosting:()=>{},onOpenTopic:()=>{},onOpenConcepts:()=>{}})})}const eT=Object.freeze(Object.defineProperty({__proto__:null,ConceptTermShowcase:It,ConceptsGlossaryScreenShowcase:Lt,LearnSetupConceptsNudgeShowcase:Ft},Symbol.toStringTag,{value:"Module"}));function Ht({apps:t,selected:s,onChange:o}){return t.length===0?null:e.jsxs("div",{className:"flex gap-1",children:[t.map(a=>e.jsx(ee,{href:Vs(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(ee,{href:JN("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 tT=Object.freeze(Object.defineProperty({__proto__:null,AppSelector:Ht},Symbol.toStringTag,{value:"Module"}));function zt(){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 sT=Object.freeze(Object.defineProperty({__proto__:null,BuildTabReadyToBuildPlaceholder:zt},Symbol.toStringTag,{value:"Module"}));function Q(){return rC(()=>!0,!0),null}const oT=Object.freeze(Object.defineProperty({__proto__:null,ReadyAgentRegistrar:Q},Symbol.toStringTag,{value:"Module"}));function Gt({silentMs:t,providerLabel:s}){const[o,a]=d.useState(!1);return o?null:e.jsxs(J,{children:[e.jsx(Q,{}),e.jsx(it,{silentMs:t,onDismiss:()=>a(!0),providerLabel:s})]})}const aT=Object.freeze(Object.defineProperty({__proto__:null,StuckTurnBannerAgentReadyShowcase:Gt},Symbol.toStringTag,{value:"Module"}));function qt({step:t,label:s,providerLabel:o}){const[a,n]=d.useState(!1);return a?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(J,{children:[e.jsx(Q,{}),e.jsx(lt,{step:t,label:s,onDismiss:()=>n(!0),providerLabel:o})]})}const nT=Object.freeze(Object.defineProperty({__proto__:null,TurnEndedOffGateBannerAgentReadyShowcase:qt},Symbol.toStringTag,{value:"Module"}));function $t({settings:t,providerLabel:s}){const[o,a]=d.useState(t);return e.jsx(ce,{settings:o,onChange:a,providerLabel:s})}const rT=Object.freeze(Object.defineProperty({__proto__:null,NotificationSettingsControlsShowcase:$t},Symbol.toStringTag,{value:"Module"})),iT=Object.freeze(Object.defineProperty({__proto__:null,EditorShellPreviewPane:te},Symbol.toStringTag,{value:"Module"})),lT={http_request:"#3fb950",db_query:"#D7FF63",process_output:"#6e7681",health_check:"#d29922",hook_execution:"#bc8cff",error:"#f85149",scenario_switch:"#d29922"};function cT(t){const s=lT[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 be({event:t}){const{label:s,detail:o,badge:a,color:n}=cT(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 _T=Object.freeze(Object.defineProperty({__proto__:null,EventCard:be},Symbol.toStringTag,{value:"Module"}));function Vt({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(be,{event:s},s.id))})}const dT=Object.freeze(Object.defineProperty({__proto__:null,EventStream:Vt},Symbol.toStringTag,{value:"Module"}));function ve({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 pT=Object.freeze(Object.defineProperty({__proto__:null,StatusBadge:ve},Symbol.toStringTag,{value:"Module"}));function he({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(ve,{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,c)=>e.jsx(ct,{test:i},c))})]})}const mT=Object.freeze(Object.defineProperty({__proto__:null,FeatureGroupView:he},Symbol.toStringTag,{value:"Module"}));function Wt({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 uT=Object.freeze(Object.defineProperty({__proto__:null,FilterBar:Wt},Symbol.toStringTag,{value:"Module"}));function fe({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(_t,{scenario:n,onPreview:s?()=>s(n.slug):void 0},n.slug))})]})}const xT=Object.freeze(Object.defineProperty({__proto__:null,RouteGroupView:fe},Symbol.toStringTag,{value:"Module"}));function Ut({onAssetsSaved:t}){return e.jsx(H,{title:"Add your design files",subtitle:"Drop in anything: brand assets, mockups, references. Tell us briefly what each one shows.",children:e.jsx(dt,{onAssetsSaved:t})})}const gT=Object.freeze(Object.defineProperty({__proto__:null,DesignAddAssetsStep:Ut},Symbol.toStringTag,{value:"Module"}));function K({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(Se,{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 Se({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 bT=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireOptionCard:K,QuestionnaireOptionIndicator:Se},Symbol.toStringTag,{value:"Module"})),vT=[{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 Jt({selected:t,onSelect:s}){return e.jsx(H,{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:vT.map(o=>e.jsx(K,{label:o.label,description:o.description,selected:t===o.id,onClick:()=>s(o.id)},o.id))})})}const hT=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireDesignApproachStep:Jt},Symbol.toStringTag,{value:"Module"}));function Qt({providerLabel:t}){const[s,o]=d.useState(()=>Ws());d.useEffect(()=>{Us()},[]);const a=r=>{o(r),Js(r)},n=()=>{a({...s,systemNotification:!0}),typeof Notification<"u"&&Notification.permission==="default"&&Notification.requestPermission()};return e.jsx(H,{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(ce,{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 fT=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireNotificationsStep:Qt},Symbol.toStringTag,{value:"Module"})),Je=[{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 Kt({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:Je.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(H,{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:Je.map(a=>e.jsx(K,{label:a.label,description:a.description,selected:t===a.id,onClick:()=>s(a.id)},a.id))})})})}const ST=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireDeviceSelector:Kt},Symbol.toStringTag,{value:"Module"}));function Yt({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,c=r<t;return e.jsx("button",{onClick:()=>{c&&o(r)},style:{background:"none",border:"none",cursor:c?"pointer":"default",padding:"var(--spacing-xs, 4px) 0",fontSize:"var(--text-sm, 14px)",color:i?"var(--text-primary)":c?"var(--text-secondary)":"var(--text-dim)",fontWeight:i?500:400,textAlign:"left",transition:"color 0.15s"},children:a},r)})})}const yT=Object.freeze(Object.defineProperty({__proto__:null,QuestionnaireStepNav:Yt},Symbol.toStringTag,{value:"Module"}));function ye({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 jT=Object.freeze(Object.defineProperty({__proto__:null,RouteImportRow:ye},Symbol.toStringTag,{value:"Module"}));function Xt({slug:t,name:s,url:o,componentName:a,props:n,mocks:r,seed:i,localStorage:c,dimensions:_}){const[u,x]=d.useState(!1),m=Object.keys((r==null?void 0:r.http)??{}).length,l=Object.keys((r==null?void 0:r.db)??{}).length,g=Object.keys(c??{});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(w,{label:"URL",children:e.jsx("span",{className:"font-mono text-xs text-[var(--text-muted)]",children:o})}),a&&e.jsx(w,{label:"Component",children:e.jsx("span",{className:"font-mono text-xs text-[var(--accent-blue)]",children:a})}),n&&e.jsx(w,{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)})}),m>0&&e.jsxs(w,{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:[m," HTTP mock",m!==1?"s":""," →"]}):e.jsxs("span",{className:"text-xs text-[var(--text-muted)]",children:[m," HTTP mock",m!==1?"s":""]}),l>0&&e.jsxs("span",{className:"ml-2 text-xs text-[var(--text-muted)]",children:[l," DB mock",l!==1?"s":""]})]}),i&&e.jsx(w,{label:"Seed",children:i.command&&e.jsx("span",{className:"font-mono text-xs text-[var(--text-muted)]",children:i.command})}),g.length>0&&e.jsx(w,{label:"localStorage",children:g.map(b=>e.jsxs("p",{className:"font-mono text-xs text-[var(--text-muted)]",children:[b,": ",c[b]]},b))}),_.length>0&&e.jsx(w,{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(Nt,{slug:t,scenarioName:s,initialSection:"mocks",onClose:()=>x(!1)})]})}const PT=Object.freeze(Object.defineProperty({__proto__:null,ScenarioDetailPanel:Xt},Symbol.toStringTag,{value:"Module"}));function je({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(C,{text:o,className:"text-xs text-red-400 font-mono"})]})}const CT=Object.freeze(Object.defineProperty({__proto__:null,MockBodyJsonTextarea:je},Symbol.toStringTag,{value:"Module"}));function Pe({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,c]=d.useState(t),[_,u]=d.useState(r),[x,m]=d.useState(null),[l,g]=d.useState(()=>Object.entries(o).map(([v,S])=>({name:v,value:S}))),[b,f]=d.useState(!0),y=x!==null||b;function h(){const v=_.trim()===""?null:JSON.parse(_),S={};for(const j of l)j.name.trim()&&(S[j.name.trim()]=j.value);a({status:i,body:v,headers:S})}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:v=>{f(!1),c(Number(v.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(kt,{headers:l,onChange:v=>{f(!1),g(v)}}),e.jsx(je,{value:_,parseError:x,onChange:v=>{f(!1),u(v)},onParseError:m}),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:h,disabled:y,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 wT=Object.freeze(Object.defineProperty({__proto__:null,MockBodyEditor:Pe},Symbol.toStringTag,{value:"Module"}));function Ce({entry:t,scenarioHasDefaultFallback:s,editing:o,onToggleEdit:a,onPromoteDefaultToScenario:n,onRemove:r,onPassthrough:i,onCaptureLive:c}){const[_,u]=d.useState(!1),[x,m]=d.useState(null);async function l(){u(!0),m(null);try{await c()}catch(b){m(b instanceof Error?b.message:"Capture failed")}finally{u(!1)}}const g="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:g,children:o?"Close":"Edit"}),s&&e.jsx("button",{onClick:r,className:g,title:"Revert to default",children:"Revert to default"}),e.jsx("button",{onClick:i,className:g,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:g,children:"Mark passthrough"})]}),t.source==="catalog-only"&&e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:l,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(C,{text:x,className:"text-red-400 text-[10px]"})]}),t.source==="passthrough"&&e.jsx("button",{onClick:r,className:g,children:"Undo passthrough"})]})}const NT=Object.freeze(Object.defineProperty({__proto__:null,MockPanelRowActions:Ce},Symbol.toStringTag,{value:"Module"})),Qe={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 we({entry:t}){const s=Qe[t.method]??Qe.GET,o=t.status??t.lastObservedStatus,a=t.lastObservedMs?iC(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(Tt,{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 kT=Object.freeze(Object.defineProperty({__proto__:null,MockPanelRowHeader:we},Symbol.toStringTag,{value:"Module"}));function Ne({entry:t,scenarioHasDefaultFallback:s,onSave:o,onRemove:a,onPassthrough:n,onCaptureLive:r}){const[i,c]=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(we,{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(Ce,{entry:t,scenarioHasDefaultFallback:s,editing:i,onToggleEdit:()=>c(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(Pe,{initialStatus:t.status??200,initialBody:t.body,initialHeaders:t.headers??{},onCancel:()=>c(!1),onSave:async u=>{await o({routeKey:_,...u}),c(!1)}})]})}const TT=Object.freeze(Object.defineProperty({__proto__:null,MockPanelRow:Ne},Symbol.toStringTag,{value:"Module"})),G=async()=>{};function Zt({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 c=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(Ne,{entry:_,scenarioHasDefaultFallback:c.has(`${_.method} ${_.pathPattern}`),onSave:a,onRemove:n,onPassthrough:r,onCaptureLive:i},`${_.method} ${_.pathPattern}`))})]})}const RT=Object.freeze(Object.defineProperty({__proto__:null,MockPanelGroup:Zt},Symbol.toStringTag,{value:"Module"}));function es({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 DT=Object.freeze(Object.defineProperty({__proto__:null,MockPanelHeader:es},Symbol.toStringTag,{value:"Module"}));function ts({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 ET=Object.freeze(Object.defineProperty({__proto__:null,TestSummary:ts},Symbol.toStringTag,{value:"Module"}));function ss({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 BT=Object.freeze(Object.defineProperty({__proto__:null,PlaceholderPane:ss},Symbol.toStringTag,{value:"Module"}));function os({paths:t}){return e.jsxs(J,{children:[e.jsx(Q,{}),e.jsx(pt,{paths:t,onClose:()=>{}})]})}const MT=Object.freeze(Object.defineProperty({__proto__:null,FileDropConfirmModalAgentReadyShowcase:os},Symbol.toStringTag,{value:"Module"}));function as({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(C,{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(fe,{group:r,onPreviewScenario:n},r.route))]})}const OT=Object.freeze(Object.defineProperty({__proto__:null,ScenariosView:as},Symbol.toStringTag,{value:"Module"}));function ns({groups:t,loading:s,error:o,cached:a,totalTests:n,passedTests:r,coverage:i,onRefresh:c}){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(C,{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(mt,{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:c,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(he,{group:_},_.feature))]})}const AT=Object.freeze(Object.defineProperty({__proto__:null,TestsView:ns},Symbol.toStringTag,{value:"Module"}));function rs({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 IT=Object.freeze(Object.defineProperty({__proto__:null,EditDataButton:rs},Symbol.toStringTag,{value:"Module"}));function ke(t){return`${t.method} ${t.pathPattern}`}function LT({slug:t,onApplied:s}){const[o,a]=d.useState({kind:"idle"}),n=d.useCallback(async r=>{a({kind:"submitting"});try{const c=await(await fetch(`/api/scenarios/${encodeURIComponent(t)}/data/describe`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:r})})).json();c.success?(s(),a({kind:"applied",message:c.message??"Changes applied. Review the table and click Save."})):a({kind:"error",message:c.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 FT(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 HT({props:t,seedTabs:s,mockEntries:o}){const[a,n]=d.useState(null),[r,i]=d.useState(null),[c,_]=d.useState(null),u=d.useMemo(()=>{const l=[];return t&&Object.keys(t).length>0&&l.push({kind:"props",label:"Props",tabs:[]}),s.length>0&&l.push({kind:"seed",label:"Seed Data",tabs:s.map(g=>({id:g.dataKey,label:g.label}))}),o.length>0&&l.push({kind:"mock",label:"Mock Data",tabs:o.map(g=>({id:ke(g),label:`${g.method} ${g.pathPattern}`}))}),l},[t,s,o]);d.useEffect(()=>{if(a!==null||u.length===0)return;const l=u[0];n(l.kind),l.kind==="seed"&&l.tabs[0]?i(l.tabs[0].id):l.kind==="mock"&&l.tabs[0]&&_(l.tabs[0].id)},[a,u]);const x=u.find(l=>l.kind===a)??null;function m(l){var g,b,f,y;if(n(l),l==="seed"&&!r){const h=(b=(g=u.find(v=>v.kind==="seed"))==null?void 0:g.tabs[0])==null?void 0:b.id;h&&i(h)}if(l==="mock"&&!c){const h=(y=(f=u.find(v=>v.kind==="mock"))==null?void 0:f.tabs[0])==null?void 0:y.id;h&&_(h)}}return{sections:u,activeSection:x,section:a,activeSeedKey:r,activeMockKey:c,selectSection:m,selectSeedKey:i,selectMockKey:_}}function zT(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 Te(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function GT(t){return Array.isArray(t)&&t.length>0&&t.every(Te)}function ae(t,s,o){if(Te(t)){for(const[a,n]of Object.entries(t)){const r=s?`${s}.${a}`:a;ae(n,r,o)}return}if(GT(t)){t.forEach((a,n)=>ae(a,`${s}[${n}]`,o));return}o.push({path:s,value:t})}function Ke(t){if(!Te(t))return[];const s=[];return ae(t,"",s),s}function qT(t){return t===null?"null":t===void 0?"":typeof t=="object"?JSON.stringify(t):String(t)}function $T({slug:t,initialProps:s,onCellEdited:o}){const[a,n]=d.useState(()=>Ke(s)),[r,i]=d.useState(null),[c,_]=d.useState(""),[u,x]=d.useState(""),m=d.useRef(null);d.useEffect(()=>{n(Ke(s)),i(null)},[s]);function l(h){const v=a.find(D=>D.path===h);i(h);const S=v==null?void 0:v.value,j=S==null?"":typeof S=="object"?JSON.stringify(S):String(S);_(j),x(j)}function g(h){if(_(h),m.current&&clearTimeout(m.current),!r)return;const v=r;m.current=setTimeout(()=>{y(v,h)},600)}function b(){r&&(m.current&&clearTimeout(m.current),y(r,c),i(null))}function f(){if(m.current&&clearTimeout(m.current),!!r){if(c!==u){const h=a.map(v=>v.path===r?{...v,value:Ue(u)}:v);n(h),fetch(`/api/scenarios/${encodeURIComponent(t)}/data`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:`props.${r}`,value:u})}).then(()=>{U(),o&&o()}).catch(()=>{})}i(null)}}async function y(h,v){const S=a.map(j=>j.path===h?{...j,value:Ue(v)}:j);n(S);try{await fetch(`/api/scenarios/${encodeURIComponent(t)}/data`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:`props.${h}`,value:v})}),U(),o&&o()}catch{}}return{rows:a,editingPath:r,editValue:c,handleEditPath:l,handleEditValueChange:g,handleSave:b,handleCancelEdit:f}}function Re({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 VT=Object.freeze(Object.defineProperty({__proto__:null,ScenarioDataPanelPropsEditor:Re},Symbol.toStringTag,{value:"Module"}));function De({slug:t,props:s,onCellEdited:o}){const{rows:a,editingPath:n,editValue:r,handleEditPath:i,handleEditValueChange:c,handleSave:_,handleCancelEdit:u}=$T({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:qT(x.value)})]},x.path))})]})}),n&&e.jsx(Re,{path:n,value:r,onValueChange:c,onSave:_,onCancel:u})]})}const WT=Object.freeze(Object.defineProperty({__proto__:null,ScenarioDataPanelMainProps:De},Symbol.toStringTag,{value:"Module"}));function Ee({slug:t,section:s,hasAnything:o,loading:a,seedError:n,mocksError:r,draftError:i,props:c,selectedSeedTab:_,filteredSeedRows:u,selectedMock:x,onSeedCellEdit:m,onMockSave:l}){return e.jsxs("div",{className:"min-h-0 flex-1 flex flex-col bg-[var(--bg-deep)] overflow-hidden",children:[n&&e.jsx(C,{text:`Seed error: ${n}`,className:"text-xs text-red-400",rowClassName:"p-3"}),r&&e.jsx(C,{text:`Mocks error: ${r}`,className:"text-xs text-red-400",rowClassName:"p-3"}),i&&e.jsx(C,{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(De,{slug:t,props:c,onCellEdited:m}),s==="seed"&&_&&e.jsx(Rt,{slug:t,tab:_,initialRows:u,onCellEdited:m}),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(Dt,{entry:x,routeKey:ke(x),scenarioSlug:t,onSave:l}):e.jsx(Et,{entry:x})})]})}const UT=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverBody:Ee},Symbol.toStringTag,{value:"Module"}));function Be({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(C,{text:t.message,className:"text-[10px] text-red-400",rowClassName:"mt-1.5"})]})}const JT=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverDescribeInput:Be},Symbol.toStringTag,{value:"Module"}));function Me({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 QT=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverSaveCancelClose:Me},Symbol.toStringTag,{value:"Module"}));function Oe({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 KT=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverSearchInput:Oe},Symbol.toStringTag,{value:"Module"}));function Ae({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 YT=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverSectionSelector:Ae},Symbol.toStringTag,{value:"Module"}));function Ie({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 XT=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverTabStrip:Ie},Symbol.toStringTag,{value:"Module"}));function Le({sections:t,section:s,activeSection:o,activeTabId:a,onSelectSection:n,onSelectTab:r,search:i,searchDisabled:c,onSearchChange:_,isDirty:u,saving:x,cancelling:m,onSave:l,onCancel:g,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(Ae,{sections:t,section:s,activeSection:o,onSelect:n}),e.jsx("span",{className:"text-[var(--text-dim)] text-[10px]",children:"/"}),e.jsx(Ie,{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(Oe,{value:i,disabled:c,onChange:_}),e.jsx(Me,{isDirty:u,saving:x,cancelling:m,onSave:l,onCancel:g,onClose:b})]})]})}const ZT=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverHeader:Le},Symbol.toStringTag,{value:"Module"}));function Fe({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,c=n.width,_=n.height,u=n.right,x=l=>{const g=l.clientX-r,b=l.clientY-i,f=420,y=280,h=s?Math.max(f,s-16):c+1e3,v=Math.max(f,Math.min(h,c-g)),S=Math.max(y,_+b);a.style.width=`${v}px`,a.style.height=`${S}px`,a.style.right=`${a.parentElement.getBoundingClientRect().right-u}px`},m=()=>{window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",m)};window.addEventListener("mousemove",x),window.addEventListener("mouseup",m)},className:"absolute bottom-0 left-0 w-3 h-3 z-50",style:{cursor:"nesw-resize"}})}const e1=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopoverResizeHandleLeft:Fe},Symbol.toStringTag,{value:"Module"}));function is({slug:t,scenarioName:s,onClose:o}){const a=d.useRef(null),n=lC({slug:t,onPreviewReload:U}),r=zT(a),{data:i,tableTabs:c,props:_,loading:u,error:x}=cC(t),{entries:m,loading:l,error:g,upsertScoped:b}=_C(t),{sections:f,activeSection:y,section:h,activeSeedKey:v,activeMockKey:S,selectSection:j,selectSeedKey:D,selectMockKey:B}=HT({props:_,seedTabs:c,mockEntries:m}),[T,R]=d.useState(""),N=h==="seed"?c.find(P=>P.dataKey===v)??null:null,Cs=h==="mock"?m.find(P=>ke(P)===S)??null:null,Y=N&&i?i[N.dataKey]??[]:[],ws=d.useMemo(()=>{if(!T.trim())return Y;const P=T.toLowerCase();return Y.filter(Os=>Object.values(Os).some(As=>String(As??"").toLowerCase().includes(P)))},[Y,T]),z=d.useCallback(()=>{n.markDirty(),U()},[n]),Ns=d.useCallback(async P=>{await b(P),z()},[b,z]),$e=d.useCallback(()=>{n.confirmIfDirty("Discard unsaved changes to this scenario?")&&o()},[n,o]);FT(a,$e);const ks=d.useCallback(async()=>{await n.save(),n.error||o()},[n,o]),Ve=LT({slug:t,onApplied:z}),Ts=h==="seed"?v:h==="mock"?S:null;function Rs(P){h==="seed"&&D(P),h==="mock"&&B(P)}function Ds(P){P!==null&&(j(P),R(""))}const Es=s??t,Bs=f.length>0,Ms=u||l;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 ${Es}`,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(Le,{sections:f,section:h,activeSection:y,activeTabId:Ts,onSelectSection:Ds,onSelectTab:Rs,search:T,searchDisabled:h!=="seed",onSearchChange:R,isDirty:n.isDirty,saving:n.saving,cancelling:n.cancelling,onSave:ks,onCancel:()=>void n.cancel(),onClose:$e}),e.jsx(Ee,{slug:t,section:h,hasAnything:Bs,loading:Ms,seedError:x,mocksError:g,draftError:n.error,props:_,selectedSeedTab:N,filteredSeedRows:ws,selectedMock:Cs,onSeedCellEdit:z,onMockSave:Ns}),e.jsx(Be,{status:Ve.status,onSubmit:Ve.submit}),e.jsx(Fe,{popoverRef:a,paneWidth:r})]})]})}const t1=Object.freeze(Object.defineProperty({__proto__:null,EditDataPopover:is},Symbol.toStringTag,{value:"Module"}));function ls({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 s1=Object.freeze(Object.defineProperty({__proto__:null,ViewTabs:ls},Symbol.toStringTag,{value:"Module"}));function cs({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(ut,{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(c=>e.jsxs("button",{type:"button",className:"pcard",onClick:()=>a(c),children:[e.jsx("div",{className:"pthumb",children:c.screenshotPath?e.jsx("img",{className:"pshot",src:Qs(c.screenshotPath,c.screenshotCb??void 0),alt:`${c.name} preview`,loading:"lazy"}):e.jsx("div",{className:"pnopreview",children:"No preview"})}),e.jsx("div",{className:"pname",children:c.name})]},c.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 o1=Object.freeze(Object.defineProperty({__proto__:null,ExploreRail:cs},Symbol.toStringTag,{value:"Module"}));function _s({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(ie,{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 a1=Object.freeze(Object.defineProperty({__proto__:null,CopyableErrorBlock:_s},Symbol.toStringTag,{value:"Module"}));function ds({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(_e,{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 n1=Object.freeze(Object.defineProperty({__proto__:null,DevServerRestartingOverlay:ds},Symbol.toStringTag,{value:"Module"}));function ps(){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(_e,{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 r1=Object.freeze(Object.defineProperty({__proto__:null,DevServerStartingOverlay:ps},Symbol.toStringTag,{value:"Module"}));function ms(){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 i1=Object.freeze(Object.defineProperty({__proto__:null,DevServerStoppedOverlay:ms},Symbol.toStringTag,{value:"Module"}));function us({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 l1=Object.freeze(Object.defineProperty({__proto__:null,RouteEntitySection:us},Symbol.toStringTag,{value:"Module"}));function He(){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 c1=Object.freeze(Object.defineProperty({__proto__:null,RouteImportEmptyState:He},Symbol.toStringTag,{value:"Module"}));function xs({directImports:t}){return t.length===0?e.jsx(He,{}):e.jsx("div",{className:"grid grid-cols-1 gap-1",children:t.map(s=>{const{fileName:o,dirPath:a}=Ks(s);return e.jsx(ye,{fileName:o,dirPath:a},s)})})}const _1=Object.freeze(Object.defineProperty({__proto__:null,RouteImportList:xs},Symbol.toStringTag,{value:"Module"}));function gs({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 d1=Object.freeze(Object.defineProperty({__proto__:null,RouteSummaryCard:gs},Symbol.toStringTag,{value:"Module"}));function bs({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(ze,{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 ze({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 p1=Object.freeze(Object.defineProperty({__proto__:null,DataViewerTabBar:bs,DataViewerTabButton:ze},Symbol.toStringTag,{value:"Module"}));function vs({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)"},children:e.jsx(xt,{featureName:t,onClose:s})})}const m1=Object.freeze(Object.defineProperty({__proto__:null,SendTranscriptOverlay:vs},Symbol.toStringTag,{value:"Module"}));function ne(){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(Mt,{title:"Section Header Example"}),e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsx(F,{color:"#238636",children:"ACTIVE"}),e.jsx(F,{color:"#d29922",children:"WARNING"}),e.jsx(F,{color:"#da3633",children:"ERROR"}),e.jsx(F,{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(W,{color:"#238636",children:"Success status message"}),e.jsx(W,{color:"#d29922",children:"Warning status message"}),e.jsx(W,{color:"#8b949e",children:"Neutral status message"})]})}const u1=Object.freeze(Object.defineProperty({__proto__:null,InspectorPrimitivesShowcase:ne},Symbol.toStringTag,{value:"Module"})),x1=[{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 re({events:t}){const s=t??x1;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:M,children:"Time"}),e.jsx("th",{style:M,children:"Method"}),e.jsx("th",{style:{...M,textAlign:"left"},children:"URL"}),e.jsx("th",{style:M,children:"Status"}),e.jsx("th",{style:M,children:"Duration"}),e.jsx("th",{style:M,children:"Source"})]})}),e.jsx("tbody",{children:s.map(o=>e.jsx(QN,{event:o},o.id))})]})})}const g1=Object.freeze(Object.defineProperty({__proto__:null,InspectorTrafficRowShowcase:re},Symbol.toStringTag,{value:"Module"}));function hs(){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 b1=Object.freeze(Object.defineProperty({__proto__:null,StaleDbStripeOverlay:hs},Symbol.toStringTag,{value:"Module"}));function Ge({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(C,{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 v1=Object.freeze(Object.defineProperty({__proto__:null,ScenarioSeedErrorView:Ge},Symbol.toStringTag,{value:"Module"}));function fs(){const{projectDir:t,inContainer:s,loaded:o}=Is();return!o||t===null?null:e.jsxs("p",{className:"text-xs",style:{color:"var(--text-dim)"},children:[dC,e.jsx("code",{children:t}),pC(s)]})}const h1=Object.freeze(Object.defineProperty({__proto__:null,ConnectionIdentityLine:fs},Symbol.toStringTag,{value:"Module"}));function qe({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 f1=Object.freeze(Object.defineProperty({__proto__:null,ScenarioRendererAppDeadEnd:qe},Symbol.toStringTag,{value:"Module"})),Ye={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"]},S1={supabaseProject:"your-app",connectedOn:"today",describedOn:"today"};function y1(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 j1(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 I({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 P1=Object.freeze(Object.defineProperty({__proto__:null,RealDataZone:I},Symbol.toStringTag,{value:"Module"}));function Ss({entity:t,connection:s,onPlan:o}){const[a,n]=d.useState(new Set),[r,i]=d.useState(!1),c=y1(t),_=j1(t),u=m=>{n(l=>{const g=new Set(l);return g.has(m)?g.delete(m):g.add(m),g})},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(E,{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(I,{tone:"learn",icon:e.jsx(gt,{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(se,{size:13}),"A developer edits ",t.plural]}),e.jsxs("div",{className:"rd-baln",children:[e.jsx(se,{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(k,{size:13}),"You edit ",t.plural," yourself"]}),e.jsxs("div",{className:"rd-baln",children:[e.jsx(k,{size:13}),"Saves last forever"]})]})]})]}),e.jsxs(I,{tone:"tell",icon:e.jsx(bt,{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((m,l)=>e.jsxs("button",{type:"button",className:"rd-ex"+(a.has(l)?" added":""),onClick:()=>u(l),children:[e.jsx("span",{className:"rd-plus",children:a.has(l)?"✓":"+"}),m]},m))})]}),e.jsx(I,{tone:"build",icon:e.jsx(vt,{size:16}),title:"What CodeYam will build",subtitle:`${c.length} changes, each previewable before it ships.`,children:e.jsx("div",{className:"rd-builds",children:c.map(m=>e.jsxs("div",{className:"rd-bitem",children:[e.jsx("div",{className:"rd-bx",children:e.jsx(k,{size:13})}),e.jsxs("div",{className:"rd-bmain",children:[e.jsx("b",{children:m.title}),e.jsx("span",{children:m.caption})]}),e.jsx("span",{className:"rd-where",children:m.where})]},m.title))})}),e.jsx(I,{tone:"track",icon:e.jsx(ht,{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(k,{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(k,{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 ",c.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 ",c.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 C1=Object.freeze(Object.defineProperty({__proto__:null,RealDataConnected:Ss},Symbol.toStringTag,{value:"Module"})),w1=1800;function ys({entity:t,onConnect:s}){const[o,a]=d.useState(!1),n=()=>{o||(a(!0),window.setTimeout(s,w1))};return e.jsxs("div",{className:"rd-content",children:[e.jsxs("div",{className:"rd-shead",children:[e.jsx("div",{className:"rd-badge",children:e.jsx(E,{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(E,{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(V,{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(oe,{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(ft,{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: ${We("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(k,{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(St,{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(k,{size:13}),"Free to start, no card needed"]}),e.jsxs("span",{children:[e.jsx(k,{size:13}),"Takes about 3 minutes"]}),e.jsxs("span",{children:[e.jsx(k,{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(jt,{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(V,{size:15})})]}),e.jsxs("div",{className:"rd-lrow",children:[e.jsx("div",{className:"rd-ln",children:e.jsx(oe,{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(V,{size:15})})]})]}),e.jsx("div",{className:"rd-uplabel",children:"Common questions"}),e.jsx(Pt,{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, ${We("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(Ct,{assistKey:"real-data",topicName:"Use real data"})]})}const N1=Object.freeze(Object.defineProperty({__proto__:null,RealDataNotConnected:ys},Symbol.toStringTag,{value:"Module"})),k1={AppleGlyph:tx,ArrowRightIcon:ex,GoogleGlyph:Zu,GraduationIcon:Xu,MagicLinkIcon:Yu,PaperPlaneIcon:Ku,PersonIcon:Qu,WarningTriangleIcon:Ju,ChatIcon:bt,CheckGlyph:k,ClockIcon:ht,CubeIcon:vt,InfoCircleIcon:gt,LinkIcon:yt,ListLinesIcon:jt,ScreenIcon:oe,ShieldCheckIcon:ft,SpinnerIcon:St,XCircleIcon:se,SetupStepper:Uu,SetupStep:Wu,SetupAccountRow:Vu,MethodChips:$u,EditableField:qu,ExampleChips:Gu,BuildList:zu,ControlNote:Hu,SetupPlanFooter:Fu,AccountsConnected:Lu,EmailsConnected:Iu,PaymentsConnected:Au,ModeBar:Ou,RealDataConnected:Ss,RealDataNotConnected:ys,RealDataZone:I,RealSetupFlow:Mu,SetupNotConnected:Bu,DesignAssetDropLabel:Eu,PendingFileCard:Du,PendingFileList:Ru,SaveAssetsButton:Tu,AssetSaveErrorMessage:ku,AssetSaveSuccessMessage:Nu,ProviderAuthGate:wu,ProviderAuthenticateCta:Sw,GatedAgentChat:fw,ProviderAuthModal:hw,ClaudeOAuthFlow:vw,ApiKeyFlow:bw,AppServiceCredentialModal:Cu,DetectedServiceRow:Pu,ServiceRow:ju,ApiKeyField:yu,ProviderLogo:Su,G:fu,ExternalServicesScreenConnected:hu,ConnectionIdentityLine:fs,PreviewForwardPortNotice:vu,AppCard:bu,AppDetail:gu,AppOverview:xu,BuildTab:uu,BuildTabLayout:mu,BuildTabPane:pu,BuildTabPaneLayout:du,BuildTabRecoveryPanel:_u,BuildTabSessionContent:cu,BuildTabStartupError:lu,BuildTabReadyToBuildPlaceholder:zt,BuildTabTerminalSession:iu,AppSelector:Ht,AppTypeBadge:ru,BreadcrumbNav:nu,EntityBreadcrumb:au,BuildingPreviewOverlay:ou,ConnectionBadge:lk,DebugModeButton:su,DebugModal:tu,DebugModalElementPreview:eu,DebugModalInfoPanel:Zm,DebugOverlay:Xm,DebugAncestryList:Ym,DebugAncestrySection:Km,DebugPropsChips:Qm,DebugFreezePill:Jm,OpenInEditorErrorToast:Um,CyLogo:Wm,DeviceIcon:Vm,EditorNavBar:$m,DesktopTitleBar:qm,IdleBanner:Gm,BlockedBanner:zm,StuckTurnBanner:it,StuckTurnBannerAgentReadyShowcase:Gt,TurnEndedOffGateBanner:lt,TurnEndedOffGateBannerAgentReadyShowcase:qt,NotificationSettingsControlsShowcase:$t,EditorSessionRecoveryActionButton:Hm,EditorSessionRecoveryDialog:Fm,EditorSessionRecoveryHeader:Lm,EditorSessionRecovery:Im,EditorSessionRecoverySummaryRow:Am,EditorSessionRecoverySummary:Om,EditorShellHomeTabContent:Mm,EditorShellBuildLayer:Bm,EditorShellLayout:Em,EditorShellLeftPane:Dm,EditorShellPlanLayer:Rm,EditorShellPreviewPane:te,EditorShellTabLayer:Tm,MobilePaneSwitcher:km,GearIcon:Nm,EventCard:be,EventStream:Vt,EntryTypeBadge:ue,CollapsibleMarkdown:st,FeatureNameButton:wm,FeatureGroupView:he,FileChangeSummary:de,FileStatusIndicator:Cm,HistoryTab:Pm,HistoryEntryCard:jm,HistoryDigest:ym,HistoryDigestStatRow:Sm,HistoryRangeSelector:fm,DigestHeader:hm,CommitOnlyHistoryRow:vm,NotificationSettingsPopover:bm,NotificationSettingsControls:ce,NotificationSetupBanner:gm,DebugNotificationsButton:xm,IdleTriggerCheckbox:um,JournalEntryCard:me,JournalEntryDetails:pe,JournalView:At,ReviewsTab:mm,ReviewDetailCard:pm,ScenarioComparisonRow:dm,CapturePane:_m,ReviewFindingRow:cm,LearnSetupScreen:rt,LibrariesCatalogScreen:lm,LibraryGroupSection:im,LibraryRow:rm,AddTopicForm:nm,SetupAddTopicRow:am,SetupTopicRouter:om,ExternalServicesScreen:sm,ProvisionWithBrokerCta:tm,HostingScreen:em,RunLocallyScreen:Zp,WiredProviderBanner:Xp,StoreAccountsScreen:Yp,ExtensionAssetsScreen:Kp,PermissionsJustificationScreen:Qp,PermissionRow:Jp,ExtensionPrivacyPolicyScreen:Up,OAuthVerificationScreen:Wp,SinglePurposeListingScreen:Vp,ManifestVersioningScreen:$p,SubmitReviewScreen:qp,ExtensionDistributionScreen:Gp,StagingPreviewScreen:zp,StagingEnvironmentScreen:Hp,PreReleaseScreen:Fp,RealDataScreen:Lp,DeployTargetScreen:Ip,DatabaseBackupsScreen:Ap,SecretsScreen:Op,ApiAuthScreen:Mp,CorsOriginsScreen:Bp,BackgroundJobsScreen:Ep,LoggingMonitoringScreen:Dp,AccountsScreen:Rp,EmailsScreen:Tp,PaymentsScreen:kp,AnalyticsMonitoringScreen:Np,LegalScreen:wp,DataSafetyScreen:Cp,PublishScreen:Pp,CustomDomainScreen:jp,FormsScreen:yp,AnalyticsSeoScreen:Sp,RedirectsNotFoundScreen:fp,PerformanceImagesScreen:hp,CommentsSearchScreen:vp,PublishRegistryScreen:bp,VersioningChangelogScreen:gp,InstallDocsScreen:xp,ReleaseBuildsScreen:up,ShellCompletionsScreen:mp,CliUxScreen:pp,SupplyChainScreen:dp,ExamplesScreen:_p,ApiDocsScreen:cp,BackendApiDocsScreen:lp,SemverPolicyScreen:ip,ReadmeLicenseScreen:rp,ChangelogCiScreen:np,DevAccountsScreen:ap,StoreAssetsScreen:op,StoreListingScreen:sp,TestingDistributionScreen:tp,PushNotificationsScreen:ep,CrashReportingScreen:Zd,InAppPurchasesScreen:Xd,AppPrivacyScreen:Yd,AppReviewScreen:Kd,LabeledSection:w,FilterBar:Wt,LeftPanel:Qd,ModifiedFilesList:at,NavLink:ee,Markdown:Bt,NewProjectQuestionnaire:Jd,NewProjectQuestionnaireInner:Ud,DesignAddAssetsStep:Ut,OnboardingShell:Wd,OnboardingPromptStep:Vd,OnboardingTypeChips:$d,OnboardingStackPicker:qd,StackPickerCollapsed:Gd,StackPickerResults:zd,NotificationSoundSelect:Hd,OnboardingListItem:Fd,OnboardingDropzone:Ld,OnboardingDesignAssetsStep:Id,OnboardingNotificationsStep:Ad,QuestionnaireDesignApproachStep:Jt,QuestionnaireNotificationsStep:Qt,QuestionnaireDesignChatStep:Od,QuestionnaireDesignChatLaunchPanel:Md,MockupArchivedRoundView:Bd,MockupCard:Ed,MockupCardPreviewSlot:Dd,MockupCardFeedback:Rd,MockupFeedbackCommentBox:Td,MockupFeedbackRatingSlider:kd,MockupGridGeneratingOverlay:Nd,MockupGridInfoBanner:wd,MockupGridIterateButton:Cd,MockupPlaceholderCard:Pd,MockupRoundPager:jd,DesignExplorationView:yd,DesignRoundPreviewPane:Sd,QuestionnaireIntroBanner:fd,QuestionnaireDeviceSelector:Kt,QuestionnaireNavButtons:hd,QuestionnaireOptionCard:K,PanelDivider:vd,PromptDropdownPanel:bd,PreviewCanvas:gd,PreviewEmptyState:xd,PreviewFrame:ud,BackendResultsPanelView:md,PlanPreviewPanelView:pd,PlanPreviewEmptyState:dd,PlanPreviewHeader:_d,ProjectSetupPreviewView:cd,ProjectSetupPreviewPane:ld,StartBuildingConfirmModal:id,ResetBuildConfirmModal:rd,ProjectSetupHeader:nd,ProjectSetupDescriptionCard:ad,ProjectSetupDesignCard:od,ProjectSetupChosenMockup:sd,ProjectSetupDesignAssetList:td,ProjectLauncher:Hk,ProjectRow:Fk,ProjectRowActions:Lk,ProjectScanForm:Ik,ProjectCreateForm:Ak,ProjectBootstrapBanner:Ok,Thumbnail:Mk,RunningBadge:Bk,CurrentBadge:Ek,ProjectLauncherHeader:Dk,ProjectLauncherLoading:Rk,ProjectLauncherError:Tk,ProjectLauncherEmpty:kk,ProjectOpenError:Nk,CreateProjectModal:wk,ProjectLauncherScreen:Ck,OpenSourceProjectsSection:Pk,OpenSourceProjectRow:jk,ProjectSetupProgressList:ed,ProjectSetupProgressRow:Z_,LiveIframeHealthPill:X_,PreviewPanel:te,BuildLogsModal:Y_,SimulatorLauncherControls:K_,SimulatorPreviewFrame:()=>d.createElement(ax,{currentWidth:390,currentHeight:844,isFilled:!1,scale:.6,pollMs:6e4}),SimulatorNotBootedPrompt:()=>d.createElement(ox,{pollMs:6e4}),NoBootedSimulatorPlaceholder:Q_,DeviceFrameImage:()=>d.createElement(sx,{src:"/api/screenshots/app-overview-single-app--desktop.png",currentWidth:390,currentHeight:844,isFilled:!1,scale:1}),SimulatorFrameNotice:J_,NativeMirrorNotice:U_,QuestionnaireStepNav:Yt,QuestionnaireStepPanel:H,AppDetailContent:W_,AppDetailContentError:V_,AppDetailContentLoading:$_,AppDetailHeader:q_,AppCapabilitiesPanel:G_,AppStackPanel:z_,AppStackPanelSummary:H_,AppStackPanelBody:F_,AppStackCapabilitiesSlot:L_,CapabilityRow:I_,AppTestSummary:A_,LayoutChainCard:O_,LayoutChainSection:M_,RouteDependencyCard:B_,RouteDependencyCardHeader:E_,RouteDependencyEmptyState:D_,RouteDependencyList:R_,RouteDependencyScenarioStrip:T_,RouteEntityDetail:k_,RouteEntityDetailContent:N_,RouteFunctionCard:w_,RouteFunctionEmptyState:C_,RouteFunctionList:P_,RouteEntityDetailHeader:j_,RouteEntityTabs:y_,RouteGroupView:fe,RouteImportRow:ye,RouteList:S_,UnsurfacedPagesSection:f_,UnsurfacedPagesSectionHeader:h_,UnsurfacedPageGroup:v_,UnsurfacedPageRow:b_,UnsurfacedPageRowSummary:g_,UnsurfacedPageInvestigateButton:x_,RouteListCardThumbnail:u_,RouteScenarioList:m_,ScenarioCard:_t,ScenarioRow:p_,ScenarioDetailPanel:Xt,MockBodyEditor:Pe,MockBodyHeadersEditor:kt,MockBodyJsonTextarea:je,MockPanelGroup:Zt,MockPanelHeader:es,MockPanelRow:Ne,MockPanelRowActions:Ce,MockPanelRowHeader:we,MockSourceBadge:Tt,RepeatPassMarker:d_,ScenarioThumbnailGrid:ot,StatusBadge:ve,StepIndicatorBar:__,StepIndicatorDropdownItem:c_,TabPane:l_,TestItem:ct,TestGroupHeader:i_,TestGroupList:r_,TestGroupRow:n_,TestResultsBadge:nt,TestSummary:ts,TestStatusIcon:a_,ThumbnailStrip:o_,CollapseToggleButton:s_,DimensionInput:t_,EditorShell:e_,EntityDetail:Zc,EntityDetailContent:Xc,EntityDetailHeader:Yc,EntityRefCard:Kc,EntityRefList:Qc,FillPreviewButton:Jc,OpenInNewTabButton:Uc,PlaceholderPane:ss,SettingsTab:Wc,CheckInToggleRow:Vc,WorkflowSettingsSection:$c,HardeningAutoAction:qc,SegmentedPicker:Gc,PlanTab:zc,PlanTabHeader:Hc,PlanNextChangeButton:Fc,PlanAuthoringChat:Lc,DescribePane:Ic,PrototypePane:Ac,PrototypeAgentChat:Oc,StartPrototypingButton:Mc,FinishAndFormalizeButton:Bc,PrototypeBuildingInProgressBanner:Ec,PlanChatLaunchCaption:Dc,PlanExpandedHeader:Rc,PlanRow:Tc,PlanRowClaimBadge:kc,PlanRowDependencyEntry:Nc,PlanRowEditButton:wc,PlanRowEditChatButton:Cc,PlanRowExpandedBody:Pc,PlanRowExpandedChat:jc,PlanRowExpandedDependencies:yc,PlanRowExpandedEdit:Sc,PlanRowExpandedView:fc,PlanRunButton:hc,PlanRunBlockedModal:vc,PlanRunForeignClaimModal:bc,PlanRunDependenciesModal:gc,QueuedChangesSection:xc,InFlightSection:uc,InFlightPlanRow:mc,CommitQueueSection:pc,CommitQueueRow:dc,CommitQueuePriorityChip:_c,CommitQueueReleaseButton:cc,CommitQueueSaveBar:lc,CommitQueueRowIdentity:ic,SortablePlanRow:rc,RecentPlansSection:nc,CompletedPlanRow:ac,CompletedPlanExpandedBody:oc,TabScrollPanel:sc,BuildActivityModal:tc,BuildActivityMenu:ec,BuildActivityCard:Zl,BuildActivityModalHeading:Xl,BuildActivityPlanList:Yl,FeatureCompleteActions:Kl,BuildChatLaunchPanel:Ql,BuildChatAgentChat:Jl,StartChatButton:Ul,BuildActivityReopenBar:Wl,BuildChatPane:Vl,ActivityDoneButton:$l,GlobalFileDropOverlay:ql,GlobalFileDropToast:Gl,FileDropConfirmModal:pt,FileDropConfirmModalAgentReadyShowcase:os,AttachFileButton:gw,SelectPlanModal:zl,PlanCompleteDialog:Hl,PlanCompleteTransition:Fl,ScenarioRenderer:Ps,ScenariosView:as,TerminalEmulator:Ll,RawTerminalModal:Il,RawTerminalEmulator:Al,SetupTerminalPane:Ol,SetupTerminalHeader:Ml,SetupBrowserPane:Bl,SetupBrowserHeader:El,TerminalDropOverlay:xw,TerminalDropToast:uw,TerminalDisconnectOverlay:mw,MobileTerminalCommandMenu:Dl,MobileTerminalCommandMenuPanel:Rl,TerminalConnectingHint:pw,TerminalReconnectingBanner:dw,TerminalFailedBanner:_w,TerminalServerStoppedBanner:cw,TestsView:ns,NavigationBar:Tl,PagePill:kl,PagePickerDropdown:Nl,StatesDropdown:wl,CreateStatePlaceholderModal:Cl,StatesPillButton:Pl,EditDataButton:rs,EditDataPopover:is,EditDataPopoverBody:Ee,EditDataPopoverDescribeInput:Be,EditDataPopoverHeader:Le,EditDataPopoverResizeHandleLeft:Fe,EditDataPopoverSaveCancelClose:Me,EditDataPopoverSearchInput:Oe,EditDataPopoverSectionSelector:Ae,EditDataPopoverTabStrip:Ie,ScenarioDataPanelMainProps:De,ScenarioDataPanelPropsEditor:Re,ViewportPresetButton:jl,PagePickerTabButton:yl,PagePickerEmptyMessage:Sl,PagePickerScenarioThumbnail:fl,PagePickerRouteSection:hl,StatesDropdownRow:vl,ComponentGlyph:bl,DropdownChevron:gl,PageGlyph:xl,ViewTabs:ls,SessionResultsPanel:ul,SessionResultsPanelHeader:ml,MinimizedSessionResults:pl,BackendResultsPage:dl,BackendResultsHeader:_l,BuildProgressDetail:cl,BuildFileRow:ll,FunctionChangeRow:il,BackendConnectionStatusBadge:rl,BehaviorGallery:nl,ChangeCard:al,WaysToTestList:ol,BehaviorGroup:sl,BehaviorItem:tl,BehaviorEvidenceDrawer:el,RerunSection:Zi,BehaviorExampleTable:Xi,BehaviorGalleryEmptyState:Yi,RunEvidenceLine:Ki,NarrativeTestStatusIcon:Qi,CoverageBadge:mt,CoverageBar:Ji,CoverageWarningsBanner:Ui,CoverageSectionHeader:Wi,OrphanedFileRow:Vi,CoverageDetailsModal:$i,CoverageFileDrilldown:qi,CoverageDetailsEntriesSection:Gi,CoverageDetailsEntryRow:zi,CoverageDetailsOrphanedSection:Hi,CoverageDetailsDirectoriesSection:Fi,CoverageDetailsDirectoryGroup:Li,CoverageDetailsDirectoryFileRow:Ii,CoverageLineRow:Ai,AppCardFooter:Oi,RunTestsButton:Mi,TestBar:Bi,AppCardHeader:Ei,AppCardScenarioStrip:Di,AppOverviewEmptyState:Ri,AppOverviewEmptyStateBuildingPanel:Ti,AppOverviewEmptyStateNoAppPanel:ki,OpenBuildTabButton:Ni,AppOverviewGrid:wi,AppOverviewHeader:Ci,HomeBuildStatusSection:Pi,ExploreRail:cs,CopyButton:ie,CopyableErrorBlock:_s,CopyableErrorText:C,CrashLogFooter:ji,CrashLogFooterMessage:yi,CrashLogHeader:Si,CrashLogViewer:fi,DevServerCrashLog:hi,DevServerRestartingOverlay:ds,DevServerStartingOverlay:ps,DevServerStoppedOverlay:ms,PreviewUnhealthyOverlay:vi,ClientRoutingAdvisory:bi,PreviewErrorOverlay:gi,PreviewErrorOverlayHeader:xi,PreviewErrorOverlayFooter:ui,PreviewErrorList:mi,PreviewErrorRow:pi,PreviewErrorBadge:di,BuildSpinner:_i,BuildShaBadge:ci,RestartSpinner:_e,RouteEntitySection:us,RouteImportEmptyState:He,RouteImportList:xs,RouteListCard:li,RouteListEmptyState:ii,RouteListSection:ri,RouteListSectionHeader:ni,RouteScenarioEmptyState:ai,RouteSummaryCard:gs,BuildingDoor:oi,PlanRunBlockedTooltip:si,AnimatedEllipsis:ti,BuildingCardActive:ei,BuildingCardIdle:Zr,BuildingCardThumbnail:Xr,BuildingStepLine:Yr,BuildResetLink:Kr,ExploreSectionHeading:Qr,RouteKindToggle:Jr,RouteSearchField:Ur,RouteViewControls:Wr,RouteListCardHeading:Vr,RouteGroupDisclosure:$r,ExternalServicesListBar:qr,ExternalServicesSummary:Gr,ExternalServicesSuggestionChips:zr,SearchIcon:Hr,HomeHeader:Fr,HomeSectionHeading:Lr,HomeBuildingSection:Ir,HomeQueuedPlansSection:Ar,HomeTestingSection:Or,HomeTestingSectionControls:Mr,ManualTestRow:Br,HomeExploreTabs:Er,SafeScreenshot:Dr,ScenarioRowMeta:Rr,ScenarioRowOverrideBadge:Tr,ScenarioRowThumbnail:kr,SidebarGroupOverrideHeader:lw,SidebarInheritedSection:iw,DataViewerCategoryBadge:rw,DataViewerCellEditor:nw,DataViewerTabBar:bs,DataViewerTable:aw,ScenarioDataPanel:Nt,ScenarioDataPanelCloseButton:ow,ScenarioDataPanelEditChatButton:sw,ScenarioDataPanelEmptyState:tw,ScenarioDataPanelFullPage:Vk,ScenarioDataPanelHeader:ew,ScenarioDataPanelInspectButton:ZC,ScenarioDataPanelMainMock:XC,ScenarioDataPanelMainMockEditable:Dt,ScenarioDataPanelMainMockHeader:YC,ScenarioDataPanelMainMockReadOnly:Et,ScenarioDataPanelMainTable:Rt,ScenarioDataPanelOpenInNewButton:KC,ScenarioDataPanelMockDataBadge:QC,ScenarioDataPanelMockDataStrip:JC,ScenarioDataPanelSidebar:UC,SaveScopeChoiceRow:WC,SaveScopeModal:VC,SidebarMockEntryRow:$C,MockSharedSlugBadge:qC,ScenarioDraftBar:GC,JsonBodyActions:zC,JsonTreeAddKeyInput:HC,JsonTreeArrayNode:FC,JsonTreeEditor:LC,JsonTreeNode:IC,JsonTreeNodeLine:AC,JsonTreeObjectNode:OC,JsonTreePrimitiveEditor:MC,JsonTreePrimitiveNode:BC,ScenarioRenameForm:Nr,ScenarioRowActions:wr,MiniAgentChat:EC,MiniAgentLaunchOverlay:DC,EnvelopeIcon:Cr,SendTranscriptModal:xt,SendTranscriptOverlay:vs,ContainerInspector:ik,InspectorScenarioSection:rk,InspectorRouteTable:nk,InspectorTrafficSection:ak,InspectorExplainerSection:ok,InspectorExplainerResult:sk,InspectorPrimitivesShowcase:ne,InspectorTrafficRowShowcase:re,InspectorTrafficDetail:tk,InspectorTrafficFilterBar:ek,InspectorTrafficTable:ZN,InspectorTrafficUrlChips:XN,InspectorUrlGlossary:YN,InspectorPrimitives:ne,InspectorTrafficRow:re,StepsSimulator:GN,StepsSimulatorStepList:zN,StepsSimulatorVariableControl:HN,StepsSimulatorInstructionsPanel:FN,SeedErrorBanner:Pr,SeedLoadingOverlay:jr,PreviewLoadingSpinner:yr,StaleDbStripeOverlay:hs,ScenarioSeedErrorView:Ge,InspectModeRibbon:Sr,IframeClickThroughErrorCard:fr,InspectResultCard:hr,InspectResultCardBackdrop:vr,InspectResultCardBody:br,InspectResultCardHeader:gr,InspectResultCardMatchButton:xr,InspectResultCardMatchList:ur,SkeletonBar:mr,PreviewWaitingPlaceholder:pr,AgentInputProvider:J,Alts:dr,AskBox:_r,Badge:F,BellIcon:cr,BoxIcon:lr,CardIcon:ir,ChartIcon:rr,Check:nr,ChevronLeftIcon:ar,ChevronRightIcon:or,Chips:sr,CloseIcon:tr,CloudIcon:er,DatabaseIcon:E,DocIcon:Zn,EmbeddedPreviewPlaceholder:Xn,EmptyTabCopy:Yn,ExploreIcon:ut,Faq:Kn,GlobeIcon:Qn,HSHeader:Jn,HostingConnectStep:Un,HostingDeployStep:Wn,HostingRealDeployStep:Vn,HostingLiveStep:$n,HostingOverviewConnected:qn,HostingOverviewGuided:Gn,Journey:zn,LightbulbIcon:Hn,LockIcon:V,MailIcon:Fn,OpenInNewTabIcon:Ln,PlansIcon:In,ProviderMark:An,QuestionnaireOptionIndicator:Se,Reasons:On,RefreshCycleIcon:Mn,RefreshPreviewButton:Bn,ReqList:En,RocketIcon:Dn,SetupIcon:Rn,SimulatedSetupOverview:Tn,SimulatedSetupScreen:kn,StatusBox:W,StoreAlternativesNote:Nn,TeachSetupScreen:wn,TerminalCopiedToast:Cn,TerminalIcon:Pn,ThumbDownIcon:jn,ThumbUpIcon:yn,VercelMark:Sn,ActiveScenarioOverlay:fn,Alternatives:hn,FactFreshness:vn,ProviderCard:bn,TopicFaq:Pt,FaqSection:gn,ChangelogSection:xn,ApplicationGroups:un,BranchRows:LN,BrowserStateButton:RC,BrowserStateTab:TC,CheckList:mn,CollapsedImpactedScenarios:pn,ColorPalettePicker:dn,ColorSwatchEditor:_n,ComponentGroups:cn,CostCallout:ln,DataViewerCell:kC,DataViewerColumnHeader:NC,DataViewerRow:wC,DataViewerTabButton:ze,DesignAssetDropZone:dt,DesignAssetsView:rn,DesignChatPreviewPane:nn,DetailSection:KN,DevServerFailedPanel:an,FilesList:on,FlowBar:sn,FontOptionRow:tn,FontPicker:en,FunctionsList:Za,HomeLanding:Xa,MethodBadge:O,MockupCardFooter:Ya,MockupCardThemeToggleButton:Ka,MockupCustomizeColorsPanel:Qa,MockupCustomizeFontsPanel:Ja,MockupCustomizePreviewArea:Ua,MockupCustomizeToolbar:Wa,MockupCustomizeView:Va,MockupColumnsToggle:$a,ColumnsButton:qa,MockupGrid:Ga,PagerArrowButton:za,PanelBody:IN,PanelHeader:AN,PlanClaimSyncBanner:Ha,PreviewPortMismatchCard:Fa,QueuedChangesBody:La,RecentPlansBody:Ia,ReqItem:Aa,RunLocallyCommandRow:Oa,ScenarioRendererAppDeadEnd:qe,ScenarioThumbnail:Ma,ScenarioThumbnailStrip:Ba,Section:Ea,SectionHeader:Mt,ServerStalenessBanner:Da,UpdateAvailableBanner:Ra,SetupGoalAssist:Ta,SetupGoalAssistList:Ct,SetupCompleteCta:ka,SetupDetailHeader:Na,SetupFlowBar:wa,SetupSubCrumb:Ca,SetupTopicPlaceholder:Pa,SidebarGroup:CC,SimulatedConnect:ja,SimulatedProvision:ya,SimulatedReady:Sa,StatusIndicator:fa,StatusPill:ha,StepRow:ON,StoreCard:va,TerminalServerErrorBanner:PC,UserPrompt:ba,VariableField:MN,ConceptTerm:It,ConceptsGlossaryScreen:Lt,LearnSetupConceptsNudge:Ft,MockupGridEmptyState:ga,TerminalEdgeUnreachableBanner:jC,TerminalSessionStaleBanner:yC,TerminalSessionDiedBanner:SC,WebFallbackNotice:xa,PreviewSignInNotice:Ot,NonWebAppDetail:ua,ScenarioTypeSection:ma,ScenarioImpactSection:pa,ReviewCard:da,SetupExternalLink:_a,SetupJourney:wt,SetupSplit:ca,SetupStack:la,SetupOrbit:ia,SetupBars:ra,SetupEmblem:na,SetupChannels:aa,SetupTopicPage:oa,GridColumnsIcon:sa,GridDensityControl:ta,HomeExploreSection:ea,LivePageScenariosModal:Zo,RouteListTabs:Xo,ComponentSurfaceReasonNote:Yo,ScenarioGalleryModal:Ko,FullScreenIcon:Qo,ChooseAssetsButton:Jo,AssetPickerMenu:Uo,PendingFileCountLine:Wo,PlanRowSkeleton:Vo,PlanRowSkeletonList:$o,ExternalServicesAskCard:qo,ExternalServicesSortToolbar:Go,ExternalServiceGroupList:zo,ExternalServicesEmptyState:Ho,ChangeDescriptionInput:Fo,PlanRowTag:Lo,PlanSectionStatus:Io,PlanRowControls:Ao,PlanRowIdentity:Oo,InFlightPlanRowMeta:Mo,PlanSectionHeader:Bo,PlanAuthorAvatar:Eo,PlanRowDragHandle:Do,PlanRowTitleWithAge:Ro,PlanDisclosureChevron:To,PlanModeBadge:ko,PlanRowBlockedChip:No,CopyPathButton:wo,PreviewDedicatedOriginNotice:Co,ErrorNotice:fC,ErrorNoticeHeader:hC,ErrorNoticeNextAction:vC,ErrorNoticeDiagnostics:bC,ErrorNoticeActions:gC,PreviewWaitingOverlay:Po,MiniAgentLaunchFailed:xC,MiniAgentLaunchRetryingHint:uC,AssetPickerMenuItem:jo,PlanRowDeleteButton:yo,PlanDeleteConfirmModal:So,PlanDeleteConfirmHeader:fo,PlanDeleteDependentsWarning:ho,PlanDeleteConfirmActions:vo,NavTabDot:bo,AgentHtmlPreviewPane:go,AgentHtmlPaneHeader:xo,AgentHtmlLintWarnings:uo,AgentHtmlEmptyState:mo,FeatureCompleteSummary:po,FeatureCompleteBanner:_o,NotSurePrompt:co,FeatureCompleteBannerSection:lo,ManualTestSurfaceControl:io,ManualTestSteps:ro,ManualTestCountLine:no,ManualTestCompletedGroup:ao,ManualTestsChat:oo,FeatureCompleteSecondary:so,RecoveryActions:mC,ExternalServicesChatDock:to,BrokerNote:eo,ManualTestAskChatButton:Zs,DesignRoundEmptyState:Xs,CommitQueueRowDetails:Ys};function T1({traceWindow:t}){const[s,o]=d.useState(!1),[a,n]=d.useState([]),[r,i]=d.useState(!1),[c,_]=d.useState(!1),[u,x]=d.useState(null);d.useEffect(()=>{if(!s||a.length>0||c||u)return;let l=!0;async function g(){i(!0),x(null);try{const b=await fetch(`/api/events/window?from=${t.from}&to=${t.to}`);if(!l)return;if(!b.ok)throw new Error(`HTTP ${b.status}`);const f=await b.json();f.evicted?_(!0):n(f.events||[])}catch(b){l&&x(b instanceof Error?b.message:String(b))}finally{l&&i(!1)}}return g(),()=>{l=!1}},[s,t.from,t.to,a.length,c,u]);const m=()=>{o(l=>!s)};return e.jsxs("div",{className:"mt-2","data-testid":"behavior-trace-section",children:[e.jsxs("button",{onClick:m,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(C,{testId:"trace-error",text:`Could not load trace: ${u}`,className:"text-[11px] text-red-600"}),c&&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&&!c&&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&&!c&&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((l,g)=>{const b=l.seq!==void 0?`#${l.seq}`:"";return l.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:l.method}),e.jsx("span",{className:"break-all text-[var(--text-secondary)]",children:l.url}),l.status!==void 0&&e.jsxs("span",{className:`font-semibold ${l.status>=400?"text-red-600":"text-emerald-600"}`,children:["→ ",l.status]}),l.durationMs!==void 0&&e.jsxs("span",{className:"text-[var(--text-dim)]",children:["(",l.durationMs,"ms)"]}),l.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"})]},g):l.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:l.query}),l.durationMs!==void 0&&e.jsxs("span",{className:"text-[var(--text-dim)]",children:["(",l.durationMs,"ms)"]})]},g):l.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}),l.source&&e.jsxs("span",{className:"text-red-700 font-semibold",children:[l.source,":"]}),e.jsx("span",{className:"text-red-600 break-all",children:l.message}),e.jsx(ie,{variant:"icon",text:l.source?`${l.source}: ${l.message??""}`:l.message??""})]},g):l.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}),l.source&&e.jsxs("span",{className:"text-amber-700 font-semibold",children:[l.source,":"]}),e.jsx("span",{className:"text-[var(--text-secondary)] break-all",children:l.output})]},g):l.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: ",l.scenarioSlug]})]},g):l.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:l.hookName}),l.exitCode!==void 0&&e.jsxs("span",{className:`font-semibold ${l.exitCode!==0?"text-red-600":"text-emerald-600"}`,children:["exit ",l.exitCode]}),l.durationMs!==void 0&&e.jsxs("span",{className:"text-[var(--text-dim)]",children:["(",l.durationMs,"ms)"]})]},g):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:["[",l.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(l)})]},g)})})]})]})}const R1=Object.freeze(Object.defineProperty({__proto__:null,BehaviorTraceSection:T1},Symbol.toStringTag,{value:"Module"}));function D1(t,s=()=>{}){const o={};for(const a of Object.values(t))for(const[n,r]of Object.entries(a))if(!(n==="default"||!E1(n))&&typeof r=="function"){if(Object.prototype.hasOwnProperty.call(o,n)){s(n);continue}o[n]=r}return o}function E1(t){return/^[A-Z]/.test(t)}const B1=Object.assign({"../components/AccountsRealConnect.tsx":nC,"../components/AccountsScreen.tsx":aC,"../components/ActiveScenarioOverlay.tsx":oC,"../components/ActivityDoneButton.tsx":sC,"../components/AddTopicForm.tsx":tC,"../components/AgentHtmlEmptyState.tsx":eC,"../components/AgentHtmlLintWarnings.tsx":ZP,"../components/AgentHtmlPaneHeader.tsx":XP,"../components/AgentHtmlPreviewPane.tsx":YP,"../components/AnalyticsMonitoringScreen.tsx":KP,"../components/AnalyticsSeoScreen.tsx":QP,"../components/AnimatedEllipsis.tsx":JP,"../components/ApiAuthScreen.tsx":UP,"../components/ApiDocsScreen.tsx":WP,"../components/ApiKeyField.tsx":VP,"../components/AppCapabilitiesPanel.tsx":$P,"../components/AppCard.tsx":qP,"../components/AppCardFooter.tsx":GP,"../components/AppCardHeader.tsx":zP,"../components/AppCardScenarioStrip.tsx":HP,"../components/AppDetail.tsx":FP,"../components/AppDetailContent.tsx":LP,"../components/AppDetailContentError.tsx":IP,"../components/AppDetailContentLoading.tsx":AP,"../components/AppDetailHeader.tsx":OP,"../components/AppOverview.tsx":MP,"../components/AppOverviewEmptyState.tsx":BP,"../components/AppOverviewEmptyStateBuildingPanel.tsx":EP,"../components/AppOverviewEmptyStateNoAppPanel.tsx":DP,"../components/AppOverviewGrid.tsx":RP,"../components/AppOverviewHeader.tsx":TP,"../components/AppPrivacyScreen.tsx":kP,"../components/AppReviewScreen.tsx":NP,"../components/AppSelector.tsx":tT,"../components/AppServiceCredentialModal.tsx":wP,"../components/AppStackCapabilitiesSlot.tsx":CP,"../components/AppStackPanel.tsx":PP,"../components/AppStackPanelBody.tsx":jP,"../components/AppStackPanelSummary.tsx":yP,"../components/AppTestSummary.tsx":SP,"../components/AppTypeBadge.tsx":fP,"../components/AssetPickerMenu.tsx":hP,"../components/AssetPickerMenuItem.tsx":vP,"../components/AssetSaveErrorMessage.tsx":bP,"../components/AssetSaveSuccessMessage.tsx":gP,"../components/AttachFileButton.tsx":BN,"../components/BackendApiDocsScreen.tsx":xP,"../components/BackendConnectionStatusBadge.tsx":uP,"../components/BackendResultsHeader.tsx":mP,"../components/BackendResultsPage.tsx":pP,"../components/BackendResultsPanelView.tsx":dP,"../components/BackgroundJobsScreen.tsx":_P,"../components/BehaviorEvidenceDrawer.tsx":cP,"../components/BehaviorExampleTable.tsx":lP,"../components/BehaviorGallery.tsx":iP,"../components/BehaviorGalleryEmptyState.tsx":rP,"../components/BehaviorGroup.tsx":nP,"../components/BehaviorItem.tsx":aP,"../components/BehaviorTraceSection.tsx":R1,"../components/BlockedBanner.tsx":oP,"../components/BreadcrumbNav.tsx":sP,"../components/BrowserStateTab.tsx":EN,"../components/BuildActivityCard.tsx":tP,"../components/BuildActivityMenu.tsx":eP,"../components/BuildActivityModal.tsx":Zj,"../components/BuildActivityModalHeading.tsx":Xj,"../components/BuildActivityPlanList.tsx":Yj,"../components/BuildActivityReopenBar.tsx":Kj,"../components/BuildChatAgentChat.tsx":Qj,"../components/BuildChatLaunchPanel.tsx":Jj,"../components/BuildChatPane.tsx":Uj,"../components/BuildFileRow.tsx":Wj,"../components/BuildLogsModal.tsx":Vj,"../components/BuildProgressDetail.tsx":$j,"../components/BuildResetLink.tsx":qj,"../components/BuildShaBadge.tsx":Gj,"../components/BuildSpinner.tsx":zj,"../components/BuildTab.tsx":Hj,"../components/BuildTabLayout.tsx":Fj,"../components/BuildTabPane.tsx":Lj,"../components/BuildTabPaneLayout.tsx":Ij,"../components/BuildTabReadyToBuildPlaceholder.tsx":sT,"../components/BuildTabRecoveryPanel.tsx":Aj,"../components/BuildTabSessionContent.tsx":Oj,"../components/BuildTabStartupError.tsx":Mj,"../components/BuildTabTerminalSession.tsx":Bj,"../components/BuildingCardActive.tsx":Ej,"../components/BuildingCardIdle.tsx":Dj,"../components/BuildingCardThumbnail.tsx":Rj,"../components/BuildingDoor.tsx":Tj,"../components/BuildingPreviewOverlay.tsx":kj,"../components/BuildingStepLine.tsx":Nj,"../components/ChangeCard.tsx":wj,"../components/ChangeDescriptionInput.tsx":Cj,"../components/ChangelogCiScreen.tsx":Pj,"../components/CheckInToggleRow.tsx":jj,"../components/ChooseAssetsButton.tsx":yj,"../components/CliUxScreen.tsx":Sj,"../components/ClientRoutingAdvisory.tsx":fj,"../components/CollapseToggleButton.tsx":hj,"../components/CollapsibleMarkdown.tsx":vj,"../components/ColorPalettePicker.tsx":bj,"../components/ColorSwatchEditor.tsx":gj,"../components/CommentsSearchScreen.tsx":xj,"../components/CommitOnlyHistoryRow.tsx":uj,"../components/CommitQueuePriorityChip.tsx":mj,"../components/CommitQueueReleaseButton.tsx":pj,"../components/CommitQueueRow.tsx":dj,"../components/CommitQueueRowDetails.tsx":_j,"../components/CommitQueueRowIdentity.tsx":cj,"../components/CommitQueueSaveBar.tsx":lj,"../components/CommitQueueSection.tsx":ij,"../components/CompletedPlanExpandedBody.tsx":rj,"../components/CompletedPlanRow.tsx":nj,"../components/ComponentSurfaceReasonNote.tsx":aj,"../components/ConceptShowcase.tsx":eT,"../components/ConceptTerm.tsx":oj,"../components/ConceptsContext.tsx":sj,"../components/ConceptsGlossaryScreen.tsx":tj,"../components/ConnectionBadge.tsx":yk,"../components/ConnectionIdentityLine.tsx":h1,"../components/ContainerInspector.tsx":Sk,"../components/CopyButton.tsx":Fs,"../components/CopyPathButton.tsx":ej,"../components/CopyableErrorBlock.tsx":a1,"../components/CopyableErrorText.tsx":Ls,"../components/CorsOriginsScreen.tsx":Zy,"../components/CoverageBadge.tsx":Xy,"../components/CoverageBar.tsx":Yy,"../components/CoverageDetailsDirectoriesSection.tsx":Ky,"../components/CoverageDetailsDirectoryFileRow.tsx":Qy,"../components/CoverageDetailsDirectoryGroup.tsx":Jy,"../components/CoverageDetailsEntriesSection.tsx":Uy,"../components/CoverageDetailsEntryRow.tsx":Wy,"../components/CoverageDetailsModal.tsx":Vy,"../components/CoverageDetailsOrphanedSection.tsx":$y,"../components/CoverageFileDrilldown.tsx":qy,"../components/CoverageLineRow.tsx":Gy,"../components/CoverageSectionHeader.tsx":zy,"../components/CoverageWarningsBanner.tsx":Hy,"../components/CrashLogFooter.tsx":Fy,"../components/CrashLogFooterMessage.tsx":Ly,"../components/CrashLogHeader.tsx":Iy,"../components/CrashLogViewer.tsx":Ay,"../components/CrashReportingScreen.tsx":Oy,"../components/CreateProjectModal.tsx":$k,"../components/CreateStatePlaceholderModal.tsx":My,"../components/CustomDomainScreen.tsx":By,"../components/CyLogo.tsx":Ey,"../components/DataSafetyScreen.tsx":Dy,"../components/DataViewerCategoryBadge.tsx":DN,"../components/DataViewerCellEditor.tsx":RN,"../components/DataViewerTabBar.tsx":p1,"../components/DataViewerTable.tsx":TN,"../components/DatabaseBackupsScreen.tsx":Ry,"../components/DebugAncestryList.tsx":Ty,"../components/DebugAncestrySection.tsx":ky,"../components/DebugFreezePill.tsx":Ny,"../components/DebugModal.tsx":wy,"../components/DebugModalElementPreview.tsx":Cy,"../components/DebugModalInfoPanel.tsx":Py,"../components/DebugModeButton.tsx":jy,"../components/DebugNotificationsButton.tsx":yy,"../components/DebugOverlay.tsx":Sy,"../components/DebugPropsChips.tsx":fy,"../components/DeployTargetScreen.tsx":hy,"../components/DescribePane.tsx":vy,"../components/DesignAddAssetsStep.tsx":gT,"../components/DesignAssetDropLabel.tsx":by,"../components/DesignAssetDropZone.tsx":gy,"../components/DesignAssetsView.tsx":xy,"../components/DesignChatPreviewPane.tsx":uy,"../components/DesignExplorationView.tsx":my,"../components/DesignRoundEmptyState.tsx":py,"../components/DesignRoundPreviewPane.tsx":dy,"../components/DesktopTitleBar.tsx":_y,"../components/DetectedServiceRow.tsx":cy,"../components/DevAccountsScreen.tsx":ly,"../components/DevServerCrashLog.tsx":iy,"../components/DevServerFailedPanel.tsx":ry,"../components/DevServerRestartingOverlay.tsx":n1,"../components/DevServerStartingOverlay.tsx":r1,"../components/DevServerStoppedOverlay.tsx":i1,"../components/DeviceFrameImage.tsx":ny,"../components/DeviceIcon.tsx":ay,"../components/DimensionInput.tsx":oy,"../components/EditDataButton.tsx":IT,"../components/EditDataPopover.tsx":t1,"../components/EditDataPopoverBody.tsx":UT,"../components/EditDataPopoverDescribeInput.tsx":JT,"../components/EditDataPopoverHeader.tsx":ZT,"../components/EditDataPopoverResizeHandleLeft.tsx":e1,"../components/EditDataPopoverSaveCancelClose.tsx":QT,"../components/EditDataPopoverSearchInput.tsx":KT,"../components/EditDataPopoverSectionSelector.tsx":YT,"../components/EditDataPopoverTabStrip.tsx":XT,"../components/EditorNavBar.tsx":sy,"../components/EditorSessionRecovery.tsx":ty,"../components/EditorSessionRecoveryActionButton.tsx":ey,"../components/EditorSessionRecoveryDialog.tsx":ZS,"../components/EditorSessionRecoveryHeader.tsx":XS,"../components/EditorSessionRecoverySummary.tsx":YS,"../components/EditorSessionRecoverySummaryRow.tsx":KS,"../components/EditorShell.tsx":QS,"../components/EditorShellBuildLayer.tsx":JS,"../components/EditorShellHomeTabContent.tsx":US,"../components/EditorShellLayout.tsx":WS,"../components/EditorShellLeftPane.tsx":VS,"../components/EditorShellPlanLayer.tsx":$S,"../components/EditorShellPreviewPane.tsx":iT,"../components/EditorShellTabLayer.tsx":qS,"../components/EmailsScreen.tsx":GS,"../components/EntityBreadcrumb.tsx":zS,"../components/EntityDetail.tsx":HS,"../components/EntityDetailContent.tsx":FS,"../components/EntityDetailHeader.tsx":LS,"../components/EntityRefCard.tsx":IS,"../components/EntityRefList.tsx":AS,"../components/EnvelopeIcon.tsx":OS,"../components/ErrorNotice.tsx":kN,"../components/ErrorNoticeActions.tsx":NN,"../components/ErrorNoticeDiagnostics.tsx":wN,"../components/ErrorNoticeHeader.tsx":CN,"../components/ErrorNoticeNextAction.tsx":PN,"../components/EventCard.tsx":_T,"../components/EventStream.tsx":dT,"../components/ExamplesScreen.tsx":MS,"../components/ExploreRail.tsx":o1,"../components/ExploreSectionHeading.tsx":BS,"../components/ExtensionAssetsScreen.tsx":ES,"../components/ExtensionDistributionScreen.tsx":DS,"../components/ExtensionPrivacyPolicyScreen.tsx":RS,"../components/ExternalServiceGroupList.tsx":TS,"../components/ExternalServicesAskCard.tsx":kS,"../components/ExternalServicesChatDock.tsx":NS,"../components/ExternalServicesEmptyState.tsx":wS,"../components/ExternalServicesListBar.tsx":CS,"../components/ExternalServicesScreen.tsx":PS,"../components/ExternalServicesScreenConnected.tsx":jS,"../components/ExternalServicesSortToolbar.tsx":yS,"../components/ExternalServicesSuggestionChips.tsx":SS,"../components/ExternalServicesSummary.tsx":fS,"../components/FactFreshness.tsx":hS,"../components/FeatureCompleteActions.tsx":vS,"../components/FeatureCompleteBanner.tsx":bS,"../components/FeatureCompleteBannerSection.tsx":gS,"../components/FeatureCompleteSecondary.tsx":xS,"../components/FeatureCompleteSummary.tsx":uS,"../components/FeatureGroupView.tsx":mT,"../components/FeatureNameButton.tsx":mS,"../components/FileChangeSummary.tsx":Qk,"../components/FileDropConfirmModal.tsx":pS,"../components/FileDropConfirmModalAgentReadyShowcase.tsx":MT,"../components/FileStatusIndicator.tsx":dS,"../components/FillPreviewButton.tsx":_S,"../components/FilterBar.tsx":uT,"../components/FinishAndFormalizeButton.tsx":cS,"../components/FontPicker.tsx":lS,"../components/FormsScreen.tsx":iS,"../components/FullScreenIcon.tsx":rS,"../components/FunctionChangeRow.tsx":nS,"../components/GatedAgentChat.tsx":jN,"../components/GearIcon.tsx":aS,"../components/GlobalFileDropOverlay.tsx":oS,"../components/GlobalFileDropToast.tsx":sS,"../components/GridColumnsIcon.tsx":tS,"../components/GridDensityControl.tsx":eS,"../components/HardeningAutoAction.tsx":Z0,"../components/HistoryDigest.tsx":X0,"../components/HistoryDigestStatRow.tsx":Y0,"../components/HistoryEntryCard.tsx":K0,"../components/HistoryRangeSelector.tsx":Q0,"../components/HistoryTab.tsx":J0,"../components/HomeBuildStatusSection.tsx":U0,"../components/HomeBuildingSection.tsx":W0,"../components/HomeExploreSection.tsx":V0,"../components/HomeExploreTabs.tsx":$0,"../components/HomeHeader.tsx":q0,"../components/HomeLanding.tsx":G0,"../components/HomeQueuedPlansSection.tsx":z0,"../components/HomeScreenIcons.tsx":H0,"../components/HomeSectionHeading.tsx":F0,"../components/HomeTestingSection.tsx":L0,"../components/HomeTestingSectionControls.tsx":I0,"../components/HostingConnectStep.tsx":A0,"../components/HostingDeployStep.tsx":O0,"../components/HostingLiveStep.tsx":M0,"../components/HostingOverviewConnected.tsx":B0,"../components/HostingOverviewGuided.tsx":E0,"../components/HostingRealDeployStep.tsx":D0,"../components/HostingScreen.tsx":R0,"../components/HostingScreenChrome.tsx":T0,"../components/HostingScreenParts.tsx":k0,"../components/IdleBanner.tsx":N0,"../components/IdleTriggerCheckbox.tsx":w0,"../components/IframeClickThroughErrorCard.tsx":C0,"../components/InAppPurchasesScreen.tsx":P0,"../components/InFlightPlanRow.tsx":j0,"../components/InFlightPlanRowMeta.tsx":y0,"../components/InFlightSection.tsx":S0,"../components/InspectModeRibbon.tsx":f0,"../components/InspectResultCard.tsx":h0,"../components/InspectResultCardBackdrop.tsx":v0,"../components/InspectResultCardBody.tsx":b0,"../components/InspectResultCardHeader.tsx":g0,"../components/InspectResultCardMatchButton.tsx":x0,"../components/InspectResultCardMatchList.tsx":u0,"../components/InspectorExplainerResult.tsx":fk,"../components/InspectorExplainerSection.tsx":hk,"../components/InspectorPrimitives.tsx":vk,"../components/InspectorPrimitivesShowcase.tsx":u1,"../components/InspectorRouteTable.tsx":bk,"../components/InspectorScenarioSection.tsx":gk,"../components/InspectorTrafficDetail.tsx":xk,"../components/InspectorTrafficFilterBar.tsx":uk,"../components/InspectorTrafficRow.tsx":mk,"../components/InspectorTrafficRowShowcase.tsx":g1,"../components/InspectorTrafficSection.tsx":pk,"../components/InspectorTrafficTable.tsx":dk,"../components/InspectorTrafficUrlChips.tsx":_k,"../components/InspectorUrlGlossary.tsx":ck,"../components/InstallDocsScreen.tsx":m0,"../components/JournalEntryCard.tsx":Yk,"../components/JournalEntryDetails.tsx":Kk,"../components/JournalView.tsx":Xk,"../components/JsonBodyActions.tsx":yN,"../components/JsonTreeAddKeyInput.tsx":SN,"../components/JsonTreeArrayNode.tsx":fN,"../components/JsonTreeEditor.tsx":hN,"../components/JsonTreeNode.tsx":vN,"../components/JsonTreeNodeLine.tsx":bN,"../components/JsonTreeObjectNode.tsx":gN,"../components/JsonTreePrimitiveEditor.tsx":xN,"../components/JsonTreePrimitiveNode.tsx":uN,"../components/LabeledSection.tsx":p0,"../components/LayoutChainCard.tsx":d0,"../components/LayoutChainSection.tsx":_0,"../components/LearnSetupScreen.tsx":c0,"../components/LeftPanel.tsx":l0,"../components/LegalScreen.tsx":i0,"../components/LibrariesCatalogScreen.tsx":r0,"../components/LibraryGroupSection.tsx":n0,"../components/LibraryRow.tsx":a0,"../components/LiveIframeHealthPill.tsx":o0,"../components/LivePageScenariosModal.tsx":s0,"../components/LoggingMonitoringScreen.tsx":t0,"../components/ManifestVersioningScreen.tsx":e0,"../components/ManualTestAskChatButton.tsx":Zf,"../components/ManualTestCompletedGroup.tsx":Xf,"../components/ManualTestCountLine.tsx":Yf,"../components/ManualTestHelpChat.tsx":Kf,"../components/ManualTestRow.tsx":Qf,"../components/ManualTestSteps.tsx":Jf,"../components/ManualTestSurfaceControl.tsx":Uf,"../components/ManualTestsChat.tsx":Wf,"../components/Markdown.tsx":UN,"../components/MiniAgentChat.tsx":mN,"../components/MiniAgentLaunchFailed.tsx":pN,"../components/MiniAgentLaunchOverlay.tsx":dN,"../components/MiniAgentLaunchRetryingHint.tsx":_N,"../components/MinimizedSessionResults.tsx":Vf,"../components/MobilePaneSwitcher.tsx":$f,"../components/MobileSetupParts.tsx":qf,"../components/MobileTerminalCommandMenu.tsx":Gf,"../components/MockBodyEditor.tsx":wT,"../components/MockBodyHeadersEditor.tsx":cN,"../components/MockBodyJsonTextarea.tsx":CT,"../components/MockPanelGroup.tsx":RT,"../components/MockPanelHeader.tsx":DT,"../components/MockPanelRow.tsx":TT,"../components/MockPanelRowActions.tsx":NT,"../components/MockPanelRowHeader.tsx":kT,"../components/MockSharedSlugBadge.tsx":lN,"../components/MockSourceBadge.tsx":iN,"../components/MockupArchivedRoundView.tsx":zf,"../components/MockupCard.tsx":Hf,"../components/MockupCardFeedback.tsx":Ff,"../components/MockupCardFooter.tsx":Lf,"../components/MockupCardPreviewSlot.tsx":If,"../components/MockupCardThemeToggleButton.tsx":Af,"../components/MockupColumnsToggle.tsx":Of,"../components/MockupCustomizeColorsPanel.tsx":Mf,"../components/MockupCustomizeErrorBanner.tsx":Bf,"../components/MockupCustomizeFontsPanel.tsx":Ef,"../components/MockupCustomizePanelSectionHeading.tsx":Df,"../components/MockupCustomizePreviewArea.tsx":Rf,"../components/MockupCustomizeToolbar.tsx":Tf,"../components/MockupCustomizeView.tsx":kf,"../components/MockupFeedbackCommentBox.tsx":Nf,"../components/MockupFeedbackRatingSlider.tsx":wf,"../components/MockupFeedbackThumbIcons.tsx":Cf,"../components/MockupGrid.tsx":Pf,"../components/MockupGridEmptyState.tsx":jf,"../components/MockupGridGeneratingOverlay.tsx":yf,"../components/MockupGridInfoBanner.tsx":Sf,"../components/MockupGridIterateButton.tsx":ff,"../components/MockupPlaceholderCard.tsx":hf,"../components/MockupRoundPager.tsx":vf,"../components/MockupSkeletonOverlay.tsx":bf,"../components/ModifiedFilesList.tsx":gf,"../components/NarrativeTestStatusIcon.tsx":xf,"../components/NativeMirrorNotice.tsx":uf,"../components/NavLink.tsx":mf,"../components/NavTabDot.tsx":pf,"../components/NavigationBar.tsx":df,"../components/NewProjectQuestionnaire.tsx":_f,"../components/NoBootedSimulatorPlaceholder.tsx":cf,"../components/NonWebAppDetail.tsx":lf,"../components/NotSurePrompt.tsx":rf,"../components/NotificationSettingsControls.tsx":nf,"../components/NotificationSettingsControlsShowcase.tsx":rT,"../components/NotificationSettingsPopover.tsx":af,"../components/NotificationSetupBanner.tsx":of,"../components/NotificationSoundSelect.tsx":sf,"../components/OAuthVerificationScreen.tsx":tf,"../components/OnboardingDesignAssetsStep.tsx":ef,"../components/OnboardingDropzone.tsx":Zh,"../components/OnboardingListItem.tsx":Xh,"../components/OnboardingNotificationsStep.tsx":Yh,"../components/OnboardingPromptStep.tsx":Kh,"../components/OnboardingShell.tsx":Qh,"../components/OnboardingStackPicker.tsx":Jh,"../components/OnboardingTypeChips.tsx":Uh,"../components/OpenBuildTabButton.tsx":Wh,"../components/OpenInEditorErrorToast.tsx":Vh,"../components/OpenInNewTabButton.tsx":$h,"../components/OpenSourceProjectsSection.tsx":qk,"../components/OrphanedFileRow.tsx":qh,"../components/PagePickerDropdown.tsx":Gh,"../components/PagePickerEmptyMessage.tsx":zh,"../components/PagePickerRouteSection.tsx":Hh,"../components/PagePickerScenarioThumbnail.tsx":Fh,"../components/PagePickerTabButton.tsx":Lh,"../components/PagePill.tsx":Ih,"../components/PagePillIcons.tsx":Ah,"../components/PanelDivider.tsx":Oh,"../components/PaymentsScreen.tsx":Mh,"../components/PendingFileCard.tsx":Bh,"../components/PendingFileCountLine.tsx":Eh,"../components/PendingFileList.tsx":Dh,"../components/PerformanceImagesScreen.tsx":Rh,"../components/PermissionsJustificationScreen.tsx":Th,"../components/PlaceholderPane.tsx":BT,"../components/PlanAuthorAvatar.tsx":kh,"../components/PlanAuthoringChat.tsx":Nh,"../components/PlanChatLaunchCaption.tsx":wh,"../components/PlanClaimSyncBanner.tsx":Ch,"../components/PlanCompleteDialog.tsx":Ph,"../components/PlanCompleteTransition.tsx":jh,"../components/PlanDeleteConfirmActions.tsx":yh,"../components/PlanDeleteConfirmHeader.tsx":Sh,"../components/PlanDeleteConfirmModal.tsx":fh,"../components/PlanDeleteDependentsWarning.tsx":hh,"../components/PlanDisclosureChevron.tsx":vh,"../components/PlanExpandedHeader.tsx":bh,"../components/PlanModeBadge.tsx":gh,"../components/PlanNextChangeButton.tsx":xh,"../components/PlanPreviewEmptyState.tsx":uh,"../components/PlanPreviewHeader.tsx":mh,"../components/PlanPreviewPanelView.tsx":ph,"../components/PlanRow.tsx":dh,"../components/PlanRowBlockedChip.tsx":_h,"../components/PlanRowClaimBadge.tsx":ch,"../components/PlanRowControls.tsx":lh,"../components/PlanRowDeleteButton.tsx":ih,"../components/PlanRowDependencyEntry.tsx":rh,"../components/PlanRowDragHandle.tsx":nh,"../components/PlanRowEditButton.tsx":ah,"../components/PlanRowEditChatButton.tsx":oh,"../components/PlanRowExpandedBody.tsx":sh,"../components/PlanRowExpandedChat.tsx":th,"../components/PlanRowExpandedDependencies.tsx":eh,"../components/PlanRowExpandedEdit.tsx":Zv,"../components/PlanRowExpandedView.tsx":Xv,"../components/PlanRowIdentity.tsx":Yv,"../components/PlanRowSkeleton.tsx":Kv,"../components/PlanRowTag.tsx":Qv,"../components/PlanRowTitleWithAge.tsx":Jv,"../components/PlanRunBlockedModal.tsx":Uv,"../components/PlanRunBlockedTooltip.tsx":Wv,"../components/PlanRunButton.tsx":Vv,"../components/PlanRunDependenciesModal.tsx":$v,"../components/PlanRunForeignClaimModal.tsx":qv,"../components/PlanSectionHeader.tsx":Gv,"../components/PlanSectionStatus.tsx":zv,"../components/PlanTab.tsx":Hv,"../components/PlanTabHeader.tsx":Fv,"../components/PreReleaseScreen.tsx":Lv,"../components/PreviewCanvas.tsx":Iv,"../components/PreviewDedicatedOriginNotice.tsx":Av,"../components/PreviewEmptyState.tsx":Ov,"../components/PreviewErrorBadge.tsx":Mv,"../components/PreviewErrorList.tsx":Bv,"../components/PreviewErrorOverlay.tsx":Ev,"../components/PreviewErrorOverlayFooter.tsx":Dv,"../components/PreviewErrorOverlayHeader.tsx":Rv,"../components/PreviewErrorRow.tsx":Tv,"../components/PreviewForwardPortNotice.tsx":kv,"../components/PreviewFrame.tsx":Nv,"../components/PreviewLoadingSpinner.tsx":wv,"../components/PreviewPanel.tsx":Cv,"../components/PreviewPortMismatchCard.tsx":Pv,"../components/PreviewSignInNotice.tsx":jv,"../components/PreviewSignInNoticeShowcase.tsx":Jk,"../components/PreviewUnhealthyOverlay.tsx":yv,"../components/PreviewWaitingOverlay.tsx":Sv,"../components/PreviewWaitingPlaceholder.tsx":fv,"../components/ProjectLauncher.tsx":Gk,"../components/ProjectLauncherScreen.tsx":zk,"../components/ProjectSetupChosenMockup.tsx":hv,"../components/ProjectSetupDescriptionCard.tsx":vv,"../components/ProjectSetupDesignAssetList.tsx":bv,"../components/ProjectSetupDesignCard.tsx":gv,"../components/ProjectSetupHeader.tsx":xv,"../components/ProjectSetupPreviewPane.tsx":uv,"../components/ProjectSetupPreviewView.tsx":mv,"../components/ProjectSetupProgressList.tsx":pv,"../components/ProjectSetupProgressRow.tsx":dv,"../components/PromptDropdownPanel.tsx":_v,"../components/PrototypeAgentChat.tsx":cv,"../components/PrototypeBuildingInProgressBanner.tsx":lv,"../components/PrototypePane.tsx":iv,"../components/ProviderAuthGate.tsx":rv,"../components/ProviderAuthModal.tsx":rN,"../components/ProviderAuthenticateCta.tsx":nN,"../components/ProviderLogo.tsx":nv,"../components/ProvisionWithBrokerCta.tsx":av,"../components/PublishRegistryScreen.tsx":ov,"../components/PublishScreen.tsx":sv,"../components/PushNotificationsScreen.tsx":tv,"../components/QuestionnaireDesignApproachStep.tsx":hT,"../components/QuestionnaireDesignChatLaunchPanel.tsx":ev,"../components/QuestionnaireDesignChatStep.tsx":Zb,"../components/QuestionnaireDeviceSelector.tsx":ST,"../components/QuestionnaireIntroBanner.tsx":Xb,"../components/QuestionnaireNavButtons.tsx":Yb,"../components/QuestionnaireNotificationsStep.tsx":fT,"../components/QuestionnaireOptionCard.tsx":bT,"../components/QuestionnaireStepNav.tsx":yT,"../components/QuestionnaireStepPanel.tsx":Kb,"../components/QueuedChangesSection.tsx":Qb,"../components/RawTerminalEmulator.tsx":Jb,"../components/RawTerminalModal.tsx":Ub,"../components/ReadmeLicenseScreen.tsx":Wb,"../components/ReadyAgentRegistrar.tsx":oT,"../components/RealDataConnected.tsx":C1,"../components/RealDataNotConnected.tsx":N1,"../components/RealDataScreen.tsx":Vb,"../components/RealDataZone.tsx":P1,"../components/RealSetupFlow.tsx":$b,"../components/RecentPlansSection.tsx":qb,"../components/RedirectsNotFoundScreen.tsx":Gb,"../components/RefreshPreviewButton.tsx":zb,"../components/ReleaseBuildsScreen.tsx":Hb,"../components/RepeatPassMarker.tsx":Fb,"../components/RerunSection.tsx":Lb,"../components/ResetBuildConfirmModal.tsx":Ib,"../components/RestartSpinner.tsx":Ab,"../components/ReviewCard.tsx":Ob,"../components/ReviewDetailCard.tsx":Mb,"../components/ReviewFindingRow.tsx":Bb,"../components/ReviewsTab.tsx":Eb,"../components/RouteDependencyCard.tsx":Db,"../components/RouteDependencyCardHeader.tsx":Rb,"../components/RouteDependencyEmptyState.tsx":Tb,"../components/RouteDependencyList.tsx":kb,"../components/RouteDependencyScenarioStrip.tsx":Nb,"../components/RouteEntityDetail.tsx":wb,"../components/RouteEntityDetailContent.tsx":Cb,"../components/RouteEntityDetailHeader.tsx":Pb,"../components/RouteEntitySection.tsx":l1,"../components/RouteEntityTabs.tsx":jb,"../components/RouteFunctionCard.tsx":yb,"../components/RouteFunctionEmptyState.tsx":Sb,"../components/RouteFunctionList.tsx":fb,"../components/RouteGroupDisclosure.tsx":hb,"../components/RouteGroupView.tsx":xT,"../components/RouteImportEmptyState.tsx":c1,"../components/RouteImportList.tsx":_1,"../components/RouteImportRow.tsx":jT,"../components/RouteKindToggle.tsx":vb,"../components/RouteList.tsx":bb,"../components/RouteListCard.tsx":gb,"../components/RouteListCardHeading.tsx":xb,"../components/RouteListCardThumbnail.tsx":ub,"../components/RouteListEmptyState.tsx":mb,"../components/RouteListSection.tsx":pb,"../components/RouteListSectionHeader.tsx":db,"../components/RouteListTabs.tsx":_b,"../components/RouteScenarioEmptyState.tsx":cb,"../components/RouteScenarioList.tsx":lb,"../components/RouteSearchField.tsx":ib,"../components/RouteSummaryCard.tsx":d1,"../components/RouteViewControls.tsx":rb,"../components/RunEvidenceLine.tsx":nb,"../components/RunLocallyCommandRow.tsx":ab,"../components/RunLocallyScreen.tsx":ob,"../components/RunTestsButton.tsx":sb,"../components/SafeScreenshot.tsx":tb,"../components/SaveAssetsButton.tsx":eb,"../components/SaveScopeChoiceRow.tsx":aN,"../components/SaveScopeModal.tsx":oN,"../components/ScenarioCard.tsx":Zg,"../components/ScenarioComparisonRow.tsx":Xg,"../components/ScenarioDataPanel.tsx":sN,"../components/ScenarioDataPanelCloseButton.tsx":tN,"../components/ScenarioDataPanelEditChatButton.tsx":eN,"../components/ScenarioDataPanelEmptyState.tsx":Zw,"../components/ScenarioDataPanelFullPage.tsx":Wk,"../components/ScenarioDataPanelHeader.tsx":Xw,"../components/ScenarioDataPanelInspectButton.tsx":Yw,"../components/ScenarioDataPanelMainMock.tsx":Kw,"../components/ScenarioDataPanelMainMockEditable.tsx":Qw,"../components/ScenarioDataPanelMainMockHeader.tsx":Jw,"../components/ScenarioDataPanelMainMockReadOnly.tsx":Uw,"../components/ScenarioDataPanelMainProps.tsx":WT,"../components/ScenarioDataPanelMainTable.tsx":Ww,"../components/ScenarioDataPanelMockDataBadge.tsx":Vw,"../components/ScenarioDataPanelMockDataStrip.tsx":$w,"../components/ScenarioDataPanelOpenInNewButton.tsx":qw,"../components/ScenarioDataPanelPropsEditor.tsx":VT,"../components/ScenarioDataPanelSidebar.tsx":Gw,"../components/ScenarioDetailPanel.tsx":PT,"../components/ScenarioDraftBar.tsx":zw,"../components/ScenarioGalleryModal.tsx":Yg,"../components/ScenarioImpactSection.tsx":Kg,"../components/ScenarioRenameForm.tsx":Qg,"../components/ScenarioRenderer.tsx":Uk,"../components/ScenarioRendererAppDeadEnd.tsx":f1,"../components/ScenarioRow.tsx":Jg,"../components/ScenarioRowActions.tsx":Ug,"../components/ScenarioRowMeta.tsx":Wg,"../components/ScenarioRowOverrideBadge.tsx":Vg,"../components/ScenarioRowThumbnail.tsx":$g,"../components/ScenarioSeedErrorView.tsx":v1,"../components/ScenarioThumbnailGrid.tsx":qg,"../components/ScenarioTypeSection.tsx":Gg,"../components/ScenariosView.tsx":OT,"../components/SearchIcon.tsx":zg,"../components/SecretsScreen.tsx":Hg,"../components/SeedErrorBanner.tsx":Fg,"../components/SeedLoadingOverlay.tsx":Lg,"../components/SegmentedPicker.tsx":Ig,"../components/SelectPlanModal.tsx":Ag,"../components/SemverPolicyScreen.tsx":Og,"../components/SendTranscriptModal.tsx":Mg,"../components/SendTranscriptOverlay.tsx":m1,"../components/ServerStalenessBanner.tsx":Bg,"../components/ServiceRow.tsx":Eg,"../components/SessionResultsPanel.tsx":Dg,"../components/SessionResultsPanelHeader.tsx":Rg,"../components/SettingsTab.tsx":Tg,"../components/SetupAddTopicRow.tsx":kg,"../components/SetupBrowserHeader.tsx":Ng,"../components/SetupBrowserPane.tsx":wg,"../components/SetupDetailChrome.tsx":Cg,"../components/SetupDetailParts.tsx":Pg,"../components/SetupGoalAssist.tsx":jg,"../components/SetupGoalAssistList.tsx":yg,"../components/SetupIllustrations.tsx":Sg,"../components/SetupJourney.tsx":fg,"../components/SetupNotConnected.tsx":hg,"../components/SetupStepper.tsx":vg,"../components/SetupTerminalHeader.tsx":bg,"../components/SetupTerminalPane.tsx":gg,"../components/SetupTopicPage.tsx":xg,"../components/SetupTopicRouter.tsx":ug,"../components/ShellCompletionsScreen.tsx":mg,"../components/SidebarGroupOverrideHeader.tsx":Hw,"../components/SidebarInheritedSection.tsx":Fw,"../components/SidebarMockEntryRow.tsx":Lw,"../components/SimulatedSetupFlow.tsx":pg,"../components/SimulatedSetupOverview.tsx":dg,"../components/SimulatedSetupScreen.tsx":_g,"../components/SimulatorFrameNotice.tsx":cg,"../components/SimulatorLauncherControls.tsx":lg,"../components/SimulatorNotBootedPrompt.tsx":ig,"../components/SimulatorPreviewFrame.tsx":rg,"../components/SinglePurposeListingScreen.tsx":ng,"../components/SkeletonBar.tsx":ag,"../components/SkeletonShimmerKeyframes.tsx":og,"../components/SortablePlanRow.tsx":sg,"../components/StackPickerCollapsed.tsx":tg,"../components/StackPickerResults.tsx":eg,"../components/StagingEnvironmentScreen.tsx":Zx,"../components/StagingPreviewScreen.tsx":Xx,"../components/StaleDbStripeOverlay.tsx":b1,"../components/StartBuildingConfirmModal.tsx":Yx,"../components/StartChatButton.tsx":Kx,"../components/StartPrototypingButton.tsx":Qx,"../components/StatesDropdown.tsx":Jx,"../components/StatesDropdownRow.tsx":Ux,"../components/StatesPillButton.tsx":Wx,"../components/StatusBadge.tsx":pT,"../components/StepIndicatorBar.tsx":Vx,"../components/StepIndicatorDropdownItem.tsx":$x,"../components/StepsSimulator.tsx":WN,"../components/StepsSimulatorInstructionsPanel.tsx":VN,"../components/StepsSimulatorStepList.tsx":$N,"../components/StepsSimulatorVariableControl.tsx":qN,"../components/StoreAccountsScreen.tsx":qx,"../components/StoreAssetsScreen.tsx":Gx,"../components/StoreListingScreen.tsx":zx,"../components/StuckTurnBanner.tsx":Hx,"../components/StuckTurnBannerAgentReadyShowcase.tsx":aT,"../components/SubmitReviewScreen.tsx":Fx,"../components/SupplyChainScreen.tsx":Lx,"../components/TabPane.tsx":Ix,"../components/TabScrollPanel.tsx":Ax,"../components/TeachSetupScreen.tsx":Ox,"../components/TerminalConnectingHint.tsx":Iw,"../components/TerminalCopiedToast.tsx":Mx,"../components/TerminalDisconnectOverlay.tsx":Aw,"../components/TerminalDropOverlay.tsx":Ow,"../components/TerminalDropToast.tsx":Mw,"../components/TerminalEdgeUnreachableBanner.tsx":Bw,"../components/TerminalEmulator.tsx":Bx,"../components/TerminalFailedBanner.tsx":Ew,"../components/TerminalReconnectingBanner.tsx":Dw,"../components/TerminalServerErrorBanner.tsx":Rw,"../components/TerminalServerStoppedBanner.tsx":Tw,"../components/TerminalSessionDiedBanner.tsx":kw,"../components/TerminalSessionStaleBanner.tsx":Nw,"../components/TestBar.tsx":Ex,"../components/TestGroupHeader.tsx":Dx,"../components/TestGroupList.tsx":Rx,"../components/TestGroupRow.tsx":Tx,"../components/TestItem.tsx":kx,"../components/TestResultsBadge.tsx":Nx,"../components/TestStatusIcon.tsx":wx,"../components/TestSummary.tsx":ET,"../components/TestingDistributionScreen.tsx":Cx,"../components/TestsView.tsx":AT,"../components/ThumbnailStrip.tsx":Px,"../components/TurnEndedOffGateBanner.tsx":jx,"../components/TurnEndedOffGateBannerAgentReadyShowcase.tsx":nT,"../components/UnsurfacedPageGroup.tsx":yx,"../components/UnsurfacedPageInvestigateButton.tsx":Sx,"../components/UnsurfacedPageRow.tsx":fx,"../components/UnsurfacedPageRowSummary.tsx":hx,"../components/UnsurfacedPagesSection.tsx":vx,"../components/UnsurfacedPagesSectionHeader.tsx":bx,"../components/UpdateAvailableBanner.tsx":gx,"../components/VersioningChangelogScreen.tsx":xx,"../components/ViewTabs.tsx":s1,"../components/ViewportPresetButton.tsx":ux,"../components/WaysToTestList.tsx":mx,"../components/WebFallbackNotice.tsx":px,"../components/WiredProviderBanner.tsx":dx,"../components/WorkflowSettingsSection.tsx":_x,"../components/authFlows/ApiKeyFlow.tsx":ww,"../components/authFlows/ClaudeOAuthFlow.tsx":Cw,"../components/authFlows/RecoveryActions.tsx":Pw,"../components/externalServicesIcons.tsx":cx,"../components/realDataIcons.tsx":lx,"../components/setupFlowParts.tsx":ix,"../components/setupIcons.tsx":rx,"../components/setupTopicIllustration.tsx":nx,"../context/AgentInputContext.tsx":jw,"../context/FilePickerContext.tsx":yw});let q=null;function M1(){if(q)return q;const t=[];return q=D1(B1,s=>t.push(s)),t.length>0&&console.warn("[scenario] auto-component index found duplicate export names:",Array.from(new Set(t)).sort().join(", ")),q}function O1(t){return M1()[t]??null}function A1(t,s){const{structural:o,fixtureProps:a}=s;if(!o&&!a)return t;const n=r=>{const i=a?{...a,...r}:r,c=e.jsx(t,{...i});return o?I1(o,c):c};return n.displayName=`ScenarioComponent(${t.displayName||t.name||"Anonymous"})`,n}function I1(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 p=()=>{},$={key:"real-data",Icon:E,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"}},L1={key:"privacy-legal",Icon:E,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."},Xe={monogram:"YA",name:"Your app",detail:"you@your-app.com · acct_1Q8…7fED"},F1={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."}]},H1={DataViewerRow:{structural:"tr"},DataViewerColumnHeader:{structural:"th"},DataViewerCell:{structural:"td"},PlanRunBlockedTooltip:{structural:"anchored"},RouteListTabs:{fixtureProps:{onSelectRoute:p,onSelectScenario:p}},HostingDeployStep:{fixtureProps:{onDone:p}},HostingScreen:{fixtureProps:{connector:{provider:"vercel"},onBack:p,onComplete:p}},HostingLiveStep:{fixtureProps:{onFinish:p}},HostingRealDeployStep:{fixtureProps:{provider:"vercel",credential:"demo-token",onDone:p,onRetry:p}},HistoryRangeSelector:{fixtureProps:{onChange:p}},NotificationSettingsControls:{fixtureProps:{onChange:p}},AppServiceCredentialModal:{fixtureProps:{onStored:p,onClose:p}},SetupCompleteCta:{fixtureProps:{onComplete:p,onRevert:p,onBack:p}},DetectedServiceRow:{fixtureProps:{onDismiss:p,onAddCredential:p}},DigestHeader:{fixtureProps:{onCopy:p}},SimulatedSetupOverview:{fixtureProps:{config:$,onBack:p,onSetup:p}},SimulatedSetupScreen:{fixtureProps:{config:$,onBack:p,onComplete:p}},SimulatedProvision:{fixtureProps:{config:$,onDone:p}},TeachSetupScreen:{fixtureProps:{config:L1,onBack:p,onComplete:p}},MobileTerminalCommandMenu:{fixtureProps:{defaultOpen:!0}},MobileTerminalCommandMenuPanel:{fixtureProps:{defaultOpen:!0}},RealDataScreen:{fixtureProps:{onBack:p,onComplete:p}},RealSetupFlow:{fixtureProps:{config:$,provider:"supabase",onBack:p,onComplete:p}},AccountsScreen:{fixtureProps:{onBack:p,onComplete:p}},EmailsScreen:{fixtureProps:{onBack:p,onComplete:p}},PaymentsScreen:{fixtureProps:{onBack:p,onComplete:p}},AccountsConnected:{fixtureProps:{app:X,startedOn:"June 14",onComplete:p}},EmailsConnected:{fixtureProps:{app:X,verifiedAddress:"hello@your-app.com",account:Xe,onComplete:p}},PaymentsConnected:{fixtureProps:{app:X,account:Xe,onComplete:p}},RealDataConnected:{fixtureProps:{entity:Ye,connection:S1,onPlan:p}},RealDataNotConnected:{fixtureProps:{entity:Ye,onConnect:p}},SetupNotConnected:{fixtureProps:{config:F1,onConnect:p}},SetupPlanFooter:{fixtureProps:{onPlan:p}},ProjectLauncher:{fixtureProps:{onOpen:p,onStop:p,onScan:p,onClone:p}},ProjectRow:{fixtureProps:{onOpen:p,onStop:p}},ProjectRowActions:{fixtureProps:{onOpen:p,onStop:p}},ProjectScanForm:{fixtureProps:{onScan:p}},ProjectCreateForm:{fixtureProps:{onCreate:p}},CreateProjectModal:{fixtureProps:{onCreate:p,onClose:p}},ProjectLauncherEmpty:{fixtureProps:{onCreateFirst:p,onScan:p}},OpenSourceProjectsSection:{fixtureProps:{onClone:p}},OpenSourceProjectRow:{fixtureProps:{onClone:p}},SetupTopicPage:{fixtureProps:{icon:d.createElement(E,{size:26}),title:"Use real data",crumbLabel:"Real data",meta:"Foundation · about 10 minutes",assistKey:"real-data",onBack:p,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(wt,{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."}]}}};function z1(t){const s={};for(const[o,a]of Object.entries(t))s[o]=A(a);return s}const G1=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"]);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(!G1.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==="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 Ze=200;function et(t){const s=t.trim().replace(/\s+/g," ");return s.length<=Ze?s:`${s.slice(0,Ze)}…`}function q1(t,s,o,a){if(!o){const n=a.trim()?`: ${et(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: ${et(a)}`}}}function $1(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 V1(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 W1=new Set(["EditorShell"]),tt=new Map;function U1(t){if(!t)return null;const s=k1[t]??O1(t);if(!s)return null;const o=H1[t];if(!o)return s;const a=tt.get(t);if(a)return a;const n=A1(s,o);return tt.set(t,n),n}function Z(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 J1(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 q1(n,r.status,r.ok,i)}).then(r=>{if(a)return;if(!r.ok){o(Z(r.error));return}const i=r.scenario;if(i.error){o(Z(i.error));return}const c=U1(i.componentName),_=i.scenarioType==="application"||i.scenarioType==="component"?i.scenarioType:null,u=i.seed??null,x=$1(i.mocks),m=V1(i.mocks),l=typeof i.url=="string"?i.url:null;if(!c&&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:m,url:l});return}o({Component:c,props:z1(i.props??{}),name:i.name??"",loading:!1,error:null,needsRouter:W1.has(i.componentName??""),displayHints:i.displayHints??null,seed:u,scenarioType:_,hasMocks:x,httpMocks:m,url:l})}).catch(r=>{a||o(Z(r.message))}),()=>{a=!0}},[t]),s}function Q1(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 K1(t){return typeof t=="string"?t:t instanceof URL?t.href:t instanceof Request?t.url:String(t)}function Y1(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 js(t,s){return s!=null&&s.method?s.method.toUpperCase():t instanceof Request?t.method.toUpperCase():"GET"}function X1(t){const s=window.fetch,o=Object.entries(t).map(([a,n])=>({...Q1(a),response:n}));return window.fetch=function(n,r){const i=Y1(n),c=js(n,r);for(const _ of o)if(_.method===c&&_.pathname===i){const u=_.response.status??200,x=new Headers(_.response.headers??{});x.has("Content-Type")||x.set("Content-Type","application/json");const m=_.response.body!==void 0?JSON.stringify(_.response.body):null;return Promise.resolve(new Response(m,{status:u,headers:x}))}return s.call(window,n,r)},()=>{window.fetch=s}}const Z1=new Set(["/api/editor-activate-scenario","/api/editor-deactivate-scenario"]);function eR(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 tR(t,s){const o=t.toUpperCase();if(o==="GET"||o==="HEAD")return!1;const a=eR(s);return!(a===null||!a.startsWith("/api/")||Z1.has(a))}function sR(){const t=window.fetch;return window.fetch=function(o,a){const n=js(o,a),r=K1(o);return tR(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 Ps({slug:t}){const{Component:s,props:o,name:a,loading:n,error:r,needsRouter:i,displayHints:c,seed:_,scenarioType:u,hasMocks:x,httpMocks:m,url:l}=J1(t),[g,b]=d.useState(!1),[f,y]=d.useState(null);if(d.useEffect(()=>{if(n)return;let D=!1;b(!1),y(null);const B=u==="component"?sR():null,T=m?X1(m):null;return u==="component"&&_==null&&!x?(b(!0),()=>{D=!0,T&&T(),B&&B()}):(fetch("/api/editor-activate-scenario",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:t})}).then(async R=>{const N=await R.json().catch(()=>null);D||(N&&(N.seedError||N.success===!1)&&(_!=null?y(N.seedError||N.error||"scenario activation failed"):console.warn("[scenario] activation returned failure for no-seed scenario; ignoring",N)),b(!0))}).catch(R=>{D||(_!=null?y(R instanceof Error?R.message:String(R)):console.warn("[scenario] activation request failed for no-seed scenario; ignoring",R),b(!0))}),()=>{D=!0,T&&T(),B&&B(),fetch("/api/editor-deactivate-scenario",{method:"POST"}).catch(()=>{})})},[t,n,_,u,x,m]),n||!g)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(f)return e.jsx(Ge,{error:f});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(C,{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(qe,{name:a,url:l}):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 h=e.jsx(s,{...o});if(i)return h;const v=c==null?void 0:c.height,S={...c!=null&&c.maxWidth?{maxWidth:c.maxWidth}:{},...v?{height:v,display:"flex",flexDirection:"column"}:{}},j=c!=null&&c.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:j,style:Object.keys(S).length>0?S:void 0,children:h})})}export{Ps as ScenarioRenderer};
|