@shumai-one/shumai 0.2.2 → 0.3.0

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.
Files changed (148) hide show
  1. package/bin/{chunk-e7ndw3hg.js → chunk-0p333kh7.js} +3 -3
  2. package/bin/chunk-1wz0dge4.js +3 -0
  3. package/bin/{chunk-gtrc5ka2.js → chunk-1yqar2gz.js} +1 -1
  4. package/bin/{chunk-fz88kkk1.js → chunk-1zpw2mbj.js} +2 -2
  5. package/bin/{chunk-46ar48f9.js → chunk-28egv700.js} +1 -1
  6. package/bin/{chunk-0xbf8bcg.js → chunk-2m2saan7.js} +2 -2
  7. package/bin/chunk-2p0rg6xs.js +1 -0
  8. package/bin/{chunk-w88219ex.js → chunk-2xmsa8wv.js} +1 -1
  9. package/bin/{chunk-mzg1h07d.js → chunk-36wf2dq0.js} +1 -1
  10. package/bin/{chunk-ta7bfdrn.js → chunk-3g54qkv5.js} +1 -1
  11. package/bin/chunk-3ge0s4k2.js +1 -0
  12. package/bin/{chunk-hr97a5j5.js → chunk-449feg7g.js} +1 -1
  13. package/bin/{chunk-hkbybhww.js → chunk-48ebezek.js} +1 -1
  14. package/bin/{chunk-8qg47kj6.js → chunk-4gbs9swm.js} +1 -1
  15. package/bin/{chunk-thsbcbay.js → chunk-4tt3jvm1.js} +1 -1
  16. package/bin/{chunk-15sefy5t.js → chunk-5jhrqbk2.js} +2 -2
  17. package/bin/{chunk-wg98cacx.js → chunk-5x1ppya9.js} +2 -2
  18. package/bin/{chunk-nrwna4ha.js → chunk-652x28v2.js} +1 -1
  19. package/bin/{chunk-0qkj838r.js → chunk-6f1twjf6.js} +1 -1
  20. package/bin/chunk-6ks4277t.js +2 -0
  21. package/bin/{chunk-0rxhc7ka.js → chunk-6wa075zh.js} +2 -2
  22. package/bin/{chunk-qksb0v3c.js → chunk-736tcjve.js} +2 -2
  23. package/bin/chunk-80d6p55n.js +1 -0
  24. package/bin/{chunk-gswbc6y9.js → chunk-8a9k4qj6.js} +2 -2
  25. package/bin/chunk-8g1s0pq1.js +2 -0
  26. package/bin/chunk-8gkm2ysh.js +1 -0
  27. package/bin/chunk-8nvybmyv.js +2 -0
  28. package/bin/{chunk-srn8t0v7.js → chunk-8rkp0fc5.js} +1 -1
  29. package/bin/{chunk-1wm57c6y.js → chunk-8sr8ff6a.js} +3 -3
  30. package/bin/{chunk-2aamsc5v.js → chunk-93jcw0pn.js} +1 -1
  31. package/bin/{chunk-3rmc8nz6.js → chunk-9bvwwj5y.js} +1 -1
  32. package/bin/{chunk-925q4paa.js → chunk-9fefn2st.js} +1 -1
  33. package/bin/{chunk-262hkppb.js → chunk-9h3c60vw.js} +2 -2
  34. package/bin/{chunk-xyjw8w3r.js → chunk-9jd3d3f3.js} +1 -1
  35. package/bin/chunk-9nwjhams.js +1 -0
  36. package/bin/{chunk-7b17fb36.js → chunk-9q32g9jd.js} +1 -1
  37. package/bin/{chunk-0aj303as.js → chunk-9zy0a8kt.js} +2 -2
  38. package/bin/{chunk-w7dn1m95.js → chunk-a06432s3.js} +1 -1
  39. package/bin/{chunk-de99643r.js → chunk-a1mtpcrd.js} +2 -2
  40. package/bin/{chunk-4e3jbp84.js → chunk-a2njf6av.js} +1 -1
  41. package/bin/{chunk-5d2q46mx.js → chunk-a6dvjjce.js} +1 -1
  42. package/bin/{chunk-s46zwr4p.js → chunk-aa2tkqg0.js} +1 -1
  43. package/bin/{chunk-fbte2rmd.js → chunk-ab45988z.js} +1 -1
  44. package/bin/chunk-af3nys0r.js +1 -0
  45. package/bin/{chunk-29tx9qe2.js → chunk-agd2jevj.js} +1 -1
  46. package/bin/{chunk-9h027f50.js → chunk-bf5a4yc8.js} +1 -1
  47. package/bin/{chunk-ybhgmvxa.js → chunk-bjfwz2m7.js} +2 -2
  48. package/bin/{chunk-e52nga6c.js → chunk-bnpw72vt.js} +2 -2
  49. package/bin/{chunk-c45rh4hk.js → chunk-c003q4v6.js} +1 -1
  50. package/bin/{chunk-5m9be8an.js → chunk-cfamv4b2.js} +2 -2
  51. package/bin/{chunk-922nnh39.js → chunk-cm25nm9t.js} +1 -1
  52. package/bin/{chunk-9h3ds7rn.js → chunk-cmcsxkh1.js} +2 -2
  53. package/bin/{chunk-zemrvz79.js → chunk-cspp4n1d.js} +2 -2
  54. package/bin/{chunk-kfhtk3eh.js → chunk-cwebycwv.js} +1 -1
  55. package/bin/chunk-cx1ebj9k.js +1 -0
  56. package/bin/chunk-d1p9qz3y.js +7 -0
  57. package/bin/{chunk-q24epdh8.js → chunk-d3cqp0tb.js} +2 -2
  58. package/bin/{chunk-97jzve52.js → chunk-d5fapvnp.js} +2 -2
  59. package/bin/{chunk-e3s3rz2e.js → chunk-ddag2ezv.js} +2 -2
  60. package/bin/{chunk-7hsgmjpa.js → chunk-dk45f6mp.js} +2 -2
  61. package/bin/{chunk-9ab6k4rq.js → chunk-e0kw3bst.js} +1 -1
  62. package/bin/{chunk-bd71dp4j.js → chunk-e56nza63.js} +1 -1
  63. package/bin/{chunk-re0b7sj7.js → chunk-e66j69wz.js} +1 -1
  64. package/bin/{chunk-pq18zenh.js → chunk-ea0fh29m.js} +1 -1
  65. package/bin/{chunk-s1n39qte.js → chunk-en4m76fw.js} +1 -1
  66. package/bin/{chunk-f14sqw1d.js → chunk-epsctccj.js} +1 -1
  67. package/bin/{chunk-92xxys10.js → chunk-evzxjqr3.js} +2 -2
  68. package/bin/{chunk-ymeycphq.js → chunk-f4x2dxe5.js} +3 -3
  69. package/bin/{chunk-pxw97qbq.js → chunk-fr3dg9aj.js} +1 -1
  70. package/bin/{chunk-fcvtgx1y.js → chunk-fvf7j1qj.js} +1 -1
  71. package/bin/{chunk-bs0fjz3w.js → chunk-fwcm78s9.js} +2 -2
  72. package/bin/{chunk-xcwbg4w9.js → chunk-fytbcgak.js} +2 -2
  73. package/bin/{chunk-wc8sc9r9.js → chunk-gc7b9j22.js} +1 -1
  74. package/bin/{chunk-b8js74jk.js → chunk-h1hj60fr.js} +2 -2
  75. package/bin/{chunk-9avkn3x1.js → chunk-h3y7szbm.js} +2 -2
  76. package/bin/{chunk-j8qtab70.js → chunk-hdqvbds8.js} +1 -1
  77. package/bin/{chunk-q09dfja5.js → chunk-he4h8e9e.js} +2 -2
  78. package/bin/{chunk-d2vxmn9v.js → chunk-hktggc90.js} +1 -1
  79. package/bin/{chunk-fepymbka.js → chunk-jh6pw37a.js} +1 -1
  80. package/bin/{chunk-ygz6pawn.js → chunk-jjgwrvdb.js} +1 -1
  81. package/bin/{chunk-2dsmsa6a.js → chunk-jmh934ca.js} +1 -1
  82. package/bin/{chunk-dghtwyq1.js → chunk-jtwvd0te.js} +2 -2
  83. package/bin/{chunk-4qpa7b5t.js → chunk-jxxq76at.js} +1 -1
  84. package/bin/chunk-jyr3g5m4.js +1 -0
  85. package/bin/{chunk-zzx99j8t.js → chunk-k0s6gfg6.js} +1 -1
  86. package/bin/chunk-ky3dx324.js +2 -0
  87. package/bin/{chunk-h0ytx8zc.js → chunk-mw0rc5m7.js} +1 -1
  88. package/bin/chunk-mzre12bp.js +1 -0
  89. package/bin/{chunk-s8t74q9m.js → chunk-n0cn0xfg.js} +1 -1
  90. package/bin/{chunk-88fg1sw7.js → chunk-nd6psyzq.js} +2 -2
  91. package/bin/{chunk-m4zpf9gg.js → chunk-nmzvxgd6.js} +2 -2
  92. package/bin/{chunk-891h8br6.js → chunk-nxhzchen.js} +1 -1
  93. package/bin/{chunk-8mkfgcvb.js → chunk-phc9efjf.js} +2 -2
  94. package/bin/{chunk-n4meg9wb.js → chunk-pna93n17.js} +1 -1
  95. package/bin/{chunk-d3wmdjze.js → chunk-pvx55h1v.js} +1 -1
  96. package/bin/{chunk-g8th86na.js → chunk-pzehf31g.js} +1 -1
  97. package/bin/{chunk-nyhqy6q2.js → chunk-q0dhm16d.js} +5 -5
  98. package/bin/chunk-q11m2cp3.js +2 -0
  99. package/bin/{chunk-31baz5n0.js → chunk-qjf561n2.js} +1 -1
  100. package/bin/chunk-qs5k9j8s.js +1 -0
  101. package/bin/{chunk-ztmj61z9.js → chunk-qt9efp9y.js} +1 -1
  102. package/bin/{chunk-1xpec5r8.js → chunk-qwxt1cha.js} +2 -2
  103. package/bin/{chunk-5t6c3038.js → chunk-r8vrfefa.js} +1 -1
  104. package/bin/{chunk-cxhmr356.js → chunk-rybbss5f.js} +1 -1
  105. package/bin/{chunk-t3t6021k.js → chunk-sa4gc1f5.js} +2 -2
  106. package/bin/{chunk-jf3vn5c3.js → chunk-sprpjp4t.js} +2 -2
  107. package/bin/chunk-swa43tzr.js +3 -0
  108. package/bin/{chunk-14fh4s1a.js → chunk-szs8dy1s.js} +2 -2
  109. package/bin/{chunk-ry33f2qk.js → chunk-t0detvbj.js} +2 -2
  110. package/bin/chunk-t0fq8b99.js +2 -0
  111. package/bin/{chunk-pmswtfe3.css → chunk-tm6z4hkd.css} +1 -1
  112. package/bin/{chunk-wsyg4rwg.js → chunk-vdn3jymh.js} +1 -1
  113. package/bin/{chunk-8wqfkm4c.js → chunk-vjxgv3r6.js} +1 -1
  114. package/bin/{chunk-dqgv5yy1.js → chunk-w3m9g3e9.js} +1 -1
  115. package/bin/{chunk-5r8858hx.js → chunk-wcfpdfgy.js} +2 -2
  116. package/bin/{chunk-rtngbgpk.js → chunk-wv8xk7n7.js} +1 -1
  117. package/bin/{chunk-7e06b2zb.js → chunk-wwsvnz4v.js} +1 -1
  118. package/bin/{chunk-qqk51620.js → chunk-y132jbf0.js} +1 -1
  119. package/bin/{chunk-2aascrtb.js → chunk-yaydmgcg.js} +1 -1
  120. package/bin/{chunk-7we7ex0m.js → chunk-yvgs4kmv.js} +1 -1
  121. package/bin/{chunk-fa2g2wge.js → chunk-z5p39kpk.js} +2 -2
  122. package/bin/{chunk-77r8w95d.js → chunk-zct68gc7.js} +2 -2
  123. package/bin/{chunk-mqjzmn0e.js → chunk-zy2sqtt9.js} +1 -1
  124. package/bin/shumai-app.html +1 -1
  125. package/bin/shumai-app.js +260 -208
  126. package/package.json +7 -7
  127. package/prisma/migrations/20260728024147_add_agent_session_entry_columns/migration.sql +14 -0
  128. package/prisma/migrations/20260728024205_migrate_agent_session_entry_data/migration.sql +12 -0
  129. package/prisma/migrations/20260728031230_remove_agent_session_entry_legacy_entry_column/migration.sql +8 -0
  130. package/prisma/schema.prisma +12 -6
  131. package/bin/chunk-23d3968z.js +0 -2
  132. package/bin/chunk-2g12s6mc.js +0 -2
  133. package/bin/chunk-4jk0y1w1.js +0 -1
  134. package/bin/chunk-54tr7y2x.js +0 -3
  135. package/bin/chunk-6z65xd0w.js +0 -3
  136. package/bin/chunk-8tf6kgdj.js +0 -2
  137. package/bin/chunk-av71yjaa.js +0 -1
  138. package/bin/chunk-byqc8tzq.js +0 -1
  139. package/bin/chunk-ccw7mjgq.js +0 -5
  140. package/bin/chunk-f7sbkfmk.js +0 -2
  141. package/bin/chunk-fd5a3pdd.js +0 -1
  142. package/bin/chunk-g6zzg6v2.js +0 -1
  143. package/bin/chunk-kr06nrbx.js +0 -2
  144. package/bin/chunk-r0w920zb.js +0 -1
  145. package/bin/chunk-sd86v1e6.js +0 -1
  146. package/bin/chunk-szzff7gd.js +0 -1
  147. package/bin/chunk-tspps87j.js +0 -1
  148. package/bin/chunk-y2qp11v9.js +0 -1
@@ -1,3 +0,0 @@
1
- import{a as wN,b as PN,c as KN,d as o4,e as E4,f as R4}from"./chunk-wc8sc9r9.js";import{V as L0,W as A0,X as C0,Y as h0,Z as B0,_ as G6,aa as i6,ba as r6,ca as e6,da as f0}from"./chunk-wsyg4rwg.js";import{Wa as D0}from"./chunk-kfhtk3eh.js";import{Za as Z0}from"./chunk-b8js74jk.js";import{$a as r0,_a as i0,ab as e0,bb as N4,cb as J4,db as X4,eb as B4,fb as z4}from"./chunk-0xbf8bcg.js";import{qf as t,rf as Y0,sf as Q0,tf as H0,uf as a}from"./chunk-15sefy5t.js";import{yf as IN}from"./chunk-88fg1sw7.js";import{jg as f4}from"./chunk-1xpec5r8.js";import{ng as o}from"./chunk-0rxhc7ka.js";import{Og as K0}from"./chunk-dghtwyq1.js";import{Qg as m,Rg as w4,Tg as P4,Ug as K4,Vg as G4,ch as c4,dh as $,eh as _0,fh as x0,gh as c0,hh as v0,ih as j0,jh as l0}from"./chunk-gswbc6y9.js";import{Aj as K6,Cj as P0,Fi as zN,Fj as YN,Gh as AN,Gi as UN,Hi as s0,Hj as EN,Ii as R6,Mj as p4,Ni as CN,Nj as v4,Oj as TN,Pj as kN,Qh as F,Qi as u4,Qj as C6,Sh as S,Ui as a6,Vi as hN,Yh as k6,_h as U4,ai as x,cj as s6,fj as ZN,gj as D4,gk as j,hi as HN,hk as yN,ik as bN,jj as RN,jk as ON,kk as VN,lk as MN,mh as N0,mi as qN,mk as Y,nh as X0,oh as J,oi as d4,oj as G0,ph as Z,pj as I0,qh as s,qi as $4,sj as T6,th as n,vh as f,vi as n4,vj as JN,wi as d6,wj as DN,yh as x6,yi as l6}from"./chunk-nyhqy6q2.js";import{Vk as e}from"./chunk-0qkj838r.js";var a0=e(N0(),1);var h6=e(N0(),1);var SN=C6("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 p({className:N,orientation:B="vertical",...z}){return J("div",{role:"group","data-slot":"field","data-orientation":B,className:j(SN({orientation:B}),N),...z})}function d({className:N,...B}){return J(K0,{"data-slot":"field-label",className:j("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",N),...B})}function a4({className:N,...B}){return J("p",{"data-slot":"field-description",className:j("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",N),...B})}function z0({className:N,children:B,errors:z,...Q}){let X=h6.useMemo(()=>{if(B)return B;if(!z?.length)return null;let H=[...new Map(z.map((q)=>[q?.message,q])).values()];if(H?.length==1)return H[0]?.message;return J("ul",{className:"ml-4 flex list-disc flex-col gap-1",children:H.map((q,w)=>q?.message&&J("li",{children:q.message},w))})},[B,z]);if(!X)return null;return J("div",{role:"alert","data-slot":"field-error",className:j("text-sm font-normal text-destructive",N),...Q,children:X})}var O=function(N){return N[N.None=0]="None",N[N.Mutable=1]="Mutable",N[N.Watching=2]="Watching",N[N.RecursedCheck=4]="RecursedCheck",N[N.Recursed=8]="Recursed",N[N.Dirty=16]="Dirty",N[N.Pending=32]="Pending",N}({});function D6({update:N,notify:B,unwatched:z}){return{link:Q,unlink:X,propagate:H,checkDirty:q,shallowPropagate:w};function Q(K,R,G){let W=R.depsTail;if(W!==void 0&&W.dep===K)return;let U=W!==void 0?W.nextDep:R.deps;if(U!==void 0&&U.dep===K){U.version=G,R.depsTail=U;return}let P=K.subsTail;if(P!==void 0&&P.version===G&&P.sub===R)return;let A=R.depsTail=K.subsTail={version:G,dep:K,sub:R,prevDep:W,nextDep:U,prevSub:P,nextSub:void 0};if(U!==void 0)U.prevDep=A;if(W!==void 0)W.nextDep=A;else R.deps=A;if(P!==void 0)P.nextSub=A;else K.subs=A}function X(K,R=K.sub){let{dep:G,prevDep:W,nextDep:U,nextSub:P,prevSub:A}=K;if(U!==void 0)U.prevDep=W;else R.depsTail=W;if(W!==void 0)W.nextDep=U;else R.deps=U;if(P!==void 0)P.prevSub=A;else G.subsTail=A;if(A!==void 0)A.nextSub=P;else if((G.subs=P)===void 0)z(G);return U}function H(K){let R=K.nextSub,G;N:do{let W=K.sub,U=W.flags;if(!(U&(O.RecursedCheck|O.Recursed|O.Dirty|O.Pending)))W.flags=U|O.Pending;else if(!(U&(O.RecursedCheck|O.Recursed)))U=O.None;else if(!(U&O.RecursedCheck))W.flags=U&~O.Recursed|O.Pending;else if(!(U&(O.Dirty|O.Pending))&&T(K,W))W.flags=U|(O.Recursed|O.Pending),U&=O.Mutable;else U=O.None;if(U&O.Watching)B(W);if(U&O.Mutable){let P=W.subs;if(P!==void 0){let A=(K=P).nextSub;if(A!==void 0)G={value:R,prev:G},R=A;continue}}if((K=R)!==void 0){R=K.nextSub;continue}while(G!==void 0)if(K=G.value,G=G.prev,K!==void 0){R=K.nextSub;continue N}break}while(!0)}function q(K,R){let G,W=0,U=!1;N:do{let P=K.dep,A=P.flags;if(R.flags&O.Dirty)U=!0;else if((A&(O.Mutable|O.Dirty))===(O.Mutable|O.Dirty)){if(N(P)){let h=P.subs;if(h.nextSub!==void 0)w(h);U=!0}}else if((A&(O.Mutable|O.Pending))===(O.Mutable|O.Pending)){if(K.nextSub!==void 0||K.prevSub!==void 0)G={value:K,prev:G};K=P.deps,R=P,++W;continue}if(!U){let h=K.nextDep;if(h!==void 0){K=h;continue}}while(W--){let h=R.subs,L=h.nextSub!==void 0;if(L)K=G.value,G=G.prev;else K=h;if(U){if(N(R)){if(L)w(h);R=K.sub;continue}U=!1}else R.flags&=~O.Pending;R=K.sub;let y=K.nextDep;if(y!==void 0){K=y;continue N}}return U}while(!0)}function w(K){do{let R=K.sub,G=R.flags;if((G&(O.Pending|O.Dirty))===O.Pending){if(R.flags=G|O.Dirty,(G&(O.Watching|O.RecursedCheck))===O.Watching)B(R)}}while((K=K.nextSub)!==void 0)}function T(K,R){let G=R.depsTail;while(G!==void 0){if(G===K)return!0;G=G.prevDep}return!1}}function T4(N,B,z){let Q=typeof N==="object",X=Q?N:void 0;return{next:(Q?N.next:N)?.bind(X),error:(Q?N.error:B)?.bind(X),complete:(Q?N.complete:z)?.bind(X)}}var s4=[],b4=0,{link:E6,unlink:FN,propagate:gN,checkDirty:b6,shallowPropagate:y6}=D6({update(N){return N._update()},notify(N){s4[i4++]=N,N.flags&=~O.Watching},unwatched(N){if(N.depsTail!==void 0)N.depsTail=void 0,N.flags=O.Mutable|O.Dirty,O4(N)}}),y4=0,i4=0,b0,r4=0;function u(N){try{++r4,N()}finally{if(!--r4)e4()}}function O4(N){let B=N.depsTail,z=B!==void 0?B.nextDep:N.deps;while(z!==void 0)z=FN(z,N)}function e4(){if(r4>0)return;while(y4<i4){let N=s4[y4];s4[y4++]=void 0,N.notify()}y4=0,i4=0}function V4(N,B){let z=typeof N==="function",Q=N,X={_snapshot:z?void 0:N,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:z?O.None:O.Mutable,get(){if(b0!==void 0)E6(X,b0,b4);return X._snapshot},subscribe(H){let q=T4(H),w={current:!1},T=mN(()=>{if(X.get(),!w.current)w.current=!0;else q.next?.(X._snapshot)});return{unsubscribe:()=>{T.stop()}}},_update(H){let q=b0,w=B?.compare??Object.is;if(z)b0=X,++b4,X.depsTail=void 0;else if(H===void 0)return!1;if(z)X.flags=O.Mutable|O.RecursedCheck;try{let T=X._snapshot,K=typeof H==="function"?H(T):H===void 0&&z?Q(T):H;if(T===void 0||!w(T,K))return X._snapshot=K,!0;return!1}finally{if(b0=q,z)X.flags&=~O.RecursedCheck;O4(X)}}};if(z)X.flags=O.Mutable|O.Dirty,X.get=function(){let H=X.flags;if(H&O.Dirty||H&O.Pending&&b6(X.deps,X)){if(X._update()){let q=X.subs;if(q!==void 0)y6(q)}}else if(H&O.Pending)X.flags=H&~O.Pending;if(b0!==void 0)E6(X,b0,b4);return X._snapshot};else X.set=function(H){if(X._update(H)){let q=X.subs;if(q!==void 0)gN(q),y6(q),e4()}};return X}function mN(N){let B=()=>{let Q=b0;b0=z,++b4,z.depsTail=void 0,z.flags=O.Watching|O.RecursedCheck;try{return N()}finally{b0=Q,z.flags&=~O.RecursedCheck,O4(z)}},z={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:O.Watching|O.RecursedCheck,notify(){let Q=this.flags;if(Q&O.Dirty||Q&O.Pending&&b6(this.deps,this))B();else this.flags=O.Watching},stop(){this.flags=O.None,this.depsTail=void 0,O4(this)}};return B(),z}var N6=class{constructor(N,B){if(this.atom=V4(N),this.get=this.get.bind(this),this.setState=this.setState.bind(this),this.subscribe=this.subscribe.bind(this),B)this.actions=B(this)}setState(N){this.atom.set(N)}get state(){return this.atom.get()}get(){return this.state}subscribe(N){return this.atom.subscribe(T4(N))}},O6=class{constructor(N){this.atom=V4(N)}get state(){return this.atom.get()}get(){return this.state}subscribe(N){return this.atom.subscribe(T4(N))}};function O0(N,B){if(typeof N==="function")return new O6(N);if(B)return new N6(N,B);return new N6(N)}var V6=class{constructor(N,B){if(this.fn=N,this.options=B,this.lastExecutionTime=0,this.isPending=!1,this.maybeExecute=(...z)=>{let Q=Date.now()-this.lastExecutionTime;if(this.options.leading&&Q>=this.options.wait)this.execute(...z);else if(this.lastArgs=z,!this.timeoutId&&this.options.trailing){let X=this.options.wait-Q;this.isPending=!0,this.timeoutId=setTimeout(()=>{if(this.lastArgs!==void 0)this.execute(...this.lastArgs)},X)}},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 J6(N,B){return new V6(N,B).maybeExecute}class M4{#Y=!0;#J;#N;#U;#X;#H;#B;#q;#w=0;#K=5;#Q=!1;#Z=!1;#z=null;#P=()=>{this.debugLog("Connected to event bus"),this.#H=!0,this.#Q=!1,this.debugLog("Emitting queued events",this.#X),this.#X.forEach((N)=>this.emitEventToBus(N)),this.#X=[],this.stopConnectLoop(),this.#N().removeEventListener("tanstack-connect-success",this.#P)};#W=()=>{if(this.#w<this.#K){this.#w++,this.dispatchCustomEvent("tanstack-connect",{});return}this.#N().removeEventListener("tanstack-connect",this.#W),this.#Z=!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.#P),this.#W()};constructor({pluginId:N,debug:B=!1,enabled:z=!0,reconnectEveryMs:Q=300}){this.#J=N,this.#Y=z,this.#N=this.getGlobalTarget,this.#U=B,this.debugLog(" Initializing event subscription for plugin",this.#J),this.#X=[],this.#H=!1,this.#Z=!1,this.#B=null,this.#q=Q}startConnectLoop(){if(this.#B!==null||this.#H)return;this.debugLog(`Starting connect loop (every ${this.#q}ms)`),this.#B=setInterval(this.#W,this.#q)}stopConnectLoop(){if(this.#Q=!1,this.#B===null)return;clearInterval(this.#B),this.#B=null,this.#X=[],this.debugLog("Stopped connect loop")}debugLog(...N){if(this.#U)console.log(`\uD83C\uDF34 [tanstack-devtools:${this.#J}-plugin]`,...N)}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 N=typeof EventTarget<"u"?new EventTarget:void 0;if(typeof N>"u"||typeof N.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"),N}getPluginId(){return this.#J}dispatchCustomEventShim(N,B){try{let z=new Event(N,{detail:B});this.#N().dispatchEvent(z)}catch(z){this.debugLog("Failed to dispatch shim event")}}dispatchCustomEvent(N,B){try{this.#N().dispatchEvent(new CustomEvent(N,{detail:B}))}catch(z){this.dispatchCustomEventShim(N,B)}}emitEventToBus(N){this.debugLog("Emitting event to client bus",N),this.dispatchCustomEvent("tanstack-dispatch-event",N)}createEventPayload(N,B){return{type:`${this.#J}:${N}`,payload:B,pluginId:this.#J}}emit(N,B){if(!this.#Y){this.debugLog("Event bus client is disabled, not emitting event",N,B);return}if(this.#z)this.debugLog("Emitting event to internal event target",N,B),this.#z.dispatchEvent(new CustomEvent(`${this.#J}:${N}`,{detail:this.createEventPayload(N,B)}));if(this.#Z){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(N,B)),typeof CustomEvent<"u"&&!this.#Q)this.#G(),this.startConnectLoop();return}return this.emitEventToBus(this.createEventPayload(N,B))}on(N,B,z){let Q=z?.withEventTarget??!1,X=`${this.#J}:${N}`;if(Q){if(!this.#z)this.#z=new EventTarget;this.#z.addEventListener(X,(q)=>{B(q.detail)})}if(!this.#Y)return this.debugLog("Event bus client is disabled, not registering event",X),()=>{};let H=(q)=>{this.debugLog("Received event from bus",q.detail),B(q.detail)};return this.#N().addEventListener(X,H),this.debugLog("Registered event to bus",X),()=>{if(Q)this.#z?.removeEventListener(X,H);this.#N().removeEventListener(X,H)}}onAll(N){if(!this.#Y)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};let B=(z)=>{let Q=z.detail;N(Q)};return this.#N().addEventListener("tanstack-devtools-global",B),()=>this.#N().removeEventListener("tanstack-devtools-global",B)}onAllPluginEvents(N){if(!this.#Y)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};let B=(z)=>{let Q=z.detail;if(this.#J&&Q.pluginId!==this.#J)return;N(Q)};return this.#N().addEventListener("tanstack-devtools-global",B),()=>this.#N().removeEventListener("tanstack-devtools-global",B)}}class M6 extends M4{constructor(){super({pluginId:"form-devtools",reconnectEveryMs:1000})}}var q0=new M6;function V0(N,B){return typeof N==="function"?N(B):N}function Y4(N,B){return F4(B).reduce((Q,X)=>{if(Q===null)return null;if(typeof Q<"u")return Q[X];return},N)}function p0(N,B,z){let Q=F4(B);function X(H){if(!Q.length)return V0(z,H);let q=Q.shift();if(typeof q==="string"||typeof q==="number"&&!Array.isArray(H)){if(typeof H==="object"){if(H===null)H={};return{...H,[q]:X(H[q])}}return{[q]:X()}}if(Array.isArray(H)&&typeof q==="number"){let w=H.slice(0,q);return[...w.length?w:Array(q),X(H[q]),...H.slice(q+1)]}return[...Array(q),X()]}return X(N)}function z6(N,B){let z=F4(B);function Q(X){if(!X)return;if(z.length===1){let q=z[0];if(Array.isArray(X)&&typeof q==="number")return X.filter((K,R)=>R!==q);let{[q]:w,...T}=X;return T}let H=z.shift();if(typeof H==="string"||typeof H==="number"&&!Array.isArray(X)){if(typeof X==="object")return{...X,[H]:Q(X[H])}}if(typeof H==="number"){if(Array.isArray(X)){if(H>=X.length)return X;let q=X.slice(0,H);return[...q.length?q:Array(H),Q(X[H]),...X.slice(H+1)]}}throw Error("It seems we have created an infinite loop in deleteBy. ")}return Q(N)}var I6=46,X6=91,B6=93,S6=48,_N=57;function F4(N){if(Array.isArray(N))return[...N];if(typeof N!=="string")throw Error("Path must be a string.");let B=N.length,z=[],Q=B>0&&N.charCodeAt(0)===X6?1:0,X=!0,H=-1;for(let q=Q;q<=B;q++){let w=q<B?N.charCodeAt(q):-1;if(q===B||w===I6||w===X6||w===B6){let T=q-Q;if(T>0){let K=X&&(T===1||N.charCodeAt(Q)!==S6),R=N.slice(Q,q);if(K){let G=parseInt(R,10);if(T<=15||String(G)===R)z.push(G);else z.push(R)}else z.push(R)}else if(H!==B6&&!(H===-1&&w===B6)&&!(H===w&&(w===I6||w===X6)))z.push("");Q=q+1,X=!0}else if(w<S6||w>_N)X=!1;H=w}if(!z.length)z.push("");return z}function Y6(N){return!(Array.isArray(N)&&N.length===0)}function F0(N,B){let z=(Q)=>{return Q.validators.filter(Boolean).map((X)=>{return{cause:X.cause,validate:X.fn}})};return B.validationLogic({form:B.form,group:B.group,validators:B.validators,event:{type:N,fieldName:B.fieldName,async:!1},runValidation:z})}function g0(N,B){let{asyncDebounceMs:z}=B,{onBlurAsyncDebounceMs:Q,onChangeAsyncDebounceMs:X,onDynamicAsyncDebounceMs:H}=B.validators||{},q=z??0,w=(T)=>{return T.validators.filter(Boolean).map((K)=>{let R=K?.cause||N,G=q;switch(R){case"change":G=X??q;break;case"blur":G=Q??q;break;case"dynamic":G=H??q;break;case"submit":G=0;break}if(N==="submit")G=0;return{cause:R,validate:K.fn,debounceMs:G}})};return B.validationLogic({form:B.form,group:B.group,validators:B.validators,event:{type:N,fieldName:B.fieldName,async:!0},runValidation:w})}var Q4=(N)=>{return!!N&&typeof N==="object"&&"fields"in N};function U0(N,B){if(Object.is(N,B))return!0;if(typeof N!=="object"||N===null||typeof B!=="object"||B===null)return!1;if(N instanceof Date&&B instanceof Date)return N.getTime()===B.getTime();if(N instanceof Map&&B instanceof Map){if(N.size!==B.size)return!1;for(let[X,H]of N)if(!B.has(X)||!Object.is(H,B.get(X)))return!1;return!0}if(N instanceof Set&&B instanceof Set){if(N.size!==B.size)return!1;for(let X of N)if(!B.has(X))return!1;return!0}let z=Object.keys(N),Q=Object.keys(B);if(z.length!==Q.length)return!1;if(z.length===0&&!Array.isArray(N)&&!Array.isArray(B)&&(Object.getPrototypeOf(N)!==Object.prototype||Object.getPrototypeOf(B)!==Object.prototype))return!1;for(let X of z)if(!Q.includes(X)||!U0(N[X],B[X]))return!1;return!0}var H4=({newFormValidatorError:N,isPreviousErrorFromFormValidator:B,previousErrorValue:z})=>{if(N)return{newErrorValue:N,newSource:"form"};if(B)return{newErrorValue:void 0,newSource:void 0};if(z)return{newErrorValue:z,newSource:"field"};return{newErrorValue:void 0,newSource:void 0}},d0=({formLevelError:N,fieldLevelError:B})=>{if(B)return{newErrorValue:B,newSource:"field"};if(N)return{newErrorValue:N,newSource:"form"};return{newErrorValue:void 0,newSource:void 0}};function l(N,B){if(N===void 0||N===null)return B;return{...N,...B}}var u0=256,S4=[],I4;while(u0--)S4[u0]=(u0+256).toString(16).substring(1);function k4(){let N=0,B,z="";if(!I4||u0+16>256){I4=Array(256),N=256;while(N--)I4[N]=256*Math.random()|0;N=0,u0=0}for(;N<16;N++){if(B=I4[u0+N],N===6)z+=S4[B&15|64];else if(N===8)z+=S4[B&63|128];else z+=S4[B];if(N&1&&N>1&&N<11)z+="-"}return u0++,z}var Q6=J6((N)=>q0.emit("form-state",{id:N.formId,state:N.store.state}),{wait:300});function n0(N){if(N===null||typeof N!=="object")return N;if(N instanceof Date)return new Date(N.getTime());if(Array.isArray(N)){let z=[];for(let Q=0;Q<N.length;Q++)z[Q]=n0(N[Q]);return z}if(N instanceof Map){let z=new Map;return N.forEach((Q,X)=>{z.set(X,n0(Q))}),z}if(N instanceof Set){let z=new Set;return N.forEach((Q)=>{z.add(n0(Q))}),z}let B={};for(let z in N)if(Object.prototype.hasOwnProperty.call(N,z))B[z]=n0(N[z]);return B}function T0(N,B){return B===N||B.startsWith(`${N}.`)||B.startsWith(`${N}[`)}var w0=(N)=>{if(!N.validators)return N.runValidation({validators:[],form:N.form});let B=N.event.async,z=B?void 0:{fn:N.validators.onMount,cause:"mount"},Q={fn:B?N.validators.onChangeAsync:N.validators.onChange,cause:"change"},X={fn:B?N.validators.onBlurAsync:N.validators.onBlur,cause:"blur"},H={fn:B?N.validators.onSubmitAsync:N.validators.onSubmit,cause:"submit"},q=B?void 0:{fn:()=>{return},cause:"server"};switch(N.event.type){case"mount":return N.runValidation({validators:[z],form:N.form});case"submit":return N.runValidation({validators:[Q,X,H,q],form:N.form});case"server":return N.runValidation({validators:[],form:N.form});case"blur":return N.runValidation({validators:[X,q],form:N.form});case"change":return N.runValidation({validators:[Q,q],form:N.form});default:throw Error(`Unknown validation event type: ${N.event.type}`)}};function xN(N,B){let z=new Map;for(let Q of N){let X=Q.path??[],H=B,q="";for(let w=0;w<X.length;w++){let T=X[w];if(T===void 0)continue;let K=typeof T==="object"?T.key:T,R=Number(K);if(Array.isArray(H)&&!Number.isNaN(R))q+=`[${R}]`;else q+=(w>0?".":"")+String(K);if(typeof H==="object"&&H!==null)H=H[K];else H=void 0}z.set(q,(z.get(q)??[]).concat(Q))}return Object.fromEntries(z)}var F6=(N,B)=>{let z=xN(N,B);return{form:z,fields:z}},M0={validate({value:N,validationSource:B},z){let Q=z["~standard"].validate(N);if(Q instanceof Promise)throw Error("async function passed to sync validator");if(!Q.issues)return;if(B==="field")return Q.issues;return F6(Q.issues,N)},async validateAsync({value:N,validationSource:B},z){let Q=await z["~standard"].validate(N);if(!Q.issues)return;if(B==="field")return Q.issues;return F6(Q.issues,N)}},q4=(N)=>!!N&&("~standard"in N);var J0={isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,isValid:!0,isDefaultValue:!0,errors:[],errorMap:{},errorSourceMap:{},_arrayVersion:0};function m0(N){function B(G){let W=N.getFieldMeta(G)??J0;N.setFieldMeta(G,{...W,_arrayVersion:(W._arrayVersion||0)+1})}function z(G,W,U){B(G);let P=w(G,W,"move",U),A=Math.min(W,U),h=Math.max(W,U);for(let y=A;y<=h;y++)P.push(q(G,y));let L=Object.keys(N.fieldInfo).reduce((y,b)=>{if(b.startsWith(q(G,W)))y.set(b,N.getFieldMeta(b));return y},new Map);K(P,W<U?"up":"down"),Object.keys(N.fieldInfo).filter((y)=>y.startsWith(q(G,U))).forEach((y)=>{let b=y.replace(q(G,U),q(G,W)),E=L.get(b);if(E)N.setFieldMeta(y,E)})}function Q(G,W){B(G);let U=w(G,W,"remove");K(U,"up")}function X(G,W,U){B(G),w(G,W,"swap",U).forEach((A)=>{if(!A.toString().startsWith(q(G,W)))return;let h=A.toString().replace(q(G,W),q(G,U)),[L,y]=[N.getFieldMeta(A),N.getFieldMeta(h)];if(L)N.setFieldMeta(h,L);if(y)N.setFieldMeta(A,y)})}function H(G,W){B(G);let U=w(G,W,"insert");K(U,"down"),U.forEach((P)=>{if(P.toString().startsWith(q(G,W)))N.setFieldMeta(P,R())})}function q(G,W){return`${G}[${W}]`}function w(G,W,U,P){let A=[q(G,W)];switch(U){case"swap":A.push(q(G,P));break;case"move":{let[h,L]=[Math.min(W,P),Math.max(W,P)];for(let y=h;y<=L;y++)A.push(q(G,y));break}default:{let h=N.getFieldValue(G),L=Array.isArray(h)?h.length:0;for(let y=W+1;y<L;y++)A.push(q(G,y));break}}return Object.keys(N.fieldInfo).filter((h)=>A.some((L)=>h.startsWith(L)))}function T(G,W){return G.replace(/\[(\d+)\]/,(U,P)=>{let A=parseInt(P,10);return`[${W==="up"?A+1:Math.max(0,A-1)}]`})}function K(G,W){(W==="up"?G:[...G].reverse()).forEach((P)=>{let A=T(P.toString(),W),h=N.getFieldMeta(A);if(h)N.setFieldMeta(P,h);else N.setFieldMeta(P,R())})}let R=()=>J0;return{bumpArrayVersion:B,handleArrayMove:z,handleArrayRemove:Q,handleArraySwap:X,handleArrayInsert:H}}function H6(N){return{values:N.values??{},errorMap:N.errorMap??{},fieldMetaBase:N.fieldMetaBase??{},formGroupStateBase:N.formGroupStateBase??{},isSubmitted:N.isSubmitted??!1,isSubmitting:N.isSubmitting??!1,isValidating:N.isValidating??!1,submissionAttempts:N.submissionAttempts??0,isSubmitSuccessful:N.isSubmitSuccessful??!1,validationMetaMap:N.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}}class A4{constructor(N){this.options={},this.fieldInfo={},this.formGroupApis=new Set,this.mount=()=>{let X=this.store.subscribe(()=>{Q6(this)}),H=q0.on("request-form-state",(R)=>{if(R.payload.id===this._formId)q0.emit("form-api",{id:this._formId,state:this.store.state,options:this.options})}),q=q0.on("request-form-reset",(R)=>{if(R.payload.id===this._formId)this.reset()}),w=q0.on("request-form-force-submit",(R)=>{if(R.payload.id===this._formId)this._devtoolsSubmissionOverride=!0,this.handleSubmit(),this._devtoolsSubmissionOverride=!1}),T=()=>{w(),q(),H(),X.unsubscribe(),q0.emit("form-unmounted",{id:this._formId})};this.options.listeners?.onMount?.({formApi:this});let{onMount:K}=this.options.validators||{};if(q0.emit("form-api",{id:this._formId,state:this.store.state,options:this.options}),!K)return T;return this.validateSync("mount"),T},this.update=(X)=>{if(!X)return;let H=this.options;this.options=X;let q=X.defaultValues&&!U0(X.defaultValues,H.defaultValues)&&!this.state.isTouched,w=!U0(X.defaultState,H.defaultState)&&!this.state.isTouched;if(!q&&!w)return;if(u(()=>{this.baseStore.setState(()=>H6(Object.assign({},this.state,w?X.defaultState:{},q?{values:X.defaultValues}:{})))}),q){let T=m0(this);for(let K of Object.keys(this.fieldInfo))if(Array.isArray(this.getFieldValue(K)))T.bumpArrayVersion(K)}q0.emit("form-api",{id:this._formId,state:this.store.state,options:this.options})},this.reset=(X,H)=>{let{fieldMeta:q}=this.state,w=this.resetFieldMeta(q);if(X&&!H?.keepDefaultValues)this.options={...this.options,defaultValues:X};this.baseStore.setState(()=>{let T=X??this.options.defaultValues??this.options.defaultState?.values;if(!X)Object.values(this.fieldInfo).forEach((K)=>{if(K.instance&&K.instance.options.defaultValue!==void 0)T=p0(T,K.instance.name,K.instance.options.defaultValue)});return H6({...this.options.defaultState,values:T,fieldMetaBase:w})})},this.validateAllFields=async(X)=>{let H=[];return u(()=>{Object.values(this.fieldInfo).forEach((w)=>{if(!w.instance)return;let T=w.instance;if(H.push(Promise.resolve().then(()=>T.validate(X,{skipFormValidation:!0,skipGroupValidation:!0}))),!w.instance.store.state.meta.isTouched)w.instance.setMeta((K)=>({...K,isTouched:!0}))})}),(await Promise.all(H)).flat()},this.validateArrayFieldsStartingFrom=async(X,H,q)=>{let w=this.getFieldValue(X),T=Array.isArray(w)?Math.max(w.length-1,0):null,K=[`${X}[${H}]`];for(let U=H+1;U<=(T??0);U++)K.push(`${X}[${U}]`);let R=Object.keys(this.fieldInfo).filter((U)=>K.some((P)=>U.startsWith(P))),G=[];return u(()=>{R.forEach((U)=>{G.push(Promise.resolve().then(()=>this.validateField(U,q)))})}),(await Promise.all(G)).flat()},this.validateField=(X,H)=>{let q=this.fieldInfo[X]?.instance;if(!q){let{hasErrored:w}=this.validateSync(H);if(w&&!this.options.asyncAlways)return this.getFieldMeta(X)?.errors??[];return this.validateAsync(H).then(()=>{return this.getFieldMeta(X)?.errors??[]})}if(!q.store.state.meta.isTouched)q.setMeta((w)=>({...w,isTouched:!0}));return q.validate(H)},this.validateSync=(X,H)=>{let q=F0(X,{...this.options,form:this,group:H?.group,validationLogic:this.options.validationLogic||w0}),w=!1,T={};return u(()=>{for(let G of q){if(!G.validate)continue;let W=this.runValidator({validate:G.validate,value:{value:this.state.values,formApi:this,validationSource:"form"},type:"validate"}),{formError:U,fieldErrors:P}=g4(W),A=L4(G.cause),h=new Set([...Object.keys(this.state.fieldMeta),...Object.keys(P||{})]);if(H?.filterFieldNames)h=new Set([...h].filter(H.filterFieldNames));for(let L of h){if(this.baseStore.state.fieldMetaBase[L]===void 0&&!P?.[L])continue;let y=this.getFieldMeta(L)??J0,{errorMap:b,errorSourceMap:E}=y,C=P?.[L],{newErrorValue:k,newSource:D}=H4({newFormValidatorError:C,isPreviousErrorFromFormValidator:E?.[A]==="form",previousErrorValue:b?.[A]});if(D==="form")T[L]={...T[L],[A]:C};if(b?.[A]!==k)this.setFieldMeta(L,(V=J0)=>({...V,errorMap:{...V.errorMap,[A]:k},errorSourceMap:{...V.errorSourceMap,[A]:D}}))}if(!H?.dontUpdateFormErrorMap){if(this.state.errorMap?.[A]!==U)this.baseStore.setState((L)=>({...L,errorMap:{...L.errorMap,[A]:U}}))}if(U||P)w=!0}if(H?.dontUpdateFormErrorMap)return;let K=L4("submit");if(this.state.errorMap?.[K]&&X!=="submit"&&!w)this.baseStore.setState((G)=>({...G,errorMap:{...G.errorMap,[K]:void 0}}));let R=L4("server");if(this.state.errorMap?.[R]&&X!=="server"&&!w)this.baseStore.setState((G)=>({...G,errorMap:{...G.errorMap,[R]:void 0}}))}),{hasErrored:w,fieldsErrorMap:T}},this.validateAsync=async(X,H)=>{let q=g0(X,{...this.options,form:this,group:H?.group,validationLogic:this.options.validationLogic||w0});if(!this.state.isFormValidating)this.baseStore.setState((G)=>({...G,isFormValidating:!0}));let w=[],T;for(let G of q){if(!G.validate)continue;let W=L4(G.cause);this.state.validationMetaMap[W]?.lastAbortController.abort();let P=new AbortController;this.state.validationMetaMap[W]={lastAbortController:P},w.push(new Promise(async(A)=>{let h;try{h=await new Promise((C,k)=>{setTimeout(async()=>{if(P.signal.aborted)return C(void 0);try{C(await this.runValidator({validate:G.validate,value:{value:this.state.values,formApi:this,validationSource:"form",signal:P.signal},type:"validateAsync"}))}catch(D){k(D)}},G.debounceMs)})}catch(C){h=C}let{formError:L,fieldErrors:y}=g4(h);if(y)T=T?{...T,...y}:y;let b=L4(G.cause),E=Object.keys(this.state.fieldMeta);if(H?.filterFieldNames)E=E.filter(H.filterFieldNames);for(let C of E){if(this.baseStore.state.fieldMetaBase[C]===void 0)continue;let k=this.getFieldMeta(C);if(!k)continue;let{errorMap:D,errorSourceMap:V}=k,M=T?.[C],{newErrorValue:c,newSource:i}=H4({newFormValidatorError:M,isPreviousErrorFromFormValidator:V?.[b]==="form",previousErrorValue:D?.[b]});if(D?.[b]!==c)this.setFieldMeta(C,(r)=>({...r,errorMap:{...r.errorMap,[b]:c},errorSourceMap:{...r.errorSourceMap,[b]:i}}))}if(!H?.dontUpdateFormErrorMap)this.baseStore.setState((C)=>({...C,errorMap:{...C.errorMap,[b]:L}}));A(T?{fieldErrors:T,errorMapKey:b}:void 0)}))}let K=[],R={};if(w.length){K=await Promise.all(w);for(let G of K)if(G?.fieldErrors){let{errorMapKey:W}=G;for(let[U,P]of Object.entries(G.fieldErrors)){let h={...R[U]||{},[W]:P};R[U]=h}}}return this.baseStore.setState((G)=>({...G,isFormValidating:!1})),R},this.validate=(X,H)=>{let{hasErrored:q,fieldsErrorMap:w}=this.validateSync(X,H);if(q&&!this.options.asyncAlways)return w;return this.validateAsync(X,H)},this._handleSubmit=async(X)=>{this.baseStore.setState((w)=>({...w,isSubmitted:!1,submissionAttempts:w.submissionAttempts+1,isSubmitSuccessful:!1})),u(()=>{Object.values(this.fieldInfo).forEach((w)=>{if(!w.instance)return;if(!w.instance.store.state.meta.isTouched)w.instance.setMeta((T)=>({...T,isTouched:!0}))})});let H=X??this.options.onSubmitMeta;if(!this.state.canSubmit&&!this._devtoolsSubmissionOverride){this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:H});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:H}),q0.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:H}),q0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"validate",errors:this.state.errors});return}u(()=>{Object.values(this.fieldInfo).forEach((w)=>{w.instance?.triggerOnSubmitListener()})}),this.options.listeners?.onSubmit?.({formApi:this,meta:H});try{await this.options.onSubmit?.({value:this.state.values,formApi:this,meta:H}),u(()=>{this.baseStore.setState((w)=>({...w,isSubmitted:!0,isSubmitSuccessful:!0})),q0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!0}),q()})}catch(w){throw this.baseStore.setState((T)=>({...T,isSubmitSuccessful:!1})),q0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"inflight",onError:w}),q(),w}},this.getFieldValue=(X)=>Y4(this.state.values,X),this.getFieldMeta=(X)=>{return this.state.fieldMeta[X]},this.getFormGroupMeta=(X)=>{return this.formGroupMetaDerived.state[X]},this.getFieldInfo=(X)=>{return this.fieldInfo[X]||={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}},this.setFieldMeta=(X,H)=>{this.baseStore.setState((q)=>{return{...q,fieldMetaBase:{...q.fieldMetaBase,[X]:V0(H,q.fieldMetaBase[X])}}})},this.resetFieldMeta=(X)=>{return Object.keys(X).reduce((H,q)=>{let w=q;return H[w]=J0,H},{})},this.setFieldValue=(X,H,q)=>{let w=q?.dontUpdateMeta??!1,T=q?.dontRunListeners??!1,K=q?.dontValidate??!1;if(u(()=>{if(!w)this.setFieldMeta(X,(R)=>({...R,isTouched:!0,isDirty:!0,errorMap:{...R?.errorMap,onMount:void 0}}));this.baseStore.setState((R)=>{return{...R,values:p0(R.values,X,H)}})}),!T)this.getFieldInfo(X).instance?.triggerOnChangeListener();if(!K)this.validateField(X,"change")},this.deleteField=(X)=>{let q=[...Object.keys(this.fieldInfo).filter((w)=>{let T=X.toString();return w!==T&&w.startsWith(T)}),X];this.baseStore.setState((w)=>{let T={...w};return q.forEach((K)=>{T.values=z6(T.values,K),delete this.fieldInfo[K],delete T.fieldMetaBase[K]}),T})},this.pushFieldValue=(X,H,q)=>{this.setFieldValue(X,(w)=>[...Array.isArray(w)?w:[],H],q),m0(this).bumpArrayVersion(X)},this.insertFieldValue=async(X,H,q,w)=>{this.setFieldValue(X,(K)=>{return[...K.slice(0,H),q,...K.slice(H)]},l(w,{dontValidate:!0}));let T=w?.dontValidate??!1;if(!T)await this.validateField(X,"change");if(m0(this).handleArrayInsert(X,H),!T)await this.validateArrayFieldsStartingFrom(X,H,"change")},this.replaceFieldValue=async(X,H,q,w)=>{if(this.setFieldValue(X,(K)=>{return K.map((R,G)=>G===H?q:R)},l(w,{dontValidate:!0})),m0(this).bumpArrayVersion(X),!(w?.dontValidate??!1))await this.validateField(X,"change"),await this.validateArrayFieldsStartingFrom(X,H,"change")},this.removeFieldValue=async(X,H,q)=>{let w=this.getFieldValue(X),T=Array.isArray(w)?Math.max(w.length-1,0):null;if(this.setFieldValue(X,(R)=>{return R.filter((G,W)=>W!==H)},l(q,{dontValidate:!0})),m0(this).handleArrayRemove(X,H),T!==null){let R=`${X}[${T}]`;this.deleteField(R)}if(!(q?.dontValidate??!1))await this.validateField(X,"change"),await this.validateArrayFieldsStartingFrom(X,H,"change")},this.swapFieldValues=(X,H,q,w)=>{if(this.setFieldValue(X,(K)=>{let R=K[H],G=K[q];return p0(p0(K,`${H}`,G),`${q}`,R)},l(w,{dontValidate:!0})),m0(this).handleArraySwap(X,H,q),!(w?.dontValidate??!1))this.validateField(X,"change"),this.validateField(`${X}[${H}]`,"change"),this.validateField(`${X}[${q}]`,"change")},this.moveFieldValues=(X,H,q,w)=>{if(this.setFieldValue(X,(K)=>{let R=[...K];return R.splice(q,0,R.splice(H,1)[0]),R},l(w,{dontValidate:!0})),m0(this).handleArrayMove(X,H,q),!(w?.dontValidate??!1))this.validateField(X,"change"),this.validateField(`${X}[${H}]`,"change"),this.validateField(`${X}[${q}]`,"change")},this.clearFieldValues=(X,H)=>{let q=this.getFieldValue(X),w=Array.isArray(q)?Math.max(q.length-1,0):null;if(this.setFieldValue(X,[],l(H,{dontValidate:!0})),m0(this).bumpArrayVersion(X),w!==null)for(let K=0;K<=w;K++){let R=`${X}[${K}]`;this.deleteField(R)}if(!(H?.dontValidate??!1))this.validateField(X,"change")},this.resetField=(X)=>{this.baseStore.setState((H)=>{let q=this.getFieldInfo(X).instance?.options.defaultValue,w=Y4(this.options.defaultValues,X),T=q??w;return{...H,fieldMetaBase:{...H.fieldMetaBase,[X]:J0},values:T!==void 0?p0(H.values,X,T):H.values}})},this.setErrorMap=(X)=>{u(()=>{Object.entries(X).forEach(([H,q])=>{let w=H;if(Q4(q)){let{formError:T,fieldErrors:K}=g4(q);for(let R of Object.keys(this.fieldInfo)){if(!this.getFieldMeta(R))continue;this.setFieldMeta(R,(W)=>({...W,errorMap:{...W.errorMap,[w]:K?.[R]},errorSourceMap:{...W.errorSourceMap,[w]:"form"}}))}this.baseStore.setState((R)=>({...R,errorMap:{...R.errorMap,[w]:T}}))}else this.baseStore.setState((T)=>({...T,errorMap:{...T.errorMap,[w]:q}}))})})},this.getAllErrors=()=>{return{form:{errors:this.state.errors,errorMap:this.state.errorMap},fields:Object.entries(this.state.fieldMeta).reduce((X,[H,q])=>{if(Object.keys(q).length&&q.errors.length)X[H]={errors:q.errors,errorMap:q.errorMap};return X},{})}},this.parseValuesWithSchema=(X)=>{return M0.validate({value:this.state.values,validationSource:"form"},X)},this.parseValuesWithSchemaAsync=(X)=>{return M0.validateAsync({value:this.state.values,validationSource:"form"},X)},this.timeoutIds={validations:{},listeners:{},formListeners:{}},this._formId=N?.formId??k4(),this._devtoolsSubmissionOverride=!1;let B=H6({...N?.defaultState,values:N?.defaultValues??N?.defaultState?.values});if(N?.transform){B=N.transform({state:B}).state;for(let X of Object.keys(B.errorMap)){let H=B.errorMap[X];if(H===void 0||!Q4(H))continue;for(let q of Object.keys(H.fields)){let w=H.fields[q];if(w===void 0)continue;let T=B.fieldMetaBase[q];B.fieldMetaBase[q]={isTouched:!1,isValidating:!1,isBlurred:!1,isDirty:!1,_arrayVersion:0,...T??{},errorSourceMap:{...T?.errorSourceMap??{},onChange:"form"},errorMap:{...T?.errorMap??{},[X]:w}}}}}this.baseStore=O0(B);let z=void 0;this.fieldMetaDerived=O0((X)=>{let H=this.baseStore.get(),q=0,w={};for(let T of Object.keys(H.fieldMetaBase)){let K=H.fieldMetaBase[T],R=z?.fieldMetaBase[T],G=X?.[T],W=Y4(H.values,T),U=G?.errors;if(!R||K.errorMap!==R.errorMap){U=Object.values(K.errorMap??{}).filter((y)=>y!==void 0);let L=this.getFieldInfo(T)?.instance;if(!L||!L.options.disableErrorFlat)U=U.flat(1)}let P=!Y6(U),A=!K.isDirty,h=U0(W,this.getFieldInfo(T)?.instance?.options.defaultValue??Y4(this.options.defaultValues,T));if(G&&G.isPristine===A&&G.isValid===P&&G.isDefaultValue===h&&G.errors===U&&K===R){w[T]=G,q++;continue}w[T]={...K,errors:U??[],isPristine:A,isValid:P,isDefaultValue:h}}if(!Object.keys(H.fieldMetaBase).length)return w;if(X&&q===Object.keys(H.fieldMetaBase).length)return X;return z=this.baseStore.get(),w}),this.formGroupMetaDerived=O0((X)=>{let H=this.baseStore.get(),q=this.fieldMetaDerived.get(),w={};for(let T of this.formGroupApis){let K=T.name,R=H.formGroupStateBase[K]??{isSubmitted:!1,isSubmitting:!1,isValidating:!1,submissionAttempts:0,isSubmitSuccessful:!1},G=q[K],W=!1,U=!0,P=!1,A=!1,h=!0,L=!1;for(let I in q){if(I===K)continue;if(!T0(K,I))continue;let g=q[I];if(!g)continue;if(g.isValidating)W=!0;if(!g.isValid)U=!1;if(g.isTouched)P=!0;if(g.isBlurred)A=!0;if(!g.isDefaultValue)h=!1;if(g.isDirty)L=!0}let y=!L,b=!!W||R.isValidating,E=G?.errorMap??{},C=G?.errorSourceMap??{},k=Boolean(E.onMount||Object.entries(q).some(([I,g])=>g&&I!==K&&T0(K,I)&&g.errorMap.onMount)),D=X?.[K],V=D?.errors??[];if(!D||D.__srcErrorMap!==E)V=Object.values(E).reduce((I,g)=>{if(g===void 0)return I;if(g&&typeof g==="object"&&"fields"in g){let R0=g.group;if(R0!==void 0)I.push(R0);return I}return I.push(g),I},[]);let M=V.length===0,c=U&&M,i=T.options.canSubmitWhenInvalid??!1,r=R.submissionAttempts===0&&!P&&!k||!b&&!R.isSubmitting&&c||i;if(D&&D.errorMap===E&&D.errorSourceMap===C&&D.errors===V&&D.isFieldsValidating===W&&D.isFieldsValid===U&&D.isGroupValid===M&&D.isValid===c&&D.canSubmit===r&&D.isTouched===P&&D.isBlurred===A&&D.isPristine===y&&D.isDefaultValue===h&&D.isDirty===L&&D.isValidating===b&&D.isSubmitting===R.isSubmitting&&D.isSubmitted===R.isSubmitted&&D.submissionAttempts===R.submissionAttempts&&D.isSubmitSuccessful===R.isSubmitSuccessful){w[K]=D;continue}let v={...R,errorMap:E,errorSourceMap:C,_arrayVersion:G?._arrayVersion??0,isTouched:P,isBlurred:A,isDirty:L,isPristine:y,isDefaultValue:h,isValid:c,errors:V,isValidating:b,isFieldsValidating:W,isFieldsValid:U,isGroupValid:M,canSubmit:r};Object.defineProperty(v,"__srcErrorMap",{value:E,enumerable:!1,configurable:!0}),w[K]=v}return w});let Q=void 0;this.store=O0((X)=>{let H=this.baseStore.get(),q=this.fieldMetaDerived.get(),w=Object.values(q).filter(Boolean),T=w.some((M)=>M.isValidating),K=w.every((M)=>M.isValid),R=w.some((M)=>M.isTouched),G=w.some((M)=>M.isBlurred),W=w.every((M)=>M.isDefaultValue),U=R&&H.errorMap?.onMount,P=w.some((M)=>M.isDirty),A=!P,h=Boolean(H.errorMap?.onMount||w.some((M)=>M?.errorMap?.onMount)),L=!!T,y=X?.errors??[];if(!Q||H.errorMap!==Q.errorMap)y=Object.values(H.errorMap).reduce((M,c)=>{if(c===void 0)return M;if(c&&Q4(c))return M.push(c.form),M;return M.push(c),M},[]);let b=y.length===0,E=K&&b,C=this.options.canSubmitWhenInvalid??!1,k=H.submissionAttempts===0&&!R&&!h||!L&&!H.isSubmitting&&E||C,D=H.errorMap;if(U)y=y.filter((M)=>M!==H.errorMap.onMount),D=Object.assign(D,{onMount:void 0});if(X&&Q&&X.errorMap===D&&X.fieldMeta===this.fieldMetaDerived.state&&X.errors===y&&X.isFieldsValidating===T&&X.isFieldsValid===K&&X.isFormValid===b&&X.isValid===E&&X.canSubmit===k&&X.isTouched===R&&X.isBlurred===G&&X.isPristine===A&&X.isDefaultValue===W&&X.isDirty===P&&U0(Q,H))return X;let V={...H,errorMap:D,fieldMeta:this.fieldMetaDerived.state,errors:y,isFieldsValidating:T,isFieldsValid:K,isFormValid:b,isValid:E,canSubmit:k,isTouched:R,isBlurred:G,isPristine:A,isDefaultValue:W,isDirty:P};return Q=this.baseStore.get(),V}),this.handleSubmit=this.handleSubmit.bind(this),this.update(N||{})}get state(){return this.store.state}get formId(){return this._formId}runValidator(N){if(q4(N.validate))return M0[N.type](N.value,N.validate);return N.validate(N.value)}handleSubmit(N){return this._handleSubmit(N)}}function g4(N){if(N){if(Q4(N)){let B=g4(N.form).formError,z=N.fields;return{formError:B,fieldErrors:z}}return{formError:N}}return{formError:void 0}}function L4(N){switch(N){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 $0{constructor(N){this.options={},this.mount=()=>{if(this.options.defaultValue!==void 0&&!this.getMeta().isTouched)this.form.setFieldValue(this.name,this.options.defaultValue,{dontUpdateMeta:!0});let B=this.getInfo();B.instance=this,this.update(this.options);let{onMount:z}=this.options.validators||{};if(z){let Q=this.runValidator({validate:z,value:{value:this.state.value,fieldApi:this,validationSource:"field"},type:"validate"});if(Q)this.setMeta((X)=>({...X,errorMap:{...X?.errorMap,onMount:Q},errorSourceMap:{...X?.errorSourceMap,onMount:"field"}}))}return this.options.listeners?.onMount?.({value:this.state.value,fieldApi:this}),()=>{for(let[X,H]of Object.entries(this.timeoutIds.validations))if(H)clearTimeout(H),this.timeoutIds.validations[X]=null;for(let[X,H]of Object.entries(this.timeoutIds.listeners))if(H)clearTimeout(H),this.timeoutIds.listeners[X]=null;for(let[X,H]of Object.entries(this.timeoutIds.formListeners))if(H)clearTimeout(H),this.timeoutIds.formListeners[X]=null;let Q=this.form.fieldInfo[this.name];if(!Q)return;if(Q.instance!==this)return;for(let[X,H]of Object.entries(Q.validationMetaMap))H?.lastAbortController.abort(),Q.validationMetaMap[X]=void 0;this.form.baseStore.setState((X)=>({...X,fieldMetaBase:{...X.fieldMetaBase,[this.name]:{...J0,isTouched:X.fieldMetaBase[this.name]?.isTouched??J0.isTouched,isBlurred:X.fieldMetaBase[this.name]?.isBlurred??J0.isBlurred,isDirty:X.fieldMetaBase[this.name]?.isDirty??J0.isDirty}}})),Q.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,fieldApi:this}),this.form.options.listeners?.onFieldUnmount?.({formApi:this.form,fieldApi:this})}},this.update=(B)=>{if(this.options=B,this.name=B.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0){let z=this.form.getFieldValue(this.name);if(!U0(z,B.defaultValue))this.form.setFieldValue(this.name,B.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=(B,z)=>{if(this.form.setFieldValue(this.name,B,l(z,{dontRunListeners:!0,dontValidate:!0})),!z?.dontRunListeners)this.triggerOnChangeListener();if(!z?.dontValidate)this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=(B)=>this.form.setFieldMeta(this.name,B),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(B,z)=>{if(this.form.pushFieldValue(this.name,B,l(z,{dontRunListeners:!0})),!z?.dontRunListeners)this.triggerOnChangeListener()},this.insertValue=(B,z,Q)=>{if(this.form.insertFieldValue(this.name,B,z,l(Q,{dontRunListeners:!0})),!Q?.dontRunListeners)this.triggerOnChangeListener()},this.replaceValue=(B,z,Q)=>{if(this.form.replaceFieldValue(this.name,B,z,l(Q,{dontRunListeners:!0})),!Q?.dontRunListeners)this.triggerOnChangeListener()},this.removeValue=(B,z)=>{if(this.form.removeFieldValue(this.name,B,l(z,{dontRunListeners:!0})),!z?.dontRunListeners)this.triggerOnChangeListener()},this.swapValues=(B,z,Q)=>{if(this.form.swapFieldValues(this.name,B,z,l(Q,{dontRunListeners:!0})),!Q?.dontRunListeners)this.triggerOnChangeListener()},this.moveValue=(B,z,Q)=>{if(this.form.moveFieldValues(this.name,B,z,l(Q,{dontRunListeners:!0})),!Q?.dontRunListeners)this.triggerOnChangeListener()},this.clearValues=(B)=>{if(this.form.clearFieldValues(this.name,l(B,{dontRunListeners:!0})),!B?.dontRunListeners)this.triggerOnChangeListener()},this.getLinkedFields=(B)=>{let z=Object.values(this.form.fieldInfo),Q=[];for(let X of z){if(!X.instance)continue;if(!(X.instance instanceof $0))continue;let{onChangeListenTo:H,onBlurListenTo:q}=X.instance.options.validators||{};if(B==="change"&&H?.includes(this.name))Q.push(X.instance);if(B==="blur"&&q?.includes(this.name))Q.push(X.instance)}return Q},this.validateSync=(B,z)=>{let Q=F0(B,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||w0}),H=this.getLinkedFields(B).reduce((T,K)=>{let R=F0(B,{...K.options,form:K.form,fieldName:K.name,validationLogic:K.form.options.validationLogic||w0});return R.forEach((G)=>{G.field=K}),T.concat(R)},[]),q=!1;u(()=>{let T=(K,R)=>{let G=C4(R.cause),W=R.validate?g6(K.runValidator({validate:R.validate,value:{value:K.store.state.value,validationSource:"field",fieldApi:K},type:"validate"})):void 0,U=z[G],{newErrorValue:P,newSource:A}=d0({formLevelError:U,fieldLevelError:W});if(K.state.meta.errorMap?.[G]!==P)K.setMeta((h)=>({...h,errorMap:{...h.errorMap,[G]:P},errorSourceMap:{...h.errorSourceMap,[G]:A}}));if(P)q=!0};for(let K of Q)T(this,K);for(let K of H){if(!K.validate)continue;T(K.field,K)}});let w=C4("submit");if(this.state.meta.errorMap?.[w]&&B!=="submit"&&!q)this.setMeta((T)=>({...T,errorMap:{...T.errorMap,[w]:void 0},errorSourceMap:{...T.errorSourceMap,[w]:void 0}}));return{hasErrored:q}},this.validateAsync=async(B,z)=>{let Q=g0(B,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||w0}),X=await z,H=this.getLinkedFields(B),q=H.reduce((W,U)=>{let P=g0(B,{...U.options,form:U.form,fieldName:U.name,validationLogic:U.form.options.validationLogic||w0});return P.forEach((A)=>{A.field=U}),W.concat(P)},[]),w=[],T=[],K=Q.some((W)=>W.validate)||q.some((W)=>W.validate);if(K){if(!this.state.meta.isValidating)this.setMeta((W)=>({...W,isValidating:!0}));for(let W of H)W.setMeta((U)=>({...U,isValidating:!0}))}let R=(W,U,P)=>{let A=C4(U.cause),h=W.getInfo();h.validationMetaMap[A]?.lastAbortController.abort();let y=new AbortController;h.validationMetaMap[A]={lastAbortController:y},P.push(new Promise(async(b)=>{let E;try{E=await new Promise((M,c)=>{if(W.timeoutIds.validations[U.cause])clearTimeout(W.timeoutIds.validations[U.cause]);W.timeoutIds.validations[U.cause]=setTimeout(async()=>{if(y.signal.aborted)return M(void 0);try{M(await this.runValidator({validate:U.validate,value:{value:W.store.state.value,fieldApi:W,signal:y.signal,validationSource:"field"},type:"validateAsync"}))}catch(i){c(i)}},U.debounceMs)})}catch(M){E=M}if(y.signal.aborted)return b(void 0);let C=g6(E),k=X[W.name]?.[A],{newErrorValue:D,newSource:V}=d0({formLevelError:k,fieldLevelError:C});if(W.getInfo().instance!==W)return b(void 0);W.setMeta((M)=>{return{...M,errorMap:{...M?.errorMap,[A]:D},errorSourceMap:{...M.errorSourceMap,[A]:V}}}),b(D)}))};for(let W of Q){if(!W.validate)continue;R(this,W,w)}for(let W of q){if(!W.validate)continue;R(W.field,W,T)}let G=[];if(w.length||T.length)G=await Promise.all(w),await Promise.all(T);if(K){this.setMeta((W)=>({...W,isValidating:!1}));for(let W of H)W.setMeta((U)=>({...U,isValidating:!1}))}return G.filter(Boolean)},this.validate=(B,z)=>{if(!this.state.meta.isTouched)return[];let Q=z?.skipGroupValidation?[]:Array.from(this.form.formGroupApis).filter((G)=>this.name.startsWith(G.name)),H=((z?.skipFormValidation)?{fieldsErrorMap:{}}:this.form.validateSync(B)).fieldsErrorMap[this.name]??{};if(!z?.skipFormValidation)for(let G of Q){if(G.state.meta.submissionAttempts===0)continue;let{fieldsErrorMap:W}=this.form.validateSync(B,{group:G,dontUpdateFormErrorMap:!0,filterFieldNames:(U)=>T0(G.name,U)});H={...H,...W[this.name]??{}}}let{hasErrored:q}=this.validateSync(B,H),w=new WeakMap;for(let G of Q){let{hasErrored:W}=G.validateSync(B,{},{skipRelatedFieldValidation:!0});w.set(G,W)}if(q&&!this.options.asyncAlways){this.getInfo().validationMetaMap[C4(B)]?.lastAbortController.abort();let G=[];for(let W of Q)W.getInfo().validationMetaMap[C4(B)]?.lastAbortController.abort(),G.push(W.state.meta.errors);return[...this.state.meta.errors,...G.flat()]}let T=z?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(B),K=this.validateAsync(B,T),R=[];for(let G of Q){if(w.get(G)&&!G.options.asyncAlways)continue;R.push(G.validateAsync(B,T,{skipRelatedFieldValidation:!0}))}if(R.length===0)return K;return Promise.all([K,...R]).then((G)=>G.flat())},this.handleChange=(B)=>{this.setValue(B)},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=(B)=>{this.setMeta((z)=>({...z,errorMap:{...z.errorMap,...B}}))},this.parseValueWithSchema=(B)=>{return M0.validate({value:this.state.value,validationSource:"field"},B)},this.parseValueWithSchemaAsync=(B)=>{return M0.validateAsync({value:this.state.value,validationSource:"field"},B)},this.triggerOnBlurListener=()=>{let B=this.form.options.listeners?.onBlurDebounceMs;if(B&&B>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})},B)}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 B=this.form.options.listeners?.onChangeDebounceMs;if(B&&B>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})},B)}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 Q of this.form.formGroupApis)if(T0(Q.name,this.name))Q.triggerOnChangeListener()},this.triggerOnSubmitListener=()=>{this.options.listeners?.onSubmit?.({value:this.state.value,fieldApi:this})},this.form=N.form,this.name=N.name,this.options=N,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.store=O0((B)=>{this.form.store.get();let z=this.form.getFieldMeta(this.name)??{...J0,...N.defaultMeta},Q=this.form.getFieldValue(this.name);if(!z.isTouched&&Q===void 0&&this.options.defaultValue!==void 0&&!U0(Q,this.options.defaultValue))Q=this.options.defaultValue;if(B&&B.value===Q&&B.meta===z)return B;return{value:Q,meta:z}})}get state(){return this.store.state}runValidator(N){if(q4(N.validate))return M0[N.type](N.value,N.validate);return N.validate(N.value)}}function g6(N){if(N)return N;return}function C4(N){switch(N){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 q6(N){return{isSubmitted:N.isSubmitted??!1,isSubmitting:N.isSubmitting??!1,isValidating:N.isValidating??!1,submissionAttempts:N.submissionAttempts??0,isSubmitSuccessful:N.isSubmitSuccessful??!1}}function _6(N){return{...J0,...N,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 o0{constructor(N){this.options={},this.setFormGroupState=(B)=>{this.form.baseStore.setState((z)=>{let Q=z.formGroupStateBase[this.name]??q6({});return{...z,formGroupStateBase:{...z.formGroupStateBase,[this.name]:B(Q)}}})},this._lastDistributedFieldNames={},this.update=(B)=>{if(this.options=B,this.name=B.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0){let z=this.form.getFieldValue(this.name);if(!U0(z,B.defaultValue))this.form.setFieldValue(this.name,B.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})}if(!this.form.getFieldMeta(this.name))this.form.setFieldMeta(this.name,{...J0,...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]??q6({...this.options.defaultState})}}));let{onMount:B}=this.options.validators||{};if(B){let z=this.runValidator({validate:B,value:{value:this.state.value,groupApi:this,validationSource:"form"},type:"validate"}),Q=z,X=void 0;if(W6(z))Q=z.group,X=z.fields;let H=Z6(Q);if(H)this.setMeta((q)=>({...q,errorMap:{...q.errorMap,onMount:H},errorSourceMap:{...q.errorSourceMap,onMount:"field"}}));this.distributeFieldErrors("onMount",X)}return this.options.listeners?.onMount?.({value:this.state.value,groupApi:this}),()=>{for(let[z,Q]of Object.entries(this.timeoutIds.validations))if(Q)clearTimeout(Q),this.timeoutIds.validations[z]=null;for(let[z,Q]of Object.entries(this.timeoutIds.listeners))if(Q)clearTimeout(Q),this.timeoutIds.listeners[z]=null;for(let[z,Q]of Object.entries(this.timeoutIds.formListeners))if(Q)clearTimeout(Q),this.timeoutIds.formListeners[z]=null;if(this.fieldInfo.instance!==this)return;for(let[z,Q]of Object.entries(this.fieldInfo.validationMetaMap))Q?.lastAbortController.abort(),this.fieldInfo.validationMetaMap[z]=void 0;this.form.formGroupApis.delete(this),this.form.baseStore.setState((z)=>({...z,formGroupStateBase:{...z.formGroupStateBase,[this.name]:q6({})}})),this.fieldInfo.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,groupApi:this})}},this.setValue=(B,z)=>{if(this.form.setFieldValue(this.name,B,l(z,{dontRunListeners:!0,dontValidate:!0})),!z?.dontRunListeners)this.triggerOnChangeListener();if(!z?.dontValidate)this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=(B)=>this.form.setFieldMeta(this.name,B),this.getInfo=()=>this.fieldInfo,this.getRelatedFields=()=>{let B=Object.values(this.form.fieldInfo),z=[];for(let Q of B){if(!Q.instance)continue;if(!(Q.instance instanceof $0))continue;if(Q.instance.name.startsWith(this.name))z.push(Q.instance)}return z},this.getRelatedFieldMetasDerived=()=>{let B=Object.entries(this.form.fieldMetaDerived.state),z=[];for(let[Q,X]of B){if(Q===this.name)continue;if(T0(this.name,Q))z.push({...X,name:Q})}return z},this.buildChildFieldName=(B)=>{if(B==="")return this.name;if(B.startsWith("["))return`${this.name}${B}`;return`${this.name}.${B}`},this.distributeFieldErrors=(B,z)=>{let Q=this._lastDistributedFieldNames[B]??new Set,X=new Set;if(z)for(let[w,T]of Object.entries(z)){if(T===void 0||T===null||T===!1)continue;X.add(this.buildChildFieldName(w))}let H=new Set([...Q,...X]),q=!1;for(let w of H){let T=w.startsWith(this.name+"[")?w.slice(this.name.length):w.slice(this.name.length+1),K=z?.[T],R=this.form.getFieldMeta(w);if(!R&&!K)continue;let G=R?.errorMap[B],W=R?.errorSourceMap[B]==="form",{newErrorValue:U,newSource:P}=H4({newFormValidatorError:K,isPreviousErrorFromFormValidator:W,previousErrorValue:G});if(U)q=!0;if(G===U&&R?.errorSourceMap[B]===P)continue;this.form.setFieldMeta(w,(A)=>({...A,errorMap:{...A.errorMap,[B]:U},errorSourceMap:{...A.errorSourceMap,[B]:P}}))}return this._lastDistributedFieldNames[B]=X,q},this.validateSync=(B,z,Q={})=>{let X=F0(B,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||w0}),q=(Q.skipRelatedFieldValidation?[]:this.getRelatedFields()).reduce((K,R)=>{let G=F0(B,{...R.options,form:R.form,validationLogic:R.form.options.validationLogic||w0});return G.forEach((W)=>{W.field=R}),K.concat(G)},[]),w=!1;u(()=>{let K=(R,G)=>{let W=m4(G.cause),U=R===this,P=void 0;if(G.validate)P=R.runValidator({validate:G.validate,value:{value:R.store.state.value,validationSource:U?"form":"field",...R instanceof o0?{groupApi:R}:{fieldApi:R}},type:"validate"});let A=P,h=void 0;if(U&&W6(P))A=P.group,h=P.fields;let L=Z6(A),y=z[W],{newErrorValue:b,newSource:E}=d0({formLevelError:y,fieldLevelError:L});if(R.state.meta.errorMap?.[W]!==b)R.setMeta((C)=>({...C,errorMap:{...C.errorMap,[W]:b},errorSourceMap:{...C.errorSourceMap,[W]:E}}));if(b)w=!0;if(U){if(this.distributeFieldErrors(W,h))w=!0}};for(let R of X)K(this,R);for(let R of q){if(!R.validate)continue;K(R.field,R)}});let T=m4("submit");if(this.state.meta.errorMap?.[T]&&B!=="submit"&&!w)this.setMeta((K)=>({...K,errorMap:{...K.errorMap,[T]:void 0},errorSourceMap:{...K.errorSourceMap,[T]:void 0}}));return{hasErrored:w}},this.validateAsync=async(B,z,Q={})=>{let X=g0(B,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||w0}),H=await z,q=Q.skipRelatedFieldValidation?[]:this.getRelatedFields(),w=q.reduce((U,P)=>{let A=g0(B,{...P.options,form:P.form,validationLogic:P.form.options.validationLogic||w0});return A.forEach((h)=>{h.field=P}),U.concat(A)},[]),T=[],K=[],R=X.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((P)=>({...P,isValidating:!0}))}let G=(U,P,A)=>{let h=m4(P.cause),L=U.getInfo();L.validationMetaMap[h]?.lastAbortController.abort();let b=new AbortController;L.validationMetaMap[h]={lastAbortController:b};let E=U===this;A.push(new Promise(async(C)=>{let k;try{k=await new Promise((v,I)=>{if(U.timeoutIds.validations[P.cause])clearTimeout(U.timeoutIds.validations[P.cause]);U.timeoutIds.validations[P.cause]=setTimeout(async()=>{if(b.signal.aborted)return v(void 0);try{v(await this.runValidator({validate:P.validate,value:{value:U.store.state.value,signal:b.signal,validationSource:E?"form":"field",...U instanceof o0?{groupApi:U}:{fieldApi:U}},type:"validateAsync"}))}catch(g){I(g)}},P.debounceMs)})}catch(v){k=v}if(b.signal.aborted)return C(void 0);let D=k,V=void 0;if(E&&W6(k))D=k.group,V=k.fields;let M=Z6(D),c=H[U.name]?.[h],{newErrorValue:i,newSource:r}=d0({formLevelError:c,fieldLevelError:M});if(U.getInfo().instance!==U)return C(void 0);if(U.setMeta((v)=>{return{...v,errorMap:{...v?.errorMap,[h]:i},errorSourceMap:{...v.errorSourceMap,[h]:r}}}),E)this.distributeFieldErrors(h,V);C(i)}))};for(let U of X){if(!U.validate)continue;G(this,U,T)}for(let U of w){if(!U.validate)continue;G(U.field,U,K)}let W=[];if(T.length||K.length)W=await Promise.all(T),await Promise.all(K);if(R){this.setMeta((U)=>({...U,isValidating:!1}));for(let U of q)U.setMeta((P)=>({...P,isValidating:!1}))}return W.filter(Boolean)},this.validateAllFields=async(B)=>{let z=[];return u(()=>{Object.values(this.getRelatedFields()).forEach((X)=>{if(z.push(Promise.resolve().then(()=>X.validate(B,{skipFormValidation:!0,skipGroupValidation:!0}))),!X.store.state.meta.isTouched)X.setMeta((H)=>({...H,isTouched:!0}))})}),(await Promise.all(z)).flat()},this.validateArrayFieldsStartingFrom=(B,z,Q)=>{return this.form.validateArrayFieldsStartingFrom(B,z,Q)},this.validateField=(B,z)=>{return this.form.validateField(B,z)},this.getFieldValue=(B)=>{return this.form.getFieldValue(B)},this.getFieldMeta=(B)=>{return this.form.getFieldMeta(B)},this.setFieldMeta=(B,z)=>{return this.form.setFieldMeta(B,z)},this.setFieldValue=(B,z)=>{return this.form.setFieldValue(B,z)},this.deleteField=(B)=>{return this.form.deleteField(B)},this.pushFieldValue=(B,z)=>{return this.form.pushFieldValue(B,z)},this.insertFieldValue=(B,z,Q)=>{return this.form.insertFieldValue(B,z,Q)},this.replaceFieldValue=(B,z,Q)=>{return this.form.replaceFieldValue(B,z,Q)},this.swapFieldValues=(B,z,Q)=>{return this.form.swapFieldValues(B,z,Q)},this.moveFieldValues=(B,z,Q)=>{return this.form.moveFieldValues(B,z,Q)},this.clearFieldValues=(B)=>{return this.form.clearFieldValues(B)},this.resetField=(B)=>{return this.form.resetField(B)},this.removeFieldValue=(B,z)=>{return this.form.removeFieldValue(B,z)},this.areRelatedFieldsValid=()=>{return Object.values(this.getRelatedFields()).every((B)=>B.state.meta.isValid)},this.validate=(B,z)=>{let{fieldsErrorMap:Q}=z?.skipFormValidation?{fieldsErrorMap:{}}:this.form.validateSync(B,{dontUpdateFormErrorMap:!0,filterFieldNames:(q)=>T0(this.name,q)}),{hasErrored:X}=this.validateSync(B,Q[this.name]??{},{skipRelatedFieldValidation:z?.skipRelatedFieldValidation});if(X&&!this.options.asyncAlways)return this.getInfo().validationMetaMap[m4(B)]?.lastAbortController.abort(),this.state.meta.errors;let H=z?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(B,{dontUpdateFormErrorMap:!0,filterFieldNames:(q)=>T0(this.name,q)});return this.validateAsync(B,H,{skipRelatedFieldValidation:z?.skipRelatedFieldValidation})},this.triggerOnChangeListener=()=>{let B=this.form.options.listeners?.onChangeGroupDebounceMs;if(B&&B>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})},B)}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(B)=>{this.setFormGroupState((X)=>({...X,isSubmitted:!1,submissionAttempts:X.submissionAttempts+1,isSubmitSuccessful:!1})),u(()=>{Object.values(this.getRelatedFields()).forEach((X)=>{if(!X.state.meta.isTouched)X.setMeta((H)=>({...H,isTouched:!0}))})});let z=B??this.options.onSubmitMeta;this.setFormGroupState((X)=>({...X,isSubmitting:!0}));let Q=()=>{this.setFormGroupState((X)=>({...X,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.areRelatedFieldsValid()){Q(),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){Q(),this.options.onGroupSubmitInvalid?.({value:this.state.value,groupApi:this,meta:z});return}u(()=>{Object.values(this.getRelatedFields()).forEach((X)=>{X.options.listeners?.onGroupSubmit?.({value:X.state.value,fieldApi:X})})}),this.options.listeners?.onSubmit?.({groupApi:this,value:this.state.value});try{await this.options.onGroupSubmit?.({value:this.state.value,groupApi:this,meta:z}),u(()=>{this.setFormGroupState((X)=>({...X,isSubmitted:!0,isSubmitSuccessful:!0})),Q()})}catch(X){throw this.setFormGroupState((H)=>({...H,isSubmitSuccessful:!1})),Q(),X}},this.form=N.form,this.name=N.name,this.options=N,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=O0((B)=>{this.form.formGroupMetaDerived.get(),this.form.baseStore.get();let z=this.form.getFormGroupMeta(this.name)??_6(N.defaultMeta),Q=this.form.getFieldValue(this.name);if(!z.isTouched&&Q===void 0&&this.options.defaultValue!==void 0&&!U0(Q,this.options.defaultValue))Q=this.options.defaultValue;if(B&&B.value===Q&&B.meta===z)return B;return{value:Q,meta:z}}),this.handleSubmit=this.handleSubmit.bind(this)}get state(){return this.store.state}runValidator(N){if(q4(N.validate)){let B=M0[N.type](N.value,N.validate);if(N.type==="validate")return m6(B);return B.then(m6)}return N.validate(N.value)}handleSubmit(N){return this._handleSubmit(N)}}function Z6(N){if(N)return N;return}function W6(N){return!!N&&typeof N==="object"&&"fields"in N}function m6(N){if(!N||typeof N!=="object")return N;if(!("form"in N)&&!("fields"in N))return N;let{form:B,fields:z,...Q}=N;return{...Q,group:B,fields:z}}function m4(N){switch(N){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 U6(N,B){if(!B)return;let z=Object.assign({},N,{state:n0(N.state)});if(B(z),z.fieldInfo!==N.fieldInfo)N.fieldInfo=z.fieldInfo;if(z.options!==N.options)N.options=z.options;let X=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((H,q)=>{if(N.state[q]!==z.state[q])H[q]=z.state[q];return H},{});return u(()=>{if(Object.keys(X).length)N.baseStore.setState((H)=>({...H,...X}));if(z.state.errorMap!==N.state.errorMap)N.setErrorMap(z.state.errorMap)}),z}var w6=e(N0(),1);function cN(N,B){return N===B}function c6(N,B=(Q)=>Q,z){let Q=z?.compare??cN,X=w6.useCallback((q)=>{let{unsubscribe:w}=N.subscribe(q);return w},[N]),H=w6.useCallback(()=>N.get(),[N]);return x6(X,H,H,B,Q)}var _=(N,B=(Q)=>Q,z)=>c6(N,B,{compare:z});var t0=e(N0(),1);var Z4=e(N0(),1);var _4=e(N0(),1),k0=typeof window<"u"?_4.useLayoutEffect:_4.useEffect;function jN(N){let[B,z]=Z4.useState(()=>({form:N.form,name:N.name})),[Q,X]=Z4.useState(()=>{return new $0({...N})});if(B.form!==N.form||B.name!==N.name)X(new $0({...N})),z({form:N.form,name:N.name});let H=_(Q.store,N.mode==="array"?(U)=>U.meta._arrayVersion||0:(U)=>U.value),q=_(Q.store,(U)=>U.meta.isTouched),w=_(Q.store,(U)=>U.meta.isBlurred),T=_(Q.store,(U)=>U.meta.isDirty),K=_(Q.store,(U)=>U.meta.errorMap),R=_(Q.store,(U)=>U.meta.errorSourceMap),G=_(Q.store,(U)=>U.meta.isValidating),W=Z4.useMemo(()=>{return{...Q,get state(){return{value:N.mode==="array"?Q.state.value:H,get meta(){return{...Q.state.meta,isTouched:q,isBlurred:w,isDirty:T,errorMap:K,errorSourceMap:R,isValidating:G}}}}}},[Q,N.mode,H,q,w,T,K,R,G]);return k0(Q.mount,[Q]),k0(()=>{Q.update(N)}),W}var j6=({children:N,...B})=>{let z=jN(B),Q=Z4.useMemo(()=>V0(N,z),[N,z]);return J(X0,{children:Q})};var P6=e(N0(),1);var $6=e(N0(),1);function v6(){return $6.useState(()=>k4())[0]}var $N=P6,f6=P6.version.split(".")[0]==="17"?v6:$N.useId;var W4=e(N0(),1);function vN(N){let[B,z]=W4.useState(()=>({form:N.form,name:N.name})),[Q,X]=W4.useState(()=>{return new o0({...N})});if(B.form!==N.form||B.name!==N.name)X(new o0({...N})),z({form:N.form,name:N.name});let H=_(Q.store,(k)=>k.value),q=_(Q.store,(k)=>k.meta.isTouched),w=_(Q.store,(k)=>k.meta.isBlurred),T=_(Q.store,(k)=>k.meta.isDirty),K=_(Q.store,(k)=>k.meta.errorMap),R=_(Q.store,(k)=>k.meta.errorSourceMap),G=_(Q.store,(k)=>k.meta.isValidating),W=_(Q.store,(k)=>k.meta.isSubmitting),U=_(Q.store,(k)=>k.meta.isSubmitted),P=_(Q.store,(k)=>k.meta.submissionAttempts),A=_(Q.store,(k)=>k.meta.isSubmitSuccessful),h=_(Q.store,(k)=>k.meta.canSubmit),L=_(Q.store,(k)=>k.meta.isValid),y=_(Q.store,(k)=>k.meta.isFieldsValid),b=_(Q.store,(k)=>k.meta.isFieldsValidating),E=_(Q.store,(k)=>k.meta.isGroupValid),C=W4.useMemo(()=>{return{...Q,handleSubmit:(...V)=>{return Q._handleSubmit(...V)},get state(){return{...Q.state,value:H,get meta(){return{...Q.state.meta,isTouched:q,isBlurred:w,isDirty:T,errorMap:K,errorSourceMap:R,isValidating:G,isSubmitting:W,isSubmitted:U,submissionAttempts:P,isSubmitSuccessful:A,canSubmit:h,isValid:L,isFieldsValid:y,isFieldsValidating:b,isGroupValid:E}}}}}},[Q,H,q,w,T,K,R,G,W,U,P,A,h,L,y,b,E]);return k0(Q.mount,[Q]),k0(()=>{Q.update(N)}),C}var u6=({children:N,...B})=>{let z=vN(B),Q=W4.useMemo(()=>V0(N,z),[N,z]);return J(X0,{children:Q})};function fN({form:N,selector:B=(Q)=>Q,children:z}){let Q=_(N.store,B);return J(X0,{children:V0(z,Q)})}function h4(N){let B=f6(),[z,Q]=t0.useState(N?.formId),[X,H]=t0.useState(()=>{return new A4({...N,formId:N?.formId??B})});if(z!==N?.formId){let T=N?.formId??B;H(new A4({...N,formId:T})),Q(T)}let q=t0.useMemo(()=>{let T={...X,handleSubmit:(...K)=>{return X._handleSubmit(...K)},get formId(){return X._formId},get state(){return X.store.state}};return T.Field=function(R){return J(j6,{...R,form:X})},T.FormGroup=function(R){return J(u6,{...R,form:X})},T.Subscribe=function(R){return J(fN,{form:X,selector:R.selector,children:R.children})},T},[X]);k0(X.mount,[]),k0(()=>{X.update(N)});let w=t0.useRef(!1);return k0(()=>{if(!w.current)return;if(!N?.transform)return;U6(X,N.transform)},[X,N?.transform]),k0(()=>{w.current=!0}),q}var j4=e(N0(),1);function n6({className:N,...B}){return J("textarea",{"data-slot":"textarea",className:j("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",N),...B})}var x4=["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 uN=o.object({name:o.string().min(1,Y.name_is_required()),type:o.enum(["chat","autofill","embedding"]),avatar:o.string().optional(),providerId:o.string().optional(),modelId:o.string().optional(),soul:o.string().optional(),thinkingLevel:G6.optional(),systemPrompt:o.string().optional(),skills:o.array(o.string()).optional(),deniedTools:o.array(o.string()).optional()}),nN=[{id:"bash",name:()=>Y.agent_tool_bash_name(),description:()=>Y.agent_tool_bash_desc()},{id:"read_skill",name:()=>Y.agent_tool_read_skill_name(),description:()=>Y.agent_tool_read_skill_desc()},{id:"analyze_image",name:()=>Y.agent_tool_analyze_image_name(),description:()=>Y.agent_tool_analyze_image_desc()},{id:"screenshot",name:()=>Y.agent_tool_screenshot_name(),description:()=>Y.agent_tool_screenshot_desc()},{id:"read_pdf_pages",name:()=>Y.agent_tool_read_pdf_pages_name(),description:()=>Y.agent_tool_read_pdf_pages_desc()},{id:"list_assets",name:()=>Y.agent_tool_list_assets_name(),description:()=>Y.agent_tool_list_assets_desc()},{id:"create_folder",name:()=>Y.agent_tool_create_folder_name(),description:()=>Y.agent_tool_create_folder_desc()},{id:"create_file",name:()=>Y.agent_tool_create_file_name(),description:()=>Y.agent_tool_create_file_desc()},{id:"create_version",name:()=>Y.agent_tool_create_version_name(),description:()=>Y.agent_tool_create_version_desc()}];function p6({isOpen:N,onClose:B,teamId:z,type:Q,initialValues:X,title:H}){let q=s(),{canAdmin:w}=c4(),{data:T}=n({queryKey:["teams",z,"providers"],queryFn:async()=>{let C=await S.api.teams[":teamId"].providers.$get({param:{teamId:z}});if(!C.ok)throw Error("Failed to fetch providers");return await C.json()},enabled:N}),{data:K}=n({queryKey:["teams",z,"skills"],queryFn:async()=>{let C=await S.api.teams[":teamId"].skills.$get({param:{teamId:z}});if(!C.ok)throw Error("Failed to fetch skills");return await C.json()},enabled:N}),R=K?.skills||[],G=j4.useMemo(()=>{return uN.superRefine((C,k)=>{if(C.type==="chat"||C.type==="autofill"){if(!C.providerId)k.addIssue({code:o.ZodIssueCode.custom,message:Y.provider_is_required(),path:["providerId"]});if(!C.modelId)k.addIssue({code:o.ZodIssueCode.custom,message:Y.model_is_required(),path:["modelId"]})}})},[]),W=h4({defaultValues:{name:X?.name||"",type:X?.type||Q||"chat",avatar:X?.avatar||x4[0],providerId:X?.providerId||"",modelId:X?.modelId||"",soul:X?.soul||"",thinkingLevel:X?.thinkingLevel||"off",systemPrompt:X?.systemPrompt||"",skills:X?.skills?.map((C)=>C.skillId)||[],deniedTools:X?.deniedTools||[]},validators:{onChange:G},onSubmit:async({value:C})=>{try{if(X?.id)await L.mutateAsync({id:X.id,values:C});else await h.mutateAsync(C)}catch{}}}),U=_(W.store,(C)=>C.values.providerId),{data:P,isLoading:A}=n({queryKey:["teams",z,"providers",U,"models"],queryFn:async()=>{let C=await S.api.providers[":id"].models.$get({param:{id:U}});if(!C.ok)throw Error("Failed to fetch models");return await C.json()},enabled:!!U&&N}),h=f({mutationFn:async(C)=>{let k=await S.api.teams[":teamId"].agents.$post({param:{teamId:z},json:C});if(!k.ok)throw Error("Failed to create agent");return await k.json()},onSuccess:()=>{B(),q.invalidateQueries({queryKey:["agents",z]}),F.success(Y.agent_created_successfully())},onError:(C)=>{F.error(Y.error_message({message:C.message}))}}),L=f({mutationFn:async({id:C,values:k})=>{let D=await S.api.agents[":agentId"].$put({param:{agentId:C},json:k});if(!D.ok)throw Error("Failed to update agent");return await D.json()},onSuccess:()=>{B(),q.invalidateQueries({queryKey:["agents",z]}),F.success(Y.agent_updated_successfully())},onError:(C)=>{F.error(Y.error_message({message:C.message}))}});j4.useEffect(()=>{if(N)W.reset()},[N,X,Q]);let y=_(W.store,(C)=>C.values.type),b=y==="chat"||y==="autofill",E=(C)=>{return C.map((k)=>{if(typeof k==="string")return{message:k};if(k&&typeof k==="object"&&"message"in k)return{message:String(k.message)};return{message:String(k||"")}})};return J(_0,{open:N,onOpenChange:B,children:Z(x0,{className:"sm:max-w-3xl h-[90vh] flex flex-col p-0 overflow-hidden",children:[Z(c0,{className:"p-6 pb-2 flex-shrink-0",children:[J(j0,{children:H}),J(l0,{children:Y.configure_agent_description()})]}),Z("form",{onSubmit:(C)=>{C.preventDefault(),C.stopPropagation(),W.handleSubmit()},className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[J(D0,{className:"flex-1 min-h-0",children:Z("div",{className:"p-6 pt-2 space-y-6",children:[Z("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[J(W.Field,{name:"name",children:(C)=>{let k=!!C.state.meta.errors.length&&C.state.meta.isTouched;return Z(p,{"data-invalid":k,children:[J(d,{children:Y.agent_name()}),J($,{value:C.state.value,onBlur:C.handleBlur,onChange:(D)=>C.handleChange(D.target.value),placeholder:Y.agent_name_placeholder(),"aria-invalid":k}),k&&J(z0,{errors:E(C.state.meta.errors)})]})}}),J(W.Field,{name:"type",children:(C)=>Z(p,{children:[J(d,{children:Y.agent_type()}),Z(L0,{value:C.state.value,onValueChange:(k)=>C.handleChange(k),disabled:!0,children:[J(C0,{className:"bg-muted/50",children:J(A0,{})}),Z(h0,{children:[J(B0,{value:"chat",children:Y.agent_type_chat()}),J(B0,{value:"autofill",children:Y.agent_type_autofill()}),J(B0,{value:"embedding",children:Y.agent_type_embedding()})]})]})]})}),J(W.Field,{name:"avatar",children:(C)=>Z(p,{className:"md:col-span-2",children:[J(d,{children:Y.agent_avatar()}),Z("div",{className:"flex gap-4 mt-2",children:[x4.map((k)=>{let D=C.state.value===k;return J("button",{type:"button",onClick:()=>C.handleChange(k),className:j("relative w-14 h-14 rounded-full overflow-hidden border-2 transition-all hover:scale-105",D?"border-primary ring-2 ring-primary ring-offset-2":"border-border hover:border-muted-foreground"),children:J("img",{src:k,className:"w-full h-full object-cover",alt:Y.preset_avatar_option()})},k)}),C.state.value&&!x4.includes(C.state.value)&&J("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:J("img",{src:C.state.value,className:"w-full h-full object-cover",alt:Y.current_custom_avatar()})})]})]})})]}),b&&Z(X0,{children:[Z("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 p-4 bg-muted/50 rounded-xl border border-border",children:[J(W.Field,{name:"providerId",children:(C)=>{let k=!!C.state.meta.errors.length&&C.state.meta.isTouched;return Z(p,{"data-invalid":k,children:[J(d,{children:Y.provider()}),Z(L0,{value:C.state.value,onValueChange:(D)=>{C.handleChange(D),W.setFieldValue("modelId","")},children:[J(C0,{"aria-invalid":k,children:J(A0,{placeholder:Y.select_provider()})}),J(h0,{children:T?.map((D)=>J(B0,{value:D.id,children:D.name},D.id))})]}),k&&J(z0,{errors:E(C.state.meta.errors)})]})}}),J(W.Field,{name:"modelId",children:(C)=>{let k=!!C.state.meta.errors.length&&C.state.meta.isTouched;return Z(p,{"data-invalid":k,children:[Z(d,{className:"flex items-center gap-2",children:[Y.model(),A&&J(x,{className:"w-3 h-3 animate-spin"})]}),Z(L0,{value:C.state.value,onValueChange:C.handleChange,disabled:!U||A,children:[J(C0,{"aria-invalid":k,children:J(A0,{placeholder:Y.select_model()})}),J(h0,{children:P?.map((D)=>J(B0,{value:D.id,children:D.name||D.modelId},D.id))})]}),k&&J(z0,{errors:E(C.state.meta.errors)})]})}}),J("div",{className:"md:col-span-2",children:J(W.Field,{name:"thinkingLevel",children:(C)=>{let k={off:Y.thinking_disable(),low:Y.thinking_low(),medium:Y.thinking_medium(),high:Y.thinking_high()};return Z(p,{children:[J(d,{children:Y.thinking_level()}),Z(L0,{value:C.state.value,onValueChange:(D)=>C.handleChange(D),children:[J(C0,{children:J(A0,{})}),J(h0,{children:G6.options.map((D)=>J(B0,{value:D,children:k[D]||D},D))})]})]})}})})]}),J(W.Field,{name:"soul",children:(C)=>Z(p,{children:[J(d,{children:Y.agent_soul()}),J(n6,{value:C.state.value,onBlur:C.handleBlur,onChange:(k)=>C.handleChange(k.target.value),placeholder:Y.agent_soul_placeholder(),className:"min-h-[120px]"})]})}),Z("div",{className:"space-y-4",children:[Z(K0,{className:"text-base font-bold flex items-center gap-2",children:[J(I0,{className:"w-5 h-5 text-primary"}),Y.skills()]}),J("div",{className:"space-y-2",children:J(W.Field,{name:"skills",children:(C)=>Z(X0,{children:[R.map((k)=>{let D=C.state.value?.includes(k.id)||!1;return Z("div",{className:"flex items-center justify-between p-3 bg-muted/30 border border-border rounded-lg",children:[Z("div",{className:"flex items-center gap-3",children:[J(I0,{className:"w-4 h-4 text-muted-foreground"}),Z("div",{className:"flex flex-col",children:[J("span",{className:"text-sm font-medium",children:k.name}),k.description&&J("span",{className:"text-[10px] text-muted-foreground line-clamp-1",children:k.description})]})]}),Z("div",{className:"flex items-center gap-2",children:[J("span",{className:"text-xs text-muted-foreground",children:D?Y.enabled():Y.disabled()}),J(Z0,{checked:D,onCheckedChange:(V)=>{if(V)C.handleChange([...C.state.value||[],k.id]);else C.handleChange((C.state.value||[]).filter((M)=>M!==k.id))}})]})]},k.id)}),R.length===0&&J("div",{className:"text-center py-8 border-2 border-dashed border-border rounded-xl",children:J("p",{className:"text-sm text-muted-foreground",children:Y.no_skills_available()})})]})})})]}),Z("div",{className:"space-y-4 border-t border-border pt-6",children:[Z(K0,{className:"text-base font-bold flex items-center gap-2",children:[J(K6,{className:"w-5 h-5 text-primary"}),Y.agent_tools()]}),J("p",{className:"text-xs text-muted-foreground",children:Y.agent_tools_description()}),J("div",{className:"space-y-2",children:J(W.Field,{name:"deniedTools",children:(C)=>{let k=C.state.value||[];return J(X0,{children:nN.map((D)=>{let V=!k.includes(D.id);return Z("div",{className:"flex items-center justify-between p-3 bg-muted/30 border border-border rounded-lg",children:[Z("div",{className:"flex items-center gap-3",children:[J(K6,{className:"w-4 h-4 text-muted-foreground"}),Z("div",{className:"flex flex-col",children:[J("span",{className:"text-sm font-medium",children:D.name()}),J("span",{className:"text-[10px] text-muted-foreground line-clamp-1",children:D.description()})]})]}),Z("div",{className:"flex items-center gap-2",children:[J("span",{className:"text-xs text-muted-foreground",children:V?Y.enabled():Y.disabled()}),J(Z0,{checked:V,disabled:!w,onCheckedChange:(M)=>{if(M)C.handleChange(k.filter((c)=>c!==D.id));else C.handleChange([...k,D.id])}})]})]},D.id)})})}})})]})]})]})}),Z(v0,{className:"p-6 pt-4 border-t border-border flex-shrink-0",children:[J(m,{variant:"outline",onClick:B,type:"button",children:Y.cancel()}),J(W.Subscribe,{selector:(C)=>[C.canSubmit,C.isSubmitting],children:([C,k])=>Z(m,{type:"submit",className:"bg-primary hover:bg-primary/90 text-primary-foreground min-w-[120px]",disabled:!C||k||h.isPending||L.isPending,children:[(k||h.isPending||L.isPending)&&J(x,{className:"w-4 h-4 animate-spin mr-2"}),X?Y.save_changes():Y.create_agent()]})})]})]})]})})}var pN=[{type:"chat",label:"Chat",icon:D4},{type:"autofill",label:"Autofill",icon:v4},{type:"embedding",label:"Embedding",icon:s0}];function o6({teamId:N}){let B=s(),[z,Q]=a0.useState(!1),[X,H]=a0.useState("chat"),[q,w]=a0.useState(null),[T,K]=a0.useState(null),[R,G]=a0.useState(!1),[W,U]=a0.useState({chat:!0,autofill:!0,embedding:!0}),P=(E)=>{if(E==="chat")return Y.agent_type_chat();if(E==="autofill")return Y.agent_type_autofill();return Y.agent_type_embedding()},{data:A=[],isLoading:h}=n({queryKey:["agents",N],queryFn:async()=>{let E=await S.api.teams[":teamId"].agents.$get({param:{teamId:N}});if(!E.ok)throw Error("failed to fetch agents");return[...await E.json()].sort((k,D)=>D.id.localeCompare(k.id))}}),L=f({mutationFn:async(E)=>{if(!(await S.api.agents[":agentId"].$delete({param:{agentId:E}})).ok)throw Error("failed to delete agent")},onSuccess:()=>{G(!1),B.invalidateQueries({queryKey:["agents",N]}),F.success(Y.agent_deleted_successfully())},onError:(E)=>{F.error(E.message)}}),y=f({mutationFn:async(E)=>{let C=await S.api.agents[":agentId"].$put({param:{agentId:E.agentId},json:{name:E.name,type:E.type,enabled:E.enabled,avatar:E.avatar,providerId:E.providerId,modelId:E.modelId,thinkingLevel:E.thinkingLevel,systemPrompt:E.systemPrompt,soul:E.soul,skills:E.skills,deniedTools:E.deniedTools}});if(!C.ok)throw Error("failed to update agent");return C.json()},onSuccess:()=>{B.invalidateQueries({queryKey:["agents",N]}),F.success(Y.agent_updated_successfully())},onError:(E)=>{F.error(E.message)}}),b=(E)=>{U((C)=>({...C,[E]:!C[E]}))};return Z(X0,{children:[(z||q)&&J(p6,{isOpen:!0,title:q?Y.edit_item({name:q.name}):Y.create_type_agent({type:P(X)}),onClose:()=>{Q(!1),w(null)},teamId:N,type:X,initialValues:q||void 0}),J(i0,{open:R,onOpenChange:G,children:Z(r0,{children:[Z(e0,{children:[J(J4,{children:Y.are_you_absolutely_sure()}),J(X4,{children:Y.delete_agent_confirmation({name:T?.name??""})})]}),Z(N4,{children:[J(z4,{children:Y.cancel()}),J(B4,{className:"bg-destructive hover:bg-destructive/90 text-white",onClick:(E)=>{if(L.isPending){E.preventDefault();return}if(T)L.mutate(T.id)},children:L.isPending?J(x,{className:"w-4 h-4 animate-spin"}):Y.delete_agent()})]})]})}),h&&A.length===0?J("div",{className:"flex items-center justify-center p-12",children:J(x,{className:"w-8 h-8 animate-spin text-muted-foreground"})}):Z("div",{className:"space-y-6 max-w-5xl mx-auto relative",children:[h&&J("div",{className:"absolute top-0 right-0 p-2",children:J(x,{className:"w-4 h-4 animate-spin text-muted-foreground"})}),pN.map((E)=>{let C=A.filter((V)=>V.type===E.type),k=E.icon,D=E.type==="autofill"||E.type==="embedding";return Z("div",{className:"bg-card rounded-xl border border-border overflow-hidden",children:[Z("div",{className:j("px-6 py-4 flex items-center justify-between",!D&&"cursor-pointer hover:bg-muted/50 transition-colors"),onClick:!D?()=>b(E.type):void 0,children:[Z("div",{className:"flex items-center gap-2",children:[J("h3",{className:"font-semibold text-foreground",children:E.type==="chat"?Y.chat_agents():E.type==="autofill"?Y.autofill_agent():Y.embedding_agent()}),!D&&J(f4,{variant:"secondary",className:"h-5 px-1.5 min-w-[1.25rem] text-[10px]",children:C.length})]}),Z("div",{className:"flex items-center gap-2",children:[!(D&&C.length>0)&&J(m,{variant:"ghost",size:"icon",className:"h-8 w-8 rounded-full bg-primary/10 text-primary hover:bg-primary/20",onClick:(V)=>{V.stopPropagation(),H(E.type),Q(!0)},children:J(G0,{className:"w-4 h-4"})}),!D&&J(d6,{className:j("w-5 h-5 text-muted-foreground transition-transform duration-200",W[E.type]?"rotate-180":"")})]})]}),(D||W[E.type])&&J("div",{className:"px-6 pb-6 pt-2 space-y-3",children:Z("div",{className:"grid grid-cols-1 gap-4",children:[C.map((V)=>J(t,{className:"group relative overflow-hidden border-border hover:border-primary/50 transition-all duration-200 cursor-pointer",onClick:()=>w(V),children:Z(a,{className:"p-4 flex items-center justify-between",children:[Z("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[J("div",{className:"w-10 h-10 rounded-full bg-muted flex items-center justify-center overflow-hidden",children:V.avatar?J("img",{src:V.avatar,className:"w-full h-full object-cover",alt:""}):J($4,{className:"w-6 h-6 text-muted-foreground"})}),Z("div",{className:"min-w-0 flex-1",children:[J("span",{className:"font-bold text-foreground block truncate",children:V.name}),J("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mt-0.5",children:Z("span",{className:"flex items-center gap-1",children:[J(I0,{className:"w-3 h-3"}),Y.skills_count_value({count:V.skills?.length||0})]})})]})]}),Z("div",{className:"flex items-center gap-1",children:[J("div",{className:"mr-2",onClick:(M)=>M.stopPropagation(),children:J(Z0,{checked:V.enabled,onCheckedChange:(M)=>{y.mutate({teamId:N,agentId:V.id,name:V.name,type:V.type,enabled:M,avatar:V.avatar,providerId:V.providerId,modelId:V.modelId,thinkingLevel:V.thinkingLevel,systemPrompt:V.systemPrompt,soul:V.soul,skills:V.skills?.map((c)=>c.skillId),deniedTools:V.deniedTools})}})}),Z(w4,{modal:!1,children:[J(P4,{asChild:!0,onClick:(M)=>M.stopPropagation(),children:J(m,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:J(U4,{className:"w-4 h-4"})})}),J(K4,{align:"end",className:"w-32",children:Z(G4,{onClick:(M)=>{M.stopPropagation(),K(V),G(!0)},className:"text-red-500 focus:text-red-500 gap-2 cursor-pointer",children:[J(P0,{className:"w-4 h-4"})," ",Y.delete()]})})]})," "]})]})},V.id)),C.length===0&&Z("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:[J("div",{className:"w-10 h-10 rounded-full bg-card flex items-center justify-center shadow-sm mb-3",children:J(k,{className:"w-5 h-5 text-muted-foreground"})}),J("p",{className:"text-sm text-muted-foreground",children:Y.no_agents_found({type:P(E.type)})}),J(m,{variant:"link",size:"sm",className:"text-primary font-medium h-auto p-0 mt-1",onClick:()=>{H(E.type),Q(!0)},children:Y.create_one_now()})]})]})})]},E.type)})]})]})}var W0=e(N0(),1);var dN={"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"},oN=o.object({name:o.string().min(1,Y.provider_name_is_required()),config:e6,models:o.array(r6).min(1,Y.at_least_one_model_required())});function NN({teamId:N}){let B=s(),[z,Q]=W0.useState(null),[X,H]=W0.useState(!1),[q,w]=W0.useState(""),[T,K]=W0.useState(!1),[R,G]=W0.useState(null),{data:W,isLoading:U}=n({queryKey:["teams",N,"providers"],queryFn:async()=>{let k=await S.api.teams[":teamId"].providers.$get({param:{teamId:N}});if(!k.ok)throw Error("Failed to fetch providers");return await k.json()}}),P=W0.useMemo(()=>W?.find((k)=>k.id===z)||null,[W,z]),{data:A,isLoading:h}=n({queryKey:["teams",N,"providers",z,"models"],queryFn:async()=>{let k=await S.api.providers[":id"].models.$get({param:{id:z}});if(!k.ok)throw Error("Failed to fetch models");return await k.json()},enabled:!!z}),L=W0.useMemo(()=>W?.map((k)=>k.name)||[],[W]),y=W0.useMemo(()=>{if(!W)return[];if(!q.trim())return W;let k=q.toLowerCase();return W.filter((D)=>D.name.toLowerCase().includes(k))},[W,q]),b=f({mutationFn:async(k)=>{let D=await S.api.teams[":teamId"].providers.$post({param:{teamId:N},json:{name:k.name,config:k.config,models:k.models}});if(!D.ok)throw Error("Failed to create provider");return await D.json()},onSuccess:()=>{B.invalidateQueries({queryKey:["teams",N,"providers"]}),H(!1),F.success(Y.provider_created_successfully())},onError:(k)=>{F.error(Y.error_message({message:k.message}))}}),E=f({mutationFn:async({id:k,values:D})=>{let V=await S.api.providers[":id"].$put({param:{id:k},json:{config:D.config,models:D.models}});if(!V.ok)throw Error("Failed to update provider");return await V.json()},onSuccess:()=>{B.invalidateQueries({queryKey:["teams",N,"providers"]}),Q(null),F.success(Y.provider_updated_successfully())},onError:(k)=>{F.error(Y.error_message({message:k.message}))}}),C=f({mutationFn:async(k)=>{let D=await S.api.providers[":id"].$delete({param:{id:k}});if(!D.ok)throw Error("Failed to delete provider");return await D.json()},onSuccess:()=>{B.invalidateQueries({queryKey:["teams",N,"providers"]}),Q(null),K(!1),G(null),F.success(Y.provider_deleted_successfully())},onError:(k)=>{F.error(Y.error_message({message:k.message}))}});if(U)return J("div",{className:"flex h-64 items-center justify-center",children:J(x,{className:"h-8 w-8 animate-spin text-primary"})});return Z("div",{className:"h-full flex flex-col space-y-0",children:[Z("div",{className:"flex-none space-y-4 pb-4",children:[Z("div",{className:"flex items-center justify-between",children:[Z("h3",{className:"text-lg font-semibold text-foreground flex items-center gap-2",children:[J(s0,{className:"w-5 h-5 text-primary"}),Y.configured_ai_providers()]}),Z(m,{onClick:()=>H(!0),className:"bg-primary hover:bg-primary/90 text-primary-foreground gap-2",children:[J(G0,{className:"w-4 h-4"}),Y.add_provider()]})]}),Z("div",{className:"relative px-0.5",children:[J(T6,{className:"absolute left-3.5 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),J($,{placeholder:Y.search_providers_placeholder(),value:q,onChange:(k)=>w(k.target.value),className:"pl-10 bg-card border-border focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-0"})]})]}),J(D0,{className:"flex-1 min-h-0",children:Z("div",{className:"pr-4 py-2 grid grid-cols-1 gap-4",children:[y.map((k)=>J(t,{className:"group cursor-pointer hover:border-primary/50 transition-all hover:shadow-md overflow-hidden",onClick:()=>Q(k.id),children:Z(a,{className:"p-5 flex items-center justify-between gap-4",children:[Z("div",{className:"flex items-center gap-4 min-w-0 flex-1",children:[J("div",{className:"flex-none p-3 bg-muted rounded-xl group-hover:bg-primary/10 transition-colors",children:J(u4,{className:"w-6 h-6 text-muted-foreground group-hover:text-primary"})}),Z("div",{className:"min-w-0 flex-1",children:[Z("div",{className:"flex items-center gap-2",children:[J("span",{className:"font-bold text-foreground truncate",children:k.name}),k.isBuiltin&&J(f4,{variant:"secondary",className:"flex-none text-[10px] uppercase tracking-wider font-bold h-5",children:Y.built_in()})]}),Z("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5 text-xs text-muted-foreground mt-1",children:[Z("span",{className:"flex items-center gap-1 flex-none",children:[J(v4,{className:"w-3 h-3"}),k.config.api]}),k.config.baseUrl&&Z("span",{className:"flex items-center gap-1 min-w-0",children:[J("span",{className:"h-1 w-1 rounded-full bg-muted-foreground/30 flex-none"}),J(a6,{className:"w-3 h-3 flex-none"}),J("span",{className:"truncate max-w-[200px] md:max-w-[300px]",children:k.config.baseUrl})]}),Z("span",{className:"flex items-center gap-1 flex-none",children:[J("span",{className:"h-1 w-1 rounded-full bg-muted-foreground/30 flex-none"}),J(s6,{className:"w-3 h-3"}),Y.n_models_count({count:k.modelsCount}),z===k.id&&h&&J(x,{className:"w-3 h-3 animate-spin ml-1"})]})]})]})]}),Z("div",{className:"flex items-center gap-1",children:[Z(w4,{children:[J(P4,{asChild:!0,onClick:(D)=>D.stopPropagation(),children:J(m,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:J(U4,{className:"w-4 h-4"})})}),J(K4,{align:"end",className:"w-32",children:Z(G4,{onClick:(D)=>{D.stopPropagation(),G(k),K(!0)},className:"text-destructive focus:text-destructive gap-2 cursor-pointer",children:[J(P0,{className:"w-4 h-4"})," ",Y.delete()]})})]}),J(l6,{className:"flex-none w-5 h-5 text-muted-foreground/50 group-hover:text-primary transition-colors"})]})]})},k.id)),W?.length===0&&Z("div",{className:"text-center py-12 bg-muted/30 rounded-2xl border-2 border-dashed border-border",children:[J(s0,{className:"w-12 h-12 text-muted-foreground/50 mx-auto mb-4"}),J("h4",{className:"text-foreground font-medium",children:Y.no_providers_configured()}),J("p",{className:"text-sm text-muted-foreground mt-1",children:Y.add_first_provider()})]}),W&&W.length>0&&y.length===0&&Z("div",{className:"text-center py-12",children:[J(T6,{className:"w-12 h-12 text-muted-foreground/50 mx-auto mb-4"}),J("h4",{className:"text-foreground font-medium",children:Y.no_matches_found()}),J("p",{className:"text-sm text-muted-foreground mt-1",children:Y.try_adjusting_search({query:q})}),J(m,{variant:"ghost",size:"sm",onClick:()=>w(""),className:"mt-4 text-primary hover:text-primary/90 hover:bg-primary/10",children:Y.clear_search()})]})]})}),J(t6,{isOpen:X,onClose:()=>H(!1),onSubmit:(k)=>b.mutate(k),isLoading:b.isPending,title:Y.add_new_provider(),existingProviderNames:L}),J(t6,{isOpen:!!P&&!h&&!!A,onClose:()=>Q(null),onSubmit:(k)=>E.mutate({id:P.id,values:k}),onDelete:()=>C.mutate(P.id),isLoading:E.isPending||C.isPending,initialValues:P&&A?{name:P.name,config:P.config,models:A}:void 0,isBuiltin:P?.isBuiltin,title:P?Y.edit_item({name:P.name}):"",existingProviderNames:L}),J(i0,{open:T,onOpenChange:K,children:Z(r0,{children:[Z(e0,{children:[J(J4,{children:Y.are_you_absolutely_sure()}),J(X4,{children:Y.delete_provider_confirmation({name:R?.name??""})})]}),Z(N4,{children:[J(z4,{onClick:()=>G(null),children:Y.cancel()}),Z(B4,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{if(R)C.mutate(R.id)},children:[C.isPending?J(x,{className:"w-4 h-4 animate-spin mr-2"}):J(P0,{className:"w-4 h-4 mr-2"}),Y.delete()]})]})]})})]})}function t6({isOpen:N,onClose:B,onSubmit:z,onDelete:Q,isLoading:X,initialValues:H,isBuiltin:q,title:w,existingProviderNames:T}){let[K,R]=W0.useState(!1),G=W0.useMemo(()=>{return oN.extend({name:o.string().min(1,"Provider name is required").refine((P)=>{if(H?.name===P)return!0;return!T.includes(P)},{message:"Provider name must be unique"})})},[T,H]),W=h4({defaultValues:H||{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:P})=>{z(P)}});W0.useEffect(()=>{if(N)W.reset()},[N,W]);let U=(P)=>{return P.map((A)=>{if(typeof A==="string")return{message:A};if(A&&typeof A==="object"&&"message"in A)return{message:String(A.message)};return{message:String(A||"")}})};return Z(_0,{open:N,onOpenChange:B,children:[Z(x0,{className:"sm:max-w-4xl h-[90vh] flex flex-col p-0 overflow-hidden",children:[Z(c0,{className:"p-6 pb-2 shrink-0",children:[J(j0,{className:"text-xl",children:w}),J(l0,{children:Y.configure_provider_description()})]}),Z("form",{onSubmit:(P)=>{P.preventDefault(),P.stopPropagation(),W.handleSubmit()},className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[J("div",{className:"flex-1 min-h-0",children:J(D0,{className:"h-full",children:Z("div",{className:"p-6 pt-2 space-y-8 pr-6",children:[Z("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 p-6 rounded-2xl border",children:[J(W.Field,{name:"name",children:(P)=>{let A=!!P.state.meta.errors.length&&P.state.meta.isTouched;return Z(p,{"data-invalid":A,children:[J(d,{htmlFor:P.name,children:Y.provider_name()}),J($,{id:P.name,name:P.name,value:P.state.value,onBlur:P.handleBlur,onChange:(h)=>P.handleChange(h.target.value),placeholder:Y.provider_name_placeholder(),disabled:q,"aria-invalid":A}),A&&J(z0,{errors:U(P.state.meta.errors)})]})}}),J(W.Field,{name:"config.api",children:(P)=>{let A=!!P.state.meta.errors.length&&P.state.meta.isTouched;return Z(p,{"data-invalid":A,children:[J(d,{htmlFor:P.name,children:Y.global_api_protocol()}),Z(L0,{onValueChange:P.handleChange,value:P.state.value,disabled:q,children:[J(C0,{id:P.name,"aria-invalid":A,children:J(A0,{placeholder:Y.select_api_protocol()})}),J(h0,{children:i6.map((h)=>J(B0,{value:h,children:dN[h]},h))})]}),A&&J(z0,{errors:U(P.state.meta.errors)})]})}}),J("div",{className:"md:col-span-2",children:J(W.Field,{name:"config.baseUrl",children:(P)=>{let A=!!P.state.meta.errors.length&&P.state.meta.isTouched;return Z(p,{"data-invalid":A,children:[J(d,{htmlFor:P.name,children:Y.base_url_optional()}),J($,{id:P.name,name:P.name,value:P.state.value||"",onBlur:P.handleBlur,onChange:(h)=>P.handleChange(h.target.value),placeholder:"https://api.openai.com/v1","aria-invalid":A}),J(a4,{children:Y.override_default_endpoint()}),A&&J(z0,{errors:U(P.state.meta.errors)})]})}})})]}),J(t,{className:"rounded-2xl border bg-transparent",children:J(a,{className:"p-6 pt-2",children:J(W.Field,{name:"config.apiKey",children:(P)=>{let A=!!P.state.meta.errors.length&&P.state.meta.isTouched;return Z(p,{"data-invalid":A,children:[J(d,{htmlFor:P.name,className:"text-base font-semibold",children:Y.api_key()}),J($,{id:P.name,name:P.name,type:"text",value:P.state.value||"",onBlur:P.handleBlur,onChange:(h)=>P.handleChange(h.target.value),placeholder:Y.api_key_placeholder(),"aria-invalid":A}),J(a4,{className:"text-xs mt-2",children:Y.api_key_description()}),A&&J(z0,{errors:U(P.state.meta.errors)})]})}})})}),J("div",{className:"space-y-4",children:J(W.Field,{name:"models",mode:"array",children:(P)=>Z("div",{className:"space-y-4",children:[Z("div",{className:"flex items-center justify-between",children:[J(K0,{className:"text-lg font-bold",children:Y.models_configuration()}),Z(m,{type:"button",variant:"outline",size:"sm",onClick:()=>P.pushValue({modelId:"",name:"",config:{api:W.getFieldValue("config.api"),reasoning:!1,input:["text"],contextWindow:128000,maxTokens:4096,cost:{input:0,output:0,cacheRead:0,cacheWrite:0}}}),className:"gap-2",children:[J(G0,{className:"w-4 h-4"}),Y.add_model()]})]}),J("div",{className:"space-y-6",children:P.state.value.map((A,h)=>Z("div",{className:"group relative p-6 bg-transparent rounded-2xl border shadow-sm animate-in fade-in zoom-in-95 duration-300",children:[Z("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[J(W.Field,{name:`models[${h}].modelId`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[J(d,{htmlFor:L.name,children:Y.model_id()}),J($,{id:L.name,name:L.name,value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(b.target.value),placeholder:"gpt-4o","aria-invalid":y}),y&&J(z0,{errors:U(L.state.meta.errors)})]})}}),J(W.Field,{name:`models[${h}].name`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[J(d,{htmlFor:L.name,children:Y.display_name_optional()}),J($,{id:L.name,name:L.name,value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(b.target.value),placeholder:"e.g., GPT-4o","aria-invalid":y,disabled:q}),y&&J(z0,{errors:U(L.state.meta.errors)})]})}})]}),Z("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mt-6",children:[J(W.Field,{name:`models[${h}].config.reasoning`,children:(L)=>Z(p,{orientation:"horizontal",className:"rounded-lg border border-border p-3 shadow-sm bg-muted/50 justify-between",children:[J(d,{htmlFor:L.name,children:Y.reasoning_support()}),J(Z0,{id:L.name,checked:L.state.value,onCheckedChange:L.handleChange,disabled:q})]})}),J(W.Field,{name:`models[${h}].config.contextWindow`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[J(d,{htmlFor:L.name,className:"text-xs",children:Y.context_window_tokens()}),J($,{id:L.name,name:L.name,type:"number",value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(parseInt(b.target.value)||0),"aria-invalid":y,disabled:q}),y&&J(z0,{errors:U(L.state.meta.errors)})]})}})]}),Z("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 mt-6",children:[J(W.Field,{name:`models[${h}].config.maxTokens`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[J(d,{htmlFor:L.name,className:"text-xs",children:Y.max_output_tokens()}),J($,{id:L.name,name:L.name,type:"number",value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(parseInt(b.target.value)||0),"aria-invalid":y,disabled:q}),y&&J(z0,{errors:U(L.state.meta.errors)})]})}}),J(W.Field,{name:`models[${h}].config.cost.input`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[Z(d,{htmlFor:L.name,className:"text-xs flex items-center gap-1",children:[J(R6,{className:"w-3 h-3"})," ",Y.input_cost_1m()]}),J($,{id:L.name,name:L.name,type:"number",step:"0.01",value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(parseFloat(b.target.value)||0),"aria-invalid":y,disabled:q}),y&&J(z0,{errors:U(L.state.meta.errors)})]})}}),J(W.Field,{name:`models[${h}].config.cost.output`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[Z(d,{htmlFor:L.name,className:"text-xs flex items-center gap-1",children:[J(R6,{className:"w-3 h-3"})," ",Y.output_cost_1m()]}),J($,{id:L.name,name:L.name,type:"number",step:"0.01",value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(parseFloat(b.target.value)||0),"aria-invalid":y,disabled:q}),y&&J(z0,{errors:U(L.state.meta.errors)})]})}})]}),J(m,{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:()=>P.removeValue(h),children:J(P0,{className:"h-4 w-4"})})]},h))})]})})})]})})}),Z(v0,{className:"p-6 pt-4 border-t border-border gap-2 shrink-0",children:[J(m,{type:"button",variant:"outline",onClick:B,disabled:X,children:Y.cancel()}),J(W.Subscribe,{selector:(P)=>[P.canSubmit,P.isSubmitting],children:([P,A])=>J(m,{type:"submit",className:"min-w-[120px]",disabled:!P||A||X,children:A||X?J(x,{className:"w-4 h-4 animate-spin"}):Y.save_configuration()})})]})]})]}),J(i0,{open:K,onOpenChange:R,children:Z(r0,{children:[Z(e0,{children:[J(J4,{children:Y.are_you_absolutely_sure()}),J(X4,{children:Y.delete_provider_confirmation({name:H?.name??""})})]}),Z(N4,{children:[J(z4,{onClick:()=>R(!1),children:Y.cancel()}),J(B4,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{Q?.(),R(!1)},children:Y.delete()})]})]})})]})}var XN=e(N0(),1);function BN({teamId:N}){let B=s(),[z,Q]=XN.useState(""),{data:X,isLoading:H}=n({queryKey:["teams",N,"sandbox"],queryFn:async()=>{let W=await S.api.teams[":teamId"].sandbox.$get({param:{teamId:N}});if(!W.ok)throw Error(Y.failed_load_settings());return await W.json()}}),{mutate:q,isPending:w}=f({mutationFn:async(W)=>{let U=await S.api.teams[":teamId"].sandbox.$put({param:{teamId:N},json:W});if(!U.ok)throw Error(Y.failed_to_update_sandbox_settings());return await U.json()},onSuccess:()=>{B.invalidateQueries({queryKey:["teams",N,"sandbox"]}),F.success(Y.sandbox_settings_updated())},onError:(W)=>{F.error(W instanceof Error?W.message:Y.failed_to_update_sandbox_settings())}}),T=(W)=>{if(W.preventDefault(),!z.trim())return;if(X?.allowedDomains.includes(z.trim())){F.error(Y.domain_already_exists());return}let U=[...X?.allowedDomains||[],z.trim()],P=X?.pendingDomains||[];q({allowedDomains:U,pendingDomains:P}),Q("")},K=(W)=>{let U=(X?.allowedDomains||[]).filter((A)=>A!==W),P=X?.pendingDomains||[];q({allowedDomains:U,pendingDomains:P})},R=(W)=>{let U=[...X?.allowedDomains||[],W],P=(X?.pendingDomains||[]).filter((A)=>A!==W);q({allowedDomains:U,pendingDomains:P})},G=(W)=>{let U=(X?.pendingDomains||[]).filter((P)=>P!==W);q({allowedDomains:X?.allowedDomains||[],pendingDomains:U})};if(H)return J("div",{className:"flex items-center justify-center p-8",children:J(x,{className:"h-8 w-8 animate-spin text-muted-foreground"})});return J(D0,{className:"h-full",children:Z("div",{className:"space-y-6 pr-4 pb-8",children:[Z(t,{children:[Z(Y0,{children:[Z("div",{className:"flex items-center gap-2",children:[J(u4,{className:"w-5 h-5 text-primary"}),J(Q0,{children:Y.network_sandbox()})]}),J(H0,{children:Y.network_sandbox_description()})]}),Z(a,{children:[Z("form",{onSubmit:T,className:"flex gap-2 mb-6",children:[J($,{placeholder:"e.g. api.openai.com",value:z,onChange:(W)=>Q(W.target.value),disabled:w}),Z(m,{type:"submit",disabled:w,children:[w?J(x,{className:"w-4 h-4 animate-spin"}):J(G0,{className:"w-4 h-4 mr-2"}),Y.add_domain()]})]}),Z("div",{className:"space-y-2",children:[J("h4",{className:"text-sm font-medium text-muted-foreground mb-3",children:Y.allowed_domains()}),Z("div",{className:"flex flex-wrap gap-2",children:[X?.allowedDomains.map((W)=>Z("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:[J("span",{className:"font-medium text-foreground",children:W}),J("button",{onClick:()=>K(W),className:"ml-1 text-muted-foreground hover:text-destructive transition-colors",disabled:w,children:J(p4,{className:"w-3.5 h-3.5"})})]},W)),X?.allowedDomains.length===0&&J("div",{className:"text-sm text-muted-foreground italic",children:Y.no_custom_domains_allowed()})]})]})]})]}),Z(t,{className:"border-orange-500/20 bg-orange-500/5",children:[Z(Y0,{children:[Z("div",{className:"flex items-center gap-2",children:[J(JN,{className:"w-5 h-5 text-orange-500"}),J(Q0,{children:Y.pending_domain_approvals()})]}),J(H0,{children:Y.pending_domains_description()})]}),J(a,{children:J("div",{className:"space-y-3",children:X?.pendingDomains&&X.pendingDomains.length>0?J("div",{className:"divide-y divide-border",children:X.pendingDomains.map((W)=>Z("div",{className:"flex items-center justify-between py-2.5 first:pt-0 last:pb-0",children:[J("span",{className:"font-mono text-sm text-foreground bg-muted px-2 py-1 rounded break-all",children:W}),Z("div",{className:"flex items-center gap-2",children:[Z(m,{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:()=>R(W),disabled:w,children:[J(n4,{className:"w-4 h-4 mr-1.5"}),Y.approve()]}),Z(m,{size:"sm",variant:"outline",className:"h-8 border-destructive/20 text-destructive hover:bg-destructive/10",onClick:()=>G(W),disabled:w,children:[J(P0,{className:"w-4 h-4 mr-1.5"}),Y.delete()]})]})]},W))}):J("div",{className:"text-sm text-muted-foreground italic py-2",children:Y.no_pending_domains()})})})]}),J(t,{children:Z(Y0,{children:[J(Q0,{children:Y.filesystem_restriction()}),J(H0,{children:Y.filesystem_restriction_description()})]})})]})})}var E0=e(N0(),1);var tN=(N)=>Z("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",...N,children:[J("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"}),J("path",{d:"M9 18c-4.51 2-5-2-7-2"})]}),QN=({teamId:N})=>{let B=s(),{canAdmin:z}=c4(),[Q,X]=E0.useState(!1),[H,q]=E0.useState(!1),[w,T]=E0.useState(!1),[K,R]=E0.useState(null),{data:G,isLoading:W}=n({queryKey:["teams",N,"skills"],queryFn:async()=>{let h=await S.api.teams[":teamId"].skills.$get({param:{teamId:N}});if(!h.ok)throw Error(Y.failed_load_settings());return await h.json()}}),U=f({mutationFn:async(h)=>{if(!(await S.api.skills[":id"].$delete({param:{id:h}})).ok)throw Error(Y.failed_to_delete())},onSuccess:()=>{B.invalidateQueries({queryKey:["teams",N,"skills"]}),T(!1)}}),P=f({mutationFn:async({id:h,permission:L})=>{if(!(await S.api.skills[":id"].permission.$patch({param:{id:h},json:{permission:L}})).ok)throw Error(Y.failed_to_update_permission())},onSuccess:()=>{B.invalidateQueries({queryKey:["teams",N,"skills"]})},onError:(h)=>{alert(h.message||Y.failed_to_update_permission())}}),A=G?.skills||[];return Z(t,{children:[Z(Y0,{className:"flex flex-row items-center justify-between space-y-0 pb-7",children:[Z("div",{className:"flex items-center gap-3",children:[J("div",{className:"p-2 bg-primary/10 text-primary rounded-lg",children:J(I0,{className:"w-6 h-6"})}),Z("div",{children:[J(Q0,{className:"text-xl font-bold",children:Y.skills_management()}),J(H0,{children:Y.skills_management_description()})]})]}),Z(m,{onClick:()=>X(!0),className:"gap-2",children:[J(G0,{className:"w-4 h-4"})," ",Y.add_skill()]})]}),J(a,{children:W?J("div",{className:"flex justify-center py-10",children:J(x,{className:"w-8 h-8 animate-spin text-primary"})}):A.length===0?Z("div",{className:"text-center py-12 border-2 border-dashed border-border rounded-xl",children:[J("div",{className:"mx-auto w-12 h-12 bg-muted rounded-full flex items-center justify-center mb-4 text-muted-foreground",children:J(I0,{className:"w-6 h-6"})}),J("h3",{className:"text-lg font-medium text-foreground",children:Y.no_skills_installed()}),J("p",{className:"text-muted-foreground mt-1 max-w-xs mx-auto",children:Y.add_skill_to_get_started()})]}):J("div",{className:"space-y-4",children:A.map((h)=>J(lN,{skill:h,canAdmin:z,onDelete:()=>{R(h),T(!0)},onConfigure:()=>{R(h),q(!0)},onPermissionChange:(L)=>P.mutate({id:h.id,permission:L})},h.id))})}),J(aN,{open:Q,onOpenChange:X,teamId:N}),K&&J(sN,{open:H,onOpenChange:(h)=>{if(q(h),!h)setTimeout(()=>{document.body.style.pointerEvents="auto"},100)},teamId:N,skill:K}),J(i0,{open:w,onOpenChange:T,children:Z(r0,{children:[Z(e0,{children:[J(J4,{children:Y.are_you_absolutely_sure()}),J(X4,{children:Y.delete_skill_confirmation({name:K?.name??""})})]}),Z(N4,{children:[J(z4,{children:Y.cancel()}),Z(B4,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{if(K)U.mutate(K.id)},children:[U.isPending?J(x,{className:"w-4 h-4 animate-spin mr-2"}):J(P0,{className:"w-4 h-4 mr-2"}),Y.delete()]})]})]})})]})},lN=({skill:N,canAdmin:B,onDelete:z,onConfigure:Q,onPermissionChange:X})=>{return Z("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:Q,children:[Z("div",{children:[Z("div",{className:"flex items-start justify-between mb-2",children:[J("h4",{className:"font-bold text-foreground flex items-center gap-2",children:N.name}),Z(w4,{children:[J(P4,{asChild:!0,onClick:(H)=>H.stopPropagation(),children:J(m,{variant:"ghost",size:"icon",className:"h-8 w-8",children:J(U4,{className:"w-4 h-4"})})}),J(K4,{align:"end",className:"w-32",children:Z(G4,{onClick:(H)=>{H.stopPropagation(),z()},className:"text-destructive focus:text-destructive gap-2 cursor-pointer",children:[J(P0,{className:"w-4 h-4"})," ",Y.delete()]})})]})]}),J("p",{className:"text-sm text-muted-foreground line-clamp-2",children:N.description||Y.no_description_provided()})]}),Z("div",{className:"mt-4 flex items-center justify-between gap-2 pt-2 border-t border-border/50 text-xs",children:[Z("span",{className:"text-[10px] text-muted-foreground uppercase tracking-wider font-semibold",children:[Y.updated_date()," ",new Date(N.updatedAt).toLocaleDateString()]}),J("div",{className:"flex items-center gap-2",onClick:(H)=>H.stopPropagation(),children:Z(L0,{value:N.permission||"reviewer",onValueChange:(H)=>X(H),disabled:!B,children:[J(C0,{className:"h-7 text-xs px-2 bg-background border-border w-[140px]",children:J(A0,{placeholder:Y.skill_permission()})}),Z(h0,{align:"end",children:[J(B0,{value:"reviewer",children:Y.permission_all_users()}),J(B0,{value:"editor",children:Y.permission_owner_and_editor()}),J(B0,{value:"owner",children:Y.permission_owner_only()})]})]})})]})]})},aN=({open:N,onOpenChange:B,teamId:z})=>{let Q=s(),[X,H]=E0.useState(""),[q,w]=E0.useState(!1),T=E0.useRef(null),{data:K}=n({queryKey:["teams",z,"projects"],queryFn:async()=>{let W=await S.api.teams[":teamId"].projects.$get({param:{teamId:z},query:{first:"1"}});if(!W.ok)throw Error("Failed to fetch projects");return await W.json()},enabled:N}),R=async(W)=>{w(!0);try{let U=await S.api.teams[":teamId"].skills.$post({param:{teamId:z},json:W});if(U.status===409){let P=await U.json();if(window.confirm(`${P.error}
2
-
3
- ${Y.override_existing_skill()}`)){await R({...W,override:!0});return}}else if(!U.ok){let P=await U.json().catch(()=>({}));throw Error(P.error||Y.failed_to_install_skill())}else Q.invalidateQueries({queryKey:["teams",z,"skills"]}),B(!1),H("")}catch(U){if(U instanceof Error)alert(U.message);else alert(Y.an_unknown_error_occurred())}finally{w(!1)}},G=async(W)=>{if(!W||W.length===0)return;let U=K?.data?.[0]?.id;if(!U){alert(Y.need_project_to_upload_skills());return}let P=W[0];if(!P.name.toLowerCase().endsWith(".zip")){alert(Y.only_zip_files_supported());return}w(!0);try{let A=P.name,h=P.type||"application/zip",L=await S.api.projects[":projectId"].attachments.$post({param:{projectId:U},json:{fileName:A,size:P.size,contentType:h}});if(!L.ok)throw Error("Failed to get upload URL");let{id:y,uploadUrl:b}=await L.json();if(!(await fetch(b,{method:"PUT",body:P,headers:{"Content-Type":h}})).ok)throw Error("Failed to upload file to storage");await R({assetId:y})}catch(A){if(A instanceof Error)alert(A.message);else alert(Y.an_unknown_error_occurred())}finally{w(!1)}};return J(_0,{open:N,onOpenChange:B,children:Z(x0,{className:"sm:max-w-[450px]",children:[Z(c0,{children:[J(j0,{children:Y.add_new_skill()}),J(l0,{children:Y.import_skill_description()})]}),Z("div",{className:"space-y-6 pt-4",children:[Z("div",{className:"space-y-3",children:[J(K0,{children:Y.package_upload()}),Z("div",{onClick:()=>!q&&T.current?.click(),className:j("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:[J("input",{type:"file",ref:T,className:"hidden",accept:".zip",onChange:(W)=>G(W.target.files)}),J("div",{className:"p-3 bg-muted rounded-full group-hover:bg-primary/10 transition-colors",children:J(YN,{className:"w-6 h-6 text-muted-foreground group-hover:text-primary"})}),Z("div",{className:"mt-3 text-center",children:[J("p",{className:"text-sm font-medium text-foreground",children:Y.select_zip_file()}),J("p",{className:"text-[10px] text-muted-foreground mt-1 uppercase tracking-wider font-semibold",children:Y.packages_must_contain_skill_md()})]})]}),q&&!X&&Z("div",{className:"flex items-center gap-2 text-sm text-primary justify-center bg-primary/10 py-2 rounded-lg animate-pulse",children:[J(x,{className:"w-4 h-4 animate-spin"}),Y.processing_package()]})]}),Z("div",{className:"relative",children:[J("div",{className:"absolute inset-0 flex items-center",children:J("span",{className:"w-full border-t border-border"})}),J("div",{className:"relative flex justify-center text-xs uppercase",children:J("span",{className:"bg-background px-2 text-muted-foreground font-bold",children:Y.or()})})]}),J("div",{className:"space-y-4",children:Z("div",{className:"space-y-2",children:[J(K0,{htmlFor:"githubUrl",children:Y.github_repository_url()}),Z("div",{className:"flex gap-2",children:[Z("div",{className:"relative flex-1",children:[J(tN,{className:"absolute left-3 top-2.5 w-4 h-4 text-muted-foreground"}),J($,{id:"githubUrl",placeholder:"https://github.com/owner/repo",value:X,onChange:(W)=>H(W.target.value),disabled:q,className:"pl-9"})]}),J(m,{onClick:()=>R({githubUrl:X}),disabled:!X||q,className:"px-6",children:q&&X?J(x,{className:"w-4 h-4 animate-spin"}):Y.install()})]}),J("p",{className:"text-[10px] text-muted-foreground italic",children:Y.github_url_example()})]})})]})]})})},sN=({open:N,onOpenChange:B,teamId:z,skill:Q})=>{let X=s(),[H,q]=E0.useState({...Q.config||{},environmentVariables:Q.config?.environmentVariables||[]}),[w,T]=E0.useState(!1),K=(A,h)=>{let L=[...H.environmentVariables];L[A]={...L[A],default:h},q({...H,environmentVariables:L})},R=(A,h)=>{let L=[...H.environmentVariables];L[A]={...L[A],name:h},q({...H,environmentVariables:L})},G=()=>{q({...H,environmentVariables:[...H.environmentVariables,{name:"",default:""}]})},W=(A)=>{let h=[...H.environmentVariables];h.splice(A,1),q({...H,environmentVariables:h})},U=async()=>{let A=H.environmentVariables.filter((L)=>L.name.trim()!==""),h={...H,environmentVariables:A};T(!0);try{let L=await S.api.skills[":id"].config.$patch({param:{id:Q.id},json:{config:h}});if(!L.ok){let y=await L.json().catch(()=>({}));throw Error(y.error||"Failed to update config")}X.invalidateQueries({queryKey:["teams",z,"skills"]}),B(!1)}catch(L){if(L instanceof Error)alert(L.message);else alert(Y.an_unknown_error_occurred())}finally{T(!1)}},P=H?.environmentVariables||[];return J(_0,{open:N,onOpenChange:B,children:Z(x0,{className:"sm:max-w-[500px]",children:[Z(c0,{children:[J("div",{className:"flex items-center justify-between",children:Z(j0,{className:"flex items-center gap-2",children:[J(zN,{className:"w-5 h-5 text-primary"}),Y.configure_skill({name:Q.name})]})}),J(l0,{children:Y.manage_env_vars_description()})]}),J(D0,{className:"max-h-[60vh]",children:J("div",{className:"py-4 space-y-4 pr-4",children:P.length===0?J("div",{className:"text-center py-10 bg-muted/50 rounded-xl border border-dashed border-border",children:J("p",{className:"text-muted-foreground text-sm italic",children:Y.no_env_vars_found()})}):P.map((A,h)=>Z("div",{className:"p-4 bg-muted/50 rounded-xl border border-border space-y-3 relative group",children:[J("button",{onClick:()=>W(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:J(p4,{className:"w-4 h-4"})}),Z("div",{className:"space-y-1.5",children:[J(K0,{className:"text-[10px] uppercase tracking-wider font-bold text-muted-foreground",children:Y.variable_name()}),J($,{value:A.name,onChange:(L)=>R(h,L.target.value),placeholder:"e.g. API_KEY",className:"h-8 bg-background border-border text-sm font-mono"})]}),Z("div",{className:"space-y-1.5",children:[J(K0,{className:"text-[10px] uppercase tracking-wider font-bold text-muted-foreground",children:Y.default_value()}),J($,{value:A.default||"",onChange:(L)=>K(h,L.target.value),placeholder:Y.optional_default_value_placeholder(),className:"h-8 bg-background border-border text-sm"}),J("p",{className:"text-[10px] text-muted-foreground italic",children:Y.env_var_empty_note()})]})]},h))})}),Z(v0,{className:"flex items-center justify-between sm:justify-between w-full pt-2 border-t border-border",children:[Z(m,{variant:"ghost",size:"sm",onClick:G,className:"h-8 gap-1.5 text-primary hover:text-primary hover:bg-primary/10",children:[J(G0,{className:"w-3.5 h-3.5"})," ",Y.add_variable()]}),Z("div",{className:"flex gap-2",children:[J(m,{variant:"ghost",onClick:()=>B(!1),children:Y.cancel()}),Z(m,{onClick:U,disabled:w,className:"px-8",children:[w?J(x,{className:"w-4 h-4 animate-spin mr-2"}):null,Y.save_changes()]})]})]})]})})};function WN({teamId:N}){let B=s(),{data:z,isLoading:Q}=n({queryKey:["teams",N,"notification-settings"],queryFn:async()=>{let w=await S.api.teams[":teamId"].notifications.settings.$get({param:{teamId:N}});if(!w.ok)throw Error(Y.failed_load_settings());return await w.json()}}),{mutate:X,isPending:H}=f({mutationFn:async(w)=>{let T=await S.api.teams[":teamId"].notifications.settings.$post({param:{teamId:N},json:w});if(!T.ok)throw Error(Y.failed_to_update_notification_settings());return await T.json()},onSuccess:()=>{B.invalidateQueries({queryKey:["teams",N,"notification-settings"]}),B.invalidateQueries({queryKey:["teams",N,"notifications"]}),F.success(Y.notification_settings_updated())},onError:(w)=>{F.error(w instanceof Error?w.message:Y.failed_to_update_notification_settings())}}),q=(w)=>{if(!z)return;let T={...z,[w]:!z[w]};X(T)};if(Q)return J("div",{className:"flex items-center justify-center p-8",children:J(x,{className:"h-8 w-8 animate-spin text-muted-foreground"})});return J(D0,{className:"h-full",children:Z("div",{className:"space-y-6 pr-4 pb-8",children:[Z(t,{className:"border border-slate-200 dark:border-slate-800",children:[Z(Y0,{className:"border-b border-slate-100 dark:border-slate-800 bg-slate-50/50 dark:bg-slate-900/50",children:[Z("div",{className:"flex items-center gap-2",children:[J(D4,{className:"w-5 h-5 text-blue-500"}),J(Q0,{className:"text-lg",children:Y.comments_and_replies()})]}),J(H0,{children:Y.comments_notification_description()})]}),Z(a,{className:"divide-y divide-slate-100 dark:divide-slate-800 p-0",children:[Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("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:J(D4,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.general_comments()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_someone_comments()})]})]}),J(Z0,{checked:z?.comments??!0,onCheckedChange:()=>q("comments"),disabled:H})]}),Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("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:J(ZN,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.comment_replies()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_someone_replies()})]})]}),J(Z0,{checked:z?.replies??!0,onCheckedChange:()=>q("replies"),disabled:H})]}),Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("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:J(qN,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.at_mentions()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_someone_mentions()})]})]}),J(Z0,{checked:z?.mentions??!0,onCheckedChange:()=>q("mentions"),disabled:H})]})]})]}),Z(t,{className:"border border-slate-200 dark:border-slate-800",children:[Z(Y0,{className:"border-b border-slate-100 dark:border-slate-800 bg-slate-50/50 dark:bg-slate-900/50",children:[Z("div",{className:"flex items-center gap-2",children:[J(k6,{className:"w-5 h-5 text-emerald-500"}),J(Q0,{className:"text-lg",children:Y.assets_and_statuses()})]}),J(H0,{children:Y.assets_notification_description()})]}),Z(a,{className:"divide-y divide-slate-100 dark:divide-slate-800 p-0",children:[Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("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:J(d4,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.your_uploads()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_you_upload_assets()})]})]}),J(Z0,{checked:z?.yourUploads??!1,onCheckedChange:()=>q("yourUploads"),disabled:H})]}),Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("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:J(k6,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.other_uploads()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_other_users_upload_assets()})]})]}),J(Z0,{checked:z?.otherUploads??!0,onCheckedChange:()=>q("otherUploads"),disabled:H})]}),Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("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:J(HN,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.status_updates()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_someone_changes_status()})]})]}),J(Z0,{checked:z?.statusUpdates??!0,onCheckedChange:()=>q("statusUpdates"),disabled:H})]})]})]})]})})}var L6=e(N0(),1);function GN({teamId:N}){let B=s(),[z,Q]=L6.useState(""),[X,H]=L6.useState(null),{data:q,isLoading:w}=n({queryKey:["teams",N,"api-tokens"],queryFn:async()=>{let U=await S.api.teams[":teamId"]["api-tokens"].$get({param:{teamId:N}});if(!U.ok)throw Error("Failed to fetch API tokens");return await U.json()}}),{mutate:T,isPending:K}=f({mutationFn:async(U)=>{let P=await S.api.teams[":teamId"]["api-tokens"].$post({param:{teamId:N},json:{name:U}});if(!P.ok)throw Error("Failed to create API token");return await P.json()},onSuccess:()=>{B.invalidateQueries({queryKey:["teams",N,"api-tokens"]}),Q(""),F.success(Y.api_token_generated_successfully())},onError:(U)=>{F.error(U instanceof Error?U.message:Y.failed_to_generate_token())}}),{mutate:R}=f({mutationFn:async(U)=>{let P=await S.api.teams[":teamId"]["api-tokens"][":tokenId"].$delete({param:{teamId:N,tokenId:U}});if(!P.ok)throw Error("Failed to delete API token");return await P.json()},onSuccess:()=>{B.invalidateQueries({queryKey:["teams",N,"api-tokens"]}),F.success(Y.api_token_revoked_successfully())},onError:(U)=>{F.error(U instanceof Error?U.message:Y.failed_to_revoke_token())}}),G=(U)=>{if(U.preventDefault(),!z.trim())return;T(z.trim())},W=(U,P)=>{navigator.clipboard.writeText(P),H(U),F.success(Y.copied_api_token_to_clipboard()),setTimeout(()=>H(null),2000)};if(w)return J("div",{className:"flex justify-center items-center p-8",children:J(x,{className:"w-8 h-8 animate-spin text-muted-foreground"})});return J("div",{className:"space-y-6",children:Z(t,{children:[Z(Y0,{children:[J(Q0,{children:Y.api_tokens()}),J(H0,{children:Y.api_tokens_description()})]}),Z(a,{className:"space-y-6",children:[Z("form",{onSubmit:G,className:"flex gap-4 items-end max-w-md",children:[Z("div",{className:"flex-1 space-y-2",children:[J("label",{htmlFor:"tokenName",className:"text-sm font-medium text-muted-foreground",children:Y.token_name()}),J($,{id:"tokenName",value:z,onChange:(U)=>Q(U.target.value),placeholder:Y.token_name_placeholder(),required:!0})]}),Z(m,{type:"submit",disabled:K||!z.trim(),children:[K?J(x,{className:"w-4 h-4 animate-spin mr-2"}):J(G0,{className:"w-4 h-4 mr-2"}),Y.generate()]})]}),J("div",{className:"border rounded-lg overflow-hidden",children:Z(wN,{children:[J(PN,{children:Z(o4,{children:[J(E4,{children:Y.name()}),J(E4,{children:Y.token()}),J(E4,{children:Y.created_at()}),J(E4,{className:"w-[100px] text-right",children:Y.actions()})]})}),J(KN,{children:!q||q.length===0?J(o4,{children:J(R4,{colSpan:4,className:"text-center py-6 text-muted-foreground text-sm",children:Y.no_api_tokens_found()})}):q.map((U)=>Z(o4,{children:[J(R4,{className:"font-medium",children:U.name}),J(R4,{className:"font-mono text-sm max-w-[200px] truncate",children:Z("div",{className:"flex items-center gap-2",children:[Z("span",{children:[U.token.substring(0,8),"..."]}),J(m,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>W(U.id,U.token),children:X===U.id?J(n4,{className:"h-3.5 w-3.5 text-green-500"}):J(UN,{className:"h-3.5 w-3.5"})})]})}),J(R4,{className:"text-muted-foreground",children:new Date(U.createdAt).toLocaleDateString()}),J(R4,{className:"text-right",children:J(m,{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:J(P0,{className:"h-4 w-4"})})})]},U.id))})]})})]})]})})}var S0=e(N0(),1);var y0=e(N0(),1);function LN({isOpen:N,onClose:B,imageSrc:z,onConfirm:Q}){let[X,H]=y0.useState(1),[q,w]=y0.useState({x:0,y:0}),[T,K]=y0.useState(!1),[R,G]=y0.useState(!1),W=y0.useRef({x:0,y:0}),U=y0.useRef(null),P=y0.useRef(null),A=250;y0.useEffect(()=>{if(N)H(1),w({x:0,y:0}),G(!1)},[N,z]);let h=(k)=>{k.preventDefault(),K(!0),W.current={x:k.clientX-q.x,y:k.clientY-q.y}},L=(k)=>{if(!T)return;w({x:k.clientX-W.current.x,y:k.clientY-W.current.y})},y=()=>{K(!1)},b=(k)=>{if(k.touches.length!==1)return;K(!0);let D=k.touches[0];W.current={x:D.clientX-q.x,y:D.clientY-q.y}},E=(k)=>{if(!T||k.touches.length!==1)return;let D=k.touches[0];w({x:D.clientX-W.current.x,y:D.clientY-W.current.y})},C=async()=>{let k=U.current,D=P.current;if(!k||!D)return;G(!0);try{let V=k.getBoundingClientRect(),M=512,c=document.createElement("canvas");c.width=512,c.height=512;let i=c.getContext("2d");if(i){i.clearRect(0,0,512,512);let r=2.048,v=V.width/X,I=V.height/X,g=256+q.x*r,R0=256+q.y*r;i.translate(g,R0),i.scale(X*r,X*r),i.drawImage(k,-v/2,-I/2,v,I);let t4=await new Promise((l4)=>{c.toBlob((A6)=>l4(A6),"image/jpeg",0.9)});if(t4)await Q(t4)}}catch(V){console.error("Failed to crop image",V)}finally{G(!1)}};return J(_0,{open:N,onOpenChange:(k)=>!k&&B(),children:Z(x0,{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:[J(c0,{className:"p-6 border-b border-border/40 bg-gradient-to-br from-primary/5 to-transparent",children:Z(j0,{className:"text-xl font-bold flex items-center gap-2",children:[J(RN,{className:"w-5 h-5 text-primary"}),Y.position_and_resize()]})}),Z("div",{className:"p-6 flex flex-col items-center gap-6",children:[Z("div",{ref:P,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:L,onMouseUp:y,onMouseLeave:y,onTouchStart:b,onTouchMove:E,onTouchEnd:y,children:[z&&J("img",{ref:U,src:z,alt:Y.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(${X})`,maxHeight:"100%"}}),J("div",{className:"absolute inset-0 pointer-events-none border-[3px] border-primary/90 rounded-full"}),J("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)"}})]}),Z("div",{className:"w-full flex items-center gap-3 px-2",children:[J(kN,{className:"w-4 h-4 text-muted-foreground"}),J("input",{type:"range",min:"1.0",max:"3.0",step:"0.01",value:X,onChange:(k)=>H(parseFloat(k.target.value)),className:"flex-1 h-1.5 bg-muted rounded-lg appearance-none cursor-pointer accent-primary focus:outline-none"}),J(TN,{className:"w-4 h-4 text-muted-foreground"})]})]}),Z(v0,{className:"p-6 border-t border-border/40 bg-muted/20 flex flex-row justify-end gap-3",children:[J(m,{variant:"outline",onClick:B,disabled:R,children:Y.cancel()}),J(m,{onClick:C,disabled:R||!z,className:"min-w-[80px]",children:R?Z(X0,{children:[J(x,{className:"w-4 h-4 animate-spin mr-2"}),Y.saving()]}):Y.save()})]})]})})}function iN(){let{teamId:N}=rN.useParams(),B=s(),[z,Q]=S0.useState("general"),[X,H]=S0.useState(""),[q,w]=S0.useState(!1),[T,K]=S0.useState(null),R=S0.useRef(null),[G,W]=S0.useState(!1),{setMetadata:U,getMetadata:P}=IN(),A=P("locale")||VN(),h=async(I)=>{if(I==="en"||I==="zh")try{await U(N,"locale",I),MN(I),F.success(Y.language_updated())}catch(g){console.error(g),F.error(Y.failed_update_language())}},{data:L,isLoading:y,error:b}=n({queryKey:["teams",N,"settings"],queryFn:async()=>{let I=await S.api.teams[":teamId"].settings.$get({param:{teamId:N}});if(!I.ok)throw Error("Failed to fetch settings");return await I.json()}}),{data:E,isLoading:C}=n({queryKey:["teams",N,"me"],queryFn:async()=>{let I=await S.api.teams[":teamId"].me.$get({param:{teamId:N}});if(!I.ok)throw Error("Failed to fetch me");return await I.json()},enabled:!!N});S0.useEffect(()=>{if(E?.name)H(E.name)},[E]);let k=(I)=>{if(!I)return"U";let g=I.split(" ");if(g.length>1)return`${g[0][0]}${g[g.length-1][0]}`.toUpperCase();return I.substring(0,2).toUpperCase()},D=(I)=>{let g=I.target.files?.[0];if(g){let R0=new FileReader;R0.onload=()=>{K(R0.result),w(!0)},R0.readAsDataURL(g),I.target.value=""}},V=async(I)=>{W(!0);try{let g=new File([I],"avatar.jpg",{type:"image/jpeg"}),R0=await S.api.teams[":teamId"].files.$post({param:{teamId:N},form:{file:g}});if(!R0.ok)throw Error("Failed to upload avatar");let l4=(await R0.json()).key;if(!(await S.api.teams[":teamId"].me.$patch({param:{teamId:N},json:{imageKey:l4}})).ok)throw Error("Failed to save profile");F.success(Y.avatar_updated()),B.invalidateQueries({queryKey:["teams",N,"me"]}),w(!1)}catch(g){console.error(g),F.error(Y.failed_update_avatar())}finally{W(!1)}},M=async()=>{W(!0);try{if(!(await S.api.teams[":teamId"].me.$patch({param:{teamId:N},json:{imageKey:null}})).ok)throw Error("Failed to remove avatar");F.success(Y.avatar_removed()),B.invalidateQueries({queryKey:["teams",N,"me"]})}catch(I){console.error(I),F.error(Y.failed_remove_avatar())}finally{W(!1)}},c=async()=>{if(!X.trim())return;W(!0);try{if(!(await S.api.teams[":teamId"].me.$patch({param:{teamId:N},json:{name:X.trim()}})).ok)throw Error("Failed to update name");F.success(Y.profile_updated()),B.invalidateQueries({queryKey:["teams",N,"me"]})}catch(I){console.error(I),F.error(Y.failed_update_profile())}finally{W(!1)}},{mutate:i}=f({mutationFn:async(I)=>{let g=await S.api.teams[":teamId"].settings.$patch({param:{teamId:I.teamId},json:I.data});if(!g.ok)throw Error("Failed to update settings");return await g.json()},onSuccess:()=>{B.invalidateQueries({queryKey:["teams",N,"settings"]})}}),r=(I)=>{i({teamId:N,data:{key:"transcode.videoStrategy",value:I}})};if(y||C)return J("div",{className:"flex h-screen items-center justify-center",children:J(x,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(b)return J("div",{className:"p-8 text-center text-red-500",children:Y.failed_load_settings()});let v=L?.transcode?.videoStrategy||f0.best_match;if(v==="single"||v==="disable")v=f0.best_match;else if(v==="full")v=f0.all;return J("div",{className:"h-full bg-background font-sans selection:bg-primary/20 transition-colors duration-300",children:Z("div",{className:"flex flex-col md:flex-row h-full",children:[J("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:Z("nav",{className:"p-4 space-y-1 mt-4",children:[J("div",{className:"mb-2 px-4 text-xs font-semibold text-sidebar-foreground/60 uppercase tracking-wider",children:Y.settings()}),Z("button",{onClick:()=>Q("general"),className:j("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:[J(EN,{className:"w-5 h-5"}),Y.general(),z==="general"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),E?.role==="owner"&&Z("button",{onClick:()=>Q("transcode"),className:j("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:[J(CN,{className:"w-5 h-5"}),Y.media_processing(),z==="transcode"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Z("button",{onClick:()=>Q("notifications"),className:j("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:[J(d4,{className:"w-5 h-5"}),Y.notifications(),z==="notifications"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Z("button",{onClick:()=>Q("developer"),className:j("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:[J(hN,{className:"w-5 h-5"}),Y.api_tokens(),z==="developer"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),E?.role==="owner"&&Z(X0,{children:[J("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:Y.ai()}),Z("button",{onClick:()=>Q("providers"),className:j("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:[J(s0,{className:"w-5 h-5"}),Y.providers(),z==="providers"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Z("button",{onClick:()=>Q("skills"),className:j("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:[J(I0,{className:"w-5 h-5"}),Y.skills(),z==="skills"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Z("button",{onClick:()=>Q("agents"),className:j("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:[J($4,{className:"w-5 h-5"}),Y.agents(),z==="agents"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Z("button",{onClick:()=>Q("sandbox"),className:j("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:[J(DN,{className:"w-5 h-5"}),Y.agent_sandbox(),z==="sandbox"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]})]})]})}),J("main",{className:"flex-1 bg-background/50 h-full flex flex-col transition-colors duration-300 overflow-y-hidden",children:Z("div",{className:"flex-1 flex flex-col max-w-4xl w-full mx-auto p-6 md:p-10 overflow-hidden",children:[J("div",{className:"flex-none flex items-center justify-between mb-6",children:Z("div",{children:[Z("h2",{className:"text-2xl font-bold text-foreground",children:[z==="general"&&Y.general_settings(),z==="transcode"&&Y.media_processing(),z==="skills"&&Y.skills_management(),z==="providers"&&Y.ai_providers(),z==="agents"&&Y.ai_agents(),z==="sandbox"&&Y.agent_sandbox_settings(),z==="notifications"&&Y.notification_settings(),z==="developer"&&Y.developer_settings()]}),Z("p",{className:"text-sm text-muted-foreground mt-1",children:[z==="general"&&Y.general_settings_description(),z==="transcode"&&Y.transcode_description(),z==="skills"&&Y.skills_description(),z==="providers"&&Y.providers_description(),z==="agents"&&Y.agents_description(),z==="sandbox"&&Y.sandbox_description(),z==="notifications"&&Y.notifications_description(),z==="developer"&&Y.developer_description()]})]})}),Z("div",{className:"flex-1 overflow-hidden animate-in fade-in slide-in-from-bottom-4 duration-500",children:[z==="general"&&Z("div",{className:"h-full overflow-y-auto space-y-6 pr-1",children:[Z(t,{children:[Z(Y0,{children:[J(Q0,{children:Y.personal_info()}),J(H0,{children:Y.personal_info_description()})]}),J(a,{className:"space-y-6",children:Z("div",{className:"flex flex-col md:flex-row gap-8 items-start",children:[Z("div",{className:"flex flex-col items-center gap-3",children:[J("span",{className:"text-sm font-medium text-muted-foreground",children:Y.avatar()}),Z("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:[Z(yN,{className:"w-24 h-24",children:[E?.image&&J(bN,{src:E.image,alt:E.name,className:"object-cover w-24 h-24"}),J(ON,{className:"text-2xl bg-primary/40 text-foreground",children:k(E?.name)})]}),J("div",{className:"absolute inset-0 bg-black/40 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity",children:J("span",{className:"text-white text-xs font-semibold",children:Y.change()})})]}),Z("div",{className:"flex gap-2",children:[J(m,{variant:"outline",size:"sm",onClick:()=>R.current?.click(),children:Y.upload()}),E?.image&&J(m,{variant:"ghost",size:"sm",className:"text-red-500 hover:text-red-600",onClick:M,children:Y.remove()})]}),J("input",{type:"file",ref:R,className:"hidden",accept:"image/*",onChange:D})]}),Z("div",{className:"flex-1 space-y-4 w-full",children:[Z("div",{className:"space-y-2",children:[J("label",{className:"text-sm font-medium text-muted-foreground",children:Y.name()}),J($,{value:X,onChange:(I)=>H(I.target.value),placeholder:Y.enter_your_name(),className:"max-w-md"})]}),Z("div",{className:"space-y-2",children:[J("label",{className:"text-sm font-medium text-muted-foreground",children:Y.email()}),J($,{value:E?.email||"",disabled:!0,className:"max-w-md bg-muted/50 cursor-not-allowed"}),J("p",{className:"text-xs text-muted-foreground",children:Y.email_managed_by_auth()})]}),Z(m,{onClick:c,disabled:G||!X.trim(),className:"mt-2",children:[G&&J(x,{className:"w-4 h-4 animate-spin mr-2"}),Y.save_changes()]})]})]})})]}),Z(t,{className:"border border-slate-200 dark:border-slate-800 mt-6",children:[Z(Y0,{children:[J(Q0,{children:Y.language_settings()}),J(H0,{children:Y.select_preferred_language()})]}),J(a,{className:"space-y-4",children:J("div",{className:"max-w-xs",children:Z(L0,{value:A,onValueChange:h,children:[J(C0,{children:J(A0,{placeholder:Y.select_language()})}),Z(h0,{children:[J(B0,{value:"en",children:Y.english()}),J(B0,{value:"zh",children:Y.chinese()})]})]})})})]}),J(LN,{isOpen:q,onClose:()=>w(!1),imageSrc:T,onConfirm:V})]}),z==="transcode"&&J("div",{className:"h-full overflow-y-auto pr-1",children:Z(t,{children:[Z(Y0,{children:[J(Q0,{children:Y.transcode_settings()}),Z(H0,{children:[J("span",{className:"block mb-2",children:Y.transcode_description()}),J("span",{className:"block",children:Y.transcode_strategy_note()})]})]}),J(a,{className:"space-y-6",children:Z("div",{className:"space-y-3",children:[J("h3",{className:"text-lg font-medium",children:Y.video_strategy()}),Z("div",{className:"space-y-3",children:[Z("div",{className:j("cursor-pointer rounded-lg border p-4 transition-all hover:border-primary",v===f0.best_match?"border-primary bg-primary/5":"border-border"),onClick:()=>r(f0.best_match),children:[J("div",{className:"font-semibold",children:Y.best_match()}),J("div",{className:"text-sm text-muted-foreground",children:Y.best_match_description()})]}),Z("div",{className:j("cursor-pointer rounded-lg border p-4 transition-all hover:border-primary",v===f0.all?"border-primary bg-primary/5":"border-border"),onClick:()=>r(f0.all),children:[J("div",{className:"font-semibold",children:Y.all_resolutions()}),J("div",{className:"text-sm text-muted-foreground",children:Y.all_resolutions_description()})]})]})]})})]})}),z==="skills"&&J("div",{className:"h-full overflow-y-auto pr-1",children:J(QN,{teamId:N})}),z==="providers"&&J(NN,{teamId:N}),z==="agents"&&J("div",{className:"h-full overflow-y-auto pr-1",children:J(o6,{teamId:N})}),z==="sandbox"&&J("div",{className:"h-full overflow-y-auto pr-1",children:J(BN,{teamId:N})}),z==="notifications"&&J(WN,{teamId:N}),z==="developer"&&J(GN,{teamId:N})]})]})})]})})}var rN=AN("/teams/$teamId/settings")({component:iN});export{rN as Route};
@@ -1,2 +0,0 @@
1
- // @bun
2
- import{nc as e,oc as p,pc as t}from"./chunk-ymeycphq.js";import"./chunk-e7ndw3hg.js";import"./chunk-14fh4s1a.js";import"./chunk-9h3ds7rn.js";import"./chunk-n4meg9wb.js";import"./chunk-0aj303as.js";import"./chunk-0qkj838r.js";export{t as kyselyAdapter,e as getKyselyDatabaseType,p as createKyselyAdapter};
@@ -1 +0,0 @@
1
- import{Ya as lz}from"./chunk-kr06nrbx.js";import{Za as a}from"./chunk-b8js74jk.js";import{$a as Dz,_a as yz,ab as bz,bb as Cz,cb as fz,db as Iz,eb as gz,fb as uz}from"./chunk-0xbf8bcg.js";import{Ng as hz}from"./chunk-fz88kkk1.js";import{Og as c}from"./chunk-dghtwyq1.js";import{Qg as E,Rg as b,Tg as C,Ug as f,Vg as M,ch as wz,dh as n,eh as Rz,fh as Kz,gh as kz,hh as qz,ih as Az,jh as Ez}from"./chunk-gswbc6y9.js";import{$h as Bz,Bh as m,Fj as Gz,Gh as Pz,Mj as Lz,Qh as Yz,Sh as X,Th as Jz,Uh as Uz,ai as zz,ci as Wz,di as $z,gk as _z,hk as Sz,ik as Mz,jk as vz,mh as Xz,mk as V,nh as N,oh as z,oi as Tz,oj as Zz,ph as J,qh as x,th as Vz,uh as Oz,vh as k,vi as i}from"./chunk-nyhqy6q2.js";import{Vk as Qz}from"./chunk-0qkj838r.js";var K=Qz(Xz(),1);function Fz({open:Z,onOpenChange:$,mode:T,teamId:F,project:W}){let q=x(),R=m(),[H,O]=K.useState(""),[v,B]=K.useState(!0),[I,P]=K.useState(void 0),[h,U]=K.useState(void 0),[A,w]=K.useState(!1),S=K.useRef(null);K.useEffect(()=>{if(Z)if(T==="edit"&&W)O(W.name||""),P(W.coverImageKey),U(W.coverImage),B(W.enableNotification!==!1);else O(""),P(void 0),U(void 0),B(!0)},[Z,T,W]);let g=X.api.teams[":teamId"].projects.$post,{mutate:j}=k({mutationFn:async(Q)=>{let _=await g({param:{teamId:F},json:Q});if(!_.ok)throw Error(V.failed_create_project());return await _.json()},onSuccess:(Q)=>{q.invalidateQueries({queryKey:["teams",F,"projects"]}),$(!1);let _=Q;if(_&&typeof _.id==="string")R({to:"/projects/$projectId",params:{projectId:_.id}})}}),u=X.api.projects[":projectId"].$put,{mutate:y}=k({mutationFn:async(Q)=>{let _=await u({param:{projectId:W.id},json:Q});if(!_.ok)throw Error(V.failed_update_project());return await _.json()},onSuccess:()=>{q.invalidateQueries({queryKey:["teams",F,"projects"]}),$(!1)}}),r=X.api.teams[":teamId"].files.$post,{mutate:D}=k({mutationFn:async({file:Q})=>{let _=await r({param:{teamId:F},form:{file:Q}});if(!_.ok)throw Error(V.failed_upload_file());return await _.json()},onSuccess:(Q)=>{let _=Q;if(_&&typeof _.key==="string")P(_.key);w(!1)},onError:()=>{w(!1)}}),o=(Q)=>{let _=Q.target.files?.[0];if(_){w(!0);let e=URL.createObjectURL(_);U(e),D({file:_})}},t=()=>{S.current?.click()},s=(Q)=>{Q.stopPropagation(),P(void 0),U(void 0)},l=()=>{if(!H.trim())return;if(T==="create")j({name:H.trim(),coverImageKey:I,enableNotification:v});else if(T==="edit"&&W?.id)y({name:H.trim(),coverImageKey:I,enableNotification:v})};return z(Rz,{open:Z,onOpenChange:$,children:J(Kz,{className:"sm:max-w-[550px] overflow-hidden rounded-2xl border border-border/60 bg-background/95 backdrop-blur-md shadow-2xl p-0 gap-0",children:[J(kz,{className:"relative overflow-hidden bg-gradient-to-br from-primary/5 to-transparent p-6 border-b border-border/40",children:[z("div",{className:"absolute top-0 right-0 w-24 h-24 bg-primary/10 rounded-full blur-2xl pointer-events-none"}),z("div",{className:"absolute bottom-0 left-10 w-32 h-12 bg-primary/5 rounded-full blur-xl pointer-events-none"}),z("div",{className:"flex items-center gap-3",children:J("div",{children:[z(Az,{className:"text-xl font-semibold tracking-tight text-foreground",children:T==="create"?V.create_new_project():V.project_settings()}),z(Ez,{className:"text-xs text-muted-foreground/80 mt-1",children:T==="create"?V.configure_new_project_description():V.manage_project_description()})]})})]}),J("div",{className:"space-y-6 p-6 max-h-[75vh] overflow-y-auto",children:[J("div",{className:"space-y-2",children:[z(c,{htmlFor:"name",className:"text-sm font-semibold tracking-tight text-foreground",children:V.project_name()}),J("div",{className:"relative",children:[z(n,{id:"name",value:H,onChange:(Q)=>O(Q.target.value),placeholder:V.project_name_placeholder(),className:"h-11 px-4 rounded-xl border-border/80 focus-visible:ring-ring/25 focus-visible:border-primary transition-all shadow-xs pr-10"}),H.trim()&&z("div",{className:"absolute inset-y-0 right-3 flex items-center",children:z(i,{className:"w-4 h-4 text-primary"})})]}),z("p",{className:"text-[11px] text-muted-foreground",children:V.project_name_hint()})]}),J("div",{className:"space-y-3 border-t border-border/40 pt-5",children:[J("div",{className:"flex items-center justify-between",children:[J(c,{className:"text-sm font-semibold tracking-tight text-foreground flex items-center gap-1.5",children:[z($z,{className:"w-4 h-4 text-primary"}),V.project_cover()]}),h&&J("button",{type:"button",onClick:s,className:"text-xs text-muted-foreground hover:text-destructive hover:bg-destructive/5 px-2.5 py-1 rounded-lg transition-all flex items-center gap-1 font-medium",children:[z(Lz,{className:"w-3.5 h-3.5"}),V.remove_cover()]})]}),J("div",{className:"relative aspect-square w-48 mx-auto rounded-2xl border border-dashed border-border flex items-center justify-center cursor-pointer overflow-hidden group shadow-inner bg-muted/20 transition-all duration-300 hover:border-primary/50 hover:bg-muted/40",onClick:t,children:[z("input",{type:"file",ref:S,className:"hidden",accept:"image/*",onChange:o}),A&&z("div",{className:"absolute inset-0 bg-background/70 backdrop-blur-xs flex flex-col items-center justify-center gap-2 z-20",children:J("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-background border rounded-full shadow-lg",children:[z(zz,{className:"w-4 h-4 animate-spin text-primary"}),z("span",{className:"text-xs font-semibold text-foreground",children:V.uploading()})]})}),h?J(N,{children:[z("img",{src:h,alt:V.cover_preview(),className:"w-full h-full object-cover transition-transform duration-500 group-hover:scale-105"}),J("div",{className:"absolute inset-0 bg-black/45 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex flex-col items-center justify-center gap-1.5 text-white z-10",children:[z(Gz,{className:"w-5 h-5 transform translate-y-1 group-hover:translate-y-0 transition-transform duration-300"}),z("span",{className:"text-xs font-semibold",children:V.upload_image()})]})]}):J("div",{className:"flex flex-col items-center gap-2 text-center p-4",children:[z("div",{className:"p-2.5 rounded-full bg-background border shadow-xs group-hover:scale-110 transition-transform duration-300",children:z(Gz,{className:"w-4 h-4 text-muted-foreground"})}),J("div",{children:[z("p",{className:"text-xs font-medium text-foreground",children:V.upload_cover()}),z("p",{className:"text-[11px] text-muted-foreground mt-0.5 max-w-[140px] mx-auto leading-normal",children:V.upload_cover_hint()})]})]})]})]}),J("div",{className:"space-y-3 border-t border-border/40 pt-5",children:[J(c,{className:"text-sm font-semibold tracking-tight text-foreground flex items-center gap-1.5",children:[z(Wz,{className:"w-4 h-4 text-primary"}),V.project_preferences()]}),J("div",{className:"flex items-start justify-between rounded-xl border border-border/50 bg-muted/10 p-4 transition-all duration-300 hover:bg-muted/20",children:[J("div",{className:"space-y-1 pr-4",children:[J("div",{className:"text-sm font-semibold flex items-center gap-2 text-foreground",children:[z(Tz,{className:"w-4 h-4 text-primary"}),V.activity_notifications()]}),z("p",{className:"text-xs text-muted-foreground leading-normal",children:V.activity_notifications_description()})]}),z(a,{checked:v,onCheckedChange:B,disabled:A,className:"mt-0.5"})]})]})]}),J(qz,{className:"flex items-center justify-end gap-3 px-6 py-4 bg-muted/20 border-t border-border/40",children:[z(E,{type:"button",variant:"ghost",onClick:()=>$(!1),disabled:A,className:"rounded-xl h-10 px-4 hover:bg-muted font-medium text-sm text-muted-foreground hover:text-foreground transition-colors",children:V.cancel()}),z(E,{type:"submit",onClick:l,disabled:!H.trim()||A,className:"rounded-xl h-10 px-5 bg-primary text-primary-foreground hover:bg-primary/90 font-semibold text-sm shadow-lg shadow-primary/10 hover:shadow-primary/20 active:scale-98 transition-all flex items-center gap-2",children:A?J(N,{children:[z(zz,{className:"w-4 h-4 animate-spin"}),V.processing()]}):T==="create"?V.create_project():V.save_changes()})]})]})})}function Nz({sortBy:Z,sortDirection:$,onSortChange:T}){let F=(H)=>{T(H,$)},W=()=>{T(Z,$==="asc"?"desc":"asc")},q=(H)=>{switch(H){case"name":return V.sort_name();case"created_at":return V.sort_created();case"updated_at":return V.sort_updated();default:return H}},R=$==="asc";return J(b,{children:[z(C,{asChild:!0,children:J(E,{variant:"outline",className:"gap-2 bg-muted/50",children:[z("span",{className:"text-muted-foreground",children:V.sorted_by_label()}),z("span",{className:"font-medium text-foreground",children:q(Z)})]})}),J(f,{align:"end",className:"w-56 p-2",children:[z("div",{className:"text-xs font-semibold text-muted-foreground mb-2 px-2",children:V.sort_by()}),J(b,{children:[z(C,{asChild:!0,children:J(E,{variant:"ghost",className:"w-full justify-between font-normal px-2 h-10 bg-muted/50 hover:bg-muted mb-2 border",children:[z("span",{children:q(Z)}),z(Jz,{className:"h-4 w-4 opacity-50"})]})}),z(f,{className:"w-52",children:["name","created_at","updated_at"].map((H)=>J(M,{onClick:()=>F(H),className:"justify-between",children:[q(H),Z===H&&z(i,{className:"h-4 w-4"})]},H))})]}),J(E,{variant:"ghost",className:"w-full justify-between font-normal px-2 h-10 bg-muted/50 hover:bg-muted border",onClick:W,children:[z("span",{className:"text-muted-foreground",children:Z==="name"?R?z(N,{children:V.sort_a_to_z()}):z(N,{children:V.sort_z_to_a()}):R?z(N,{children:V.sort_oldest_to_newest()}):z(N,{children:V.sort_newest_to_oldest()})}),R?z(Uz,{className:"h-4 w-4 opacity-50"}):z(Jz,{className:"h-4 w-4 opacity-50"})]})]})]})}var L=Qz(Xz(),1);function tz(){let{teamId:Z}=sz.useParams(),{canEdit:$,canAdmin:T}=wz(),F=m(),W=x(),[q,R]=L.useState(null),[H,O]=L.useState(!1),[v,B]=L.useState("create"),[I,P]=L.useState(void 0),[h,U]=L.useState(!1),[A,w]=L.useState(void 0),[S,g]=L.useState(""),[j,u]=L.useState(!1),[y,r]=L.useState("name"),[D,o]=L.useState("asc"),t=X.api.teams[":teamId"].projects.$get,{data:s}=Oz({queryKey:["teams",Z,"projects",y,D],queryFn:async()=>{let G=await t({param:{teamId:Z},query:{sortBy:y,sortDirection:D}});if(!G.ok)throw Error("Failed to fetch projects");return await G.json()}}),{data:l}=Vz({queryKey:["teams",Z,"members"],queryFn:async()=>{let G=await X.api.teams[":teamId"].members.$get({param:{teamId:Z},query:{}});if(!G.ok)throw Error("Failed to fetch members");return await G.json()}}),{data:Q}=Vz({queryKey:["teams",Z,"me"],queryFn:async()=>{let G=await X.api.teams[":teamId"].me.$get({param:{teamId:Z}});if(!G.ok)throw Error("Failed to fetch me");return await G.json()}}),_=X.api.teams[":teamId"].invite.$post,e=k({mutationFn:async(G)=>{let Y=await _(G);if(!Y.ok)throw Error("Failed to invite");return await Y.json()}}),d=k({mutationFn:async(G)=>{if(!(await X.api.projects[":projectId"].$delete({param:{projectId:G}})).ok)throw Error("Failed to delete project")},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"projects"]})}}),dz=k({mutationFn:async(G)=>{let Y=await X.api.projects[":projectId"].$put({param:{projectId:G.id},json:{enableNotification:!G.enableNotification}});if(!Y.ok)throw Error("Failed to update project notification settings");return await Y.json()},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"projects"]}),Yz.success(V.project_notification_updated())},onError:(G)=>{Yz.error(G instanceof Error?G.message:V.failed_update_project_notification())}}),Hz=()=>{B("create"),P(void 0),O(!0)},pz=()=>{R("create"),setTimeout(()=>{R(null)},100),setTimeout(()=>{Hz()},200)},cz=(G)=>{B("edit"),P(G),O(!0)},xz=(G)=>{w(G),g(""),U(!0)},mz=async()=>{if(A&&S==="delete")try{await d.mutateAsync(A.id),U(!1)}catch(G){console.error(G)}},iz=(G,Y)=>{if(Y.detail>1)return;R(G),setTimeout(()=>{R(null)},100),setTimeout(()=>{F({to:"/projects/$projectId",params:{projectId:G}})},200)},nz=async(G)=>{return(await e.mutateAsync({param:{teamId:Z},json:{role:G}})).code},az=k({mutationFn:async({userId:G,role:Y})=>{if(!(await X.api.teams[":teamId"].members[":userId"].$patch({param:{teamId:Z,userId:G},json:{role:Y}})).ok)throw Error("Failed to update member role")},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"members"]})}}),jz=k({mutationFn:async(G)=>{if(!(await X.api.teams[":teamId"].members[":userId"].$delete({param:{teamId:Z,userId:G}})).ok)throw Error("Failed to remove member")},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"members"]})}}),rz=(G)=>{if(!G)return"??";return G.split(" ").map((Y)=>Y[0]).slice(0,2).join("").toUpperCase()},oz=(G,Y)=>{r(G),o(Y)},p=Array.isArray(l)?l:[];return J("div",{className:"flex-1 overflow-y-auto p-4",children:[J("div",{className:"flex flex-wrap items-center justify-between mb-4 gap-4",children:[z("h1",{className:"text-2xl font-bold",children:V.projects()}),J("div",{className:"flex flex-wrap items-center gap-4",children:[J("div",{className:"flex items-center -space-x-2 cursor-pointer hover:opacity-90",onClick:()=>u(!0),children:[p.slice(0,3).map((G)=>J(Sz,{className:"border-2 border-background w-8 h-8",children:[G.image&&z(Mz,{src:G.image,alt:G.name,className:"object-cover"}),z(vz,{className:"text-[10px]",children:rz(G.name)})]},G.id)),p.length>3&&J("div",{className:"flex items-center justify-center w-8 h-8 rounded-full border-2 border-background bg-muted text-[10px] font-medium",children:["+",p.length-3]})]}),z(Nz,{sortBy:y,sortDirection:D,onSortChange:oz}),$&&J(E,{className:"bg-orange-600 hover:bg-orange-700 text-white gap-2",onClick:Hz,children:[z(Zz,{className:"w-4 h-4"}),V.create_project()]})]})]}),J("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6 gap-4",children:[s.data?.map((G)=>z("div",{className:_z("shadow-md relative border rounded-xl overflow-hidden cursor-pointer transition-transform duration-100 ease-in-out",q===G.id?"scale-95":"scale-100"),onClick:(Y)=>iz(G.id,Y),children:J("div",{className:"flex flex-col",children:[J("div",{className:"relative w-full h-full aspect-square flex items-center justify-center bg-zinc-400/20",children:[G.coverImage?z("img",{src:G.coverImage,alt:G.name,className:"w-full h-full object-cover rounded"}):J("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 180.95 164.7",preserveAspectRatio:"xMidYMid slice",className:"w-full h-full object-cover rounded",children:[z("polygon",{fill:"#FC9F8E",points:"0 18.5 0 76.0 151.69 164.7 180.95 164.7 180.95 113.6"}),z("polygon",{fill:"#FEBAB8",points:"0 0 74.58 61.5 90.53 51.6 110.33 63.9 180.95 18.9 180.95 0"}),z("polyline",{fill:"#FAA5A5",points:"0 18.5 74.58 61.5 90.53 51.6 110.33 63.9 180.95 18.9 180.95 0 0 0"}),z("polygon",{fill:"#EC5B6C",points:"0 76.0 0 164.7 151.69 164.7"}),z("polygon",{fill:"#E85C71",points:"180.95 18.9 110.33 63.9 117.37 68.0 117.26 73.4 180.95 113.6"}),z("polygon",{fill:"#C8405B",points:"117.26 73.4 117.37 99.0 90.53 114.9 174.35 164.7 180.95 164.7 180.95 113.6"}),z("polygon",{fill:"#FFCCBE",points:"90.53 51.6 63.69 68.1 90.53 83.4"}),z("path",{fill:"#FB9991",d:"M 90.53 51.6 L 90.53 61.3 L 100.87 67.4 L 90.53 73.5 L 90.53 83.4 L 117.37 68.0 C 117.15 67.6 90.53 51.6 90.53 51.6 Z"}),z("path",{fill:"#FFEACD",d:"M 63.69 68.1 C 63.47 68.5 64.02 99.3 64.02 99.3 C 64.02 99.3 64.46 99.6 64.9 99.9 L 90.53 83.4 L 63.69 68.1 Z"}),z("polygon",{fill:"#FFCFB5",points:"64.02 99.3 90.53 114.9 90.53 83.4"}),z("path",{fill:"#F67D73",d:"M 90.53 83.4 L 90.53 114.9 L 117.37 99.0 Z"}),z("path",{fill:"#F26560",d:"M 90.53 83.4 L 117.37 99.0 L 117.37 68.0 Z"}),z("polygon",{fill:"#EB5F5B",points:"80.08 67.5 90.53 73.5 90.53 61.3"}),z("polygon",{fill:"#DB4D50",points:"90.53 61.3 90.53 73.5 100.87 67.4"})]}),z("div",{className:"absolute bottom-0 left-0 w-full h-[65%] bg-linear-to-t from-black/35 to-black/0"}),z("p",{className:"absolute left-1 bottom-2 text-white",children:G.name})]}),J("div",{className:"px-2 h-10 flex justify-between items-center",children:[J("p",{className:"truncate pr-1 text-xs text-muted-foreground",children:[V.updated_ago()," ",hz(G.updatedAt??"")]}),z("div",{onClick:(Y)=>Y.stopPropagation(),children:J(b,{modal:!1,children:[z(C,{asChild:!0,children:z("button",{className:"hover:bg-muted outline-none flex px-1",children:z(Bz,{className:"w-5 h-5 text-muted-foreground"})})}),J(f,{align:"end",children:[$&&z(M,{onClick:(Y)=>{Y.stopPropagation(),cz(G)},children:V.project_settings()}),J(M,{className:"flex items-center justify-between gap-4 cursor-pointer",onSelect:(Y)=>{Y.preventDefault(),dz.mutate(G)},children:[z("span",{children:V.notification()}),z(a,{checked:G.enableNotification??!0,className:"pointer-events-none"})]}),T&&z(M,{className:"text-destructive focus:text-destructive",onClick:()=>xz(G),children:V.delete()})]})]})})]})]})},G.id)),$&&z("div",{className:_z("shadow-md relative border rounded-xl overflow-hidden cursor-pointer transition-transform duration-100 ease-in-out border-dashed hover:border-orange-600/50 group",q==="create"?"scale-95":"scale-100"),onClick:pz,children:J("div",{className:"flex flex-col",children:[z("div",{className:"relative w-full aspect-square flex items-center justify-center bg-zinc-400/5 group-hover:bg-orange-600/5 transition-colors",children:z(Zz,{className:"w-8 h-8 text-zinc-400 group-hover:text-orange-600 transition-colors"})}),z("div",{className:"px-2 h-10 flex items-center justify-center bg-zinc-400/10 border-t group-hover:bg-orange-600/10 transition-colors",children:z("p",{className:"text-sm text-muted-foreground group-hover:text-orange-600 transition-colors",children:V.create_project()})})]})})]}),z(Fz,{open:H,onOpenChange:O,mode:v,teamId:Z,project:I}),z(yz,{open:h,onOpenChange:U,children:J(Dz,{children:[J(bz,{children:[z(fz,{children:V.are_you_sure()}),J(Iz,{children:[V.delete_project_warning({name:A?.name??""}),J("div",{className:"mt-4 flex flex-col gap-2 text-foreground",children:[z("span",{className:"text-sm font-medium",children:V.type_delete_to_confirm()}),z(n,{value:S,onChange:(G)=>g(G.target.value),placeholder:V.delete_placeholder(),className:"h-9",autoFocus:!0})]})]})]}),J(Cz,{children:[z(uz,{disabled:d.isPending,children:V.cancel()}),z(gz,{onClick:(G)=>{G.preventDefault(),mz()},disabled:S!=="delete"||d.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:d.isPending?V.deleting():V.delete()})]})]})}),z(lz,{open:j,onOpenChange:u,title:V.team_members(),type:"team",members:p,isOwner:Q?.role==="owner",onInvite:nz,onUpdateRole:async(G,Y)=>{await az.mutateAsync({userId:G,role:Y})},onRemoveMember:async(G)=>{await jz.mutateAsync(G)},currentUserId:Q?.id})]})}var sz=Pz("/teams/$teamId/")({component:tz});export{sz as Route};