@shumai-one/shumai 0.3.6 → 0.3.7
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/bin/{chunk-gg1gwjtn.js → chunk-0jkqmbcx.js} +1 -1
- package/bin/{chunk-t5561vz5.js → chunk-0t8q76ac.js} +1 -1
- package/bin/chunk-0xern7e4.js +1 -0
- package/bin/{chunk-9p5n3m2z.js → chunk-0ycwr0kb.js} +1 -1
- package/bin/{chunk-55myfmhy.js → chunk-0yngn45x.js} +2 -2
- package/bin/{chunk-jtd7rydv.js → chunk-1khzycf9.js} +1 -1
- package/bin/{chunk-fwbrcfaq.js → chunk-1sqz0va1.js} +2 -2
- package/bin/{chunk-w4ycztv5.js → chunk-1xzc6z02.js} +1 -1
- package/bin/{chunk-y1t47c7f.js → chunk-2086rsb2.js} +1 -1
- package/bin/{chunk-5wrakb8p.js → chunk-260wywfb.js} +1 -1
- package/bin/{chunk-6edadcpn.js → chunk-2mqqghrz.js} +2 -2
- package/bin/{chunk-ghz19a7t.js → chunk-2xmsrq7f.js} +2 -2
- package/bin/{chunk-nh8azwsx.js → chunk-38g3s1f3.js} +2 -2
- package/bin/{chunk-0jesq6sm.js → chunk-3dx0p1ge.js} +1 -1
- package/bin/{chunk-ce50f746.js → chunk-3kqdgddm.js} +2 -2
- package/bin/{chunk-z0tbq08w.js → chunk-3xzgddev.js} +1 -1
- package/bin/{chunk-1b7shyfp.js → chunk-48nzw50r.js} +1 -1
- package/bin/{chunk-w16jgdfx.js → chunk-4bn9eb9h.js} +1 -1
- package/bin/chunk-4egayx81.js +2 -0
- package/bin/{chunk-ef5v7gta.js → chunk-4rbzswqs.js} +2 -2
- package/bin/{chunk-crdvxq38.js → chunk-503qq6sa.js} +2 -2
- package/bin/{chunk-d8bpqbdw.js → chunk-50keqtz9.js} +1 -1
- package/bin/{chunk-mmrtjcst.js → chunk-5gtew41y.js} +1 -1
- package/bin/chunk-60hpa5kf.js +3 -0
- package/bin/{chunk-4a9sdfyp.js → chunk-69tt1pvr.js} +2 -2
- package/bin/{chunk-rmm6y799.js → chunk-6fv38qdc.js} +2 -2
- package/bin/{chunk-vgr9db5g.js → chunk-6v39c8eg.js} +2 -2
- package/bin/{chunk-kaxwma6y.js → chunk-6zs49mef.js} +1 -1
- package/bin/{chunk-y8vw7zv1.js → chunk-7872prvg.js} +1 -1
- package/bin/{chunk-kk0gx8eg.js → chunk-7hnw6y6d.js} +2 -2
- package/bin/{chunk-47093mwk.js → chunk-7k3ccca6.js} +1 -1
- package/bin/chunk-815ezj20.js +1 -0
- package/bin/{chunk-ew4cxkcc.js → chunk-81tb4v5v.js} +2 -2
- package/bin/{chunk-ym47952x.js → chunk-83k0wa5k.js} +2 -2
- package/bin/{chunk-8js9m1j7.js → chunk-85eg9xqx.js} +1 -1
- package/bin/{chunk-vqgz25av.js → chunk-86aagej8.js} +1 -1
- package/bin/{chunk-f44d9fpd.js → chunk-87wqbn4g.js} +2 -2
- package/bin/chunk-8y1v9dm9.js +2 -0
- package/bin/{chunk-20wtz3kc.js → chunk-98j2z6he.js} +3 -3
- package/bin/chunk-9gq9782d.js +1 -0
- package/bin/{chunk-y0yrmcf3.js → chunk-9gzy30zm.js} +2 -2
- package/bin/{chunk-0sajh8fw.js → chunk-9nyhmtp9.js} +2 -2
- package/bin/{chunk-7b60a9sy.js → chunk-9s02m95j.js} +2 -2
- package/bin/{chunk-c9bpf8gp.js → chunk-9xhnmnnb.js} +2 -2
- package/bin/{chunk-hcvpb1hw.js → chunk-a0k1b4sq.js} +1 -1
- package/bin/{chunk-7fm1hznx.js → chunk-af6wbhkv.js} +2 -2
- package/bin/{chunk-sx7kparv.js → chunk-b3jh3hf1.js} +2 -2
- package/bin/{chunk-74zstxav.js → chunk-b8v7jvkb.js} +2 -2
- package/bin/{chunk-9tnfhrnh.js → chunk-bancgvrc.js} +2 -2
- package/bin/{chunk-a5fw02xq.js → chunk-br5xkaf7.js} +3 -3
- package/bin/chunk-bv88se28.css +1 -0
- package/bin/{chunk-nh31ma8d.js → chunk-cqq8e3hc.js} +2 -2
- package/bin/{chunk-mgbqjbfc.js → chunk-dej1gq35.js} +1 -1
- package/bin/{chunk-mhj0pqq3.js → chunk-dv1zpd2p.js} +2 -2
- package/bin/{chunk-0jr6q4j4.js → chunk-eetrc0j1.js} +2 -2
- package/bin/{chunk-6awkqp09.js → chunk-esrtafz0.js} +1 -1
- package/bin/chunk-eztggp8r.js +1 -0
- package/bin/{chunk-n198tewr.js → chunk-f2j2cqd1.js} +2 -2
- package/bin/{chunk-1f8rr3ef.js → chunk-fcs4v6jq.js} +2 -2
- package/bin/{chunk-dfzmqx1v.js → chunk-ftc48rbb.js} +3 -3
- package/bin/{chunk-pm64et9d.js → chunk-g60v3jc1.js} +1 -1
- package/bin/chunk-gf5ds9r9.js +2 -0
- package/bin/{chunk-f2eh802w.js → chunk-gjdmnfms.js} +1 -1
- package/bin/{chunk-gra3617w.js → chunk-gjn3w26y.js} +2 -2
- package/bin/{chunk-8jdgzy22.js → chunk-h9emz0zb.js} +2 -2
- package/bin/{chunk-3egeywt8.js → chunk-h9k2atte.js} +1 -1
- package/bin/{chunk-fzaw1e34.js → chunk-hqkmdp31.js} +2 -2
- package/bin/{chunk-9annjnj2.js → chunk-jszpvg8e.js} +2 -2
- package/bin/{chunk-snexx7ks.js → chunk-k48y9e5s.js} +1 -1
- package/bin/{chunk-d2qp8g98.js → chunk-karn564z.js} +2 -2
- package/bin/{chunk-fdm1yc29.js → chunk-kkq4wvnc.js} +1 -1
- package/bin/{chunk-aeg4kya9.js → chunk-kpn9d97x.js} +1 -1
- package/bin/chunk-ksx113sp.js +1 -0
- package/bin/chunk-m6a4rzdt.js +62 -0
- package/bin/chunk-mw8f8ngt.js +7 -0
- package/bin/{chunk-w98wvk17.js → chunk-n4gghgrj.js} +2 -2
- package/bin/{chunk-hqbzjzsm.js → chunk-n76r6s9k.js} +2 -2
- package/bin/{chunk-g70eyttc.js → chunk-nvjp2rnh.js} +2 -2
- package/bin/{chunk-29nhtrfv.js → chunk-p4c4z0f2.js} +1 -1
- package/bin/{chunk-ex4qa7gv.js → chunk-ptw49k86.js} +1 -1
- package/bin/{chunk-tqxmj05h.js → chunk-qcqw7wnv.js} +2 -2
- package/bin/{chunk-z0zevgb6.js → chunk-qdycy714.js} +1 -1
- package/bin/{chunk-gewh7p42.js → chunk-qh9rz2ee.js} +2 -2
- package/bin/{chunk-mxee09jk.js → chunk-qmpph1gt.js} +2 -2
- package/bin/{chunk-dmjzrdan.js → chunk-qy93r7tm.js} +2 -2
- package/bin/{chunk-j1awxx51.js → chunk-r5dv0rfv.js} +2 -2
- package/bin/{chunk-gct52xks.js → chunk-rfyaphas.js} +2 -2
- package/bin/chunk-rvspnthy.js +1 -0
- package/bin/{chunk-9hsfjqgq.js → chunk-s0hgykza.js} +2 -2
- package/bin/chunk-sjjndwt4.js +2 -0
- package/bin/{chunk-8g0mhzsg.js → chunk-t3tp9trj.js} +2 -2
- package/bin/{chunk-1fq10abj.js → chunk-t9t9evan.js} +2 -2
- package/bin/{chunk-vw1rhgjs.js → chunk-tpp9qf5m.js} +2 -2
- package/bin/chunk-tvg9gvqs.js +1 -0
- package/bin/{chunk-yzra1x8f.js → chunk-tzt4c1dm.js} +2 -2
- package/bin/{chunk-js0genbf.js → chunk-v8w2nxew.js} +1 -1
- package/bin/{chunk-z2ef8zpz.js → chunk-v98e3gex.js} +1 -1
- package/bin/{chunk-89kqtj7x.js → chunk-vxpnp4xg.js} +2 -2
- package/bin/{chunk-4ajat3xv.js → chunk-x3ynjbt5.js} +14 -14
- package/bin/{chunk-800vdz5n.js → chunk-x6532q76.js} +1 -1
- package/bin/chunk-xp4dcyk3.js +1 -0
- package/bin/chunk-y8aehqr8.js +2 -0
- package/bin/{chunk-n9cjmkky.js → chunk-ytzk81tr.js} +1 -1
- package/bin/chunk-yvxt48r4.js +1 -0
- package/bin/{chunk-q7xfrtnj.js → chunk-zg60j9x2.js} +1 -1
- package/bin/{chunk-bq2aq6v8.js → chunk-zjj9qj6y.js} +2 -2
- package/bin/{chunk-gx5rjm9m.js → chunk-zqg4f56h.js} +1 -1
- package/bin/{chunk-thj4cpev.js → chunk-zwgf211t.js} +2 -2
- package/bin/shumai-app.html +1 -1
- package/bin/shumai-app.js +240 -245
- package/package.json +7 -7
- package/prisma/migrations/20260813022501_backfill_autofill_source_in_config/migration.sql +8 -0
- package/prisma/migrations/20260813022502_drop_legacy_autofill_columns/migration.sql +12 -0
- package/prisma/migrations/20260813122613_add_network_sandbox_enabled_column/migration.sql +2 -0
- package/prisma/migrations/20260813122618_migrate_legacy_sandboxes_enabled/migration.sql +2 -0
- package/prisma/schema.prisma +8 -9
- package/bin/chunk-1hn9v6hv.js +0 -2
- package/bin/chunk-2882s5sp.js +0 -1
- package/bin/chunk-3htn4m2d.js +0 -7
- package/bin/chunk-6bztpk7h.js +0 -1
- package/bin/chunk-76hs7g0x.js +0 -2
- package/bin/chunk-e5s7202g.js +0 -2
- package/bin/chunk-f5zg7b38.js +0 -1
- package/bin/chunk-gh64hag9.js +0 -2
- package/bin/chunk-h0p8yew4.js +0 -1
- package/bin/chunk-hgngnc1k.js +0 -1
- package/bin/chunk-jt4yh37q.js +0 -62
- package/bin/chunk-k0xpskyq.js +0 -1
- package/bin/chunk-nhc72y4x.js +0 -2
- package/bin/chunk-px6q3jpz.js +0 -1
- package/bin/chunk-sx3by19j.js +0 -1
- package/bin/chunk-vz75bqvx.js +0 -2
- package/bin/chunk-wa8k9fwx.js +0 -1
- package/bin/chunk-z3p3qz9d.js +0 -3
- package/bin/chunk-zv85aqwb.css +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as v9,b as j9,c as u9,d as K6,e as u4,f as I4}from"./chunk-b3jh3hf1.js";import{$ as q0,Y as Q0,Z as H0,_ as Z0,aa as v}from"./chunk-9nyhmtp9.js";import{fa as m6,ia as G9,ja as R9,ka as k9,la as W4,na as y9,oa as W6}from"./chunk-8y1v9dm9.js";import{fb as O0}from"./chunk-rfyaphas.js";import{ib as f9}from"./chunk-5gtew41y.js";import{jb as w0}from"./chunk-3kqdgddm.js";import{kb as i0,lb as r0,mb as s0,nb as e0,ob as N4,pb as J4,qb as X4,rb as z4}from"./chunk-karn564z.js";import{Kf as r,Lf as K0,Mf as P0,Nf as G0,Of as e}from"./chunk-6v39c8eg.js";import{Uf as z1}from"./chunk-38g3s1f3.js";import{zg as W0}from"./chunk-9s02m95j.js";import{Dg as t}from"./chunk-87wqbn4g.js";import{Lg as a}from"./chunk-af6wbhkv.js";import{hh as H4,jh as Z4,kh as q4,lh as d0,ph as S9,uh as V4}from"./chunk-n4gghgrj.js";import{$h as S,$i as t9,Ah as Q,Aj as n9,Ak as d,Bh as i,Ci as w6,Ck as _,Dk as s9,Eh as o,Ei as z6,Ek as e9,Fj as T0,Fk as N1,Gh as p,Gj as p0,Gk as J1,Hk as X1,Ij as b9,Ik as B,Jh as z9,Ji as Z6,Jk as u,Ki as Y6,Kk as _0,Lj as x6,Mi as Q6,Mj as V0,Mk as M0,Nk as I0,Ok as $0,Pj as A9,Pk as F0,Qj as F9,Qk as n0,Rh as a9,Rj as i9,Si as I9,Ti as h9,Ui as x9,Vi as L4,Vj as $6,Wi as c6,Xj as C0,_j as D9,ak as r9,bi as I,dj as H6,ek as U6,fi as V9,fk as q6,gi as M9,gk as B6,hk as d9,ii as f6,ij as A4,ik as o9,jj as M4,jk as u6,ki as Q4,ni as m,sj as P9,ui as _9,vj as m9,wj as v4,xh as B0,yh as U0,zh as N,zi as $9}from"./chunk-m6a4rzdt.js";import{Nl as Y0}from"./chunk-dej1gq35.js";var k4=Y0(B0(),1);var p6=Y0(B0(),1);var Z1=u6("group/field flex w-full gap-3 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],horizontal:["flex-row items-center","[&>[data-slot=field-label]]:flex-auto","has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"],responsive:["flex-col @md/field-group:flex-row @md/field-group:items-center [&>*]:w-full @md/field-group:[&>*]:w-auto [&>.sr-only]:w-auto","@md/field-group:[&>[data-slot=field-label]]:flex-auto","@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"]}},defaultVariants:{orientation:"vertical"}});function N0({className:J,orientation:X="vertical",...z}){return N("div",{role:"group","data-slot":"field","data-orientation":X,className:d(Z1({orientation:X}),J),...z})}function J0({className:J,...X}){return N(a,{"data-slot":"field-label",className:d("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4","has-data-[state=checked]:border-primary has-data-[state=checked]:bg-primary/5 dark:has-data-[state=checked]:bg-primary/10",J),...X})}function R6({className:J,...X}){return N("p",{"data-slot":"field-description",className:d("text-sm leading-normal font-normal text-muted-foreground group-has-[[data-orientation=horizontal]]/field:text-balance","last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5","[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",J),...X})}function A0({className:J,children:X,errors:z,...H}){let Y=p6.useMemo(()=>{if(X)return X;if(!z?.length)return null;let Z=[...new Map(z.map((q)=>[q?.message,q])).values()];if(Z?.length==1)return Z[0]?.message;return N("ul",{className:"ml-4 flex list-disc flex-col gap-1",children:Z.map((q,w)=>q?.message&&N("li",{children:q.message},w))})},[X,z]);if(!Y)return null;return N("div",{role:"alert","data-slot":"field-error",className:d("text-sm font-normal text-destructive",J),...H,children:Y})}var F=function(J){return J[J.None=0]="None",J[J.Mutable=1]="Mutable",J[J.Watching=2]="Watching",J[J.RecursedCheck=4]="RecursedCheck",J[J.Recursed=8]="Recursed",J[J.Dirty=16]="Dirty",J[J.Pending=32]="Pending",J}({});function n6({update:J,notify:X,unwatched:z}){return{link:H,unlink:Y,propagate:Z,checkDirty:q,shallowPropagate:w};function H(P,R,G){let K=R.depsTail;if(K!==void 0&&K.dep===P)return;let U=K!==void 0?K.nextDep:R.deps;if(U!==void 0&&U.dep===P){U.version=G,R.depsTail=U;return}let W=P.subsTail;if(W!==void 0&&W.version===G&&W.sub===R)return;let T=R.depsTail=P.subsTail={version:G,dep:P,sub:R,prevDep:K,nextDep:U,prevSub:W,nextSub:void 0};if(U!==void 0)U.prevDep=T;if(K!==void 0)K.nextDep=T;else R.deps=T;if(W!==void 0)W.nextSub=T;else P.subs=T}function Y(P,R=P.sub){let{dep:G,prevDep:K,nextDep:U,nextSub:W,prevSub:T}=P;if(U!==void 0)U.prevDep=K;else R.depsTail=K;if(K!==void 0)K.nextDep=U;else R.deps=U;if(W!==void 0)W.prevSub=T;else G.subsTail=T;if(T!==void 0)T.nextSub=W;else if((G.subs=W)===void 0)z(G);return U}function Z(P){let R=P.nextSub,G;N:do{let K=P.sub,U=K.flags;if(!(U&(F.RecursedCheck|F.Recursed|F.Dirty|F.Pending)))K.flags=U|F.Pending;else if(!(U&(F.RecursedCheck|F.Recursed)))U=F.None;else if(!(U&F.RecursedCheck))K.flags=U&~F.Recursed|F.Pending;else if(!(U&(F.Dirty|F.Pending))&&k(P,K))K.flags=U|(F.Recursed|F.Pending),U&=F.Mutable;else U=F.None;if(U&F.Watching)X(K);if(U&F.Mutable){let W=K.subs;if(W!==void 0){let T=(P=W).nextSub;if(T!==void 0)G={value:R,prev:G},R=T;continue}}if((P=R)!==void 0){R=P.nextSub;continue}while(G!==void 0)if(P=G.value,G=G.prev,P!==void 0){R=P.nextSub;continue N}break}while(!0)}function q(P,R){let G,K=0,U=!1;N:do{let W=P.dep,T=W.flags;if(R.flags&F.Dirty)U=!0;else if((T&(F.Mutable|F.Dirty))===(F.Mutable|F.Dirty)){if(J(W)){let h=W.subs;if(h.nextSub!==void 0)w(h);U=!0}}else if((T&(F.Mutable|F.Pending))===(F.Mutable|F.Pending)){if(P.nextSub!==void 0||P.prevSub!==void 0)G={value:P,prev:G};P=W.deps,R=W,++K;continue}if(!U){let h=P.nextDep;if(h!==void 0){P=h;continue}}while(K--){let h=R.subs,A=h.nextSub!==void 0;if(A)P=G.value,G=G.prev;else P=h;if(U){if(J(R)){if(A)w(h);R=P.sub;continue}U=!1}else R.flags&=~F.Pending;R=P.sub;let y=P.nextDep;if(y!==void 0){P=y;continue N}}return U}while(!0)}function w(P){do{let R=P.sub,G=R.flags;if((G&(F.Pending|F.Dirty))===F.Pending){if(R.flags=G|F.Dirty,(G&(F.Watching|F.RecursedCheck))===F.Watching)X(R)}}while((P=P.nextSub)!==void 0)}function k(P,R){let G=R.depsTail;while(G!==void 0){if(G===P)return!0;G=G.prevDep}return!1}}function _4(J,X,z){let H=typeof J==="object",Y=H?J:void 0;return{next:(H?J.next:J)?.bind(Y),error:(H?J.error:X)?.bind(Y),complete:(H?J.complete:z)?.bind(Y)}}var k6=[],d4=0,{link:d6,unlink:q1,propagate:W1,checkDirty:l6,shallowPropagate:o6}=n6({update(J){return J._update()},notify(J){k6[L6++]=J,J.flags&=~F.Watching},unwatched(J){if(J.depsTail!==void 0)J.depsTail=void 0,J.flags=F.Mutable|F.Dirty,o4(J)}}),n4=0,L6=0,f0,A6=0;function s(J){try{++A6,J()}finally{if(!--A6)T6()}}function o4(J){let X=J.depsTail,z=X!==void 0?X.nextDep:J.deps;while(z!==void 0)z=q1(z,J)}function T6(){if(A6>0)return;while(n4<L6){let J=k6[n4];k6[n4++]=void 0,J.notify()}n4=0,L6=0}function l4(J,X){let z=typeof J==="function",H=J,Y={_snapshot:z?void 0:J,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:z?F.None:F.Mutable,get(){if(f0!==void 0)d6(Y,f0,d4);return Y._snapshot},subscribe(Z){let q=_4(Z),w={current:!1},k=U1(()=>{if(Y.get(),!w.current)w.current=!0;else q.next?.(Y._snapshot)});return{unsubscribe:()=>{k.stop()}}},_update(Z){let q=f0,w=X?.compare??Object.is;if(z)f0=Y,++d4,Y.depsTail=void 0;else if(Z===void 0)return!1;if(z)Y.flags=F.Mutable|F.RecursedCheck;try{let k=Y._snapshot,P=typeof Z==="function"?Z(k):Z===void 0&&z?H(k):Z;if(k===void 0||!w(k,P))return Y._snapshot=P,!0;return!1}finally{if(f0=q,z)Y.flags&=~F.RecursedCheck;o4(Y)}}};if(z)Y.flags=F.Mutable|F.Dirty,Y.get=function(){let Z=Y.flags;if(Z&F.Dirty||Z&F.Pending&&l6(Y.deps,Y)){if(Y._update()){let q=Y.subs;if(q!==void 0)o6(q)}}else if(Z&F.Pending)Y.flags=Z&~F.Pending;if(f0!==void 0)d6(Y,f0,d4);return Y._snapshot};else Y.set=function(Z){if(Y._update(Z)){let q=Y.subs;if(q!==void 0)W1(q),o6(q),T6()}};return Y}function U1(J){let X=()=>{let H=f0;f0=z,++d4,z.depsTail=void 0,z.flags=F.Watching|F.RecursedCheck;try{return J()}finally{f0=H,z.flags&=~F.RecursedCheck,o4(z)}},z={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:F.Watching|F.RecursedCheck,notify(){let H=this.flags;if(H&F.Dirty||H&F.Pending&&l6(this.deps,this))X();else this.flags=F.Watching},stop(){this.flags=F.None,this.depsTail=void 0,o4(this)}};return X(),z}var C6=class{constructor(J,X){if(this.atom=l4(J),this.get=this.get.bind(this),this.setState=this.setState.bind(this),this.subscribe=this.subscribe.bind(this),X)this.actions=X(this)}setState(J){this.atom.set(J)}get state(){return this.atom.get()}get(){return this.state}subscribe(J){return this.atom.subscribe(_4(J))}},a6=class{constructor(J){this.atom=l4(J)}get state(){return this.atom.get()}get(){return this.state}subscribe(J){return this.atom.subscribe(_4(J))}};function v0(J,X){if(typeof J==="function")return new a6(J);if(X)return new C6(J,X);return new C6(J)}var t6=class{constructor(J,X){if(this.fn=J,this.options=X,this.lastExecutionTime=0,this.isPending=!1,this.maybeExecute=(...z)=>{let H=Date.now()-this.lastExecutionTime;if(this.options.leading&&H>=this.options.wait)this.execute(...z);else if(this.lastArgs=z,!this.timeoutId&&this.options.trailing){let Y=this.options.wait-H;this.isPending=!0,this.timeoutId=setTimeout(()=>{if(this.lastArgs!==void 0)this.execute(...this.lastArgs)},Y)}},this.execute=(...z)=>{this.fn(...z),this.options.onExecute?.(z,this),this.lastExecutionTime=Date.now(),this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.flush=()=>{if(this.isPending&&this.lastArgs)this.execute(...this.lastArgs)},this.cancel=()=>{this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.clearTimeout=()=>{if(this.timeoutId)clearTimeout(this.timeoutId),this.timeoutId=void 0},this.options.leading===void 0&&this.options.trailing===void 0)this.options.leading=!0,this.options.trailing=!0}};function h6(J,X){return new t6(J,X).maybeExecute}class a4{#B=!0;#J;#N;#U;#X;#H;#z;#Z;#w=0;#P=5;#Q=!1;#q=!1;#Y=null;#K=()=>{this.debugLog("Connected to event bus"),this.#H=!0,this.#Q=!1,this.debugLog("Emitting queued events",this.#X),this.#X.forEach((J)=>this.emitEventToBus(J)),this.#X=[],this.stopConnectLoop(),this.#N().removeEventListener("tanstack-connect-success",this.#K)};#W=()=>{if(this.#w<this.#P){this.#w++,this.dispatchCustomEvent("tanstack-connect",{});return}this.#N().removeEventListener("tanstack-connect",this.#W),this.#q=!0,this.debugLog("Max retries reached, giving up on connection"),this.stopConnectLoop()};#G=()=>{if(this.#Q)return;this.#Q=!0,this.#N().addEventListener("tanstack-connect-success",this.#K),this.#W()};constructor({pluginId:J,debug:X=!1,enabled:z=!0,reconnectEveryMs:H=300}){this.#J=J,this.#B=z,this.#N=this.getGlobalTarget,this.#U=X,this.debugLog(" Initializing event subscription for plugin",this.#J),this.#X=[],this.#H=!1,this.#q=!1,this.#z=null,this.#Z=H}startConnectLoop(){if(this.#z!==null||this.#H)return;this.debugLog(`Starting connect loop (every ${this.#Z}ms)`),this.#z=setInterval(this.#W,this.#Z)}stopConnectLoop(){if(this.#Q=!1,this.#z===null)return;clearInterval(this.#z),this.#z=null,this.#X=[],this.debugLog("Stopped connect loop")}debugLog(...J){if(this.#U)console.log(`\uD83C\uDF34 [tanstack-devtools:${this.#J}-plugin]`,...J)}getGlobalTarget(){if(typeof globalThis<"u"&&globalThis.__TANSTACK_EVENT_TARGET__)return this.debugLog("Using global event target"),globalThis.__TANSTACK_EVENT_TARGET__;if(typeof window<"u"&&typeof window.addEventListener<"u")return this.debugLog("Using window as event target"),window;let J=typeof EventTarget<"u"?new EventTarget:void 0;if(typeof J>"u"||typeof J.addEventListener>"u")return this.debugLog("No event mechanism available, running in non-web environment"),{addEventListener:()=>{},removeEventListener:()=>{},dispatchEvent:()=>!1};return this.debugLog("Using new EventTarget as fallback"),J}getPluginId(){return this.#J}dispatchCustomEventShim(J,X){try{let z=new Event(J,{detail:X});this.#N().dispatchEvent(z)}catch(z){this.debugLog("Failed to dispatch shim event")}}dispatchCustomEvent(J,X){try{this.#N().dispatchEvent(new CustomEvent(J,{detail:X}))}catch(z){this.dispatchCustomEventShim(J,X)}}emitEventToBus(J){this.debugLog("Emitting event to client bus",J),this.dispatchCustomEvent("tanstack-dispatch-event",J)}createEventPayload(J,X){return{type:`${this.#J}:${J}`,payload:X,pluginId:this.#J}}emit(J,X){if(!this.#B){this.debugLog("Event bus client is disabled, not emitting event",J,X);return}if(this.#Y)this.debugLog("Emitting event to internal event target",J,X),this.#Y.dispatchEvent(new CustomEvent(`${this.#J}:${J}`,{detail:this.createEventPayload(J,X)}));if(this.#q){this.debugLog("Previously failed to connect, not emitting to bus");return}if(!this.#H){if(this.debugLog("Bus not available, will be pushed as soon as connected"),this.#X.push(this.createEventPayload(J,X)),typeof CustomEvent<"u"&&!this.#Q)this.#G(),this.startConnectLoop();return}return this.emitEventToBus(this.createEventPayload(J,X))}on(J,X,z){let H=z?.withEventTarget??!1,Y=`${this.#J}:${J}`;if(H){if(!this.#Y)this.#Y=new EventTarget;this.#Y.addEventListener(Y,(q)=>{X(q.detail)})}if(!this.#B)return this.debugLog("Event bus client is disabled, not registering event",Y),()=>{};let Z=(q)=>{this.debugLog("Received event from bus",q.detail),X(q.detail)};return this.#N().addEventListener(Y,Z),this.debugLog("Registered event to bus",Y),()=>{if(H)this.#Y?.removeEventListener(Y,Z);this.#N().removeEventListener(Y,Z)}}onAll(J){if(!this.#B)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};let X=(z)=>{let H=z.detail;J(H)};return this.#N().addEventListener("tanstack-devtools-global",X),()=>this.#N().removeEventListener("tanstack-devtools-global",X)}onAllPluginEvents(J){if(!this.#B)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};let X=(z)=>{let H=z.detail;if(this.#J&&H.pluginId!==this.#J)return;J(H)};return this.#N().addEventListener("tanstack-devtools-global",X),()=>this.#N().removeEventListener("tanstack-devtools-global",X)}}class i6 extends a4{constructor(){super({pluginId:"form-devtools",reconnectEveryMs:1000})}}var h0=new i6;function j0(J,X){return typeof J==="function"?J(X):J}function h4(J,X){return r4(X).reduce((H,Y)=>{if(H===null)return null;if(typeof H<"u")return H[Y];return},J)}function K4(J,X,z){let H=r4(X);function Y(Z){if(!H.length)return j0(z,Z);let q=H.shift();if(typeof q==="string"||typeof q==="number"&&!Array.isArray(Z)){if(typeof Z==="object"){if(Z===null)Z={};return{...Z,[q]:Y(Z[q])}}return{[q]:Y()}}if(Array.isArray(Z)&&typeof q==="number"){let w=Z.slice(0,q);return[...w.length?w:Array(q),Y(Z[q]),...Z.slice(q+1)]}return[...Array(q),Y()]}return Y(J)}function b6(J,X){let z=r4(X);function H(Y){if(!Y)return;if(z.length===1){let q=z[0];if(Array.isArray(Y)&&typeof q==="number")return Y.filter((P,R)=>R!==q);let{[q]:w,...k}=Y;return k}let Z=z.shift();if(typeof Z==="string"||typeof Z==="number"&&!Array.isArray(Y)){if(typeof Y==="object")return{...Y,[Z]:H(Y[Z])}}if(typeof Z==="number"){if(Array.isArray(Y)){if(Z>=Y.length)return Y;let q=Y.slice(0,Z);return[...q.length?q:Array(Z),H(Y[Z]),...Y.slice(Z+1)]}}throw Error("It seems we have created an infinite loop in deleteBy. ")}return H(J)}var r6=46,D6=91,E6=93,s6=48,w1=57;function r4(J){if(Array.isArray(J))return[...J];if(typeof J!=="string")throw Error("Path must be a string.");let X=J.length,z=[],H=X>0&&J.charCodeAt(0)===D6?1:0,Y=!0,Z=-1;for(let q=H;q<=X;q++){let w=q<X?J.charCodeAt(q):-1;if(q===X||w===r6||w===D6||w===E6){let k=q-H;if(k>0){let P=Y&&(k===1||J.charCodeAt(H)!==s6),R=J.slice(H,q);if(P){let G=parseInt(R,10);if(k<=15||String(G)===R)z.push(G);else z.push(R)}else z.push(R)}else if(Z!==E6&&!(Z===-1&&w===E6)&&!(Z===w&&(w===r6||w===D6)))z.push("");H=q+1,Y=!0}else if(w<s6||w>w1)Y=!1;Z=w}if(!z.length)z.push("");return z}function y6(J){return!(Array.isArray(J)&&J.length===0)}function l0(J,X){let z=(H)=>{return H.validators.filter(Boolean).map((Y)=>{return{cause:Y.cause,validate:Y.fn}})};return X.validationLogic({form:X.form,group:X.group,validators:X.validators,event:{type:J,fieldName:X.fieldName,async:!1},runValidation:z})}function a0(J,X){let{asyncDebounceMs:z}=X,{onBlurAsyncDebounceMs:H,onChangeAsyncDebounceMs:Y,onDynamicAsyncDebounceMs:Z}=X.validators||{},q=z??0,w=(k)=>{return k.validators.filter(Boolean).map((P)=>{let R=P?.cause||J,G=q;switch(R){case"change":G=Y??q;break;case"blur":G=H??q;break;case"dynamic":G=Z??q;break;case"submit":G=0;break}if(J==="submit")G=0;return{cause:R,validate:P.fn,debounceMs:G}})};return X.validationLogic({form:X.form,group:X.group,validators:X.validators,event:{type:J,fieldName:X.fieldName,async:!0},runValidation:w})}var D4=(J)=>{return!!J&&typeof J==="object"&&"fields"in J};function b0(J,X){if(Object.is(J,X))return!0;if(typeof J!=="object"||J===null||typeof X!=="object"||X===null)return!1;if(J instanceof Date&&X instanceof Date)return J.getTime()===X.getTime();if(J instanceof Map&&X instanceof Map){if(J.size!==X.size)return!1;for(let[Y,Z]of J)if(!X.has(Y)||!Object.is(Z,X.get(Y)))return!1;return!0}if(J instanceof Set&&X instanceof Set){if(J.size!==X.size)return!1;for(let Y of J)if(!X.has(Y))return!1;return!0}let z=Object.keys(J),H=Object.keys(X);if(z.length!==H.length)return!1;if(z.length===0&&!Array.isArray(J)&&!Array.isArray(X)&&(Object.getPrototypeOf(J)!==Object.prototype||Object.getPrototypeOf(X)!==Object.prototype))return!1;for(let Y of z)if(!H.includes(Y)||!b0(J[Y],X[Y]))return!1;return!0}var E4=({newFormValidatorError:J,isPreviousErrorFromFormValidator:X,previousErrorValue:z})=>{if(J)return{newErrorValue:J,newSource:"form"};if(X)return{newErrorValue:void 0,newSource:void 0};if(z)return{newErrorValue:z,newSource:"field"};return{newErrorValue:void 0,newSource:void 0}},P4=({formLevelError:J,fieldLevelError:X})=>{if(X)return{newErrorValue:X,newSource:"field"};if(J)return{newErrorValue:J,newSource:"form"};return{newErrorValue:void 0,newSource:void 0}};function X0(J,X){if(J===void 0||J===null)return X;return{...J,...X}}var U4=256,i4=[],t4;while(U4--)i4[U4]=(U4+256).toString(16).substring(1);function $4(){let J=0,X,z="";if(!t4||U4+16>256){t4=Array(256),J=256;while(J--)t4[J]=256*Math.random()|0;J=0,U4=0}for(;J<16;J++){if(X=t4[U4+J],J===6)z+=i4[X&15|64];else if(J===8)z+=i4[X&63|128];else z+=i4[X];if(J&1&&J>1&&J<11)z+="-"}return U4++,z}var O6=h6((J)=>h0.emit("form-state",{id:J.formId,state:J.store.state}),{wait:300});function w4(J){if(J===null||typeof J!=="object")return J;if(J instanceof Date)return new Date(J.getTime());if(Array.isArray(J)){let z=[];for(let H=0;H<J.length;H++)z[H]=w4(J[H]);return z}if(J instanceof Map){let z=new Map;return J.forEach((H,Y)=>{z.set(Y,w4(H))}),z}if(J instanceof Set){let z=new Set;return J.forEach((H)=>{z.add(w4(H))}),z}let X={};for(let z in J)if(Object.prototype.hasOwnProperty.call(J,z))X[z]=w4(J[z]);return X}function S0(J,X){return X===J||X.startsWith(`${J}.`)||X.startsWith(`${J}[`)}var y0=(J)=>{if(!J.validators)return J.runValidation({validators:[],form:J.form});let X=J.event.async,z=X?void 0:{fn:J.validators.onMount,cause:"mount"},H={fn:X?J.validators.onChangeAsync:J.validators.onChange,cause:"change"},Y={fn:X?J.validators.onBlurAsync:J.validators.onBlur,cause:"blur"},Z={fn:X?J.validators.onSubmitAsync:J.validators.onSubmit,cause:"submit"},q=X?void 0:{fn:()=>{return},cause:"server"};switch(J.event.type){case"mount":return J.runValidation({validators:[z],form:J.form});case"submit":return J.runValidation({validators:[H,Y,Z,q],form:J.form});case"server":return J.runValidation({validators:[],form:J.form});case"blur":return J.runValidation({validators:[Y,q],form:J.form});case"change":return J.runValidation({validators:[H,q],form:J.form});default:throw Error(`Unknown validation event type: ${J.event.type}`)}};function K1(J,X){let z=new Map;for(let H of J){let Y=H.path??[],Z=X,q="";for(let w=0;w<Y.length;w++){let k=Y[w];if(k===void 0)continue;let P=typeof k==="object"?k.key:k,R=Number(P);if(Array.isArray(Z)&&!Number.isNaN(R))q+=`[${R}]`;else q+=(w>0?".":"")+String(P);if(typeof Z==="object"&&Z!==null)Z=Z[P];else Z=void 0}z.set(q,(z.get(q)??[]).concat(H))}return Object.fromEntries(z)}var e6=(J,X)=>{let z=K1(J,X);return{form:z,fields:z}},u0={validate({value:J,validationSource:X},z){let H=z["~standard"].validate(J);if(H instanceof Promise)throw Error("async function passed to sync validator");if(!H.issues)return;if(X==="field")return H.issues;return e6(H.issues,J)},async validateAsync({value:J,validationSource:X},z){let H=await z["~standard"].validate(J);if(!H.issues)return;if(X==="field")return H.issues;return e6(H.issues,J)}},b4=(J)=>!!J&&("~standard"in J);var R0={isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,isValid:!0,isDefaultValue:!0,errors:[],errorMap:{},errorSourceMap:{},_arrayVersion:0};function t0(J){function X(G){let K=J.getFieldMeta(G)??R0;J.setFieldMeta(G,{...K,_arrayVersion:(K._arrayVersion||0)+1})}function z(G,K,U){X(G);let W=w(G,K,"move",U),T=Math.min(K,U),h=Math.max(K,U);for(let y=T;y<=h;y++)W.push(q(G,y));let A=Object.keys(J.fieldInfo).reduce((y,D)=>{if(D.startsWith(q(G,K)))y.set(D,J.getFieldMeta(D));return y},new Map);P(W,K<U?"up":"down"),Object.keys(J.fieldInfo).filter((y)=>y.startsWith(q(G,U))).forEach((y)=>{let D=y.replace(q(G,U),q(G,K)),b=A.get(D);if(b)J.setFieldMeta(y,b)})}function H(G,K){X(G);let U=w(G,K,"remove");P(U,"up")}function Y(G,K,U){X(G),w(G,K,"swap",U).forEach((T)=>{if(!T.toString().startsWith(q(G,K)))return;let h=T.toString().replace(q(G,K),q(G,U)),[A,y]=[J.getFieldMeta(T),J.getFieldMeta(h)];if(A)J.setFieldMeta(h,A);if(y)J.setFieldMeta(T,y)})}function Z(G,K){X(G);let U=w(G,K,"insert");P(U,"down"),U.forEach((W)=>{if(W.toString().startsWith(q(G,K)))J.setFieldMeta(W,R())})}function q(G,K){return`${G}[${K}]`}function w(G,K,U,W){let T=[q(G,K)];switch(U){case"swap":T.push(q(G,W));break;case"move":{let[h,A]=[Math.min(K,W),Math.max(K,W)];for(let y=h;y<=A;y++)T.push(q(G,y));break}default:{let h=J.getFieldValue(G),A=Array.isArray(h)?h.length:0;for(let y=K+1;y<A;y++)T.push(q(G,y));break}}return Object.keys(J.fieldInfo).filter((h)=>T.some((A)=>h.startsWith(A)))}function k(G,K){return G.replace(/\[(\d+)\]/,(U,W)=>{let T=parseInt(W,10);return`[${K==="up"?T+1:Math.max(0,T-1)}]`})}function P(G,K){(K==="up"?G:[...G].reverse()).forEach((W)=>{let T=k(W.toString(),K),h=J.getFieldMeta(T);if(h)J.setFieldMeta(W,h);else J.setFieldMeta(W,R())})}let R=()=>R0;return{bumpArrayVersion:X,handleArrayMove:z,handleArrayRemove:H,handleArraySwap:Y,handleArrayInsert:Z}}function V6(J){return{values:J.values??{},errorMap:J.errorMap??{},fieldMetaBase:J.fieldMetaBase??{},formGroupStateBase:J.formGroupStateBase??{},isSubmitted:J.isSubmitted??!1,isSubmitting:J.isSubmitting??!1,isValidating:J.isValidating??!1,submissionAttempts:J.submissionAttempts??0,isSubmitSuccessful:J.isSubmitSuccessful??!1,validationMetaMap:J.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}}class c4{constructor(J){this.options={},this.fieldInfo={},this.formGroupApis=new Set,this.mount=()=>{let Y=this.store.subscribe(()=>{O6(this)}),Z=h0.on("request-form-state",(R)=>{if(R.payload.id===this._formId)h0.emit("form-api",{id:this._formId,state:this.store.state,options:this.options})}),q=h0.on("request-form-reset",(R)=>{if(R.payload.id===this._formId)this.reset()}),w=h0.on("request-form-force-submit",(R)=>{if(R.payload.id===this._formId)this._devtoolsSubmissionOverride=!0,this.handleSubmit(),this._devtoolsSubmissionOverride=!1}),k=()=>{w(),q(),Z(),Y.unsubscribe(),h0.emit("form-unmounted",{id:this._formId})};this.options.listeners?.onMount?.({formApi:this});let{onMount:P}=this.options.validators||{};if(h0.emit("form-api",{id:this._formId,state:this.store.state,options:this.options}),!P)return k;return this.validateSync("mount"),k},this.update=(Y)=>{if(!Y)return;let Z=this.options;this.options=Y;let q=Y.defaultValues&&!b0(Y.defaultValues,Z.defaultValues)&&!this.state.isTouched,w=!b0(Y.defaultState,Z.defaultState)&&!this.state.isTouched;if(!q&&!w)return;if(s(()=>{this.baseStore.setState(()=>V6(Object.assign({},this.state,w?Y.defaultState:{},q?{values:Y.defaultValues}:{})))}),q){let k=t0(this);for(let P of Object.keys(this.fieldInfo))if(Array.isArray(this.getFieldValue(P)))k.bumpArrayVersion(P)}h0.emit("form-api",{id:this._formId,state:this.store.state,options:this.options})},this.reset=(Y,Z)=>{let{fieldMeta:q}=this.state,w=this.resetFieldMeta(q);if(Y&&!Z?.keepDefaultValues)this.options={...this.options,defaultValues:Y};this.baseStore.setState(()=>{let k=Y??this.options.defaultValues??this.options.defaultState?.values;if(!Y)Object.values(this.fieldInfo).forEach((P)=>{if(P.instance&&P.instance.options.defaultValue!==void 0)k=K4(k,P.instance.name,P.instance.options.defaultValue)});return V6({...this.options.defaultState,values:k,fieldMetaBase:w})})},this.validateAllFields=async(Y)=>{let Z=[];return s(()=>{Object.values(this.fieldInfo).forEach((w)=>{if(!w.instance)return;let k=w.instance;if(Z.push(Promise.resolve().then(()=>k.validate(Y,{skipFormValidation:!0,skipGroupValidation:!0}))),!w.instance.store.state.meta.isTouched)w.instance.setMeta((P)=>({...P,isTouched:!0}))})}),(await Promise.all(Z)).flat()},this.validateArrayFieldsStartingFrom=async(Y,Z,q)=>{let w=this.getFieldValue(Y),k=Array.isArray(w)?Math.max(w.length-1,0):null,P=[`${Y}[${Z}]`];for(let U=Z+1;U<=(k??0);U++)P.push(`${Y}[${U}]`);let R=Object.keys(this.fieldInfo).filter((U)=>P.some((W)=>U.startsWith(W))),G=[];return s(()=>{R.forEach((U)=>{G.push(Promise.resolve().then(()=>this.validateField(U,q)))})}),(await Promise.all(G)).flat()},this.validateField=(Y,Z)=>{let q=this.fieldInfo[Y]?.instance;if(!q){let{hasErrored:w}=this.validateSync(Z);if(w&&!this.options.asyncAlways)return this.getFieldMeta(Y)?.errors??[];return this.validateAsync(Z).then(()=>{return this.getFieldMeta(Y)?.errors??[]})}if(!q.store.state.meta.isTouched)q.setMeta((w)=>({...w,isTouched:!0}));return q.validate(Z)},this.validateSync=(Y,Z)=>{let q=l0(Y,{...this.options,form:this,group:Z?.group,validationLogic:this.options.validationLogic||y0}),w=!1,k={};return s(()=>{for(let G of q){if(!G.validate)continue;let K=this.runValidator({validate:G.validate,value:{value:this.state.values,formApi:this,validationSource:"form"},type:"validate"}),{formError:U,fieldErrors:W}=s4(K),T=m4(G.cause),h=new Set([...Object.keys(this.state.fieldMeta),...Object.keys(W||{})]);if(Z?.filterFieldNames)h=new Set([...h].filter(Z.filterFieldNames));for(let A of h){if(this.baseStore.state.fieldMetaBase[A]===void 0&&!W?.[A])continue;let y=this.getFieldMeta(A)??R0,{errorMap:D,errorSourceMap:b}=y,V=W?.[A],{newErrorValue:C,newSource:L}=E4({newFormValidatorError:V,isPreviousErrorFromFormValidator:b?.[T]==="form",previousErrorValue:D?.[T]});if(L==="form")k[A]={...k[A],[T]:V};if(D?.[T]!==C)this.setFieldMeta(A,(E=R0)=>({...E,errorMap:{...E.errorMap,[T]:C},errorSourceMap:{...E.errorSourceMap,[T]:L}}))}if(!Z?.dontUpdateFormErrorMap){if(this.state.errorMap?.[T]!==U)this.baseStore.setState((A)=>({...A,errorMap:{...A.errorMap,[T]:U}}))}if(U||W)w=!0}if(Z?.dontUpdateFormErrorMap)return;let P=m4("submit");if(this.state.errorMap?.[P]&&Y!=="submit"&&!w)this.baseStore.setState((G)=>({...G,errorMap:{...G.errorMap,[P]:void 0}}));let R=m4("server");if(this.state.errorMap?.[R]&&Y!=="server"&&!w)this.baseStore.setState((G)=>({...G,errorMap:{...G.errorMap,[R]:void 0}}))}),{hasErrored:w,fieldsErrorMap:k}},this.validateAsync=async(Y,Z)=>{let q=a0(Y,{...this.options,form:this,group:Z?.group,validationLogic:this.options.validationLogic||y0});if(!this.state.isFormValidating)this.baseStore.setState((G)=>({...G,isFormValidating:!0}));let w=[],k;for(let G of q){if(!G.validate)continue;let K=m4(G.cause);this.state.validationMetaMap[K]?.lastAbortController.abort();let W=new AbortController;this.state.validationMetaMap[K]={lastAbortController:W},w.push(new Promise(async(T)=>{let h;try{h=await new Promise((V,C)=>{setTimeout(async()=>{if(W.signal.aborted)return V(void 0);try{V(await this.runValidator({validate:G.validate,value:{value:this.state.values,formApi:this,validationSource:"form",signal:W.signal},type:"validateAsync"}))}catch(L){C(L)}},G.debounceMs)})}catch(V){h=V}let{formError:A,fieldErrors:y}=s4(h);if(y)k=k?{...k,...y}:y;let D=m4(G.cause),b=Object.keys(this.state.fieldMeta);if(Z?.filterFieldNames)b=b.filter(Z.filterFieldNames);for(let V of b){if(this.baseStore.state.fieldMetaBase[V]===void 0)continue;let C=this.getFieldMeta(V);if(!C)continue;let{errorMap:L,errorSourceMap:E}=C,O=k?.[V],{newErrorValue:c,newSource:x}=E4({newFormValidatorError:O,isPreviousErrorFromFormValidator:E?.[D]==="form",previousErrorValue:L?.[D]});if(L?.[D]!==c)this.setFieldMeta(V,(l)=>({...l,errorMap:{...l.errorMap,[D]:c},errorSourceMap:{...l.errorSourceMap,[D]:x}}))}if(!Z?.dontUpdateFormErrorMap)this.baseStore.setState((V)=>({...V,errorMap:{...V.errorMap,[D]:A}}));T(k?{fieldErrors:k,errorMapKey:D}:void 0)}))}let P=[],R={};if(w.length){P=await Promise.all(w);for(let G of P)if(G?.fieldErrors){let{errorMapKey:K}=G;for(let[U,W]of Object.entries(G.fieldErrors)){let h={...R[U]||{},[K]:W};R[U]=h}}}return this.baseStore.setState((G)=>({...G,isFormValidating:!1})),R},this.validate=(Y,Z)=>{let{hasErrored:q,fieldsErrorMap:w}=this.validateSync(Y,Z);if(q&&!this.options.asyncAlways)return w;return this.validateAsync(Y,Z)},this._handleSubmit=async(Y)=>{this.baseStore.setState((w)=>({...w,isSubmitted:!1,submissionAttempts:w.submissionAttempts+1,isSubmitSuccessful:!1})),s(()=>{Object.values(this.fieldInfo).forEach((w)=>{if(!w.instance)return;if(!w.instance.store.state.meta.isTouched)w.instance.setMeta((k)=>({...k,isTouched:!0}))})});let Z=Y??this.options.onSubmitMeta;if(!this.state.canSubmit&&!this._devtoolsSubmissionOverride){this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:Z});return}this.baseStore.setState((w)=>({...w,isSubmitting:!0}));let q=()=>{this.baseStore.setState((w)=>({...w,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.state.isFieldsValid){q(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:Z}),h0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"validateAllFields",errors:Object.values(this.state.fieldMeta).map((w)=>w.errors).flat()});return}if(await this.validate("submit"),!this.state.isValid){q(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:Z}),h0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"validate",errors:this.state.errors});return}s(()=>{Object.values(this.fieldInfo).forEach((w)=>{w.instance?.triggerOnSubmitListener()})}),this.options.listeners?.onSubmit?.({formApi:this,meta:Z});try{await this.options.onSubmit?.({value:this.state.values,formApi:this,meta:Z}),s(()=>{this.baseStore.setState((w)=>({...w,isSubmitted:!0,isSubmitSuccessful:!0})),h0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!0}),q()})}catch(w){throw this.baseStore.setState((k)=>({...k,isSubmitSuccessful:!1})),h0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"inflight",onError:w}),q(),w}},this.getFieldValue=(Y)=>h4(this.state.values,Y),this.getFieldMeta=(Y)=>{return this.state.fieldMeta[Y]},this.getFormGroupMeta=(Y)=>{return this.formGroupMetaDerived.state[Y]},this.getFieldInfo=(Y)=>{return this.fieldInfo[Y]||={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}},this.setFieldMeta=(Y,Z)=>{this.baseStore.setState((q)=>{return{...q,fieldMetaBase:{...q.fieldMetaBase,[Y]:j0(Z,q.fieldMetaBase[Y])}}})},this.resetFieldMeta=(Y)=>{return Object.keys(Y).reduce((Z,q)=>{let w=q;return Z[w]=R0,Z},{})},this.setFieldValue=(Y,Z,q)=>{let w=q?.dontUpdateMeta??!1,k=q?.dontRunListeners??!1,P=q?.dontValidate??!1;if(s(()=>{if(!w)this.setFieldMeta(Y,(R)=>({...R,isTouched:!0,isDirty:!0,errorMap:{...R?.errorMap,onMount:void 0}}));this.baseStore.setState((R)=>{return{...R,values:K4(R.values,Y,Z)}})}),!k)this.getFieldInfo(Y).instance?.triggerOnChangeListener();if(!P)this.validateField(Y,"change")},this.deleteField=(Y)=>{let q=[...Object.keys(this.fieldInfo).filter((w)=>{let k=Y.toString();return w!==k&&w.startsWith(k)}),Y];this.baseStore.setState((w)=>{let k={...w};return q.forEach((P)=>{k.values=b6(k.values,P),delete this.fieldInfo[P],delete k.fieldMetaBase[P]}),k})},this.pushFieldValue=(Y,Z,q)=>{this.setFieldValue(Y,(w)=>[...Array.isArray(w)?w:[],Z],q),t0(this).bumpArrayVersion(Y)},this.insertFieldValue=async(Y,Z,q,w)=>{this.setFieldValue(Y,(P)=>{return[...P.slice(0,Z),q,...P.slice(Z)]},X0(w,{dontValidate:!0}));let k=w?.dontValidate??!1;if(!k)await this.validateField(Y,"change");if(t0(this).handleArrayInsert(Y,Z),!k)await this.validateArrayFieldsStartingFrom(Y,Z,"change")},this.replaceFieldValue=async(Y,Z,q,w)=>{if(this.setFieldValue(Y,(P)=>{return P.map((R,G)=>G===Z?q:R)},X0(w,{dontValidate:!0})),t0(this).bumpArrayVersion(Y),!(w?.dontValidate??!1))await this.validateField(Y,"change"),await this.validateArrayFieldsStartingFrom(Y,Z,"change")},this.removeFieldValue=async(Y,Z,q)=>{let w=this.getFieldValue(Y),k=Array.isArray(w)?Math.max(w.length-1,0):null;if(this.setFieldValue(Y,(R)=>{return R.filter((G,K)=>K!==Z)},X0(q,{dontValidate:!0})),t0(this).handleArrayRemove(Y,Z),k!==null){let R=`${Y}[${k}]`;this.deleteField(R)}if(!(q?.dontValidate??!1))await this.validateField(Y,"change"),await this.validateArrayFieldsStartingFrom(Y,Z,"change")},this.swapFieldValues=(Y,Z,q,w)=>{if(this.setFieldValue(Y,(P)=>{let R=P[Z],G=P[q];return K4(K4(P,`${Z}`,G),`${q}`,R)},X0(w,{dontValidate:!0})),t0(this).handleArraySwap(Y,Z,q),!(w?.dontValidate??!1))this.validateField(Y,"change"),this.validateField(`${Y}[${Z}]`,"change"),this.validateField(`${Y}[${q}]`,"change")},this.moveFieldValues=(Y,Z,q,w)=>{if(this.setFieldValue(Y,(P)=>{let R=[...P];return R.splice(q,0,R.splice(Z,1)[0]),R},X0(w,{dontValidate:!0})),t0(this).handleArrayMove(Y,Z,q),!(w?.dontValidate??!1))this.validateField(Y,"change"),this.validateField(`${Y}[${Z}]`,"change"),this.validateField(`${Y}[${q}]`,"change")},this.clearFieldValues=(Y,Z)=>{let q=this.getFieldValue(Y),w=Array.isArray(q)?Math.max(q.length-1,0):null;if(this.setFieldValue(Y,[],X0(Z,{dontValidate:!0})),t0(this).bumpArrayVersion(Y),w!==null)for(let P=0;P<=w;P++){let R=`${Y}[${P}]`;this.deleteField(R)}if(!(Z?.dontValidate??!1))this.validateField(Y,"change")},this.resetField=(Y)=>{this.baseStore.setState((Z)=>{let q=this.getFieldInfo(Y).instance?.options.defaultValue,w=h4(this.options.defaultValues,Y),k=q??w;return{...Z,fieldMetaBase:{...Z.fieldMetaBase,[Y]:R0},values:k!==void 0?K4(Z.values,Y,k):Z.values}})},this.setErrorMap=(Y)=>{s(()=>{Object.entries(Y).forEach(([Z,q])=>{let w=Z;if(D4(q)){let{formError:k,fieldErrors:P}=s4(q);for(let R of Object.keys(this.fieldInfo)){if(!this.getFieldMeta(R))continue;this.setFieldMeta(R,(K)=>({...K,errorMap:{...K.errorMap,[w]:P?.[R]},errorSourceMap:{...K.errorSourceMap,[w]:"form"}}))}this.baseStore.setState((R)=>({...R,errorMap:{...R.errorMap,[w]:k}}))}else this.baseStore.setState((k)=>({...k,errorMap:{...k.errorMap,[w]:q}}))})})},this.getAllErrors=()=>{return{form:{errors:this.state.errors,errorMap:this.state.errorMap},fields:Object.entries(this.state.fieldMeta).reduce((Y,[Z,q])=>{if(Object.keys(q).length&&q.errors.length)Y[Z]={errors:q.errors,errorMap:q.errorMap};return Y},{})}},this.parseValuesWithSchema=(Y)=>{return u0.validate({value:this.state.values,validationSource:"form"},Y)},this.parseValuesWithSchemaAsync=(Y)=>{return u0.validateAsync({value:this.state.values,validationSource:"form"},Y)},this.timeoutIds={validations:{},listeners:{},formListeners:{}},this._formId=J?.formId??$4(),this._devtoolsSubmissionOverride=!1;let X=V6({...J?.defaultState,values:J?.defaultValues??J?.defaultState?.values});if(J?.transform){X=J.transform({state:X}).state;for(let Y of Object.keys(X.errorMap)){let Z=X.errorMap[Y];if(Z===void 0||!D4(Z))continue;for(let q of Object.keys(Z.fields)){let w=Z.fields[q];if(w===void 0)continue;let k=X.fieldMetaBase[q];X.fieldMetaBase[q]={isTouched:!1,isValidating:!1,isBlurred:!1,isDirty:!1,_arrayVersion:0,...k??{},errorSourceMap:{...k?.errorSourceMap??{},onChange:"form"},errorMap:{...k?.errorMap??{},[Y]:w}}}}}this.baseStore=v0(X);let z=void 0;this.fieldMetaDerived=v0((Y)=>{let Z=this.baseStore.get(),q=0,w={};for(let k of Object.keys(Z.fieldMetaBase)){let P=Z.fieldMetaBase[k],R=z?.fieldMetaBase[k],G=Y?.[k],K=h4(Z.values,k),U=G?.errors;if(!R||P.errorMap!==R.errorMap){U=Object.values(P.errorMap??{}).filter((y)=>y!==void 0);let A=this.getFieldInfo(k)?.instance;if(!A||!A.options.disableErrorFlat)U=U.flat(1)}let W=!y6(U),T=!P.isDirty,h=b0(K,this.getFieldInfo(k)?.instance?.options.defaultValue??h4(this.options.defaultValues,k));if(G&&G.isPristine===T&&G.isValid===W&&G.isDefaultValue===h&&G.errors===U&&P===R){w[k]=G,q++;continue}w[k]={...P,errors:U??[],isPristine:T,isValid:W,isDefaultValue:h}}if(!Object.keys(Z.fieldMetaBase).length)return w;if(Y&&q===Object.keys(Z.fieldMetaBase).length)return Y;return z=this.baseStore.get(),w}),this.formGroupMetaDerived=v0((Y)=>{let Z=this.baseStore.get(),q=this.fieldMetaDerived.get(),w={};for(let k of this.formGroupApis){let P=k.name,R=Z.formGroupStateBase[P]??{isSubmitted:!1,isSubmitting:!1,isValidating:!1,submissionAttempts:0,isSubmitSuccessful:!1},G=q[P],K=!1,U=!0,W=!1,T=!1,h=!0,A=!1;for(let g in q){if(g===P)continue;if(!S0(P,g))continue;let $=q[g];if(!$)continue;if($.isValidating)K=!0;if(!$.isValid)U=!1;if($.isTouched)W=!0;if($.isBlurred)T=!0;if(!$.isDefaultValue)h=!1;if($.isDirty)A=!0}let y=!A,D=!!K||R.isValidating,b=G?.errorMap??{},V=G?.errorSourceMap??{},C=Boolean(b.onMount||Object.entries(q).some(([g,$])=>$&&g!==P&&S0(P,g)&&$.errorMap.onMount)),L=Y?.[P],E=L?.errors??[];if(!L||L.__srcErrorMap!==b)E=Object.values(b).reduce((g,$)=>{if($===void 0)return g;if($&&typeof $==="object"&&"fields"in $){let E0=$.group;if(E0!==void 0)g.push(E0);return g}return g.push($),g},[]);let O=E.length===0,c=U&&O,x=k.options.canSubmitWhenInvalid??!1,l=R.submissionAttempts===0&&!W&&!C||!D&&!R.isSubmitting&&c||x;if(L&&L.errorMap===b&&L.errorSourceMap===V&&L.errors===E&&L.isFieldsValidating===K&&L.isFieldsValid===U&&L.isGroupValid===O&&L.isValid===c&&L.canSubmit===l&&L.isTouched===W&&L.isBlurred===T&&L.isPristine===y&&L.isDefaultValue===h&&L.isDirty===A&&L.isValidating===D&&L.isSubmitting===R.isSubmitting&&L.isSubmitted===R.isSubmitted&&L.submissionAttempts===R.submissionAttempts&&L.isSubmitSuccessful===R.isSubmitSuccessful){w[P]=L;continue}let j={...R,errorMap:b,errorSourceMap:V,_arrayVersion:G?._arrayVersion??0,isTouched:W,isBlurred:T,isDirty:A,isPristine:y,isDefaultValue:h,isValid:c,errors:E,isValidating:D,isFieldsValidating:K,isFieldsValid:U,isGroupValid:O,canSubmit:l};Object.defineProperty(j,"__srcErrorMap",{value:b,enumerable:!1,configurable:!0}),w[P]=j}return w});let H=void 0;this.store=v0((Y)=>{let Z=this.baseStore.get(),q=this.fieldMetaDerived.get(),w=Object.values(q).filter(Boolean),k=w.some((O)=>O.isValidating),P=w.every((O)=>O.isValid),R=w.some((O)=>O.isTouched),G=w.some((O)=>O.isBlurred),K=w.every((O)=>O.isDefaultValue),U=R&&Z.errorMap?.onMount,W=w.some((O)=>O.isDirty),T=!W,h=Boolean(Z.errorMap?.onMount||w.some((O)=>O?.errorMap?.onMount)),A=!!k,y=Y?.errors??[];if(!H||Z.errorMap!==H.errorMap)y=Object.values(Z.errorMap).reduce((O,c)=>{if(c===void 0)return O;if(c&&D4(c))return O.push(c.form),O;return O.push(c),O},[]);let D=y.length===0,b=P&&D,V=this.options.canSubmitWhenInvalid??!1,C=Z.submissionAttempts===0&&!R&&!h||!A&&!Z.isSubmitting&&b||V,L=Z.errorMap;if(U)y=y.filter((O)=>O!==Z.errorMap.onMount),L=Object.assign(L,{onMount:void 0});if(Y&&H&&Y.errorMap===L&&Y.fieldMeta===this.fieldMetaDerived.state&&Y.errors===y&&Y.isFieldsValidating===k&&Y.isFieldsValid===P&&Y.isFormValid===D&&Y.isValid===b&&Y.canSubmit===C&&Y.isTouched===R&&Y.isBlurred===G&&Y.isPristine===T&&Y.isDefaultValue===K&&Y.isDirty===W&&b0(H,Z))return Y;let E={...Z,errorMap:L,fieldMeta:this.fieldMetaDerived.state,errors:y,isFieldsValidating:k,isFieldsValid:P,isFormValid:D,isValid:b,canSubmit:C,isTouched:R,isBlurred:G,isPristine:T,isDefaultValue:K,isDirty:W};return H=this.baseStore.get(),E}),this.handleSubmit=this.handleSubmit.bind(this),this.update(J||{})}get state(){return this.store.state}get formId(){return this._formId}runValidator(J){if(b4(J.validate))return u0[J.type](J.value,J.validate);return J.validate(J.value)}handleSubmit(J){return this._handleSubmit(J)}}function s4(J){if(J){if(D4(J)){let X=s4(J.form).formError,z=J.fields;return{formError:X,fieldErrors:z}}return{formError:J}}return{formError:void 0}}function m4(J){switch(J){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"dynamic":return"onDynamic";case"change":default:return"onChange"}}class B4{constructor(J){this.options={},this.mount=()=>{if(this.options.defaultValue!==void 0&&!this.getMeta().isTouched)this.form.setFieldValue(this.name,this.options.defaultValue,{dontUpdateMeta:!0});let X=this.getInfo();X.instance=this,this.update(this.options);let{onMount:z}=this.options.validators||{};if(z){let H=this.runValidator({validate:z,value:{value:this.state.value,fieldApi:this,validationSource:"field"},type:"validate"});if(H)this.setMeta((Y)=>({...Y,errorMap:{...Y?.errorMap,onMount:H},errorSourceMap:{...Y?.errorSourceMap,onMount:"field"}}))}return this.options.listeners?.onMount?.({value:this.state.value,fieldApi:this}),()=>{for(let[Y,Z]of Object.entries(this.timeoutIds.validations))if(Z)clearTimeout(Z),this.timeoutIds.validations[Y]=null;for(let[Y,Z]of Object.entries(this.timeoutIds.listeners))if(Z)clearTimeout(Z),this.timeoutIds.listeners[Y]=null;for(let[Y,Z]of Object.entries(this.timeoutIds.formListeners))if(Z)clearTimeout(Z),this.timeoutIds.formListeners[Y]=null;let H=this.form.fieldInfo[this.name];if(!H)return;if(H.instance!==this)return;for(let[Y,Z]of Object.entries(H.validationMetaMap))Z?.lastAbortController.abort(),H.validationMetaMap[Y]=void 0;this.form.baseStore.setState((Y)=>({...Y,fieldMetaBase:{...Y.fieldMetaBase,[this.name]:{...R0,isTouched:Y.fieldMetaBase[this.name]?.isTouched??R0.isTouched,isBlurred:Y.fieldMetaBase[this.name]?.isBlurred??R0.isBlurred,isDirty:Y.fieldMetaBase[this.name]?.isDirty??R0.isDirty}}})),H.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,fieldApi:this}),this.form.options.listeners?.onFieldUnmount?.({formApi:this.form,fieldApi:this})}},this.update=(X)=>{if(this.options=X,this.name=X.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0){let z=this.form.getFieldValue(this.name);if(!b0(z,X.defaultValue))this.form.setFieldValue(this.name,X.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})}if(!this.form.getFieldMeta(this.name))this.form.setFieldMeta(this.name,this.state.meta)},this.getValue=()=>{return this.form.getFieldValue(this.name)},this.setValue=(X,z)=>{if(this.form.setFieldValue(this.name,X,X0(z,{dontRunListeners:!0,dontValidate:!0})),!z?.dontRunListeners)this.triggerOnChangeListener();if(!z?.dontValidate)this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=(X)=>this.form.setFieldMeta(this.name,X),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(X,z)=>{if(this.form.pushFieldValue(this.name,X,X0(z,{dontRunListeners:!0})),!z?.dontRunListeners)this.triggerOnChangeListener()},this.insertValue=(X,z,H)=>{if(this.form.insertFieldValue(this.name,X,z,X0(H,{dontRunListeners:!0})),!H?.dontRunListeners)this.triggerOnChangeListener()},this.replaceValue=(X,z,H)=>{if(this.form.replaceFieldValue(this.name,X,z,X0(H,{dontRunListeners:!0})),!H?.dontRunListeners)this.triggerOnChangeListener()},this.removeValue=(X,z)=>{if(this.form.removeFieldValue(this.name,X,X0(z,{dontRunListeners:!0})),!z?.dontRunListeners)this.triggerOnChangeListener()},this.swapValues=(X,z,H)=>{if(this.form.swapFieldValues(this.name,X,z,X0(H,{dontRunListeners:!0})),!H?.dontRunListeners)this.triggerOnChangeListener()},this.moveValue=(X,z,H)=>{if(this.form.moveFieldValues(this.name,X,z,X0(H,{dontRunListeners:!0})),!H?.dontRunListeners)this.triggerOnChangeListener()},this.clearValues=(X)=>{if(this.form.clearFieldValues(this.name,X0(X,{dontRunListeners:!0})),!X?.dontRunListeners)this.triggerOnChangeListener()},this.getLinkedFields=(X)=>{let z=Object.values(this.form.fieldInfo),H=[];for(let Y of z){if(!Y.instance)continue;if(!(Y.instance instanceof B4))continue;let{onChangeListenTo:Z,onBlurListenTo:q}=Y.instance.options.validators||{};if(X==="change"&&Z?.includes(this.name))H.push(Y.instance);if(X==="blur"&&q?.includes(this.name))H.push(Y.instance)}return H},this.validateSync=(X,z)=>{let H=l0(X,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||y0}),Z=this.getLinkedFields(X).reduce((k,P)=>{let R=l0(X,{...P.options,form:P.form,fieldName:P.name,validationLogic:P.form.options.validationLogic||y0});return R.forEach((G)=>{G.field=P}),k.concat(R)},[]),q=!1;s(()=>{let k=(P,R)=>{let G=x4(R.cause),K=R.validate?N9(P.runValidator({validate:R.validate,value:{value:P.store.state.value,validationSource:"field",fieldApi:P},type:"validate"})):void 0,U=z[G],{newErrorValue:W,newSource:T}=P4({formLevelError:U,fieldLevelError:K});if(P.state.meta.errorMap?.[G]!==W)P.setMeta((h)=>({...h,errorMap:{...h.errorMap,[G]:W},errorSourceMap:{...h.errorSourceMap,[G]:T}}));if(W)q=!0};for(let P of H)k(this,P);for(let P of Z){if(!P.validate)continue;k(P.field,P)}});let w=x4("submit");if(this.state.meta.errorMap?.[w]&&X!=="submit"&&!q)this.setMeta((k)=>({...k,errorMap:{...k.errorMap,[w]:void 0},errorSourceMap:{...k.errorSourceMap,[w]:void 0}}));return{hasErrored:q}},this.validateAsync=async(X,z)=>{let H=a0(X,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||y0}),Y=await z,Z=this.getLinkedFields(X),q=Z.reduce((K,U)=>{let W=a0(X,{...U.options,form:U.form,fieldName:U.name,validationLogic:U.form.options.validationLogic||y0});return W.forEach((T)=>{T.field=U}),K.concat(W)},[]),w=[],k=[],P=H.some((K)=>K.validate)||q.some((K)=>K.validate);if(P){if(!this.state.meta.isValidating)this.setMeta((K)=>({...K,isValidating:!0}));for(let K of Z)K.setMeta((U)=>({...U,isValidating:!0}))}let R=(K,U,W)=>{let T=x4(U.cause),h=K.getInfo();h.validationMetaMap[T]?.lastAbortController.abort();let y=new AbortController;h.validationMetaMap[T]={lastAbortController:y},W.push(new Promise(async(D)=>{let b;try{b=await new Promise((O,c)=>{if(K.timeoutIds.validations[U.cause])clearTimeout(K.timeoutIds.validations[U.cause]);K.timeoutIds.validations[U.cause]=setTimeout(async()=>{if(y.signal.aborted)return O(void 0);try{O(await this.runValidator({validate:U.validate,value:{value:K.store.state.value,fieldApi:K,signal:y.signal,validationSource:"field"},type:"validateAsync"}))}catch(x){c(x)}},U.debounceMs)})}catch(O){b=O}if(y.signal.aborted)return D(void 0);let V=N9(b),C=Y[K.name]?.[T],{newErrorValue:L,newSource:E}=P4({formLevelError:C,fieldLevelError:V});if(K.getInfo().instance!==K)return D(void 0);K.setMeta((O)=>{return{...O,errorMap:{...O?.errorMap,[T]:L},errorSourceMap:{...O.errorSourceMap,[T]:E}}}),D(L)}))};for(let K of H){if(!K.validate)continue;R(this,K,w)}for(let K of q){if(!K.validate)continue;R(K.field,K,k)}let G=[];if(w.length||k.length)G=await Promise.all(w),await Promise.all(k);if(P){this.setMeta((K)=>({...K,isValidating:!1}));for(let K of Z)K.setMeta((U)=>({...U,isValidating:!1}))}return G.filter(Boolean)},this.validate=(X,z)=>{if(!this.state.meta.isTouched)return[];let H=z?.skipGroupValidation?[]:Array.from(this.form.formGroupApis).filter((G)=>this.name.startsWith(G.name)),Z=((z?.skipFormValidation)?{fieldsErrorMap:{}}:this.form.validateSync(X)).fieldsErrorMap[this.name]??{};if(!z?.skipFormValidation)for(let G of H){if(G.state.meta.submissionAttempts===0)continue;let{fieldsErrorMap:K}=this.form.validateSync(X,{group:G,dontUpdateFormErrorMap:!0,filterFieldNames:(U)=>S0(G.name,U)});Z={...Z,...K[this.name]??{}}}let{hasErrored:q}=this.validateSync(X,Z),w=new WeakMap;for(let G of H){let{hasErrored:K}=G.validateSync(X,{},{skipRelatedFieldValidation:!0});w.set(G,K)}if(q&&!this.options.asyncAlways){this.getInfo().validationMetaMap[x4(X)]?.lastAbortController.abort();let G=[];for(let K of H)K.getInfo().validationMetaMap[x4(X)]?.lastAbortController.abort(),G.push(K.state.meta.errors);return[...this.state.meta.errors,...G.flat()]}let k=z?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(X),P=this.validateAsync(X,k),R=[];for(let G of H){if(w.get(G)&&!G.options.asyncAlways)continue;R.push(G.validateAsync(X,k,{skipRelatedFieldValidation:!0}))}if(R.length===0)return P;return Promise.all([P,...R]).then((G)=>G.flat())},this.handleChange=(X)=>{this.setValue(X)},this.handleBlur=()=>{if(!this.state.meta.isTouched)this.setMeta((z)=>({...z,isTouched:!0}));if(!this.state.meta.isBlurred)this.setMeta((z)=>({...z,isBlurred:!0}));this.validate("blur"),this.triggerOnBlurListener()},this.setErrorMap=(X)=>{this.setMeta((z)=>({...z,errorMap:{...z.errorMap,...X}}))},this.parseValueWithSchema=(X)=>{return u0.validate({value:this.state.value,validationSource:"field"},X)},this.parseValueWithSchemaAsync=(X)=>{return u0.validateAsync({value:this.state.value,validationSource:"field"},X)},this.triggerOnBlurListener=()=>{let X=this.form.options.listeners?.onBlurDebounceMs;if(X&&X>0){if(this.timeoutIds.formListeners.blur)clearTimeout(this.timeoutIds.formListeners.blur);this.timeoutIds.formListeners.blur=setTimeout(()=>{this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this})},X)}else this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this});let z=this.options.listeners?.onBlurDebounceMs;if(z&&z>0){if(this.timeoutIds.listeners.blur)clearTimeout(this.timeoutIds.listeners.blur);this.timeoutIds.listeners.blur=setTimeout(()=>{this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},z)}else this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},this.triggerOnChangeListener=()=>{let X=this.form.options.listeners?.onChangeDebounceMs;if(X&&X>0){if(this.timeoutIds.formListeners.change)clearTimeout(this.timeoutIds.formListeners.change);this.timeoutIds.formListeners.change=setTimeout(()=>{this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this})},X)}else this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this});let z=this.options.listeners?.onChangeDebounceMs;if(z&&z>0){if(this.timeoutIds.listeners.change)clearTimeout(this.timeoutIds.listeners.change);this.timeoutIds.listeners.change=setTimeout(()=>{this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this})},z)}else this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this});for(let H of this.form.formGroupApis)if(S0(H.name,this.name))H.triggerOnChangeListener()},this.triggerOnSubmitListener=()=>{this.options.listeners?.onSubmit?.({value:this.state.value,fieldApi:this})},this.form=J.form,this.name=J.name,this.options=J,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.store=v0((X)=>{this.form.store.get();let z=this.form.getFieldMeta(this.name)??{...R0,...J.defaultMeta},H=this.form.getFieldValue(this.name);if(!z.isTouched&&H===void 0&&this.options.defaultValue!==void 0&&!b0(H,this.options.defaultValue))H=this.options.defaultValue;if(X&&X.value===H&&X.meta===z)return X;return{value:H,meta:z}})}get state(){return this.store.state}runValidator(J){if(b4(J.validate))return u0[J.type](J.value,J.validate);return J.validate(J.value)}}function N9(J){if(J)return J;return}function x4(J){switch(J){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"dynamic":return"onDynamic";case"change":default:return"onChange"}}function M6(J){return{isSubmitted:J.isSubmitted??!1,isSubmitting:J.isSubmitting??!1,isValidating:J.isValidating??!1,submissionAttempts:J.submissionAttempts??0,isSubmitSuccessful:J.isSubmitSuccessful??!1}}function X9(J){return{...R0,...J,errors:[],isPristine:!0,isValid:!0,isDefaultValue:!0,isFieldsValidating:!1,isFieldsValid:!0,isGroupValid:!0,canSubmit:!0,isSubmitting:!1,isSubmitted:!1,isValidating:!1,submissionAttempts:0,isSubmitSuccessful:!1}}class G4{constructor(J){this.options={},this.setFormGroupState=(X)=>{this.form.baseStore.setState((z)=>{let H=z.formGroupStateBase[this.name]??M6({});return{...z,formGroupStateBase:{...z.formGroupStateBase,[this.name]:X(H)}}})},this._lastDistributedFieldNames={},this.update=(X)=>{if(this.options=X,this.name=X.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0){let z=this.form.getFieldValue(this.name);if(!b0(z,X.defaultValue))this.form.setFieldValue(this.name,X.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})}if(!this.form.getFieldMeta(this.name))this.form.setFieldMeta(this.name,{...R0,...this.options.defaultMeta})},this.mount=()=>{this.update(this.options),this.form.formGroupApis.add(this),this.fieldInfo.instance=this,this.form.baseStore.setState((z)=>({...z,formGroupStateBase:{...z.formGroupStateBase,[this.name]:z.formGroupStateBase[this.name]??M6({...this.options.defaultState})}}));let{onMount:X}=this.options.validators||{};if(X){let z=this.runValidator({validate:X,value:{value:this.state.value,groupApi:this,validationSource:"form"},type:"validate"}),H=z,Y=void 0;if(F6(z))H=z.group,Y=z.fields;let Z=I6(H);if(Z)this.setMeta((q)=>({...q,errorMap:{...q.errorMap,onMount:Z},errorSourceMap:{...q.errorSourceMap,onMount:"field"}}));this.distributeFieldErrors("onMount",Y)}return this.options.listeners?.onMount?.({value:this.state.value,groupApi:this}),()=>{for(let[z,H]of Object.entries(this.timeoutIds.validations))if(H)clearTimeout(H),this.timeoutIds.validations[z]=null;for(let[z,H]of Object.entries(this.timeoutIds.listeners))if(H)clearTimeout(H),this.timeoutIds.listeners[z]=null;for(let[z,H]of Object.entries(this.timeoutIds.formListeners))if(H)clearTimeout(H),this.timeoutIds.formListeners[z]=null;if(this.fieldInfo.instance!==this)return;for(let[z,H]of Object.entries(this.fieldInfo.validationMetaMap))H?.lastAbortController.abort(),this.fieldInfo.validationMetaMap[z]=void 0;this.form.formGroupApis.delete(this),this.form.baseStore.setState((z)=>({...z,formGroupStateBase:{...z.formGroupStateBase,[this.name]:M6({})}})),this.fieldInfo.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,groupApi:this})}},this.setValue=(X,z)=>{if(this.form.setFieldValue(this.name,X,X0(z,{dontRunListeners:!0,dontValidate:!0})),!z?.dontRunListeners)this.triggerOnChangeListener();if(!z?.dontValidate)this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=(X)=>this.form.setFieldMeta(this.name,X),this.getInfo=()=>this.fieldInfo,this.getRelatedFields=()=>{let X=Object.values(this.form.fieldInfo),z=[];for(let H of X){if(!H.instance)continue;if(!(H.instance instanceof B4))continue;if(H.instance.name.startsWith(this.name))z.push(H.instance)}return z},this.getRelatedFieldMetasDerived=()=>{let X=Object.entries(this.form.fieldMetaDerived.state),z=[];for(let[H,Y]of X){if(H===this.name)continue;if(S0(this.name,H))z.push({...Y,name:H})}return z},this.buildChildFieldName=(X)=>{if(X==="")return this.name;if(X.startsWith("["))return`${this.name}${X}`;return`${this.name}.${X}`},this.distributeFieldErrors=(X,z)=>{let H=this._lastDistributedFieldNames[X]??new Set,Y=new Set;if(z)for(let[w,k]of Object.entries(z)){if(k===void 0||k===null||k===!1)continue;Y.add(this.buildChildFieldName(w))}let Z=new Set([...H,...Y]),q=!1;for(let w of Z){let k=w.startsWith(this.name+"[")?w.slice(this.name.length):w.slice(this.name.length+1),P=z?.[k],R=this.form.getFieldMeta(w);if(!R&&!P)continue;let G=R?.errorMap[X],K=R?.errorSourceMap[X]==="form",{newErrorValue:U,newSource:W}=E4({newFormValidatorError:P,isPreviousErrorFromFormValidator:K,previousErrorValue:G});if(U)q=!0;if(G===U&&R?.errorSourceMap[X]===W)continue;this.form.setFieldMeta(w,(T)=>({...T,errorMap:{...T.errorMap,[X]:U},errorSourceMap:{...T.errorSourceMap,[X]:W}}))}return this._lastDistributedFieldNames[X]=Y,q},this.validateSync=(X,z,H={})=>{let Y=l0(X,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||y0}),q=(H.skipRelatedFieldValidation?[]:this.getRelatedFields()).reduce((P,R)=>{let G=l0(X,{...R.options,form:R.form,validationLogic:R.form.options.validationLogic||y0});return G.forEach((K)=>{K.field=R}),P.concat(G)},[]),w=!1;s(()=>{let P=(R,G)=>{let K=e4(G.cause),U=R===this,W=void 0;if(G.validate)W=R.runValidator({validate:G.validate,value:{value:R.store.state.value,validationSource:U?"form":"field",...R instanceof G4?{groupApi:R}:{fieldApi:R}},type:"validate"});let T=W,h=void 0;if(U&&F6(W))T=W.group,h=W.fields;let A=I6(T),y=z[K],{newErrorValue:D,newSource:b}=P4({formLevelError:y,fieldLevelError:A});if(R.state.meta.errorMap?.[K]!==D)R.setMeta((V)=>({...V,errorMap:{...V.errorMap,[K]:D},errorSourceMap:{...V.errorSourceMap,[K]:b}}));if(D)w=!0;if(U){if(this.distributeFieldErrors(K,h))w=!0}};for(let R of Y)P(this,R);for(let R of q){if(!R.validate)continue;P(R.field,R)}});let k=e4("submit");if(this.state.meta.errorMap?.[k]&&X!=="submit"&&!w)this.setMeta((P)=>({...P,errorMap:{...P.errorMap,[k]:void 0},errorSourceMap:{...P.errorSourceMap,[k]:void 0}}));return{hasErrored:w}},this.validateAsync=async(X,z,H={})=>{let Y=a0(X,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||y0}),Z=await z,q=H.skipRelatedFieldValidation?[]:this.getRelatedFields(),w=q.reduce((U,W)=>{let T=a0(X,{...W.options,form:W.form,validationLogic:W.form.options.validationLogic||y0});return T.forEach((h)=>{h.field=W}),U.concat(T)},[]),k=[],P=[],R=Y.some((U)=>U.validate)||w.some((U)=>U.validate);if(R){if(!this.state.meta.isValidating)this.setMeta((U)=>({...U,isValidating:!0}));for(let U of q)U.setMeta((W)=>({...W,isValidating:!0}))}let G=(U,W,T)=>{let h=e4(W.cause),A=U.getInfo();A.validationMetaMap[h]?.lastAbortController.abort();let D=new AbortController;A.validationMetaMap[h]={lastAbortController:D};let b=U===this;T.push(new Promise(async(V)=>{let C;try{C=await new Promise((j,g)=>{if(U.timeoutIds.validations[W.cause])clearTimeout(U.timeoutIds.validations[W.cause]);U.timeoutIds.validations[W.cause]=setTimeout(async()=>{if(D.signal.aborted)return j(void 0);try{j(await this.runValidator({validate:W.validate,value:{value:U.store.state.value,signal:D.signal,validationSource:b?"form":"field",...U instanceof G4?{groupApi:U}:{fieldApi:U}},type:"validateAsync"}))}catch($){g($)}},W.debounceMs)})}catch(j){C=j}if(D.signal.aborted)return V(void 0);let L=C,E=void 0;if(b&&F6(C))L=C.group,E=C.fields;let O=I6(L),c=Z[U.name]?.[h],{newErrorValue:x,newSource:l}=P4({formLevelError:c,fieldLevelError:O});if(U.getInfo().instance!==U)return V(void 0);if(U.setMeta((j)=>{return{...j,errorMap:{...j?.errorMap,[h]:x},errorSourceMap:{...j.errorSourceMap,[h]:l}}}),b)this.distributeFieldErrors(h,E);V(x)}))};for(let U of Y){if(!U.validate)continue;G(this,U,k)}for(let U of w){if(!U.validate)continue;G(U.field,U,P)}let K=[];if(k.length||P.length)K=await Promise.all(k),await Promise.all(P);if(R){this.setMeta((U)=>({...U,isValidating:!1}));for(let U of q)U.setMeta((W)=>({...W,isValidating:!1}))}return K.filter(Boolean)},this.validateAllFields=async(X)=>{let z=[];return s(()=>{Object.values(this.getRelatedFields()).forEach((Y)=>{if(z.push(Promise.resolve().then(()=>Y.validate(X,{skipFormValidation:!0,skipGroupValidation:!0}))),!Y.store.state.meta.isTouched)Y.setMeta((Z)=>({...Z,isTouched:!0}))})}),(await Promise.all(z)).flat()},this.validateArrayFieldsStartingFrom=(X,z,H)=>{return this.form.validateArrayFieldsStartingFrom(X,z,H)},this.validateField=(X,z)=>{return this.form.validateField(X,z)},this.getFieldValue=(X)=>{return this.form.getFieldValue(X)},this.getFieldMeta=(X)=>{return this.form.getFieldMeta(X)},this.setFieldMeta=(X,z)=>{return this.form.setFieldMeta(X,z)},this.setFieldValue=(X,z)=>{return this.form.setFieldValue(X,z)},this.deleteField=(X)=>{return this.form.deleteField(X)},this.pushFieldValue=(X,z)=>{return this.form.pushFieldValue(X,z)},this.insertFieldValue=(X,z,H)=>{return this.form.insertFieldValue(X,z,H)},this.replaceFieldValue=(X,z,H)=>{return this.form.replaceFieldValue(X,z,H)},this.swapFieldValues=(X,z,H)=>{return this.form.swapFieldValues(X,z,H)},this.moveFieldValues=(X,z,H)=>{return this.form.moveFieldValues(X,z,H)},this.clearFieldValues=(X)=>{return this.form.clearFieldValues(X)},this.resetField=(X)=>{return this.form.resetField(X)},this.removeFieldValue=(X,z)=>{return this.form.removeFieldValue(X,z)},this.areRelatedFieldsValid=()=>{return Object.values(this.getRelatedFields()).every((X)=>X.state.meta.isValid)},this.validate=(X,z)=>{let{fieldsErrorMap:H}=z?.skipFormValidation?{fieldsErrorMap:{}}:this.form.validateSync(X,{dontUpdateFormErrorMap:!0,filterFieldNames:(q)=>S0(this.name,q)}),{hasErrored:Y}=this.validateSync(X,H[this.name]??{},{skipRelatedFieldValidation:z?.skipRelatedFieldValidation});if(Y&&!this.options.asyncAlways)return this.getInfo().validationMetaMap[e4(X)]?.lastAbortController.abort(),this.state.meta.errors;let Z=z?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(X,{dontUpdateFormErrorMap:!0,filterFieldNames:(q)=>S0(this.name,q)});return this.validateAsync(X,Z,{skipRelatedFieldValidation:z?.skipRelatedFieldValidation})},this.triggerOnChangeListener=()=>{let X=this.form.options.listeners?.onChangeGroupDebounceMs;if(X&&X>0){if(this.timeoutIds.formListeners.change)clearTimeout(this.timeoutIds.formListeners.change);this.timeoutIds.formListeners.change=setTimeout(()=>{this.form.options.listeners?.onChangeGroup?.({formApi:this.form,groupApi:this})},X)}else this.form.options.listeners?.onChangeGroup?.({formApi:this.form,groupApi:this});let z=this.options.listeners?.onChangeDebounceMs;if(z&&z>0){if(this.timeoutIds.listeners.change)clearTimeout(this.timeoutIds.listeners.change);this.timeoutIds.listeners.change=setTimeout(()=>{this.options.listeners?.onChange?.({value:this.state.value,groupApi:this})},z)}else this.options.listeners?.onChange?.({value:this.state.value,groupApi:this})},this.triggerOnSubmitListener=()=>{this.options.listeners?.onSubmit?.({value:this.state.value,groupApi:this})},this._handleSubmit=async(X)=>{this.setFormGroupState((Y)=>({...Y,isSubmitted:!1,submissionAttempts:Y.submissionAttempts+1,isSubmitSuccessful:!1})),s(()=>{Object.values(this.getRelatedFields()).forEach((Y)=>{if(!Y.state.meta.isTouched)Y.setMeta((Z)=>({...Z,isTouched:!0}))})});let z=X??this.options.onSubmitMeta;this.setFormGroupState((Y)=>({...Y,isSubmitting:!0}));let H=()=>{this.setFormGroupState((Y)=>({...Y,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.areRelatedFieldsValid()){H(),this.options.onGroupSubmitInvalid?.({value:this.state.value,groupApi:this,meta:z});return}if(await this.validate("submit",{skipRelatedFieldValidation:!0}),!this.areRelatedFieldsValid()||!this.state.meta.isValid){H(),this.options.onGroupSubmitInvalid?.({value:this.state.value,groupApi:this,meta:z});return}s(()=>{Object.values(this.getRelatedFields()).forEach((Y)=>{Y.options.listeners?.onGroupSubmit?.({value:Y.state.value,fieldApi:Y})})}),this.options.listeners?.onSubmit?.({groupApi:this,value:this.state.value});try{await this.options.onGroupSubmit?.({value:this.state.value,groupApi:this,meta:z}),s(()=>{this.setFormGroupState((Y)=>({...Y,isSubmitted:!0,isSubmitSuccessful:!0})),H()})}catch(Y){throw this.setFormGroupState((Z)=>({...Z,isSubmitSuccessful:!1})),H(),Y}},this.form=J.form,this.name=J.name,this.options=J,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.fieldInfo={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}},this.store=v0((X)=>{this.form.formGroupMetaDerived.get(),this.form.baseStore.get();let z=this.form.getFormGroupMeta(this.name)??X9(J.defaultMeta),H=this.form.getFieldValue(this.name);if(!z.isTouched&&H===void 0&&this.options.defaultValue!==void 0&&!b0(H,this.options.defaultValue))H=this.options.defaultValue;if(X&&X.value===H&&X.meta===z)return X;return{value:H,meta:z}}),this.handleSubmit=this.handleSubmit.bind(this)}get state(){return this.store.state}runValidator(J){if(b4(J.validate)){let X=u0[J.type](J.value,J.validate);if(J.type==="validate")return J9(X);return X.then(J9)}return J.validate(J.value)}handleSubmit(J){return this._handleSubmit(J)}}function I6(J){if(J)return J;return}function F6(J){return!!J&&typeof J==="object"&&"fields"in J}function J9(J){if(!J||typeof J!=="object")return J;if(!("form"in J)&&!("fields"in J))return J;let{form:X,fields:z,...H}=J;return{...H,group:X,fields:z}}function e4(J){switch(J){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"dynamic":return"onDynamic";case"change":default:return"onChange"}}function S6(J,X){if(!X)return;let z=Object.assign({},J,{state:w4(J.state)});if(X(z),z.fieldInfo!==J.fieldInfo)J.fieldInfo=z.fieldInfo;if(z.options!==J.options)J.options=z.options;let Y=Object.keys({values:null,validationMetaMap:null,fieldMetaBase:null,formGroupStateBase:null,isSubmitting:null,isSubmitted:null,isValidating:null,submissionAttempts:null,isSubmitSuccessful:null,_force_re_eval:null}).reduce((Z,q)=>{if(J.state[q]!==z.state[q])Z[q]=z.state[q];return Z},{});return s(()=>{if(Object.keys(Y).length)J.baseStore.setState((Z)=>({...Z,...Y}));if(z.state.errorMap!==J.state.errorMap)J.setErrorMap(z.state.errorMap)}),z}var g6=Y0(B0(),1);function P1(J,X){return J===X}function Y9(J,X=(H)=>H,z){let H=z?.compare??P1,Y=g6.useCallback((q)=>{let{unsubscribe:w}=J.subscribe(q);return w},[J]),Z=g6.useCallback(()=>J.get(),[J]);return z9(Y,Z,Z,X,H)}var f=(J,X=(H)=>H,z)=>Y9(J,X,{compare:z});var R4=Y0(B0(),1);var y4=Y0(B0(),1);var N6=Y0(B0(),1),g0=typeof window<"u"?N6.useLayoutEffect:N6.useEffect;function G1(J){let[X,z]=y4.useState(()=>({form:J.form,name:J.name})),[H,Y]=y4.useState(()=>{return new B4({...J})});if(X.form!==J.form||X.name!==J.name)Y(new B4({...J})),z({form:J.form,name:J.name});let Z=f(H.store,J.mode==="array"?(U)=>U.meta._arrayVersion||0:(U)=>U.value),q=f(H.store,(U)=>U.meta.isTouched),w=f(H.store,(U)=>U.meta.isBlurred),k=f(H.store,(U)=>U.meta.isDirty),P=f(H.store,(U)=>U.meta.errorMap),R=f(H.store,(U)=>U.meta.errorSourceMap),G=f(H.store,(U)=>U.meta.isValidating),K=y4.useMemo(()=>{return{...H,get state(){return{value:J.mode==="array"?H.state.value:Z,get meta(){return{...H.state.meta,isTouched:q,isBlurred:w,isDirty:k,errorMap:P,errorSourceMap:R,isValidating:G}}}}}},[H,J.mode,Z,q,w,k,P,R,G]);return g0(H.mount,[H]),g0(()=>{H.update(J)}),K}var B9=({children:J,...X})=>{let z=G1(X),H=y4.useMemo(()=>j0(J,z),[J,z]);return N(U0,{children:H})};var _6=Y0(B0(),1);var Q9=Y0(B0(),1);function H9(){return Q9.useState(()=>$4())[0]}var R1=_6,Z9=_6.version.split(".")[0]==="17"?H9:R1.useId;var O4=Y0(B0(),1);function k1(J){let[X,z]=O4.useState(()=>({form:J.form,name:J.name})),[H,Y]=O4.useState(()=>{return new G4({...J})});if(X.form!==J.form||X.name!==J.name)Y(new G4({...J})),z({form:J.form,name:J.name});let Z=f(H.store,(C)=>C.value),q=f(H.store,(C)=>C.meta.isTouched),w=f(H.store,(C)=>C.meta.isBlurred),k=f(H.store,(C)=>C.meta.isDirty),P=f(H.store,(C)=>C.meta.errorMap),R=f(H.store,(C)=>C.meta.errorSourceMap),G=f(H.store,(C)=>C.meta.isValidating),K=f(H.store,(C)=>C.meta.isSubmitting),U=f(H.store,(C)=>C.meta.isSubmitted),W=f(H.store,(C)=>C.meta.submissionAttempts),T=f(H.store,(C)=>C.meta.isSubmitSuccessful),h=f(H.store,(C)=>C.meta.canSubmit),A=f(H.store,(C)=>C.meta.isValid),y=f(H.store,(C)=>C.meta.isFieldsValid),D=f(H.store,(C)=>C.meta.isFieldsValidating),b=f(H.store,(C)=>C.meta.isGroupValid),V=O4.useMemo(()=>{return{...H,handleSubmit:(...E)=>{return H._handleSubmit(...E)},get state(){return{...H.state,value:Z,get meta(){return{...H.state.meta,isTouched:q,isBlurred:w,isDirty:k,errorMap:P,errorSourceMap:R,isValidating:G,isSubmitting:K,isSubmitted:U,submissionAttempts:W,isSubmitSuccessful:T,canSubmit:h,isValid:A,isFieldsValid:y,isFieldsValidating:D,isGroupValid:b}}}}}},[H,Z,q,w,k,P,R,G,K,U,W,T,h,A,y,D,b]);return g0(H.mount,[H]),g0(()=>{H.update(J)}),V}var q9=({children:J,...X})=>{let z=k1(X),H=O4.useMemo(()=>j0(J,z),[J,z]);return N(U0,{children:H})};function L1({form:J,selector:X=(H)=>H,children:z}){let H=f(J.store,X);return N(U0,{children:j0(z,H)})}function f4(J){let X=Z9(),[z,H]=R4.useState(J?.formId),[Y,Z]=R4.useState(()=>{return new c4({...J,formId:J?.formId??X})});if(z!==J?.formId){let k=J?.formId??X;Z(new c4({...J,formId:k})),H(k)}let q=R4.useMemo(()=>{let k={...Y,handleSubmit:(...P)=>{return Y._handleSubmit(...P)},get formId(){return Y._formId},get state(){return Y.store.state}};return k.Field=function(R){return N(B9,{...R,form:Y})},k.FormGroup=function(R){return N(q9,{...R,form:Y})},k.Subscribe=function(R){return N(L1,{form:Y,selector:R.selector,children:R.children})},k},[Y]);g0(Y.mount,[]),g0(()=>{Y.update(J)});let w=R4.useRef(!1);return g0(()=>{if(!w.current)return;if(!J?.transform)return;S6(Y,J.transform)},[Y,J?.transform]),g0(()=>{w.current=!0}),q}var X6=Y0(B0(),1);function W9({className:J,...X}){return N("textarea",{"data-slot":"textarea",className:d("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",J),...X})}var J6=["data:image/webp;base64,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","data:image/webp;base64,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","data:image/webp;base64,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","data:image/webp;base64,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"];var A1=t.object({name:t.string().min(1,B.name_is_required()),type:t.enum(["chat","autofill","embedding"]),avatar:t.string().optional(),providerId:t.string().optional(),modelId:t.string().optional(),soul:t.string().optional(),thinkingLevel:m6.optional(),systemPrompt:t.string().optional(),skills:t.array(t.string()).optional(),mcpServerIds:t.array(t.string()).optional(),deniedTools:t.array(t.string()).optional()}),T1=[{id:"bash",name:()=>B.agent_tool_bash_name(),description:()=>B.agent_tool_bash_desc()},{id:"read_skill",name:()=>B.agent_tool_read_skill_name(),description:()=>B.agent_tool_read_skill_desc()},{id:"analyze_image",name:()=>B.agent_tool_analyze_image_name(),description:()=>B.agent_tool_analyze_image_desc()},{id:"screenshot",name:()=>B.agent_tool_screenshot_name(),description:()=>B.agent_tool_screenshot_desc()},{id:"read_pdf_pages",name:()=>B.agent_tool_read_pdf_pages_name(),description:()=>B.agent_tool_read_pdf_pages_desc()},{id:"list_assets",name:()=>B.agent_tool_list_assets_name(),description:()=>B.agent_tool_list_assets_desc()},{id:"create_folder",name:()=>B.agent_tool_create_folder_name(),description:()=>B.agent_tool_create_folder_desc()},{id:"create_file",name:()=>B.agent_tool_create_file_name(),description:()=>B.agent_tool_create_file_desc()},{id:"create_version",name:()=>B.agent_tool_create_version_name(),description:()=>B.agent_tool_create_version_desc()}];function U9({isOpen:J,onClose:X,teamId:z,type:H,initialValues:Y,title:Z}){let q=i(),{canAdmin:w}=V4(),{data:k}=o({queryKey:["teams",z,"providers"],queryFn:async()=>{let L=await I.api.teams[":teamId"].providers.$get({param:{teamId:z}});if(!L.ok)throw Error("Failed to fetch providers");return await L.json()},enabled:J}),{data:P}=o({queryKey:["teams",z,"skills"],queryFn:async()=>{let L=await I.api.teams[":teamId"].skills.$get({param:{teamId:z}});if(!L.ok)throw Error("Failed to fetch skills");return await L.json()},enabled:J}),R=P?.skills||[],{data:G}=o({queryKey:["teams",z,"mcp","servers"],queryFn:async()=>{let L=await I.api.teams[":teamId"].mcp.servers.$get({param:{teamId:z}});if(!L.ok)throw Error("Failed to fetch MCP servers");return await L.json()},enabled:J}),K=G?.servers||[],U=X6.useMemo(()=>{return A1.superRefine((L,E)=>{if(L.type==="chat"||L.type==="autofill"){if(!L.providerId)E.addIssue({code:t.ZodIssueCode.custom,message:B.provider_is_required(),path:["providerId"]});if(!L.modelId)E.addIssue({code:t.ZodIssueCode.custom,message:B.model_is_required(),path:["modelId"]})}})},[]),W=f4({defaultValues:{name:Y?.name||"",type:Y?.type||H||"chat",avatar:Y?.avatar||J6[0],providerId:Y?.providerId||"",modelId:Y?.modelId||"",soul:Y?.soul||"",thinkingLevel:Y?.thinkingLevel||"off",systemPrompt:Y?.systemPrompt||"",skills:Y?.skills?.map((L)=>L.skillId)||[],mcpServerIds:Y?.mcpServerIds||[],deniedTools:Y?.deniedTools||[]},validators:{onChange:U},onSubmit:async({value:L})=>{try{if(Y?.id)await D.mutateAsync({id:Y.id,values:L});else await y.mutateAsync(L)}catch{}}}),T=f(W.store,(L)=>L.values.providerId),{data:h,isLoading:A}=o({queryKey:["teams",z,"providers",T,"models"],queryFn:async()=>{let L=await I.api.providers[":id"].models.$get({param:{id:T}});if(!L.ok)throw Error("Failed to fetch models");return await L.json()},enabled:!!T&&J}),y=p({mutationFn:async(L)=>{let E=await I.api.teams[":teamId"].agents.$post({param:{teamId:z},json:L});if(!E.ok)throw Error("Failed to create agent");return await E.json()},onSuccess:()=>{X(),q.invalidateQueries({queryKey:["agents",z]}),S.success(B.agent_created_successfully())},onError:(L)=>{S.error(B.error_message({message:L.message}))}}),D=p({mutationFn:async({id:L,values:E})=>{let O=await I.api.agents[":agentId"].$put({param:{agentId:L},json:E});if(!O.ok)throw Error("Failed to update agent");return await O.json()},onSuccess:()=>{X(),q.invalidateQueries({queryKey:["agents",z]}),S.success(B.agent_updated_successfully())},onError:(L)=>{S.error(B.error_message({message:L.message}))}});X6.useEffect(()=>{if(J)W.reset()},[J,Y,H]);let b=f(W.store,(L)=>L.values.type),V=b==="chat"||b==="autofill",C=(L)=>{return L.map((E)=>{if(typeof E==="string")return{message:E};if(E&&typeof E==="object"&&"message"in E)return{message:String(E.message)};return{message:String(E||"")}})};return N(_0,{open:J,onOpenChange:X,children:Q(M0,{className:"sm:max-w-3xl h-[90vh] flex flex-col p-0 overflow-hidden",children:[Q(I0,{className:"p-6 pb-2 flex-shrink-0",children:[N(F0,{children:Z}),N(n0,{children:B.configure_agent_description()})]}),Q("form",{onSubmit:(L)=>{L.preventDefault(),L.stopPropagation(),W.handleSubmit()},className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[N(O0,{className:"flex-1 min-h-0",children:Q("div",{className:"p-6 pt-2 space-y-6",children:[Q("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[N(W.Field,{name:"name",children:(L)=>{let E=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Q(N0,{"data-invalid":E,children:[N(J0,{children:B.agent_name()}),N(u,{value:L.state.value,onBlur:L.handleBlur,onChange:(O)=>L.handleChange(O.target.value),placeholder:B.agent_name_placeholder(),"aria-invalid":E}),E&&N(A0,{errors:C(L.state.meta.errors)})]})}}),N(W.Field,{name:"type",children:(L)=>Q(N0,{children:[N(J0,{children:B.agent_type()}),Q(Q0,{value:L.state.value,onValueChange:(E)=>L.handleChange(E),disabled:!0,children:[N(Z0,{className:"bg-muted/50",children:N(H0,{})}),Q(q0,{children:[N(v,{value:"chat",children:B.agent_type_chat()}),N(v,{value:"autofill",children:B.agent_type_autofill()}),N(v,{value:"embedding",children:B.agent_type_embedding()})]})]})]})}),N(W.Field,{name:"avatar",children:(L)=>Q(N0,{className:"md:col-span-2",children:[N(J0,{children:B.agent_avatar()}),Q("div",{className:"flex gap-4 mt-2",children:[J6.map((E)=>{let O=L.state.value===E;return N("button",{type:"button",onClick:()=>L.handleChange(E),className:d("relative w-14 h-14 rounded-full overflow-hidden border-2 transition-all hover:scale-105",O?"border-primary ring-2 ring-primary ring-offset-2":"border-border hover:border-muted-foreground"),children:N("img",{src:E,className:"w-full h-full object-cover",alt:B.preset_avatar_option()})},E)}),L.state.value&&!J6.includes(L.state.value)&&N("button",{type:"button",className:"relative w-14 h-14 rounded-full overflow-hidden border-2 border-primary ring-2 ring-primary ring-offset-2 scale-105",children:N("img",{src:L.state.value,className:"w-full h-full object-cover",alt:B.current_custom_avatar()})})]})]})})]}),V&&Q(U0,{children:[Q("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 p-4 bg-muted/50 rounded-xl border border-border",children:[N(W.Field,{name:"providerId",children:(L)=>{let E=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Q(N0,{"data-invalid":E,children:[N(J0,{children:B.provider()}),Q(Q0,{value:L.state.value,onValueChange:(O)=>{L.handleChange(O),W.setFieldValue("modelId","")},children:[N(Z0,{"aria-invalid":E,children:N(H0,{placeholder:B.select_provider()})}),N(q0,{children:k?.map((O)=>N(v,{value:O.id,children:O.name},O.id))})]}),E&&N(A0,{errors:C(L.state.meta.errors)})]})}}),N(W.Field,{name:"modelId",children:(L)=>{let E=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Q(N0,{"data-invalid":E,children:[Q(J0,{className:"flex items-center gap-2",children:[B.model(),A&&N(m,{className:"w-3 h-3 animate-spin"})]}),Q(Q0,{value:L.state.value,onValueChange:L.handleChange,disabled:!T||A,children:[N(Z0,{"aria-invalid":E,children:N(H0,{placeholder:B.select_model()})}),N(q0,{children:h?.map((O)=>N(v,{value:O.id,children:O.name||O.modelId},O.id))})]}),E&&N(A0,{errors:C(L.state.meta.errors)})]})}}),N("div",{className:"md:col-span-2",children:N(W.Field,{name:"thinkingLevel",children:(L)=>{let E={off:B.thinking_disable(),low:B.thinking_low(),medium:B.thinking_medium(),high:B.thinking_high()};return Q(N0,{children:[N(J0,{children:B.thinking_level()}),Q(Q0,{value:L.state.value,onValueChange:(O)=>L.handleChange(O),children:[N(Z0,{children:N(H0,{})}),N(q0,{children:m6.options.map((O)=>N(v,{value:O,children:E[O]||O},O))})]})]})}})})]}),N(W.Field,{name:"soul",children:(L)=>Q(N0,{children:[N(J0,{children:B.agent_soul()}),N(W9,{value:L.state.value,onBlur:L.handleBlur,onChange:(E)=>L.handleChange(E.target.value),placeholder:B.agent_soul_placeholder(),className:"min-h-[120px]"})]})}),Q("div",{className:"space-y-4",children:[Q(a,{className:"text-base font-bold flex items-center gap-2",children:[N(p0,{className:"w-5 h-5 text-primary"}),B.skills()]}),N("div",{className:"space-y-2",children:N(W.Field,{name:"skills",children:(L)=>Q(U0,{children:[R.map((E)=>{let O=L.state.value?.includes(E.id)||!1;return Q("div",{className:"flex items-center justify-between p-3 bg-muted/30 border border-border rounded-lg",children:[Q("div",{className:"flex items-center gap-3",children:[N(p0,{className:"w-4 h-4 text-muted-foreground"}),Q("div",{className:"flex flex-col",children:[N("span",{className:"text-sm font-medium",children:E.name}),E.description&&N("span",{className:"text-[10px] text-muted-foreground line-clamp-1",children:E.description})]})]}),Q("div",{className:"flex items-center gap-2",children:[N("span",{className:"text-xs text-muted-foreground",children:O?B.enabled():B.disabled()}),N(w0,{checked:O,onCheckedChange:(c)=>{if(c)L.handleChange([...L.state.value||[],E.id]);else L.handleChange((L.state.value||[]).filter((x)=>x!==E.id))}})]})]},E.id)}),R.length===0&&N("div",{className:"text-center py-8 border-2 border-dashed border-border rounded-xl",children:N("p",{className:"text-sm text-muted-foreground",children:B.no_skills_available()})})]})})})]}),Q("div",{className:"space-y-4 border-t border-border pt-6",children:[Q(a,{className:"text-base font-bold flex items-center gap-2",children:[N(V0,{className:"w-5 h-5 text-primary"}),B.mcp_servers()]}),N("div",{className:"space-y-2",children:N(W.Field,{name:"mcpServerIds",children:(L)=>Q(U0,{children:[K.map((E)=>{let O=L.state.value?.includes(E.id)||!1,c=E.status==="needs_auth"||!E.hasCredential&&E.authType==="oauth";return Q("div",{className:"flex items-center justify-between p-3 bg-muted/30 border border-border rounded-lg",children:[Q("div",{className:"flex items-center gap-3",children:[N(V0,{className:"w-4 h-4 text-muted-foreground"}),Q("div",{className:"flex flex-col",children:[Q("div",{className:"flex items-center gap-2",children:[N("span",{className:"text-sm font-medium",children:E.name}),Q(W0,{variant:"outline",className:"text-[10px]",children:[E.toolCount??0," tools"]}),c&&N(W0,{variant:"secondary",className:"text-[10px] bg-amber-500/10 text-amber-600 border-amber-500/20",children:B.mcp_status_needs_auth()})]}),N("span",{className:"text-[10px] font-mono text-muted-foreground line-clamp-1",children:E.url})]})]}),Q("div",{className:"flex items-center gap-2",children:[N("span",{className:"text-xs text-muted-foreground",children:O?B.enabled():B.disabled()}),N(w0,{checked:O,onCheckedChange:(x)=>{if(x)L.handleChange([...L.state.value||[],E.id]);else L.handleChange((L.state.value||[]).filter((l)=>l!==E.id))}})]})]},E.id)}),K.length===0&&N("div",{className:"text-center py-6 border-2 border-dashed border-border rounded-xl",children:N("p",{className:"text-xs text-muted-foreground",children:B.no_mcp_servers_installed()})})]})})})]}),Q("div",{className:"space-y-4 border-t border-border pt-6",children:[Q(a,{className:"text-base font-bold flex items-center gap-2",children:[N($6,{className:"w-5 h-5 text-primary"}),B.agent_tools()]}),N("p",{className:"text-xs text-muted-foreground",children:B.agent_tools_description()}),N("div",{className:"space-y-2",children:N(W.Field,{name:"deniedTools",children:(L)=>{let E=L.state.value||[];return N(U0,{children:T1.map((O)=>{let c=!E.includes(O.id);return Q("div",{className:"flex items-center justify-between p-3 bg-muted/30 border border-border rounded-lg",children:[Q("div",{className:"flex items-center gap-3",children:[N($6,{className:"w-4 h-4 text-muted-foreground"}),Q("div",{className:"flex flex-col",children:[N("span",{className:"text-sm font-medium",children:O.name()}),N("span",{className:"text-[10px] text-muted-foreground line-clamp-1",children:O.description()})]})]}),Q("div",{className:"flex items-center gap-2",children:[N("span",{className:"text-xs text-muted-foreground",children:c?B.enabled():B.disabled()}),N(w0,{checked:c,disabled:!w,onCheckedChange:(x)=>{if(x)L.handleChange(E.filter((l)=>l!==O.id));else L.handleChange([...E,O.id])}})]})]},O.id)})})}})})]})]})]})}),Q($0,{className:"p-6 pt-4 border-t border-border flex-shrink-0",children:[N(_,{variant:"outline",onClick:X,type:"button",children:B.cancel()}),N(W.Subscribe,{selector:(L)=>[L.canSubmit,L.isSubmitting],children:([L,E])=>Q(_,{type:"submit",className:"bg-primary hover:bg-primary/90 text-primary-foreground min-w-[120px]",disabled:!L||E||y.isPending||D.isPending,children:[(E||y.isPending||D.isPending)&&N(m,{className:"w-4 h-4 animate-spin mr-2"}),Y?B.save_changes():B.create_agent()]})})]})]})]})})}var C1=[{type:"chat",label:"Chat",icon:v4},{type:"autofill",label:"Autofill",icon:B6},{type:"embedding",label:"Embedding",icon:L4}];function w9({teamId:J}){let X=i(),[z,H]=k4.useState(!1),[Y,Z]=k4.useState("chat"),[q,w]=k4.useState(null),[k,P]=k4.useState(null),[R,G]=k4.useState(!1),[K,U]=k4.useState({chat:!0,autofill:!0,embedding:!0}),W=(b)=>{if(b==="chat")return B.agent_type_chat();if(b==="autofill")return B.agent_type_autofill();return B.agent_type_embedding()},{data:T=[],isLoading:h}=o({queryKey:["agents",J],queryFn:async()=>{let b=await I.api.teams[":teamId"].agents.$get({param:{teamId:J}});if(!b.ok)throw Error("failed to fetch agents");return[...await b.json()].sort((C,L)=>L.id.localeCompare(C.id))}}),A=p({mutationFn:async(b)=>{if(!(await I.api.agents[":agentId"].$delete({param:{agentId:b}})).ok)throw Error("failed to delete agent")},onSuccess:()=>{G(!1),X.invalidateQueries({queryKey:["agents",J]}),S.success(B.agent_deleted_successfully())},onError:(b)=>{S.error(b.message)}}),y=p({mutationFn:async(b)=>{let V=await I.api.agents[":agentId"].$put({param:{agentId:b.agentId},json:{name:b.name,type:b.type,enabled:b.enabled,avatar:b.avatar,providerId:b.providerId,modelId:b.modelId,thinkingLevel:b.thinkingLevel,systemPrompt:b.systemPrompt,soul:b.soul,skills:b.skills,deniedTools:b.deniedTools}});if(!V.ok)throw Error("failed to update agent");return V.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["agents",J]}),S.success(B.agent_updated_successfully())},onError:(b)=>{S.error(b.message)}}),D=(b)=>{U((V)=>({...V,[b]:!V[b]}))};return Q(U0,{children:[(z||q)&&N(U9,{isOpen:!0,title:q?B.edit_item({name:q.name}):B.create_type_agent({type:W(Y)}),onClose:()=>{H(!1),w(null)},teamId:J,type:Y,initialValues:q||void 0}),N(i0,{open:R,onOpenChange:G,children:Q(r0,{children:[Q(s0,{children:[N(N4,{children:B.are_you_absolutely_sure()}),N(J4,{children:B.delete_agent_confirmation({name:k?.name??""})})]}),Q(e0,{children:[N(z4,{children:B.cancel()}),N(X4,{className:"bg-destructive hover:bg-destructive/90 text-white",onClick:(b)=>{if(A.isPending){b.preventDefault();return}if(k)A.mutate(k.id)},children:A.isPending?N(m,{className:"w-4 h-4 animate-spin"}):B.delete_agent()})]})]})}),h&&T.length===0?N("div",{className:"flex items-center justify-center p-12",children:N(m,{className:"w-8 h-8 animate-spin text-muted-foreground"})}):Q("div",{className:"space-y-6 max-w-5xl mx-auto relative",children:[h&&N("div",{className:"absolute top-0 right-0 p-2",children:N(m,{className:"w-4 h-4 animate-spin text-muted-foreground"})}),C1.map((b)=>{let V=T.filter((E)=>E.type===b.type),C=b.icon,L=b.type==="autofill"||b.type==="embedding";return Q("div",{className:"bg-card rounded-xl border border-border overflow-hidden",children:[Q("div",{className:d("px-6 py-4 flex items-center justify-between",!L&&"cursor-pointer hover:bg-muted/50 transition-colors"),onClick:!L?()=>D(b.type):void 0,children:[Q("div",{className:"flex items-center gap-2",children:[N("h3",{className:"font-semibold text-foreground",children:b.type==="chat"?B.chat_agents():b.type==="autofill"?B.autofill_agent():B.embedding_agent()}),!L&&N(W0,{variant:"secondary",className:"h-5 px-1.5 min-w-[1.25rem] text-[10px]",children:V.length})]}),Q("div",{className:"flex items-center gap-2",children:[!(L&&V.length>0)&&N(_,{variant:"ghost",size:"icon",className:"h-8 w-8 rounded-full bg-primary/10 text-primary hover:bg-primary/20",onClick:(E)=>{E.stopPropagation(),Z(b.type),H(!0)},children:N(T0,{className:"w-4 h-4"})}),!L&&N(Y6,{className:d("w-5 h-5 text-muted-foreground transition-transform duration-200",K[b.type]?"rotate-180":"")})]})]}),(L||K[b.type])&&N("div",{className:"px-6 pb-6 pt-2 space-y-3",children:Q("div",{className:"grid grid-cols-1 gap-4",children:[V.map((E)=>N(r,{className:"group relative overflow-hidden border-border hover:border-primary/50 transition-all duration-200 cursor-pointer",onClick:()=>w(E),children:Q(e,{className:"p-4 flex items-center justify-between",children:[Q("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[N("div",{className:"w-10 h-10 rounded-full bg-muted flex items-center justify-center overflow-hidden",children:E.avatar?N("img",{src:E.avatar,className:"w-full h-full object-cover",alt:""}):N(z6,{className:"w-6 h-6 text-muted-foreground"})}),Q("div",{className:"min-w-0 flex-1",children:[N("span",{className:"font-bold text-foreground block truncate",children:E.name}),N("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mt-0.5",children:Q("span",{className:"flex items-center gap-1",children:[N(p0,{className:"w-3 h-3"}),B.skills_count_value({count:E.skills?.length||0})]})})]})]}),Q("div",{className:"flex items-center gap-1",children:[N("div",{className:"mr-2",onClick:(O)=>O.stopPropagation(),children:N(w0,{checked:E.enabled,onCheckedChange:(O)=>{y.mutate({teamId:J,agentId:E.id,name:E.name,type:E.type,enabled:O,avatar:E.avatar,providerId:E.providerId,modelId:E.modelId,thinkingLevel:E.thinkingLevel,systemPrompt:E.systemPrompt,soul:E.soul,skills:E.skills?.map((c)=>c.skillId),deniedTools:E.deniedTools})}})}),Q(H4,{modal:!1,children:[N(Z4,{asChild:!0,onClick:(O)=>O.stopPropagation(),children:N(_,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:N(Q4,{className:"w-4 h-4"})})}),N(q4,{align:"end",className:"w-32",children:Q(d0,{onClick:(O)=>{O.stopPropagation(),P(E),G(!0)},className:"text-red-500 focus:text-red-500 gap-2 cursor-pointer",children:[N(C0,{className:"w-4 h-4"})," ",B.delete()]})})]})," "]})]})},E.id)),V.length===0&&Q("div",{className:"col-span-full py-8 flex flex-col items-center justify-center border-2 border-dashed border-border rounded-xl bg-muted/30",children:[N("div",{className:"w-10 h-10 rounded-full bg-card flex items-center justify-center shadow-sm mb-3",children:N(C,{className:"w-5 h-5 text-muted-foreground"})}),N("p",{className:"text-sm text-muted-foreground",children:B.no_agents_found({type:W(b.type)})}),N(_,{variant:"link",size:"sm",className:"text-primary font-medium h-auto p-0 mt-1",onClick:()=>{Z(b.type),H(!0)},children:B.create_one_now()})]})]})})]},b.type)})]})]})}var D0=Y0(B0(),1);var h1={"openai-completions":"OpenAI Completions","mistral-conversations":"Mistral Conversations","openai-responses":"OpenAI Responses","azure-openai-responses":"Azure OpenAI Responses","openai-codex-responses":"OpenAI Codex Responses","anthropic-messages":"Anthropic Messages","bedrock-converse-stream":"AWS Bedrock","google-generative-ai":"Google Generative AI","google-vertex":"Google Vertex"},D1=t.object({name:t.string().min(1,B.provider_name_is_required()),config:k9,models:t.array(R9).min(1,B.at_least_one_model_required())});function L9({teamId:J}){let X=i(),[z,H]=D0.useState(null),[Y,Z]=D0.useState(!1),[q,w]=D0.useState(""),[k,P]=D0.useState(!1),[R,G]=D0.useState(null),{data:K,isLoading:U}=o({queryKey:["teams",J,"providers"],queryFn:async()=>{let C=await I.api.teams[":teamId"].providers.$get({param:{teamId:J}});if(!C.ok)throw Error("Failed to fetch providers");return await C.json()}}),W=D0.useMemo(()=>K?.find((C)=>C.id===z)||null,[K,z]),{data:T,isLoading:h}=o({queryKey:["teams",J,"providers",z,"models"],queryFn:async()=>{let C=await I.api.providers[":id"].models.$get({param:{id:z}});if(!C.ok)throw Error("Failed to fetch models");return await C.json()},enabled:!!z}),A=D0.useMemo(()=>K?.map((C)=>C.name)||[],[K]),y=D0.useMemo(()=>{if(!K)return[];if(!q.trim())return K;let C=q.toLowerCase();return K.filter((L)=>L.name.toLowerCase().includes(C))},[K,q]),D=p({mutationFn:async(C)=>{let L=await I.api.teams[":teamId"].providers.$post({param:{teamId:J},json:{name:C.name,config:C.config,models:C.models}});if(!L.ok)throw Error("Failed to create provider");return await L.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",J,"providers"]}),Z(!1),S.success(B.provider_created_successfully())},onError:(C)=>{S.error(B.error_message({message:C.message}))}}),b=p({mutationFn:async({id:C,values:L})=>{let E=await I.api.providers[":id"].$put({param:{id:C},json:{config:L.config,models:L.models}});if(!E.ok)throw Error("Failed to update provider");return await E.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",J,"providers"]}),H(null),S.success(B.provider_updated_successfully())},onError:(C)=>{S.error(B.error_message({message:C.message}))}}),V=p({mutationFn:async(C)=>{let L=await I.api.providers[":id"].$delete({param:{id:C}});if(!L.ok)throw Error("Failed to delete provider");return await L.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",J,"providers"]}),H(null),P(!1),G(null),S.success(B.provider_deleted_successfully())},onError:(C)=>{S.error(B.error_message({message:C.message}))}});if(U)return N("div",{className:"flex h-64 items-center justify-center",children:N(m,{className:"h-8 w-8 animate-spin text-primary"})});return Q("div",{className:"h-full flex flex-col space-y-0",children:[Q("div",{className:"flex-none space-y-4 pb-4",children:[Q("div",{className:"flex items-center justify-between",children:[Q("h3",{className:"text-lg font-semibold text-foreground flex items-center gap-2",children:[N(L4,{className:"w-5 h-5 text-primary"}),B.configured_ai_providers()]}),Q(_,{onClick:()=>Z(!0),className:"bg-primary hover:bg-primary/90 text-primary-foreground gap-2",children:[N(T0,{className:"w-4 h-4"}),B.add_provider()]})]}),Q("div",{className:"relative px-0.5",children:[N(x6,{className:"absolute left-3.5 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),N(u,{placeholder:B.search_providers_placeholder(),value:q,onChange:(C)=>w(C.target.value),className:"pl-10 bg-card border-border focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-0"})]})]}),N(O0,{className:"flex-1 min-h-0",children:Q("div",{className:"pr-4 py-2 grid grid-cols-1 gap-4",children:[y.map((C)=>N(r,{className:"group cursor-pointer hover:border-primary/50 transition-all hover:shadow-md overflow-hidden",onClick:()=>H(C.id),children:Q(e,{className:"p-5 flex items-center justify-between gap-4",children:[Q("div",{className:"flex items-center gap-4 min-w-0 flex-1",children:[N("div",{className:"flex-none p-3 bg-muted rounded-xl group-hover:bg-primary/10 transition-colors",children:N(H6,{className:"w-6 h-6 text-muted-foreground group-hover:text-primary"})}),Q("div",{className:"min-w-0 flex-1",children:[Q("div",{className:"flex items-center gap-2",children:[N("span",{className:"font-bold text-foreground truncate",children:C.name}),C.isBuiltin&&N(W0,{variant:"secondary",className:"flex-none text-[10px] uppercase tracking-wider font-bold h-5",children:B.built_in()})]}),Q("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5 text-xs text-muted-foreground mt-1",children:[Q("span",{className:"flex items-center gap-1 flex-none",children:[N(B6,{className:"w-3 h-3"}),C.config.api]}),C.config.baseUrl&&Q("span",{className:"flex items-center gap-1 min-w-0",children:[N("span",{className:"h-1 w-1 rounded-full bg-muted-foreground/30 flex-none"}),N(A4,{className:"w-3 h-3 flex-none"}),N("span",{className:"truncate max-w-[200px] md:max-w-[300px]",children:C.config.baseUrl})]}),Q("span",{className:"flex items-center gap-1 flex-none",children:[N("span",{className:"h-1 w-1 rounded-full bg-muted-foreground/30 flex-none"}),N(P9,{className:"w-3 h-3"}),B.n_models_count({count:C.modelsCount}),z===C.id&&h&&N(m,{className:"w-3 h-3 animate-spin ml-1"})]})]})]})]}),Q("div",{className:"flex items-center gap-1",children:[Q(H4,{children:[N(Z4,{asChild:!0,onClick:(L)=>L.stopPropagation(),children:N(_,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:N(Q4,{className:"w-4 h-4"})})}),N(q4,{align:"end",className:"w-32",children:Q(d0,{onClick:(L)=>{L.stopPropagation(),G(C),P(!0)},className:"text-destructive focus:text-destructive gap-2 cursor-pointer",children:[N(C0,{className:"w-4 h-4"})," ",B.delete()]})})]}),N(Q6,{className:"flex-none w-5 h-5 text-muted-foreground/50 group-hover:text-primary transition-colors"})]})]})},C.id)),K?.length===0&&Q("div",{className:"text-center py-12 bg-muted/30 rounded-2xl border-2 border-dashed border-border",children:[N(L4,{className:"w-12 h-12 text-muted-foreground/50 mx-auto mb-4"}),N("h4",{className:"text-foreground font-medium",children:B.no_providers_configured()}),N("p",{className:"text-sm text-muted-foreground mt-1",children:B.add_first_provider()})]}),K&&K.length>0&&y.length===0&&Q("div",{className:"text-center py-12",children:[N(x6,{className:"w-12 h-12 text-muted-foreground/50 mx-auto mb-4"}),N("h4",{className:"text-foreground font-medium",children:B.no_matches_found()}),N("p",{className:"text-sm text-muted-foreground mt-1",children:B.try_adjusting_search({query:q})}),N(_,{variant:"ghost",size:"sm",onClick:()=>w(""),className:"mt-4 text-primary hover:text-primary/90 hover:bg-primary/10",children:B.clear_search()})]})]})}),N(K9,{isOpen:Y,onClose:()=>Z(!1),onSubmit:(C)=>D.mutate(C),isLoading:D.isPending,title:B.add_new_provider(),existingProviderNames:A}),N(K9,{isOpen:!!W&&!h&&!!T,onClose:()=>H(null),onSubmit:(C)=>b.mutate({id:W.id,values:C}),onDelete:()=>V.mutate(W.id),isLoading:b.isPending||V.isPending,initialValues:W&&T?{name:W.name,config:W.config,models:T}:void 0,isBuiltin:W?.isBuiltin,title:W?B.edit_item({name:W.name}):"",existingProviderNames:A}),N(i0,{open:k,onOpenChange:P,children:Q(r0,{children:[Q(s0,{children:[N(N4,{children:B.are_you_absolutely_sure()}),N(J4,{children:B.delete_provider_confirmation({name:R?.name??""})})]}),Q(e0,{children:[N(z4,{onClick:()=>G(null),children:B.cancel()}),Q(X4,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{if(R)V.mutate(R.id)},children:[V.isPending?N(m,{className:"w-4 h-4 animate-spin mr-2"}):N(C0,{className:"w-4 h-4 mr-2"}),B.delete()]})]})]})})]})}function K9({isOpen:J,onClose:X,onSubmit:z,onDelete:H,isLoading:Y,initialValues:Z,isBuiltin:q,title:w,existingProviderNames:k}){let[P,R]=D0.useState(!1),G=D0.useMemo(()=>{return D1.extend({name:t.string().min(1,"Provider name is required").refine((W)=>{if(Z?.name===W)return!0;return!k.includes(W)},{message:"Provider name must be unique"})})},[k,Z]),K=f4({defaultValues:Z||{name:"",config:{api:"openai-completions",baseUrl:"",apiKey:""},models:[{modelId:"",name:"",config:{api:"openai-completions",reasoning:!1,input:["text"],contextWindow:128000,maxTokens:4096,cost:{input:0,output:0,cacheRead:0,cacheWrite:0}}}]},validators:{onChange:G},onSubmit:async({value:W})=>{z(W)}});D0.useEffect(()=>{if(J)K.reset()},[J,K]);let U=(W)=>{return W.map((T)=>{if(typeof T==="string")return{message:T};if(T&&typeof T==="object"&&"message"in T)return{message:String(T.message)};return{message:String(T||"")}})};return Q(_0,{open:J,onOpenChange:X,children:[Q(M0,{className:"sm:max-w-4xl h-[90vh] flex flex-col p-0 overflow-hidden",children:[Q(I0,{className:"p-6 pb-2 shrink-0",children:[N(F0,{className:"text-xl",children:w}),N(n0,{children:B.configure_provider_description()})]}),Q("form",{onSubmit:(W)=>{W.preventDefault(),W.stopPropagation(),K.handleSubmit()},className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[N("div",{className:"flex-1 min-h-0",children:N(O0,{className:"h-full",children:Q("div",{className:"p-6 pt-2 space-y-8 pr-6",children:[Q("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 p-6 rounded-2xl border",children:[N(K.Field,{name:"name",children:(W)=>{let T=!!W.state.meta.errors.length&&W.state.meta.isTouched;return Q(N0,{"data-invalid":T,children:[N(J0,{htmlFor:W.name,children:B.provider_name()}),N(u,{id:W.name,name:W.name,value:W.state.value,onBlur:W.handleBlur,onChange:(h)=>W.handleChange(h.target.value),placeholder:B.provider_name_placeholder(),disabled:q,"aria-invalid":T}),T&&N(A0,{errors:U(W.state.meta.errors)})]})}}),N(K.Field,{name:"config.api",children:(W)=>{let T=!!W.state.meta.errors.length&&W.state.meta.isTouched;return Q(N0,{"data-invalid":T,children:[N(J0,{htmlFor:W.name,children:B.global_api_protocol()}),Q(Q0,{onValueChange:W.handleChange,value:W.state.value,disabled:q,children:[N(Z0,{id:W.name,"aria-invalid":T,children:N(H0,{placeholder:B.select_api_protocol()})}),N(q0,{children:G9.map((h)=>N(v,{value:h,children:h1[h]},h))})]}),T&&N(A0,{errors:U(W.state.meta.errors)})]})}}),N("div",{className:"md:col-span-2",children:N(K.Field,{name:"config.baseUrl",children:(W)=>{let T=!!W.state.meta.errors.length&&W.state.meta.isTouched;return Q(N0,{"data-invalid":T,children:[N(J0,{htmlFor:W.name,children:B.base_url_optional()}),N(u,{id:W.name,name:W.name,value:W.state.value||"",onBlur:W.handleBlur,onChange:(h)=>W.handleChange(h.target.value),placeholder:"https://api.openai.com/v1","aria-invalid":T}),N(R6,{children:B.override_default_endpoint()}),T&&N(A0,{errors:U(W.state.meta.errors)})]})}})})]}),N(r,{className:"rounded-2xl border bg-transparent",children:N(e,{className:"p-6 pt-2",children:N(K.Field,{name:"config.apiKey",children:(W)=>{let T=!!W.state.meta.errors.length&&W.state.meta.isTouched;return Q(N0,{"data-invalid":T,children:[N(J0,{htmlFor:W.name,className:"text-base font-semibold",children:B.api_key()}),N(u,{id:W.name,name:W.name,type:"text",value:W.state.value||"",onBlur:W.handleBlur,onChange:(h)=>W.handleChange(h.target.value),placeholder:B.api_key_placeholder(),"aria-invalid":T}),N(R6,{className:"text-xs mt-2",children:B.api_key_description()}),T&&N(A0,{errors:U(W.state.meta.errors)})]})}})})}),N("div",{className:"space-y-4",children:N(K.Field,{name:"models",mode:"array",children:(W)=>Q("div",{className:"space-y-4",children:[Q("div",{className:"flex items-center justify-between",children:[N(a,{className:"text-lg font-bold",children:B.models_configuration()}),Q(_,{type:"button",variant:"outline",size:"sm",onClick:()=>W.pushValue({modelId:"",name:"",config:{api:K.getFieldValue("config.api"),reasoning:!1,input:["text"],contextWindow:128000,maxTokens:4096,cost:{input:0,output:0,cacheRead:0,cacheWrite:0}}}),className:"gap-2",children:[N(T0,{className:"w-4 h-4"}),B.add_model()]})]}),N("div",{className:"space-y-6",children:W.state.value.map((T,h)=>Q("div",{className:"group relative p-6 bg-transparent rounded-2xl border shadow-sm animate-in fade-in zoom-in-95 duration-300",children:[Q("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[N(K.Field,{name:`models[${h}].modelId`,children:(A)=>{let y=!!A.state.meta.errors.length&&A.state.meta.isTouched;return Q(N0,{"data-invalid":y,children:[N(J0,{htmlFor:A.name,children:B.model_id()}),N(u,{id:A.name,name:A.name,value:A.state.value,onBlur:A.handleBlur,onChange:(D)=>A.handleChange(D.target.value),placeholder:"gpt-4o","aria-invalid":y}),y&&N(A0,{errors:U(A.state.meta.errors)})]})}}),N(K.Field,{name:`models[${h}].name`,children:(A)=>{let y=!!A.state.meta.errors.length&&A.state.meta.isTouched;return Q(N0,{"data-invalid":y,children:[N(J0,{htmlFor:A.name,children:B.display_name_optional()}),N(u,{id:A.name,name:A.name,value:A.state.value,onBlur:A.handleBlur,onChange:(D)=>A.handleChange(D.target.value),placeholder:"e.g., GPT-4o","aria-invalid":y,disabled:q}),y&&N(A0,{errors:U(A.state.meta.errors)})]})}})]}),Q("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mt-6",children:[N(K.Field,{name:`models[${h}].config.reasoning`,children:(A)=>Q(N0,{orientation:"horizontal",className:"rounded-lg border border-border p-3 shadow-sm bg-muted/50 justify-between",children:[N(J0,{htmlFor:A.name,children:B.reasoning_support()}),N(w0,{id:A.name,checked:A.state.value,onCheckedChange:A.handleChange,disabled:q})]})}),N(K.Field,{name:`models[${h}].config.contextWindow`,children:(A)=>{let y=!!A.state.meta.errors.length&&A.state.meta.isTouched;return Q(N0,{"data-invalid":y,children:[N(J0,{htmlFor:A.name,className:"text-xs",children:B.context_window_tokens()}),N(u,{id:A.name,name:A.name,type:"number",value:A.state.value,onBlur:A.handleBlur,onChange:(D)=>A.handleChange(parseInt(D.target.value)||0),"aria-invalid":y,disabled:q}),y&&N(A0,{errors:U(A.state.meta.errors)})]})}})]}),Q("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 mt-6",children:[N(K.Field,{name:`models[${h}].config.maxTokens`,children:(A)=>{let y=!!A.state.meta.errors.length&&A.state.meta.isTouched;return Q(N0,{"data-invalid":y,children:[N(J0,{htmlFor:A.name,className:"text-xs",children:B.max_output_tokens()}),N(u,{id:A.name,name:A.name,type:"number",value:A.state.value,onBlur:A.handleBlur,onChange:(D)=>A.handleChange(parseInt(D.target.value)||0),"aria-invalid":y,disabled:q}),y&&N(A0,{errors:U(A.state.meta.errors)})]})}}),N(K.Field,{name:`models[${h}].config.cost.input`,children:(A)=>{let y=!!A.state.meta.errors.length&&A.state.meta.isTouched;return Q(N0,{"data-invalid":y,children:[Q(J0,{htmlFor:A.name,className:"text-xs flex items-center gap-1",children:[N(c6,{className:"w-3 h-3"})," ",B.input_cost_1m()]}),N(u,{id:A.name,name:A.name,type:"number",step:"0.01",value:A.state.value,onBlur:A.handleBlur,onChange:(D)=>A.handleChange(parseFloat(D.target.value)||0),"aria-invalid":y,disabled:q}),y&&N(A0,{errors:U(A.state.meta.errors)})]})}}),N(K.Field,{name:`models[${h}].config.cost.output`,children:(A)=>{let y=!!A.state.meta.errors.length&&A.state.meta.isTouched;return Q(N0,{"data-invalid":y,children:[Q(J0,{htmlFor:A.name,className:"text-xs flex items-center gap-1",children:[N(c6,{className:"w-3 h-3"})," ",B.output_cost_1m()]}),N(u,{id:A.name,name:A.name,type:"number",step:"0.01",value:A.state.value,onBlur:A.handleBlur,onChange:(D)=>A.handleChange(parseFloat(D.target.value)||0),"aria-invalid":y,disabled:q}),y&&N(A0,{errors:U(A.state.meta.errors)})]})}})]}),N(_,{type:"button",variant:"ghost",size:"icon",className:"absolute -top-2 -right-2 h-8 w-8 rounded-full bg-background border border-border text-muted-foreground hover:text-destructive transition-colors shadow-sm",onClick:()=>W.removeValue(h),children:N(C0,{className:"h-4 w-4"})})]},h))})]})})})]})})}),Q($0,{className:"p-6 pt-4 border-t border-border gap-2 shrink-0",children:[N(_,{type:"button",variant:"outline",onClick:X,disabled:Y,children:B.cancel()}),N(K.Subscribe,{selector:(W)=>[W.canSubmit,W.isSubmitting],children:([W,T])=>N(_,{type:"submit",className:"min-w-[120px]",disabled:!W||T||Y,children:T||Y?N(m,{className:"w-4 h-4 animate-spin"}):B.save_configuration()})})]})]})]}),N(i0,{open:P,onOpenChange:R,children:Q(r0,{children:[Q(s0,{children:[N(N4,{children:B.are_you_absolutely_sure()}),N(J4,{children:B.delete_provider_confirmation({name:Z?.name??""})})]}),Q(e0,{children:[N(z4,{onClick:()=>R(!1),children:B.cancel()}),N(X4,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{H?.(),R(!1)},children:B.delete()})]})]})})]})}var T9=Y0(B0(),1);function C9({teamId:J}){let X=i(),[z,H]=T9.useState(""),{data:Y,isLoading:Z}=o({queryKey:["teams",J,"sandbox"],queryFn:async()=>{let W=await I.api.teams[":teamId"].sandbox.$get({param:{teamId:J}});if(!W.ok)throw Error(B.failed_load_settings());return await W.json()}}),{mutate:q,isPending:w}=p({mutationFn:async(W)=>{let T=await I.api.teams[":teamId"].sandbox.$put({param:{teamId:J},json:W});if(!T.ok)throw Error(B.failed_to_update_sandbox_settings());return await T.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",J,"sandbox"]}),S.success(B.sandbox_settings_updated())},onError:(W)=>{S.error(W instanceof Error?W.message:B.failed_to_update_sandbox_settings())}}),k=(W)=>{q({networkSandboxEnabled:W})},P=(W)=>{if(W.preventDefault(),!z.trim())return;if(Y?.allowedDomains.includes(z.trim())){S.error(B.domain_already_exists());return}let T=[...Y?.allowedDomains||[],z.trim()],h=Y?.pendingDomains||[];q({allowedDomains:T,pendingDomains:h}),H("")},R=(W)=>{let T=(Y?.allowedDomains||[]).filter((A)=>A!==W),h=Y?.pendingDomains||[];q({allowedDomains:T,pendingDomains:h})},G=(W)=>{let T=[...Y?.allowedDomains||[],W],h=(Y?.pendingDomains||[]).filter((A)=>A!==W);q({allowedDomains:T,pendingDomains:h})},K=(W)=>{let T=(Y?.pendingDomains||[]).filter((h)=>h!==W);q({allowedDomains:Y?.allowedDomains||[],pendingDomains:T})};if(Z)return N("div",{className:"flex items-center justify-center p-8",children:N(m,{className:"h-8 w-8 animate-spin text-muted-foreground"})});let U=!!Y?.networkSandboxEnabled;return N(O0,{className:"h-full",children:Q("div",{className:"space-y-6 pr-4 pb-8",children:[Q(r,{children:[Q(K0,{children:[Q("div",{className:"flex items-center gap-2",children:[N(H6,{className:"w-5 h-5 text-primary"}),N(P0,{children:B.network_sandbox()})]}),N(G0,{children:B.network_sandbox_description()})]}),Q(e,{children:[Q("div",{className:"flex items-center justify-between p-4 mb-6 rounded-lg border border-border bg-muted/30",children:[Q("div",{className:"space-y-0.5 pr-4",children:[N("label",{htmlFor:"network-sandbox-switch",className:"text-sm font-medium text-foreground cursor-pointer",children:B.enable_network_sandbox()}),N("p",{className:"text-xs text-muted-foreground",children:B.network_sandbox_enabled_description()})]}),N(w0,{id:"network-sandbox-switch",checked:U,onCheckedChange:k,disabled:w})]}),!U&&Q("div",{className:"flex items-start gap-2.5 p-3.5 mb-6 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-300 text-sm",children:[N(A4,{className:"w-4 h-4 mt-0.5 shrink-0"}),N("span",{children:B.network_sandbox_disabled_notice()})]}),Q("form",{onSubmit:P,className:"flex gap-2 mb-6",children:[N(u,{placeholder:"e.g. api.openai.com",value:z,onChange:(W)=>H(W.target.value),disabled:w||!U}),Q(_,{type:"submit",disabled:w||!U,children:[w?N(m,{className:"w-4 h-4 animate-spin"}):N(T0,{className:"w-4 h-4 mr-2"}),B.add_domain()]})]}),Q("div",{className:"space-y-2",children:[N("h4",{className:"text-sm font-medium text-muted-foreground mb-3",children:B.allowed_domains()}),Q("div",{className:"flex flex-wrap gap-2",children:[Y?.allowedDomains.map((W)=>Q("div",{className:"flex items-center gap-1 px-3 py-1.5 bg-muted rounded-full text-sm border border-border transition-all hover:border-muted-foreground/50",children:[N("span",{className:"font-medium text-foreground",children:W}),N("button",{onClick:()=>R(W),className:"ml-1 text-muted-foreground hover:text-destructive transition-colors disabled:opacity-50 disabled:cursor-not-allowed",disabled:w||!U,children:N(q6,{className:"w-3.5 h-3.5"})})]},W)),Y?.allowedDomains.length===0&&N("div",{className:"text-sm text-muted-foreground italic",children:B.no_custom_domains_allowed()})]})]})]})]}),Q(r,{className:"border-orange-500/20 bg-orange-500/5",children:[Q(K0,{children:[Q("div",{className:"flex items-center gap-2",children:[N(A9,{className:"w-5 h-5 text-orange-500"}),N(P0,{children:B.pending_domain_approvals()})]}),N(G0,{children:B.pending_domains_description()})]}),N(e,{children:N("div",{className:"space-y-3",children:Y?.pendingDomains&&Y.pendingDomains.length>0?N("div",{className:"divide-y divide-border",children:Y.pendingDomains.map((W)=>Q("div",{className:"flex items-center justify-between py-2.5 first:pt-0 last:pb-0",children:[N("span",{className:"font-mono text-sm text-foreground bg-muted px-2 py-1 rounded break-all",children:W}),Q("div",{className:"flex items-center gap-2",children:[Q(_,{size:"sm",variant:"outline",className:"h-8 border-emerald-500/20 text-emerald-600 hover:bg-emerald-500/10 hover:text-emerald-600 dark:text-emerald-400 dark:hover:bg-emerald-500/20",onClick:()=>G(W),disabled:w||!U,children:[N(Z6,{className:"w-4 h-4 mr-1.5"}),B.approve()]}),Q(_,{size:"sm",variant:"outline",className:"h-8 border-destructive/20 text-destructive hover:bg-destructive/10",onClick:()=>K(W),disabled:w||!U,children:[N(C0,{className:"w-4 h-4 mr-1.5"}),B.delete()]})]})]},W))}):N("div",{className:"text-sm text-muted-foreground italic py-2",children:B.no_pending_domains()})})})]}),N(r,{children:Q(K0,{children:[N(P0,{children:B.filesystem_restriction()}),N(G0,{children:B.filesystem_restriction_description()})]})})]})})}var m0=Y0(B0(),1);var E1=(J)=>Q("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...J,children:[N("path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}),N("path",{d:"M9 18c-4.51 2-5-2-7-2"})]}),E9=({teamId:J})=>{let X=i(),{canAdmin:z}=V4(),[H,Y]=m0.useState(!1),[Z,q]=m0.useState(!1),[w,k]=m0.useState(!1),[P,R]=m0.useState(null),{data:G,isLoading:K}=o({queryKey:["teams",J,"skills"],queryFn:async()=>{let h=await I.api.teams[":teamId"].skills.$get({param:{teamId:J}});if(!h.ok)throw Error(B.failed_load_settings());return await h.json()}}),U=p({mutationFn:async(h)=>{if(!(await I.api.skills[":id"].$delete({param:{id:h}})).ok)throw Error(B.failed_to_delete())},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",J,"skills"]}),k(!1)}}),W=p({mutationFn:async({id:h,permission:A})=>{if(!(await I.api.skills[":id"].permission.$patch({param:{id:h},json:{permission:A}})).ok)throw Error(B.failed_to_update_permission())},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",J,"skills"]})},onError:(h)=>{alert(h.message||B.failed_to_update_permission())}}),T=G?.skills||[];return Q(r,{children:[Q(K0,{className:"flex flex-row items-center justify-between space-y-0 pb-7",children:[Q("div",{className:"flex items-center gap-3",children:[N("div",{className:"p-2 bg-primary/10 text-primary rounded-lg",children:N(p0,{className:"w-6 h-6"})}),Q("div",{children:[N(P0,{className:"text-xl font-bold",children:B.skills_management()}),N(G0,{children:B.skills_management_description()})]})]}),Q(_,{onClick:()=>Y(!0),className:"gap-2",children:[N(T0,{className:"w-4 h-4"})," ",B.add_skill()]})]}),N(e,{children:K?N("div",{className:"flex justify-center py-10",children:N(m,{className:"w-8 h-8 animate-spin text-primary"})}):T.length===0?Q("div",{className:"text-center py-12 border-2 border-dashed border-border rounded-xl",children:[N("div",{className:"mx-auto w-12 h-12 bg-muted rounded-full flex items-center justify-center mb-4 text-muted-foreground",children:N(p0,{className:"w-6 h-6"})}),N("h3",{className:"text-lg font-medium text-foreground",children:B.no_skills_installed()}),N("p",{className:"text-muted-foreground mt-1 max-w-xs mx-auto",children:B.add_skill_to_get_started()})]}):N("div",{className:"space-y-4",children:T.map((h)=>N(b1,{skill:h,canAdmin:z,onDelete:()=>{R(h),k(!0)},onConfigure:()=>{R(h),q(!0)},onPermissionChange:(A)=>W.mutate({id:h.id,permission:A})},h.id))})}),N(y1,{open:H,onOpenChange:Y,teamId:J}),P&&N(O1,{open:Z,onOpenChange:(h)=>{if(q(h),!h)setTimeout(()=>{document.body.style.pointerEvents="auto"},100)},teamId:J,skill:P}),N(i0,{open:w,onOpenChange:k,children:Q(r0,{children:[Q(s0,{children:[N(N4,{children:B.are_you_absolutely_sure()}),N(J4,{children:B.delete_skill_confirmation({name:P?.name??""})})]}),Q(e0,{children:[N(z4,{children:B.cancel()}),Q(X4,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{if(P)U.mutate(P.id)},children:[U.isPending?N(m,{className:"w-4 h-4 animate-spin mr-2"}):N(C0,{className:"w-4 h-4 mr-2"}),B.delete()]})]})]})})]})},b1=({skill:J,canAdmin:X,onDelete:z,onConfigure:H,onPermissionChange:Y})=>{return Q("div",{className:"p-4 bg-card rounded-xl border border-border flex flex-col justify-between hover:shadow-md transition-all group cursor-pointer",onClick:H,children:[Q("div",{children:[Q("div",{className:"flex items-start justify-between mb-2",children:[N("h4",{className:"font-bold text-foreground flex items-center gap-2",children:J.name}),Q(H4,{children:[N(Z4,{asChild:!0,onClick:(Z)=>Z.stopPropagation(),children:N(_,{variant:"ghost",size:"icon",className:"h-8 w-8",children:N(Q4,{className:"w-4 h-4"})})}),N(q4,{align:"end",className:"w-32",children:Q(d0,{onClick:(Z)=>{Z.stopPropagation(),z()},className:"text-destructive focus:text-destructive gap-2 cursor-pointer",children:[N(C0,{className:"w-4 h-4"})," ",B.delete()]})})]})]}),N("p",{className:"text-sm text-muted-foreground line-clamp-2",children:J.description||B.no_description_provided()})]}),Q("div",{className:"mt-4 flex items-center justify-between gap-2 pt-2 border-t border-border/50 text-xs",children:[Q("span",{className:"text-[10px] text-muted-foreground uppercase tracking-wider font-semibold",children:[B.updated_date()," ",new Date(J.updatedAt).toLocaleDateString()]}),N("div",{className:"flex items-center gap-2",onClick:(Z)=>Z.stopPropagation(),children:Q(Q0,{value:J.permission||"reviewer",onValueChange:(Z)=>Y(Z),disabled:!X,children:[N(Z0,{className:"h-7 text-xs px-2 bg-background border-border w-[140px]",children:N(H0,{placeholder:B.skill_permission()})}),Q(q0,{align:"end",children:[N(v,{value:"reviewer",children:B.permission_all_users()}),N(v,{value:"editor",children:B.permission_owner_and_editor()}),N(v,{value:"owner",children:B.permission_owner_only()})]})]})})]})]})},y1=({open:J,onOpenChange:X,teamId:z})=>{let H=i(),[Y,Z]=m0.useState(""),[q,w]=m0.useState(!1),k=m0.useRef(null),{data:P}=o({queryKey:["teams",z,"projects"],queryFn:async()=>{let K=await I.api.teams[":teamId"].projects.$get({param:{teamId:z},query:{first:"1"}});if(!K.ok)throw Error("Failed to fetch projects");return await K.json()},enabled:J}),R=async(K)=>{w(!0);try{let U=await I.api.teams[":teamId"].skills.$post({param:{teamId:z},json:K});if(U.status===409){let W=await U.json();if(window.confirm(`${W.error}
|
|
2
|
+
|
|
3
|
+
${B.override_existing_skill()}`)){await R({...K,override:!0});return}}else if(!U.ok){let W=await U.json().catch(()=>({}));throw Error(W.error||B.failed_to_install_skill())}else H.invalidateQueries({queryKey:["teams",z,"skills"]}),X(!1),Z("")}catch(U){if(U instanceof Error)alert(U.message);else alert(B.an_unknown_error_occurred())}finally{w(!1)}},G=async(K)=>{if(!K||K.length===0)return;let U=P?.data?.[0]?.id;if(!U){alert(B.need_project_to_upload_skills());return}let W=K[0];if(!W.name.toLowerCase().endsWith(".zip")){alert(B.only_zip_files_supported());return}w(!0);try{let T=W.name,h=W.type||"application/zip",A=await I.api.projects[":projectId"].attachments.$post({param:{projectId:U},json:{fileName:T,size:W.size,contentType:h}});if(!A.ok)throw Error("Failed to get upload URL");let{id:y,uploadUrl:D}=await A.json();if(!(await fetch(D,{method:"PUT",body:W,headers:{"Content-Type":h}})).ok)throw Error("Failed to upload file to storage");await R({assetId:y})}catch(T){if(T instanceof Error)alert(T.message);else alert(B.an_unknown_error_occurred())}finally{w(!1)}};return N(_0,{open:J,onOpenChange:X,children:Q(M0,{className:"sm:max-w-[450px]",children:[Q(I0,{children:[N(F0,{children:B.add_new_skill()}),N(n0,{children:B.import_skill_description()})]}),Q("div",{className:"space-y-6 pt-4",children:[Q("div",{className:"space-y-3",children:[N(a,{children:B.package_upload()}),Q("div",{onClick:()=>!q&&k.current?.click(),className:d("group relative h-32 border-2 border-dashed rounded-xl flex flex-col items-center justify-center transition-all cursor-pointer",q?"opacity-50 cursor-not-allowed bg-muted/50 border-border":"hover:bg-primary/5 hover:border-primary/50 border-border"),children:[N("input",{type:"file",ref:k,className:"hidden",accept:".zip",onChange:(K)=>G(K.target.files)}),N("div",{className:"p-3 bg-muted rounded-full group-hover:bg-primary/10 transition-colors",children:N(D9,{className:"w-6 h-6 text-muted-foreground group-hover:text-primary"})}),Q("div",{className:"mt-3 text-center",children:[N("p",{className:"text-sm font-medium text-foreground",children:B.select_zip_file()}),N("p",{className:"text-[10px] text-muted-foreground mt-1 uppercase tracking-wider font-semibold",children:B.packages_must_contain_skill_md()})]})]}),q&&!Y&&Q("div",{className:"flex items-center gap-2 text-sm text-primary justify-center bg-primary/10 py-2 rounded-lg animate-pulse",children:[N(m,{className:"w-4 h-4 animate-spin"}),B.processing_package()]})]}),Q("div",{className:"relative",children:[N("div",{className:"absolute inset-0 flex items-center",children:N("span",{className:"w-full border-t border-border"})}),N("div",{className:"relative flex justify-center text-xs uppercase",children:N("span",{className:"bg-background px-2 text-muted-foreground font-bold",children:B.or()})})]}),N("div",{className:"space-y-4",children:Q("div",{className:"space-y-2",children:[N(a,{htmlFor:"githubUrl",children:B.github_repository_url()}),Q("div",{className:"flex gap-2",children:[Q("div",{className:"relative flex-1",children:[N(E1,{className:"absolute left-3 top-2.5 w-4 h-4 text-muted-foreground"}),N(u,{id:"githubUrl",placeholder:"https://github.com/owner/repo",value:Y,onChange:(K)=>Z(K.target.value),disabled:q,className:"pl-9"})]}),N(_,{onClick:()=>R({githubUrl:Y}),disabled:!Y||q,className:"px-6",children:q&&Y?N(m,{className:"w-4 h-4 animate-spin"}):B.install()})]}),N("p",{className:"text-[10px] text-muted-foreground italic",children:B.github_url_example()})]})})]})]})})},O1=({open:J,onOpenChange:X,teamId:z,skill:H})=>{let Y=i(),[Z,q]=m0.useState({...H.config||{},environmentVariables:H.config?.environmentVariables||[]}),[w,k]=m0.useState(!1),P=(T,h)=>{let A=[...Z.environmentVariables];A[T]={...A[T],default:h},q({...Z,environmentVariables:A})},R=(T,h)=>{let A=[...Z.environmentVariables];A[T]={...A[T],name:h},q({...Z,environmentVariables:A})},G=()=>{q({...Z,environmentVariables:[...Z.environmentVariables,{name:"",default:""}]})},K=(T)=>{let h=[...Z.environmentVariables];h.splice(T,1),q({...Z,environmentVariables:h})},U=async()=>{let T=Z.environmentVariables.filter((A)=>A.name.trim()!==""),h={...Z,environmentVariables:T};k(!0);try{let A=await I.api.skills[":id"].config.$patch({param:{id:H.id},json:{config:h}});if(!A.ok){let y=await A.json().catch(()=>({}));throw Error(y.error||"Failed to update config")}Y.invalidateQueries({queryKey:["teams",z,"skills"]}),X(!1)}catch(A){if(A instanceof Error)alert(A.message);else alert(B.an_unknown_error_occurred())}finally{k(!1)}},W=Z?.environmentVariables||[];return N(_0,{open:J,onOpenChange:X,children:Q(M0,{className:"sm:max-w-[500px]",children:[Q(I0,{children:[N("div",{className:"flex items-center justify-between",children:Q(F0,{className:"flex items-center gap-2",children:[N(h9,{className:"w-5 h-5 text-primary"}),B.configure_skill({name:H.name})]})}),N(n0,{children:B.manage_env_vars_description()})]}),N(O0,{className:"max-h-[60vh]",children:N("div",{className:"py-4 space-y-4 pr-4",children:W.length===0?N("div",{className:"text-center py-10 bg-muted/50 rounded-xl border border-dashed border-border",children:N("p",{className:"text-muted-foreground text-sm italic",children:B.no_env_vars_found()})}):W.map((T,h)=>Q("div",{className:"p-4 bg-muted/50 rounded-xl border border-border space-y-3 relative group",children:[N("button",{onClick:()=>K(h),className:"absolute top-2 right-2 p-1 text-muted-foreground hover:text-destructive hover:bg-destructive/10 rounded-md transition-colors opacity-0 group-hover:opacity-100",children:N(q6,{className:"w-4 h-4"})}),Q("div",{className:"space-y-1.5",children:[N(a,{className:"text-[10px] uppercase tracking-wider font-bold text-muted-foreground",children:B.variable_name()}),N(u,{value:T.name,onChange:(A)=>R(h,A.target.value),placeholder:"e.g. API_KEY",className:"h-8 bg-background border-border text-sm font-mono"})]}),Q("div",{className:"space-y-1.5",children:[N(a,{className:"text-[10px] uppercase tracking-wider font-bold text-muted-foreground",children:B.default_value()}),N(u,{value:T.default||"",onChange:(A)=>P(h,A.target.value),placeholder:B.optional_default_value_placeholder(),className:"h-8 bg-background border-border text-sm"}),N("p",{className:"text-[10px] text-muted-foreground italic",children:B.env_var_empty_note()})]})]},h))})}),Q($0,{className:"flex items-center justify-between sm:justify-between w-full pt-2 border-t border-border",children:[Q(_,{variant:"ghost",size:"sm",onClick:G,className:"h-8 gap-1.5 text-primary hover:text-primary hover:bg-primary/10",children:[N(T0,{className:"w-3.5 h-3.5"})," ",B.add_variable()]}),Q("div",{className:"flex gap-2",children:[N(_,{variant:"ghost",onClick:()=>X(!1),children:B.cancel()}),Q(_,{onClick:U,disabled:w,className:"px-8",children:[w?N(m,{className:"w-4 h-4 animate-spin mr-2"}):null,B.save_changes()]})]})]})]})})};var j4=Y0(B0(),1);var k0=Y0(B0(),1);var O9=({isOpen:J,onClose:X,teamId:z,server:H})=>{let Y=i(),Z=!!H,[q,w]=k0.useState(""),[k,P]=k0.useState("streamable_http"),[R,G]=k0.useState("reviewer"),[K,U]=k0.useState("auto"),[W,T]=k0.useState(""),[h,A]=k0.useState(""),[y,D]=k0.useState(""),[b,V]=k0.useState(""),[C,L]=k0.useState("authorization_code"),[E,O]=k0.useState([]),[c,x]=k0.useState([]),[l,j]=k0.useState({}),[g,$]=k0.useState(!1);k0.useEffect(()=>{if(H)w(H.url),P(H.transport||"streamable_http"),G(H.permission||"reviewer"),U(H.authType||"auto"),O(Array.isArray(H.config?.directTools)?H.config.directTools:[]),x(H.config?.excludeTools??[]),j({}),$(!1);else w(""),P("streamable_http"),G("reviewer"),U("auto"),T(""),A(""),D(""),V(""),L("authorization_code"),O([]),x([]),j({}),$(!1)},[H,J]);let E0=()=>{if(K==="none")return{type:"none"};if(K==="bearer")return{type:"bearer",bearerToken:W||void 0};if(K==="oauth")return{type:"oauth",oauth:{grantType:C,clientId:h||void 0,clientSecret:y||void 0,scope:b||void 0}};return},{data:F4,isLoading:x0,refetch:p4}=o({queryKey:["mcp","servers",H?.id,"tools"],queryFn:async()=>{if(!H?.id)return{tools:[]};let M=await I.api.mcp.servers[":id"].tools.$get({param:{id:H.id}});if(!M.ok)throw Error("Failed to fetch tools");return await M.json()},enabled:J&&Z&&!!H?.id}),Y4=p({mutationFn:async()=>{if(!H?.id)return;let M=await I.api.mcp.servers[":id"].refresh.$post({param:{id:H.id}});if(!M.ok){let z0=await M.json().catch(()=>({}));throw Error(z0.error||"Failed to refresh server")}return await M.json()},onSuccess:()=>{S.success(B.mcp_refresh_server_success()),p4(),Y.invalidateQueries({queryKey:["teams",z,"mcp","servers"]})},onError:(M)=>{S.error(M.message)}}),T4=p({mutationFn:async()=>{let M={directTools:E.length>0?E:void 0,excludeTools:c.length>0?c:void 0};if(Z&&H){let z0={transport:k,permission:R,authConfig:E0(),config:M},n=await I.api.mcp.servers[":id"].$patch({param:{id:H.id},json:z0});if(!n.ok){let L0=await n.json().catch(()=>({}));throw Error(L0.error||B.failed_to_update_permission())}return await n.json()}else{let z0={url:q.trim()},n=await I.api.teams[":teamId"].mcp.servers.$post({param:{teamId:z},json:z0});if(!n.ok){let g4=await n.json().catch(()=>({}));throw Error(g4.error||B.an_unknown_error_occurred())}return await n.json()}},onSuccess:()=>{S.success(Z?B.profile_updated():B.mcp_servers()),Y.invalidateQueries({queryKey:["teams",z,"mcp","servers"]}),X()},onError:(M)=>{S.error(M.message)}}),j6=(M)=>{if(M.preventDefault(),!q.trim())return;T4.mutate()},S4=F4?.tools??[],Y1=(M)=>{if(c.includes(M))return"off";if(E.includes(M))return"direct";return"on"},B1=(M,z0)=>{if(z0==="off")x((n)=>n.includes(M)?n:[...n,M]),O((n)=>n.filter((L0)=>L0!==M));else if(z0==="on")x((n)=>n.filter((L0)=>L0!==M)),O((n)=>n.filter((L0)=>L0!==M));else if(z0==="direct")x((n)=>n.filter((L0)=>L0!==M)),O((n)=>n.includes(M)?n:[...n,M])},P6=(M)=>{let z0=S4.map((n)=>n.name);if(M==="off")x(z0),O([]);else if(M==="on")x([]),O([]);else if(M==="direct")x([]),O(z0)},Q1=(M)=>{j((z0)=>({...z0,[M]:!z0[M]}))};return N(_0,{open:J,onOpenChange:(M)=>!M&&X(),children:Z&&H?Q(M0,{className:"sm:max-w-2xl h-[85vh] flex flex-col p-0 overflow-hidden",children:[Y4.isPending&&Q("div",{className:"absolute inset-0 bg-background/60 backdrop-blur-[1px] flex flex-col items-center justify-center z-50 rounded-lg",children:[N(m,{className:"w-8 h-8 animate-spin text-primary mb-2"}),Q("span",{className:"text-xs font-medium text-muted-foreground",children:[B.mcp_refresh_server(),"..."]})]}),Q(I0,{className:"p-6 pb-4 border-b border-border flex-shrink-0",children:[Q(F0,{className:"flex items-center gap-2 text-xl font-bold",children:[N(V0,{className:"w-5 h-5 text-primary"}),B.edit_mcp_server()]}),N(n0,{children:B.mcp_servers_description()})]}),Q("form",{onSubmit:j6,className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[N(O0,{className:"flex-1 min-h-0",children:Q("div",{className:"p-6 space-y-5",children:[Q("div",{className:"grid grid-cols-1 gap-3 p-3 bg-muted/30 border border-border rounded-lg",children:[Q("div",{className:"flex flex-col",children:[N("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-semibold",children:B.mcp_server_name()}),N("span",{className:"text-sm font-medium",children:H.name})]}),Q("div",{className:"flex flex-col",children:[N("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-semibold",children:B.mcp_server_url()}),N("span",{className:"text-sm font-mono text-foreground break-all",children:H.url})]}),H.description&&Q("div",{className:"flex flex-col",children:[N("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-semibold",children:B.description()}),N("span",{className:"text-sm text-foreground",children:H.description})]}),Q("span",{className:"text-[10px] text-muted-foreground flex items-center gap-1.5",children:[N(A4,{className:"w-3 h-3"}),B.mcp_server_auto_detected()]})]}),H.instructions&&Q("div",{className:"p-3 bg-muted/20 border border-border rounded-lg space-y-1",children:[N("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-semibold block",children:B.mcp_server_instructions()}),N("p",{onClick:()=>$((M)=>!M),className:`text-xs text-muted-foreground whitespace-pre-wrap leading-relaxed cursor-pointer transition-all ${g?"":"line-clamp-2"}`,title:g?void 0:"Click to expand instructions",children:H.instructions})]}),Q("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 pt-3 border-t border-border",children:[Q("div",{className:"space-y-1.5",children:[N(a,{className:"text-xs",children:B.mcp_transport()}),Q(Q0,{value:k,onValueChange:(M)=>P(M),children:[N(Z0,{className:"h-9 text-xs",children:N(H0,{})}),Q(q0,{children:[N(v,{value:"streamable_http",children:"Streamable HTTP"}),N(v,{value:"sse",children:"Server-Sent Events (SSE)"})]})]})]}),Q("div",{className:"space-y-1.5",children:[N(a,{className:"text-xs",children:B.skill_permission()}),Q(Q0,{value:R,onValueChange:(M)=>G(M),children:[N(Z0,{className:"h-9 text-xs",children:N(H0,{})}),Q(q0,{children:[N(v,{value:"reviewer",children:B.permission_all_users()}),N(v,{value:"editor",children:B.permission_owner_and_editor()}),N(v,{value:"owner",children:B.permission_owner_only()})]})]})]})]}),Q("div",{className:"space-y-3 pt-3 border-t border-border",children:[Q("div",{className:"space-y-1.5",children:[N(a,{className:"text-xs",children:B.mcp_auth_type()}),Q(Q0,{value:K,onValueChange:(M)=>U(M),children:[N(Z0,{className:"h-9 text-xs",children:N(H0,{})}),Q(q0,{children:[N(v,{value:"auto",children:B.mcp_auth_auto()}),N(v,{value:"none",children:B.mcp_auth_none()}),N(v,{value:"bearer",children:B.mcp_auth_bearer()}),N(v,{value:"oauth",children:B.mcp_auth_oauth()})]})]})]}),K==="bearer"&&Q("div",{className:"space-y-1.5",children:[N(a,{className:"text-xs",children:B.mcp_bearer_token()}),N(u,{className:"h-9 text-xs font-mono",type:"password",value:W,onChange:(M)=>T(M.target.value),placeholder:"Enter token string"})]}),K==="oauth"&&Q("div",{className:"p-3 bg-muted/20 border border-border rounded-lg space-y-3",children:[Q("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[Q("div",{className:"space-y-1.5",children:[N(a,{className:"text-xs",children:B.mcp_oauth_grant_type()}),Q(Q0,{value:C,onValueChange:(M)=>L(M),children:[N(Z0,{className:"h-9 text-xs",children:N(H0,{})}),Q(q0,{children:[N(v,{value:"authorization_code",children:"Authorization Code"}),N(v,{value:"client_credentials",children:"Client Credentials"})]})]})]}),Q("div",{className:"space-y-1.5",children:[N(a,{className:"text-xs",children:B.mcp_oauth_client_id()}),N(u,{className:"h-9 text-xs",value:h,onChange:(M)=>A(M.target.value),placeholder:"Optional Client ID"})]})]}),Q("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[Q("div",{className:"space-y-1.5",children:[N(a,{className:"text-xs",children:B.mcp_oauth_client_secret()}),N(u,{className:"h-9 text-xs",type:"password",value:y,onChange:(M)=>D(M.target.value),placeholder:"Optional Secret"})]}),Q("div",{className:"space-y-1.5",children:[N(a,{className:"text-xs",children:B.mcp_oauth_scope()}),N(u,{className:"h-9 text-xs",value:b,onChange:(M)=>V(M.target.value),placeholder:"Optional scope"})]})]})]})]}),Q("div",{className:"space-y-3 pt-3 border-t border-border",children:[Q("div",{className:"space-y-2.5",children:[Q(a,{className:"text-xs font-semibold flex items-center gap-1.5",children:[N(U6,{className:"w-3.5 h-3.5"}),B.mcp_tools()," (",S4.length,")"]}),N("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:B.mcp_tools_desc()}),S4.length>0&&Q("div",{className:"flex items-center gap-1.5 pt-0.5",children:[N(_,{type:"button",variant:"outline",size:"sm",className:"h-7 text-[11px] px-2.5",onClick:()=>P6("off"),disabled:Y4.isPending||x0,children:B.mcp_bulk_all_off()}),N(_,{type:"button",variant:"outline",size:"sm",className:"h-7 text-[11px] px-2.5",onClick:()=>P6("on"),disabled:Y4.isPending||x0,children:B.mcp_bulk_all_proxy()}),N(_,{type:"button",variant:"outline",size:"sm",className:"h-7 text-[11px] px-2.5",onClick:()=>P6("direct"),disabled:Y4.isPending||x0,children:B.mcp_bulk_all_direct()})]})]}),N("div",{className:"space-y-2",children:x0?N("div",{className:"flex justify-center py-8",children:N(m,{className:"w-6 h-6 animate-spin text-primary"})}):S4.length===0?N("div",{className:"text-center py-6 text-muted-foreground text-xs",children:B.no_tools_found()}):S4.map((M)=>{let z0=Y1(M.name),n=!!l[M.name],L0=M.inputSchema,g4=L0?.properties&&Object.keys(L0.properties).length>0;return Q("div",{className:`border border-border rounded-lg p-3 transition-colors ${z0!=="off"?"bg-card":"bg-muted/30 opacity-70"}`,children:[Q("div",{className:"flex items-start justify-between gap-3",children:[Q("div",{className:"flex items-start gap-2 flex-1 min-w-0 cursor-pointer",onClick:()=>g4&&Q1(M.name),children:[g4?n?N(Y6,{className:"w-4 h-4 text-muted-foreground mt-0.5 shrink-0"}):N(Q6,{className:"w-4 h-4 text-muted-foreground mt-0.5 shrink-0"}):N("div",{className:"w-4 h-4 shrink-0"}),Q("div",{className:"min-w-0 flex-1",children:[Q("div",{className:"flex items-center gap-2 flex-wrap",children:[N("span",{className:"font-mono text-xs font-bold text-foreground break-all",children:M.name}),M.title&&N(W0,{variant:"outline",className:"text-[10px]",children:M.title})]}),M.description&&N("p",{className:"text-xs text-muted-foreground mt-1 break-words line-clamp-3",children:M.description})]})]}),N("div",{className:"flex items-center gap-2 shrink-0",children:Q(y9,{type:"single",value:z0,onValueChange:(C4)=>{if(C4)B1(M.name,C4)},size:"sm",variant:"outline",disabled:Y4.isPending||x0,children:[N(W6,{value:"off",className:"text-[11px] px-2 h-7",children:B.mcp_tool_state_disabled()}),N(W6,{value:"on",className:"text-[11px] px-2 h-7",children:B.mcp_tool_state_proxy()}),N(W6,{value:"direct",className:"text-[11px] px-2 h-7",children:B.mcp_tool_state_direct()})]})})]}),n&&g4&&Q("div",{className:"mt-3 pt-3 border-t border-border/60 pl-6 space-y-2",children:[N("span",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:B.tool_parameters()}),N("div",{className:"grid grid-cols-1 gap-1.5",children:Object.entries(L0.properties).map(([C4,G6])=>{let H1=L0.required?.includes(C4);return Q("div",{className:"flex flex-col sm:flex-row sm:items-baseline justify-between gap-1 sm:gap-2 p-2 bg-muted/20 rounded text-xs min-w-0",children:[Q("div",{className:"flex items-center gap-1.5 flex-wrap min-w-0",children:[N("span",{className:"font-mono font-semibold break-all",children:C4}),H1&&N("span",{className:"text-[10px] text-red-500 font-bold",children:"*"}),N(W0,{variant:"secondary",className:"text-[9px] px-1 py-0",children:G6.type||"any"})]}),G6.description&&N("span",{className:"text-[11px] text-muted-foreground break-words sm:max-w-[320px]",children:G6.description})]},C4)})})]})]},M.name)})})]})]})}),Q($0,{className:"p-6 pt-4 border-t border-border flex-shrink-0",children:[Q(_,{type:"button",variant:"outline",onClick:()=>Y4.mutate(),disabled:Y4.isPending||x0||T4.isPending,className:"gap-1.5 mr-auto",children:[N(b9,{className:`w-4 h-4 ${Y4.isPending?"animate-spin":""}`}),B.mcp_refresh_server()]}),N(_,{type:"button",variant:"outline",onClick:X,children:B.cancel()}),Q(_,{type:"submit",disabled:T4.isPending||!q,children:[T4.isPending&&N(m,{className:"w-4 h-4 mr-2 animate-spin"}),B.save_changes()]})]})]})]}):Q(M0,{className:"sm:max-w-md",children:[Q(I0,{children:[Q(F0,{className:"flex items-center gap-2 text-xl font-bold",children:[N(V0,{className:"w-5 h-5 text-primary"}),B.add_mcp_server()]}),N(n0,{children:B.mcp_servers_description()})]}),Q("form",{onSubmit:j6,className:"space-y-4",children:[Q("div",{className:"space-y-2",children:[N(a,{className:"text-xs font-semibold",children:B.mcp_server_url()}),N(u,{value:q,onChange:(M)=>w(M.target.value),placeholder:"https://mcp.example.com/mcp",type:"url",required:!0}),Q("p",{className:"text-[11px] text-muted-foreground flex items-center gap-1.5",children:[N(A4,{className:"w-3.5 h-3.5"}),B.mcp_server_auto_detected()]})]}),Q($0,{children:[N(_,{type:"button",variant:"outline",onClick:X,children:B.cancel()}),Q(_,{type:"submit",disabled:T4.isPending||!q,children:[T4.isPending&&N(m,{className:"w-4 h-4 mr-2 animate-spin"}),B.create()]})]})]})]})})};var g9=({teamId:J})=>{let X=i(),{canAdmin:z}=V4(),[H,Y]=j4.useState(!1),[Z,q]=j4.useState(null),[w,k]=j4.useState(null),[P,R]=j4.useState(null),{data:G,isLoading:K}=o({queryKey:["teams",J,"mcp","servers"],queryFn:async()=>{let D=await I.api.teams[":teamId"].mcp.servers.$get({param:{teamId:J}});if(!D.ok)throw Error(B.failed_load_settings());return await D.json()}}),U=p({mutationFn:async(D)=>{if(!(await I.api.mcp.servers[":id"].$delete({param:{id:D}})).ok)throw Error(B.failed_to_delete())},onSuccess:()=>{S.success(B.delete()),X.invalidateQueries({queryKey:["teams",J,"mcp","servers"]}),k(null)},onError:(D)=>{S.error(D.message)}}),W=p({mutationFn:async({id:D,permission:b})=>{if(!(await I.api.mcp.servers[":id"].permission.$patch({param:{id:D},json:{permission:b}})).ok)throw Error(B.failed_to_update_permission())},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",J,"mcp","servers"]})},onError:(D)=>{S.error(D.message)}}),T=p({mutationFn:async(D)=>{if(!(await I.api.mcp.servers[":id"].auth.$delete({param:{id:D}})).ok)throw Error("Failed to disconnect auth")},onSuccess:()=>{S.success(B.mcp_disconnect_auth()),X.invalidateQueries({queryKey:["teams",J,"mcp","servers"]})},onError:(D)=>{S.error(D.message)}}),h=async(D)=>{R(D);try{let b=await I.api.mcp.servers[":id"].auth.start.$post({param:{id:D}});if(!b.ok){let C=await b.json().catch(()=>({}));throw Error(C.error||B.mcp_auth_failed())}let V=await b.json();if(V.status==="authenticated"){S.success(B.mcp_auth_success()),X.invalidateQueries({queryKey:["teams",J,"mcp","servers"]}),R(null);return}if(V.authorizationUrl){let E=window.screenX+(window.outerWidth-600)/2,O=window.screenY+(window.outerHeight-700)/2,c=window.open(V.authorizationUrl,"mcp_oauth_popup",`width=600,height=700,left=${E},top=${O},scrollbars=yes`),x=(j)=>{if(j.data?.type==="mcp-oauth-callback")if(window.removeEventListener("message",x),R(null),j.data.ok)S.success(B.mcp_auth_success()),X.invalidateQueries({queryKey:["teams",J,"mcp","servers"]});else S.error(j.data.message||B.mcp_auth_failed())};window.addEventListener("message",x);let l=setInterval(()=>{if(!c||c.closed)clearInterval(l),window.removeEventListener("message",x),R(null),X.invalidateQueries({queryKey:["teams",J,"mcp","servers"]})},1000)}}catch(b){S.error(b instanceof Error?b.message:B.mcp_auth_failed()),R(null)}},A=G?.servers||[],y=(D)=>{switch(D.status){case"connected":return Q(W0,{variant:"secondary",className:"gap-1 bg-emerald-500/10 text-emerald-600 border-emerald-500/20 text-[10px]",children:[N(M9,{className:"w-3 h-3"}),B.mcp_status_connected()]});case"needs_auth":return Q(W0,{variant:"secondary",className:"gap-1 bg-amber-500/10 text-amber-600 border-amber-500/20 text-[10px]",children:[N(M4,{className:"w-3 h-3"}),B.mcp_status_needs_auth()]});case"failed":return Q(W0,{variant:"secondary",className:"gap-1 bg-red-500/10 text-red-600 border-red-500/20 text-[10px]",children:[N(V9,{className:"w-3 h-3"}),B.mcp_status_failed()]});default:return Q(W0,{variant:"outline",className:"gap-1 text-[10px]",children:[N(I9,{className:"w-3 h-3 text-muted-foreground"}),B.mcp_status_not_connected()]})}};return Q(r,{children:[Q(K0,{className:"flex flex-row items-center justify-between space-y-0 pb-7",children:[Q("div",{className:"flex items-center gap-3",children:[N("div",{className:"p-2 bg-primary/10 text-primary rounded-lg",children:N(V0,{className:"w-6 h-6"})}),Q("div",{children:[N(P0,{className:"text-xl font-bold",children:B.mcp_servers()}),N(G0,{children:B.mcp_servers_description()})]})]}),z&&Q(_,{onClick:()=>Y(!0),className:"gap-2",children:[N(T0,{className:"w-4 h-4"})," ",B.add_mcp_server()]})]}),N(e,{children:K?N("div",{className:"flex justify-center py-10",children:N(m,{className:"w-8 h-8 animate-spin text-primary"})}):A.length===0?Q("div",{className:"text-center py-12 border-2 border-dashed border-border rounded-xl",children:[N("div",{className:"mx-auto w-12 h-12 bg-muted rounded-full flex items-center justify-center mb-4 text-muted-foreground",children:N(V0,{className:"w-6 h-6"})}),N("h3",{className:"text-base font-semibold",children:B.no_mcp_servers_installed()}),N("p",{className:"text-xs text-muted-foreground mt-1 max-w-sm mx-auto",children:B.add_mcp_server_to_get_started()}),z&&Q(_,{onClick:()=>Y(!0),className:"mt-4 gap-2",variant:"outline",children:[N(T0,{className:"w-4 h-4"})," ",B.add_mcp_server()]})]}):N("div",{className:"space-y-4",children:A.map((D)=>{let b=P===D.id,V=D.status==="needs_auth"||!D.hasCredential&&D.authType!=="none";return Q("div",{onClick:()=>z&&q(D),className:`p-4 bg-card rounded-xl border border-border flex flex-col justify-between hover:shadow-md transition-all group ${z?"cursor-pointer":""}`,children:[Q("div",{className:"flex items-start justify-between gap-2 mb-2",children:[Q("h4",{className:"font-bold text-foreground flex items-center gap-2 min-w-0",children:[N(V0,{className:"w-4 h-4 text-muted-foreground shrink-0"}),N("span",{className:"truncate",children:D.name}),N(W0,{variant:"outline",className:"text-[10px] uppercase shrink-0",children:D.transport})]}),z&&Q(H4,{modal:!1,children:[N(Z4,{asChild:!0,onClick:(C)=>C.stopPropagation(),children:N(_,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0",children:N(Q4,{className:"w-4 h-4"})})}),Q(q4,{align:"end",children:[D.status!=="connected"&&(D.authType!=="none"||D.hasCredential)?Q(d0,{onClick:(C)=>{C.stopPropagation(),h(D.id)},children:[N(M4,{className:"w-4 h-4 mr-2"}),B.mcp_connect_auth()]}):null,D.hasCredential&&Q(d0,{onClick:(C)=>{C.stopPropagation(),T.mutate(D.id)},className:"text-amber-600",children:[N(F9,{className:"w-4 h-4 mr-2"}),B.mcp_disconnect_auth()]}),(D.status!=="connected"&&(D.authType!=="none"||D.hasCredential)||D.hasCredential)&&N(S9,{}),Q(d0,{onClick:(C)=>{C.stopPropagation(),k(D)},className:"text-red-600",children:[N(C0,{className:"w-4 h-4 mr-2"}),B.delete()]})]})]})]}),Q("div",{className:"space-y-1",children:[N("p",{className:"text-sm text-muted-foreground line-clamp-2",children:D.description||B.no_description_provided()}),N("p",{className:"font-mono text-[10px] text-muted-foreground/70 truncate",children:D.url}),D.lastError&&N("p",{className:"text-[10px] text-red-500/90 truncate font-mono",children:D.lastError})]}),Q("div",{className:"mt-4 flex items-center justify-between gap-2 pt-2 border-t border-border/50 text-xs",children:[Q("div",{className:"flex items-center gap-2 min-w-0",children:[y(D),Q(W0,{variant:"outline",className:"text-[10px] gap-1 shrink-0",children:[N(U6,{className:"w-3 h-3 text-muted-foreground"}),B.mcp_tools_count({count:D.toolCount})]}),Q("span",{className:"text-[10px] text-muted-foreground uppercase tracking-wider font-semibold whitespace-nowrap",children:[B.updated_date()," ",new Date(D.updatedAt).toLocaleDateString()]})]}),Q("div",{className:"flex items-center gap-2 shrink-0",onClick:(C)=>C.stopPropagation(),children:[z?Q(Q0,{value:D.permission,onValueChange:(C)=>W.mutate({id:D.id,permission:C}),children:[N(Z0,{className:"h-7 text-xs px-2 bg-background border-border w-[130px]",children:N(H0,{})}),Q(q0,{align:"end",children:[N(v,{value:"reviewer",children:B.permission_all_users()}),N(v,{value:"editor",children:B.permission_owner_and_editor()}),N(v,{value:"owner",children:B.permission_owner_only()})]})]}):N(W0,{variant:"outline",className:"text-[10px]",children:D.permission==="reviewer"?B.permission_all_users():D.permission==="editor"?B.permission_owner_and_editor():B.permission_owner_only()}),V&&z&&Q(_,{size:"sm",variant:"default",onClick:(C)=>{C.stopPropagation(),h(D.id)},disabled:b,className:"gap-1.5 bg-amber-600 hover:bg-amber-700 text-white text-xs",children:[b?N(m,{className:"w-3.5 h-3.5 animate-spin"}):N(M4,{className:"w-3.5 h-3.5"}),B.mcp_connect_auth()]})]})]})]},D.id)})})}),N(O9,{isOpen:H||!!Z,onClose:()=>{Y(!1),q(null)},teamId:J,server:Z}),N(i0,{open:!!w,onOpenChange:(D)=>!D&&k(null),children:Q(r0,{children:[Q(s0,{children:[N(N4,{children:B.delete_mcp_server()}),N(J4,{children:B.delete_mcp_server_confirmation({name:w?.name||""})})]}),Q(e0,{children:[N(z4,{children:B.cancel()}),Q(X4,{onClick:()=>w&&U.mutate(w.id),className:"bg-red-600 hover:bg-red-700 text-white",children:[U.isPending&&N(m,{className:"w-4 h-4 mr-2 animate-spin"}),B.delete()]})]})]})})]})};function c9({teamId:J}){let X=i(),{data:z,isLoading:H}=o({queryKey:["teams",J,"notification-settings"],queryFn:async()=>{let w=await I.api.teams[":teamId"].notifications.settings.$get({param:{teamId:J}});if(!w.ok)throw Error(B.failed_load_settings());return await w.json()}}),{mutate:Y,isPending:Z}=p({mutationFn:async(w)=>{let k=await I.api.teams[":teamId"].notifications.settings.$post({param:{teamId:J},json:w});if(!k.ok)throw Error(B.failed_to_update_notification_settings());return await k.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",J,"notification-settings"]}),X.invalidateQueries({queryKey:["teams",J,"notifications"]}),S.success(B.notification_settings_updated())},onError:(w)=>{S.error(w instanceof Error?w.message:B.failed_to_update_notification_settings())}}),q=(w)=>{if(!z)return;let k={...z,[w]:!z[w]};Y(k)};if(H)return N("div",{className:"flex items-center justify-center p-8",children:N(m,{className:"h-8 w-8 animate-spin text-muted-foreground"})});return N(O0,{className:"h-full",children:Q("div",{className:"space-y-6 pr-4 pb-8",children:[Q(r,{className:"border border-slate-200 dark:border-slate-800",children:[Q(K0,{className:"border-b border-slate-100 dark:border-slate-800 bg-slate-50/50 dark:bg-slate-900/50",children:[Q("div",{className:"flex items-center gap-2",children:[N(v4,{className:"w-5 h-5 text-blue-500"}),N(P0,{className:"text-lg",children:B.comments_and_replies()})]}),N(G0,{children:B.comments_notification_description()})]}),Q(e,{className:"divide-y divide-slate-100 dark:divide-slate-800 p-0",children:[Q("div",{className:"flex items-center justify-between p-6",children:[Q("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400",children:N(v4,{className:"w-4 h-4"})}),Q("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:B.general_comments()}),N("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:B.when_someone_comments()})]})]}),N(w0,{checked:z?.comments??!0,onCheckedChange:()=>q("comments"),disabled:Z})]}),Q("div",{className:"flex items-center justify-between p-6",children:[Q("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-purple-50 dark:bg-purple-900/20 text-purple-600 dark:text-purple-400",children:N(m9,{className:"w-4 h-4"})}),Q("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:B.comment_replies()}),N("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:B.when_someone_replies()})]})]}),N(w0,{checked:z?.replies??!0,onCheckedChange:()=>q("replies"),disabled:Z})]}),Q("div",{className:"flex items-center justify-between p-6",children:[Q("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-pink-50 dark:bg-pink-900/20 text-pink-600 dark:text-pink-400",children:N($9,{className:"w-4 h-4"})}),Q("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:B.at_mentions()}),N("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:B.when_someone_mentions()})]})]}),N(w0,{checked:z?.mentions??!0,onCheckedChange:()=>q("mentions"),disabled:Z})]})]})]}),Q(r,{className:"border border-slate-200 dark:border-slate-800",children:[Q(K0,{className:"border-b border-slate-100 dark:border-slate-800 bg-slate-50/50 dark:bg-slate-900/50",children:[Q("div",{className:"flex items-center gap-2",children:[N(f6,{className:"w-5 h-5 text-emerald-500"}),N(P0,{className:"text-lg",children:B.assets_and_statuses()})]}),N(G0,{children:B.assets_notification_description()})]}),Q(e,{className:"divide-y divide-slate-100 dark:divide-slate-800 p-0",children:[Q("div",{className:"flex items-center justify-between p-6",children:[Q("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-slate-100 dark:bg-slate-800 text-slate-600 dark:text-slate-400",children:N(w6,{className:"w-4 h-4"})}),Q("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:B.your_uploads()}),N("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:B.when_you_upload_assets()})]})]}),N(w0,{checked:z?.yourUploads??!1,onCheckedChange:()=>q("yourUploads"),disabled:Z})]}),Q("div",{className:"flex items-center justify-between p-6",children:[Q("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-emerald-50 dark:bg-emerald-900/20 text-emerald-600 dark:text-emerald-400",children:N(f6,{className:"w-4 h-4"})}),Q("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:B.other_uploads()}),N("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:B.when_other_users_upload_assets()})]})]}),N(w0,{checked:z?.otherUploads??!0,onCheckedChange:()=>q("otherUploads"),disabled:Z})]}),Q("div",{className:"flex items-center justify-between p-6",children:[Q("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-amber-50 dark:bg-amber-900/20 text-amber-600 dark:text-amber-400",children:N(_9,{className:"w-4 h-4"})}),Q("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:B.status_updates()}),N("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:B.when_someone_changes_status()})]})]}),N(w0,{checked:z?.statusUpdates??!0,onCheckedChange:()=>q("statusUpdates"),disabled:Z})]})]})]})]})})}var v6=Y0(B0(),1);function p9({teamId:J}){let X=i(),[z,H]=v6.useState(""),[Y,Z]=v6.useState(null),{data:q,isLoading:w}=o({queryKey:["teams",J,"api-tokens"],queryFn:async()=>{let U=await I.api.teams[":teamId"]["api-tokens"].$get({param:{teamId:J}});if(!U.ok)throw Error("Failed to fetch API tokens");return await U.json()}}),{mutate:k,isPending:P}=p({mutationFn:async(U)=>{let W=await I.api.teams[":teamId"]["api-tokens"].$post({param:{teamId:J},json:{name:U}});if(!W.ok)throw Error("Failed to create API token");return await W.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",J,"api-tokens"]}),H(""),S.success(B.api_token_generated_successfully())},onError:(U)=>{S.error(U instanceof Error?U.message:B.failed_to_generate_token())}}),{mutate:R}=p({mutationFn:async(U)=>{let W=await I.api.teams[":teamId"]["api-tokens"][":tokenId"].$delete({param:{teamId:J,tokenId:U}});if(!W.ok)throw Error("Failed to delete API token");return await W.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",J,"api-tokens"]}),S.success(B.api_token_revoked_successfully())},onError:(U)=>{S.error(U instanceof Error?U.message:B.failed_to_revoke_token())}}),G=(U)=>{if(U.preventDefault(),!z.trim())return;k(z.trim())},K=async(U,W)=>{await f9(W),Z(U),S.success(B.copied_api_token_to_clipboard()),setTimeout(()=>Z(null),2000)};if(w)return N("div",{className:"flex justify-center items-center p-8",children:N(m,{className:"w-8 h-8 animate-spin text-muted-foreground"})});return N("div",{className:"space-y-6",children:Q(r,{children:[Q(K0,{children:[N(P0,{children:B.api_tokens()}),N(G0,{children:B.api_tokens_description()})]}),Q(e,{className:"space-y-6",children:[Q("form",{onSubmit:G,className:"flex gap-4 items-end max-w-md",children:[Q("div",{className:"flex-1 space-y-2",children:[N("label",{htmlFor:"tokenName",className:"text-sm font-medium text-muted-foreground",children:B.token_name()}),N(u,{id:"tokenName",value:z,onChange:(U)=>H(U.target.value),placeholder:B.token_name_placeholder(),required:!0})]}),Q(_,{type:"submit",disabled:P||!z.trim(),children:[P?N(m,{className:"w-4 h-4 animate-spin mr-2"}):N(T0,{className:"w-4 h-4 mr-2"}),B.generate()]})]}),N("div",{className:"border rounded-lg overflow-hidden",children:Q(v9,{children:[N(j9,{children:Q(K6,{children:[N(u4,{children:B.name()}),N(u4,{children:B.token()}),N(u4,{children:B.created_at()}),N(u4,{className:"w-[100px] text-right",children:B.actions()})]})}),N(u9,{children:!q||q.length===0?N(K6,{children:N(I4,{colSpan:4,className:"text-center py-6 text-muted-foreground text-sm",children:B.no_api_tokens_found()})}):q.map((U)=>Q(K6,{children:[N(I4,{className:"font-medium",children:U.name}),N(I4,{className:"font-mono text-sm max-w-[200px] truncate",children:Q("div",{className:"flex items-center gap-2",children:[Q("span",{children:[U.token.substring(0,8),"..."]}),N(_,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>K(U.id,U.token),children:Y===U.id?N(Z6,{className:"h-3.5 w-3.5 text-green-500"}):N(x9,{className:"h-3.5 w-3.5"})})]})}),N(I4,{className:"text-muted-foreground",children:new Date(U.createdAt).toLocaleDateString()}),N(I4,{className:"text-right",children:N(_,{variant:"ghost",size:"icon",className:"h-8 w-8 text-red-500 hover:text-red-600 hover:bg-red-50",onClick:()=>R(U.id),children:N(C0,{className:"h-4 w-4"})})})]},U.id))})]})})]})]})})}var o0=Y0(B0(),1);var c0=Y0(B0(),1);function l9({isOpen:J,onClose:X,imageSrc:z,onConfirm:H}){let[Y,Z]=c0.useState(1),[q,w]=c0.useState({x:0,y:0}),[k,P]=c0.useState(!1),[R,G]=c0.useState(!1),K=c0.useRef({x:0,y:0}),U=c0.useRef(null),W=c0.useRef(null),T=250;c0.useEffect(()=>{if(J)Z(1),w({x:0,y:0}),G(!1)},[J,z]);let h=(C)=>{C.preventDefault(),P(!0),K.current={x:C.clientX-q.x,y:C.clientY-q.y}},A=(C)=>{if(!k)return;w({x:C.clientX-K.current.x,y:C.clientY-K.current.y})},y=()=>{P(!1)},D=(C)=>{if(C.touches.length!==1)return;P(!0);let L=C.touches[0];K.current={x:L.clientX-q.x,y:L.clientY-q.y}},b=(C)=>{if(!k||C.touches.length!==1)return;let L=C.touches[0];w({x:L.clientX-K.current.x,y:L.clientY-K.current.y})},V=async()=>{let C=U.current,L=W.current;if(!C||!L)return;G(!0);try{let E=C.getBoundingClientRect(),O=512,c=document.createElement("canvas");c.width=512,c.height=512;let x=c.getContext("2d");if(x){x.clearRect(0,0,512,512);let l=2.048,j=E.width/Y,g=E.height/Y,$=256+q.x*l,E0=256+q.y*l;x.translate($,E0),x.scale(Y*l,Y*l),x.drawImage(C,-j/2,-g/2,j,g);let F4=await new Promise((x0)=>{c.toBlob((p4)=>x0(p4),"image/jpeg",0.9)});if(F4)await H(F4)}}catch(E){console.error("Failed to crop image",E)}finally{G(!1)}};return N(_0,{open:J,onOpenChange:(C)=>!C&&X(),children:Q(M0,{className:"sm:max-w-[420px] rounded-2xl border border-border bg-background/95 backdrop-blur-md shadow-2xl p-0 overflow-hidden gap-0",children:[N(I0,{className:"p-6 border-b border-border/40 bg-gradient-to-br from-primary/5 to-transparent",children:Q(F0,{className:"text-xl font-bold flex items-center gap-2",children:[N(n9,{className:"w-5 h-5 text-primary"}),B.position_and_resize()]})}),Q("div",{className:"p-6 flex flex-col items-center gap-6",children:[Q("div",{ref:W,className:"relative overflow-hidden bg-muted select-none border border-border/40 rounded-xl cursor-move shadow-inner",style:{width:250,height:250},onMouseDown:h,onMouseMove:A,onMouseUp:y,onMouseLeave:y,onTouchStart:D,onTouchMove:b,onTouchEnd:y,children:[z&&N("img",{ref:U,src:z,alt:B.avatar_source(),crossOrigin:"anonymous",className:"absolute origin-center max-w-none pointer-events-none transition-transform duration-75 select-none",style:{top:"50%",left:"50%",transform:`translate(-50%, -50%) translate(${q.x}px, ${q.y}px) scale(${Y})`,maxHeight:"100%"}}),N("div",{className:"absolute inset-0 pointer-events-none border-[3px] border-primary/90 rounded-full"}),N("div",{className:"absolute inset-0 pointer-events-none bg-black/40",style:{clipPath:"polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)",maskImage:"radial-gradient(circle, transparent 122px, black 123px)",WebkitMaskImage:"radial-gradient(circle, transparent 122px, black 123px)"}})]}),Q("div",{className:"w-full flex items-center gap-3 px-2",children:[N(o9,{className:"w-4 h-4 text-muted-foreground"}),N("input",{type:"range",min:"1.0",max:"3.0",step:"0.01",value:Y,onChange:(C)=>Z(parseFloat(C.target.value)),className:"flex-1 h-1.5 bg-muted rounded-lg appearance-none cursor-pointer accent-primary focus:outline-none"}),N(d9,{className:"w-4 h-4 text-muted-foreground"})]})]}),Q($0,{className:"p-6 border-t border-border/40 bg-muted/20 flex flex-row justify-end gap-3",children:[N(_,{variant:"outline",onClick:X,disabled:R,children:B.cancel()}),N(_,{onClick:V,disabled:R||!z,className:"min-w-[80px]",children:R?Q(U0,{children:[N(m,{className:"w-4 h-4 animate-spin mr-2"}),B.saving()]}):B.save()})]})]})})}function V1(){let{teamId:J}=M1.useParams(),X=i(),[z,H]=o0.useState("general"),[Y,Z]=o0.useState(""),[q,w]=o0.useState(!1),[k,P]=o0.useState(null),R=o0.useRef(null),[G,K]=o0.useState(!1),{setMetadata:U,getMetadata:W}=z1(),T=W("locale")||J1(),h=async(g)=>{if(g==="en"||g==="zh")try{await U(J,"locale",g),X1(g),S.success(B.language_updated())}catch($){console.error($),S.error(B.failed_update_language())}},{data:A,isLoading:y,error:D}=o({queryKey:["teams",J,"settings"],queryFn:async()=>{let g=await I.api.teams[":teamId"].settings.$get({param:{teamId:J}});if(!g.ok)throw Error("Failed to fetch settings");return await g.json()}}),{data:b,isLoading:V}=o({queryKey:["teams",J,"me"],queryFn:async()=>{let g=await I.api.teams[":teamId"].me.$get({param:{teamId:J}});if(!g.ok)throw Error("Failed to fetch me");return await g.json()},enabled:!!J});o0.useEffect(()=>{if(b?.name)Z(b.name)},[b]);let C=(g)=>{if(!g)return"U";let $=g.split(" ");if($.length>1)return`${$[0][0]}${$[$.length-1][0]}`.toUpperCase();return g.substring(0,2).toUpperCase()},L=(g)=>{let $=g.target.files?.[0];if($){let E0=new FileReader;E0.onload=()=>{P(E0.result),w(!0)},E0.readAsDataURL($),g.target.value=""}},E=async(g)=>{K(!0);try{let $=new File([g],"avatar.jpg",{type:"image/jpeg"}),E0=await I.api.teams[":teamId"].files.$post({param:{teamId:J},form:{file:$}});if(!E0.ok)throw Error("Failed to upload avatar");let x0=(await E0.json()).key;if(!(await I.api.teams[":teamId"].me.$patch({param:{teamId:J},json:{imageKey:x0}})).ok)throw Error("Failed to save profile");S.success(B.avatar_updated()),X.invalidateQueries({queryKey:["teams",J,"me"]}),w(!1)}catch($){console.error($),S.error(B.failed_update_avatar())}finally{K(!1)}},O=async()=>{K(!0);try{if(!(await I.api.teams[":teamId"].me.$patch({param:{teamId:J},json:{imageKey:null}})).ok)throw Error("Failed to remove avatar");S.success(B.avatar_removed()),X.invalidateQueries({queryKey:["teams",J,"me"]})}catch(g){console.error(g),S.error(B.failed_remove_avatar())}finally{K(!1)}},c=async()=>{if(!Y.trim())return;K(!0);try{if(!(await I.api.teams[":teamId"].me.$patch({param:{teamId:J},json:{name:Y.trim()}})).ok)throw Error("Failed to update name");S.success(B.profile_updated()),X.invalidateQueries({queryKey:["teams",J,"me"]})}catch(g){console.error(g),S.error(B.failed_update_profile())}finally{K(!1)}},{mutate:x}=p({mutationFn:async(g)=>{let $=await I.api.teams[":teamId"].settings.$patch({param:{teamId:g.teamId},json:g.data});if(!$.ok)throw Error("Failed to update settings");return await $.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",J,"settings"]})}}),l=(g)=>{x({teamId:J,data:{key:"transcode.videoStrategy",value:g}})};if(y||V)return N("div",{className:"flex h-screen items-center justify-center",children:N(m,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(D)return N("div",{className:"p-8 text-center text-red-500",children:B.failed_load_settings()});let j=A?.transcode?.videoStrategy||W4.best_match;if(j==="single"||j==="disable")j=W4.best_match;else if(j==="full")j=W4.all;return N("div",{className:"h-full bg-background font-sans selection:bg-primary/20 transition-colors duration-300",children:Q("div",{className:"flex flex-col md:flex-row h-full",children:[N("div",{className:"w-full h-full md:w-72 bg-sidebar border-b md:border-b-0 md:border-r border-sidebar-border z-10 md:left-16 overflow-y-auto transition-colors duration-300",children:Q("nav",{className:"p-4 space-y-1 mt-4",children:[N("div",{className:"mb-2 px-4 text-xs font-semibold text-sidebar-foreground/60 uppercase tracking-wider",children:B.settings()}),Q("button",{onClick:()=>H("general"),className:d("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="general"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(r9,{className:"w-5 h-5"}),B.general(),z==="general"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),b?.role==="owner"&&Q("button",{onClick:()=>H("transcode"),className:d("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="transcode"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(t9,{className:"w-5 h-5"}),B.media_processing(),z==="transcode"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Q("button",{onClick:()=>H("notifications"),className:d("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="notifications"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(w6,{className:"w-5 h-5"}),B.notifications(),z==="notifications"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Q("button",{onClick:()=>H("developer"),className:d("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="developer"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(M4,{className:"w-5 h-5"}),B.api_tokens(),z==="developer"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),b?.role==="owner"&&Q(U0,{children:[N("div",{className:"mt-6 mb-2 px-4 text-xs font-semibold text-sidebar-foreground/60 uppercase tracking-wider pt-4 border-t border-sidebar-border",children:B.ai()}),Q("button",{onClick:()=>H("providers"),className:d("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="providers"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(L4,{className:"w-5 h-5"}),B.providers(),z==="providers"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Q("button",{onClick:()=>H("skills"),className:d("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="skills"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(p0,{className:"w-5 h-5"}),B.skills(),z==="skills"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Q("button",{onClick:()=>H("mcp"),className:d("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="mcp"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(V0,{className:"w-5 h-5"}),B.mcp_servers(),z==="mcp"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Q("button",{onClick:()=>H("agents"),className:d("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="agents"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(z6,{className:"w-5 h-5"}),B.agents(),z==="agents"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Q("button",{onClick:()=>H("sandbox"),className:d("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="sandbox"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(i9,{className:"w-5 h-5"}),B.agent_sandbox(),z==="sandbox"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]})]})]})}),N("main",{className:"flex-1 bg-background/50 h-full flex flex-col transition-colors duration-300 overflow-y-hidden",children:Q("div",{className:"flex-1 flex flex-col max-w-4xl w-full mx-auto p-6 md:p-10 overflow-hidden",children:[N("div",{className:"flex-none flex items-center justify-between mb-6",children:Q("div",{children:[Q("h2",{className:"text-2xl font-bold text-foreground",children:[z==="general"&&B.general_settings(),z==="transcode"&&B.media_processing(),z==="skills"&&B.skills_management(),z==="mcp"&&B.mcp_servers(),z==="providers"&&B.ai_providers(),z==="agents"&&B.ai_agents(),z==="sandbox"&&B.agent_sandbox_settings(),z==="notifications"&&B.notification_settings(),z==="developer"&&B.developer_settings()]}),Q("p",{className:"text-sm text-muted-foreground mt-1",children:[z==="general"&&B.general_settings_description(),z==="transcode"&&B.transcode_description(),z==="skills"&&B.skills_description(),z==="mcp"&&B.mcp_servers_description(),z==="providers"&&B.providers_description(),z==="agents"&&B.agents_description(),z==="sandbox"&&B.sandbox_description(),z==="notifications"&&B.notifications_description(),z==="developer"&&B.developer_description()]})]})}),Q("div",{className:"flex-1 overflow-hidden animate-in fade-in slide-in-from-bottom-4 duration-500",children:[z==="general"&&Q("div",{className:"h-full overflow-y-auto space-y-6 pr-1",children:[Q(r,{children:[Q(K0,{children:[N(P0,{children:B.personal_info()}),N(G0,{children:B.personal_info_description()})]}),N(e,{className:"space-y-6",children:Q("div",{className:"flex flex-col md:flex-row gap-8 items-start",children:[Q("div",{className:"flex flex-col items-center gap-3",children:[N("span",{className:"text-sm font-medium text-muted-foreground",children:B.avatar()}),Q("div",{className:"group relative cursor-pointer overflow-hidden rounded-full w-24 h-24 border border-border/60 shadow-md transition-all hover:opacity-90",onClick:()=>R.current?.click(),children:[Q(s9,{className:"w-24 h-24",children:[b?.image&&N(e9,{src:b.image,alt:b.name,className:"object-cover w-24 h-24"}),N(N1,{className:"text-2xl bg-primary/40 text-foreground",children:C(b?.name)})]}),N("div",{className:"absolute inset-0 bg-black/40 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity",children:N("span",{className:"text-white text-xs font-semibold",children:B.change()})})]}),Q("div",{className:"flex gap-2",children:[N(_,{variant:"outline",size:"sm",onClick:()=>R.current?.click(),children:B.upload()}),b?.image&&N(_,{variant:"ghost",size:"sm",className:"text-red-500 hover:text-red-600",onClick:O,children:B.remove()})]}),N("input",{type:"file",ref:R,className:"hidden",accept:"image/*",onChange:L})]}),Q("div",{className:"flex-1 space-y-4 w-full",children:[Q("div",{className:"space-y-2",children:[N("label",{className:"text-sm font-medium text-muted-foreground",children:B.name()}),N(u,{value:Y,onChange:(g)=>Z(g.target.value),placeholder:B.enter_your_name(),className:"max-w-md"})]}),Q("div",{className:"space-y-2",children:[N("label",{className:"text-sm font-medium text-muted-foreground",children:B.email()}),N(u,{value:b?.email||"",disabled:!0,className:"max-w-md bg-muted/50 cursor-not-allowed"}),N("p",{className:"text-xs text-muted-foreground",children:B.email_managed_by_auth()})]}),Q(_,{onClick:c,disabled:G||!Y.trim(),className:"mt-2",children:[G&&N(m,{className:"w-4 h-4 animate-spin mr-2"}),B.save_changes()]})]})]})})]}),Q(r,{className:"border border-slate-200 dark:border-slate-800 mt-6",children:[Q(K0,{children:[N(P0,{children:B.language_settings()}),N(G0,{children:B.select_preferred_language()})]}),N(e,{className:"space-y-4",children:N("div",{className:"max-w-xs",children:Q(Q0,{value:T,onValueChange:h,children:[N(Z0,{children:N(H0,{placeholder:B.select_language()})}),Q(q0,{children:[N(v,{value:"en",children:B.english()}),N(v,{value:"zh",children:B.chinese()})]})]})})})]}),N(l9,{isOpen:q,onClose:()=>w(!1),imageSrc:k,onConfirm:E})]}),z==="transcode"&&N("div",{className:"h-full overflow-y-auto pr-1",children:Q(r,{children:[Q(K0,{children:[N(P0,{children:B.transcode_settings()}),Q(G0,{children:[N("span",{className:"block mb-2",children:B.transcode_description()}),N("span",{className:"block",children:B.transcode_strategy_note()})]})]}),N(e,{className:"space-y-6",children:Q("div",{className:"space-y-3",children:[N("h3",{className:"text-lg font-medium",children:B.video_strategy()}),Q("div",{className:"space-y-3",children:[Q("div",{className:d("cursor-pointer rounded-lg border p-4 transition-all hover:border-primary",j===W4.best_match?"border-primary bg-primary/5":"border-border"),onClick:()=>l(W4.best_match),children:[N("div",{className:"font-semibold",children:B.best_match()}),N("div",{className:"text-sm text-muted-foreground",children:B.best_match_description()})]}),Q("div",{className:d("cursor-pointer rounded-lg border p-4 transition-all hover:border-primary",j===W4.all?"border-primary bg-primary/5":"border-border"),onClick:()=>l(W4.all),children:[N("div",{className:"font-semibold",children:B.all_resolutions()}),N("div",{className:"text-sm text-muted-foreground",children:B.all_resolutions_description()})]})]})]})})]})}),z==="skills"&&N("div",{className:"h-full overflow-y-auto pr-1",children:N(E9,{teamId:J})}),z==="mcp"&&N("div",{className:"h-full overflow-y-auto pr-1",children:N(g9,{teamId:J})}),z==="providers"&&N(L9,{teamId:J}),z==="agents"&&N("div",{className:"h-full overflow-y-auto pr-1",children:N(w9,{teamId:J})}),z==="sandbox"&&N("div",{className:"h-full overflow-y-auto pr-1",children:N(C9,{teamId:J})}),z==="notifications"&&N(c9,{teamId:J}),z==="developer"&&N(p9,{teamId:J})]})]})})]})})}var M1=a9("/teams/$teamId/settings")({component:V1});export{M1 as Route};
|