@shumai-one/shumai 0.4.2 → 0.4.3

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 (250) hide show
  1. package/bin/{chunk-adekdctx.css → chunk-0ccg9ddn.css} +1 -1
  2. package/bin/chunk-0e4wawpq.js +2 -0
  3. package/bin/chunk-185qefn1.js +2 -0
  4. package/bin/chunk-1kw2mbqb.js +1 -0
  5. package/bin/chunk-1wm6ptdx.js +1 -0
  6. package/bin/chunk-1yacmegc.js +2 -0
  7. package/bin/chunk-2291ehh5.js +3 -0
  8. package/bin/chunk-2520aq8j.js +2 -0
  9. package/bin/chunk-29zdp63z.js +3 -0
  10. package/bin/chunk-2yxj593j.js +2 -0
  11. package/bin/chunk-32pcmaqm.js +3 -0
  12. package/bin/chunk-3a13dcs1.js +1 -0
  13. package/bin/chunk-3cyrcgm5.js +13 -0
  14. package/bin/chunk-3swpwb9v.js +1 -0
  15. package/bin/chunk-3wmcx2bv.js +2 -0
  16. package/bin/chunk-4r81ghg8.js +2 -0
  17. package/bin/chunk-4v5n0ayb.js +2 -0
  18. package/bin/chunk-5a8nt4me.js +1 -0
  19. package/bin/chunk-66hsjnw6.js +2 -0
  20. package/bin/chunk-6bhn1p8v.js +211 -0
  21. package/bin/chunk-6gg1ymer.js +2 -0
  22. package/bin/chunk-70c3xrgd.js +2 -0
  23. package/bin/chunk-7esm0hqb.js +2 -0
  24. package/bin/chunk-7fst8kdw.js +12 -0
  25. package/bin/chunk-83e12sjg.js +3 -0
  26. package/bin/chunk-87zxtf66.js +3 -0
  27. package/bin/chunk-8fmy5jtp.js +2 -0
  28. package/bin/chunk-8zqgaxvv.js +1 -0
  29. package/bin/chunk-9t1ne8xr.js +2 -0
  30. package/bin/chunk-a32vreya.js +2 -0
  31. package/bin/chunk-a3dmtt2j.js +1 -0
  32. package/bin/chunk-abt0azmv.js +2 -0
  33. package/bin/chunk-ag6p3mbf.js +2 -0
  34. package/bin/chunk-aqbrzx9z.js +1 -0
  35. package/bin/chunk-av1a8fqp.js +3 -0
  36. package/bin/chunk-awfwk64v.js +2 -0
  37. package/bin/chunk-b235azv4.js +45 -0
  38. package/bin/chunk-b9yrw9et.js +10 -0
  39. package/bin/chunk-bay038pj.js +2 -0
  40. package/bin/chunk-c007p0t8.js +299 -0
  41. package/bin/chunk-cak32x57.js +2 -0
  42. package/bin/chunk-ce8m4zeg.js +3 -0
  43. package/bin/chunk-ck8azecb.js +12 -0
  44. package/bin/chunk-cnxwmycy.js +6 -0
  45. package/bin/chunk-cqb415s6.js +5 -0
  46. package/bin/chunk-e2mvmq2m.js +1 -0
  47. package/bin/chunk-e7mqtkzn.js +2 -0
  48. package/bin/chunk-e99dv20z.js +3 -0
  49. package/bin/chunk-ea79xnn3.js +2 -0
  50. package/bin/chunk-ehc9adfz.js +2 -0
  51. package/bin/chunk-ejbvfj4r.js +1 -0
  52. package/bin/chunk-ekfem7kf.js +1 -0
  53. package/bin/chunk-etwkk0xh.js +1 -0
  54. package/bin/chunk-evrdd32b.js +2 -0
  55. package/bin/chunk-f15qyp41.js +1 -0
  56. package/bin/chunk-f3ehv01n.js +54 -0
  57. package/bin/chunk-fm6p03ad.js +2 -0
  58. package/bin/chunk-fxswt9hc.js +3 -0
  59. package/bin/chunk-fyha3r13.js +2 -0
  60. package/bin/chunk-g0vs7k2x.js +1 -0
  61. package/bin/chunk-g84z2w7v.js +16 -0
  62. package/bin/chunk-gk3eqd50.js +2 -0
  63. package/bin/chunk-h3tbf521.js +2 -0
  64. package/bin/chunk-h837fyed.js +2 -0
  65. package/bin/chunk-hfh0c082.js +2 -0
  66. package/bin/chunk-j20e0qsw.js +7 -0
  67. package/bin/chunk-j8fxp8ej.js +2 -0
  68. package/bin/chunk-jje8nj8h.js +3 -0
  69. package/bin/chunk-jy006gcv.js +7 -0
  70. package/bin/chunk-k7hss0bd.js +4 -0
  71. package/bin/chunk-m7m9d4fb.js +2 -0
  72. package/bin/chunk-n1jwdb0a.js +1 -0
  73. package/bin/chunk-p5gf1zdm.js +4 -0
  74. package/bin/chunk-pb1zf0vb.js +2 -0
  75. package/bin/chunk-pfgxggaj.js +11 -0
  76. package/bin/chunk-q16490pv.js +2 -0
  77. package/bin/chunk-q2bvyv39.js +8 -0
  78. package/bin/chunk-qf24e71w.js +2 -0
  79. package/bin/chunk-qh81zhg1.js +1 -0
  80. package/bin/chunk-qwp3kwbz.js +2 -0
  81. package/bin/chunk-qwqvt9v6.js +2 -0
  82. package/bin/chunk-qydeqgyj.js +5 -0
  83. package/bin/chunk-r7dty1tg.js +2 -0
  84. package/bin/chunk-rbj4fad9.js +32 -0
  85. package/bin/chunk-rhdxwebf.js +2 -0
  86. package/bin/chunk-rhh716z0.js +42 -0
  87. package/bin/chunk-rpywcvg1.js +3 -0
  88. package/bin/chunk-rza4ae5z.js +3 -0
  89. package/bin/chunk-sfx2588q.js +3 -0
  90. package/bin/chunk-sk4e6rb1.js +1 -0
  91. package/bin/chunk-t2n1dbgx.js +4 -0
  92. package/bin/chunk-tf28796q.js +2 -0
  93. package/bin/chunk-twdxayky.js +3 -0
  94. package/bin/chunk-v9b3w8q5.js +3 -0
  95. package/bin/chunk-v9w25rp2.js +2 -0
  96. package/bin/chunk-vgn5zcpv.js +3 -0
  97. package/bin/chunk-wfzqnpc1.js +3 -0
  98. package/bin/chunk-wry2hvrq.js +24 -0
  99. package/bin/chunk-x8f4defx.js +3 -0
  100. package/bin/chunk-xp59apdb.js +2 -0
  101. package/bin/chunk-xtf3c29c.css +1 -0
  102. package/bin/chunk-z3gkt8w1.js +3 -0
  103. package/bin/chunk-zehyn6vd.js +2 -0
  104. package/bin/chunk-zh6fqq44.js +1 -0
  105. package/bin/chunk-zmv8cg4s.js +8 -0
  106. package/bin/chunk-zqv0zhfb.js +3 -0
  107. package/bin/{pdf.worker.min-szxdj13d.mjs → pdf.worker.min-vf48er29.mjs} +14423 -13889
  108. package/bin/shumai-app.html +1 -1
  109. package/bin/shumai-app.js +626 -460
  110. package/package.json +18 -18
  111. package/prisma/migrations/20260904022457_add_agent_id_to_assets_and_audit_logs/migration.sql +17 -0
  112. package/prisma/migrations/20260906081230_default_denied_tools_delete_asset/migration.sql +15 -0
  113. package/prisma/schema.prisma +9 -0
  114. package/bin/chunk-07h4b77v.js +0 -2
  115. package/bin/chunk-0t4n4d5w.js +0 -4
  116. package/bin/chunk-1611z9jg.js +0 -2
  117. package/bin/chunk-1phqxp6z.js +0 -3
  118. package/bin/chunk-23hckrrz.js +0 -2
  119. package/bin/chunk-30z44j1g.js +0 -2
  120. package/bin/chunk-3j463k1g.js +0 -1
  121. package/bin/chunk-4181tdds.js +0 -14
  122. package/bin/chunk-480jtqng.js +0 -4
  123. package/bin/chunk-4c3g146q.js +0 -2
  124. package/bin/chunk-4ca0zt5e.js +0 -1
  125. package/bin/chunk-4d9bgmf2.js +0 -2
  126. package/bin/chunk-4ev56fss.js +0 -9
  127. package/bin/chunk-4gk52tjq.js +0 -45
  128. package/bin/chunk-4mdqkj4d.js +0 -1
  129. package/bin/chunk-4r91fggc.js +0 -2
  130. package/bin/chunk-50fb1x3w.js +0 -1
  131. package/bin/chunk-59gj1njz.js +0 -1
  132. package/bin/chunk-5pr0t7fb.js +0 -2
  133. package/bin/chunk-5vewxmz7.js +0 -3
  134. package/bin/chunk-62zx96pe.js +0 -2
  135. package/bin/chunk-63y0eb07.js +0 -2
  136. package/bin/chunk-6d5xrgfx.js +0 -2
  137. package/bin/chunk-6gbtz5bf.js +0 -67
  138. package/bin/chunk-6gjg5egq.js +0 -3
  139. package/bin/chunk-6m4jz9s1.js +0 -44
  140. package/bin/chunk-6s4x525w.js +0 -2
  141. package/bin/chunk-6w2wmvqs.js +0 -3
  142. package/bin/chunk-77d23vcn.js +0 -2
  143. package/bin/chunk-77m5p188.js +0 -2
  144. package/bin/chunk-7bvx087f.js +0 -1
  145. package/bin/chunk-7pfjfrjg.js +0 -5
  146. package/bin/chunk-7q10s127.js +0 -4
  147. package/bin/chunk-7thx8ctx.js +0 -3
  148. package/bin/chunk-8t4s91gh.js +0 -2
  149. package/bin/chunk-98ey5p2e.js +0 -3
  150. package/bin/chunk-9amndcyh.js +0 -6
  151. package/bin/chunk-9bk23g9x.js +0 -1
  152. package/bin/chunk-9mkcfy43.js +0 -1
  153. package/bin/chunk-9t3nsq5n.js +0 -2
  154. package/bin/chunk-9tjq99ds.js +0 -2
  155. package/bin/chunk-9wm9rwh1.js +0 -2
  156. package/bin/chunk-ab16fyg4.js +0 -4
  157. package/bin/chunk-arv0g2av.js +0 -1
  158. package/bin/chunk-aytj4zxg.js +0 -3
  159. package/bin/chunk-b1ypjqgp.js +0 -2
  160. package/bin/chunk-bdjv0ykq.js +0 -2
  161. package/bin/chunk-c1k86mfa.js +0 -10
  162. package/bin/chunk-caa96dgd.js +0 -2
  163. package/bin/chunk-ce4v2yjy.js +0 -1
  164. package/bin/chunk-cqh60y54.js +0 -3
  165. package/bin/chunk-cvq7zgw7.js +0 -1
  166. package/bin/chunk-d9mjbtp2.js +0 -2
  167. package/bin/chunk-dn7sbjws.js +0 -3
  168. package/bin/chunk-dxyq9h8n.js +0 -3
  169. package/bin/chunk-e3cabksx.js +0 -3
  170. package/bin/chunk-egcrbj94.js +0 -2
  171. package/bin/chunk-ev17v1mv.js +0 -2
  172. package/bin/chunk-evtpwg71.js +0 -2
  173. package/bin/chunk-f3e0nsv2.js +0 -2
  174. package/bin/chunk-f40gjqpq.js +0 -2
  175. package/bin/chunk-fe7822ak.js +0 -299
  176. package/bin/chunk-g8tkhw9j.js +0 -2
  177. package/bin/chunk-g9r0p4t8.js +0 -2
  178. package/bin/chunk-gbjyh9ms.js +0 -1
  179. package/bin/chunk-gtbsb39v.js +0 -3
  180. package/bin/chunk-gytz1q13.js +0 -13
  181. package/bin/chunk-h0fxysxs.js +0 -7
  182. package/bin/chunk-h8bdvsqt.js +0 -2
  183. package/bin/chunk-hag024w8.js +0 -2
  184. package/bin/chunk-hc6w5nw4.js +0 -7
  185. package/bin/chunk-j69dqc48.js +0 -2
  186. package/bin/chunk-jbtw1zym.js +0 -8
  187. package/bin/chunk-jc1vb7rj.js +0 -5
  188. package/bin/chunk-jdv78w9r.js +0 -2
  189. package/bin/chunk-jjs70y9v.js +0 -3
  190. package/bin/chunk-jmdar2gz.js +0 -2
  191. package/bin/chunk-jvwz10n4.js +0 -2
  192. package/bin/chunk-k47md1g4.js +0 -2
  193. package/bin/chunk-k4v0brcb.js +0 -2
  194. package/bin/chunk-k6n7c07e.js +0 -1
  195. package/bin/chunk-kk2cstsg.js +0 -2
  196. package/bin/chunk-knz4h56q.js +0 -12
  197. package/bin/chunk-kqqtt6bd.js +0 -3
  198. package/bin/chunk-kvyp1t4j.js +0 -7
  199. package/bin/chunk-kxskpgsq.js +0 -5
  200. package/bin/chunk-m6srbjcs.js +0 -2
  201. package/bin/chunk-mcc1scxs.js +0 -12
  202. package/bin/chunk-mq83a0kk.js +0 -2
  203. package/bin/chunk-mxm8g4q0.js +0 -1
  204. package/bin/chunk-nhpgdqq5.js +0 -2
  205. package/bin/chunk-nne496aa.js +0 -2
  206. package/bin/chunk-nqpb0r9h.js +0 -11
  207. package/bin/chunk-ns0zww9g.js +0 -2
  208. package/bin/chunk-ps4xfp23.js +0 -2
  209. package/bin/chunk-pz2ec6xt.js +0 -2
  210. package/bin/chunk-q163k309.js +0 -2
  211. package/bin/chunk-q1da61ps.js +0 -1
  212. package/bin/chunk-qrf0ady6.js +0 -68
  213. package/bin/chunk-qy28f25e.js +0 -2
  214. package/bin/chunk-r7s4ypw1.js +0 -2
  215. package/bin/chunk-ran23vm9.js +0 -1
  216. package/bin/chunk-rfvdc4n0.js +0 -2
  217. package/bin/chunk-rgthkvgx.js +0 -3
  218. package/bin/chunk-s39n3yw3.js +0 -2
  219. package/bin/chunk-s7wdd0g7.js +0 -8
  220. package/bin/chunk-s88ha5kx.js +0 -3
  221. package/bin/chunk-sf91bt9m.js +0 -2
  222. package/bin/chunk-sjwbjf9j.js +0 -2
  223. package/bin/chunk-t62076pv.js +0 -1
  224. package/bin/chunk-tbbwss3v.js +0 -3
  225. package/bin/chunk-tjcc7a6y.js +0 -24
  226. package/bin/chunk-tp6ab26e.js +0 -2
  227. package/bin/chunk-v2wxk9p5.js +0 -4
  228. package/bin/chunk-vbk6y4hk.js +0 -2
  229. package/bin/chunk-vfgfg5fk.js +0 -2
  230. package/bin/chunk-vm6c3xx9.js +0 -2
  231. package/bin/chunk-vsx96mt6.js +0 -3
  232. package/bin/chunk-wbyw1shz.js +0 -6
  233. package/bin/chunk-whh2vh50.css +0 -1
  234. package/bin/chunk-wjkcq65s.js +0 -2
  235. package/bin/chunk-wkefwkfp.js +0 -41
  236. package/bin/chunk-x7bsnk1e.js +0 -2
  237. package/bin/chunk-xbhw6bpz.js +0 -3
  238. package/bin/chunk-xg5yrcj5.js +0 -2
  239. package/bin/chunk-xg9xscqz.js +0 -1
  240. package/bin/chunk-xw2gpcsh.js +0 -3
  241. package/bin/chunk-ycq8ank7.js +0 -2
  242. package/bin/chunk-yp9hvkc5.js +0 -73
  243. package/bin/chunk-ytypyfkc.js +0 -65
  244. package/bin/chunk-z1kjmf60.js +0 -2
  245. package/bin/chunk-z36bx86r.js +0 -2
  246. package/bin/chunk-z7hdnecp.js +0 -3
  247. package/bin/chunk-zeby1cq7.js +0 -2
  248. package/bin/chunk-zs5e8z1w.js +0 -1
  249. package/bin/chunk-zxnyefg5.js +0 -2
  250. /package/bin/{chunk-24ke0th1.css → chunk-kegybs91.css} +0 -0
@@ -1,3 +0,0 @@
1
- import{a as hN,b as AN,c as CN}from"./chunk-8t4s91gh.js";import{i as GN,j as RN,k as LN,l as $6,m as K6,n as r4}from"./chunk-ycq8ank7.js";import{U as JN,V as g6}from"./chunk-g8tkhw9j.js";import{ea as KN}from"./chunk-g9r0p4t8.js";import{Me as _N}from"./chunk-9tjq99ds.js";import{$e as c1}from"./chunk-xg5yrcj5.js";import{af as G0,bf as C0,cf as b0,df as E0,ef as L0}from"./chunk-1611z9jg.js";import{Gf as d1,Hf as a1,If as W1,Jf as Q1}from"./chunk-77d23vcn.js";import{Kf as i}from"./chunk-30z44j1g.js";import{Of as H1,Rf as q1,Sf as U1,Tf as j1,Uf as F4,Vf as e4,Xf as kN,_f as U6}from"./chunk-7pfjfrjg.js";import{eg as H0,fg as W0,gg as Q0,hg as q0,ig as x}from"./chunk-k4v0brcb.js";import{kg as H6,lg as W6,mg as Q6}from"./chunk-62zx96pe.js";import{ih as K0}from"./chunk-k47md1g4.js";import{ph as w0}from"./chunk-ytypyfkc.js";import{di as R0}from"./chunk-nhpgdqq5.js";import{ei as L4,gi as P4,hi as k4,ii as X4,mi as ZN,ri as O4}from"./chunk-b1ypjqgp.js";import{Gi as g,Hi as c6,Ii as m6,Ji as x6,Ki as o0,Li as l0,Mi as t0,Ni as i0,Oi as r0,Pi as s0,Qi as e0,Ri as N4,Si as S0,Ui as D0,Vi as y0,Wi as g0,Xi as O0,Yi as j0,Zi as _,ui as B0,xi as J0,zi as o}from"./chunk-h0fxysxs.js";import{$i as t}from"./chunk-z1kjmf60.js";import{$k as l4,Aj as R4,Ak as I6,Ej as u,El as o4,Gl as A0,Ij as u1,Ik as c4,Lk as i4,Ll as e1,Mk as K1,Ml as f6,Nj as WN,Ol as s4,Pl as v6,Sj as QN,Sl as m4,Tl as S6,Ul as y4,Vj as _6,Vl as VN,Wl as DN,Xk as p1,Xl as N0,Yj as y6,Yl as L1,_k as qN,aj as k0,bj as Z0,bk as f4,cj as N,ck as Z4,dj as X,dl as EN,ek as t4,fj as M1,jl as F0,kk as b4,kl as G4,lk as s1,mk as wN,nj as FN,nk as J4,ok as q6,ol as M6,rm as $,sl as H4,sm as SN,tl as x0,tm as gN,uk as IN,um as J,vj as zN,vm as d,wj as YN,wl as t1,xl as BN,yj as w1,yl as MN,zk as G6}from"./chunk-yp9hvkc5.js";import{sn as P0}from"./chunk-dxyq9h8n.js";var v4=P0(k0(),1);var P1=P0(k0(),1);var fN=L1("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 z0({className:z,orientation:Z="vertical",...Y}){return N("div",{role:"group","data-slot":"field","data-orientation":Z,className:N0(fN({orientation:Z}),z),...Y})}function Y0({className:z,...Z}){return N(t,{"data-slot":"field-label",className:N0("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",z),...Z})}function J6({className:z,...Z}){return N("p",{"data-slot":"field-description",className:N0("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",z),...Z})}function T0({className:z,children:Z,errors:Y,...H}){let B=P1.useMemo(()=>{if(Z)return Z;if(!Y?.length)return null;let Q=[...new Map(Y.map((U)=>[U?.message,U])).values()];if(Q?.length==1)return Q[0]?.message;return N("ul",{className:"ml-4 flex list-disc flex-col gap-1",children:Q.map((U,w)=>U?.message&&N("li",{children:U.message},w))})},[Z,Y]);if(!B)return null;return N("div",{role:"alert","data-slot":"field-error",className:N0("text-sm font-normal text-destructive",z),...H,children:B})}var m=function(z){return z[z.None=0]="None",z[z.Mutable=1]="Mutable",z[z.Watching=2]="Watching",z[z.RecursedCheck=4]="RecursedCheck",z[z.Recursed=8]="Recursed",z[z.Dirty=16]="Dirty",z[z.Pending=32]="Pending",z}({});function k1({update:z,notify:Z,unwatched:Y}){return{link:H,unlink:B,propagate:Q,checkDirty:U,shallowPropagate:w};function H(K,G,R){let q=G.depsTail;if(q!==void 0&&q.dep===K)return;let W=q!==void 0?q.nextDep:G.deps;if(W!==void 0&&W.dep===K){W.version=R,G.depsTail=W;return}let L=K.subsTail;if(L!==void 0&&L.version===R&&L.sub===G)return;let P=G.depsTail=K.subsTail={version:R,dep:K,sub:G,prevDep:q,nextDep:W,prevSub:L,nextSub:void 0};if(W!==void 0)W.prevDep=P;if(q!==void 0)q.nextDep=P;else G.deps=P;if(L!==void 0)L.nextSub=P;else K.subs=P}function B(K,G=K.sub){let{dep:R,prevDep:q,nextDep:W,nextSub:L,prevSub:P}=K;if(W!==void 0)W.prevDep=q;else G.depsTail=q;if(q!==void 0)q.nextDep=W;else G.deps=W;if(L!==void 0)L.prevSub=P;else R.subsTail=P;if(P!==void 0)P.nextSub=L;else if((R.subs=L)===void 0)Y(R);return W}function Q(K){let G=K.nextSub,R;N:do{let q=K.sub,W=q.flags;if(!(W&(m.RecursedCheck|m.Recursed|m.Dirty|m.Pending)))q.flags=W|m.Pending;else if(!(W&(m.RecursedCheck|m.Recursed)))W=m.None;else if(!(W&m.RecursedCheck))q.flags=W&~m.Recursed|m.Pending;else if(!(W&(m.Dirty|m.Pending))&&k(K,q))q.flags=W|(m.Recursed|m.Pending),W&=m.Mutable;else W=m.None;if(W&m.Watching)Z(q);if(W&m.Mutable){let L=q.subs;if(L!==void 0){let P=(K=L).nextSub;if(P!==void 0)R={value:G,prev:R},G=P;continue}}if((K=G)!==void 0){G=K.nextSub;continue}while(R!==void 0)if(K=R.value,R=R.prev,K!==void 0){G=K.nextSub;continue N}break}while(!0)}function U(K,G){let R,q=0,W=!1;N:do{let L=K.dep,P=L.flags;if(G.flags&m.Dirty)W=!0;else if((P&(m.Mutable|m.Dirty))===(m.Mutable|m.Dirty)){if(z(L)){let h=L.subs;if(h.nextSub!==void 0)w(h);W=!0}}else if((P&(m.Mutable|m.Pending))===(m.Mutable|m.Pending)){if(K.nextSub!==void 0||K.prevSub!==void 0)R={value:K,prev:R};K=L.deps,G=L,++q;continue}if(!W){let h=K.nextDep;if(h!==void 0){K=h;continue}}while(q--){let h=G.subs,E=h.nextSub!==void 0;if(E)K=R.value,R=R.prev;else K=h;if(W){if(z(G)){if(E)w(h);G=K.sub;continue}W=!1}else G.flags&=~m.Pending;G=K.sub;let F=K.nextDep;if(F!==void 0){K=F;continue N}}return W}while(!0)}function w(K){do{let G=K.sub,R=G.flags;if((R&(m.Pending|m.Dirty))===m.Pending){if(G.flags=R|m.Dirty,(R&(m.Watching|m.RecursedCheck))===m.Watching)Z(G)}}while((K=K.nextSub)!==void 0)}function k(K,G){let R=G.depsTail;while(R!==void 0){if(R===K)return!0;R=R.prevDep}return!1}}function X6(z,Z,Y){let H=typeof z==="object",B=H?z:void 0;return{next:(H?z.next:z)?.bind(B),error:(H?z.error:Z)?.bind(B),complete:(H?z.complete:Y)?.bind(B)}}var n6=[],L6=0,{link:T1,unlink:vN,propagate:cN,checkDirty:A1,shallowPropagate:h1}=k1({update(z){return z._update()},notify(z){n6[p6++]=z,z.flags&=~m.Watching},unwatched(z){if(z.depsTail!==void 0)z.depsTail=void 0,z.flags=m.Mutable|m.Dirty,P6(z)}}),R6=0,p6=0,q4,d6=0;function h0(z){try{++d6,z()}finally{if(!--d6)a6()}}function P6(z){let Z=z.depsTail,Y=Z!==void 0?Z.nextDep:z.deps;while(Y!==void 0)Y=vN(Y,z)}function a6(){if(d6>0)return;while(R6<p6){let z=n6[R6];n6[R6++]=void 0,z.notify()}R6=0,p6=0}function k6(z,Z){let Y=typeof z==="function",H=z,B={_snapshot:Y?void 0:z,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:Y?m.None:m.Mutable,get(){if(q4!==void 0)T1(B,q4,L6);return B._snapshot},subscribe(Q){let U=X6(Q),w={current:!1},k=mN(()=>{if(B.get(),!w.current)w.current=!0;else U.next?.(B._snapshot)});return{unsubscribe:()=>{k.stop()}}},_update(Q){let U=q4,w=Z?.compare??Object.is;if(Y)q4=B,++L6,B.depsTail=void 0;else if(Q===void 0)return!1;if(Y)B.flags=m.Mutable|m.RecursedCheck;try{let k=B._snapshot,K=typeof Q==="function"?Q(k):Q===void 0&&Y?H(k):Q;if(k===void 0||!w(k,K))return B._snapshot=K,!0;return!1}finally{if(q4=U,Y)B.flags&=~m.RecursedCheck;P6(B)}}};if(Y)B.flags=m.Mutable|m.Dirty,B.get=function(){let Q=B.flags;if(Q&m.Dirty||Q&m.Pending&&A1(B.deps,B)){if(B._update()){let U=B.subs;if(U!==void 0)h1(U)}}else if(Q&m.Pending)B.flags=Q&~m.Pending;if(q4!==void 0)T1(B,q4,L6);return B._snapshot};else B.set=function(Q){if(B._update(Q)){let U=B.subs;if(U!==void 0)cN(U),h1(U),a6()}};return B}function mN(z){let Z=()=>{let H=q4;q4=Y,++L6,Y.depsTail=void 0,Y.flags=m.Watching|m.RecursedCheck;try{return z()}finally{q4=H,Y.flags&=~m.RecursedCheck,P6(Y)}},Y={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:m.Watching|m.RecursedCheck,notify(){let H=this.flags;if(H&m.Dirty||H&m.Pending&&A1(this.deps,this))Z();else this.flags=m.Watching},stop(){this.flags=m.None,this.depsTail=void 0,P6(this)}};return Z(),Y}var o6=class{constructor(z,Z){if(this.atom=k6(z),this.get=this.get.bind(this),this.setState=this.setState.bind(this),this.subscribe=this.subscribe.bind(this),Z)this.actions=Z(this)}setState(z){this.atom.set(z)}get state(){return this.atom.get()}get(){return this.state}subscribe(z){return this.atom.subscribe(X6(z))}},C1=class{constructor(z){this.atom=k6(z)}get state(){return this.atom.get()}get(){return this.state}subscribe(z){return this.atom.subscribe(X6(z))}};function U4(z,Z){if(typeof z==="function")return new C1(z);if(Z)return new o6(z,Z);return new o6(z)}var b1=class{constructor(z,Z){if(this.fn=z,this.options=Z,this.lastExecutionTime=0,this.isPending=!1,this.maybeExecute=(...Y)=>{let H=Date.now()-this.lastExecutionTime;if(this.options.leading&&H>=this.options.wait)this.execute(...Y);else if(this.lastArgs=Y,!this.timeoutId&&this.options.trailing){let B=this.options.wait-H;this.isPending=!0,this.timeoutId=setTimeout(()=>{if(this.lastArgs!==void 0)this.execute(...this.lastArgs)},B)}},this.execute=(...Y)=>{this.fn(...Y),this.options.onExecute?.(Y,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 l6(z,Z){return new b1(z,Z).maybeExecute}class T6{#B=!0;#J;#N;#U;#X;#H;#z;#W;#w=0;#G=5;#Z=!1;#Q=!1;#Y=null;#K=()=>{this.debugLog("Connected to event bus"),this.#H=!0,this.#Z=!1,this.debugLog("Emitting queued events",this.#X),this.#X.forEach((z)=>this.emitEventToBus(z)),this.#X=[],this.stopConnectLoop(),this.#N().removeEventListener("tanstack-connect-success",this.#K)};#q=()=>{if(this.#w<this.#G){this.#w++,this.dispatchCustomEvent("tanstack-connect",{});return}this.#N().removeEventListener("tanstack-connect",this.#q),this.#Q=!0,this.debugLog("Max retries reached, giving up on connection"),this.stopConnectLoop()};#R=()=>{if(this.#Z)return;this.#Z=!0,this.#N().addEventListener("tanstack-connect-success",this.#K),this.#q()};constructor({pluginId:z,debug:Z=!1,enabled:Y=!0,reconnectEveryMs:H=300}){this.#J=z,this.#B=Y,this.#N=this.getGlobalTarget,this.#U=Z,this.debugLog(" Initializing event subscription for plugin",this.#J),this.#X=[],this.#H=!1,this.#Q=!1,this.#z=null,this.#W=H}startConnectLoop(){if(this.#z!==null||this.#H)return;this.debugLog(`Starting connect loop (every ${this.#W}ms)`),this.#z=setInterval(this.#q,this.#W)}stopConnectLoop(){if(this.#Z=!1,this.#z===null)return;clearInterval(this.#z),this.#z=null,this.#X=[],this.debugLog("Stopped connect loop")}debugLog(...z){if(this.#U)console.log(`\uD83C\uDF34 [tanstack-devtools:${this.#J}-plugin]`,...z)}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 z=typeof EventTarget<"u"?new EventTarget:void 0;if(typeof z>"u"||typeof z.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"),z}getPluginId(){return this.#J}dispatchCustomEventShim(z,Z){try{let Y=new Event(z,{detail:Z});this.#N().dispatchEvent(Y)}catch(Y){this.debugLog("Failed to dispatch shim event")}}dispatchCustomEvent(z,Z){try{this.#N().dispatchEvent(new CustomEvent(z,{detail:Z}))}catch(Y){this.dispatchCustomEventShim(z,Z)}}emitEventToBus(z){this.debugLog("Emitting event to client bus",z),this.dispatchCustomEvent("tanstack-dispatch-event",z)}createEventPayload(z,Z){return{type:`${this.#J}:${z}`,payload:Z,pluginId:this.#J}}emit(z,Z){if(!this.#B){this.debugLog("Event bus client is disabled, not emitting event",z,Z);return}if(this.#Y)this.debugLog("Emitting event to internal event target",z,Z),this.#Y.dispatchEvent(new CustomEvent(`${this.#J}:${z}`,{detail:this.createEventPayload(z,Z)}));if(this.#Q){this.debugLog("Previously failed to connect, not emitting to bus");return}if(!this.#H){if(this.debugLog("Bus not available, will be pushed as soon as connected"),this.#X.push(this.createEventPayload(z,Z)),typeof CustomEvent<"u"&&!this.#Z)this.#R(),this.startConnectLoop();return}return this.emitEventToBus(this.createEventPayload(z,Z))}on(z,Z,Y){let H=Y?.withEventTarget??!1,B=`${this.#J}:${z}`;if(H){if(!this.#Y)this.#Y=new EventTarget;this.#Y.addEventListener(B,(U)=>{Z(U.detail)})}if(!this.#B)return this.debugLog("Event bus client is disabled, not registering event",B),()=>{};let Q=(U)=>{this.debugLog("Received event from bus",U.detail),Z(U.detail)};return this.#N().addEventListener(B,Q),this.debugLog("Registered event to bus",B),()=>{if(H)this.#Y?.removeEventListener(B,Q);this.#N().removeEventListener(B,Q)}}onAll(z){if(!this.#B)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};let Z=(Y)=>{let H=Y.detail;z(H)};return this.#N().addEventListener("tanstack-devtools-global",Z),()=>this.#N().removeEventListener("tanstack-devtools-global",Z)}onAllPluginEvents(z){if(!this.#B)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};let Z=(Y)=>{let H=Y.detail;if(this.#J&&H.pluginId!==this.#J)return;z(H)};return this.#N().addEventListener("tanstack-devtools-global",Z),()=>this.#N().removeEventListener("tanstack-devtools-global",Z)}}class E1 extends T6{constructor(){super({pluginId:"form-devtools",reconnectEveryMs:1000})}}var n0=new E1;function w4(z,Z){return typeof z==="function"?z(Z):z}function j4(z,Z){return C6(Z).reduce((H,B)=>{if(H===null)return null;if(typeof H<"u")return H[B];return},z)}function S4(z,Z,Y){let H=C6(Z);function B(Q){if(!H.length)return w4(Y,Q);let U=H.shift();if(typeof U==="string"||typeof U==="number"&&!Array.isArray(Q)){if(typeof Q==="object"){if(Q===null)Q={};return{...Q,[U]:B(Q[U])}}return{[U]:B()}}if(Array.isArray(Q)&&typeof U==="number"){let w=Q.slice(0,U);return[...w.length?w:Array(U),B(Q[U]),...Q.slice(U+1)]}return[...Array(U),B()]}return B(z)}function r6(z,Z){let Y=C6(Z);function H(B){if(!B)return;if(Y.length===1){let U=Y[0];if(Array.isArray(B)&&typeof U==="number")return B.filter((K,G)=>G!==U);let{[U]:w,...k}=B;return k}let Q=Y.shift();if(typeof Q==="string"||typeof Q==="number"&&!Array.isArray(B)){if(typeof B==="object")return{...B,[Q]:H(B[Q])}}if(typeof Q==="number"){if(Array.isArray(B)){if(Q>=B.length)return B;let U=B.slice(0,Q);return[...U.length?U:Array(Q),H(B[Q]),...B.slice(Q+1)]}}throw Error("It seems we have created an infinite loop in deleteBy. ")}return H(z)}var V1=46,t6=91,i6=93,D1=48,xN=57;function C6(z){if(Array.isArray(z))return[...z];if(typeof z!=="string")throw Error("Path must be a string.");let Z=z.length,Y=[],H=Z>0&&z.charCodeAt(0)===t6?1:0,B=!0,Q=-1;for(let U=H;U<=Z;U++){let w=U<Z?z.charCodeAt(U):-1;if(U===Z||w===V1||w===t6||w===i6){let k=U-H;if(k>0){let K=B&&(k===1||z.charCodeAt(H)!==D1),G=z.slice(H,U);if(K){let R=parseInt(G,10);if(k<=15||String(R)===G)Y.push(R);else Y.push(G)}else Y.push(G)}else if(Q!==i6&&!(Q===-1&&w===i6)&&!(Q===w&&(w===V1||w===t6)))Y.push("");H=U+1,B=!0}else if(w<D1||w>xN)B=!1;Q=w}if(!Y.length)Y.push("");return Y}function s6(z){return!(Array.isArray(z)&&z.length===0)}function T4(z,Z){let Y=(H)=>{return H.validators.filter(Boolean).map((B)=>{return{cause:B.cause,validate:B.fn}})};return Z.validationLogic({form:Z.form,group:Z.group,validators:Z.validators,event:{type:z,fieldName:Z.fieldName,async:!1},runValidation:Y})}function h4(z,Z){let{asyncDebounceMs:Y}=Z,{onBlurAsyncDebounceMs:H,onChangeAsyncDebounceMs:B,onDynamicAsyncDebounceMs:Q}=Z.validators||{},U=Y??0,w=(k)=>{return k.validators.filter(Boolean).map((K)=>{let G=K?.cause||z,R=U;switch(G){case"change":R=B??U;break;case"blur":R=H??U;break;case"dynamic":R=Q??U;break;case"submit":R=0;break}if(z==="submit")R=0;return{cause:G,validate:K.fn,debounceMs:R}})};return Z.validationLogic({form:Z.form,group:Z.group,validators:Z.validators,event:{type:z,fieldName:Z.fieldName,async:!0},runValidation:w})}var u4=(z)=>{return!!z&&typeof z==="object"&&"fields"in z};function p0(z,Z){if(Object.is(z,Z))return!0;if(typeof z!=="object"||z===null||typeof Z!=="object"||Z===null)return!1;if(z instanceof Date&&Z instanceof Date)return z.getTime()===Z.getTime();if(z instanceof Map&&Z instanceof Map){if(z.size!==Z.size)return!1;for(let[B,Q]of z)if(!Z.has(B)||!Object.is(Q,Z.get(B)))return!1;return!0}if(z instanceof Set&&Z instanceof Set){if(z.size!==Z.size)return!1;for(let B of z)if(!Z.has(B))return!1;return!0}let Y=Object.keys(z),H=Object.keys(Z);if(Y.length!==H.length)return!1;if(Y.length===0&&!Array.isArray(z)&&!Array.isArray(Z)&&(Object.getPrototypeOf(z)!==Object.prototype||Object.getPrototypeOf(Z)!==Object.prototype))return!1;for(let B of Y)if(!H.includes(B)||!p0(z[B],Z[B]))return!1;return!0}var n4=({newFormValidatorError:z,isPreviousErrorFromFormValidator:Z,previousErrorValue:Y})=>{if(z)return{newErrorValue:z,newSource:"form"};if(Z)return{newErrorValue:void 0,newSource:void 0};if(Y)return{newErrorValue:Y,newSource:"field"};return{newErrorValue:void 0,newSource:void 0}},g4=({formLevelError:z,fieldLevelError:Z})=>{if(Z)return{newErrorValue:Z,newSource:"field"};if(z)return{newErrorValue:z,newSource:"form"};return{newErrorValue:void 0,newSource:void 0}};function V0(z,Z){if(z===void 0||z===null)return Z;return{...z,...Z}}var I4=256,A6=[],h6;while(I4--)A6[I4]=(I4+256).toString(16).substring(1);function z6(){let z=0,Z,Y="";if(!h6||I4+16>256){h6=Array(256),z=256;while(z--)h6[z]=256*Math.random()|0;z=0,I4=0}for(;z<16;z++){if(Z=h6[I4+z],z===6)Y+=A6[Z&15|64];else if(z===8)Y+=A6[Z&63|128];else Y+=A6[Z];if(z&1&&z>1&&z<11)Y+="-"}return I4++,Y}var e6=l6((z)=>n0.emit("form-state",{id:z.formId,state:z.store.state}),{wait:300});function M4(z){if(z===null||typeof z!=="object")return z;if(z instanceof Date)return new Date(z.getTime());if(Array.isArray(z)){let Y=[];for(let H=0;H<z.length;H++)Y[H]=M4(z[H]);return Y}if(z instanceof Map){let Y=new Map;return z.forEach((H,B)=>{Y.set(B,M4(H))}),Y}if(z instanceof Set){let Y=new Set;return z.forEach((H)=>{Y.add(M4(H))}),Y}let Z={};for(let Y in z)if(Object.prototype.hasOwnProperty.call(z,Y))Z[Y]=M4(z[Y]);return Z}function Y4(z,Z){return Z===z||Z.startsWith(`${z}.`)||Z.startsWith(`${z}[`)}var d0=(z)=>{if(!z.validators)return z.runValidation({validators:[],form:z.form});let Z=z.event.async,Y=Z?void 0:{fn:z.validators.onMount,cause:"mount"},H={fn:Z?z.validators.onChangeAsync:z.validators.onChange,cause:"change"},B={fn:Z?z.validators.onBlurAsync:z.validators.onBlur,cause:"blur"},Q={fn:Z?z.validators.onSubmitAsync:z.validators.onSubmit,cause:"submit"},U=Z?void 0:{fn:()=>{return},cause:"server"};switch(z.event.type){case"mount":return z.runValidation({validators:[Y],form:z.form});case"submit":return z.runValidation({validators:[H,B,Q,U],form:z.form});case"server":return z.runValidation({validators:[],form:z.form});case"blur":return z.runValidation({validators:[B,U],form:z.form});case"change":return z.runValidation({validators:[H,U],form:z.form});default:throw Error(`Unknown validation event type: ${z.event.type}`)}};function jN(z,Z){let Y=new Map;for(let H of z){let B=H.path??[],Q=Z,U="";for(let w=0;w<B.length;w++){let k=B[w];if(k===void 0)continue;let K=typeof k==="object"?k.key:k,G=Number(K);if(Array.isArray(Q)&&!Number.isNaN(G))U+=`[${G}]`;else U+=(w>0?".":"")+String(K);if(typeof Q==="object"&&Q!==null)Q=Q[K];else Q=void 0}Y.set(U,(Y.get(U)??[]).concat(H))}return Object.fromEntries(Y)}var y1=(z,Z)=>{let Y=jN(z,Z);return{form:Y,fields:Y}},K4={validate({value:z,validationSource:Z},Y){let H=Y["~standard"].validate(z);if(H instanceof Promise)throw Error("async function passed to sync validator");if(!H.issues)return;if(Z==="field")return H.issues;return y1(H.issues,z)},async validateAsync({value:z,validationSource:Z},Y){let H=await Y["~standard"].validate(z);if(!H.issues)return;if(Z==="field")return H.issues;return y1(H.issues,z)}},p4=(z)=>!!z&&("~standard"in z);var $0={isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,isValid:!0,isDefaultValue:!0,errors:[],errorMap:{},errorSourceMap:{},_arrayVersion:0};function A4(z){function Z(R){let q=z.getFieldMeta(R)??$0;z.setFieldMeta(R,{...q,_arrayVersion:(q._arrayVersion||0)+1})}function Y(R,q,W){Z(R);let L=w(R,q,"move",W),P=Math.min(q,W),h=Math.max(q,W);for(let F=P;F<=h;F++)L.push(U(R,F));let E=Object.keys(z.fieldInfo).reduce((F,V)=>{if(V.startsWith(U(R,q)))F.set(V,z.getFieldMeta(V));return F},new Map);K(L,q<W?"up":"down"),Object.keys(z.fieldInfo).filter((F)=>F.startsWith(U(R,W))).forEach((F)=>{let V=F.replace(U(R,W),U(R,q)),f=E.get(V);if(f)z.setFieldMeta(F,f)})}function H(R,q){Z(R);let W=w(R,q,"remove");K(W,"up")}function B(R,q,W){Z(R),w(R,q,"swap",W).forEach((P)=>{if(!P.toString().startsWith(U(R,q)))return;let h=P.toString().replace(U(R,q),U(R,W)),[E,F]=[z.getFieldMeta(P),z.getFieldMeta(h)];if(E)z.setFieldMeta(h,E);if(F)z.setFieldMeta(P,F)})}function Q(R,q){Z(R);let W=w(R,q,"insert");K(W,"down"),W.forEach((L)=>{if(L.toString().startsWith(U(R,q)))z.setFieldMeta(L,G())})}function U(R,q){return`${R}[${q}]`}function w(R,q,W,L){let P=[U(R,q)];switch(W){case"swap":P.push(U(R,L));break;case"move":{let[h,E]=[Math.min(q,L),Math.max(q,L)];for(let F=h;F<=E;F++)P.push(U(R,F));break}default:{let h=z.getFieldValue(R),E=Array.isArray(h)?h.length:0;for(let F=q+1;F<E;F++)P.push(U(R,F));break}}return Object.keys(z.fieldInfo).filter((h)=>P.some((E)=>h.startsWith(E)))}function k(R,q){return R.replace(/\[(\d+)\]/,(W,L)=>{let P=parseInt(L,10);return`[${q==="up"?P+1:Math.max(0,P-1)}]`})}function K(R,q){(q==="up"?R:[...R].reverse()).forEach((L)=>{let P=k(L.toString(),q),h=z.getFieldMeta(P);if(h)z.setFieldMeta(L,h);else z.setFieldMeta(L,G())})}let G=()=>$0;return{bumpArrayVersion:Z,handleArrayMove:Y,handleArrayRemove:H,handleArraySwap:B,handleArrayInsert:Q}}function N1(z){return{values:z.values??{},errorMap:z.errorMap??{},fieldMetaBase:z.fieldMetaBase??{},formGroupStateBase:z.formGroupStateBase??{},isSubmitted:z.isSubmitted??!1,isSubmitting:z.isSubmitting??!1,isValidating:z.isValidating??!1,submissionAttempts:z.submissionAttempts??0,isSubmitSuccessful:z.isSubmitSuccessful??!1,validationMetaMap:z.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}}class B6{constructor(z){this.options={},this.fieldInfo={},this.formGroupApis=new Set,this.mount=()=>{let B=this.store.subscribe(()=>{e6(this)}),Q=n0.on("request-form-state",(G)=>{if(G.payload.id===this._formId)n0.emit("form-api",{id:this._formId,state:this.store.state,options:this.options})}),U=n0.on("request-form-reset",(G)=>{if(G.payload.id===this._formId)this.reset()}),w=n0.on("request-form-force-submit",(G)=>{if(G.payload.id===this._formId)this._devtoolsSubmissionOverride=!0,this.handleSubmit(),this._devtoolsSubmissionOverride=!1}),k=()=>{w(),U(),Q(),B.unsubscribe(),n0.emit("form-unmounted",{id:this._formId})};this.options.listeners?.onMount?.({formApi:this});let{onMount:K}=this.options.validators||{};if(n0.emit("form-api",{id:this._formId,state:this.store.state,options:this.options}),!K)return k;return this.validateSync("mount"),k},this.update=(B)=>{if(!B)return;let Q=this.options;this.options=B;let U=B.defaultValues&&!p0(B.defaultValues,Q.defaultValues)&&!this.state.isTouched,w=!p0(B.defaultState,Q.defaultState)&&!this.state.isTouched;if(!U&&!w)return;if(h0(()=>{this.baseStore.setState(()=>N1(Object.assign({},this.state,w?B.defaultState:{},U?{values:B.defaultValues}:{})))}),U){let k=A4(this);for(let K of Object.keys(this.fieldInfo))if(Array.isArray(this.getFieldValue(K)))k.bumpArrayVersion(K)}n0.emit("form-api",{id:this._formId,state:this.store.state,options:this.options})},this.reset=(B,Q)=>{let{fieldMeta:U}=this.state,w=this.resetFieldMeta(U);if(B&&!Q?.keepDefaultValues)this.options={...this.options,defaultValues:B};this.baseStore.setState(()=>{let k=B??this.options.defaultValues??this.options.defaultState?.values;if(!B)Object.values(this.fieldInfo).forEach((K)=>{if(K.instance&&K.instance.options.defaultValue!==void 0)k=S4(k,K.instance.name,K.instance.options.defaultValue)});return N1({...this.options.defaultState,values:k,fieldMetaBase:w})})},this.validateAllFields=async(B)=>{let Q=[];return h0(()=>{Object.values(this.fieldInfo).forEach((w)=>{if(!w.instance)return;let k=w.instance;if(Q.push(Promise.resolve().then(()=>k.validate(B,{skipFormValidation:!0,skipGroupValidation:!0}))),!w.instance.store.state.meta.isTouched)w.instance.setMeta((K)=>({...K,isTouched:!0}))})}),(await Promise.all(Q)).flat()},this.validateArrayFieldsStartingFrom=async(B,Q,U)=>{let w=this.getFieldValue(B),k=Array.isArray(w)?Math.max(w.length-1,0):null,K=[`${B}[${Q}]`];for(let W=Q+1;W<=(k??0);W++)K.push(`${B}[${W}]`);let G=Object.keys(this.fieldInfo).filter((W)=>K.some((L)=>W.startsWith(L))),R=[];return h0(()=>{G.forEach((W)=>{R.push(Promise.resolve().then(()=>this.validateField(W,U)))})}),(await Promise.all(R)).flat()},this.validateField=(B,Q)=>{let U=this.fieldInfo[B]?.instance;if(!U){let{hasErrored:w}=this.validateSync(Q);if(w&&!this.options.asyncAlways)return this.getFieldMeta(B)?.errors??[];return this.validateAsync(Q).then(()=>{return this.getFieldMeta(B)?.errors??[]})}if(!U.store.state.meta.isTouched)U.setMeta((w)=>({...w,isTouched:!0}));return U.validate(Q)},this.validateSync=(B,Q)=>{let U=T4(B,{...this.options,form:this,group:Q?.group,validationLogic:this.options.validationLogic||d0}),w=!1,k={};return h0(()=>{for(let R of U){if(!R.validate)continue;let q=this.runValidator({validate:R.validate,value:{value:this.state.values,formApi:this,validationSource:"form"},type:"validate"}),{formError:W,fieldErrors:L}=b6(q),P=Y6(R.cause),h=new Set([...Object.keys(this.state.fieldMeta),...Object.keys(L||{})]);if(Q?.filterFieldNames)h=new Set([...h].filter(Q.filterFieldNames));for(let E of h){if(this.baseStore.state.fieldMetaBase[E]===void 0&&!L?.[E])continue;let F=this.getFieldMeta(E)??$0,{errorMap:V,errorSourceMap:f}=F,S=L?.[E],{newErrorValue:A,newSource:C}=n4({newFormValidatorError:S,isPreviousErrorFromFormValidator:f?.[P]==="form",previousErrorValue:V?.[P]});if(C==="form")k[E]={...k[E],[P]:S};if(V?.[P]!==A)this.setFieldMeta(E,(b=$0)=>({...b,errorMap:{...b.errorMap,[P]:A},errorSourceMap:{...b.errorSourceMap,[P]:C}}))}if(!Q?.dontUpdateFormErrorMap){if(this.state.errorMap?.[P]!==W)this.baseStore.setState((E)=>({...E,errorMap:{...E.errorMap,[P]:W}}))}if(W||L)w=!0}if(Q?.dontUpdateFormErrorMap)return;let K=Y6("submit");if(this.state.errorMap?.[K]&&B!=="submit"&&!w)this.baseStore.setState((R)=>({...R,errorMap:{...R.errorMap,[K]:void 0}}));let G=Y6("server");if(this.state.errorMap?.[G]&&B!=="server"&&!w)this.baseStore.setState((R)=>({...R,errorMap:{...R.errorMap,[G]:void 0}}))}),{hasErrored:w,fieldsErrorMap:k}},this.validateAsync=async(B,Q)=>{let U=h4(B,{...this.options,form:this,group:Q?.group,validationLogic:this.options.validationLogic||d0});if(!this.state.isFormValidating)this.baseStore.setState((R)=>({...R,isFormValidating:!0}));let w=[],k;for(let R of U){if(!R.validate)continue;let q=Y6(R.cause);this.state.validationMetaMap[q]?.lastAbortController.abort();let L=new AbortController;this.state.validationMetaMap[q]={lastAbortController:L},w.push(new Promise(async(P)=>{let h;try{h=await new Promise((S,A)=>{setTimeout(async()=>{if(L.signal.aborted)return S(void 0);try{S(await this.runValidator({validate:R.validate,value:{value:this.state.values,formApi:this,validationSource:"form",signal:L.signal},type:"validateAsync"}))}catch(C){A(C)}},R.debounceMs)})}catch(S){h=S}let{formError:E,fieldErrors:F}=b6(h);if(F)k=k?{...k,...F}:F;let V=Y6(R.cause),f=Object.keys(this.state.fieldMeta);if(Q?.filterFieldNames)f=f.filter(Q.filterFieldNames);for(let S of f){if(this.baseStore.state.fieldMetaBase[S]===void 0)continue;let A=this.getFieldMeta(S);if(!A)continue;let{errorMap:C,errorSourceMap:b}=A,y=k?.[S],{newErrorValue:T,newSource:O}=n4({newFormValidatorError:y,isPreviousErrorFromFormValidator:b?.[V]==="form",previousErrorValue:C?.[V]});if(C?.[V]!==T)this.setFieldMeta(S,(p)=>({...p,errorMap:{...p.errorMap,[V]:T},errorSourceMap:{...p.errorSourceMap,[V]:O}}))}if(!Q?.dontUpdateFormErrorMap)this.baseStore.setState((S)=>({...S,errorMap:{...S.errorMap,[V]:E}}));P(k?{fieldErrors:k,errorMapKey:V}:void 0)}))}let K=[],G={};if(w.length){K=await Promise.all(w);for(let R of K)if(R?.fieldErrors){let{errorMapKey:q}=R;for(let[W,L]of Object.entries(R.fieldErrors)){let h={...G[W]||{},[q]:L};G[W]=h}}}return this.baseStore.setState((R)=>({...R,isFormValidating:!1})),G},this.validate=(B,Q)=>{let{hasErrored:U,fieldsErrorMap:w}=this.validateSync(B,Q);if(U&&!this.options.asyncAlways)return w;return this.validateAsync(B,Q)},this._handleSubmit=async(B)=>{this.baseStore.setState((w)=>({...w,isSubmitted:!1,submissionAttempts:w.submissionAttempts+1,isSubmitSuccessful:!1})),h0(()=>{Object.values(this.fieldInfo).forEach((w)=>{if(!w.instance)return;if(!w.instance.store.state.meta.isTouched)w.instance.setMeta((k)=>({...k,isTouched:!0}))})});let Q=B??this.options.onSubmitMeta;if(!this.state.canSubmit&&!this._devtoolsSubmissionOverride){this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:Q});return}this.baseStore.setState((w)=>({...w,isSubmitting:!0}));let U=()=>{this.baseStore.setState((w)=>({...w,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.state.isFieldsValid){U(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:Q}),n0.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){U(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:Q}),n0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"validate",errors:this.state.errors});return}h0(()=>{Object.values(this.fieldInfo).forEach((w)=>{w.instance?.triggerOnSubmitListener()})}),this.options.listeners?.onSubmit?.({formApi:this,meta:Q});try{await this.options.onSubmit?.({value:this.state.values,formApi:this,meta:Q}),h0(()=>{this.baseStore.setState((w)=>({...w,isSubmitted:!0,isSubmitSuccessful:!0})),n0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!0}),U()})}catch(w){throw this.baseStore.setState((k)=>({...k,isSubmitSuccessful:!1})),n0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"inflight",onError:w}),U(),w}},this.getFieldValue=(B)=>j4(this.state.values,B),this.getFieldMeta=(B)=>{return this.state.fieldMeta[B]},this.getFormGroupMeta=(B)=>{return this.formGroupMetaDerived.state[B]},this.getFieldInfo=(B)=>{return this.fieldInfo[B]||={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}},this.setFieldMeta=(B,Q)=>{this.baseStore.setState((U)=>{return{...U,fieldMetaBase:{...U.fieldMetaBase,[B]:w4(Q,U.fieldMetaBase[B])}}})},this.resetFieldMeta=(B)=>{return Object.keys(B).reduce((Q,U)=>{let w=U;return Q[w]=$0,Q},{})},this.setFieldValue=(B,Q,U)=>{let w=U?.dontUpdateMeta??!1,k=U?.dontRunListeners??!1,K=U?.dontValidate??!1;if(h0(()=>{if(!w)this.setFieldMeta(B,(G)=>({...G,isTouched:!0,isDirty:!0,errorMap:{...G?.errorMap,onMount:void 0}}));this.baseStore.setState((G)=>{return{...G,values:S4(G.values,B,Q)}})}),!k)this.getFieldInfo(B).instance?.triggerOnChangeListener();if(!K)this.validateField(B,"change")},this.deleteField=(B)=>{let U=[...Object.keys(this.fieldInfo).filter((w)=>{let k=B.toString();return w!==k&&w.startsWith(k)}),B];this.baseStore.setState((w)=>{let k={...w};return U.forEach((K)=>{k.values=r6(k.values,K),delete this.fieldInfo[K],delete k.fieldMetaBase[K]}),k})},this.pushFieldValue=(B,Q,U)=>{this.setFieldValue(B,(w)=>[...Array.isArray(w)?w:[],Q],U),A4(this).bumpArrayVersion(B)},this.insertFieldValue=async(B,Q,U,w)=>{this.setFieldValue(B,(K)=>{return[...K.slice(0,Q),U,...K.slice(Q)]},V0(w,{dontValidate:!0}));let k=w?.dontValidate??!1;if(!k)await this.validateField(B,"change");if(A4(this).handleArrayInsert(B,Q),!k)await this.validateArrayFieldsStartingFrom(B,Q,"change")},this.replaceFieldValue=async(B,Q,U,w)=>{if(this.setFieldValue(B,(K)=>{return K.map((G,R)=>R===Q?U:G)},V0(w,{dontValidate:!0})),A4(this).bumpArrayVersion(B),!(w?.dontValidate??!1))await this.validateField(B,"change"),await this.validateArrayFieldsStartingFrom(B,Q,"change")},this.removeFieldValue=async(B,Q,U)=>{let w=this.getFieldValue(B),k=Array.isArray(w)?Math.max(w.length-1,0):null;if(this.setFieldValue(B,(G)=>{return G.filter((R,q)=>q!==Q)},V0(U,{dontValidate:!0})),A4(this).handleArrayRemove(B,Q),k!==null){let G=`${B}[${k}]`;this.deleteField(G)}if(!(U?.dontValidate??!1))await this.validateField(B,"change"),await this.validateArrayFieldsStartingFrom(B,Q,"change")},this.swapFieldValues=(B,Q,U,w)=>{if(this.setFieldValue(B,(K)=>{let G=K[Q],R=K[U];return S4(S4(K,`${Q}`,R),`${U}`,G)},V0(w,{dontValidate:!0})),A4(this).handleArraySwap(B,Q,U),!(w?.dontValidate??!1))this.validateField(B,"change"),this.validateField(`${B}[${Q}]`,"change"),this.validateField(`${B}[${U}]`,"change")},this.moveFieldValues=(B,Q,U,w)=>{if(this.setFieldValue(B,(K)=>{let G=[...K];return G.splice(U,0,G.splice(Q,1)[0]),G},V0(w,{dontValidate:!0})),A4(this).handleArrayMove(B,Q,U),!(w?.dontValidate??!1))this.validateField(B,"change"),this.validateField(`${B}[${Q}]`,"change"),this.validateField(`${B}[${U}]`,"change")},this.clearFieldValues=(B,Q)=>{let U=this.getFieldValue(B),w=Array.isArray(U)?Math.max(U.length-1,0):null;if(this.setFieldValue(B,[],V0(Q,{dontValidate:!0})),A4(this).bumpArrayVersion(B),w!==null)for(let K=0;K<=w;K++){let G=`${B}[${K}]`;this.deleteField(G)}if(!(Q?.dontValidate??!1))this.validateField(B,"change")},this.resetField=(B)=>{this.baseStore.setState((Q)=>{let U=this.getFieldInfo(B).instance?.options.defaultValue,w=j4(this.options.defaultValues,B),k=U??w;return{...Q,fieldMetaBase:{...Q.fieldMetaBase,[B]:$0},values:k!==void 0?S4(Q.values,B,k):Q.values}})},this.setErrorMap=(B)=>{h0(()=>{Object.entries(B).forEach(([Q,U])=>{let w=Q;if(u4(U)){let{formError:k,fieldErrors:K}=b6(U);for(let G of Object.keys(this.fieldInfo)){if(!this.getFieldMeta(G))continue;this.setFieldMeta(G,(q)=>({...q,errorMap:{...q.errorMap,[w]:K?.[G]},errorSourceMap:{...q.errorSourceMap,[w]:"form"}}))}this.baseStore.setState((G)=>({...G,errorMap:{...G.errorMap,[w]:k}}))}else this.baseStore.setState((k)=>({...k,errorMap:{...k.errorMap,[w]:U}}))})})},this.getAllErrors=()=>{return{form:{errors:this.state.errors,errorMap:this.state.errorMap},fields:Object.entries(this.state.fieldMeta).reduce((B,[Q,U])=>{if(Object.keys(U).length&&U.errors.length)B[Q]={errors:U.errors,errorMap:U.errorMap};return B},{})}},this.parseValuesWithSchema=(B)=>{return K4.validate({value:this.state.values,validationSource:"form"},B)},this.parseValuesWithSchemaAsync=(B)=>{return K4.validateAsync({value:this.state.values,validationSource:"form"},B)},this.timeoutIds={validations:{},listeners:{},formListeners:{}},this._formId=z?.formId??z6(),this._devtoolsSubmissionOverride=!1;let Z=N1({...z?.defaultState,values:z?.defaultValues??z?.defaultState?.values});if(z?.transform){Z=z.transform({state:Z}).state;for(let B of Object.keys(Z.errorMap)){let Q=Z.errorMap[B];if(Q===void 0||!u4(Q))continue;for(let U of Object.keys(Q.fields)){let w=Q.fields[U];if(w===void 0)continue;let k=Z.fieldMetaBase[U];Z.fieldMetaBase[U]={isTouched:!1,isValidating:!1,isBlurred:!1,isDirty:!1,_arrayVersion:0,...k??{},errorSourceMap:{...k?.errorSourceMap??{},onChange:"form"},errorMap:{...k?.errorMap??{},[B]:w}}}}}this.baseStore=U4(Z);let Y=void 0;this.fieldMetaDerived=U4((B)=>{let Q=this.baseStore.get(),U=0,w={};for(let k of Object.keys(Q.fieldMetaBase)){let K=Q.fieldMetaBase[k],G=Y?.fieldMetaBase[k],R=B?.[k],q=j4(Q.values,k),W=R?.errors;if(!G||K.errorMap!==G.errorMap){W=Object.values(K.errorMap??{}).filter((F)=>F!==void 0);let E=this.getFieldInfo(k)?.instance;if(!E||!E.options.disableErrorFlat)W=W.flat(1)}let L=!s6(W),P=!K.isDirty,h=p0(q,this.getFieldInfo(k)?.instance?.options.defaultValue??j4(this.options.defaultValues,k));if(R&&R.isPristine===P&&R.isValid===L&&R.isDefaultValue===h&&R.errors===W&&K===G){w[k]=R,U++;continue}w[k]={...K,errors:W??[],isPristine:P,isValid:L,isDefaultValue:h}}if(!Object.keys(Q.fieldMetaBase).length)return w;if(B&&U===Object.keys(Q.fieldMetaBase).length)return B;return Y=this.baseStore.get(),w}),this.formGroupMetaDerived=U4((B)=>{let Q=this.baseStore.get(),U=this.fieldMetaDerived.get(),w={};for(let k of this.formGroupApis){let K=k.name,G=Q.formGroupStateBase[K]??{isSubmitted:!1,isSubmitting:!1,isValidating:!1,submissionAttempts:0,isSubmitSuccessful:!1},R=U[K],q=!1,W=!0,L=!1,P=!1,h=!0,E=!1;for(let e in U){if(e===K)continue;if(!Y4(K,e))continue;let l=U[e];if(!l)continue;if(l.isValidating)q=!0;if(!l.isValid)W=!1;if(l.isTouched)L=!0;if(l.isBlurred)P=!0;if(!l.isDefaultValue)h=!1;if(l.isDirty)E=!0}let F=!E,V=!!q||G.isValidating,f=R?.errorMap??{},S=R?.errorSourceMap??{},A=Boolean(f.onMount||Object.entries(U).some(([e,l])=>l&&e!==K&&Y4(K,e)&&l.errorMap.onMount)),C=B?.[K],b=C?.errors??[];if(!C||C.__srcErrorMap!==f)b=Object.values(f).reduce((e,l)=>{if(l===void 0)return e;if(l&&typeof l==="object"&&"fields"in l){let v0=l.group;if(v0!==void 0)e.push(v0);return e}return e.push(l),e},[]);let y=b.length===0,T=W&&y,O=k.options.canSubmitWhenInvalid??!1,p=G.submissionAttempts===0&&!L&&!A||!V&&!G.isSubmitting&&T||O;if(C&&C.errorMap===f&&C.errorSourceMap===S&&C.errors===b&&C.isFieldsValidating===q&&C.isFieldsValid===W&&C.isGroupValid===y&&C.isValid===T&&C.canSubmit===p&&C.isTouched===L&&C.isBlurred===P&&C.isPristine===F&&C.isDefaultValue===h&&C.isDirty===E&&C.isValidating===V&&C.isSubmitting===G.isSubmitting&&C.isSubmitted===G.isSubmitted&&C.submissionAttempts===G.submissionAttempts&&C.isSubmitSuccessful===G.isSubmitSuccessful){w[K]=C;continue}let n={...G,errorMap:f,errorSourceMap:S,_arrayVersion:R?._arrayVersion??0,isTouched:L,isBlurred:P,isDirty:E,isPristine:F,isDefaultValue:h,isValid:T,errors:b,isValidating:V,isFieldsValidating:q,isFieldsValid:W,isGroupValid:y,canSubmit:p};Object.defineProperty(n,"__srcErrorMap",{value:f,enumerable:!1,configurable:!0}),w[K]=n}return w});let H=void 0;this.store=U4((B)=>{let Q=this.baseStore.get(),U=this.fieldMetaDerived.get(),w=Object.values(U).filter(Boolean),k=w.some((y)=>y.isValidating),K=w.every((y)=>y.isValid),G=w.some((y)=>y.isTouched),R=w.some((y)=>y.isBlurred),q=w.every((y)=>y.isDefaultValue),W=G&&Q.errorMap?.onMount,L=w.some((y)=>y.isDirty),P=!L,h=Boolean(Q.errorMap?.onMount||w.some((y)=>y?.errorMap?.onMount)),E=!!k,F=B?.errors??[];if(!H||Q.errorMap!==H.errorMap)F=Object.values(Q.errorMap).reduce((y,T)=>{if(T===void 0)return y;if(T&&u4(T))return y.push(T.form),y;return y.push(T),y},[]);let V=F.length===0,f=K&&V,S=this.options.canSubmitWhenInvalid??!1,A=Q.submissionAttempts===0&&!G&&!h||!E&&!Q.isSubmitting&&f||S,C=Q.errorMap;if(W)F=F.filter((y)=>y!==Q.errorMap.onMount),C=Object.assign(C,{onMount:void 0});if(B&&H&&B.errorMap===C&&B.fieldMeta===this.fieldMetaDerived.state&&B.errors===F&&B.isFieldsValidating===k&&B.isFieldsValid===K&&B.isFormValid===V&&B.isValid===f&&B.canSubmit===A&&B.isTouched===G&&B.isBlurred===R&&B.isPristine===P&&B.isDefaultValue===q&&B.isDirty===L&&p0(H,Q))return B;let b={...Q,errorMap:C,fieldMeta:this.fieldMetaDerived.state,errors:F,isFieldsValidating:k,isFieldsValid:K,isFormValid:V,isValid:f,canSubmit:A,isTouched:G,isBlurred:R,isPristine:P,isDefaultValue:q,isDirty:L};return H=this.baseStore.get(),b}),this.handleSubmit=this.handleSubmit.bind(this),this.update(z||{})}get state(){return this.store.state}get formId(){return this._formId}runValidator(z){if(p4(z.validate))return K4[z.type](z.value,z.validate);return z.validate(z.value)}handleSubmit(z){return this._handleSubmit(z)}}function b6(z){if(z){if(u4(z)){let Z=b6(z.form).formError,Y=z.fields;return{formError:Z,fieldErrors:Y}}return{formError:z}}return{formError:void 0}}function Y6(z){switch(z){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 V4{constructor(z){this.options={},this.mount=()=>{if(this.options.defaultValue!==void 0&&!this.getMeta().isTouched)this.form.setFieldValue(this.name,this.options.defaultValue,{dontUpdateMeta:!0});let Z=this.getInfo();Z.instance=this,this.update(this.options);let{onMount:Y}=this.options.validators||{};if(Y){let H=this.runValidator({validate:Y,value:{value:this.state.value,fieldApi:this,validationSource:"field"},type:"validate"});if(H)this.setMeta((B)=>({...B,errorMap:{...B?.errorMap,onMount:H},errorSourceMap:{...B?.errorSourceMap,onMount:"field"}}))}return this.options.listeners?.onMount?.({value:this.state.value,fieldApi:this}),()=>{for(let[B,Q]of Object.entries(this.timeoutIds.validations))if(Q)clearTimeout(Q),this.timeoutIds.validations[B]=null;for(let[B,Q]of Object.entries(this.timeoutIds.listeners))if(Q)clearTimeout(Q),this.timeoutIds.listeners[B]=null;for(let[B,Q]of Object.entries(this.timeoutIds.formListeners))if(Q)clearTimeout(Q),this.timeoutIds.formListeners[B]=null;let H=this.form.fieldInfo[this.name];if(!H)return;if(H.instance!==this)return;for(let[B,Q]of Object.entries(H.validationMetaMap))Q?.lastAbortController.abort(),H.validationMetaMap[B]=void 0;this.form.baseStore.setState((B)=>({...B,fieldMetaBase:{...B.fieldMetaBase,[this.name]:{...$0,isTouched:B.fieldMetaBase[this.name]?.isTouched??$0.isTouched,isBlurred:B.fieldMetaBase[this.name]?.isBlurred??$0.isBlurred,isDirty:B.fieldMetaBase[this.name]?.isDirty??$0.isDirty}}})),H.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,fieldApi:this}),this.form.options.listeners?.onFieldUnmount?.({formApi:this.form,fieldApi:this})}},this.update=(Z)=>{if(this.options=Z,this.name=Z.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0){let Y=this.form.getFieldValue(this.name);if(!p0(Y,Z.defaultValue))this.form.setFieldValue(this.name,Z.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=(Z,Y)=>{if(this.form.setFieldValue(this.name,Z,V0(Y,{dontRunListeners:!0,dontValidate:!0})),!Y?.dontRunListeners)this.triggerOnChangeListener();if(!Y?.dontValidate)this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=(Z)=>this.form.setFieldMeta(this.name,Z),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(Z,Y)=>{if(this.form.pushFieldValue(this.name,Z,V0(Y,{dontRunListeners:!0})),!Y?.dontRunListeners)this.triggerOnChangeListener()},this.insertValue=(Z,Y,H)=>{if(this.form.insertFieldValue(this.name,Z,Y,V0(H,{dontRunListeners:!0})),!H?.dontRunListeners)this.triggerOnChangeListener()},this.replaceValue=(Z,Y,H)=>{if(this.form.replaceFieldValue(this.name,Z,Y,V0(H,{dontRunListeners:!0})),!H?.dontRunListeners)this.triggerOnChangeListener()},this.removeValue=(Z,Y)=>{if(this.form.removeFieldValue(this.name,Z,V0(Y,{dontRunListeners:!0})),!Y?.dontRunListeners)this.triggerOnChangeListener()},this.swapValues=(Z,Y,H)=>{if(this.form.swapFieldValues(this.name,Z,Y,V0(H,{dontRunListeners:!0})),!H?.dontRunListeners)this.triggerOnChangeListener()},this.moveValue=(Z,Y,H)=>{if(this.form.moveFieldValues(this.name,Z,Y,V0(H,{dontRunListeners:!0})),!H?.dontRunListeners)this.triggerOnChangeListener()},this.clearValues=(Z)=>{if(this.form.clearFieldValues(this.name,V0(Z,{dontRunListeners:!0})),!Z?.dontRunListeners)this.triggerOnChangeListener()},this.getLinkedFields=(Z)=>{let Y=Object.values(this.form.fieldInfo),H=[];for(let B of Y){if(!B.instance)continue;if(!(B.instance instanceof V4))continue;let{onChangeListenTo:Q,onBlurListenTo:U}=B.instance.options.validators||{};if(Z==="change"&&Q?.includes(this.name))H.push(B.instance);if(Z==="blur"&&U?.includes(this.name))H.push(B.instance)}return H},this.validateSync=(Z,Y)=>{let H=T4(Z,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||d0}),Q=this.getLinkedFields(Z).reduce((k,K)=>{let G=T4(Z,{...K.options,form:K.form,fieldName:K.name,validationLogic:K.form.options.validationLogic||d0});return G.forEach((R)=>{R.field=K}),k.concat(G)},[]),U=!1;h0(()=>{let k=(K,G)=>{let R=Z6(G.cause),q=G.validate?O1(K.runValidator({validate:G.validate,value:{value:K.store.state.value,validationSource:"field",fieldApi:K},type:"validate"})):void 0,W=Y[R],{newErrorValue:L,newSource:P}=g4({formLevelError:W,fieldLevelError:q});if(K.state.meta.errorMap?.[R]!==L)K.setMeta((h)=>({...h,errorMap:{...h.errorMap,[R]:L},errorSourceMap:{...h.errorSourceMap,[R]:P}}));if(L)U=!0};for(let K of H)k(this,K);for(let K of Q){if(!K.validate)continue;k(K.field,K)}});let w=Z6("submit");if(this.state.meta.errorMap?.[w]&&Z!=="submit"&&!U)this.setMeta((k)=>({...k,errorMap:{...k.errorMap,[w]:void 0},errorSourceMap:{...k.errorSourceMap,[w]:void 0}}));return{hasErrored:U}},this.validateAsync=async(Z,Y)=>{let H=h4(Z,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||d0}),B=await Y,Q=this.getLinkedFields(Z),U=Q.reduce((q,W)=>{let L=h4(Z,{...W.options,form:W.form,fieldName:W.name,validationLogic:W.form.options.validationLogic||d0});return L.forEach((P)=>{P.field=W}),q.concat(L)},[]),w=[],k=[],K=H.some((q)=>q.validate)||U.some((q)=>q.validate);if(K){if(!this.state.meta.isValidating)this.setMeta((q)=>({...q,isValidating:!0}));for(let q of Q)q.setMeta((W)=>({...W,isValidating:!0}))}let G=(q,W,L)=>{let P=Z6(W.cause),h=q.getInfo();h.validationMetaMap[P]?.lastAbortController.abort();let F=new AbortController;h.validationMetaMap[P]={lastAbortController:F},L.push(new Promise(async(V)=>{let f;try{f=await new Promise((y,T)=>{if(q.timeoutIds.validations[W.cause])clearTimeout(q.timeoutIds.validations[W.cause]);q.timeoutIds.validations[W.cause]=setTimeout(async()=>{if(F.signal.aborted)return y(void 0);try{y(await this.runValidator({validate:W.validate,value:{value:q.store.state.value,fieldApi:q,signal:F.signal,validationSource:"field"},type:"validateAsync"}))}catch(O){T(O)}},W.debounceMs)})}catch(y){f=y}if(F.signal.aborted)return V(void 0);let S=O1(f),A=B[q.name]?.[P],{newErrorValue:C,newSource:b}=g4({formLevelError:A,fieldLevelError:S});if(q.getInfo().instance!==q)return V(void 0);q.setMeta((y)=>{return{...y,errorMap:{...y?.errorMap,[P]:C},errorSourceMap:{...y.errorSourceMap,[P]:b}}}),V(C)}))};for(let q of H){if(!q.validate)continue;G(this,q,w)}for(let q of U){if(!q.validate)continue;G(q.field,q,k)}let R=[];if(w.length||k.length)R=await Promise.all(w),await Promise.all(k);if(K){this.setMeta((q)=>({...q,isValidating:!1}));for(let q of Q)q.setMeta((W)=>({...W,isValidating:!1}))}return R.filter(Boolean)},this.validate=(Z,Y)=>{if(!this.state.meta.isTouched)return[];let H=Y?.skipGroupValidation?[]:Array.from(this.form.formGroupApis).filter((R)=>this.name.startsWith(R.name)),Q=((Y?.skipFormValidation)?{fieldsErrorMap:{}}:this.form.validateSync(Z)).fieldsErrorMap[this.name]??{};if(!Y?.skipFormValidation)for(let R of H){if(R.state.meta.submissionAttempts===0)continue;let{fieldsErrorMap:q}=this.form.validateSync(Z,{group:R,dontUpdateFormErrorMap:!0,filterFieldNames:(W)=>Y4(R.name,W)});Q={...Q,...q[this.name]??{}}}let{hasErrored:U}=this.validateSync(Z,Q),w=new WeakMap;for(let R of H){let{hasErrored:q}=R.validateSync(Z,{},{skipRelatedFieldValidation:!0});w.set(R,q)}if(U&&!this.options.asyncAlways){this.getInfo().validationMetaMap[Z6(Z)]?.lastAbortController.abort();let R=[];for(let q of H)q.getInfo().validationMetaMap[Z6(Z)]?.lastAbortController.abort(),R.push(q.state.meta.errors);return[...this.state.meta.errors,...R.flat()]}let k=Y?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(Z),K=this.validateAsync(Z,k),G=[];for(let R of H){if(w.get(R)&&!R.options.asyncAlways)continue;G.push(R.validateAsync(Z,k,{skipRelatedFieldValidation:!0}))}if(G.length===0)return K;return Promise.all([K,...G]).then((R)=>R.flat())},this.handleChange=(Z)=>{this.setValue(Z)},this.handleBlur=()=>{if(!this.state.meta.isTouched)this.setMeta((Y)=>({...Y,isTouched:!0}));if(!this.state.meta.isBlurred)this.setMeta((Y)=>({...Y,isBlurred:!0}));this.validate("blur"),this.triggerOnBlurListener()},this.setErrorMap=(Z)=>{this.setMeta((Y)=>({...Y,errorMap:{...Y.errorMap,...Z}}))},this.parseValueWithSchema=(Z)=>{return K4.validate({value:this.state.value,validationSource:"field"},Z)},this.parseValueWithSchemaAsync=(Z)=>{return K4.validateAsync({value:this.state.value,validationSource:"field"},Z)},this.triggerOnBlurListener=()=>{let Z=this.form.options.listeners?.onBlurDebounceMs;if(Z&&Z>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})},Z)}else this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this});let Y=this.options.listeners?.onBlurDebounceMs;if(Y&&Y>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})},Y)}else this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},this.triggerOnChangeListener=()=>{let Z=this.form.options.listeners?.onChangeDebounceMs;if(Z&&Z>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})},Z)}else this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this});let Y=this.options.listeners?.onChangeDebounceMs;if(Y&&Y>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})},Y)}else this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this});for(let H of this.form.formGroupApis)if(Y4(H.name,this.name))H.triggerOnChangeListener()},this.triggerOnSubmitListener=()=>{this.options.listeners?.onSubmit?.({value:this.state.value,fieldApi:this})},this.form=z.form,this.name=z.name,this.options=z,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.store=U4((Z)=>{this.form.store.get();let Y=this.form.getFieldMeta(this.name)??{...$0,...z.defaultMeta},H=this.form.getFieldValue(this.name);if(!Y.isTouched&&H===void 0&&this.options.defaultValue!==void 0&&!p0(H,this.options.defaultValue))H=this.options.defaultValue;if(Z&&Z.value===H&&Z.meta===Y)return Z;return{value:H,meta:Y}})}get state(){return this.store.state}runValidator(z){if(p4(z.validate))return K4[z.type](z.value,z.validate);return z.validate(z.value)}}function O1(z){if(z)return z;return}function Z6(z){switch(z){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 J1(z){return{isSubmitted:z.isSubmitted??!1,isSubmitting:z.isSubmitting??!1,isValidating:z.isValidating??!1,submissionAttempts:z.submissionAttempts??0,isSubmitSuccessful:z.isSubmitSuccessful??!1}}function I1(z){return{...$0,...z,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 _4{constructor(z){this.options={},this.setFormGroupState=(Z)=>{this.form.baseStore.setState((Y)=>{let H=Y.formGroupStateBase[this.name]??J1({});return{...Y,formGroupStateBase:{...Y.formGroupStateBase,[this.name]:Z(H)}}})},this._lastDistributedFieldNames={},this.update=(Z)=>{if(this.options=Z,this.name=Z.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0){let Y=this.form.getFieldValue(this.name);if(!p0(Y,Z.defaultValue))this.form.setFieldValue(this.name,Z.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})}if(!this.form.getFieldMeta(this.name))this.form.setFieldMeta(this.name,{...$0,...this.options.defaultMeta})},this.mount=()=>{this.update(this.options),this.form.formGroupApis.add(this),this.fieldInfo.instance=this,this.form.baseStore.setState((Y)=>({...Y,formGroupStateBase:{...Y.formGroupStateBase,[this.name]:Y.formGroupStateBase[this.name]??J1({...this.options.defaultState})}}));let{onMount:Z}=this.options.validators||{};if(Z){let Y=this.runValidator({validate:Z,value:{value:this.state.value,groupApi:this,validationSource:"form"},type:"validate"}),H=Y,B=void 0;if(z1(Y))H=Y.group,B=Y.fields;let Q=X1(H);if(Q)this.setMeta((U)=>({...U,errorMap:{...U.errorMap,onMount:Q},errorSourceMap:{...U.errorSourceMap,onMount:"field"}}));this.distributeFieldErrors("onMount",B)}return this.options.listeners?.onMount?.({value:this.state.value,groupApi:this}),()=>{for(let[Y,H]of Object.entries(this.timeoutIds.validations))if(H)clearTimeout(H),this.timeoutIds.validations[Y]=null;for(let[Y,H]of Object.entries(this.timeoutIds.listeners))if(H)clearTimeout(H),this.timeoutIds.listeners[Y]=null;for(let[Y,H]of Object.entries(this.timeoutIds.formListeners))if(H)clearTimeout(H),this.timeoutIds.formListeners[Y]=null;if(this.fieldInfo.instance!==this)return;for(let[Y,H]of Object.entries(this.fieldInfo.validationMetaMap))H?.lastAbortController.abort(),this.fieldInfo.validationMetaMap[Y]=void 0;this.form.formGroupApis.delete(this),this.form.baseStore.setState((Y)=>({...Y,formGroupStateBase:{...Y.formGroupStateBase,[this.name]:J1({})}})),this.fieldInfo.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,groupApi:this})}},this.setValue=(Z,Y)=>{if(this.form.setFieldValue(this.name,Z,V0(Y,{dontRunListeners:!0,dontValidate:!0})),!Y?.dontRunListeners)this.triggerOnChangeListener();if(!Y?.dontValidate)this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=(Z)=>this.form.setFieldMeta(this.name,Z),this.getInfo=()=>this.fieldInfo,this.getRelatedFields=()=>{let Z=Object.values(this.form.fieldInfo),Y=[];for(let H of Z){if(!H.instance)continue;if(!(H.instance instanceof V4))continue;if(H.instance.name.startsWith(this.name))Y.push(H.instance)}return Y},this.getRelatedFieldMetasDerived=()=>{let Z=Object.entries(this.form.fieldMetaDerived.state),Y=[];for(let[H,B]of Z){if(H===this.name)continue;if(Y4(this.name,H))Y.push({...B,name:H})}return Y},this.buildChildFieldName=(Z)=>{if(Z==="")return this.name;if(Z.startsWith("["))return`${this.name}${Z}`;return`${this.name}.${Z}`},this.distributeFieldErrors=(Z,Y)=>{let H=this._lastDistributedFieldNames[Z]??new Set,B=new Set;if(Y)for(let[w,k]of Object.entries(Y)){if(k===void 0||k===null||k===!1)continue;B.add(this.buildChildFieldName(w))}let Q=new Set([...H,...B]),U=!1;for(let w of Q){let k=w.startsWith(this.name+"[")?w.slice(this.name.length):w.slice(this.name.length+1),K=Y?.[k],G=this.form.getFieldMeta(w);if(!G&&!K)continue;let R=G?.errorMap[Z],q=G?.errorSourceMap[Z]==="form",{newErrorValue:W,newSource:L}=n4({newFormValidatorError:K,isPreviousErrorFromFormValidator:q,previousErrorValue:R});if(W)U=!0;if(R===W&&G?.errorSourceMap[Z]===L)continue;this.form.setFieldMeta(w,(P)=>({...P,errorMap:{...P.errorMap,[Z]:W},errorSourceMap:{...P.errorSourceMap,[Z]:L}}))}return this._lastDistributedFieldNames[Z]=B,U},this.validateSync=(Z,Y,H={})=>{let B=T4(Z,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||d0}),U=(H.skipRelatedFieldValidation?[]:this.getRelatedFields()).reduce((K,G)=>{let R=T4(Z,{...G.options,form:G.form,validationLogic:G.form.options.validationLogic||d0});return R.forEach((q)=>{q.field=G}),K.concat(R)},[]),w=!1;h0(()=>{let K=(G,R)=>{let q=E6(R.cause),W=G===this,L=void 0;if(R.validate)L=G.runValidator({validate:R.validate,value:{value:G.store.state.value,validationSource:W?"form":"field",...G instanceof _4?{groupApi:G}:{fieldApi:G}},type:"validate"});let P=L,h=void 0;if(W&&z1(L))P=L.group,h=L.fields;let E=X1(P),F=Y[q],{newErrorValue:V,newSource:f}=g4({formLevelError:F,fieldLevelError:E});if(G.state.meta.errorMap?.[q]!==V)G.setMeta((S)=>({...S,errorMap:{...S.errorMap,[q]:V},errorSourceMap:{...S.errorSourceMap,[q]:f}}));if(V)w=!0;if(W){if(this.distributeFieldErrors(q,h))w=!0}};for(let G of B)K(this,G);for(let G of U){if(!G.validate)continue;K(G.field,G)}});let k=E6("submit");if(this.state.meta.errorMap?.[k]&&Z!=="submit"&&!w)this.setMeta((K)=>({...K,errorMap:{...K.errorMap,[k]:void 0},errorSourceMap:{...K.errorSourceMap,[k]:void 0}}));return{hasErrored:w}},this.validateAsync=async(Z,Y,H={})=>{let B=h4(Z,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||d0}),Q=await Y,U=H.skipRelatedFieldValidation?[]:this.getRelatedFields(),w=U.reduce((W,L)=>{let P=h4(Z,{...L.options,form:L.form,validationLogic:L.form.options.validationLogic||d0});return P.forEach((h)=>{h.field=L}),W.concat(P)},[]),k=[],K=[],G=B.some((W)=>W.validate)||w.some((W)=>W.validate);if(G){if(!this.state.meta.isValidating)this.setMeta((W)=>({...W,isValidating:!0}));for(let W of U)W.setMeta((L)=>({...L,isValidating:!0}))}let R=(W,L,P)=>{let h=E6(L.cause),E=W.getInfo();E.validationMetaMap[h]?.lastAbortController.abort();let V=new AbortController;E.validationMetaMap[h]={lastAbortController:V};let f=W===this;P.push(new Promise(async(S)=>{let A;try{A=await new Promise((n,e)=>{if(W.timeoutIds.validations[L.cause])clearTimeout(W.timeoutIds.validations[L.cause]);W.timeoutIds.validations[L.cause]=setTimeout(async()=>{if(V.signal.aborted)return n(void 0);try{n(await this.runValidator({validate:L.validate,value:{value:W.store.state.value,signal:V.signal,validationSource:f?"form":"field",...W instanceof _4?{groupApi:W}:{fieldApi:W}},type:"validateAsync"}))}catch(l){e(l)}},L.debounceMs)})}catch(n){A=n}if(V.signal.aborted)return S(void 0);let C=A,b=void 0;if(f&&z1(A))C=A.group,b=A.fields;let y=X1(C),T=Q[W.name]?.[h],{newErrorValue:O,newSource:p}=g4({formLevelError:T,fieldLevelError:y});if(W.getInfo().instance!==W)return S(void 0);if(W.setMeta((n)=>{return{...n,errorMap:{...n?.errorMap,[h]:O},errorSourceMap:{...n.errorSourceMap,[h]:p}}}),f)this.distributeFieldErrors(h,b);S(O)}))};for(let W of B){if(!W.validate)continue;R(this,W,k)}for(let W of w){if(!W.validate)continue;R(W.field,W,K)}let q=[];if(k.length||K.length)q=await Promise.all(k),await Promise.all(K);if(G){this.setMeta((W)=>({...W,isValidating:!1}));for(let W of U)W.setMeta((L)=>({...L,isValidating:!1}))}return q.filter(Boolean)},this.validateAllFields=async(Z)=>{let Y=[];return h0(()=>{Object.values(this.getRelatedFields()).forEach((B)=>{if(Y.push(Promise.resolve().then(()=>B.validate(Z,{skipFormValidation:!0,skipGroupValidation:!0}))),!B.store.state.meta.isTouched)B.setMeta((Q)=>({...Q,isTouched:!0}))})}),(await Promise.all(Y)).flat()},this.validateArrayFieldsStartingFrom=(Z,Y,H)=>{return this.form.validateArrayFieldsStartingFrom(Z,Y,H)},this.validateField=(Z,Y)=>{return this.form.validateField(Z,Y)},this.getFieldValue=(Z)=>{return this.form.getFieldValue(Z)},this.getFieldMeta=(Z)=>{return this.form.getFieldMeta(Z)},this.setFieldMeta=(Z,Y)=>{return this.form.setFieldMeta(Z,Y)},this.setFieldValue=(Z,Y)=>{return this.form.setFieldValue(Z,Y)},this.deleteField=(Z)=>{return this.form.deleteField(Z)},this.pushFieldValue=(Z,Y)=>{return this.form.pushFieldValue(Z,Y)},this.insertFieldValue=(Z,Y,H)=>{return this.form.insertFieldValue(Z,Y,H)},this.replaceFieldValue=(Z,Y,H)=>{return this.form.replaceFieldValue(Z,Y,H)},this.swapFieldValues=(Z,Y,H)=>{return this.form.swapFieldValues(Z,Y,H)},this.moveFieldValues=(Z,Y,H)=>{return this.form.moveFieldValues(Z,Y,H)},this.clearFieldValues=(Z)=>{return this.form.clearFieldValues(Z)},this.resetField=(Z)=>{return this.form.resetField(Z)},this.removeFieldValue=(Z,Y)=>{return this.form.removeFieldValue(Z,Y)},this.areRelatedFieldsValid=()=>{return Object.values(this.getRelatedFields()).every((Z)=>Z.state.meta.isValid)},this.validate=(Z,Y)=>{let{fieldsErrorMap:H}=Y?.skipFormValidation?{fieldsErrorMap:{}}:this.form.validateSync(Z,{dontUpdateFormErrorMap:!0,filterFieldNames:(U)=>Y4(this.name,U)}),{hasErrored:B}=this.validateSync(Z,H[this.name]??{},{skipRelatedFieldValidation:Y?.skipRelatedFieldValidation});if(B&&!this.options.asyncAlways)return this.getInfo().validationMetaMap[E6(Z)]?.lastAbortController.abort(),this.state.meta.errors;let Q=Y?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(Z,{dontUpdateFormErrorMap:!0,filterFieldNames:(U)=>Y4(this.name,U)});return this.validateAsync(Z,Q,{skipRelatedFieldValidation:Y?.skipRelatedFieldValidation})},this.triggerOnChangeListener=()=>{let Z=this.form.options.listeners?.onChangeGroupDebounceMs;if(Z&&Z>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})},Z)}else this.form.options.listeners?.onChangeGroup?.({formApi:this.form,groupApi:this});let Y=this.options.listeners?.onChangeDebounceMs;if(Y&&Y>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})},Y)}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(Z)=>{this.setFormGroupState((B)=>({...B,isSubmitted:!1,submissionAttempts:B.submissionAttempts+1,isSubmitSuccessful:!1})),h0(()=>{Object.values(this.getRelatedFields()).forEach((B)=>{if(!B.state.meta.isTouched)B.setMeta((Q)=>({...Q,isTouched:!0}))})});let Y=Z??this.options.onSubmitMeta;this.setFormGroupState((B)=>({...B,isSubmitting:!0}));let H=()=>{this.setFormGroupState((B)=>({...B,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.areRelatedFieldsValid()){H(),this.options.onGroupSubmitInvalid?.({value:this.state.value,groupApi:this,meta:Y});return}if(await this.validate("submit",{skipRelatedFieldValidation:!0}),!this.areRelatedFieldsValid()||!this.state.meta.isValid){H(),this.options.onGroupSubmitInvalid?.({value:this.state.value,groupApi:this,meta:Y});return}h0(()=>{Object.values(this.getRelatedFields()).forEach((B)=>{B.options.listeners?.onGroupSubmit?.({value:B.state.value,fieldApi:B})})}),this.options.listeners?.onSubmit?.({groupApi:this,value:this.state.value});try{await this.options.onGroupSubmit?.({value:this.state.value,groupApi:this,meta:Y}),h0(()=>{this.setFormGroupState((B)=>({...B,isSubmitted:!0,isSubmitSuccessful:!0})),H()})}catch(B){throw this.setFormGroupState((Q)=>({...Q,isSubmitSuccessful:!1})),H(),B}},this.form=z.form,this.name=z.name,this.options=z,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=U4((Z)=>{this.form.formGroupMetaDerived.get(),this.form.baseStore.get();let Y=this.form.getFormGroupMeta(this.name)??I1(z.defaultMeta),H=this.form.getFieldValue(this.name);if(!Y.isTouched&&H===void 0&&this.options.defaultValue!==void 0&&!p0(H,this.options.defaultValue))H=this.options.defaultValue;if(Z&&Z.value===H&&Z.meta===Y)return Z;return{value:H,meta:Y}}),this.handleSubmit=this.handleSubmit.bind(this)}get state(){return this.store.state}runValidator(z){if(p4(z.validate)){let Z=K4[z.type](z.value,z.validate);if(z.type==="validate")return F1(Z);return Z.then(F1)}return z.validate(z.value)}handleSubmit(z){return this._handleSubmit(z)}}function X1(z){if(z)return z;return}function z1(z){return!!z&&typeof z==="object"&&"fields"in z}function F1(z){if(!z||typeof z!=="object")return z;if(!("form"in z)&&!("fields"in z))return z;let{form:Z,fields:Y,...H}=z;return{...H,group:Z,fields:Y}}function E6(z){switch(z){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 Y1(z,Z){if(!Z)return;let Y=Object.assign({},z,{state:M4(z.state)});if(Z(Y),Y.fieldInfo!==z.fieldInfo)z.fieldInfo=Y.fieldInfo;if(Y.options!==z.options)z.options=Y.options;let B=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((Q,U)=>{if(z.state[U]!==Y.state[U])Q[U]=Y.state[U];return Q},{});return h0(()=>{if(Object.keys(B).length)z.baseStore.setState((Q)=>({...Q,...B}));if(Y.state.errorMap!==z.state.errorMap)z.setErrorMap(Y.state.errorMap)}),Y}var B1=P0(k0(),1);function uN(z,Z){return z===Z}function S1(z,Z=(H)=>H,Y){let H=Y?.compare??uN,B=B1.useCallback((U)=>{let{unsubscribe:w}=z.subscribe(U);return w},[z]),Q=B1.useCallback(()=>z.get(),[z]);return M1(B,Q,Q,Z,H)}var s=(z,Z=(H)=>H,Y)=>S1(z,Z,{compare:Y});var $4=P0(k0(),1);var d4=P0(k0(),1);var V6=P0(k0(),1),B4=typeof window<"u"?V6.useLayoutEffect:V6.useEffect;function nN(z){let[Z,Y]=d4.useState(()=>({form:z.form,name:z.name})),[H,B]=d4.useState(()=>{return new V4({...z})});if(Z.form!==z.form||Z.name!==z.name)B(new V4({...z})),Y({form:z.form,name:z.name});let Q=s(H.store,z.mode==="array"?(W)=>W.meta._arrayVersion||0:(W)=>W.value),U=s(H.store,(W)=>W.meta.isTouched),w=s(H.store,(W)=>W.meta.isBlurred),k=s(H.store,(W)=>W.meta.isDirty),K=s(H.store,(W)=>W.meta.errorMap),G=s(H.store,(W)=>W.meta.errorSourceMap),R=s(H.store,(W)=>W.meta.isValidating),q=d4.useMemo(()=>{return{...H,get state(){return{value:z.mode==="array"?H.state.value:Q,get meta(){return{...H.state.meta,isTouched:U,isBlurred:w,isDirty:k,errorMap:K,errorSourceMap:G,isValidating:R}}}}}},[H,z.mode,Q,U,w,k,K,G,R]);return B4(H.mount,[H]),B4(()=>{H.update(z)}),q}var g1=({children:z,...Z})=>{let Y=nN(Z),H=d4.useMemo(()=>w4(z,Y),[z,Y]);return N(Z0,{children:H})};var Z1=P0(k0(),1);var _1=P0(k0(),1);function $1(){return _1.useState(()=>z6())[0]}var pN=Z1,f1=Z1.version.split(".")[0]==="17"?$1:pN.useId;var a4=P0(k0(),1);function dN(z){let[Z,Y]=a4.useState(()=>({form:z.form,name:z.name})),[H,B]=a4.useState(()=>{return new _4({...z})});if(Z.form!==z.form||Z.name!==z.name)B(new _4({...z})),Y({form:z.form,name:z.name});let Q=s(H.store,(A)=>A.value),U=s(H.store,(A)=>A.meta.isTouched),w=s(H.store,(A)=>A.meta.isBlurred),k=s(H.store,(A)=>A.meta.isDirty),K=s(H.store,(A)=>A.meta.errorMap),G=s(H.store,(A)=>A.meta.errorSourceMap),R=s(H.store,(A)=>A.meta.isValidating),q=s(H.store,(A)=>A.meta.isSubmitting),W=s(H.store,(A)=>A.meta.isSubmitted),L=s(H.store,(A)=>A.meta.submissionAttempts),P=s(H.store,(A)=>A.meta.isSubmitSuccessful),h=s(H.store,(A)=>A.meta.canSubmit),E=s(H.store,(A)=>A.meta.isValid),F=s(H.store,(A)=>A.meta.isFieldsValid),V=s(H.store,(A)=>A.meta.isFieldsValidating),f=s(H.store,(A)=>A.meta.isGroupValid),S=a4.useMemo(()=>{return{...H,handleSubmit:(...b)=>{return H._handleSubmit(...b)},get state(){return{...H.state,value:Q,get meta(){return{...H.state.meta,isTouched:U,isBlurred:w,isDirty:k,errorMap:K,errorSourceMap:G,isValidating:R,isSubmitting:q,isSubmitted:W,submissionAttempts:L,isSubmitSuccessful:P,canSubmit:h,isValid:E,isFieldsValid:F,isFieldsValidating:V,isGroupValid:f}}}}}},[H,Q,U,w,k,K,G,R,q,W,L,P,h,E,F,V,f]);return B4(H.mount,[H]),B4(()=>{H.update(z)}),S}var v1=({children:z,...Z})=>{let Y=dN(Z),H=a4.useMemo(()=>w4(z,Y),[z,Y]);return N(Z0,{children:H})};function aN({form:z,selector:Z=(H)=>H,children:Y}){let H=s(z.store,Z);return N(Z0,{children:w4(Y,H)})}function D4(z){let Z=f1(),[Y,H]=$4.useState(z?.formId),[B,Q]=$4.useState(()=>{return new B6({...z,formId:z?.formId??Z})});if(Y!==z?.formId){let k=z?.formId??Z;Q(new B6({...z,formId:k})),H(k)}let U=$4.useMemo(()=>{let k={...B,handleSubmit:(...K)=>{return B._handleSubmit(...K)},get formId(){return B._formId},get state(){return B.store.state}};return k.Field=function(G){return N(g1,{...G,form:B})},k.FormGroup=function(G){return N(v1,{...G,form:B})},k.Subscribe=function(G){return N(aN,{form:B,selector:G.selector,children:G.children})},k},[B]);B4(B.mount,[]),B4(()=>{B.update(z)});let w=$4.useRef(!1);return B4(()=>{if(!w.current)return;if(!z?.transform)return;Y1(B,z.transform)},[B,z?.transform]),B4(()=>{w.current=!0}),U}var a0=P0(k0(),1);var D6=["data:image/webp;base64,UklGRtInAABXRUJQVlA4IMYnAACwmACdASosASwBPm0ylUekIyIhp1L7UIANiWVu3P6nGjxxkZZTIvmXwJRUeg/Jf+ndPZ0L4H6mVI3YJ/D/tH5j9vT9C/6f3AP1d/Xz+79l/zDfsj6yP+59R39j/y/sAf3r/VdZ36EXly+0Z+6/peaqTMC4q/u/7z45+fr5VuB3l+xvUg7u/5f+G9tH9D3q/Lv/a9Qj25/vvGH2lFyP2J9gX3F+8f9H1AfzfM/+G/0nsBfrb/0PZDvp/yf/H9gP+nf4j9lPeL/2PKX+yf8H2F/6D1Of3o9pv9uzXj2UCILxSqTJtnLrjF0IFB27Vo5QPaRJKEf73CFDiYb46kQh9ZimTAfOlbMytbJDx1VHoVO115vAHuMthHxJoOL/D/OOWk7DrZTEtbvTiXzvmXoZSFox8u7pVGZ4TmovMKAMAZtbdgS8p6MNEYUl2x4pPMe0bPqCNISczDauiMeOe/Bgos4oXilTgIe/4FB/KBRUIV0FiVRnmPndzO7QLVRnyoYI+oKPA/heN/n2wfElNcnOExdS6iaO/IIjkYWljnuIe8akKIWAkomDcGMr2fPIiNFXCNFxgRCTPFdGc+T/b2dMMLNdN3KjGjeGMzQe4UURLfl5oiFEw5Pu5y0fFhDnYhvS7Ezpsb54rvwP+ycBblMc5VRkMxpWgi7zlkUUOIzcsp8rJvOWHryMg36mIXa1xMNyp2rhlY3Vgul9+8VfT412zRHaz12VW/qh9l67/CDtCsnUBGO/e8J1mT9RAmfZTCKX+ecvAjhxyIeUEAg5olYzZSkgLNrAf+HFBHtihqoNZNUgRB+NKEfWCXPqAmsILE+/Ap/wD2FlHj0Q1Qk8PrAN9C/fyX/qgkJyQGu9cAmoYwicMlikN4oRxsA6WckScktHrWfdZYT6WV2xwpPXzy/IJL7TEXpY+W9Lwn/I3P8+q9N+d895Qu4TZMfUfou353e8Wn2UzcHQsKMI7fIZiW7QHhpYTgN41QTiY3CdoGpCOjBJ7cGZrYCpm3XGz2+FBkc1si2VAiuYI/4iWRjeO/MM28I+Qr93kQ+fpnyeMMsvk845A7+37z9M5b/IfOo2z+AywfCalW3nlFXyjVqphG4zq1Xe+FQmMjC8S8JNRMUDEfQnkEcCL/+cd6RkDsj4HAwG6VD3D23XacpKJf4/D1B/f+0v/cJrVvKEknKLNw1nz2gX7HKcAWB0Z+QZDp7Y2FkMAG17AnNVYSAqW7/xgalH6qTLexWRu6LYJVIdLLlriLzZOZlqvIXvawsT1GexNoi/OPUEgSlmUbNHEFe+NtoSuKzV0DgE0k3NXU8Fjjc/oeJL0J+XplQFqXhYg+r4yDOGN7h7xxyUm7IeUiDRLK9MkyQ7b+tRIUVg6pxhKRwj0r34SPFDlMWxhsfO/fYmq/5FbsACkYPysdQAjJzNqbbmX5A7OyZ0Y85gjBVDNHWMZswj7HJVofro0VpmGWUdzLSs/aBF0o2xNxcUdxqeqUFURISYHaX8Jx0ONcwIGQH3EperfP7ZiOxEKrot1BjTcWvYQ4LD4XkTAa+16dp5x4svp1Pp8/U5IGXD+WZAhpxIA+JaP16povKRq9O4hiZQyExaNml6lrO0G/olTvRSc9nq/PybXAw5uYhRIvclmBM27AAA/vBifD/9Fa+Fa+FaPA//LGWDsjxULfhZxiRrKtD8VfIYFxHVgYa8Gb4w1v7Tn+GF0zcZj5j7Gb6l6QeEUsvcyylyVj73Qxk4HYub0R1Qap3EwW9nsA5iopF4WtcMTYhZYB2pb4F04NKLrnDtkgvvjFeaAM/SI7lEGdZC5h0/KmZZKfxTmfvzbzB0ybG5rGsaoGPu7XuHKMICOi90OIY0pYA7xFMhUTuenKFBWv4ZbYocFOObSZZDdCKDTG+oY39MJ5L6wCQTfB11nRG37D4KM750dDE9rjSFJ84amytn9ELz78p9UI+FFSNPVyz1iEivf3K3wUod/Lo/TJjMKNPgqf+D/4dWqnM7CSUzXw4+m+9maG3GmXPvrhxiMpzB+niYWPLj1Eo6OsAEENI4sA0YJsWiZxoUF8sgDFjRqaFQAHMdeADTFAkCbw1K3aoeH4qOvNW1GuNX4+RhdBPNXAbNFw4KJ6eN3lGs6EB/TIR+MjN/FstumvUVXK4Hm8voHGK356yEWfxLbITcLB+Gjf88rjVTPtuwpZ/0QX8DS3inv0SH/q4DUJkD/bFXMCHgROaN6MIx3WxkWK1cwdZDcxlXz4E4ivGQZKuSVIVdUjVoSCRwjNdR2DKQamMyv8cnap86ysM5GGMU5Qqwp8OmwuSzywMzGTZh7+RmOXtu9cDC2PyTyiQ0tLGC0eWIGkCU7QzdxiS00DtCtin//Q6fOU6M0dFe18okLC4/AGKFEk5QoCF1fC3/Wb0igQDUvom7sbmp6yQNT05Xn3y0agHzy23UgQOTsBdK+QIBWGIXVnV9E1w4ZD/e0WPpDzNcmAIplnkPsGOoJY7qa+gRe0oQ1PmZJtaa/RWTxvr1Nrq5Iz/KIqoIpAAdN7uvUwlU2vO0BJcSa1dBm8cDUAwkHv4lRB6n1HUPmlV2wJkimhXrR9HvlkneiLoZXmowwKvupt4f/XamCZrT/jqayu4pRElWmHvtLVr7GK64TAk2eVqjX7/1eIS8PapfJFKsmgNnj3QG+3nQW36zpVzOJ9fVe+j1/tSEQf3m23C8ohh4JJGqZq1OBsFEBhs1itt/sSFOp++3asfcT15+EeAhD0Uo6MTys4Knfqyu2uaf/ibVAXiEsVwOLDfoCgKtUGagh5n+KZ4LU7oEM54HxCESn8hWdgAMgmR25XfHKRTkut61o38V1dI6CtIzjShzajPGvE3vycAya2RM0YTeZd8QIv+Hei/RGGAuWqs4aRZIACzgWLoDJ4fqEq50Wi98hkLGh450J+PlGkL7djciobinjOCOMnMcc+DqlJ/JN2S67UIbYI0izCf2+AazSQiaH31qM2gc2XP4YNF2NquhMnWY5LNX6/1F9p+jqPZ+oIOGHwxJNQXuQg/AK+riHA/q0hQjtpZrLo/na55BNfIJUcytTMqQUtSEFCPqWaUGEzaUJu4VfAaJ/pCR6yJcKYAB4gTAAYKjn4oYqZBtlMWubvIOXrF+KKho7a9O42SU6LIEnzEtE7mVWKmC7W92bP44RPqeXdCDmmF3q0d2Ud+7XCDHbLH6zJNcnJaB7OE/WkRPqYQGNJn3QLeiwB72enhzzfJKTzxkwD9wUObQjfrKTqz63ElkC6e3Rc7R9T2aNJrIY2lT6AKKq51zgla834fHtCNLIVgwUOmAhzqFonsDIEwQIG3rT91j3IedxtZj2qkcGXSVq0RdAeDao0H+3+x18XwstV+nIctTex+bWxNLrLGXvBOgRw59vqzGQnsW/JwW6IV0AZdjhd6akBsUVlSFT0hTvHtbrvTi78bn8IqeSEL2tcdLpYeIysSnXXF/ehQXw790seH3QiuNA17AciKetIxl6YEY7NXDV/qSedUWoNh9/9/GTHngVZOevGB0i0B5xSDa1a7Tq/rx+bNtukpn5mLc/BZqffapXB3I7QokwbVFCR67licMtR6L+Ubr6aLjacqzvqo6OK+9E8XeV4mhDJNNrDV0yV0vBOQAXyCp0aBOOEUv1VZuj6Tyc98xiFFIRbCs4x2j/gC6TtIQ/voKuKQnHMjmscWtyK6felwS8P4ny5WUeWJSL9rz49kNYQwg+pnCqNGIShkN8ZUEHwxB+SmDvefv/qgSWZ9CsvE9JzvVQcZwoBgTyvs5qkvJELNzeSsm3UGeBK6YFih7hhze9wGGNE+lynEnSrV/zwL0gV9HRNpBK2g4EdWn+H+H0hqI3v9EDORbc67CXi4K788V8jabH5l/kG2xLR/7Epwbwr5LfGNyFfMfX+dIsSsUbbEwnrfVOhnyIusDW/31WBXJqKnB404RG8XkL9w2P/dUYITyt0MgHQ61G7xXWPCnyRIv2kutrokvwcHTt5iDHzXI8w0GpFdRpQRuX5pNm9EnpSFqDc6PKLpaMnoQmVJTNM7NK27hCqtI69rPqUei6ZL7DywlFUp7sWXBc9bYDUN5YqHPBOvMuCDP1nNDGF6ExQwOicknFjbBHPzkn52RO6/7k0K7qu4nT0YLYTPZech5nXXmz2AglBaHN2DhxTkC36rw/pp3rpIx58kqDUxD7E2LuMuZz1FWsmOhU3rcKl2roNIRzZMsbvAXH7/UQuxwpNgdH1JzLZFRiknaBTR2W331zyJndzJLuXzuz9PC4GFgiMmnhIdBKO9kH8hWaepUsRb3qHwnSLNNkjvQJRSkqiNYUlpz0Pw11UqltBW2jvTkWhlz3vg1rhr7hqAqL+Pej1ergFaYpqtTOILTckHA1m4BR23Qo0YTO2ZWAkIwsBB8Id5yLF/iaR9CkQgh+aT0ZXTx5MmEdgsI/SUecIOJw11T7+sP9AE8nTbY0FrxF5t/R9IEPfOd1JMurKKUvLsGd8poUDTZbPnHR/7/tO8o7eilbun8ioQ1E6iWC6w3jmWDEc9PYrXuxbc5d4y19fxLQ4BfHTXNmsfpHdSmzXOqlOUl2NGLTRlksJWnUrIDqsfeCYjoLGHMrxjSOtcFPxIIs0591lo5Ud6s993YTo6c+3L9+o0MlnFRqmXoB38WIpO5f+K3dUCCJ+dtB6LAkveJ+yvNJyp7TJFHI9dT+N9zQ0GRnzsJOVC77ycNbCzcf4s6RdHd1pRPtTj7DsN96P7nusCm7vzBe/PF8qhl7JWnriQZtKXg/krQjEcz215dbvpPuSlhbBUetbmmRix4DSMdF+xUwSLPz/lu7kU6RgoAa2U+0SZ/EWNqbpZPUZxzv2kQ77BGLORN2NwamD9X9fDnw/PQap6zccxpb6tcwRe4MV4SVBF4KOn0ojTuUmyADxxEbNYSnIQOd/zSoQVpcIa1vMnvEAvR7pqEYWgemXvWOuupA4DL+cbiZs+zme5nHsTlHJWyV03vIjMRprQ+f4v1d9f/fG+e9tpPAsfTsrejR9xT/U30+rYzL6gq/vdEHQl+GoMlykeRj1/mTIsef7l1VOuxaSC7Klz9drnir01q+9438vYzq8CkttGHTHCWS4ZuDXDiMsUplCRrrO7lfQqFTEBnSo8vFB5Sjv1YN4nQQ4CMzHRTdx74SI3X5V6euEJOGwMRqRrmVZwf3oSOBkjg9hYF/5KzyOlwNiBMAsE3uLJKpnePPICGCh1pe6cYClqG7EPMw7RlwssX2/8ahAT0mLHMq+onw+wEa1P/Jlf7w8rrJd0RLiXDSn3ckBvAv5pUQ/Fu1dVuFkW88pl0z7/whI5NVkYVEvfqO/jMp3hGaaNBnvcnkS1+DdlP+QhpXtkMKXk1mqRcCsK8wFQqBaNQN8zgK5JYV8zVyJH7pxYbIFjJKqeIoCN8wGsbmgWTAtRMn44TTNzcJiFpVE6gRf3ZS1X2cTSA96SVckdVYhzOQFvfsvvqGOuq6RqdIN3j3m2+w3He305qFb8DXbOWDPrD2q0UNOMM45bxXvpWS21PQpUBasRpRSSYb7DPSmni8WSO8xjj8St9N+zXJ8O8Pv+HUTzppw20w9rrSQAqxxbxxArLPsWklly3rvlDnskEMoNoyoPd+Y+HDWaFgT19g6fRSldY0ka2jrd5SZtYrdbE64MFX+eD6ZdnfqiKtv/lyQr63JN5uBBzsxGBgTY/FosPVMA6RzN79qC5X2Mh6d70F2MZmhwLKNR1D8mqTXpnJuv+3yjffJThkN3g8z77OTObS60PoBG8KYiNzTQR+uEpiNcfy+bmfpinXSMIJEZp0rPKSsAxgSjpWOqy5cFJuN3+UbDvsfRdLPf1Y0OuhLkvYJFsAMcGxyG3QRq0XqIxGthmyAau0VkqTWAcgi9GYTj9tsoA/Tw4KMKdqF3G8eHeuco+0E1m/dzKqvJ46R6A9MngmPID4RjGon2l8MynPTGRRyPPOlGN4TjBFgG1TpyIhk3awUN3R+GBcN4D0iMDdVcBhLxxeo9aXea4bLCV/LDT+tSZSIJEDOPrs7DFWYAx2rUcKRVOothk7e3M3h5cOPjYfDiSl6dI4utRR7uQSbRocbz0LrYuH2Yyou+zxrY4ih+fpnV9Rm/2z3uuuadujzZGMzPAC1l8pQZK0G35dRPzf8Nxs5OMtkz5svKLYD0n11CpANh4qJpV07+VFnVtUT2LAKbVPJkhh3446CXl0nucNXbb4jrwJD/tp/XtDMIgDsh0JQu6RwAL+MAv9DOAxrLldPcAyDBEXuri6RGns/V5WQ9Sim902uJI4IjW0lxOM8eaRNX+vdvWdiweB5+t0RdJVYhS5GPZ5e7hC5CZRQqvc5xOssw+a9WT1XrvOiyd2HVH0oHJRFDKJwtgWjabFyLJaGzQDKnymhqg5fJrDW/f2+vQstoniceVcZtoHRwKvYUam9dKbPdOVJ14b9ZS3c+vqPL7IyMGJ40UdAxf47ufQRBGs1eNJUJE6ZcDn02nExcezOJ1ioY7rE3A8Osp1kiMWvmyQ4iKa2ISqeQWFCtJMa1RF3MRCAy0ffsDv5cwk9nk64sw+dO+i9frAuiG48i9Fp3RQSv7hAgLR9Dg20CVjDLwTxf1iKL60+EzVttMN6zeNvTx6fhkTNL3/pPkouMA+7DJ34S7JL5Z0j4doORUpHGt+VT9bJfiBdvR0L7kc4y9Uq85ALMwZ81K0pGQbfBMpGqV8Ogc4sqAbLx675IAtHdPiv6eXag7L16Gz6+FmFDDt0NKMycZ8j4CGVf2uyZ6SvpmapAS3qWueKqkp1i6fYnfiHtjemK18+BqTz0szbYSaqyg7yXCZlUuRSayDr8Ht5yqWvcDss6ZPic80rA99z2KYxTugJd4TRFrDrtV17x3YSw7Cbh9iW1DRB8TVHEJtHIfZeYo+fwbQW9ob+05WUTly4gN65I2GZBYCe4dENqYppaG9rBJmcvwU1ceb1J0JDLXKC5pVuRcsMpFsgoMwCBeBbzHmTJ6J+yd78Rc+q+765H4MffhD0V8i6gSJnzCEV1lwD0v427bxoz9MKr3OGjNBSS8+tM4gDZVgsLvJ7t0qDaSGPFy1x8OuE+x4TfA5PmmWYmryGCvlnJHZpaPaGVxkJRq2k1RlqgRXwJPAFEtwgfIT+o1Px+WAwSlZtEuCavLo88reMPgt/9gpMv8Uyn6DttNEfE8u6nfasEdydUHuQ9KPARSgRHVkavQ8FIT5IRuFxDRgSq0LLO9RQx+UBDdBFOTTh+doOMDmfLYGf7Fh/tI8zVyiuwHu5DL0JyDXha9+DXJ+UIG7TtX9MYXprSYK5I15bn8dzNw1ovQU56jRoanfctjYAdt/WTM4fyqKdG0y/3iAlRFhx0ddvTCvZ7I8VxYzWnvPuy91wGexwGVtjw6Vp3V3juTCC8lpxjGVAUwr8Em0rz0J6EVEuczy5sJeH5EbWFLHZVlV60Y99M8Id8pP6hWEnJ8tiqTcXxTiNBhxbrYZUdbOUCm6M0wIg5qvVjyzoSlx3YWS+D8TdnKSEAkB5ezAnL1HLy0o9iCKq3294UukzSKAZjoIJU2LA9qSmQQOmWcvxz2WHKFf8IwIlpZ2sMOXRoJu6+jXFsJQT8gLDVG0ISKScGcq8CSJmASniVfQqoYE5pjpPNgCZAA0dlbBOrksaw2qiwryd5GdJmqYmj9k8MAVauADtF5D8iAevjml7VYHMW0chLfDIPs9UG4T7mLicj0G2Jsq3yVU8Y08LpbgW4zcs36aP5a31tHj9XNqBTOVckqVuPV56KA16xvVK7+GBwWxJjDtN0/9KaVUhO+oJ6bwsCa0NEiBhBiwmu8Rx1yQ0ba+ar/VGgXAVTAHowC5p+xMmE9h66A8otxEibb4qZHVXAju0A3KwB/x9tjY6g72+TtZxxdSwV8zOO8lrD5F0M5eK8jIQ0X3gA201e5HKJ7/jzc2MVYANk+WUDcMl9olAc7J5x177cRv5ZwVd8SJlLGWeBwsXs4p2PlVSoFNwhgbQ9gxh49+aKk6zgJwAd8IeEv1LMNdDgY5TIvIvRfQznXIdKJYYkz4/sCAUiIpxezUBLNdUdnRK2TqZDtHNdq7ENWkkFiaPGKMhiWLKeuQzirbiM6L2QEnIqvHUbn1og1Ycn1NSCGhvHfrRGwZjdGFUIkQkCyq1+2z0gcycPwNCUtJ144Wa4ozzotoz/Fogkugyw0E/6N8UI7TZ3+sqUikKeQOWZOFi9HetjHP0zmRGLfYCoXraqoto21Mup1CqdBR1sXHBjhHkKsqua5tCjzHAtK06+dqV9ZZkMyiQAOUWvzaek6tK1SdZIUMmksqaxUZ8vXI8KvarPJ5dYkC7LZ5l4UY2KOG9mlTMJF2UlDU7GfQ+6ccRF05DevxRvKIWlxOxS1m1Q+BPmiXorivEkTRyEcBNTWSS300V+iJKOyzOSA1WNzBBuNwD2FIbMy7lKWa58wkoMFpMcEE4k9tvMqNL/+UtnT3mNeM7YylQGDs6RvFGtm8PMiXijz61WFLwAAtD+HzpJ0D67mSXw7jBYmTm1nZvqdgqYbBdqZQ5xyHLLmfIN+KDlbdwhvRkP6H7D3NRvKkqLTGlxAtzz9s3tg99iHAU8x1vBG0FWhUdgwiihSh2yn/NbQiZ8VFD7GrAdWMZ4VeeCn9sTgCg10HK+6sJCJ61TniXGpMB8dioq+BSsY0FDpqll0D5lpyPAvdd/4xvt5U6rVFJyxLigiXZ5pEUFF6onfvc0796xu/Jqh0vRGXGbd9m7LIWhyZXI3T64hYZS9z0sSGx6rV0srPW+AGon+hwPswMaxG0x9qrwyO3AbcflTPnFOBa2ONX+4RT43A1G0O5oCTsaZMw7oOEc82BvLEL3cpXfwYaGyipRhw4KJhSO8eSvyLEnQreCNgcTFRcqHi4YG3QbiQ/udz9UdpddZkL8XRKPB2NtoieePH1AOLzcaDlm3VrfEYm8ki5DghQU42Pd5loq4mR+3OB2dwgPCtd8WvlNiYJecOJQTbJv0AsVenwe3+QnhDHhTRf44MX7c/tvpxJl3g8WK6KkHuW12cRkhvVKF5Vc5B33R7bZzwvOlsthKH5zNVAQOTfsTorNuq3+f6wiQfkgVHYkWMVL7nIAWto8SLbXs4wQX6x3WLxhxjT71GC8+dNOg5q6wlK6B6qLXC0a3AFxJXFDCR1a/qY0kbwRmUmdNZv3UNfxRr5UKDd/iezoIQjKA5N4XRh15pJCii5bAIVFK1QJaI0yaRNAN9LAEGu/p4eKFJoXD8LLc9DPf7zr9nciMajMph9UuQTJ5x82GuF6eX867mGIMD268C/lI3jyGi+pDBeoHUX76n8Hp5p0pZpUxqBWDhzlphG/TLbhDwD8j8MjKEQgWV/rm0ylN1Hw6z6E0W7bkRkGBnhbd4IlhiX5281Hj13eathH6sCJFVIMbtAaSDaLFYIr/BMhJ2+6if5kfnFOn1GbWrUWJ0kAHdvqF4A8l92nAqZB5OpPRaDWjp3oT8FtdXLp4AY2qTyStH8a/zcZH4rtb/LmXlDTc2yspRawF60mWH1e9CSYrQEqiPWU8t0STZvk9Tkmjlnsr2ZQcrmw6+MtbLZ4OwfQTg5mIkX7AL9E+fRyiPc1AHoAqHCPQV2OSkyrlEyqcNqMqeGQAW+kkbfLoRN2OKo0Bo16F6xn7s048dKMbJ6JaiI877th1DQkrFFS/9PVUzrm089UV6RMr17xrfzk5o83TNn0Le+k4pBghaIFPpa4jbRs8GnHLZoban79pGI4p6NuGzCYUiyXu6Ol/yYT72SwFXsTqE5iNTqdldD+Fhu/iMBcKgqhgWL/IegkDb1l/Y9Iy/h+OTILQxSBjaJpzyb8ugXPLgxnTkPcLZzW64rmsJ0sRQs6JJqtyOD/8ke5i++pa5L7XHUuWxiDJuKSH5baoe8EGrIg1loNVshnIBxoy2dQKE8dcMfiI6uiJk/201JRjYORHzvU4fDiCug9ARuBB2riluuMZzZsstKNm/t5MyEk6y7CFnhH9BRkWHorDB3IddeIUMMa2lWMYttA7xHDrcGR97T3GlMDBvH620arE3Umq4BASZ2cSzbPcjkEb4PaYcBFfnVCvdEKbxXHxWbFjvVQly2LlsnAGXIJztf7rWc5cqQDMa1eKTIZq1xNQNG8oJgAaMfzzv98lvBuLaPFxVwCsV9atdzZYFdL7fyvzBpye+GNXBH88MSRJrLkcSbx4gcbMt5eg8bE3jnd9XUP/Fb22pxcPRgJoiBgYarEu9uB94bzyPF+UmM/Falo9jBYTtVZQigS91Cha4sVVknG85OfmkroQbJYi1p4Pde+WjwPhK9sJKOHDxVIw9RH5MVPjgjxfI78BXkSDqFIGDj57gjBlBDVeIpW41nrEUxuTnuSzbwrWtaEhn4rEJpqgkrxEO8Q42cpTX6msXc2ERtQPqBVziNrLkd/HR3WncrZ3unhfHa7qmuKIScjdf75fnoe0wsXFMrhJXZpEbV1nfNFny1rBaFoNvBT269YAkDM5gN+vGD5SgxEIf6gvwXStcRGmqWcaKy2XMZco/VSQNVhkf3jTUBQ2zuwPEfKoG8miFqYUrR+MutClpZc6VqahSW01N1auznpSoecV+TGS3CG8e5/7hMDiCbugs4cxiqDNrv8VnJOd6XFpGin5qLNAa2bVSNoQ6c9hnQn7wthxYx/hnMIIRVNabfPwyQ95rAPey/jrMb3zhXsnbP5UJ78i87q7OMPSOQndkPsubCze2pN2hr3ZBH7PZ6ULh1r2XftZ06vV3q1ofc0U2N1Pec7tj0ApgTDm4F7SsasHGQAHDPUQtavmW+w1+g1fiu3dv6Yo88SZYb0jYkuFrj0OlXY32fF/lioHgmkBlmpggLvaij4Y2Tuiq3urwWqAlO1caWOBt7mN+PRms7sjyDNuIFcOscEjmKfVIVEN6lDcKYKtY70ssyW7MDcfJmaT/HL7nwOm9Iru0x/JcUW2E+65dd8Tiq+AuJgqpfhdM69c3N6K3qlJ22LBGh+qQTWSjPcIVOLMrVp93/xO+8dMBxcyRMC7zEuQVWJYE0sHfolBBSF3x++OtevMfQNUMLfcbYCcwYLqmKrCkqfwQN9tL/AuzSo09k9TOgRaM254AWBDIQtJ0WRlwd/+5ul3hOo7PNaaNsqUYP8BaGmF0eLGZ92rkG6TRYoo+r/WQ5AkFHMrXJp1iwl5FZk27H0a1V/5Ys4NkY73+CN3o71iSLiZHgX86p7V9P4+uHPUkGa1j788kDBys2ocu30cHJ7613NkhCcUXX++jBKZGwHvt11njZ08f6kpbCfT7RojyrFRtWL/Ax3gJZ2se2m2YfeogfuGBWe8jaNE1VIo0ri9Ye6z2wDJS5rSIW/4H8HEYu9+KJTGWSL9Ic/v0ce4LsG5QpNwFSlapw+yneTgttKJVKQVuKXvA3d3pQVOSuokzq3nsujRvhXUrXPzy6Synt5sBxeWvXUo36nSlpKV3mrrb+Kr22hY2d5iF7X6LCemuRy4UcSxhT7+loT7QE7kDtZ7oWjgT9vC5w5Bft+jGSJjnWDMlDS/aDjsOovYV6I9YsWGvmmPi55lqfv8PEtS+kP3WUeZXRjX0+qt0PHjavk/LrIXgrNcKFABh2MXJ8OgEGZPkDzafeVsCpRpfm+TlE3lYjKQEsd8jffipJW8rcka0vkklF4u//DPo4aCUNl/Obe2QbSGr0mTSZh35MqRa/VYmNbV+YwQu2ej0VAc/Vaqw19V6tZERuQbCpJE7Qbj1QKzkWvvCGr57ZGeBU9vmGge8tPeoa1P5CN1MIhx0sCj0YWt+wQMpgTVH9bPzXmdJtp/wEoRazUBgz2kBZg8gvoktIQxVU1Q8Zgp9jbT1tgOca4JJhka1KjPorQU28a19HEKd8pZOKW8sIQ+xYKlP8LASiBi8kqb4M28Ee5+ZdVn7EYB/Fw40BFAYoHqnAKfKX+4GUlyALy5LoLmB7JmpqudgcT/X82Hb7dfU0M1/bKhVjxXaCdmZsFxiOe0jybznaYIxKaE49Gv/uUH3Kbt7HxKkQ2ES3JXLyVqrogZei2q8s1VMNWVFUXHEwf4hHN5YUrymI8LWUcZeaPtJZdeM6kP3xDCAl7/62B2hPBpk/ieBjNYcBNt3jAA04Lvd+zqlsqesygXavcbJDqVMVaLbGe2WXUWhJ5WKW/sC+YS6V42XlG1DPi/ByiDFNuSq9JDzDMOY6GT+VYaWcFB/InkIYacGKs5xXnOSiBM05K3DOeNBVdOTRnMbgilUVgHY3cXnsEQDPwKwn4MrDtUnvetEEgUi3HPDVkFtv2Ojuc2eyG/TDAUfU9gttviyzFAP/N/3gv3iuvtKZmaeMqoi78opiPbZLAbfQ9Fr+RJXynWRjOtNdS8iGy/a6Fkb2aO/e37biobmF5D1etuxAkMZ9ZyBhI+k9MfNB5OdLFlwl2tCbeu4cPbQpw7De1PR0Fi++75tiYQE/vWNykBEmncGI1F4DSLoapUtBavsOGinJ2x6lMCjm/MbWP3dDXP+ofxArZSB/fSnXp1DdAyo6LB2qdfMPNbReEmHSJFdyE0j2N2OYsKZRHfyuQ8iwqEVLa4Ai6FCDsYS2EXRZSk21F8fLXUwEUDPu1KEOpNiQmeaRjE6ncAUnpc0MzwVJLkfLlmSm5bSq7S/+9MSP4X4+0HtiivPP6XJuYeZRMyO40Xl3ypkNgv1iGIzkBKW+H+sUYxgHNa9P0g5YxJKRBi04iq3Q9m3PshEaa5JpzFjsnwmX901T8iXgey4+xqfXQRflWL/CZ8Qyn1W7640gJvNnDdNV6/BN56iu1Qe1O313t7CY68yV+M6qRJJ8/s7nG0VBgW9ig+JNaR6+VlKhsNUf429RAQm0KcNtDJpNMxKLMrILwHp0XcNKYKICpD2Nwl80q5bOqctyi7EuByv+Ai9duFA46Nae5nWsPT5AshHkJH7BcVEXyH9gMr22ZIYWqQXyMUNt1M0K0ohzCMecKUztSr5nPyQbNNTBHhwNSi6fETPjhgKJZC25WsG8h4SeBOUCjJcpyeLgOXzusyEbpNmK9ydMqq7l6hprinCv94k3s8H1yj//zV+N184d8tRGvi+bEhzKnZq8T1ylIa3bi6ZYbrfKgIi2rqIViJeT8cInFoMDkUlBUwU2yoDXvQs5QE7HImY1Y1MwkXdGK2N79mu56uvcpktpBeV5ZQdAKrIc7ECtfw24LwYl2Jiyby5aDaLZrsoJAOdQ2XReEyG8UrOOpdXZxvspyB0hFPyZjv7a9bsfRW6PcstxSrbWKWUDnTykjHOmRrMJozDrp0QcCH8B85R5yQ378cf4WrMFcfOg4TbSJaG6l2uB5chdtc4ePIYBwpxqPGPhcF9y4AcAHzTJlIHZCwURE4xhzkcnNa7at/gpOuGb1seyQsGMMWjY94T60icoQszlGDLdIpZmNK4P7MOe98F0UZxQh5TA/hqJYSUI5OQETHsNMPIW7RrVz7EHIkZjGV66982kOjMDaXuEj+XtnWVay/C7JF/JLpja3Nepw9vbqKufFDef9LES6rufE/6U7FCxKVDVADYbgSg/xHhjx56bBfm8cq0e0ervQAAAA=","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 oN=w0.object({name:w0.string().min(1,J.name_is_required()),type:w0.enum(["chat","autofill","embedding"]),permission:w0.enum(["owner","editor","reviewer"]),avatar:w0.string().optional(),providerId:w0.string().optional(),modelId:w0.string().optional(),soul:w0.string().optional(),thinkingLevel:H1.optional(),systemPrompt:w0.string().optional(),skills:w0.array(w0.string()).optional(),mcpServerIds:w0.array(w0.string()).optional(),deniedTools:w0.array(w0.string()).optional()}),lN=[{id:"bash",name:()=>J.agent_tool_bash_name(),description:()=>J.agent_tool_bash_desc()},{id:"read_skill",name:()=>J.agent_tool_read_skill_name(),description:()=>J.agent_tool_read_skill_desc()},{id:"read_asset",name:()=>J.agent_tool_read_asset_name(),description:()=>J.agent_tool_read_asset_desc()},{id:"list_assets",name:()=>J.agent_tool_list_assets_name(),description:()=>J.agent_tool_list_assets_desc()},{id:"create_folder",name:()=>J.agent_tool_create_folder_name(),description:()=>J.agent_tool_create_folder_desc()},{id:"create_file",name:()=>J.agent_tool_create_file_name(),description:()=>J.agent_tool_create_file_desc()},{id:"create_version",name:()=>J.agent_tool_create_version_name(),description:()=>J.agent_tool_create_version_desc()}];function m1({isOpen:z,onClose:Z,teamId:Y,type:H,initialValues:B,title:Q}){let U=B0(),{canAdmin:w}=O4(),{data:k}=J0({queryKey:["teams",Y,"providers"],queryFn:async()=>{let D=await g.api.teams[":teamId"].providers.$get({param:{teamId:Y}});if(!D.ok)throw Error("Failed to fetch providers");return await D.json()},enabled:z}),{data:K}=J0({queryKey:["teams",Y,"skills"],queryFn:async()=>{let D=await g.api.teams[":teamId"].skills.$get({param:{teamId:Y}});if(!D.ok)throw Error("Failed to fetch skills");return await D.json()},enabled:z}),G=K?.skills||[],{data:R}=J0({queryKey:["teams",Y,"mcp","servers"],queryFn:async()=>{let D=await g.api.teams[":teamId"].mcp.servers.$get({param:{teamId:Y}});if(!D.ok)throw Error("Failed to fetch MCP servers");return await D.json()},enabled:z}),q=R?.servers||[],W=a0.useMemo(()=>{return oN.superRefine((D,I)=>{if(D.type==="chat"||D.type==="autofill"){if(!D.providerId)I.addIssue({code:w0.ZodIssueCode.custom,message:J.provider_is_required(),path:["providerId"]});if(!D.modelId)I.addIssue({code:w0.ZodIssueCode.custom,message:J.model_is_required(),path:["modelId"]})}})},[]),L=D4({defaultValues:{name:B?.name||"",type:B?.type||H||"chat",permission:B?.permission||"reviewer",avatar:B?.avatar||D6[0],providerId:B?.providerId||"",modelId:B?.modelId||"",soul:B?.soul||"",thinkingLevel:B?.thinkingLevel||"off",systemPrompt:B?.systemPrompt||"",skills:B?.skills?.map((D)=>D.skillId)||[],mcpServerIds:B?.mcpServerIds||[],deniedTools:B?.deniedTools||[]},validators:{onChange:W},onSubmit:async({value:D})=>{try{if(B?.id)await l.mutateAsync({id:B.id,values:D});else await e.mutateAsync(D)}catch{}}}),P=s(L.store,(D)=>D.values.providerId),{data:h,isLoading:E}=J0({queryKey:["teams",Y,"providers",P,"models"],queryFn:async()=>{let D=await g.api.providers[":id"].models.$get({param:{id:P}});if(!D.ok)throw Error("Failed to fetch models");return await D.json()},enabled:!!P&&z}),[F,V]=a0.useState(""),[f,S]=a0.useState(!1),A=a0.useMemo(()=>{if(!k)return[];return[...k].sort((D,I)=>D.name.toLowerCase().localeCompare(I.name.toLowerCase()))},[k]),C=a0.useMemo(()=>{if(!F.trim())return A;let D=F.toLowerCase();return A.filter((I)=>I.name.toLowerCase().includes(D))},[A,F]),[b,y]=a0.useState(""),[T,O]=a0.useState(!1),p=a0.useMemo(()=>{if(!h)return[];return[...h].sort((D,I)=>{let a=(D.name||D.modelId).toLowerCase(),v=(I.name||I.modelId).toLowerCase();return a.localeCompare(v)})},[h]),n=a0.useMemo(()=>{if(!b.trim())return p;let D=b.toLowerCase();return p.filter((I)=>I.modelId.toLowerCase().includes(D)||I.name&&I.name.toLowerCase().includes(D))},[p,b]),e=o({mutationFn:async(D)=>{let I=await g.api.teams[":teamId"].agents.$post({param:{teamId:Y},json:D});if(!I.ok)throw Error("Failed to create agent");return await I.json()},onSuccess:()=>{Z(),U.invalidateQueries({queryKey:["agents",Y]}),_.success(J.agent_created_successfully())},onError:(D)=>{_.error(J.error_message({message:D.message}))}}),l=o({mutationFn:async({id:D,values:I})=>{let a=await g.api.agents[":agentId"].$put({param:{agentId:D},json:I});if(!a.ok)throw Error("Failed to update agent");return await a.json()},onSuccess:()=>{Z(),U.invalidateQueries({queryKey:["agents",Y]}),_.success(J.agent_updated_successfully())},onError:(D)=>{_.error(J.error_message({message:D.message}))}});a0.useEffect(()=>{if(z)L.reset(),V(""),S(!1),y(""),O(!1)},[z,B,H]);let v0=s(L.store,(D)=>D.values.type),j=v0==="chat"||v0==="autofill",r=v0==="chat",_0=(D)=>{return D.map((I)=>{if(typeof I==="string")return{message:I};if(I&&typeof I==="object"&&"message"in I)return{message:String(I.message)};return{message:String(I||"")}})};return N(S0,{open:z,onOpenChange:Z,children:X(D0,{className:"sm:max-w-3xl h-[90vh] flex flex-col p-0 overflow-hidden",children:[X(y0,{className:"p-6 pb-2 flex-shrink-0",children:[N(O0,{children:Q}),N(j0,{children:J.configure_agent_description()})]}),X("form",{onSubmit:(D)=>{D.preventDefault(),D.stopPropagation(),L.handleSubmit()},className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[N(K0,{className:"flex-1 min-h-0",children:X("div",{className:"p-6 pt-2 space-y-6",children:[X("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[N(L.Field,{name:"name",children:(D)=>{let I=!!D.state.meta.errors.length&&D.state.meta.isTouched;return X(z0,{"data-invalid":I,children:[N(Y0,{children:J.agent_name()}),N(d,{value:D.state.value,onBlur:D.handleBlur,onChange:(a)=>D.handleChange(a.target.value),placeholder:J.agent_name_placeholder(),"aria-invalid":I}),I&&N(T0,{errors:_0(D.state.meta.errors)})]})}}),N(L.Field,{name:"type",children:(D)=>X(z0,{children:[N(Y0,{children:J.agent_type()}),X(H0,{value:D.state.value,onValueChange:(I)=>D.handleChange(I),disabled:!0,children:[N(Q0,{className:"bg-muted/50",children:N(W0,{})}),X(q0,{children:[N(x,{value:"chat",children:J.agent_type_chat()}),N(x,{value:"autofill",children:J.agent_type_autofill()}),N(x,{value:"embedding",children:J.agent_type_embedding()})]})]})]})}),r&&N(L.Field,{name:"permission",children:(D)=>X(z0,{children:[N(Y0,{children:J.skill_permission()}),X(H0,{value:D.state.value||"reviewer",onValueChange:(I)=>D.handleChange(I),disabled:!w,children:[N(Q0,{children:N(W0,{})}),X(q0,{children:[N(x,{value:"reviewer",children:J.permission_all_users()}),N(x,{value:"editor",children:J.permission_owner_and_editor()}),N(x,{value:"owner",children:J.permission_owner_only()})]})]})]})}),N(L.Field,{name:"avatar",children:(D)=>X(z0,{className:"md:col-span-2",children:[N(Y0,{children:J.agent_avatar()}),X("div",{className:"flex gap-4 mt-2",children:[D6.map((I)=>{let a=D.state.value===I;return N("button",{type:"button",onClick:()=>D.handleChange(I),className:N0("relative w-14 h-14 rounded-full overflow-hidden border-2 transition-all hover:scale-105",a?"border-primary ring-2 ring-primary ring-offset-2":"border-border hover:border-muted-foreground"),children:N("img",{src:I,className:"w-full h-full object-cover",alt:J.preset_avatar_option()})},I)}),D.state.value&&!D6.includes(D.state.value)&&N("button",{type:"button",className:"relative w-14 h-14 rounded-full overflow-hidden border-2 border-primary ring-2 ring-primary ring-offset-2 scale-105",children:N("img",{src:D.state.value,className:"w-full h-full object-cover",alt:J.current_custom_avatar()})})]})]})})]}),j&&X(Z0,{children:[X("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 p-4 bg-muted/50 rounded-xl border border-border",children:[N(L.Field,{name:"providerId",children:(D)=>{let I=!!D.state.meta.errors.length&&D.state.meta.isTouched,a=k?.find((v)=>v.id===D.state.value);return X(z0,{"data-invalid":I,children:[N(Y0,{children:J.provider()}),X(H6,{open:f,onOpenChange:(v)=>{if(S(v),!v)V("")},modal:!0,children:[N(W6,{asChild:!0,children:X($,{type:"button",variant:"outline",role:"combobox","aria-expanded":f,"aria-invalid":I,className:N0("w-full justify-between font-normal h-10 px-3 bg-background border-border hover:bg-accent/50",I&&"border-destructive ring-destructive"),children:[N("span",{className:"truncate",children:a?N("span",{className:"font-medium text-foreground truncate",children:a.name}):N("span",{className:"text-muted-foreground",children:J.select_provider()})}),N(Z4,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),X(Q6,{className:"w-[--radix-popover-trigger-width] min-w-[320px] max-h-[360px] p-0 flex flex-col overflow-hidden",align:"start",side:"bottom",sideOffset:4,onWheel:(v)=>v.stopPropagation(),children:[X("div",{className:"relative p-2 pb-1.5 border-b border-border shrink-0",children:[N(H4,{className:"absolute left-4.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-muted-foreground"}),N(d,{placeholder:J.search_providers_placeholder(),value:F,onChange:(v)=>V(v.target.value),className:"pl-8 h-8 text-xs bg-muted/40",autoFocus:!0})]}),N(K0,{className:"w-full p-1",style:{height:C.length===0?"96px":`${Math.min(C.length*38+8,256)}px`},onWheel:(v)=>v.stopPropagation(),children:C.length===0?N("div",{className:"flex items-center justify-center h-full py-6 text-xs text-muted-foreground",children:J.no_providers_found()}):N("div",{className:"space-y-0.5 pr-2",children:C.map((v)=>{let c0=D.state.value===v.id;return X("div",{onClick:()=>{D.handleChange(v.id),L.setFieldValue("modelId",""),y(""),S(!1),V("")},className:N0("flex items-center justify-between px-2.5 py-2 rounded-md text-xs cursor-pointer transition-colors",c0?"bg-accent text-accent-foreground font-medium":"hover:bg-muted/60 text-foreground"),children:[N("span",{className:"truncate flex-1 pr-2",children:v.name}),c0&&N(f4,{className:"w-4 h-4 text-primary shrink-0"})]},v.id)})})})]})]}),I&&N(T0,{errors:_0(D.state.meta.errors)})]})}}),N(L.Field,{name:"modelId",children:(D)=>{let I=!!D.state.meta.errors.length&&D.state.meta.isTouched,a=h?.find((v)=>v.id===D.state.value);return X(z0,{"data-invalid":I,children:[X(Y0,{className:"flex items-center gap-2",children:[J.model(),E&&N(u,{className:"w-3 h-3 animate-spin"})]}),X(H6,{open:T,onOpenChange:(v)=>{if(O(v),!v)y("")},modal:!0,children:[N(W6,{asChild:!0,children:X($,{type:"button",variant:"outline",role:"combobox","aria-expanded":T,"aria-invalid":I,disabled:!P||E,className:N0("w-full justify-between font-normal h-10 px-3 bg-background border-border hover:bg-accent/50",I&&"border-destructive ring-destructive"),children:[N("span",{className:"truncate flex items-center gap-2",children:a?X(Z0,{children:[N("span",{className:"truncate font-medium text-foreground",children:a.name||a.modelId}),a.name&&a.name!==a.modelId&&N(i,{variant:"secondary",className:"font-mono text-[10px] px-1.5 py-0 shrink-0",children:a.modelId})]}):N("span",{className:"text-muted-foreground",children:J.select_model()})}),N(Z4,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),X(Q6,{className:"w-[--radix-popover-trigger-width] min-w-[320px] max-h-[360px] p-0 flex flex-col overflow-hidden",align:"start",side:"bottom",sideOffset:4,onWheel:(v)=>v.stopPropagation(),children:[X("div",{className:"relative p-2 pb-1.5 border-b border-border shrink-0",children:[N(H4,{className:"absolute left-4.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-muted-foreground"}),N(d,{placeholder:J.search_models_placeholder(),value:b,onChange:(v)=>y(v.target.value),className:"pl-8 h-8 text-xs bg-muted/40",autoFocus:!0})]}),N(K0,{className:"w-full p-1",style:{height:n.length===0?"96px":`${Math.min(n.length*38+8,256)}px`},onWheel:(v)=>v.stopPropagation(),children:n.length===0?N("div",{className:"flex items-center justify-center h-full py-6 text-xs text-muted-foreground",children:J.no_models_found()}):N("div",{className:"space-y-0.5 pr-2",children:n.map((v)=>{let c0=D.state.value===v.id;return X("div",{onClick:()=>{D.handleChange(v.id),O(!1),y("")},className:N0("flex items-center justify-between px-2.5 py-2 rounded-md text-xs cursor-pointer transition-colors",c0?"bg-accent text-accent-foreground font-medium":"hover:bg-muted/60 text-foreground"),children:[N("div",{className:"min-w-0 flex-1 pr-2",children:X("div",{className:"flex items-center gap-2",children:[N("span",{className:"truncate",children:v.name||v.modelId}),v.name&&v.name!==v.modelId&&X("span",{className:"font-mono text-[10px] text-muted-foreground truncate",children:["(",v.modelId,")"]}),v.config?.reasoning&&N(i,{variant:"outline",className:"text-[9px] px-1 py-0 h-4 gap-0.5 bg-primary/10 text-primary border-primary/20 shrink-0",children:N(y4,{className:"w-2.5 h-2.5"})})]})}),c0&&N(f4,{className:"w-4 h-4 text-primary shrink-0"})]},v.id)})})})]})]}),I&&N(T0,{errors:_0(D.state.meta.errors)})]})}}),N("div",{className:"md:col-span-2",children:N(L.Field,{name:"thinkingLevel",children:(D)=>{let I={off:J.thinking_disable(),low:J.thinking_low(),medium:J.thinking_medium(),high:J.thinking_high()};return X(z0,{children:[N(Y0,{children:J.thinking_level()}),X(H0,{value:D.state.value,onValueChange:(a)=>D.handleChange(a),children:[N(Q0,{children:N(W0,{})}),N(q0,{children:H1.options.map((a)=>N(x,{value:a,children:I[a]||a},a))})]})]})}})})]}),N(L.Field,{name:"soul",children:(D)=>X(z0,{children:[N(Y0,{children:J.agent_soul()}),N(c1,{value:D.state.value,onBlur:D.handleBlur,onChange:(I)=>D.handleChange(I.target.value),placeholder:J.agent_soul_placeholder(),className:"min-h-[120px]"})]})}),X("div",{className:"space-y-4",children:[X(t,{className:"text-base font-bold flex items-center gap-2",children:[N(G4,{className:"w-5 h-5 text-primary"}),J.skills()]}),N("div",{className:"space-y-2",children:N(L.Field,{name:"skills",children:(D)=>X(Z0,{children:[G.map((I)=>{let a=D.state.value?.includes(I.id)||!1;return X("div",{className:"flex items-center justify-between p-3 bg-muted/30 border border-border rounded-lg",children:[X("div",{className:"flex items-center gap-3",children:[N(G4,{className:"w-4 h-4 text-muted-foreground"}),X("div",{className:"flex flex-col",children:[N("span",{className:"text-sm font-medium",children:I.name}),I.description&&N("span",{className:"text-[10px] text-muted-foreground line-clamp-1",children:I.description})]})]}),X("div",{className:"flex items-center gap-2",children:[N("span",{className:"text-xs text-muted-foreground",children:a?J.enabled():J.disabled()}),N(R0,{checked:a,onCheckedChange:(v)=>{if(v)D.handleChange([...D.state.value||[],I.id]);else D.handleChange((D.state.value||[]).filter((c0)=>c0!==I.id))}})]})]},I.id)}),G.length===0&&N("div",{className:"text-center py-8 border-2 border-dashed border-border rounded-xl",children:N("p",{className:"text-sm text-muted-foreground",children:J.no_skills_available()})})]})})})]}),X("div",{className:"space-y-4 border-t border-border pt-6",children:[X(t,{className:"text-base font-bold flex items-center gap-2",children:[N(x0,{className:"w-5 h-5 text-primary"}),J.mcp_servers()]}),N("div",{className:"space-y-2",children:N(L.Field,{name:"mcpServerIds",children:(D)=>X(Z0,{children:[q.map((I)=>{let a=D.state.value?.includes(I.id)||!1,v=I.status==="needs_auth"||!I.hasCredential&&I.authType==="oauth";return X("div",{className:"flex items-center justify-between p-3 bg-muted/30 border border-border rounded-lg",children:[X("div",{className:"flex items-center gap-3",children:[N(x0,{className:"w-4 h-4 text-muted-foreground"}),X("div",{className:"flex flex-col",children:[X("div",{className:"flex items-center gap-2",children:[N("span",{className:"text-sm font-medium",children:I.name}),X(i,{variant:"outline",className:"text-[10px]",children:[I.toolCount??0," tools"]}),v&&N(i,{variant:"secondary",className:"text-[10px] bg-amber-500/10 text-amber-600 border-amber-500/20",children:J.mcp_status_needs_auth()})]}),N("span",{className:"text-[10px] font-mono text-muted-foreground line-clamp-1",children:I.url})]})]}),X("div",{className:"flex items-center gap-2",children:[N("span",{className:"text-xs text-muted-foreground",children:a?J.enabled():J.disabled()}),N(R0,{checked:a,onCheckedChange:(c0)=>{if(c0)D.handleChange([...D.state.value||[],I.id]);else D.handleChange((D.state.value||[]).filter((E4)=>E4!==I.id))}})]})]},I.id)}),q.length===0&&N("div",{className:"text-center py-6 border-2 border-dashed border-border rounded-xl",children:N("p",{className:"text-xs text-muted-foreground",children:J.no_mcp_servers_installed()})})]})})})]}),X("div",{className:"space-y-4 border-t border-border pt-6",children:[X(t,{className:"text-base font-bold flex items-center gap-2",children:[N(o4,{className:"w-5 h-5 text-primary"}),J.agent_tools()]}),N("p",{className:"text-xs text-muted-foreground",children:J.agent_tools_description()}),N("div",{className:"space-y-2",children:N(L.Field,{name:"deniedTools",children:(D)=>{let I=D.state.value||[];return N(Z0,{children:lN.map((a)=>{let v=!I.includes(a.id);return X("div",{className:"flex items-center justify-between p-3 bg-muted/30 border border-border rounded-lg",children:[X("div",{className:"flex items-center gap-3",children:[N(o4,{className:"w-4 h-4 text-muted-foreground"}),X("div",{className:"flex flex-col",children:[N("span",{className:"text-sm font-medium",children:a.name()}),N("span",{className:"text-[10px] text-muted-foreground line-clamp-1",children:a.description()})]})]}),X("div",{className:"flex items-center gap-2",children:[N("span",{className:"text-xs text-muted-foreground",children:v?J.enabled():J.disabled()}),N(R0,{checked:v,disabled:!w,onCheckedChange:(c0)=>{if(c0)D.handleChange(I.filter((E4)=>E4!==a.id));else D.handleChange([...I,a.id])}})]})]},a.id)})})}})})]})]})]})}),X(g0,{className:"p-6 pt-4 border-t border-border flex-shrink-0",children:[N($,{variant:"outline",onClick:Z,type:"button",children:J.cancel()}),N(L.Subscribe,{selector:(D)=>[D.canSubmit,D.isSubmitting],children:([D,I])=>X($,{type:"submit",className:"bg-primary hover:bg-primary/90 text-primary-foreground min-w-[120px]",disabled:!D||I||e.isPending||l.isPending,children:[(I||e.isPending||l.isPending)&&N(u,{className:"w-4 h-4 animate-spin mr-2"}),B?J.save_changes():J.create_agent()]})})]})]})]})})}var tN=[{type:"chat",label:"Chat",icon:l4},{type:"autofill",label:"Autofill",icon:y4},{type:"embedding",label:"Embedding",icon:J4}];function x1({teamId:z}){let Z=B0(),{canAdmin:Y}=O4(),[H,B]=v4.useState(!1),[Q,U]=v4.useState("chat"),[w,k]=v4.useState(null),[K,G]=v4.useState(null),[R,q]=v4.useState(!1),[W,L]=v4.useState({chat:!0,autofill:!0,embedding:!0}),P=(A)=>{if(A==="chat")return J.agent_type_chat();if(A==="autofill")return J.agent_type_autofill();return J.agent_type_embedding()},{data:h=[],isLoading:E}=J0({queryKey:["agents",z],queryFn:async()=>{let A=await g.api.teams[":teamId"].agents.$get({param:{teamId:z}});if(!A.ok)throw Error("failed to fetch agents");return[...await A.json()].sort((b,y)=>y.id.localeCompare(b.id))}}),F=o({mutationFn:async(A)=>{if(!(await g.api.agents[":agentId"].$delete({param:{agentId:A}})).ok)throw Error("failed to delete agent")},onSuccess:()=>{q(!1),Z.invalidateQueries({queryKey:["agents",z]}),_.success(J.agent_deleted_successfully())},onError:(A)=>{_.error(A.message)}}),V=o({mutationFn:async({agentId:A,permission:C})=>{let b=await g.api.agents[":agentId"].permission.$patch({param:{agentId:A},json:{permission:C}});if(!b.ok)throw Error(J.failed_to_update_permission());return b.json()},onSuccess:()=>{Z.invalidateQueries({queryKey:["agents",z]})},onError:(A)=>{_.error(A.message||J.failed_to_update_permission())}}),f=o({mutationFn:async(A)=>{let C=await g.api.agents[":agentId"].$put({param:{agentId:A.agentId},json:{name:A.name,type:A.type,enabled:A.enabled,avatar:A.avatar,providerId:A.providerId,modelId:A.modelId,thinkingLevel:A.thinkingLevel,systemPrompt:A.systemPrompt,soul:A.soul,skills:A.skills,deniedTools:A.deniedTools}});if(!C.ok)throw Error("failed to update agent");return C.json()},onSuccess:()=>{Z.invalidateQueries({queryKey:["agents",z]}),_.success(J.agent_updated_successfully())},onError:(A)=>{_.error(A.message)}}),S=(A)=>{L((C)=>({...C,[A]:!C[A]}))};return X(Z0,{children:[(H||w)&&N(m1,{isOpen:!0,title:w?J.edit_item({name:w.name}):J.create_type_agent({type:P(Q)}),onClose:()=>{B(!1),k(null)},teamId:z,type:Q,initialValues:w||void 0}),N(o0,{open:R,onOpenChange:q,children:X(l0,{children:[X(t0,{children:[N(r0,{children:J.are_you_absolutely_sure()}),N(s0,{children:J.delete_agent_confirmation({name:K?.name??""})})]}),X(i0,{children:[N(N4,{children:J.cancel()}),N(e0,{className:"bg-destructive hover:bg-destructive/90 text-white",onClick:(A)=>{if(F.isPending){A.preventDefault();return}if(K)F.mutate(K.id)},children:F.isPending?N(u,{className:"w-4 h-4 animate-spin"}):J.delete_agent()})]})]})}),E&&h.length===0?N("div",{className:"flex items-center justify-center p-12",children:N(u,{className:"w-8 h-8 animate-spin text-muted-foreground"})}):X("div",{className:"space-y-6 max-w-5xl mx-auto relative",children:[E&&N("div",{className:"absolute top-0 right-0 p-2",children:N(u,{className:"w-4 h-4 animate-spin text-muted-foreground"})}),tN.map((A)=>{let C=h.filter((T)=>T.type===A.type),b=A.icon,y=A.type==="autofill"||A.type==="embedding";return X("div",{className:"bg-card rounded-xl border border-border overflow-hidden",children:[X("div",{className:N0("px-6 py-4 flex items-center justify-between",!y&&"cursor-pointer hover:bg-muted/50 transition-colors"),onClick:!y?()=>S(A.type):void 0,children:[X("div",{className:"flex items-center gap-2",children:[N("h3",{className:"font-semibold text-foreground",children:A.type==="chat"?J.chat_agents():A.type==="autofill"?J.autofill_agent():J.embedding_agent()}),!y&&N(i,{variant:"secondary",className:"h-5 px-1.5 min-w-[1.25rem] text-[10px]",children:C.length})]}),X("div",{className:"flex items-center gap-2",children:[!(y&&C.length>0)&&N($,{variant:"ghost",size:"icon",className:"h-8 w-8 rounded-full bg-primary/10 text-primary hover:bg-primary/20",onClick:(T)=>{T.stopPropagation(),U(A.type),B(!0)},children:N(F0,{className:"w-4 h-4"})}),!y&&N(Z4,{className:N0("w-5 h-5 text-muted-foreground transition-transform duration-200",W[A.type]?"rotate-180":"")})]})]}),(y||W[A.type])&&N("div",{className:"px-6 pb-6 pt-2 space-y-3",children:X("div",{className:"grid grid-cols-1 gap-4",children:[C.map((T)=>N(G0,{className:"group relative overflow-hidden border-border hover:border-primary/50 transition-all duration-200 cursor-pointer pb-1 pt-1",onClick:()=>k(T),children:X(L0,{className:"p-4 flex flex-col gap-3",children:[X("div",{className:"flex items-center justify-between",children:[X("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[N("div",{className:"w-10 h-10 rounded-full bg-muted flex items-center justify-center overflow-hidden",children:T.avatar?N("img",{src:T.avatar,className:"w-full h-full object-cover",alt:""}):N(y6,{className:"w-6 h-6 text-muted-foreground"})}),X("div",{className:"min-w-0 flex-1",children:[N("span",{className:"font-bold text-foreground block truncate",children:T.name}),N("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mt-0.5",children:X("span",{className:"flex items-center gap-1",children:[N(G4,{className:"w-3 h-3"}),J.skills_count_value({count:T.skills?.length||0})]})})]})]}),X(L4,{modal:!1,children:[N(P4,{asChild:!0,onClick:(O)=>O.stopPropagation(),children:N($,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:N(R4,{className:"w-4 h-4"})})}),N(k4,{align:"end",className:"w-32",children:X(X4,{onClick:(O)=>{O.stopPropagation(),G(T),q(!0)},className:"text-red-500 focus:text-red-500 gap-2 cursor-pointer",children:[N(A0,{className:"w-4 h-4"})," ",J.delete()]})})]})]}),X("div",{className:"flex items-center justify-between gap-2 pt-2 border-t border-border/50",children:[N("div",{children:T.type==="chat"?N("div",{onClick:(O)=>O.stopPropagation(),children:X(H0,{value:T.permission||"reviewer",onValueChange:(O)=>{V.mutate({agentId:T.id,permission:O})},disabled:!Y,children:[N(Q0,{className:"h-7 text-xs px-2 bg-background border-border w-[140px]",children:N(W0,{children:T.permission==="reviewer"?J.permission_all_users():T.permission==="editor"?J.permission_owner_and_editor():J.permission_owner_only()})}),X(q0,{align:"start",children:[N(x,{value:"reviewer",children:J.permission_all_users()}),N(x,{value:"editor",children:J.permission_owner_and_editor()}),N(x,{value:"owner",children:J.permission_owner_only()})]})]})}):N("div",{})}),N("div",{onClick:(O)=>O.stopPropagation(),children:N(R0,{checked:T.enabled,onCheckedChange:(O)=>{f.mutate({teamId:z,agentId:T.id,name:T.name,type:T.type,enabled:O,avatar:T.avatar,providerId:T.providerId,modelId:T.modelId,thinkingLevel:T.thinkingLevel,systemPrompt:T.systemPrompt,soul:T.soul,skills:T.skills?.map((p)=>p.skillId),deniedTools:T.deniedTools})}})})]})]})},T.id)),C.length===0&&X("div",{className:"col-span-full py-8 flex flex-col items-center justify-center border-2 border-dashed border-border rounded-xl bg-muted/30",children:[N("div",{className:"w-10 h-10 rounded-full bg-card flex items-center justify-center shadow-sm mb-3",children:N(b,{className:"w-5 h-5 text-muted-foreground"})}),N("p",{className:"text-sm text-muted-foreground",children:J.no_agents_found({type:P(A.type)})}),N($,{variant:"link",size:"sm",className:"text-primary font-medium h-auto p-0 mt-1",onClick:()=>{U(A.type),B(!0)},children:J.create_one_now()})]})]})})]},A.type)})]})]})}var U0=P0(k0(),1);var O6=P0(k0(),1);function F6({isOpen:z,onClose:Z,onSubmit:Y,initialValues:H,title:B,isLoading:Q=!1,defaultApi:U,existingModelIds:w=[]}){let k=O6.useMemo(()=>{return j1.extend({modelId:w0.string().min(1,J.model_id()).refine((q)=>{if(H?.modelId===q)return!0;return!w.includes(q)},{message:J.model_id_already_exists()})})},[w,H]),K=()=>H||{modelId:"",name:"",config:{api:U,reasoning:!1,input:["text"],contextWindow:128000,maxTokens:4096,cost:{input:0,output:0,cacheRead:0,cacheWrite:0}}},G=D4({defaultValues:K(),validators:{onSubmit:k},onSubmit:async({value:q})=>{Y(q)}});O6.useEffect(()=>{if(z)G.reset(K())},[z,H,U,G]);let R=(q)=>{return q.map((W)=>{if(typeof W==="string")return{message:W};if(W&&typeof W==="object"&&"message"in W)return{message:String(W.message)};return{message:String(W||"")}})};return N(S0,{open:z,onOpenChange:Z,children:X(D0,{className:"sm:max-w-xl h-[85vh] max-h-[700px] flex flex-col p-0 overflow-hidden",children:[N(y0,{className:"p-6 pb-2 shrink-0",children:N(O0,{className:"text-xl",children:B})}),X("form",{onSubmit:(q)=>{q.preventDefault(),q.stopPropagation(),G.handleSubmit()},className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[N("div",{className:"flex-1 min-h-0",children:N(K0,{className:"h-full",children:X("div",{className:"p-6 pt-2 space-y-6 pr-6",children:[X("div",{className:"space-y-4",children:[N(G.Field,{name:"modelId",children:(q)=>{let W=!!q.state.meta.errors.length&&q.state.meta.isTouched;return X(z0,{"data-invalid":W,children:[N(Y0,{htmlFor:q.name,children:J.model_id()}),N(d,{id:q.name,name:q.name,value:q.state.value,onBlur:q.handleBlur,onChange:(L)=>q.handleChange(L.target.value),placeholder:J.model_id_placeholder(),"aria-invalid":W}),W&&N(T0,{errors:R(q.state.meta.errors)})]})}}),N(G.Field,{name:"name",children:(q)=>{let W=!!q.state.meta.errors.length&&q.state.meta.isTouched;return X(z0,{"data-invalid":W,children:[N(Y0,{htmlFor:q.name,children:J.display_name_optional()}),N(d,{id:q.name,name:q.name,value:q.state.value||"",onBlur:q.handleBlur,onChange:(L)=>q.handleChange(L.target.value),placeholder:J.model_name_placeholder(),"aria-invalid":W}),W&&N(T0,{errors:R(q.state.meta.errors)})]})}})]}),X("div",{className:"space-y-4 pt-2 border-t border-border",children:[N("h4",{className:"text-sm font-semibold text-foreground",children:J.parameters()}),N(G.Field,{name:"config.reasoning",children:(q)=>X(z0,{orientation:"horizontal",className:"rounded-lg border border-border p-3 shadow-sm bg-muted/40 justify-between flex items-center",children:[N(Y0,{htmlFor:q.name,className:"cursor-pointer",children:J.reasoning_support()}),N(R0,{id:q.name,checked:q.state.value,onCheckedChange:q.handleChange})]})}),X("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[N(G.Field,{name:"config.contextWindow",children:(q)=>{let W=!!q.state.meta.errors.length&&q.state.meta.isTouched;return X(z0,{"data-invalid":W,children:[N(Y0,{htmlFor:q.name,className:"text-xs",children:J.context_window_tokens()}),N(d,{id:q.name,name:q.name,type:"number",value:q.state.value,onBlur:q.handleBlur,onChange:(L)=>q.handleChange(parseInt(L.target.value)||0),"aria-invalid":W}),W&&N(T0,{errors:R(q.state.meta.errors)})]})}}),N(G.Field,{name:"config.maxTokens",children:(q)=>{let W=!!q.state.meta.errors.length&&q.state.meta.isTouched;return X(z0,{"data-invalid":W,children:[N(Y0,{htmlFor:q.name,className:"text-xs",children:J.max_output_tokens()}),N(d,{id:q.name,name:q.name,type:"number",value:q.state.value,onBlur:q.handleBlur,onChange:(L)=>q.handleChange(parseInt(L.target.value)||0),"aria-invalid":W}),W&&N(T0,{errors:R(q.state.meta.errors)})]})}})]})]}),X("div",{className:"space-y-4 pt-2 border-t border-border",children:[X("h4",{className:"text-sm font-semibold text-foreground flex items-center gap-1.5",children:[N(q6,{className:"w-4 h-4 text-primary"}),J.pricing()]}),X("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[N(G.Field,{name:"config.cost.input",children:(q)=>{let W=!!q.state.meta.errors.length&&q.state.meta.isTouched;return X(z0,{"data-invalid":W,children:[N(Y0,{htmlFor:q.name,className:"text-xs",children:J.input_cost_1m()}),N(d,{id:q.name,name:q.name,type:"number",step:"0.0001",value:q.state.value,onBlur:q.handleBlur,onChange:(L)=>q.handleChange(parseFloat(L.target.value)||0),"aria-invalid":W}),W&&N(T0,{errors:R(q.state.meta.errors)})]})}}),N(G.Field,{name:"config.cost.output",children:(q)=>{let W=!!q.state.meta.errors.length&&q.state.meta.isTouched;return X(z0,{"data-invalid":W,children:[N(Y0,{htmlFor:q.name,className:"text-xs",children:J.output_cost_1m()}),N(d,{id:q.name,name:q.name,type:"number",step:"0.0001",value:q.state.value,onBlur:q.handleBlur,onChange:(L)=>q.handleChange(parseFloat(L.target.value)||0),"aria-invalid":W}),W&&N(T0,{errors:R(q.state.meta.errors)})]})}}),N(G.Field,{name:"config.cost.cacheRead",children:(q)=>{let W=!!q.state.meta.errors.length&&q.state.meta.isTouched;return X(z0,{"data-invalid":W,children:[N(Y0,{htmlFor:q.name,className:"text-xs",children:J.cache_read_cost_1m()}),N(d,{id:q.name,name:q.name,type:"number",step:"0.0001",value:q.state.value,onBlur:q.handleBlur,onChange:(L)=>q.handleChange(parseFloat(L.target.value)||0),"aria-invalid":W}),W&&N(T0,{errors:R(q.state.meta.errors)})]})}}),N(G.Field,{name:"config.cost.cacheWrite",children:(q)=>{let W=!!q.state.meta.errors.length&&q.state.meta.isTouched;return X(z0,{"data-invalid":W,children:[N(Y0,{htmlFor:q.name,className:"text-xs",children:J.cache_write_cost_1m()}),N(d,{id:q.name,name:q.name,type:"number",step:"0.0001",value:q.state.value,onBlur:q.handleBlur,onChange:(L)=>q.handleChange(parseFloat(L.target.value)||0),"aria-invalid":W}),W&&N(T0,{errors:R(q.state.meta.errors)})]})}})]})]})]})})}),X(g0,{className:"p-6 pt-4 border-t border-border gap-2 shrink-0",children:[N($,{type:"button",variant:"outline",onClick:Z,disabled:Q,children:J.cancel()}),N(G.Subscribe,{selector:(q)=>[q.canSubmit,q.isSubmitting],children:([q,W])=>N($,{type:"submit",className:"min-w-[100px]",disabled:!q||W||Q,children:W||Q?N(u,{className:"w-4 h-4 animate-spin"}):J.save_changes()})})]})]})]})})}var C4=P0(k0(),1);function n1({isOpen:z,onClose:Z,teamId:Y,syncData:H,onSuccess:B}){let[Q,U]=C4.useState(""),[w,k]=C4.useState(()=>{return new Set(H?.providers.map((C)=>C.name)||[])}),[K,G]=C4.useState(()=>{let C=new Set;return H?.providers.forEach((b)=>{b.models.forEach((y)=>{C.add(`${b.name}:${y.modelId}`)})}),C});C4.useEffect(()=>{if(H){k(new Set(H.providers.map((b)=>b.name)));let C=new Set;H.providers.forEach((b)=>{b.models.forEach((y)=>{C.add(`${b.name}:${y.modelId}`)})}),G(C)}},[H]);let R=C4.useMemo(()=>{if(!H)return[];let C=Q.trim().toLowerCase();if(!C)return H.providers;return H.providers.map((b)=>{let y=b.name.toLowerCase().includes(C),T=b.models.filter((O)=>y||O.modelId.toLowerCase().includes(C)||O.name.toLowerCase().includes(C));if(T.length>0)return{...b,models:T};return null}).filter((b)=>b!==null)},[H,Q]),q=K.size,W=C4.useMemo(()=>{if(!H)return 0;let C=0;for(let b of H.providers)if(b.models.some((T)=>K.has(`${b.name}:${T.modelId}`)))C++;return C},[H,K]),L=(C)=>{k((b)=>{let y=new Set(b);if(y.has(C))y.delete(C);else y.add(C);return y})},P=()=>{if(!H)return;k(new Set(H.providers.map((C)=>C.name)))},h=()=>{k(new Set)},E=(C,b)=>{let y=`${C}:${b}`;G((T)=>{let O=new Set(T);if(O.has(y))O.delete(y);else O.add(y);return O})},F=(C)=>{let b=H?.providers.find((T)=>T.name===C);if(!b||b.models.length===0)return;let y=b.models.every((T)=>K.has(`${C}:${T.modelId}`));G((T)=>{let O=new Set(T);return b.models.forEach((p)=>{let n=`${C}:${p.modelId}`;if(y)O.delete(n);else O.add(n)}),O})},V=()=>{if(!H)return;let C=new Set;H.providers.forEach((b)=>{b.models.forEach((y)=>{C.add(`${b.name}:${y.modelId}`)})}),G(C)},f=()=>{G(new Set)},S=o({mutationFn:async(C)=>{let b=await g.api.teams[":teamId"].providers["sync-apply"].$post({param:{teamId:Y},json:C});if(!b.ok){let y=await b.json().catch(()=>({message:"Failed to apply sync"}));throw Error(y.message||"Failed to apply sync")}return await b.json()},onSuccess:(C)=>{_.success(J.sync_providers_success({modelCount:C.addedModels,providerCount:C.addedProviders})),B(),Z()},onError:(C)=>{_.error(C.message)}}),A=async()=>{if(!H||q===0)return;let C=[];for(let b of H.providers){let y=b.models.filter((T)=>K.has(`${b.name}:${T.modelId}`));if(y.length>0)C.push({name:b.name,isNewProvider:b.isNewProvider,config:b.config,models:y})}if(C.length===0)return;await S.mutateAsync({providers:C})};return N(S0,{open:z,onOpenChange:(C)=>!C&&Z(),children:X(D0,{className:"sm:max-w-3xl md:max-w-4xl w-full h-[85vh] max-h-[85vh] flex flex-col p-0 overflow-hidden gap-0",children:[X(y0,{className:"p-6 pb-4 shrink-0",children:[X(O0,{className:"flex items-center gap-2 text-xl font-semibold",children:[N(u1,{className:"w-5 h-5 text-primary"}),J.sync_providers_dialog_title()]}),N(j0,{className:"text-xs text-muted-foreground leading-relaxed mt-1.5",children:J.sync_providers_dialog_description()})]}),N("div",{className:"px-6 pb-3 shrink-0",children:X("div",{className:"flex items-center justify-between gap-3",children:[X("div",{className:"relative flex-1",children:[N(H4,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-muted-foreground"}),N(d,{value:Q,onChange:(C)=>U(C.target.value),placeholder:J.sync_providers_search_placeholder(),className:"pl-8 h-8 text-xs bg-background"})]}),X("div",{className:"flex items-center gap-1.5",children:[N($,{type:"button",variant:"outline",size:"sm",onClick:P,className:"h-8 text-xs px-2.5",children:J.sync_providers_expand_all()}),N($,{type:"button",variant:"outline",size:"sm",onClick:h,className:"h-8 text-xs px-2.5",children:J.sync_providers_collapse_all()}),N("div",{className:"w-px h-4 bg-border mx-1"}),N($,{type:"button",variant:"outline",size:"sm",onClick:V,className:"h-8 text-xs px-2.5",children:J.sync_providers_select_all()}),N($,{type:"button",variant:"outline",size:"sm",onClick:f,className:"h-8 text-xs px-2.5",children:J.sync_providers_deselect_all()})]})]})}),N("div",{className:"flex-1 min-h-0 px-6 overflow-hidden",children:N(K0,{className:"h-full border border-border/60 rounded-md bg-muted/20",children:N("div",{className:"p-3 space-y-3",children:R.length===0?N("div",{className:"py-8 text-center text-sm text-muted-foreground",children:J.no_matches_found()}):R.map((C)=>{let b=w.has(C.name),y=C.isNewProvider,T=C.models.filter((n)=>K.has(`${C.name}:${n.modelId}`)).length,O=T===C.models.length,p=T>0&&!O;return X("div",{className:"border border-border/50 rounded-lg bg-background overflow-hidden",children:[X("div",{className:"flex items-center justify-between px-3 py-2 bg-card hover:bg-muted/40 transition-colors",children:[X("div",{className:"flex items-center gap-2.5",children:[N("button",{type:"button",onClick:()=>L(C.name),className:"p-0.5 text-muted-foreground hover:text-foreground rounded transition-colors",children:b?N(Z4,{className:"w-4 h-4"}):N(t4,{className:"w-4 h-4"})}),N(U6,{checked:O?!0:p?"indeterminate":!1,onCheckedChange:()=>F(C.name),id:`provider-check-${C.name}`}),X("label",{htmlFor:`provider-check-${C.name}`,className:"font-medium text-sm text-foreground flex items-center gap-2 cursor-pointer select-none",children:[N(J4,{className:"w-4 h-4 text-muted-foreground"}),N("span",{children:C.name})]})]}),X("div",{className:"flex items-center gap-2",children:[y?N(i,{variant:"secondary",className:"text-[10px] px-1.5 py-0 bg-primary/10 text-primary border-primary/20",children:J.sync_providers_new_provider()}):N(i,{variant:"outline",className:"text-[10px] px-1.5 py-0 text-muted-foreground",children:J.sync_providers_existing_provider()}),N("span",{className:"text-xs text-muted-foreground",children:J.sync_providers_new_models_count({count:C.models.length})})]})]}),b&&N("div",{className:"border-t border-border/40 divide-y divide-border/30 bg-muted/10",children:C.models.map((n)=>{let e=K.has(`${C.name}:${n.modelId}`);return X("div",{className:"flex items-center justify-between pl-9 pr-3 py-2 hover:bg-muted/30 transition-colors",children:[X("div",{className:"flex items-center gap-2.5 min-w-0",children:[N(U6,{checked:e,onCheckedChange:()=>E(C.name,n.modelId),id:`model-check-${C.name}-${n.modelId}`}),X("label",{htmlFor:`model-check-${C.name}-${n.modelId}`,className:"text-xs font-medium text-foreground cursor-pointer select-none truncate",children:[n.name||n.modelId,N("span",{className:"ml-1.5 text-[11px] text-muted-foreground font-mono font-normal",children:n.modelId})]})]}),X("div",{className:"flex items-center gap-1.5 shrink-0 ml-2",children:[n.config.reasoning&&N(i,{variant:"outline",className:"text-[10px] px-1.5 py-0 font-normal border-amber-500/30 text-amber-600 dark:text-amber-400",children:J.sync_providers_reasoning()}),N("span",{className:"text-[11px] text-muted-foreground font-mono",children:J.sync_providers_context_window({count:Math.round(n.config.contextWindow/1000)})})]})]},n.modelId)})})]},C.name)})})})}),X(g0,{className:"p-6 pt-3 shrink-0 border-t border-border flex items-center justify-between sm:justify-between w-full",children:[N("div",{className:"text-xs text-muted-foreground",children:J.sync_providers_selected_count({modelCount:q,providerCount:W})}),X("div",{className:"flex items-center gap-2",children:[N($,{type:"button",variant:"outline",onClick:Z,disabled:S.isPending,children:J.cancel()}),N($,{type:"button",onClick:A,disabled:q===0||S.isPending,className:"gap-2",children:S.isPending?X(Z0,{children:[N(u,{className:"w-4 h-4 animate-spin"}),J.sync_providers_adding()]}):J.sync_providers_add_selected({count:q})})]})]})]})})}var o1={"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"};function l1({teamId:z}){let Z=B0(),[Y,H]=U0.useState(null),[B,Q]=U0.useState(!1),[U,w]=U0.useState(""),[k,K]=U0.useState(!1),[G,R]=U0.useState(null),[q,W]=U0.useState(!1),[L,P]=U0.useState(null),h=o({mutationFn:async()=>{let b=await g.api.teams[":teamId"].providers["sync-check"].$post({param:{teamId:z}});if(!b.ok){let y=await b.json().catch(()=>({message:"Failed to check updates"}));throw Error(y.message||"Failed to check updates")}return await b.json()},onSuccess:(b)=>{if(b.totalNewModels===0&&b.totalNewProviders===0){_.info(J.sync_providers_up_to_date());return}P(b),W(!0)},onError:(b)=>{_.error(b.message)}}),{data:E,isLoading:F}=J0({queryKey:["teams",z,"providers"],queryFn:async()=>{let b=await g.api.teams[":teamId"].providers.$get({param:{teamId:z}});if(!b.ok)throw Error("Failed to fetch providers");return await b.json()}}),V=U0.useMemo(()=>E?.find((b)=>b.id===Y)||null,[E,Y]),f=U0.useMemo(()=>E?.map((b)=>b.name)||[],[E]),S=U0.useMemo(()=>{if(!E)return[];if(!U.trim())return E;let b=U.toLowerCase();return E.filter((y)=>y.name.toLowerCase().includes(b))},[E,U]),A=o({mutationFn:async(b)=>{let y=await g.api.teams[":teamId"].providers.$post({param:{teamId:z},json:{name:b.name,config:b.config,models:b.models}});if(!y.ok)throw Error("Failed to create provider");return await y.json()},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"providers"]}),Q(!1),_.success(J.provider_created_successfully())},onError:(b)=>{_.error(J.error_message({message:b.message}))}}),C=o({mutationFn:async(b)=>{let y=await g.api.providers[":id"].$delete({param:{id:b}});if(!y.ok)throw Error("Failed to delete provider");return await y.json()},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"providers"]}),H(null),K(!1),R(null),_.success(J.provider_deleted_successfully())},onError:(b)=>{_.error(J.error_message({message:b.message}))}});if(F)return N("div",{className:"flex h-64 items-center justify-center",children:N(u,{className:"h-8 w-8 animate-spin text-primary"})});return X("div",{className:"h-full flex flex-col space-y-0",children:[X("div",{className:"flex-none space-y-4 pb-4",children:[X("div",{className:"flex items-center justify-between",children:[X("h3",{className:"text-lg font-semibold text-foreground flex items-center gap-2",children:[N(J4,{className:"w-5 h-5 text-primary"}),J.configured_ai_providers()]}),X("div",{className:"flex items-center gap-2",children:[N($,{variant:"outline",onClick:()=>h.mutate(),disabled:h.isPending,className:"gap-2",children:h.isPending?X(Z0,{children:[N(u,{className:"w-4 h-4 animate-spin"}),J.sync_providers_checking()]}):X(Z0,{children:[N(M6,{className:"w-4 h-4"}),J.sync_providers()]})}),X($,{onClick:()=>Q(!0),className:"bg-primary hover:bg-primary/90 text-primary-foreground gap-2",children:[N(F0,{className:"w-4 h-4"}),J.add_provider()]})]})]}),X("div",{className:"relative px-0.5",children:[N(H4,{className:"absolute left-3.5 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),N(d,{placeholder:J.search_providers_placeholder(),value:U,onChange:(b)=>w(b.target.value),className:"pl-10 bg-card border-border focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-0"})]})]}),N(K0,{className:"flex-1 min-h-0",children:X("div",{className:"pr-4 py-2 grid grid-cols-1 gap-4",children:[S.map((b)=>N(G0,{className:"group cursor-pointer hover:border-primary/50 transition-all hover:shadow-md overflow-hidden",onClick:()=>H(b.id),children:X(L0,{className:"p-5 flex items-center justify-between gap-4",children:[X("div",{className:"flex items-center gap-4 min-w-0 flex-1",children:[N("div",{className:"flex-none p-3 bg-muted rounded-xl group-hover:bg-primary/10 transition-colors",children:N(I6,{className:"w-6 h-6 text-muted-foreground group-hover:text-primary"})}),X("div",{className:"min-w-0 flex-1",children:[N("div",{className:"flex items-center gap-2",children:N("span",{className:"font-bold text-foreground truncate",children:b.name})}),X("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5 text-xs text-muted-foreground mt-1",children:[X("span",{className:"flex items-center gap-1 flex-none",children:[N(y4,{className:"w-3 h-3"}),b.config.api]}),b.config.baseUrl&&X("span",{className:"flex items-center gap-1 min-w-0",children:[N("span",{className:"h-1 w-1 rounded-full bg-muted-foreground/30 flex-none"}),N(c4,{className:"w-3 h-3 flex-none"}),N("span",{className:"truncate max-w-[200px] md:max-w-[300px]",children:b.config.baseUrl})]}),X("span",{className:"flex items-center gap-1 flex-none",children:[N("span",{className:"h-1 w-1 rounded-full bg-muted-foreground/30 flex-none"}),N(p1,{className:"w-3 h-3"}),J.n_models_count({count:b.modelsCount})]})]})]})]}),X("div",{className:"flex items-center gap-1",children:[X(L4,{modal:!1,children:[N(P4,{asChild:!0,onClick:(y)=>y.stopPropagation(),children:N($,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:N(R4,{className:"w-4 h-4"})})}),N(k4,{align:"end",className:"w-32",children:X(X4,{onClick:(y)=>{y.stopPropagation(),R(b),K(!0)},className:"text-destructive focus:text-destructive gap-2 cursor-pointer",children:[N(A0,{className:"w-4 h-4"})," ",J.delete()]})})]}),N(t4,{className:"flex-none w-5 h-5 text-muted-foreground/50 group-hover:text-primary transition-colors"})]})]})},b.id)),E?.length===0&&X("div",{className:"text-center py-12 bg-muted/30 rounded-2xl border-2 border-dashed border-border",children:[N(J4,{className:"w-12 h-12 text-muted-foreground/50 mx-auto mb-4"}),N("h4",{className:"text-foreground font-medium",children:J.no_providers_configured()}),N("p",{className:"text-sm text-muted-foreground mt-1",children:J.add_first_provider()})]}),E&&E.length>0&&S.length===0&&X("div",{className:"text-center py-12",children:[N(H4,{className:"w-12 h-12 text-muted-foreground/50 mx-auto mb-4"}),N("h4",{className:"text-foreground font-medium",children:J.no_matches_found()}),N("p",{className:"text-sm text-muted-foreground mt-1",children:J.try_adjusting_search({query:U})}),N($,{variant:"ghost",size:"sm",onClick:()=>w(""),className:"mt-4 text-primary hover:text-primary/90 hover:bg-primary/10",children:J.clear_search()})]})]})}),N(iN,{isOpen:B,onClose:()=>Q(!1),onSubmit:(b)=>A.mutate(b),isLoading:A.isPending,existingProviderNames:f}),V&&N(rN,{isOpen:!!V,onClose:()=>H(null),provider:V,teamId:z,existingProviderNames:f}),N(o0,{open:k,onOpenChange:K,children:X(l0,{children:[X(t0,{children:[N(r0,{children:J.are_you_absolutely_sure()}),N(s0,{children:J.delete_provider_confirmation({name:G?.name??""})})]}),X(i0,{children:[N(N4,{onClick:()=>R(null),children:J.cancel()}),X(e0,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{if(G)C.mutate(G.id)},children:[C.isPending?N(u,{className:"w-4 h-4 animate-spin mr-2"}):N(A0,{className:"w-4 h-4 mr-2"}),J.delete()]})]})]})}),N(n1,{isOpen:q,onClose:()=>W(!1),teamId:z,syncData:L,onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"providers"]})}})]})}function iN({isOpen:z,onClose:Z,onSubmit:Y,isLoading:H,existingProviderNames:B}){let[Q,U]=U0.useState([]),[w,k]=U0.useState(!1),[K,G]=U0.useState(null),R=U0.useMemo(()=>{return w0.object({name:w0.string().min(1,J.provider_name_is_required()).refine((P)=>!B.includes(P),{message:J.provider_name_must_be_unique()}),config:U1})},[B]),q=D4({defaultValues:{name:"",config:{api:"openai-completions",baseUrl:"",apiKey:""}},validators:{onSubmit:R},onSubmit:async({value:P})=>{Y({name:P.name,config:P.config,models:Q})}});U0.useEffect(()=>{if(z)q.reset(),U([]),k(!1),G(null)},[z,q]);let W=(P)=>{return P.map((h)=>{if(typeof h==="string")return{message:h};if(h&&typeof h==="object"&&"message"in h)return{message:String(h.message)};return{message:String(h||"")}})},L=(P)=>{if(K!==null)U((h)=>h.map((E,F)=>F===K?P:E)),G(null);else U((h)=>[P,...h]),k(!1)};return N(S0,{open:z,onOpenChange:Z,children:X(D0,{className:"sm:max-w-2xl h-[85vh] flex flex-col p-0 overflow-hidden",children:[X(y0,{className:"p-6 pb-2 shrink-0",children:[N(O0,{className:"text-xl",children:J.add_new_provider()}),N(j0,{children:J.configure_provider_description()})]}),X("form",{onSubmit:(P)=>{P.preventDefault(),P.stopPropagation(),q.handleSubmit()},className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[N("div",{className:"flex-1 min-h-0",children:N(K0,{className:"h-full",children:X("div",{className:"p-6 pt-2 space-y-6 pr-6",children:[X("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 p-5 rounded-2xl border bg-muted/20",children:[N(q.Field,{name:"name",children:(P)=>{let h=!!P.state.meta.errors.length&&P.state.meta.isTouched;return X(z0,{"data-invalid":h,children:[N(Y0,{htmlFor:P.name,children:J.provider_name()}),N(d,{id:P.name,name:P.name,value:P.state.value,onBlur:P.handleBlur,onChange:(E)=>P.handleChange(E.target.value),placeholder:J.provider_name_placeholder(),"aria-invalid":h}),h&&N(T0,{errors:W(P.state.meta.errors)})]})}}),N(q.Field,{name:"config.api",children:(P)=>{let h=!!P.state.meta.errors.length&&P.state.meta.isTouched;return X(z0,{"data-invalid":h,children:[N(Y0,{htmlFor:P.name,children:J.global_api_protocol()}),X(H0,{onValueChange:P.handleChange,value:P.state.value,children:[N(Q0,{id:P.name,"aria-invalid":h,children:N(W0,{placeholder:J.select_api_protocol()})}),N(q0,{children:q1.map((E)=>N(x,{value:E,children:o1[E]},E))})]}),h&&N(T0,{errors:W(P.state.meta.errors)})]})}}),N("div",{className:"md:col-span-2",children:N(q.Field,{name:"config.baseUrl",children:(P)=>{let h=!!P.state.meta.errors.length&&P.state.meta.isTouched;return X(z0,{"data-invalid":h,children:[N(Y0,{htmlFor:P.name,children:J.base_url_optional()}),N(d,{id:P.name,name:P.name,value:P.state.value||"",onBlur:P.handleBlur,onChange:(E)=>P.handleChange(E.target.value),placeholder:"https://api.openai.com/v1","aria-invalid":h}),N(J6,{children:J.override_default_endpoint()}),h&&N(T0,{errors:W(P.state.meta.errors)})]})}})}),N("div",{className:"md:col-span-2",children:N(q.Field,{name:"config.apiKey",children:(P)=>{let h=!!P.state.meta.errors.length&&P.state.meta.isTouched;return X(z0,{"data-invalid":h,children:[N(Y0,{htmlFor:P.name,children:J.api_key()}),N(d,{id:P.name,name:P.name,type:"text",value:P.state.value||"",onBlur:P.handleBlur,onChange:(E)=>P.handleChange(E.target.value),placeholder:J.api_key_placeholder(),"aria-invalid":h}),N(J6,{className:"text-xs mt-1",children:J.api_key_description()}),h&&N(T0,{errors:W(P.state.meta.errors)})]})}})})]}),X("div",{className:"space-y-3",children:[X("div",{className:"flex items-center justify-between",children:[X("div",{children:[N(t,{className:"text-base font-semibold",children:J.models()}),N("p",{className:"text-xs text-muted-foreground mt-0.5",children:J.models_configuration()})]}),X($,{type:"button",variant:"outline",size:"sm",onClick:()=>k(!0),className:"gap-1.5",children:[N(F0,{className:"w-4 h-4"}),J.add_model()]})]}),Q.length===0?N("div",{className:"text-center py-8 rounded-xl border border-dashed text-muted-foreground text-sm",children:J.no_models_found()}):N("div",{className:"space-y-2",children:Q.map((P,h)=>X("div",{className:"group cursor-pointer flex items-center justify-between p-3 rounded-xl border bg-card hover:border-primary/50 transition-all shadow-none hover:shadow-sm",onClick:()=>G(h),children:[X("div",{className:"min-w-0 flex-1",children:[X("div",{className:"flex items-center gap-2",children:[N("span",{className:"font-semibold text-foreground truncate",children:P.name||P.modelId}),N(i,{variant:"secondary",className:"font-mono text-[10px]",children:P.modelId}),P.config.reasoning&&X(i,{variant:"outline",className:"text-[10px] gap-1 bg-primary/10 text-primary border-primary/20",children:[N(y4,{className:"w-2.5 h-2.5"})," ",J.reasoning_support()]})]}),X("div",{className:"text-xs text-muted-foreground mt-1 flex items-center gap-2",children:[X("span",{children:[P.config.contextWindow?.toLocaleString()," ",J.tokens()]}),N("span",{children:"·"}),N("span",{children:J.cost_per_million({input:P.config.cost?.input??0,output:P.config.cost?.output??0})})]})]}),N("div",{className:"flex items-center gap-1 ml-2",children:N($,{type:"button",variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-destructive",onClick:(E)=>{E.stopPropagation(),U((F)=>F.filter((V,f)=>f!==h))},children:N(A0,{className:"w-3.5 h-3.5"})})})]},P.modelId+h))})]})]})})}),X(g0,{className:"p-6 pt-4 border-t border-border gap-2 shrink-0",children:[N($,{type:"button",variant:"outline",onClick:Z,disabled:H,children:J.cancel()}),N(q.Subscribe,{selector:(P)=>[P.canSubmit,P.isSubmitting],children:([P,h])=>N($,{type:"submit",className:"min-w-[120px]",disabled:!P||h||H,children:h||H?N(u,{className:"w-4 h-4 animate-spin"}):J.add_provider()})})]})]}),(w||K!==null)&&N(F6,{isOpen:!0,onClose:()=>{k(!1),G(null)},onSubmit:L,title:K!==null?J.edit_model():J.add_model(),initialValues:K!==null?Q[K]:null,defaultApi:q.getFieldValue("config.api"),existingModelIds:Q.filter((P,h)=>h!==K).map((P)=>P.modelId)},K!==null?`edit-${K}-${Q[K]?.modelId}`:"add")]})})}function rN({isOpen:z,onClose:Z,provider:Y,teamId:H,existingProviderNames:B}){let Q=B0(),[U,w]=U0.useState("general"),[k,K]=U0.useState(""),[G,R]=U0.useState(!1),[q,W]=U0.useState(null),[L,P]=U0.useState(null),{data:h=[],isLoading:E}=J0({queryKey:["teams",H,"providers",Y.id,"models"],queryFn:async()=>{let T=await g.api.providers[":id"].models.$get({param:{id:Y.id}});if(!T.ok)throw Error("Failed to fetch models");return await T.json()},enabled:z}),F=o({mutationFn:async(T)=>{let O=await g.api.providers[":id"].$put({param:{id:Y.id},json:{name:T.name,config:T.config}});if(!O.ok)throw Error("Failed to update provider");return await O.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["teams",H,"providers"]}),_.success(J.provider_updated_successfully())},onError:(T)=>{_.error(J.error_message({message:T.message}))}}),V=o({mutationFn:async(T)=>{let O=await g.api.providers[":id"].models.$post({param:{id:Y.id},json:T});if(!O.ok)throw Error("Failed to create model");return await O.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["teams",H,"providers",Y.id,"models"]}),Q.invalidateQueries({queryKey:["teams",H,"providers"]}),R(!1),_.success(J.model_created_successfully())},onError:(T)=>{_.error(J.error_message({message:T.message}))}}),f=o({mutationFn:async({modelDbId:T,values:O})=>{let p=await g.api.providers[":id"].models[":modelDbId"].$put({param:{id:Y.id,modelDbId:T},json:O});if(!p.ok)throw Error("Failed to update model");return await p.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["teams",H,"providers",Y.id,"models"]}),W(null),_.success(J.model_updated_successfully())},onError:(T)=>{_.error(J.error_message({message:T.message}))}}),S=o({mutationFn:async(T)=>{let O=await g.api.providers[":id"].models[":modelDbId"].$delete({param:{id:Y.id,modelDbId:T}});if(!O.ok)throw Error("Failed to delete model");return await O.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["teams",H,"providers",Y.id,"models"]}),Q.invalidateQueries({queryKey:["teams",H,"providers"]}),P(null),_.success(J.model_deleted_successfully())},onError:(T)=>{_.error(J.error_message({message:T.message}))}}),A=U0.useMemo(()=>{return w0.object({name:w0.string().min(1,J.provider_name_is_required()).refine((T)=>{if(Y.name===T)return!0;return!B.includes(T)},{message:J.provider_name_must_be_unique()}),config:U1})},[B,Y.name]),C=D4({defaultValues:{name:Y.name,config:Y.config},validators:{onSubmit:A},onSubmit:async({value:T})=>{F.mutate({name:T.name,config:T.config})}});U0.useEffect(()=>{if(z)C.reset(),w("general"),K("")},[z,C]);let b=(T)=>{return T.map((O)=>{if(typeof O==="string")return{message:O};if(O&&typeof O==="object"&&"message"in O)return{message:String(O.message)};return{message:String(O||"")}})},y=U0.useMemo(()=>{if(!k.trim())return h;let T=k.toLowerCase();return h.filter((O)=>O.modelId.toLowerCase().includes(T)||O.name?.toLowerCase().includes(T))},[h,k]);return N(S0,{open:z,onOpenChange:Z,children:X(D0,{className:"sm:max-w-3xl h-[88vh] flex flex-col p-0 overflow-hidden",children:[X(y0,{className:"p-6 pb-2 shrink-0",children:[N(O0,{className:"text-xl",children:J.edit_item({name:Y.name})}),N(j0,{children:J.configure_provider_description()})]}),X(d1,{value:U,onValueChange:(T)=>w(T),className:"flex-1 flex flex-col min-h-0",children:[N("div",{className:"px-6 pb-2 shrink-0",children:X(a1,{className:"grid w-full grid-cols-2",children:[N(W1,{value:"general",children:J.general_settings()}),X(W1,{value:"models",className:"gap-2",children:[J.models(),N(i,{variant:"secondary",className:"h-5 px-1.5 text-[11px]",children:h.length})]})]})}),N(Q1,{value:"general",className:"flex-1 flex flex-col min-h-0 m-0",children:X("form",{onSubmit:(T)=>{T.preventDefault(),T.stopPropagation(),C.handleSubmit()},className:"flex-1 flex flex-col min-h-0",children:[N("div",{className:"flex-1 min-h-0",children:N(K0,{className:"h-full",children:N("div",{className:"p-6 space-y-6 pr-6",children:X("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-5 p-5 rounded-2xl border bg-muted/10",children:[N(C.Field,{name:"name",children:(T)=>{let O=!!T.state.meta.errors.length&&T.state.meta.isTouched;return X(z0,{"data-invalid":O,children:[N(Y0,{htmlFor:T.name,children:J.provider_name()}),N(d,{id:T.name,name:T.name,value:T.state.value,onBlur:T.handleBlur,onChange:(p)=>T.handleChange(p.target.value),placeholder:J.provider_name_placeholder(),"aria-invalid":O}),O&&N(T0,{errors:b(T.state.meta.errors)})]})}}),N(C.Field,{name:"config.api",children:(T)=>{let O=!!T.state.meta.errors.length&&T.state.meta.isTouched;return X(z0,{"data-invalid":O,children:[N(Y0,{htmlFor:T.name,children:J.global_api_protocol()}),X(H0,{onValueChange:T.handleChange,value:T.state.value,children:[N(Q0,{id:T.name,"aria-invalid":O,children:N(W0,{placeholder:J.select_api_protocol()})}),N(q0,{children:q1.map((p)=>N(x,{value:p,children:o1[p]},p))})]}),O&&N(T0,{errors:b(T.state.meta.errors)})]})}}),N("div",{className:"md:col-span-2",children:N(C.Field,{name:"config.baseUrl",children:(T)=>{let O=!!T.state.meta.errors.length&&T.state.meta.isTouched;return X(z0,{"data-invalid":O,children:[N(Y0,{htmlFor:T.name,children:J.base_url_optional()}),N(d,{id:T.name,name:T.name,value:T.state.value||"",onBlur:T.handleBlur,onChange:(p)=>T.handleChange(p.target.value),placeholder:"https://api.openai.com/v1","aria-invalid":O}),N(J6,{children:J.override_default_endpoint()}),O&&N(T0,{errors:b(T.state.meta.errors)})]})}})}),N("div",{className:"md:col-span-2",children:N(C.Field,{name:"config.apiKey",children:(T)=>{let O=!!T.state.meta.errors.length&&T.state.meta.isTouched;return X(z0,{"data-invalid":O,children:[N(Y0,{htmlFor:T.name,children:J.api_key()}),N(d,{id:T.name,name:T.name,type:"text",value:T.state.value||"",onBlur:T.handleBlur,onChange:(p)=>T.handleChange(p.target.value),placeholder:J.api_key_placeholder(),"aria-invalid":O}),N(J6,{className:"text-xs mt-1",children:J.api_key_description()}),O&&N(T0,{errors:b(T.state.meta.errors)})]})}})})]})})})}),X(g0,{className:"p-6 pt-4 border-t border-border gap-2 shrink-0",children:[N($,{type:"button",variant:"outline",onClick:Z,children:J.cancel()}),N(C.Subscribe,{selector:(T)=>[T.canSubmit,T.isSubmitting],children:([T,O])=>N($,{type:"submit",className:"min-w-[120px]",disabled:!T||O||F.isPending,children:O||F.isPending?N(u,{className:"w-4 h-4 animate-spin"}):J.save_changes()})})]})]})}),X(Q1,{value:"models",className:"flex-1 flex flex-col min-h-0 m-0",children:[X("div",{className:"p-6 pb-3 flex items-center justify-between gap-3 shrink-0",children:[X("div",{className:"relative flex-1 max-w-sm",children:[N(H4,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),N(d,{placeholder:J.search_models_placeholder(),value:k,onChange:(T)=>K(T.target.value),className:"pl-9 h-9"})]}),X($,{size:"sm",onClick:()=>R(!0),className:"gap-1.5 shrink-0",children:[N(F0,{className:"w-4 h-4"}),J.add_model()]})]}),N("div",{className:"flex-1 min-h-0 px-6",children:N(K0,{className:"h-full pr-4",children:E?N("div",{className:"flex h-48 items-center justify-center",children:N(u,{className:"h-6 w-6 animate-spin text-primary"})}):y.length===0?N("div",{className:"text-center py-12 border border-dashed rounded-xl text-muted-foreground text-sm",children:J.no_models_found()}):N("div",{className:"space-y-2 pb-4",children:y.map((T)=>X("div",{className:"group cursor-pointer flex items-center justify-between p-3.5 rounded-xl border bg-card hover:border-primary/50 transition-all shadow-none hover:shadow-sm",onClick:()=>W(T),children:[X("div",{className:"min-w-0 flex-1 pr-3",children:[X("div",{className:"flex items-center gap-2 flex-wrap",children:[N("span",{className:"font-semibold text-foreground text-sm",children:T.name||T.modelId}),N(i,{variant:"secondary",className:"font-mono text-[10px] px-1.5 py-0.5",children:T.modelId}),T.config?.reasoning&&X(i,{variant:"outline",className:"text-[10px] gap-1 bg-primary/10 text-primary border-primary/20 h-5",children:[N(y4,{className:"w-2.5 h-2.5"})," ",J.reasoning_support()]})]}),X("div",{className:"text-xs text-muted-foreground mt-1.5 flex flex-wrap items-center gap-x-2 gap-y-1",children:[X("span",{children:[T.config?.contextWindow?.toLocaleString()," ",J.tokens()]}),N("span",{children:"·"}),N("span",{children:J.max_tokens_label({count:T.config?.maxTokens?.toLocaleString()??"0"})}),N("span",{children:"·"}),N("span",{children:J.cost_per_million({input:T.config?.cost?.input??0,output:T.config?.cost?.output??0})})]})]}),N("div",{className:"flex items-center gap-1 shrink-0",children:N($,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-destructive",onClick:(O)=>{O.stopPropagation(),P(T)},children:N(A0,{className:"w-3.5 h-3.5"})})})]},T.id))})})})]})]}),G&&N(F6,{isOpen:G,onClose:()=>R(!1),onSubmit:(T)=>V.mutate(T),title:J.add_model(),isLoading:V.isPending,defaultApi:Y.config.api,existingModelIds:h.map((T)=>T.modelId)}),q&&N(F6,{isOpen:!!q,onClose:()=>W(null),onSubmit:(T)=>f.mutate({modelDbId:q.id,values:T}),title:J.edit_model(),isLoading:f.isPending,initialValues:{modelId:q.modelId,name:q.name,config:q.config},defaultApi:Y.config.api,existingModelIds:h.filter((T)=>T.id!==q.id).map((T)=>T.modelId)}),N(o0,{open:!!L,onOpenChange:(T)=>!T&&P(null),children:X(l0,{children:[X(t0,{children:[N(r0,{children:J.are_you_absolutely_sure()}),N(s0,{children:J.delete_model_confirmation({name:L?.name||L?.modelId||""})})]}),X(i0,{children:[N(N4,{onClick:()=>P(null),children:J.cancel()}),X(e0,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{if(L)S.mutate(L.id)},children:[S.isPending?N(u,{className:"w-4 h-4 animate-spin mr-2"}):N(A0,{className:"w-4 h-4 mr-2"}),J.delete()]})]})]})})]})})}var i1=P0(k0(),1);function r1({teamId:z}){let Z=B0(),[Y,H]=i1.useState(""),{data:B,isLoading:Q}=J0({queryKey:["teams",z,"sandbox"],queryFn:async()=>{let L=await g.api.teams[":teamId"].sandbox.$get({param:{teamId:z}});if(!L.ok)throw Error(J.failed_load_settings());return await L.json()}}),{mutate:U,isPending:w}=o({mutationFn:async(L)=>{let P=await g.api.teams[":teamId"].sandbox.$put({param:{teamId:z},json:L});if(!P.ok)throw Error(J.failed_to_update_sandbox_settings());return await P.json()},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"sandbox"]}),_.success(J.sandbox_settings_updated())},onError:(L)=>{_.error(L instanceof Error?L.message:J.failed_to_update_sandbox_settings())}}),k=(L)=>{U({networkSandboxEnabled:L})},K=(L)=>{if(L.preventDefault(),!Y.trim())return;if(B?.allowedDomains.includes(Y.trim())){_.error(J.domain_already_exists());return}let P=[...B?.allowedDomains||[],Y.trim()],h=B?.pendingDomains||[];U({allowedDomains:P,pendingDomains:h}),H("")},G=(L)=>{let P=(B?.allowedDomains||[]).filter((E)=>E!==L),h=B?.pendingDomains||[];U({allowedDomains:P,pendingDomains:h})},R=(L)=>{let P=[...B?.allowedDomains||[],L],h=(B?.pendingDomains||[]).filter((E)=>E!==L);U({allowedDomains:P,pendingDomains:h})},q=(L)=>{let P=(B?.pendingDomains||[]).filter((h)=>h!==L);U({allowedDomains:B?.allowedDomains||[],pendingDomains:P})};if(Q)return N("div",{className:"flex items-center justify-center p-8",children:N(u,{className:"h-8 w-8 animate-spin text-muted-foreground"})});let W=!!B?.networkSandboxEnabled;return N(K0,{className:"h-full",children:X("div",{className:"space-y-6 pr-4 pb-8",children:[X(G0,{children:[X(C0,{children:[X("div",{className:"flex items-center gap-2",children:[N(I6,{className:"w-5 h-5 text-primary"}),N(b0,{children:J.network_sandbox()})]}),N(E0,{children:J.network_sandbox_description()})]}),X(L0,{children:[X("div",{className:"flex items-center justify-between p-4 mb-6 rounded-lg border border-border bg-muted/30",children:[X("div",{className:"space-y-0.5 pr-4",children:[N("label",{htmlFor:"network-sandbox-switch",className:"text-sm font-medium text-foreground cursor-pointer",children:J.enable_network_sandbox()}),N("p",{className:"text-xs text-muted-foreground",children:J.network_sandbox_enabled_description()})]}),N(R0,{id:"network-sandbox-switch",checked:W,onCheckedChange:k,disabled:w})]}),!W&&X("div",{className:"flex items-start gap-2.5 p-3.5 mb-6 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-300 text-sm",children:[N(c4,{className:"w-4 h-4 mt-0.5 shrink-0"}),N("span",{children:J.network_sandbox_disabled_notice()})]}),X("form",{onSubmit:K,className:"flex gap-2 mb-6",children:[N(d,{placeholder:"e.g. api.openai.com",value:Y,onChange:(L)=>H(L.target.value),disabled:w||!W}),X($,{type:"submit",disabled:w||!W,children:[w?N(u,{className:"w-4 h-4 animate-spin"}):N(F0,{className:"w-4 h-4 mr-2"}),J.add_domain()]})]}),X("div",{className:"space-y-2",children:[N("h4",{className:"text-sm font-medium text-muted-foreground mb-3",children:J.allowed_domains()}),X("div",{className:"flex flex-wrap gap-2",children:[B?.allowedDomains.map((L)=>X("div",{className:"flex items-center gap-1 px-3 py-1.5 bg-muted rounded-full text-sm border border-border transition-all hover:border-muted-foreground/50",children:[N("span",{className:"font-medium text-foreground",children:L}),N("button",{onClick:()=>G(L),className:"ml-1 text-muted-foreground hover:text-destructive transition-colors disabled:opacity-50 disabled:cursor-not-allowed",disabled:w||!W,children:N(S6,{className:"w-3.5 h-3.5"})})]},L)),B?.allowedDomains.length===0&&N("div",{className:"text-sm text-muted-foreground italic",children:J.no_custom_domains_allowed()})]})]})]})]}),X(G0,{className:"border-orange-500/20 bg-orange-500/5",children:[X(C0,{children:[X("div",{className:"flex items-center gap-2",children:[N(t1,{className:"w-5 h-5 text-orange-500"}),N(b0,{children:J.pending_domain_approvals()})]}),N(E0,{children:J.pending_domains_description()})]}),N(L0,{children:N("div",{className:"space-y-3",children:B?.pendingDomains&&B.pendingDomains.length>0?N("div",{className:"divide-y divide-border",children:B.pendingDomains.map((L)=>X("div",{className:"flex items-center justify-between py-2.5 first:pt-0 last:pb-0",children:[N("span",{className:"font-mono text-sm text-foreground bg-muted px-2 py-1 rounded break-all",children:L}),X("div",{className:"flex items-center gap-2",children:[X($,{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(L),disabled:w||!W,children:[N(f4,{className:"w-4 h-4 mr-1.5"}),J.approve()]}),X($,{size:"sm",variant:"outline",className:"h-8 border-destructive/20 text-destructive hover:bg-destructive/10",onClick:()=>q(L),disabled:w||!W,children:[N(A0,{className:"w-4 h-4 mr-1.5"}),J.delete()]})]})]},L))}):N("div",{className:"text-sm text-muted-foreground italic py-2",children:J.no_pending_domains()})})})]}),N(G0,{children:X(C0,{children:[N(b0,{children:J.filesystem_restriction()}),N(E0,{children:J.filesystem_restriction_description()})]})})]})})}var W4=P0(k0(),1);var sN=(z)=>X("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",...z,children:[N("path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}),N("path",{d:"M9 18c-4.51 2-5-2-7-2"})]}),NN=({teamId:z})=>{let Z=B0(),{canAdmin:Y}=O4(),[H,B]=W4.useState(!1),[Q,U]=W4.useState(!1),[w,k]=W4.useState(!1),[K,G]=W4.useState(null),{data:R,isLoading:q}=J0({queryKey:["teams",z,"skills"],queryFn:async()=>{let h=await g.api.teams[":teamId"].skills.$get({param:{teamId:z}});if(!h.ok)throw Error(J.failed_load_settings());return await h.json()}}),W=o({mutationFn:async(h)=>{if(!(await g.api.skills[":id"].$delete({param:{id:h}})).ok)throw Error(J.failed_to_delete())},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"skills"]}),k(!1)}}),L=o({mutationFn:async({id:h,permission:E})=>{if(!(await g.api.skills[":id"].permission.$patch({param:{id:h},json:{permission:E}})).ok)throw Error(J.failed_to_update_permission())},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"skills"]})},onError:(h)=>{alert(h.message||J.failed_to_update_permission())}}),P=R?.skills||[];return X(G0,{children:[X(C0,{className:"flex flex-row items-center justify-between space-y-0 pb-7",children:[X("div",{className:"flex items-center gap-3",children:[N("div",{className:"p-2 bg-primary/10 text-primary rounded-lg",children:N(G4,{className:"w-6 h-6"})}),X("div",{children:[N(b0,{className:"text-xl font-bold",children:J.skills_management()}),N(E0,{children:J.skills_management_description()})]})]}),X($,{onClick:()=>B(!0),className:"gap-2",children:[N(F0,{className:"w-4 h-4"})," ",J.add_skill()]})]}),N(L0,{children:q?N("div",{className:"flex justify-center py-10",children:N(u,{className:"w-8 h-8 animate-spin text-primary"})}):P.length===0?X("div",{className:"text-center py-12 border-2 border-dashed border-border rounded-xl",children:[N("div",{className:"mx-auto w-12 h-12 bg-muted rounded-full flex items-center justify-center mb-4 text-muted-foreground",children:N(G4,{className:"w-6 h-6"})}),N("h3",{className:"text-lg font-medium text-foreground",children:J.no_skills_installed()}),N("p",{className:"text-muted-foreground mt-1 max-w-xs mx-auto",children:J.add_skill_to_get_started()})]}):N("div",{className:"space-y-4",children:P.map((h)=>N(eN,{skill:h,canAdmin:Y,onDelete:()=>{G(h),k(!0)},onConfigure:()=>{G(h),U(!0)},onPermissionChange:(E)=>L.mutate({id:h.id,permission:E})},h.id))})}),N(N7,{open:H,onOpenChange:B,teamId:z}),K&&N(J7,{open:Q,onOpenChange:(h)=>{if(U(h),!h)setTimeout(()=>{document.body.style.pointerEvents="auto"},100)},teamId:z,skill:K}),N(o0,{open:w,onOpenChange:k,children:X(l0,{children:[X(t0,{children:[N(r0,{children:J.are_you_absolutely_sure()}),N(s0,{children:J.delete_skill_confirmation({name:K?.name??""})})]}),X(i0,{children:[N(N4,{children:J.cancel()}),X(e0,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{if(K)W.mutate(K.id)},children:[W.isPending?N(u,{className:"w-4 h-4 animate-spin mr-2"}):N(A0,{className:"w-4 h-4 mr-2"}),J.delete()]})]})]})})]})},eN=({skill:z,canAdmin:Z,onDelete:Y,onConfigure:H,onPermissionChange:B})=>{return X("div",{className:"p-4 bg-card rounded-xl border border-border flex flex-col justify-between hover:shadow-md transition-all group cursor-pointer",onClick:H,children:[X("div",{children:[X("div",{className:"flex items-start justify-between mb-2",children:[N("h4",{className:"font-bold text-foreground flex items-center gap-2",children:z.name}),X(L4,{children:[N(P4,{asChild:!0,onClick:(Q)=>Q.stopPropagation(),children:N($,{variant:"ghost",size:"icon",className:"h-8 w-8",children:N(R4,{className:"w-4 h-4"})})}),N(k4,{align:"end",className:"w-32",children:X(X4,{onClick:(Q)=>{Q.stopPropagation(),Y()},className:"text-destructive focus:text-destructive gap-2 cursor-pointer",children:[N(A0,{className:"w-4 h-4"})," ",J.delete()]})})]})]}),N("p",{className:"text-sm text-muted-foreground line-clamp-2",children:z.description||J.no_description_provided()})]}),X("div",{className:"mt-4 flex items-center justify-between gap-2 pt-2 border-t border-border/50 text-xs",children:[X("span",{className:"text-[10px] text-muted-foreground uppercase tracking-wider font-semibold",children:[J.updated_date()," ",new Date(z.updatedAt).toLocaleDateString()]}),N("div",{className:"flex items-center gap-2",onClick:(Q)=>Q.stopPropagation(),children:X(H0,{value:z.permission||"reviewer",onValueChange:(Q)=>B(Q),disabled:!Z,children:[N(Q0,{className:"h-7 text-xs px-2 bg-background border-border w-[140px]",children:N(W0,{placeholder:J.skill_permission()})}),X(q0,{align:"end",children:[N(x,{value:"reviewer",children:J.permission_all_users()}),N(x,{value:"editor",children:J.permission_owner_and_editor()}),N(x,{value:"owner",children:J.permission_owner_only()})]})]})})]})]})},N7=({open:z,onOpenChange:Z,teamId:Y})=>{let H=B0(),[B,Q]=W4.useState(""),[U,w]=W4.useState(!1),k=W4.useRef(null),{data:K}=J0({queryKey:["teams",Y,"projects"],queryFn:async()=>{let q=await g.api.teams[":teamId"].projects.$get({param:{teamId:Y},query:{first:"1"}});if(!q.ok)throw Error("Failed to fetch projects");return await q.json()},enabled:z}),G=async(q)=>{w(!0);try{let W=await g.api.teams[":teamId"].skills.$post({param:{teamId:Y},json:q});if(W.status===409){let L=await W.json();if(window.confirm(`${L.error}
2
-
3
- ${J.override_existing_skill()}`)){await G({...q,override:!0});return}}else if(!W.ok){let L=await W.json().catch(()=>({}));throw Error(L.error||J.failed_to_install_skill())}else H.invalidateQueries({queryKey:["teams",Y,"skills"]}),Z(!1),Q("")}catch(W){if(W instanceof Error)alert(W.message);else alert(J.an_unknown_error_occurred())}finally{w(!1)}},R=async(q)=>{if(!q||q.length===0)return;let W=K?.data?.[0]?.id;if(!W){alert(J.need_project_to_upload_skills());return}let L=q[0];if(!L.name.toLowerCase().endsWith(".zip")){alert(J.only_zip_files_supported());return}w(!0);try{let P=L.name,h=L.type||"application/zip",E=await g.api.projects[":projectId"].attachments.$post({param:{projectId:W},json:{fileName:P,size:L.size,contentType:h}});if(!E.ok)throw Error("Failed to get upload URL");let{id:F,uploadUrl:V}=await E.json();if(!(await fetch(V,{method:"PUT",body:L,headers:{"Content-Type":h}})).ok)throw Error("Failed to upload file to storage");await G({assetId:F})}catch(P){if(P instanceof Error)alert(P.message);else alert(J.an_unknown_error_occurred())}finally{w(!1)}};return N(S0,{open:z,onOpenChange:Z,children:X(D0,{className:"sm:max-w-[450px]",children:[X(y0,{children:[N(O0,{children:J.add_new_skill()}),N(j0,{children:J.import_skill_description()})]}),X("div",{className:"space-y-6 pt-4",children:[X("div",{className:"space-y-3",children:[N(t,{children:J.package_upload()}),X("div",{onClick:()=>!U&&k.current?.click(),className:N0("group relative h-32 border-2 border-dashed rounded-xl flex flex-col items-center justify-center transition-all cursor-pointer",U?"opacity-50 cursor-not-allowed bg-muted/50 border-border":"hover:bg-primary/5 hover:border-primary/50 border-border"),children:[N("input",{type:"file",ref:k,className:"hidden",accept:".zip",onChange:(q)=>R(q.target.files)}),N("div",{className:"p-3 bg-muted rounded-full group-hover:bg-primary/10 transition-colors",children:N(e1,{className:"w-6 h-6 text-muted-foreground group-hover:text-primary"})}),X("div",{className:"mt-3 text-center",children:[N("p",{className:"text-sm font-medium text-foreground",children:J.select_zip_file()}),N("p",{className:"text-[10px] text-muted-foreground mt-1 uppercase tracking-wider font-semibold",children:J.packages_must_contain_skill_md()})]})]}),U&&!B&&X("div",{className:"flex items-center gap-2 text-sm text-primary justify-center bg-primary/10 py-2 rounded-lg animate-pulse",children:[N(u,{className:"w-4 h-4 animate-spin"}),J.processing_package()]})]}),X("div",{className:"relative",children:[N("div",{className:"absolute inset-0 flex items-center",children:N("span",{className:"w-full border-t border-border"})}),N("div",{className:"relative flex justify-center text-xs uppercase",children:N("span",{className:"bg-background px-2 text-muted-foreground font-bold",children:J.or()})})]}),N("div",{className:"space-y-4",children:X("div",{className:"space-y-2",children:[N(t,{htmlFor:"githubUrl",children:J.github_repository_url()}),X("div",{className:"flex gap-2",children:[X("div",{className:"relative flex-1",children:[N(sN,{className:"absolute left-3 top-2.5 w-4 h-4 text-muted-foreground"}),N(d,{id:"githubUrl",placeholder:"https://github.com/owner/repo",value:B,onChange:(q)=>Q(q.target.value),disabled:U,className:"pl-9"})]}),N($,{onClick:()=>G({githubUrl:B}),disabled:!B||U,className:"px-6",children:U&&B?N(u,{className:"w-4 h-4 animate-spin"}):J.install()})]}),N("p",{className:"text-[10px] text-muted-foreground italic",children:J.github_url_example()})]})})]})]})})},J7=({open:z,onOpenChange:Z,teamId:Y,skill:H})=>{let B=B0(),[Q,U]=W4.useState({...H.config||{},environmentVariables:H.config?.environmentVariables||[]}),[w,k]=W4.useState(!1),K=(P,h)=>{let E=[...Q.environmentVariables];E[P]={...E[P],default:h},U({...Q,environmentVariables:E})},G=(P,h)=>{let E=[...Q.environmentVariables];E[P]={...E[P],name:h},U({...Q,environmentVariables:E})},R=()=>{U({...Q,environmentVariables:[...Q.environmentVariables,{name:"",default:""}]})},q=(P)=>{let h=[...Q.environmentVariables];h.splice(P,1),U({...Q,environmentVariables:h})},W=async()=>{let P=Q.environmentVariables.filter((E)=>E.name.trim()!==""),h={...Q,environmentVariables:P};k(!0);try{let E=await g.api.skills[":id"].config.$patch({param:{id:H.id},json:{config:h}});if(!E.ok){let F=await E.json().catch(()=>({}));throw Error(F.error||"Failed to update config")}B.invalidateQueries({queryKey:["teams",Y,"skills"]}),Z(!1)}catch(E){if(E instanceof Error)alert(E.message);else alert(J.an_unknown_error_occurred())}finally{k(!1)}},L=Q?.environmentVariables||[];return N(S0,{open:z,onOpenChange:Z,children:X(D0,{className:"sm:max-w-[500px]",children:[X(y0,{children:[N("div",{className:"flex items-center justify-between",children:X(O0,{className:"flex items-center gap-2",children:[N(s1,{className:"w-5 h-5 text-primary"}),J.configure_skill({name:H.name})]})}),N(j0,{children:J.manage_env_vars_description()})]}),N(K0,{className:"max-h-[60vh]",children:N("div",{className:"py-4 space-y-4 pr-4",children:L.length===0?N("div",{className:"text-center py-10 bg-muted/50 rounded-xl border border-dashed border-border",children:N("p",{className:"text-muted-foreground text-sm italic",children:J.no_env_vars_found()})}):L.map((P,h)=>X("div",{className:"p-4 bg-muted/50 rounded-xl border border-border space-y-3 relative group",children:[N("button",{onClick:()=>q(h),className:"absolute top-2 right-2 p-1 text-muted-foreground hover:text-destructive hover:bg-destructive/10 rounded-md transition-colors opacity-0 group-hover:opacity-100",children:N(S6,{className:"w-4 h-4"})}),X("div",{className:"space-y-1.5",children:[N(t,{className:"text-[10px] uppercase tracking-wider font-bold text-muted-foreground",children:J.variable_name()}),N(d,{value:P.name,onChange:(E)=>G(h,E.target.value),placeholder:"e.g. API_KEY",className:"h-8 bg-background border-border text-sm font-mono"})]}),X("div",{className:"space-y-1.5",children:[N(t,{className:"text-[10px] uppercase tracking-wider font-bold text-muted-foreground",children:J.default_value()}),N(d,{value:P.default||"",onChange:(E)=>K(h,E.target.value),placeholder:J.optional_default_value_placeholder(),className:"h-8 bg-background border-border text-sm"}),N("p",{className:"text-[10px] text-muted-foreground italic",children:J.env_var_empty_note()})]})]},h))})}),X(g0,{className:"flex items-center justify-between sm:justify-between w-full pt-2 border-t border-border",children:[X($,{variant:"ghost",size:"sm",onClick:R,className:"h-8 gap-1.5 text-primary hover:text-primary hover:bg-primary/10",children:[N(F0,{className:"w-3.5 h-3.5"})," ",J.add_variable()]}),X("div",{className:"flex gap-2",children:[N($,{variant:"ghost",onClick:()=>Z(!1),children:J.cancel()}),X($,{onClick:W,disabled:w,className:"px-8",children:[w?N(u,{className:"w-4 h-4 animate-spin mr-2"}):null,J.save_changes()]})]})]})]})})};var w6=P0(k0(),1);var f0=P0(k0(),1);var XN=({isOpen:z,onClose:Z,teamId:Y,server:H})=>{let B=B0(),Q=!!H,[U,w]=f0.useState(""),[k,K]=f0.useState("streamable_http"),[G,R]=f0.useState("reviewer"),[q,W]=f0.useState("auto"),[L,P]=f0.useState(""),[h,E]=f0.useState(""),[F,V]=f0.useState(""),[f,S]=f0.useState(""),[A,C]=f0.useState("authorization_code"),[b,y]=f0.useState([]),[T,O]=f0.useState([]),[p,n]=f0.useState({}),[e,l]=f0.useState(!1);f0.useEffect(()=>{if(H)w(H.url),K(H.transport||"streamable_http"),R(H.permission||"reviewer"),W(H.authType||"auto"),y(Array.isArray(H.config?.directTools)?H.config.directTools:[]),O(H.config?.excludeTools??[]),n({}),l(!1);else w(""),K("streamable_http"),R("reviewer"),W("auto"),P(""),E(""),V(""),S(""),C("authorization_code"),y([]),O([]),n({}),l(!1)},[H,z]);let v0=()=>{if(q==="none")return{type:"none"};if(q==="bearer")return{type:"bearer",bearerToken:L||void 0};if(q==="oauth")return{type:"oauth",oauth:{grantType:A,clientId:h||void 0,clientSecret:F||void 0,scope:f||void 0}};return},{data:j,isLoading:r,refetch:_0}=J0({queryKey:["mcp","servers",H?.id,"tools"],queryFn:async()=>{if(!H?.id)return{tools:[]};let c=await g.api.mcp.servers[":id"].tools.$get({param:{id:H.id}});if(!c.ok)throw Error("Failed to fetch tools");return await c.json()},enabled:z&&Q&&!!H?.id}),D=o({mutationFn:async()=>{if(!H?.id)return;let c=await g.api.mcp.servers[":id"].refresh.$post({param:{id:H.id}});if(!c.ok){let M0=await c.json().catch(()=>({}));throw Error(M0.error||"Failed to refresh server")}return await c.json()},onSuccess:()=>{_.success(J.mcp_refresh_server_success()),_0(),B.invalidateQueries({queryKey:["teams",Y,"mcp","servers"]})},onError:(c)=>{_.error(c.message)}}),I=o({mutationFn:async()=>{let c={directTools:b.length>0?b:void 0,excludeTools:T.length>0?T:void 0};if(Q&&H){let M0={transport:k,permission:G,authConfig:v0(),config:c},X0=await g.api.mcp.servers[":id"].$patch({param:{id:H.id},json:M0});if(!X0.ok){let m0=await X0.json().catch(()=>({}));throw Error(m0.error||J.failed_to_update_permission())}return await X0.json()}else{let M0={url:U.trim()},X0=await g.api.teams[":teamId"].mcp.servers.$post({param:{teamId:Y},json:M0});if(!X0.ok){let N6=await X0.json().catch(()=>({}));throw Error(N6.error||J.an_unknown_error_occurred())}return await X0.json()}},onSuccess:()=>{_.success(Q?J.profile_updated():J.mcp_servers()),B.invalidateQueries({queryKey:["teams",Y,"mcp","servers"]}),Z()},onError:(c)=>{_.error(c.message)}}),a=(c)=>{if(c.preventDefault(),!U.trim())return;I.mutate()},v=j?.tools??[],c0=(c)=>{if(T.includes(c))return"off";if(b.includes(c))return"direct";return"on"},E4=(c,M0)=>{if(M0==="off")O((X0)=>X0.includes(c)?X0:[...X0,c]),y((X0)=>X0.filter((m0)=>m0!==c));else if(M0==="on")O((X0)=>X0.filter((m0)=>m0!==c)),y((X0)=>X0.filter((m0)=>m0!==c));else if(M0==="direct")O((X0)=>X0.filter((m0)=>m0!==c)),y((X0)=>X0.includes(c)?X0:[...X0,c])},M=(c)=>{let M0=v.map((X0)=>X0.name);if(c==="off")O(M0),y([]);else if(c==="on")O([]),y([]);else if(c==="direct")O([]),y(M0)},I0=(c)=>{n((M0)=>({...M0,[c]:!M0[c]}))};return N(S0,{open:z,onOpenChange:(c)=>!c&&Z(),children:Q&&H?X(D0,{className:"sm:max-w-2xl h-[85vh] flex flex-col p-0 overflow-hidden",children:[D.isPending&&X("div",{className:"absolute inset-0 bg-background/60 backdrop-blur-[1px] flex flex-col items-center justify-center z-50 rounded-lg",children:[N(u,{className:"w-8 h-8 animate-spin text-primary mb-2"}),X("span",{className:"text-xs font-medium text-muted-foreground",children:[J.mcp_refresh_server(),"..."]})]}),X(y0,{className:"p-6 pb-4 border-b border-border flex-shrink-0",children:[X(O0,{className:"flex items-center gap-2 text-xl font-bold",children:[N(x0,{className:"w-5 h-5 text-primary"}),J.edit_mcp_server()]}),N(j0,{children:J.mcp_servers_description()})]}),X("form",{onSubmit:a,className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[N(K0,{className:"flex-1 min-h-0",children:X("div",{className:"p-6 space-y-5",children:[X("div",{className:"grid grid-cols-1 gap-3 p-3 bg-muted/30 border border-border rounded-lg",children:[X("div",{className:"flex flex-col",children:[N("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-semibold",children:J.mcp_server_name()}),N("span",{className:"text-sm font-medium",children:H.name})]}),X("div",{className:"flex flex-col",children:[N("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-semibold",children:J.mcp_server_url()}),N("span",{className:"text-sm font-mono text-foreground break-all",children:H.url})]}),H.description&&X("div",{className:"flex flex-col",children:[N("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-semibold",children:J.description()}),N("span",{className:"text-sm text-foreground",children:H.description})]}),X("span",{className:"text-[10px] text-muted-foreground flex items-center gap-1.5",children:[N(c4,{className:"w-3 h-3"}),J.mcp_server_auto_detected()]})]}),H.instructions&&X("div",{className:"p-3 bg-muted/20 border border-border rounded-lg space-y-1",children:[N("span",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-semibold block",children:J.mcp_server_instructions()}),N("p",{onClick:()=>l((c)=>!c),className:`text-xs text-muted-foreground whitespace-pre-wrap leading-relaxed cursor-pointer transition-all ${e?"":"line-clamp-2"}`,title:e?void 0:"Click to expand instructions",children:H.instructions})]}),X("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 pt-3 border-t border-border",children:[X("div",{className:"space-y-1.5",children:[N(t,{className:"text-xs",children:J.mcp_transport()}),X(H0,{value:k,onValueChange:(c)=>K(c),children:[N(Q0,{className:"h-9 text-xs",children:N(W0,{})}),X(q0,{children:[N(x,{value:"streamable_http",children:"Streamable HTTP"}),N(x,{value:"sse",children:"Server-Sent Events (SSE)"})]})]})]}),X("div",{className:"space-y-1.5",children:[N(t,{className:"text-xs",children:J.skill_permission()}),X(H0,{value:G,onValueChange:(c)=>R(c),children:[N(Q0,{className:"h-9 text-xs",children:N(W0,{})}),X(q0,{children:[N(x,{value:"reviewer",children:J.permission_all_users()}),N(x,{value:"editor",children:J.permission_owner_and_editor()}),N(x,{value:"owner",children:J.permission_owner_only()})]})]})]})]}),X("div",{className:"space-y-3 pt-3 border-t border-border",children:[X("div",{className:"space-y-1.5",children:[N(t,{className:"text-xs",children:J.mcp_auth_type()}),X(H0,{value:q,onValueChange:(c)=>W(c),children:[N(Q0,{className:"h-9 text-xs",children:N(W0,{})}),X(q0,{children:[N(x,{value:"auto",children:J.mcp_auth_auto()}),N(x,{value:"none",children:J.mcp_auth_none()}),N(x,{value:"bearer",children:J.mcp_auth_bearer()}),N(x,{value:"oauth",children:J.mcp_auth_oauth()})]})]})]}),q==="bearer"&&X("div",{className:"space-y-1.5",children:[N(t,{className:"text-xs",children:J.mcp_bearer_token()}),N(d,{className:"h-9 text-xs font-mono",type:"password",value:L,onChange:(c)=>P(c.target.value),placeholder:"Enter token string"})]}),q==="oauth"&&X("div",{className:"p-3 bg-muted/20 border border-border rounded-lg space-y-3",children:[X("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[X("div",{className:"space-y-1.5",children:[N(t,{className:"text-xs",children:J.mcp_oauth_grant_type()}),X(H0,{value:A,onValueChange:(c)=>C(c),children:[N(Q0,{className:"h-9 text-xs",children:N(W0,{})}),X(q0,{children:[N(x,{value:"authorization_code",children:"Authorization Code"}),N(x,{value:"client_credentials",children:"Client Credentials"})]})]})]}),X("div",{className:"space-y-1.5",children:[N(t,{className:"text-xs",children:J.mcp_oauth_client_id()}),N(d,{className:"h-9 text-xs",value:h,onChange:(c)=>E(c.target.value),placeholder:"Optional Client ID"})]})]}),X("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[X("div",{className:"space-y-1.5",children:[N(t,{className:"text-xs",children:J.mcp_oauth_client_secret()}),N(d,{className:"h-9 text-xs",type:"password",value:F,onChange:(c)=>V(c.target.value),placeholder:"Optional Secret"})]}),X("div",{className:"space-y-1.5",children:[N(t,{className:"text-xs",children:J.mcp_oauth_scope()}),N(d,{className:"h-9 text-xs",value:f,onChange:(c)=>S(c.target.value),placeholder:"Optional scope"})]})]})]})]}),X("div",{className:"space-y-3 pt-3 border-t border-border",children:[X("div",{className:"space-y-2.5",children:[X(t,{className:"text-xs font-semibold flex items-center gap-1.5",children:[N(m4,{className:"w-3.5 h-3.5"}),J.mcp_tools()," (",v.length,")"]}),N("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:J.mcp_tools_desc()}),v.length>0&&X("div",{className:"flex items-center gap-1.5 pt-0.5",children:[N($,{type:"button",variant:"outline",size:"sm",className:"h-7 text-[11px] px-2.5",onClick:()=>M("off"),disabled:D.isPending||r,children:J.mcp_bulk_all_off()}),N($,{type:"button",variant:"outline",size:"sm",className:"h-7 text-[11px] px-2.5",onClick:()=>M("on"),disabled:D.isPending||r,children:J.mcp_bulk_all_proxy()}),N($,{type:"button",variant:"outline",size:"sm",className:"h-7 text-[11px] px-2.5",onClick:()=>M("direct"),disabled:D.isPending||r,children:J.mcp_bulk_all_direct()})]})]}),N("div",{className:"space-y-2",children:r?N("div",{className:"flex justify-center py-8",children:N(u,{className:"w-6 h-6 animate-spin text-primary"})}):v.length===0?N("div",{className:"text-center py-6 text-muted-foreground text-xs",children:J.no_tools_found()}):v.map((c)=>{let M0=c0(c.name),X0=!!p[c.name],m0=c.inputSchema,N6=m0?.properties&&Object.keys(m0.properties).length>0;return X("div",{className:`border border-border rounded-lg p-3 transition-colors ${M0!=="off"?"bg-card":"bg-muted/30 opacity-70"}`,children:[X("div",{className:"flex items-start justify-between gap-3",children:[X("div",{className:"flex items-start gap-2 flex-1 min-w-0 cursor-pointer",onClick:()=>N6&&I0(c.name),children:[N6?X0?N(Z4,{className:"w-4 h-4 text-muted-foreground mt-0.5 shrink-0"}):N(t4,{className:"w-4 h-4 text-muted-foreground mt-0.5 shrink-0"}):N("div",{className:"w-4 h-4 shrink-0"}),X("div",{className:"min-w-0 flex-1",children:[X("div",{className:"flex items-center gap-2 flex-wrap",children:[N("span",{className:"font-mono text-xs font-bold text-foreground break-all",children:c.name}),c.title&&N(i,{variant:"outline",className:"text-[10px]",children:c.title})]}),c.description&&N("p",{className:"text-xs text-muted-foreground mt-1 break-words line-clamp-3",children:c.description})]})]}),N("div",{className:"flex items-center gap-2 shrink-0",children:X(JN,{type:"single",value:M0,onValueChange:(x4)=>{if(x4)E4(c.name,x4)},size:"sm",variant:"outline",disabled:D.isPending||r,children:[N(g6,{value:"off",className:"text-[11px] px-2 h-7",children:J.mcp_tool_state_disabled()}),N(g6,{value:"on",className:"text-[11px] px-2 h-7",children:J.mcp_tool_state_proxy()}),N(g6,{value:"direct",className:"text-[11px] px-2 h-7",children:J.mcp_tool_state_direct()})]})})]}),X0&&N6&&X("div",{className:"mt-3 pt-3 border-t border-border/60 pl-6 space-y-2",children:[N("span",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:J.tool_parameters()}),N("div",{className:"grid grid-cols-1 gap-1.5",children:Object.entries(m0.properties).map(([x4,u6])=>{let $N=m0.required?.includes(x4);return X("div",{className:"flex flex-col sm:flex-row sm:items-baseline justify-between gap-1 sm:gap-2 p-2 bg-muted/20 rounded text-xs min-w-0",children:[X("div",{className:"flex items-center gap-1.5 flex-wrap min-w-0",children:[N("span",{className:"font-mono font-semibold break-all",children:x4}),$N&&N("span",{className:"text-[10px] text-red-500 font-bold",children:"*"}),N(i,{variant:"secondary",className:"text-[9px] px-1 py-0",children:u6.type||"any"})]}),u6.description&&N("span",{className:"text-[11px] text-muted-foreground break-words sm:max-w-[320px]",children:u6.description})]},x4)})})]})]},c.name)})})]})]})}),X(g0,{className:"p-6 pt-4 border-t border-border flex-shrink-0",children:[X($,{type:"button",variant:"outline",onClick:()=>D.mutate(),disabled:D.isPending||r||I.isPending,className:"gap-1.5 mr-auto",children:[N(M6,{className:`w-4 h-4 ${D.isPending?"animate-spin":""}`}),J.mcp_refresh_server()]}),N($,{type:"button",variant:"outline",onClick:Z,children:J.cancel()}),X($,{type:"submit",disabled:I.isPending||!U,children:[I.isPending&&N(u,{className:"w-4 h-4 mr-2 animate-spin"}),J.save_changes()]})]})]})]}):X(D0,{className:"sm:max-w-md",children:[X(y0,{children:[X(O0,{className:"flex items-center gap-2 text-xl font-bold",children:[N(x0,{className:"w-5 h-5 text-primary"}),J.add_mcp_server()]}),N(j0,{children:J.mcp_servers_description()})]}),X("form",{onSubmit:a,className:"space-y-4",children:[X("div",{className:"space-y-2",children:[N(t,{className:"text-xs font-semibold",children:J.mcp_server_url()}),N(d,{value:U,onChange:(c)=>w(c.target.value),placeholder:"https://mcp.example.com/mcp",type:"url",required:!0}),X("p",{className:"text-[11px] text-muted-foreground flex items-center gap-1.5",children:[N(c4,{className:"w-3.5 h-3.5"}),J.mcp_server_auto_detected()]})]}),X(g0,{children:[N($,{type:"button",variant:"outline",onClick:Z,children:J.cancel()}),X($,{type:"submit",disabled:I.isPending||!U,children:[I.isPending&&N(u,{className:"w-4 h-4 mr-2 animate-spin"}),J.create()]})]})]})]})})};var HN=({teamId:z})=>{let Z=B0(),{canAdmin:Y}=O4(),[H,B]=w6.useState(!1),[Q,U]=w6.useState(null),[w,k]=w6.useState(null),[K,G]=w6.useState(null),{data:R,isLoading:q}=J0({queryKey:["teams",z,"mcp","servers"],queryFn:async()=>{let V=await g.api.teams[":teamId"].mcp.servers.$get({param:{teamId:z}});if(!V.ok)throw Error(J.failed_load_settings());return await V.json()}}),W=o({mutationFn:async(V)=>{if(!(await g.api.mcp.servers[":id"].$delete({param:{id:V}})).ok)throw Error(J.failed_to_delete())},onSuccess:()=>{_.success(J.delete()),Z.invalidateQueries({queryKey:["teams",z,"mcp","servers"]}),k(null)},onError:(V)=>{_.error(V.message)}}),L=o({mutationFn:async({id:V,permission:f})=>{if(!(await g.api.mcp.servers[":id"].permission.$patch({param:{id:V},json:{permission:f}})).ok)throw Error(J.failed_to_update_permission())},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"mcp","servers"]})},onError:(V)=>{_.error(V.message)}}),P=o({mutationFn:async(V)=>{if(!(await g.api.mcp.servers[":id"].auth.$delete({param:{id:V}})).ok)throw Error("Failed to disconnect auth")},onSuccess:()=>{_.success(J.mcp_disconnect_auth()),Z.invalidateQueries({queryKey:["teams",z,"mcp","servers"]})},onError:(V)=>{_.error(V.message)}}),h=async(V)=>{G(V);try{let f=await g.api.mcp.servers[":id"].auth.start.$post({param:{id:V}});if(!f.ok){let A=await f.json().catch(()=>({}));throw Error(A.error||J.mcp_auth_failed())}let S=await f.json();if(S.status==="authenticated"){_.success(J.mcp_auth_success()),Z.invalidateQueries({queryKey:["teams",z,"mcp","servers"]}),G(null);return}if(S.authorizationUrl){let b=window.screenX+(window.outerWidth-600)/2,y=window.screenY+(window.outerHeight-700)/2,T=window.open(S.authorizationUrl,"mcp_oauth_popup",`width=600,height=700,left=${b},top=${y},scrollbars=yes`),O=(n)=>{if(n.data?.type==="mcp-oauth-callback")if(window.removeEventListener("message",O),G(null),n.data.ok)_.success(J.mcp_auth_success()),Z.invalidateQueries({queryKey:["teams",z,"mcp","servers"]});else _.error(n.data.message||J.mcp_auth_failed())};window.addEventListener("message",O);let p=setInterval(()=>{if(!T||T.closed)clearInterval(p),window.removeEventListener("message",O),G(null),Z.invalidateQueries({queryKey:["teams",z,"mcp","servers"]})},1000)}}catch(f){_.error(f instanceof Error?f.message:J.mcp_auth_failed()),G(null)}},E=R?.servers||[],F=(V)=>{switch(V.status){case"connected":return X(i,{variant:"secondary",className:"gap-1 bg-emerald-500/10 text-emerald-600 border-emerald-500/20 text-[10px]",children:[N(YN,{className:"w-3 h-3"}),J.mcp_status_connected()]});case"needs_auth":return X(i,{variant:"secondary",className:"gap-1 bg-amber-500/10 text-amber-600 border-amber-500/20 text-[10px]",children:[N(i4,{className:"w-3 h-3"}),J.mcp_status_needs_auth()]});case"failed":return X(i,{variant:"secondary",className:"gap-1 bg-red-500/10 text-red-600 border-red-500/20 text-[10px]",children:[N(zN,{className:"w-3 h-3"}),J.mcp_status_failed()]});default:return X(i,{variant:"outline",className:"gap-1 text-[10px]",children:[N(b4,{className:"w-3 h-3 text-muted-foreground"}),J.mcp_status_not_connected()]})}};return X(G0,{children:[X(C0,{className:"flex flex-row items-center justify-between space-y-0 pb-7",children:[X("div",{className:"flex items-center gap-3",children:[N("div",{className:"p-2 bg-primary/10 text-primary rounded-lg",children:N(x0,{className:"w-6 h-6"})}),X("div",{children:[N(b0,{className:"text-xl font-bold",children:J.mcp_servers()}),N(E0,{children:J.mcp_servers_description()})]})]}),Y&&X($,{onClick:()=>B(!0),className:"gap-2",children:[N(F0,{className:"w-4 h-4"})," ",J.add_mcp_server()]})]}),N(L0,{children:q?N("div",{className:"flex justify-center py-10",children:N(u,{className:"w-8 h-8 animate-spin text-primary"})}):E.length===0?X("div",{className:"text-center py-12 border-2 border-dashed border-border rounded-xl",children:[N("div",{className:"mx-auto w-12 h-12 bg-muted rounded-full flex items-center justify-center mb-4 text-muted-foreground",children:N(x0,{className:"w-6 h-6"})}),N("h3",{className:"text-base font-semibold",children:J.no_mcp_servers_installed()}),N("p",{className:"text-xs text-muted-foreground mt-1 max-w-sm mx-auto",children:J.add_mcp_server_to_get_started()}),Y&&X($,{onClick:()=>B(!0),className:"mt-4 gap-2",variant:"outline",children:[N(F0,{className:"w-4 h-4"})," ",J.add_mcp_server()]})]}):N("div",{className:"space-y-4",children:E.map((V)=>{let f=K===V.id,S=V.status==="needs_auth"||!V.hasCredential&&V.authType!=="none";return X("div",{onClick:()=>Y&&U(V),className:`p-4 bg-card rounded-xl border border-border flex flex-col justify-between hover:shadow-md transition-all group ${Y?"cursor-pointer":""}`,children:[X("div",{className:"flex items-start justify-between gap-2 mb-2",children:[X("h4",{className:"font-bold text-foreground flex items-center gap-2 min-w-0",children:[N(x0,{className:"w-4 h-4 text-muted-foreground shrink-0"}),N("span",{className:"truncate",children:V.name}),N(i,{variant:"outline",className:"text-[10px] uppercase shrink-0",children:V.transport})]}),Y&&X(L4,{modal:!1,children:[N(P4,{asChild:!0,onClick:(A)=>A.stopPropagation(),children:N($,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0",children:N(R4,{className:"w-4 h-4"})})}),X(k4,{align:"end",children:[V.status!=="connected"&&(V.authType!=="none"||V.hasCredential)?X(X4,{onClick:(A)=>{A.stopPropagation(),h(V.id)},children:[N(i4,{className:"w-4 h-4 mr-2"}),J.mcp_connect_auth()]}):null,V.hasCredential&&X(X4,{onClick:(A)=>{A.stopPropagation(),P.mutate(V.id)},className:"text-amber-600",children:[N(BN,{className:"w-4 h-4 mr-2"}),J.mcp_disconnect_auth()]}),(V.status!=="connected"&&(V.authType!=="none"||V.hasCredential)||V.hasCredential)&&N(ZN,{}),X(X4,{onClick:(A)=>{A.stopPropagation(),k(V)},className:"text-red-600",children:[N(A0,{className:"w-4 h-4 mr-2"}),J.delete()]})]})]})]}),X("div",{className:"space-y-1",children:[N("p",{className:"text-sm text-muted-foreground line-clamp-2",children:V.description||J.no_description_provided()}),N("p",{className:"font-mono text-[10px] text-muted-foreground/70 truncate",children:V.url}),V.lastError&&N("p",{className:"text-[10px] text-red-500/90 truncate font-mono",children:V.lastError})]}),X("div",{className:"mt-4 flex items-center justify-between gap-2 pt-2 border-t border-border/50 text-xs",children:[X("div",{className:"flex items-center gap-2 min-w-0",children:[F(V),X(i,{variant:"outline",className:"text-[10px] gap-1 shrink-0",children:[N(m4,{className:"w-3 h-3 text-muted-foreground"}),J.mcp_tools_count({count:V.toolCount})]}),X("span",{className:"text-[10px] text-muted-foreground uppercase tracking-wider font-semibold whitespace-nowrap",children:[J.updated_date()," ",new Date(V.updatedAt).toLocaleDateString()]})]}),X("div",{className:"flex items-center gap-2 shrink-0",onClick:(A)=>A.stopPropagation(),children:[Y?X(H0,{value:V.permission,onValueChange:(A)=>L.mutate({id:V.id,permission:A}),children:[N(Q0,{className:"h-7 text-xs px-2 bg-background border-border w-[130px]",children:N(W0,{})}),X(q0,{align:"end",children:[N(x,{value:"reviewer",children:J.permission_all_users()}),N(x,{value:"editor",children:J.permission_owner_and_editor()}),N(x,{value:"owner",children:J.permission_owner_only()})]})]}):N(i,{variant:"outline",className:"text-[10px]",children:V.permission==="reviewer"?J.permission_all_users():V.permission==="editor"?J.permission_owner_and_editor():J.permission_owner_only()}),S&&Y&&X($,{size:"sm",variant:"default",onClick:(A)=>{A.stopPropagation(),h(V.id)},disabled:f,className:"gap-1.5 bg-amber-600 hover:bg-amber-700 text-white text-xs",children:[f?N(u,{className:"w-3.5 h-3.5 animate-spin"}):N(i4,{className:"w-3.5 h-3.5"}),J.mcp_connect_auth()]})]})]})]},V.id)})})}),N(XN,{isOpen:H||!!Q,onClose:()=>{B(!1),U(null)},teamId:z,server:Q}),N(o0,{open:!!w,onOpenChange:(V)=>!V&&k(null),children:X(l0,{children:[X(t0,{children:[N(r0,{children:J.delete_mcp_server()}),N(s0,{children:J.delete_mcp_server_confirmation({name:w?.name||""})})]}),X(i0,{children:[N(N4,{children:J.cancel()}),X(e0,{onClick:()=>w&&W.mutate(w.id),className:"bg-red-600 hover:bg-red-700 text-white",children:[W.isPending&&N(u,{className:"w-4 h-4 mr-2 animate-spin"}),J.delete()]})]})]})})]})};function UN({teamId:z}){let Z=B0(),{data:Y,isLoading:H}=J0({queryKey:["teams",z,"notification-settings"],queryFn:async()=>{let w=await g.api.teams[":teamId"].notifications.settings.$get({param:{teamId:z}});if(!w.ok)throw Error(J.failed_load_settings());return await w.json()}}),{mutate:B,isPending:Q}=o({mutationFn:async(w)=>{let k=await g.api.teams[":teamId"].notifications.settings.$post({param:{teamId:z},json:w});if(!k.ok)throw Error(J.failed_to_update_notification_settings());return await k.json()},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"notification-settings"]}),Z.invalidateQueries({queryKey:["teams",z,"notifications"]}),_.success(J.notification_settings_updated())},onError:(w)=>{_.error(w instanceof Error?w.message:J.failed_to_update_notification_settings())}}),U=(w)=>{if(!Y)return;let k={...Y,[w]:!Y[w]};B(k)};if(H)return N("div",{className:"flex items-center justify-center p-8",children:N(u,{className:"h-8 w-8 animate-spin text-muted-foreground"})});return N(K0,{className:"h-full",children:X("div",{className:"space-y-6 pr-4 pb-8",children:[X(G0,{className:"overflow-hidden gap-0 py-0",children:[X(C0,{className:"border-b border-border bg-muted/30 py-5",children:[X("div",{className:"flex items-center gap-2",children:[N(l4,{className:"w-5 h-5 text-primary"}),N(b0,{className:"text-lg",children:J.comments_and_replies()})]}),N(E0,{children:J.comments_notification_description()})]}),X(L0,{className:"divide-y divide-border p-0",children:[X("div",{className:"flex items-center justify-between p-6",children:[X("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-muted text-foreground",children:N(l4,{className:"w-4 h-4"})}),X("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-foreground",children:J.general_comments()}),N("p",{className:"text-sm text-muted-foreground",children:J.when_someone_comments()})]})]}),N(R0,{checked:Y?.comments??!0,onCheckedChange:()=>U("comments"),disabled:Q})]}),X("div",{className:"flex items-center justify-between p-6",children:[X("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-muted text-foreground",children:N(qN,{className:"w-4 h-4"})}),X("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-foreground",children:J.comment_replies()}),N("p",{className:"text-sm text-muted-foreground",children:J.when_someone_replies()})]})]}),N(R0,{checked:Y?.replies??!0,onCheckedChange:()=>U("replies"),disabled:Q})]}),X("div",{className:"flex items-center justify-between p-6",children:[X("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-muted text-foreground",children:N(QN,{className:"w-4 h-4"})}),X("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-foreground",children:J.at_mentions()}),N("p",{className:"text-sm text-muted-foreground",children:J.when_someone_mentions()})]})]}),N(R0,{checked:Y?.mentions??!0,onCheckedChange:()=>U("mentions"),disabled:Q})]})]})]}),X(G0,{className:"overflow-hidden gap-0 py-0",children:[X(C0,{className:"border-b border-border bg-muted/30 py-5",children:[X("div",{className:"flex items-center gap-2",children:[N(w1,{className:"w-5 h-5 text-primary"}),N(b0,{className:"text-lg",children:J.assets_and_statuses()})]}),N(E0,{children:J.assets_notification_description()})]}),X(L0,{className:"divide-y divide-border p-0",children:[X("div",{className:"flex items-center justify-between p-6",children:[X("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-muted text-foreground",children:N(_6,{className:"w-4 h-4"})}),X("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-foreground",children:J.your_uploads()}),N("p",{className:"text-sm text-muted-foreground",children:J.when_you_upload_assets()})]})]}),N(R0,{checked:Y?.yourUploads??!1,onCheckedChange:()=>U("yourUploads"),disabled:Q})]}),X("div",{className:"flex items-center justify-between p-6",children:[X("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-muted text-foreground",children:N(w1,{className:"w-4 h-4"})}),X("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-foreground",children:J.other_uploads()}),N("p",{className:"text-sm text-muted-foreground",children:J.when_other_users_upload_assets()})]})]}),N(R0,{checked:Y?.otherUploads??!0,onCheckedChange:()=>U("otherUploads"),disabled:Q})]}),X("div",{className:"flex items-center justify-between p-6",children:[X("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-muted text-foreground",children:N(WN,{className:"w-4 h-4"})}),X("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-foreground",children:J.status_updates()}),N("p",{className:"text-sm text-muted-foreground",children:J.when_someone_changes_status()})]})]}),N(R0,{checked:Y?.statusUpdates??!0,onCheckedChange:()=>U("statusUpdates"),disabled:Q})]})]})]}),X(G0,{className:"overflow-hidden gap-0 py-0",children:[X(C0,{className:"border-b border-border bg-muted/30 py-5",children:[X("div",{className:"flex items-center gap-2",children:[N(K1,{className:"w-5 h-5 text-primary"}),N(b0,{className:"text-lg",children:J.kanban_notifications()})]}),N(E0,{children:J.kanban_notification_description()})]}),X(L0,{className:"divide-y divide-border p-0",children:[X("div",{className:"flex items-center justify-between p-6",children:[X("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-muted text-foreground",children:N(K1,{className:"w-4 h-4"})}),X("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-foreground",children:J.kanban_tasks()}),N("p",{className:"text-sm text-muted-foreground",children:J.when_kanban_task_events()})]})]}),N(R0,{checked:Y?.kanbanTasks??!0,onCheckedChange:()=>U("kanbanTasks"),disabled:Q})]}),X("div",{className:"flex items-center justify-between p-6",children:[X("div",{className:"flex gap-4",children:[N("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-muted text-foreground",children:N(l4,{className:"w-4 h-4"})}),X("div",{className:"space-y-0.5",children:[N("h4",{className:"text-sm font-semibold text-foreground",children:J.kanban_comments()}),N("p",{className:"text-sm text-muted-foreground",children:J.when_kanban_task_commented()})]})]}),N(R0,{checked:Y?.kanbanComments??!0,onCheckedChange:()=>U("kanbanComments"),disabled:Q})]})]})]})]})})}var G1=P0(k0(),1);function PN({teamId:z}){let Z=B0(),[Y,H]=G1.useState(""),[B,Q]=G1.useState(null),{data:U,isLoading:w}=J0({queryKey:["teams",z,"api-tokens"],queryFn:async()=>{let W=await g.api.teams[":teamId"]["api-tokens"].$get({param:{teamId:z}});if(!W.ok)throw Error("Failed to fetch API tokens");return await W.json()}}),{mutate:k,isPending:K}=o({mutationFn:async(W)=>{let L=await g.api.teams[":teamId"]["api-tokens"].$post({param:{teamId:z},json:{name:W}});if(!L.ok)throw Error("Failed to create API token");return await L.json()},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"api-tokens"]}),H(""),_.success(J.api_token_generated_successfully())},onError:(W)=>{_.error(W instanceof Error?W.message:J.failed_to_generate_token())}}),{mutate:G}=o({mutationFn:async(W)=>{let L=await g.api.teams[":teamId"]["api-tokens"][":tokenId"].$delete({param:{teamId:z,tokenId:W}});if(!L.ok)throw Error("Failed to delete API token");return await L.json()},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"api-tokens"]}),_.success(J.api_token_revoked_successfully())},onError:(W)=>{_.error(W instanceof Error?W.message:J.failed_to_revoke_token())}}),R=(W)=>{if(W.preventDefault(),!Y.trim())return;k(Y.trim())},q=async(W,L)=>{await KN(L),Q(W),_.success(J.copied_api_token_to_clipboard()),setTimeout(()=>Q(null),2000)};if(w)return N("div",{className:"flex justify-center items-center p-8",children:N(u,{className:"w-8 h-8 animate-spin text-muted-foreground"})});return N("div",{className:"space-y-6",children:X(G0,{children:[X(C0,{children:[N(b0,{children:J.api_tokens()}),N(E0,{children:J.api_tokens_description()})]}),X(L0,{className:"space-y-6",children:[X("form",{onSubmit:R,className:"flex gap-4 items-end max-w-md",children:[X("div",{className:"flex-1 space-y-2",children:[N("label",{htmlFor:"tokenName",className:"text-sm font-medium text-muted-foreground",children:J.token_name()}),N(d,{id:"tokenName",value:Y,onChange:(W)=>H(W.target.value),placeholder:J.token_name_placeholder(),required:!0})]}),X($,{type:"submit",disabled:K||!Y.trim(),children:[K?N(u,{className:"w-4 h-4 animate-spin mr-2"}):N(F0,{className:"w-4 h-4 mr-2"}),J.generate()]})]}),N("div",{className:"border rounded-lg overflow-hidden",children:X(GN,{children:[N(RN,{children:X($6,{children:[N(K6,{children:J.name()}),N(K6,{children:J.token()}),N(K6,{children:J.created_at()}),N(K6,{className:"w-[100px] text-right",children:J.actions()})]})}),N(LN,{children:!U||U.length===0?N($6,{children:N(r4,{colSpan:4,className:"text-center py-6 text-muted-foreground text-sm",children:J.no_api_tokens_found()})}):U.map((W)=>X($6,{children:[N(r4,{className:"font-medium",children:W.name}),N(r4,{className:"font-mono text-sm max-w-[200px] truncate",children:X("div",{className:"flex items-center gap-2",children:[X("span",{children:[W.token.substring(0,8),"..."]}),N($,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>q(W.id,W.token),children:B===W.id?N(f4,{className:"h-3.5 w-3.5 text-green-500"}):N(wN,{className:"h-3.5 w-3.5"})})]})}),N(r4,{className:"text-muted-foreground",children:new Date(W.createdAt).toLocaleDateString()}),N(r4,{className:"text-right",children:N($,{variant:"ghost",size:"icon",className:"h-8 w-8 text-red-500 hover:text-red-600 hover:bg-red-50",onClick:()=>G(W.id),children:N(A0,{className:"h-4 w-4"})})})]},W.id))})]})})]})]})})}var j6=P0(k0(),1);var u0=P0(k0(),1);var X7=[{value:"read_asset",label:()=>J.agent_tool_read_asset_name()},{value:"list_assets",label:()=>J.agent_tool_list_assets_name()},{value:"create_folder",label:()=>J.agent_tool_create_folder_name()},{value:"create_file",label:()=>J.agent_tool_create_file_name()},{value:"create_version",label:()=>J.agent_tool_create_version_name()}],R1={agent_total_tokens:{label:()=>J.quota_resource_agent_total_tokens(),icon:J4,unit:"tokens",defaultLimit:1e5},agent_cost:{label:()=>J.quota_resource_agent_cost(),icon:q6,unit:"$",defaultLimit:10},agent_mcp_call_count:{label:()=>J.quota_resource_agent_mcp_call_count(),icon:x0,unit:"calls",defaultLimit:100},agent_bash_call_count:{label:()=>J.quota_resource_agent_bash_call_count(),icon:o4,unit:"calls",defaultLimit:50},agent_tool_call_count:{label:()=>J.quota_resource_agent_tool_call_count(),icon:m4,unit:"calls",defaultLimit:100}},TN=({open:z,onOpenChange:Z,teamId:Y,rule:H,onSuccess:B})=>{let Q=B0(),U=!!H,[w,k]=u0.useState("each_member"),[K,G]=u0.useState("team"),[R,q]=u0.useState([]),[W,L]=u0.useState("agent_total_tokens"),[P,h]=u0.useState(""),[E,F]=u0.useState("*"),[V,f]=u0.useState("read_asset"),[S,A]=u0.useState(1e5),[C,b]=u0.useState("1day"),[y,T]=u0.useState(!0),[O,p]=u0.useState(!1),[n,e]=u0.useState(""),{data:l=[]}=J0({queryKey:["teams",Y,"members"],queryFn:async()=>{let M=await g.api.teams[":teamId"].members.$get({param:{teamId:Y},query:{}});if(!M.ok)return[];return await M.json()},enabled:z}),{data:v0}=J0({queryKey:["teams",Y,"mcp","servers"],queryFn:async()=>{let M=await g.api.teams[":teamId"].mcp.servers.$get({param:{teamId:Y}});if(!M.ok)return{servers:[]};return await M.json()},enabled:z&&W==="agent_mcp_call_count"}),j=v0?.servers||[];u0.useEffect(()=>{if(H){k(H.scopeMode),G(H.role||"team"),q(H.userIds||[]),L(H.resource);let M=H.resourceData||{};h(typeof M.id==="string"?M.id:""),F(typeof M.match==="string"?M.match:"*"),f(typeof M.name==="string"?M.name:typeof M.toolName==="string"?M.toolName:"read_asset"),A(H.limit),b(kN(H.period)),T(H.enabled)}else k("each_member"),G("team"),q([]),L("agent_total_tokens"),h(""),F("*"),f("read_asset"),A(R1.agent_total_tokens.defaultLimit),b("1day"),T(!0)},[H,z]);let r=(M)=>{if(L(M),!U)A(R1[M]?.defaultLimit||100)},_0=o({mutationFn:async()=>{let M={};if(W==="agent_mcp_call_count")M.id=P;else if(W==="agent_bash_call_count")M.match=E.trim()||"*";else if(W==="agent_tool_call_count")M.name=V||"read_asset";let I0=await g.api.teams[":teamId"].quotas.$post({param:{teamId:Y},json:{scopeMode:w,role:w!=="selected_members"&&K!=="team"?K:null,userIds:w==="selected_members"?R:null,resource:W,resourceData:Object.keys(M).length>0?M:null,limit:Number(S),period:C,enabled:y}});if(!I0.ok){let c=await I0.json().catch(()=>({}));throw Error(c?.message||J.failed_to_create_quota())}return await I0.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["teams",Y,"quotas"]}),_.success(J.quota_created_successfully()),Z(!1),B?.()},onError:(M)=>{console.error("CREATE MUTATION ERROR:",M),_.error(M instanceof Error?M.message:J.failed_to_create_quota())}}),D=o({mutationFn:async()=>{if(!H)return;let M={};if(W==="agent_mcp_call_count")M.id=P;else if(W==="agent_bash_call_count")M.match=E.trim()||"*";else if(W==="agent_tool_call_count")M.name=V||"read_asset";let I0=await g.api.teams[":teamId"].quotas[":id"].$put({param:{teamId:Y,id:H.id},json:{scopeMode:w,role:w!=="selected_members"&&K!=="team"?K:null,userIds:w==="selected_members"?R:null,resource:W,resourceData:Object.keys(M).length>0?M:null,limit:Number(S),period:C,enabled:y}});if(!I0.ok){let c=await I0.json().catch(()=>({}));throw Error(c?.message||J.failed_to_update_quota())}return await I0.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["teams",Y,"quotas"]}),_.success(J.quota_updated_successfully()),Z(!1),B?.()},onError:(M)=>{_.error(M instanceof Error?M.message:J.failed_to_update_quota())}}),I=o({mutationFn:async()=>{if(!H)return;if(!(await g.api.teams[":teamId"].quotas[":id"].$delete({param:{teamId:Y,id:H.id}})).ok)throw Error(J.failed_to_delete_quota())},onSuccess:()=>{Q.invalidateQueries({queryKey:["teams",Y,"quotas"]}),_.success(J.quota_deleted_successfully()),p(!1),Z(!1),B?.()},onError:(M)=>{_.error(M instanceof Error?M.message:J.failed_to_delete_quota())}}),a=(M)=>{if(M.preventDefault(),w==="selected_members"&&R.length===0){_.error(J.select_user());return}if(W==="agent_mcp_call_count"&&!P.trim()){_.error(J.enter_mcp_id());return}if(S<=0){_.error("Limit must be greater than 0");return}if(U)D.mutate();else _0.mutate()},v=_0.isPending||D.isPending||I.isPending,c0=l.filter((M)=>{if(!n.trim())return!0;let I0=n.toLowerCase();return M.name.toLowerCase().includes(I0)||M.email&&M.email.toLowerCase().includes(I0)}),E4=(M)=>{q((I0)=>I0.includes(M)?I0.filter((c)=>c!==M):[...I0,M])};return X(Z0,{children:[N(S0,{open:z,onOpenChange:Z,children:X(D0,{className:"sm:max-w-[540px] max-h-[90vh] flex flex-col p-0 overflow-hidden",children:[X(y0,{className:"p-6 pb-4 border-b border-border/60 shrink-0",children:[N(O0,{className:"text-xl font-bold",children:U?J.edit_quota_rule():J.create_quota_rule()}),N(j0,{className:"text-sm text-muted-foreground",children:U?J.edit_quota_rule_description():J.create_quota_rule_description()})]}),X("form",{onSubmit:a,noValidate:!0,className:"flex-1 overflow-y-auto min-h-0 p-6 space-y-5",children:[X("div",{className:"space-y-2",children:[N(t,{className:"text-sm font-semibold",children:J.quota_scope_mode()}),X("div",{className:"grid grid-cols-3 gap-2",children:[X($,{type:"button",variant:w==="each_member"?"default":"outline",size:"sm",disabled:U||v,onClick:()=>k("each_member"),className:"flex flex-col h-auto py-2.5 px-2 gap-1 items-center justify-center text-xs",children:[N(s4,{className:"w-4 h-4"}),N("span",{className:"font-semibold",children:J.quota_scope_mode_each_member()})]}),X($,{type:"button",variant:w==="all_members"?"default":"outline",size:"sm",disabled:U||v,onClick:()=>k("all_members"),className:"flex flex-col h-auto py-2.5 px-2 gap-1 items-center justify-center text-xs",children:[N(v6,{className:"w-4 h-4"}),N("span",{className:"font-semibold",children:J.quota_scope_mode_all_members()})]}),X($,{type:"button",variant:w==="selected_members"?"default":"outline",size:"sm",disabled:U||v,onClick:()=>k("selected_members"),className:"flex flex-col h-auto py-2.5 px-2 gap-1 items-center justify-center text-xs",children:[N(f6,{className:"w-4 h-4"}),N("span",{className:"font-semibold",children:J.quota_scope_mode_selected_members()})]})]}),X("p",{className:"text-xs text-muted-foreground pt-0.5",children:[w==="each_member"&&J.quota_scope_mode_each_member_desc(),w==="all_members"&&J.quota_scope_mode_all_members_desc(),w==="selected_members"&&J.quota_scope_mode_selected_members_desc()]})]}),w!=="selected_members"?X("div",{className:"space-y-2",children:[N(t,{htmlFor:"quota-role-scope",className:"text-sm font-semibold",children:J.quota_scope()}),X(H0,{value:K,onValueChange:G,disabled:U||v,children:[N(Q0,{id:"quota-role-scope",className:"w-full",children:N(W0,{})}),X(q0,{children:[N(x,{value:"team",children:J.quota_scope_team()}),X(x,{value:"owner",children:[J.quota_scope_role(),": Owner"]}),X(x,{value:"editor",children:[J.quota_scope_role(),": Editor"]}),X(x,{value:"reviewer",children:[J.quota_scope_role(),": Reviewer"]})]})]})]}):X("div",{className:"space-y-2",children:[N(t,{className:"text-sm font-semibold",children:J.select_members()}),X(H6,{children:[N(W6,{asChild:!0,children:X($,{variant:"outline",role:"combobox",disabled:v,className:"w-full justify-between text-left font-normal h-10",children:[N("span",{className:"truncate",children:R.length===0?J.select_members():J.quota_selected_users_count({count:R.length})}),N(Z4,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),N(Q6,{className:"w-[320px] p-2",align:"start",children:X("div",{className:"space-y-2",children:[X("div",{className:"relative",children:[N(H4,{className:"w-3.5 h-3.5 absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),N(d,{placeholder:J.quota_search_members(),value:n,onChange:(M)=>e(M.target.value),className:"h-8 pl-8 text-xs"})]}),N(K0,{className:"h-48",children:N("div",{className:"space-y-1 pr-2",children:c0.map((M)=>{let I0=R.includes(M.id);return X("div",{onClick:()=>E4(M.id),className:"flex items-center gap-2 p-1.5 rounded-lg hover:bg-muted/60 cursor-pointer text-xs",children:[N(U6,{checked:I0,onCheckedChange:()=>E4(M.id)}),X(c6,{className:"w-5 h-5",children:[N(m6,{src:M.image||void 0}),N(x6,{className:"text-[10px]",children:M.name?.[0]?.toUpperCase()||"U"})]}),X("div",{className:"truncate flex-1",children:[N("span",{className:"font-medium text-foreground block truncate",children:M.name}),M.email&&N("span",{className:"text-[10px] text-muted-foreground block truncate",children:M.email})]})]},M.id)})})})]})})]})]}),X("div",{className:"space-y-2",children:[N(t,{htmlFor:"quota-resource",className:"text-sm font-semibold",children:J.quota_resource()}),X(H0,{value:W,onValueChange:(M)=>r(M),disabled:U||v,children:[N(Q0,{id:"quota-resource",className:"w-full",children:N(W0,{})}),X(q0,{children:[N(x,{value:"agent_total_tokens",children:X("div",{className:"flex items-center gap-2",children:[N(J4,{className:"w-4 h-4 text-primary"}),N("span",{children:J.quota_resource_agent_total_tokens()})]})}),N(x,{value:"agent_cost",children:X("div",{className:"flex items-center gap-2",children:[N(q6,{className:"w-4 h-4 text-emerald-500"}),N("span",{children:J.quota_resource_agent_cost()})]})}),N(x,{value:"agent_mcp_call_count",children:X("div",{className:"flex items-center gap-2",children:[N(x0,{className:"w-4 h-4 text-blue-500"}),N("span",{children:J.quota_resource_agent_mcp_call_count()})]})}),N(x,{value:"agent_bash_call_count",children:X("div",{className:"flex items-center gap-2",children:[N(o4,{className:"w-4 h-4 text-purple-500"}),N("span",{children:J.quota_resource_agent_bash_call_count()})]})}),N(x,{value:"agent_tool_call_count",children:X("div",{className:"flex items-center gap-2",children:[N(m4,{className:"w-4 h-4 text-cyan-500"}),N("span",{children:J.quota_resource_agent_tool_call_count()})]})})]})]})]}),W==="agent_mcp_call_count"&&X("div",{className:"space-y-2",children:[N(t,{htmlFor:"quota-mcp",className:"text-sm font-semibold",children:J.select_mcp_server()}),j.length>0?X(H0,{value:P,onValueChange:h,disabled:U||v,children:[N(Q0,{id:"quota-mcp",className:"w-full",children:N(W0,{placeholder:J.select_mcp_server()})}),N(q0,{children:j.map((M)=>X(x,{value:M.id,children:[M.name," (",M.id,")"]},M.id))})]}):N(d,{id:"quota-mcp",value:P,onChange:(M)=>h(M.target.value),placeholder:J.enter_mcp_id(),disabled:U||v})]}),W==="agent_bash_call_count"&&X("div",{className:"space-y-1.5",children:[N(t,{htmlFor:"quota-bash",className:"text-sm font-semibold",children:J.bash_command_pattern()}),N(d,{id:"quota-bash",value:E,onChange:(M)=>F(M.target.value),placeholder:J.bash_command_pattern_placeholder(),disabled:v}),N("p",{className:"text-xs text-muted-foreground",children:J.quota_bash_hint()})]}),W==="agent_tool_call_count"&&X("div",{className:"space-y-2",children:[N(t,{htmlFor:"quota-tool",className:"text-sm font-semibold",children:J.select_tool()}),X(H0,{value:V,onValueChange:f,disabled:U||v,children:[N(Q0,{id:"quota-tool",className:"w-full",children:N(W0,{placeholder:J.select_tool()})}),N(q0,{children:X7.map((M)=>N(x,{value:M.value,children:M.label()},M.value))})]}),N("p",{className:"text-xs text-muted-foreground",children:J.quota_tool_hint()})]}),X("div",{className:"grid grid-cols-2 gap-4",children:[X("div",{className:"space-y-2",children:[X(t,{htmlFor:"quota-limit",className:"text-sm font-semibold",children:[J.quota_limit()," (",R1[W]?.unit||"",")"]}),N(d,{id:"quota-limit",type:"number",min:"0.01",step:W==="agent_cost"?"0.01":"1",value:S,onChange:(M)=>A(Number(M.target.value)),placeholder:J.quota_limit_placeholder(),disabled:v,required:!0})]}),X("div",{className:"space-y-2",children:[N(t,{htmlFor:"quota-period",className:"text-sm font-semibold",children:J.quota_period()}),X(H0,{value:C,onValueChange:(M)=>b(M),disabled:v,children:[N(Q0,{id:"quota-period",className:"w-full",children:N(W0,{})}),X(q0,{children:[N(x,{value:"1hour",children:X("div",{className:"flex items-center gap-2",children:[N(b4,{className:"w-3.5 h-3.5 text-muted-foreground"}),N("span",{children:J.quota_period_1hour()})]})}),N(x,{value:"5hour",children:X("div",{className:"flex items-center gap-2",children:[N(b4,{className:"w-3.5 h-3.5 text-muted-foreground"}),N("span",{children:J.quota_period_5hour()})]})}),N(x,{value:"1day",children:X("div",{className:"flex items-center gap-2",children:[N(b4,{className:"w-3.5 h-3.5 text-muted-foreground"}),N("span",{children:J.quota_period_1day()})]})}),N(x,{value:"7day",children:X("div",{className:"flex items-center gap-2",children:[N(b4,{className:"w-3.5 h-3.5 text-muted-foreground"}),N("span",{children:J.quota_period_7day()})]})})]})]})]})]}),X("div",{className:"flex items-center justify-between p-3 rounded-lg border bg-muted/20",children:[X("div",{className:"space-y-0.5",children:[N(t,{htmlFor:"quota-enabled",className:"text-sm font-medium cursor-pointer",children:y?J.quota_enabled():J.quota_disabled()}),N("p",{className:"text-xs text-muted-foreground",children:y?"Active and enforcing limits":"Inactive, requests will bypass this quota"})]}),N(R0,{id:"quota-enabled",checked:y,onCheckedChange:T,disabled:v})]}),X(g0,{className:"pt-4 flex items-center justify-between gap-2 sm:justify-between border-t border-border/60",children:[U?X($,{type:"button",variant:"destructive",size:"sm",onClick:()=>p(!0),disabled:v,className:"gap-1.5",children:[N(A0,{className:"w-4 h-4"}),N("span",{children:J.delete_quota()})]}):N("div",{}),X("div",{className:"flex items-center gap-2",children:[N($,{type:"button",variant:"outline",onClick:()=>Z(!1),disabled:v,children:J.cancel()}),X($,{type:"submit",disabled:v,className:"gap-2",children:[v&&N(u,{className:"w-4 h-4 animate-spin"}),U?J.save():J.create()]})]})]})]})]})}),N(o0,{open:O,onOpenChange:p,children:X(l0,{children:[X(t0,{children:[N(r0,{children:J.delete_quota()}),N(s0,{children:J.delete_quota_confirm()})]}),X(i0,{children:[N(N4,{disabled:v,children:J.cancel()}),X(e0,{onClick:(M)=>{M.preventDefault(),I.mutate()},disabled:v,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:[v&&N(u,{className:"w-4 h-4 animate-spin mr-2"}),J.delete()]})]})]})})]})};var bN=({teamId:z})=>{let Z=B0(),[Y,H]=j6.useState(!1),[B,Q]=j6.useState(null),[U,w]=j6.useState(null),{data:k,isLoading:K}=J0({queryKey:["teams",z,"quotas"],queryFn:async()=>{let W=await g.api.teams[":teamId"].quotas.$get({param:{teamId:z}});if(!W.ok)throw Error(J.failed_load_settings());return await W.json()}}),G=o({mutationFn:async({id:W,enabled:L})=>{let P=await g.api.teams[":teamId"].quotas[":id"].$put({param:{teamId:z,id:W},json:{enabled:L}});if(!P.ok)throw Error(J.failed_to_update_quota());return await P.json()},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"quotas"]}),_.success(J.quota_status_updated())},onError:(W)=>{_.error(W instanceof Error?W.message:J.failed_to_update_quota())}}),R=o({mutationFn:async(W)=>{if(!(await g.api.teams[":teamId"].quotas[":id"].$delete({param:{teamId:z,id:W}})).ok)throw Error(J.failed_to_delete_quota())},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"quotas"]}),_.success(J.quota_deleted_successfully()),w(null)},onError:(W)=>{_.error(W instanceof Error?W.message:J.failed_to_delete_quota())}}),q=k?.rules||[];return X(K0,{className:"h-full",children:[N("div",{className:"space-y-6 pr-4 pb-10",children:X(G0,{children:[X(C0,{className:"flex flex-row items-center justify-between space-y-0 pb-6",children:[X("div",{className:"flex items-center gap-3",children:[N("div",{className:"p-2 bg-primary/10 text-primary rounded-lg",children:N(G6,{className:"w-6 h-6"})}),X("div",{children:[N(b0,{className:"text-xl font-bold",children:J.resource_quotas()}),N(E0,{children:J.resource_quotas_description()})]})]}),X($,{onClick:()=>H(!0),className:"gap-2",children:[N(F0,{className:"w-4 h-4"})," ",J.add_quota()]})]}),N(L0,{children:K?N("div",{className:"flex justify-center py-12",children:N(u,{className:"w-8 h-8 animate-spin text-primary"})}):q.length===0?X("div",{className:"text-center py-12 border-2 border-dashed border-border rounded-xl",children:[N("div",{className:"mx-auto w-12 h-12 bg-muted rounded-full flex items-center justify-center mb-4 text-muted-foreground",children:N(G6,{className:"w-6 h-6"})}),N("h3",{className:"text-base font-semibold text-foreground mb-1",children:J.no_quotas_title()}),N("p",{className:"text-sm text-muted-foreground max-w-md mx-auto mb-6",children:J.no_quotas_description()}),X($,{onClick:()=>H(!0),className:"gap-2",children:[N(F0,{className:"w-4 h-4"})," ",J.add_quota()]})]}):N("div",{className:"flex flex-col gap-4",children:q.map((W)=>{let L=hN[W.resource],P=W.resourceData||{};return N("div",{onClick:()=>Q(W),className:`group relative flex flex-col justify-between p-5 rounded-xl border bg-card text-card-foreground shadow-2xs transition-all hover:border-primary/40 hover:shadow-xs cursor-pointer ${!W.enabled?"opacity-60 bg-muted/20":""}`,children:X("div",{className:"space-y-3",children:[X("div",{className:"flex items-start justify-between gap-2",children:[X("div",{children:[N("div",{className:"font-semibold text-base text-foreground group-hover:text-primary transition-colors flex items-center gap-2",children:N("span",{children:L?.label?L.label():W.resource})}),X("div",{className:"text-xs text-muted-foreground line-clamp-1",children:[W.resource==="agent_mcp_call_count"&&X("span",{children:["Server: ",String(P.id||"")]}),W.resource==="agent_bash_call_count"&&X("span",{children:["Match: ",String(P.match||"*")]}),W.resource==="agent_tool_call_count"&&X("span",{children:["Tool: ",String(P.name||P.toolName||"*")]})]})]}),X("div",{className:"flex items-center gap-2",onClick:(h)=>h.stopPropagation(),children:[N(R0,{checked:W.enabled,onCheckedChange:(h)=>G.mutate({id:W.id,enabled:h}),disabled:G.isPending}),X(L4,{modal:!1,children:[N(P4,{asChild:!0,children:N($,{variant:"ghost",size:"icon","aria-label":"Quota actions",className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:N(R4,{className:"w-4 h-4"})})}),N(k4,{align:"end",children:X(X4,{onClick:()=>w(W),className:"text-destructive focus:text-destructive",children:[N(A0,{className:"w-4 h-4 mr-2"}),J.delete()]})})]})]})]}),N("div",{className:"flex flex-wrap items-center gap-2 pt-2 border-t border-border/50",children:X("div",{className:"flex flex-wrap items-center gap-1.5",children:[W.scopeMode==="all_members"&&X(i,{variant:"secondary",className:"gap-1 text-xs",children:[N(v6,{className:"w-3 h-3"}),X("span",{children:[J.quota_scope_mode_all_members(),W.role?` (${W.role})`:` (${J.quota_scope_team()})`]})]}),W.scopeMode==="each_member"&&X(i,{variant:"secondary",className:"gap-1 text-xs",children:[N(s4,{className:"w-3 h-3"}),X("span",{children:[J.quota_scope_mode_each_member(),W.role?` (${W.role})`:` (${J.quota_scope_team()})`]})]}),W.scopeMode==="selected_members"&&X(i,{variant:"secondary",className:"gap-1 text-xs",children:[N(f6,{className:"w-3 h-3"}),X("span",{children:[J.quota_scope_mode_selected_members()," (",W.userIds?.length||0,")"]})]}),X(i,{variant:"outline",className:"gap-1 text-xs",children:[N(b4,{className:"w-3 h-3"}),X("span",{children:[AN(W.resource,W.limit)," ",L?.unit," /"," ",CN(W.period)]})]})]})})]})},W.id)})})})]})}),(Y||!!B)&&N(TN,{open:Y||!!B,onOpenChange:(W)=>{if(!W)H(!1),Q(null)},teamId:z,rule:B}),N(o0,{open:!!U,onOpenChange:(W)=>{if(!W)w(null)},children:X(l0,{children:[X(t0,{children:[N(r0,{children:J.delete_quota()}),N(s0,{children:J.delete_quota_confirm()})]}),X(i0,{children:[N(N4,{disabled:R.isPending,children:J.cancel()}),X(e0,{onClick:(W)=>{if(W.preventDefault(),U)R.mutate(U.id)},disabled:R.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:[R.isPending&&N(u,{className:"w-4 h-4 animate-spin mr-2"}),J.delete()]})]})]})})]})};var z4=P0(k0(),1);var Q4=P0(k0(),1);function yN({isOpen:z,onClose:Z,imageSrc:Y,onConfirm:H}){let[B,Q]=Q4.useState(1),[U,w]=Q4.useState({x:0,y:0}),[k,K]=Q4.useState(!1),[G,R]=Q4.useState(!1),q=Q4.useRef({x:0,y:0}),W=Q4.useRef(null),L=Q4.useRef(null),P=250;Q4.useEffect(()=>{if(z)Q(1),w({x:0,y:0}),R(!1)},[z,Y]);let h=(A)=>{A.preventDefault(),K(!0),q.current={x:A.clientX-U.x,y:A.clientY-U.y}},E=(A)=>{if(!k)return;w({x:A.clientX-q.current.x,y:A.clientY-q.current.y})},F=()=>{K(!1)},V=(A)=>{if(A.touches.length!==1)return;K(!0);let C=A.touches[0];q.current={x:C.clientX-U.x,y:C.clientY-U.y}},f=(A)=>{if(!k||A.touches.length!==1)return;let C=A.touches[0];w({x:C.clientX-q.current.x,y:C.clientY-q.current.y})},S=async()=>{let A=W.current,C=L.current;if(!A||!C)return;R(!0);try{let b=A.getBoundingClientRect(),y=512,T=document.createElement("canvas");T.width=512,T.height=512;let O=T.getContext("2d");if(O){O.clearRect(0,0,512,512);let p=2.048,n=b.width/B,e=b.height/B,l=256+U.x*p,v0=256+U.y*p;O.translate(l,v0),O.scale(B*p,B*p),O.drawImage(A,-n/2,-e/2,n,e);let j=await new Promise((r)=>{T.toBlob((_0)=>r(_0),"image/jpeg",0.9)});if(j)await H(j)}}catch(b){console.error("Failed to crop image",b)}finally{R(!1)}};return N(S0,{open:z,onOpenChange:(A)=>!A&&Z(),children:X(D0,{className:"sm:max-w-[420px] rounded-2xl border border-border bg-background/95 backdrop-blur-md shadow-2xl p-0 overflow-hidden gap-0",children:[N(y0,{className:"p-6 border-b border-border/40 bg-gradient-to-br from-primary/5 to-transparent",children:X(O0,{className:"text-xl font-bold flex items-center gap-2",children:[N(EN,{className:"w-5 h-5 text-primary"}),J.position_and_resize()]})}),X("div",{className:"p-6 flex flex-col items-center gap-6",children:[X("div",{ref:L,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:E,onMouseUp:F,onMouseLeave:F,onTouchStart:V,onTouchMove:f,onTouchEnd:F,children:[Y&&N("img",{ref:W,src:Y,alt:J.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(${U.x}px, ${U.y}px) scale(${B})`,maxHeight:"100%"}}),N("div",{className:"absolute inset-0 pointer-events-none border-[3px] border-primary/90 rounded-full"}),N("div",{className:"absolute inset-0 pointer-events-none bg-black/40",style:{clipPath:"polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)",maskImage:"radial-gradient(circle, transparent 122px, black 123px)",WebkitMaskImage:"radial-gradient(circle, transparent 122px, black 123px)"}})]}),X("div",{className:"w-full flex items-center gap-3 px-2",children:[N(DN,{className:"w-4 h-4 text-muted-foreground"}),N("input",{type:"range",min:"1.0",max:"3.0",step:"0.01",value:B,onChange:(A)=>Q(parseFloat(A.target.value)),className:"flex-1 h-1.5 bg-muted rounded-lg appearance-none cursor-pointer accent-primary focus:outline-none"}),N(VN,{className:"w-4 h-4 text-muted-foreground"})]})]}),X(g0,{className:"p-6 border-t border-border/40 bg-muted/20 flex flex-row justify-end gap-3",children:[N($,{variant:"outline",onClick:Z,disabled:G,children:J.cancel()}),N($,{onClick:S,disabled:G||!Y,className:"min-w-[80px]",children:G?X(Z0,{children:[N(u,{className:"w-4 h-4 animate-spin mr-2"}),J.saving()]}):J.save()})]})]})})}var z7=["general","transcode","quotas","skills","mcp","providers","agents","sandbox","notifications","developer"];function ON(){if(typeof window>"u")return"general";let z=window.location.hash.replace(/^#/,"");return z7.includes(z)?z:"general"}function Y7(){let{teamId:z}=B7.useParams(),Z=B0(),[Y,H]=z4.useState(ON),B=(j)=>{H(j);let r=j==="general"?"":`#${j}`;if(window.location.hash!==r)window.history.replaceState(null,"",window.location.pathname+window.location.search+r)};z4.useEffect(()=>{let j=()=>{H(ON())};return window.addEventListener("hashchange",j),()=>window.removeEventListener("hashchange",j)},[]);let[Q,U]=z4.useState(""),[w,k]=z4.useState(!1),[K,G]=z4.useState(null),R=z4.useRef(null),[q,W]=z4.useState(!1),{setMetadata:L,getMetadata:P}=_N(),h=P("locale")||SN(),E=async(j)=>{if(j==="en"||j==="zh")try{await L(z,"locale",j),gN(j),_.success(J.language_updated())}catch(r){console.error(r),_.error(J.failed_update_language())}},{data:F,isLoading:V,error:f}=J0({queryKey:["teams",z,"settings"],queryFn:async()=>{let j=await g.api.teams[":teamId"].settings.$get({param:{teamId:z}});if(!j.ok)throw Error("Failed to fetch settings");return await j.json()}}),{data:S,isLoading:A}=J0({queryKey:["teams",z,"me"],queryFn:async()=>{let j=await g.api.teams[":teamId"].me.$get({param:{teamId:z}});if(!j.ok)throw Error("Failed to fetch me");return await j.json()},enabled:!!z});z4.useEffect(()=>{if(S?.name)U(S.name)},[S]),z4.useEffect(()=>{let j=["transcode","quotas","providers","skills","mcp","agents","sandbox"];if(S&&S.role!=="owner"&&j.includes(Y))B("general")},[S,Y]);let C=(j)=>{if(!j)return"U";let r=j.split(" ");if(r.length>1)return`${r[0][0]}${r[r.length-1][0]}`.toUpperCase();return j.substring(0,2).toUpperCase()},b=(j)=>{let r=j.target.files?.[0];if(r){let _0=new FileReader;_0.onload=()=>{G(_0.result),k(!0)},_0.readAsDataURL(r),j.target.value=""}},y=async(j)=>{W(!0);try{let r=new File([j],"avatar.jpg",{type:"image/jpeg"}),_0=await g.api.teams[":teamId"].files.$post({param:{teamId:z},form:{file:r}});if(!_0.ok)throw Error("Failed to upload avatar");let I=(await _0.json()).key;if(!(await g.api.teams[":teamId"].me.$patch({param:{teamId:z},json:{imageKey:I}})).ok)throw Error("Failed to save profile");_.success(J.avatar_updated()),Z.invalidateQueries({queryKey:["teams",z,"me"]}),k(!1)}catch(r){console.error(r),_.error(J.failed_update_avatar())}finally{W(!1)}},T=async()=>{W(!0);try{if(!(await g.api.teams[":teamId"].me.$patch({param:{teamId:z},json:{imageKey:null}})).ok)throw Error("Failed to remove avatar");_.success(J.avatar_removed()),Z.invalidateQueries({queryKey:["teams",z,"me"]})}catch(j){console.error(j),_.error(J.failed_remove_avatar())}finally{W(!1)}},O=async()=>{if(!Q.trim())return;W(!0);try{if(!(await g.api.teams[":teamId"].me.$patch({param:{teamId:z},json:{name:Q.trim()}})).ok)throw Error("Failed to update name");_.success(J.profile_updated()),Z.invalidateQueries({queryKey:["teams",z,"me"]})}catch(j){console.error(j),_.error(J.failed_update_profile())}finally{W(!1)}},{mutate:p}=o({mutationFn:async(j)=>{let r=await g.api.teams[":teamId"].settings.$patch({param:{teamId:j.teamId},json:j.data});if(!r.ok)throw Error("Failed to update settings");return await r.json()},onSuccess:()=>{Z.invalidateQueries({queryKey:["teams",z,"settings"]})}}),n=(j)=>{p({teamId:z,data:{key:"transcode.videoStrategy",value:j}})},e=(j)=>{p({teamId:z,data:{key:"transcode.hardwareAcceleration",value:j}})};if(V||A)return N("div",{className:"flex h-screen items-center justify-center",children:N(u,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(f)return N("div",{className:"p-8 text-center text-red-500",children:J.failed_load_settings()});let l=F?.transcode?.videoStrategy||F4.best_match;if(l==="single"||l==="disable")l=F4.best_match;else if(l==="full")l=F4.all;let v0=F?.transcode?.hardwareAcceleration||e4.off;return N("div",{className:"h-full bg-background font-sans selection:bg-primary/20 transition-colors duration-300",children:X("div",{className:"flex flex-col md:flex-row h-full",children:[N("div",{className:"w-full h-full md:w-72 bg-sidebar border-b md:border-b-0 md:border-r border-sidebar-border z-10 md:left-16 overflow-y-auto transition-colors duration-300",children:X("nav",{className:"p-4 space-y-1 mt-4",children:[N("div",{className:"mb-2 px-4 text-xs font-semibold text-sidebar-foreground/60 uppercase tracking-wider",children:J.personal_settings()}),X("button",{onClick:()=>B("general"),className:N0("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",Y==="general"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(s4,{className:"w-5 h-5"}),J.general(),Y==="general"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),X("button",{onClick:()=>B("notifications"),className:N0("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",Y==="notifications"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(_6,{className:"w-5 h-5"}),J.notifications(),Y==="notifications"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),X("button",{onClick:()=>B("developer"),className:N0("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",Y==="developer"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(i4,{className:"w-5 h-5"}),J.api_tokens(),Y==="developer"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),S?.role==="owner"&&X(Z0,{children:[N("div",{className:"mt-6 mb-2 px-4 text-xs font-semibold text-sidebar-foreground/60 uppercase tracking-wider pt-4 border-t border-sidebar-border",children:J.team_settings()}),X("button",{onClick:()=>B("transcode"),className:N0("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",Y==="transcode"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(IN,{className:"w-5 h-5"}),J.media_processing(),Y==="transcode"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),X("button",{onClick:()=>B("quotas"),className:N0("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",Y==="quotas"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(G6,{className:"w-5 h-5"}),J.quotas(),Y==="quotas"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]})]}),S?.role==="owner"&&X(Z0,{children:[N("div",{className:"mt-6 mb-2 px-4 text-xs font-semibold text-sidebar-foreground/60 uppercase tracking-wider pt-4 border-t border-sidebar-border",children:J.ai_settings()}),X("button",{onClick:()=>B("providers"),className:N0("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",Y==="providers"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(J4,{className:"w-5 h-5"}),J.providers(),Y==="providers"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),X("button",{onClick:()=>B("skills"),className:N0("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",Y==="skills"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(G4,{className:"w-5 h-5"}),J.skills(),Y==="skills"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),X("button",{onClick:()=>B("mcp"),className:N0("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",Y==="mcp"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(x0,{className:"w-5 h-5"}),J.mcp_servers(),Y==="mcp"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),X("button",{onClick:()=>B("agents"),className:N0("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",Y==="agents"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(y6,{className:"w-5 h-5"}),J.agents(),Y==="agents"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),X("button",{onClick:()=>B("sandbox"),className:N0("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",Y==="sandbox"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[N(MN,{className:"w-5 h-5"}),J.agent_sandbox(),Y==="sandbox"&&N("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]})]})]})}),N("main",{className:"flex-1 bg-background/50 h-full flex flex-col transition-colors duration-300 overflow-y-hidden",children:X("div",{className:"flex-1 flex flex-col max-w-4xl w-full mx-auto p-6 md:p-10 overflow-hidden",children:[N("div",{className:"flex-none flex items-center justify-between mb-6",children:X("div",{children:[X("h2",{className:"text-2xl font-bold text-foreground",children:[Y==="general"&&J.general_settings(),Y==="transcode"&&J.media_processing(),Y==="quotas"&&J.resource_quotas(),Y==="skills"&&J.skills_management(),Y==="mcp"&&J.mcp_servers(),Y==="providers"&&J.ai_providers(),Y==="agents"&&J.ai_agents(),Y==="sandbox"&&J.agent_sandbox_settings(),Y==="notifications"&&J.notification_settings(),Y==="developer"&&J.developer_settings()]}),X("p",{className:"text-sm text-muted-foreground mt-1",children:[Y==="general"&&J.general_settings_description(),Y==="transcode"&&J.transcode_description(),Y==="quotas"&&J.resource_quotas_description(),Y==="skills"&&J.skills_description(),Y==="mcp"&&J.mcp_servers_description(),Y==="providers"&&J.providers_description(),Y==="agents"&&J.agents_description(),Y==="sandbox"&&J.sandbox_description(),Y==="notifications"&&J.notifications_description(),Y==="developer"&&J.developer_description()]})]})}),X("div",{className:"flex-1 overflow-hidden animate-in fade-in slide-in-from-bottom-4 duration-500",children:[Y==="general"&&X("div",{className:"h-full overflow-y-auto space-y-6 pr-1",children:[X(G0,{children:[X(C0,{children:[N(b0,{children:J.personal_info()}),N(E0,{children:J.personal_info_description()})]}),N(L0,{className:"space-y-6",children:X("div",{className:"flex flex-col md:flex-row gap-8 items-start",children:[X("div",{className:"flex flex-col items-center gap-3",children:[N("span",{className:"text-sm font-medium text-muted-foreground",children:J.avatar()}),X("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:[X(c6,{className:"w-24 h-24",children:[S?.image&&N(m6,{src:S.image,alt:S.name,className:"object-cover w-24 h-24"}),N(x6,{className:"text-2xl bg-primary/40 text-foreground",children:C(S?.name)})]}),N("div",{className:"absolute inset-0 bg-black/40 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity",children:N("span",{className:"text-white text-xs font-semibold",children:J.change()})})]}),X("div",{className:"flex gap-2",children:[N($,{variant:"outline",size:"sm",onClick:()=>R.current?.click(),children:J.upload()}),S?.image&&N($,{variant:"ghost",size:"sm",className:"text-red-500 hover:text-red-600",onClick:T,children:J.remove()})]}),N("input",{type:"file",ref:R,className:"hidden",accept:"image/*",onChange:b})]}),X("div",{className:"flex-1 space-y-4 w-full",children:[X("div",{className:"space-y-2",children:[N("label",{className:"text-sm font-medium text-muted-foreground",children:J.name()}),N(d,{value:Q,onChange:(j)=>U(j.target.value),placeholder:J.enter_your_name(),className:"max-w-md"})]}),X("div",{className:"space-y-2",children:[N("label",{className:"text-sm font-medium text-muted-foreground",children:J.email()}),N(d,{value:S?.email||"",disabled:!0,className:"max-w-md bg-muted/50 cursor-not-allowed"}),N("p",{className:"text-xs text-muted-foreground",children:J.email_managed_by_auth()})]}),X($,{onClick:O,disabled:q||!Q.trim(),className:"mt-2",children:[q&&N(u,{className:"w-4 h-4 animate-spin mr-2"}),J.save_changes()]})]})]})})]}),X(G0,{className:"border border-slate-200 dark:border-slate-800 mt-6",children:[X(C0,{children:[N(b0,{children:J.language_settings()}),N(E0,{children:J.select_preferred_language()})]}),N(L0,{className:"space-y-4",children:N("div",{className:"max-w-xs",children:X(H0,{value:h,onValueChange:E,children:[N(Q0,{children:N(W0,{placeholder:J.select_language()})}),X(q0,{children:[N(x,{value:"en",children:J.english()}),N(x,{value:"zh",children:J.chinese()})]})]})})})]}),N(yN,{isOpen:w,onClose:()=>k(!1),imageSrc:K,onConfirm:y})]}),Y==="transcode"&&N("div",{className:"h-full overflow-y-auto pr-1",children:X(G0,{children:[X(C0,{children:[N(b0,{children:J.transcode_settings()}),X(E0,{children:[N("span",{className:"block mb-2",children:J.transcode_description()}),N("span",{className:"block",children:J.transcode_strategy_note()})]})]}),X(L0,{className:"space-y-6",children:[X("div",{className:"space-y-3",children:[N("h3",{className:"text-lg font-medium",children:J.video_strategy()}),X("div",{className:"space-y-3",children:[X("div",{className:N0("cursor-pointer rounded-lg border p-4 transition-all hover:border-primary",l===F4.best_match?"border-primary bg-primary/5":"border-border"),onClick:()=>n(F4.best_match),children:[N("div",{className:"font-semibold",children:J.best_match()}),N("div",{className:"text-sm text-muted-foreground",children:J.best_match_description()})]}),X("div",{className:N0("cursor-pointer rounded-lg border p-4 transition-all hover:border-primary",l===F4.all?"border-primary bg-primary/5":"border-border"),onClick:()=>n(F4.all),children:[N("div",{className:"font-semibold",children:J.all_resolutions()}),N("div",{className:"text-sm text-muted-foreground",children:J.all_resolutions_description()})]})]})]}),X("div",{className:"space-y-3 pt-6 border-t border-border",children:[N("h3",{className:"text-lg font-medium",children:J.hardware_acceleration()}),X("div",{className:"space-y-3",children:[X("div",{className:N0("cursor-pointer rounded-lg border p-4 transition-all hover:border-primary",v0===e4.off?"border-primary bg-primary/5":"border-border"),onClick:()=>e(e4.off),children:[N("div",{className:"font-semibold",children:J.hardware_acceleration_off()}),N("div",{className:"text-sm text-muted-foreground",children:J.hardware_acceleration_off_description()})]}),X("div",{className:N0("cursor-pointer rounded-lg border p-4 transition-all hover:border-primary",v0===e4.auto?"border-primary bg-primary/5":"border-border"),onClick:()=>e(e4.auto),children:[N("div",{className:"font-semibold",children:J.hardware_acceleration_auto()}),N("div",{className:"text-sm text-muted-foreground",children:J.hardware_acceleration_auto_description()})]})]})]})]})]})}),Y==="skills"&&N("div",{className:"h-full overflow-y-auto pr-1",children:N(NN,{teamId:z})}),Y==="mcp"&&N("div",{className:"h-full overflow-y-auto pr-1",children:N(HN,{teamId:z})}),Y==="providers"&&N(l1,{teamId:z}),Y==="agents"&&N("div",{className:"h-full overflow-y-auto pr-1",children:N(x1,{teamId:z})}),Y==="sandbox"&&N("div",{className:"h-full overflow-y-auto pr-1",children:N(r1,{teamId:z})}),Y==="notifications"&&N(UN,{teamId:z}),Y==="developer"&&N(PN,{teamId:z}),Y==="quotas"&&N(bN,{teamId:z})]})]})})]})})}var B7=FN("/teams/$teamId/settings")({component:Y7});export{B7 as Route};