@shumai-one/shumai 0.2.0 → 0.2.2

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 (175) hide show
  1. package/bin/chunk-0aj303as.js +3 -0
  2. package/bin/{chunk-kbzm1pwx.js → chunk-0qkj838r.js} +1 -1
  3. package/bin/{chunk-5a2maxwp.js → chunk-0rxhc7ka.js} +2 -2
  4. package/bin/chunk-0xbf8bcg.js +2 -0
  5. package/bin/{chunk-xh2ntgmk.js → chunk-14fh4s1a.js} +2 -2
  6. package/bin/{chunk-6mn3jqm9.js → chunk-15sefy5t.js} +2 -2
  7. package/bin/{chunk-mjan6b09.js → chunk-1wm57c6y.js} +3 -3
  8. package/bin/{chunk-pf8edn5x.js → chunk-1xpec5r8.js} +2 -2
  9. package/bin/chunk-23d3968z.js +2 -0
  10. package/bin/{chunk-r3n9zpfw.js → chunk-262hkppb.js} +2 -2
  11. package/bin/{chunk-3n1k9qt5.js → chunk-29tx9qe2.js} +1 -1
  12. package/bin/chunk-2aamsc5v.js +2 -0
  13. package/bin/chunk-2aascrtb.js +2 -0
  14. package/bin/chunk-2dsmsa6a.js +3 -0
  15. package/bin/chunk-2g12s6mc.js +2 -0
  16. package/bin/chunk-31baz5n0.js +2 -0
  17. package/bin/{chunk-a5kfa0k9.js → chunk-3rmc8nz6.js} +1 -1
  18. package/bin/{chunk-dyybbn07.js → chunk-46ar48f9.js} +1 -1
  19. package/bin/chunk-4e3jbp84.js +1 -0
  20. package/bin/chunk-4jk0y1w1.js +1 -0
  21. package/bin/{chunk-7ddaxdpf.js → chunk-4qpa7b5t.js} +1 -1
  22. package/bin/{chunk-8wv3kdz9.js → chunk-54tr7y2x.js} +2 -2
  23. package/bin/{chunk-ehfk24cf.js → chunk-5d2q46mx.js} +1 -1
  24. package/bin/{chunk-2cmg5sfn.js → chunk-5m9be8an.js} +2 -2
  25. package/bin/{chunk-yk3k5g5w.js → chunk-5r8858hx.js} +2 -2
  26. package/bin/{chunk-fwe9g818.js → chunk-5t6c3038.js} +1 -1
  27. package/bin/chunk-6z65xd0w.js +3 -0
  28. package/bin/{chunk-cp18trqb.js → chunk-77r8w95d.js} +2 -2
  29. package/bin/chunk-7b17fb36.js +6 -0
  30. package/bin/chunk-7e06b2zb.js +2 -0
  31. package/bin/{chunk-29ectt6g.js → chunk-7hsgmjpa.js} +2 -2
  32. package/bin/chunk-7we7ex0m.js +3 -0
  33. package/bin/{chunk-6r9w7z15.js → chunk-88fg1sw7.js} +2 -2
  34. package/bin/chunk-891h8br6.js +3 -0
  35. package/bin/{chunk-m7jfszqt.js → chunk-8mkfgcvb.js} +2 -2
  36. package/bin/chunk-8qg47kj6.js +3 -0
  37. package/bin/chunk-8tf6kgdj.js +2 -0
  38. package/bin/{chunk-s8d2045p.js → chunk-8wqfkm4c.js} +1 -1
  39. package/bin/{chunk-3rajscaz.js → chunk-922nnh39.js} +1 -1
  40. package/bin/{chunk-aakzq0w1.js → chunk-925q4paa.js} +1 -1
  41. package/bin/{chunk-frm7vz6v.js → chunk-92xxys10.js} +6 -6
  42. package/bin/chunk-97jzve52.js +4 -0
  43. package/bin/{chunk-w4y97tzy.js → chunk-9ab6k4rq.js} +1 -1
  44. package/bin/chunk-9avkn3x1.js +3 -0
  45. package/bin/{chunk-22dje1f5.js → chunk-9h027f50.js} +1 -1
  46. package/bin/{chunk-ec88pb09.js → chunk-9h3ds7rn.js} +2 -2
  47. package/bin/chunk-av71yjaa.js +1 -0
  48. package/bin/{chunk-xpqcvxej.js → chunk-b8js74jk.js} +1 -1
  49. package/bin/chunk-bd71dp4j.js +8 -0
  50. package/bin/{chunk-yhj8c5re.js → chunk-bs0fjz3w.js} +2 -2
  51. package/bin/chunk-byqc8tzq.js +1 -0
  52. package/bin/chunk-c45rh4hk.js +3 -0
  53. package/bin/chunk-ccw7mjgq.js +5 -0
  54. package/bin/{chunk-3x62t1m0.js → chunk-cxhmr356.js} +1 -1
  55. package/bin/chunk-d2vxmn9v.js +3 -0
  56. package/bin/chunk-d3wmdjze.js +8 -0
  57. package/bin/{chunk-z42cyc20.js → chunk-de99643r.js} +2 -2
  58. package/bin/{chunk-4kk5g619.js → chunk-dghtwyq1.js} +2 -2
  59. package/bin/chunk-dqgv5yy1.js +6 -0
  60. package/bin/chunk-e3s3rz2e.js +12 -0
  61. package/bin/chunk-e52nga6c.js +3 -0
  62. package/bin/chunk-e7ndw3hg.js +12 -0
  63. package/bin/chunk-f14sqw1d.js +1 -0
  64. package/bin/chunk-f7sbkfmk.js +2 -0
  65. package/bin/{chunk-mnv6pj0k.js → chunk-fa2g2wge.js} +2 -2
  66. package/bin/{chunk-fcb14agg.js → chunk-fbte2rmd.js} +1 -1
  67. package/bin/chunk-fcvtgx1y.js +7 -0
  68. package/bin/chunk-fd5a3pdd.js +1 -0
  69. package/bin/{chunk-49ej1y67.js → chunk-fepymbka.js} +2 -2
  70. package/bin/{chunk-j8q688sx.js → chunk-fz88kkk1.js} +2 -2
  71. package/bin/chunk-g6zzg6v2.js +1 -0
  72. package/bin/chunk-g8th86na.js +2 -0
  73. package/bin/chunk-gswbc6y9.js +2 -0
  74. package/bin/{chunk-d1ka11hc.js → chunk-gtrc5ka2.js} +1 -1
  75. package/bin/chunk-h0ytx8zc.js +2 -0
  76. package/bin/{chunk-gdm6y33a.js → chunk-hkbybhww.js} +1 -1
  77. package/bin/chunk-hr97a5j5.js +4 -0
  78. package/bin/{chunk-dypsm6m2.js → chunk-j8qtab70.js} +1 -1
  79. package/bin/{chunk-hdk93ghf.js → chunk-jf3vn5c3.js} +2 -2
  80. package/bin/{chunk-ajqsprm0.js → chunk-kfhtk3eh.js} +2 -2
  81. package/bin/chunk-kr06nrbx.js +2 -0
  82. package/bin/{chunk-9rw65s3e.js → chunk-m4zpf9gg.js} +2 -2
  83. package/bin/{chunk-y1xs4c5j.js → chunk-mqjzmn0e.js} +1 -1
  84. package/bin/{chunk-d2y3rbjm.js → chunk-mzg1h07d.js} +1 -1
  85. package/bin/{chunk-ysq64j13.js → chunk-n4meg9wb.js} +1 -1
  86. package/bin/{chunk-acxm86fh.js → chunk-nrwna4ha.js} +1 -1
  87. package/bin/chunk-nyhqy6q2.js +62 -0
  88. package/bin/{chunk-4zq8vxcy.css → chunk-pmswtfe3.css} +1 -1
  89. package/bin/chunk-pq18zenh.js +2 -0
  90. package/bin/chunk-pxw97qbq.js +3 -0
  91. package/bin/chunk-q09dfja5.js +3 -0
  92. package/bin/{chunk-m54p1cvp.js → chunk-q24epdh8.js} +2 -2
  93. package/bin/{chunk-k5w64spz.js → chunk-qksb0v3c.js} +2 -2
  94. package/bin/chunk-qqk51620.js +2 -0
  95. package/bin/chunk-r0w920zb.js +1 -0
  96. package/bin/{chunk-08m8mzfa.js → chunk-re0b7sj7.js} +1 -1
  97. package/bin/chunk-rtngbgpk.js +7 -0
  98. package/bin/{chunk-5tmf3c0g.js → chunk-ry33f2qk.js} +2 -2
  99. package/bin/{chunk-9n0etqsy.js → chunk-s1n39qte.js} +1 -1
  100. package/bin/{chunk-3qdn3pty.js → chunk-s46zwr4p.js} +1 -1
  101. package/bin/chunk-s8t74q9m.js +1 -0
  102. package/bin/chunk-sd86v1e6.js +1 -0
  103. package/bin/{chunk-kpy0kpna.js → chunk-srn8t0v7.js} +2 -2
  104. package/bin/chunk-szzff7gd.js +1 -0
  105. package/bin/{chunk-fwf8yne2.js → chunk-t3t6021k.js} +2 -2
  106. package/bin/{chunk-eadb78m8.js → chunk-ta7bfdrn.js} +1 -1
  107. package/bin/chunk-thsbcbay.js +8 -0
  108. package/bin/chunk-tspps87j.js +1 -0
  109. package/bin/chunk-w7dn1m95.js +2 -0
  110. package/bin/chunk-w88219ex.js +3 -0
  111. package/bin/{chunk-pqm0g14r.js → chunk-wc8sc9r9.js} +2 -2
  112. package/bin/chunk-wg98cacx.js +2 -0
  113. package/bin/chunk-wsyg4rwg.js +2 -0
  114. package/bin/{chunk-n5hfy93f.js → chunk-xcwbg4w9.js} +3 -3
  115. package/bin/{chunk-dgx2zxze.js → chunk-xyjw8w3r.js} +2 -2
  116. package/bin/chunk-y2qp11v9.js +1 -0
  117. package/bin/{chunk-1fpqq6ed.js → chunk-ybhgmvxa.js} +2 -2
  118. package/bin/{chunk-1wq9hjjr.js → chunk-ygz6pawn.js} +1 -1
  119. package/bin/{chunk-mv79zk8q.js → chunk-ymeycphq.js} +3 -3
  120. package/bin/{chunk-wv4fe1fj.js → chunk-zemrvz79.js} +2 -2
  121. package/bin/{chunk-3rt9mnj3.js → chunk-ztmj61z9.js} +1 -1
  122. package/bin/chunk-zzx99j8t.js +2 -0
  123. package/bin/shumai-app.html +1 -1
  124. package/bin/shumai-app.js +308 -283
  125. package/package.json +7 -7
  126. package/prisma/migrations/20260722022359_add_skill_permission/migration.sql +2 -0
  127. package/prisma/migrations/20260723025234_add_ai_usage_table/migration.sql +28 -0
  128. package/prisma/migrations/20260723032755_add_ai_usage_unique_constraint/migration.sql +8 -0
  129. package/prisma/schema.prisma +26 -0
  130. package/bin/chunk-09wp20mv.js +0 -1
  131. package/bin/chunk-0at8vxt5.js +0 -3
  132. package/bin/chunk-0zv7f9ca.js +0 -2
  133. package/bin/chunk-2k4vp654.js +0 -2
  134. package/bin/chunk-2s5a64nr.js +0 -2
  135. package/bin/chunk-2tbya52d.js +0 -2
  136. package/bin/chunk-2vs3evc7.js +0 -14
  137. package/bin/chunk-33169en9.js +0 -8
  138. package/bin/chunk-33ee1cvv.js +0 -2
  139. package/bin/chunk-3m39v371.js +0 -1
  140. package/bin/chunk-4hnrd4qh.js +0 -2
  141. package/bin/chunk-6c4c7t0n.js +0 -1
  142. package/bin/chunk-6frqqxkv.js +0 -1
  143. package/bin/chunk-7rhjej0x.js +0 -3
  144. package/bin/chunk-7wvgtw25.js +0 -3
  145. package/bin/chunk-8s0ae37g.js +0 -1
  146. package/bin/chunk-94h8644q.js +0 -2
  147. package/bin/chunk-ac2ky3q0.js +0 -12
  148. package/bin/chunk-axx5bh38.js +0 -2
  149. package/bin/chunk-cthpdt54.js +0 -11
  150. package/bin/chunk-d0earxhc.js +0 -4
  151. package/bin/chunk-d0n8nxp3.js +0 -3
  152. package/bin/chunk-d22pyc5n.js +0 -1
  153. package/bin/chunk-dmgjse02.js +0 -4
  154. package/bin/chunk-e5833tbd.js +0 -2
  155. package/bin/chunk-g7wrxnmd.js +0 -1
  156. package/bin/chunk-gk7158n4.js +0 -2
  157. package/bin/chunk-hb5v9ees.js +0 -2
  158. package/bin/chunk-jrvrg4fx.js +0 -1
  159. package/bin/chunk-k712q1zj.js +0 -2
  160. package/bin/chunk-kef0rnwn.js +0 -1
  161. package/bin/chunk-n296vcfw.js +0 -3
  162. package/bin/chunk-n6jgyv4y.js +0 -3
  163. package/bin/chunk-nar4s9v9.js +0 -3
  164. package/bin/chunk-nn8e9j7c.js +0 -1
  165. package/bin/chunk-nwtb6dt1.js +0 -62
  166. package/bin/chunk-ps4h3387.js +0 -5
  167. package/bin/chunk-q4f5vvtx.js +0 -2
  168. package/bin/chunk-qqesrgjk.js +0 -7
  169. package/bin/chunk-qz9xht6d.js +0 -2
  170. package/bin/chunk-symna5cj.js +0 -1
  171. package/bin/chunk-twzgpwst.js +0 -2
  172. package/bin/chunk-vgvmt2m1.js +0 -2
  173. package/bin/chunk-w4t9n9te.js +0 -6
  174. package/bin/chunk-z14hh99h.js +0 -2
  175. package/bin/chunk-zsdwska1.js +0 -1
@@ -1,4 +0,0 @@
1
- // @bun
2
- import{gb as M}from"./chunk-cthpdt54.js";import{ob as I}from"./chunk-dypsm6m2.js";import{xb as S,zb as v}from"./chunk-0at8vxt5.js";import{Ab as J}from"./chunk-22dje1f5.js";import"./chunk-n5hfy93f.js";import{ge as O}from"./chunk-wv4fe1fj.js";import{ie as K,je as E,ke as z}from"./chunk-7rhjej0x.js";import{le as f}from"./chunk-n6jgyv4y.js";import"./chunk-yhj8c5re.js";import"./chunk-kbzm1pwx.js";var T=9,b=4000,h=(j,G,W)=>{let Q=new z;return(async()=>{let V=x(j);try{let F=W?.apiKey||f(j.provider);if(!F)throw Error(`No API key for provider: ${j.provider}`);let _=new M({apiKey:F,serverURL:j.baseUrl}),L=g(),X=v(G.messages,j,(q)=>L(q)),Z=p(j,G,X,W),Y=await W?.onPayload?.(Z,j);if(Y!==void 0)Z=Y;let $=await _.chat.stream(Z,m(j,W));if(Q.push({type:"start",partial:V}),await n(j,V,Q,$),W?.signal?.aborted)throw Error("Request was aborted");if(V.stopReason==="aborted"||V.stopReason==="error")throw Error("An unknown error occurred");Q.push({type:"done",reason:V.stopReason,message:V}),Q.end()}catch(F){for(let _ of V.content)delete _.partialArgs;V.stopReason=W?.signal?.aborted?"aborted":"error",V.errorMessage=k(F),Q.push({type:"error",reason:V.stopReason,error:V}),Q.end()}})(),Q},Zj=(j,G,W)=>{let Q=W?.apiKey||f(j.provider);if(!Q)throw Error(`No API key for provider: ${j.provider}`);let V=S(j,W,Q),F=W?.reasoning?E(j,W.reasoning):void 0,_=F==="off"?void 0:F,L=j.reasoning&&_!==void 0;return h(j,G,{...V,promptMode:L&&r(j)?"reasoning":void 0,reasoningEffort:L&&y(j)?l(j,_):void 0})};function x(j){return{role:"assistant",content:[],api:j.api,provider:j.provider,model:j.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()}}function g(){let j=new Map,G=new Map;return(W)=>{let Q=j.get(W);if(Q)return Q;let V=0;while(!0){let F=C(W,V),_=G.get(F);if(!_||_===W)return j.set(W,F),G.set(F,W),F;V++}}}function C(j,G){let W=j.replace(/[^a-zA-Z0-9]/g,"");if(G===0&&W.length===T)return W;let Q=W||j,V=G===0?Q:`${Q}:${G}`;return I(V).replace(/[^a-zA-Z0-9]/g,"").slice(0,T)}function k(j){if(j instanceof Error){let G=j,W=typeof G.statusCode==="number"?G.statusCode:void 0,Q=typeof G.body==="string"?G.body.trim():void 0;if(W!==void 0&&Q)return`Mistral API error (${W}): ${d(Q,b)}`;if(W!==void 0)return`Mistral API error (${W}): ${j.message}`;return j.message}return c(j)}function d(j,G){if(j.length<=G)return j;return`${j.slice(0,G)}... [truncated ${j.length-G} chars]`}function c(j){try{let G=JSON.stringify(j);return G===void 0?String(j):G}catch{return String(j)}}function m(j,G){let W={retries:{strategy:"none"}};if(G?.signal)W.signal=G.signal;let Q={};if(j.headers)Object.assign(Q,j.headers);if(G?.headers)Object.assign(Q,G.headers);if(G?.sessionId&&!Q["x-affinity"])Q["x-affinity"]=G.sessionId;if(Object.keys(Q).length>0)W.headers=Q;return W}function p(j,G,W,Q){let V={model:j.id,stream:!0,messages:u(W,j.input.includes("image"))};if(G.tools?.length)V.tools=i(G.tools);if(Q?.temperature!==void 0)V.temperature=Q.temperature;if(Q?.maxTokens!==void 0)V.maxTokens=Q.maxTokens;if(Q?.toolChoice)V.toolChoice=s(Q.toolChoice);if(Q?.promptMode)V.promptMode=Q.promptMode;if(Q?.reasoningEffort)V.reasoningEffort=Q.reasoningEffort;if(G.systemPrompt)V.messages.unshift({role:"system",content:J(G.systemPrompt)});return V}async function n(j,G,W,Q){let V=null,F=G.content,_=()=>F.length-1,L=new Map,X=(Z)=>{if(!Z)return;if(Z.type==="text"){W.push({type:"text_end",contentIndex:_(),content:Z.text,partial:G});return}if(Z.type==="thinking")W.push({type:"thinking_end",contentIndex:_(),content:Z.thinking,partial:G})};for await(let Z of Q){let Y=Z.data;if(G.responseId||=Y.id,Y.usage)G.usage.input=Y.usage.promptTokens||0,G.usage.output=Y.usage.completionTokens||0,G.usage.cacheRead=0,G.usage.cacheWrite=0,G.usage.totalTokens=Y.usage.totalTokens||G.usage.input+G.usage.output,K(j,G.usage);let $=Y.choices[0];if(!$)continue;if($.finishReason)G.stopReason=e($.finishReason);let q=$.delta;if(q.content!==null&&q.content!==void 0){let N=typeof q.content==="string"?[q.content]:q.content;for(let U of N){if(typeof U==="string"){let w=J(U);if(!V||V.type!=="text")X(V),V={type:"text",text:""},G.content.push(V),W.push({type:"text_start",contentIndex:_(),partial:G});V.text+=w,W.push({type:"text_delta",contentIndex:_(),delta:w,partial:G});continue}if(U.type==="thinking"){let w=U.thinking.map((H)=>("text"in H)?H.text:"").filter((H)=>H.length>0).join(""),A=J(w);if(!A)continue;if(!V||V.type!=="thinking")X(V),V={type:"thinking",thinking:""},G.content.push(V),W.push({type:"thinking_start",contentIndex:_(),partial:G});V.thinking+=A,W.push({type:"thinking_delta",contentIndex:_(),delta:A,partial:G});continue}if(U.type==="text"){let w=J(U.text);if(!V||V.type!=="text")X(V),V={type:"text",text:""},G.content.push(V),W.push({type:"text_start",contentIndex:_(),partial:G});V.text+=w,W.push({type:"text_delta",contentIndex:_(),delta:w,partial:G})}}}let B=q.toolCalls||[];for(let N of B){if(V)X(V),V=null;let U=N.id&&N.id!=="null"?N.id:C(`toolcall:${N.index??0}`,0),w=`${U}:${N.index||0}`,A=L.get(w),H;if(A!==void 0){let D=G.content[A];if(D?.type==="toolCall")H=D}if(!H)H={type:"toolCall",id:U,name:N.function.name,arguments:{},partialArgs:""},G.content.push(H),L.set(w,G.content.length-1),W.push({type:"toolcall_start",contentIndex:G.content.length-1,partial:G});let P=typeof N.function.arguments==="string"?N.function.arguments:JSON.stringify(N.function.arguments||{});H.partialArgs=(H.partialArgs||"")+P,H.arguments=O(H.partialArgs),W.push({type:"toolcall_delta",contentIndex:L.get(w),delta:P,partial:G})}}X(V);for(let Z of L.values()){let Y=G.content[Z];if(Y.type!=="toolCall")continue;let $=Y;$.arguments=O($.partialArgs),delete $.partialArgs,W.push({type:"toolcall_end",contentIndex:Z,toolCall:$,partial:G})}}function i(j){return j.map((G)=>({type:"function",function:{name:G.name,description:G.description,parameters:R(G.parameters),strict:!1}}))}function R(j){if(Array.isArray(j))return j.map((G)=>R(G));if(j&&typeof j==="object"){let G={};for(let[W,Q]of Object.entries(j))G[W]=R(Q);return G}return j}function u(j,G){let W=[];for(let Q of j){if(Q.role==="user"){if(typeof Q.content==="string"){W.push({role:"user",content:J(Q.content)});continue}let X=Q.content.some((Y)=>Y.type==="image"),Z=Q.content.filter((Y)=>Y.type==="text"||G).map((Y)=>{if(Y.type==="text")return{type:"text",text:J(Y.text)};return{type:"image_url",imageUrl:`data:${Y.mimeType};base64,${Y.data}`}});if(Z.length>0){W.push({role:"user",content:Z});continue}if(X&&!G)W.push({role:"user",content:"(image omitted: model does not support images)"});continue}if(Q.role==="assistant"){let X=[],Z=[];for(let $ of Q.content){if($.type==="text"){if($.text.trim().length>0)X.push({type:"text",text:J($.text)});continue}if($.type==="thinking"){if($.thinking.trim().length>0)X.push({type:"thinking",thinking:[{type:"text",text:J($.thinking)}]});continue}Z.push({id:$.id,type:"function",function:{name:$.name,arguments:JSON.stringify($.arguments||{})}})}let Y={role:"assistant"};if(X.length>0)Y.content=X;if(Z.length>0)Y.toolCalls=Z;if(X.length>0||Z.length>0)W.push(Y);continue}let V=[],F=Q.content.filter((X)=>X.type==="text").map((X)=>X.type==="text"?J(X.text):"").join(`
3
- `),_=Q.content.some((X)=>X.type==="image"),L=a(F,_,G,Q.isError);V.push({type:"text",text:L});for(let X of Q.content){if(!G)continue;if(X.type!=="image")continue;V.push({type:"image_url",imageUrl:`data:${X.mimeType};base64,${X.data}`})}W.push({role:"tool",toolCallId:Q.toolCallId,name:Q.toolName,content:V})}return W}function a(j,G,W,Q){let V=j.trim(),F=Q?"[tool error] ":"";if(V.length>0)return`${F}${V}${G&&!W?`
4
- [tool image omitted: model does not support images]`:""}`;if(G){if(W)return Q?"[tool error] (see attached image)":"(see attached image)";return Q?"[tool error] (image omitted: model does not support images)":"(image omitted: model does not support images)"}return Q?"[tool error] (no tool output)":"(no tool output)"}function y(j){return j.id==="mistral-small-2603"||j.id==="mistral-small-latest"||j.id==="mistral-medium-3.5"}function r(j){return j.reasoning&&!y(j)}function l(j,G){return j.thinkingLevelMap?.[G]??"high"}function s(j){if(!j)return;if(j==="auto"||j==="none"||j==="any"||j==="required")return j;return{type:"function",function:{name:j.function.name}}}function e(j){if(j===null)return"stop";switch(j){case"stop":return"stop";case"length":case"model_length":return"length";case"tool_calls":return"toolUse";case"error":return"error";default:return"stop"}}export{Zj as streamSimpleMistral,h as streamMistral};
@@ -1,3 +0,0 @@
1
- import{Q as S0,R as F0,S as g0,T as m0,U as K0,V as K6,X as i6,Y as r6,Z as e6,_ as f0}from"./chunk-q4f5vvtx.js";import{aa as PN,ba as wN,ca as KN,da as d4,ea as E4,fa as R4}from"./chunk-pqm0g14r.js";import{Xa as L0}from"./chunk-ajqsprm0.js";import{Za as q0}from"./chunk-xpqcvxej.js";import{$a as r0,_a as i0,ab as e0,bb as N4,cb as J4,db as X4,eb as B4,fb as z4}from"./chunk-4hnrd4qh.js";import{Ae as Y0,Be as Q0,Ce as a,ye as t,ze as z0}from"./chunk-6mn3jqm9.js";import{Lf as IN}from"./chunk-6r9w7z15.js";import{Mf as v4}from"./chunk-pf8edn5x.js";import{Qf as o}from"./chunk-5a2maxwp.js";import{Rf as w0}from"./chunk-4kk5g619.js";import{$f as N0,$g as p4,$h as b0,Ah as f4,Ai as A6,Cg as F,Eg as S,Eh as a6,Fh as hN,Jg as k6,Lg as U4,Ng as c,Oh as s6,Pi as j,Rh as ZN,Ri as m,Sh as D4,Si as yN,Ti as bN,Ug as HN,Ui as ON,Vh as RN,Vi as P4,Xi as w4,Yi as K4,Zg as qN,Zi as G4,_h as G0,ag as X0,bg as J,bh as j4,cg as Z,ci as R6,dg as s,fg as u,fi as JN,fj as VN,gh as u4,gi as DN,gj as MN,hg as n,hh as d6,hj as Y,jh as l6,jj as n6,kg as _6,ki as w6,kj as $,lj as _0,mi as P0,mj as c0,nj as x0,oj as v0,ph as zN,pi as YN,pj as j0,qh as UN,qj as l0,rh as s0,ri as EN,sg as AN,sh as G6,wi as n4,xh as CN,xi as $4,yi as kN,zi as TN}from"./chunk-nwtb6dt1.js";import{Zj as e}from"./chunk-kbzm1pwx.js";var a0=e(N0(),1);var C6=e(N0(),1);var SN=A6("group/field flex w-full gap-3 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],horizontal:["flex-row items-center","[&>[data-slot=field-label]]:flex-auto","has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"],responsive:["flex-col @md/field-group:flex-row @md/field-group:items-center [&>*]:w-full @md/field-group:[&>*]:w-auto [&>.sr-only]:w-auto","@md/field-group:[&>[data-slot=field-label]]:flex-auto","@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"]}},defaultVariants:{orientation:"vertical"}});function p({className:N,orientation:X="vertical",...z}){return J("div",{role:"group","data-slot":"field","data-orientation":X,className:j(SN({orientation:X}),N),...z})}function d({className:N,...X}){return J(w0,{"data-slot":"field-label",className:j("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4","has-data-[state=checked]:border-primary has-data-[state=checked]:bg-primary/5 dark:has-data-[state=checked]:bg-primary/10",N),...X})}function l4({className:N,...X}){return J("p",{"data-slot":"field-description",className:j("text-sm leading-normal font-normal text-muted-foreground group-has-[[data-orientation=horizontal]]/field:text-balance","last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5","[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",N),...X})}function B0({className:N,children:X,errors:z,...Q}){let B=C6.useMemo(()=>{if(X)return X;if(!z?.length)return null;let H=[...new Map(z.map((q)=>[q?.message,q])).values()];if(H?.length==1)return H[0]?.message;return J("ul",{className:"ml-4 flex list-disc flex-col gap-1",children:H.map((q,P)=>q?.message&&J("li",{children:q.message},P))})},[X,z]);if(!B)return null;return J("div",{role:"alert","data-slot":"field-error",className:j("text-sm font-normal text-destructive",N),...Q,children:B})}var O=function(N){return N[N.None=0]="None",N[N.Mutable=1]="Mutable",N[N.Watching=2]="Watching",N[N.RecursedCheck=4]="RecursedCheck",N[N.Recursed=8]="Recursed",N[N.Dirty=16]="Dirty",N[N.Pending=32]="Pending",N}({});function h6({update:N,notify:X,unwatched:z}){return{link:Q,unlink:B,propagate:H,checkDirty:q,shallowPropagate:P};function Q(K,R,G){let W=R.depsTail;if(W!==void 0&&W.dep===K)return;let U=W!==void 0?W.nextDep:R.deps;if(U!==void 0&&U.dep===K){U.version=G,R.depsTail=U;return}let w=K.subsTail;if(w!==void 0&&w.version===G&&w.sub===R)return;let A=R.depsTail=K.subsTail={version:G,dep:K,sub:R,prevDep:W,nextDep:U,prevSub:w,nextSub:void 0};if(U!==void 0)U.prevDep=A;if(W!==void 0)W.nextDep=A;else R.deps=A;if(w!==void 0)w.nextSub=A;else K.subs=A}function B(K,R=K.sub){let{dep:G,prevDep:W,nextDep:U,nextSub:w,prevSub:A}=K;if(U!==void 0)U.prevDep=W;else R.depsTail=W;if(W!==void 0)W.nextDep=U;else R.deps=U;if(w!==void 0)w.prevSub=A;else G.subsTail=A;if(A!==void 0)A.nextSub=w;else if((G.subs=w)===void 0)z(G);return U}function H(K){let R=K.nextSub,G;N:do{let W=K.sub,U=W.flags;if(!(U&(O.RecursedCheck|O.Recursed|O.Dirty|O.Pending)))W.flags=U|O.Pending;else if(!(U&(O.RecursedCheck|O.Recursed)))U=O.None;else if(!(U&O.RecursedCheck))W.flags=U&~O.Recursed|O.Pending;else if(!(U&(O.Dirty|O.Pending))&&k(K,W))W.flags=U|(O.Recursed|O.Pending),U&=O.Mutable;else U=O.None;if(U&O.Watching)X(W);if(U&O.Mutable){let w=W.subs;if(w!==void 0){let A=(K=w).nextSub;if(A!==void 0)G={value:R,prev:G},R=A;continue}}if((K=R)!==void 0){R=K.nextSub;continue}while(G!==void 0)if(K=G.value,G=G.prev,K!==void 0){R=K.nextSub;continue N}break}while(!0)}function q(K,R){let G,W=0,U=!1;N:do{let w=K.dep,A=w.flags;if(R.flags&O.Dirty)U=!0;else if((A&(O.Mutable|O.Dirty))===(O.Mutable|O.Dirty)){if(N(w)){let h=w.subs;if(h.nextSub!==void 0)P(h);U=!0}}else if((A&(O.Mutable|O.Pending))===(O.Mutable|O.Pending)){if(K.nextSub!==void 0||K.prevSub!==void 0)G={value:K,prev:G};K=w.deps,R=w,++W;continue}if(!U){let h=K.nextDep;if(h!==void 0){K=h;continue}}while(W--){let h=R.subs,L=h.nextSub!==void 0;if(L)K=G.value,G=G.prev;else K=h;if(U){if(N(R)){if(L)P(h);R=K.sub;continue}U=!1}else R.flags&=~O.Pending;R=K.sub;let y=K.nextDep;if(y!==void 0){K=y;continue N}}return U}while(!0)}function P(K){do{let R=K.sub,G=R.flags;if((G&(O.Pending|O.Dirty))===O.Pending){if(R.flags=G|O.Dirty,(G&(O.Watching|O.RecursedCheck))===O.Watching)X(R)}}while((K=K.nextSub)!==void 0)}function k(K,R){let G=R.depsTail;while(G!==void 0){if(G===K)return!0;G=G.prevDep}return!1}}function k4(N,X,z){let Q=typeof N==="object",B=Q?N:void 0;return{next:(Q?N.next:N)?.bind(B),error:(Q?N.error:X)?.bind(B),complete:(Q?N.complete:z)?.bind(B)}}var a4=[],b4=0,{link:D6,unlink:FN,propagate:gN,checkDirty:y6,shallowPropagate:E6}=h6({update(N){return N._update()},notify(N){a4[s4++]=N,N.flags&=~O.Watching},unwatched(N){if(N.depsTail!==void 0)N.depsTail=void 0,N.flags=O.Mutable|O.Dirty,O4(N)}}),y4=0,s4=0,h0,i4=0;function f(N){try{++i4,N()}finally{if(!--i4)r4()}}function O4(N){let X=N.depsTail,z=X!==void 0?X.nextDep:N.deps;while(z!==void 0)z=FN(z,N)}function r4(){if(i4>0)return;while(y4<s4){let N=a4[y4];a4[y4++]=void 0,N.notify()}y4=0,s4=0}function V4(N,X){let z=typeof N==="function",Q=N,B={_snapshot:z?void 0:N,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:z?O.None:O.Mutable,get(){if(h0!==void 0)D6(B,h0,b4);return B._snapshot},subscribe(H){let q=k4(H),P={current:!1},k=mN(()=>{if(B.get(),!P.current)P.current=!0;else q.next?.(B._snapshot)});return{unsubscribe:()=>{k.stop()}}},_update(H){let q=h0,P=X?.compare??Object.is;if(z)h0=B,++b4,B.depsTail=void 0;else if(H===void 0)return!1;if(z)B.flags=O.Mutable|O.RecursedCheck;try{let k=B._snapshot,K=typeof H==="function"?H(k):H===void 0&&z?Q(k):H;if(k===void 0||!P(k,K))return B._snapshot=K,!0;return!1}finally{if(h0=q,z)B.flags&=~O.RecursedCheck;O4(B)}}};if(z)B.flags=O.Mutable|O.Dirty,B.get=function(){let H=B.flags;if(H&O.Dirty||H&O.Pending&&y6(B.deps,B)){if(B._update()){let q=B.subs;if(q!==void 0)E6(q)}}else if(H&O.Pending)B.flags=H&~O.Pending;if(h0!==void 0)D6(B,h0,b4);return B._snapshot};else B.set=function(H){if(B._update(H)){let q=B.subs;if(q!==void 0)gN(q),E6(q),r4()}};return B}function mN(N){let X=()=>{let Q=h0;h0=z,++b4,z.depsTail=void 0,z.flags=O.Watching|O.RecursedCheck;try{return N()}finally{h0=Q,z.flags&=~O.RecursedCheck,O4(z)}},z={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:O.Watching|O.RecursedCheck,notify(){let Q=this.flags;if(Q&O.Dirty||Q&O.Pending&&y6(this.deps,this))X();else this.flags=O.Watching},stop(){this.flags=O.None,this.depsTail=void 0,O4(this)}};return X(),z}var e4=class{constructor(N,X){if(this.atom=V4(N),this.get=this.get.bind(this),this.setState=this.setState.bind(this),this.subscribe=this.subscribe.bind(this),X)this.actions=X(this)}setState(N){this.atom.set(N)}get state(){return this.atom.get()}get(){return this.state}subscribe(N){return this.atom.subscribe(k4(N))}},b6=class{constructor(N){this.atom=V4(N)}get state(){return this.atom.get()}get(){return this.state}subscribe(N){return this.atom.subscribe(k4(N))}};function D0(N,X){if(typeof N==="function")return new b6(N);if(X)return new e4(N,X);return new e4(N)}var O6=class{constructor(N,X){if(this.fn=N,this.options=X,this.lastExecutionTime=0,this.isPending=!1,this.maybeExecute=(...z)=>{let Q=Date.now()-this.lastExecutionTime;if(this.options.leading&&Q>=this.options.wait)this.execute(...z);else if(this.lastArgs=z,!this.timeoutId&&this.options.trailing){let B=this.options.wait-Q;this.isPending=!0,this.timeoutId=setTimeout(()=>{if(this.lastArgs!==void 0)this.execute(...this.lastArgs)},B)}},this.execute=(...z)=>{this.fn(...z),this.options.onExecute?.(z,this),this.lastExecutionTime=Date.now(),this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.flush=()=>{if(this.isPending&&this.lastArgs)this.execute(...this.lastArgs)},this.cancel=()=>{this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.clearTimeout=()=>{if(this.timeoutId)clearTimeout(this.timeoutId),this.timeoutId=void 0},this.options.leading===void 0&&this.options.trailing===void 0)this.options.leading=!0,this.options.trailing=!0}};function N6(N,X){return new O6(N,X).maybeExecute}class M4{#Y=!0;#J;#N;#U;#X;#H;#B;#q;#P=0;#K=5;#Q=!1;#Z=!1;#z=null;#w=()=>{this.debugLog("Connected to event bus"),this.#H=!0,this.#Q=!1,this.debugLog("Emitting queued events",this.#X),this.#X.forEach((N)=>this.emitEventToBus(N)),this.#X=[],this.stopConnectLoop(),this.#N().removeEventListener("tanstack-connect-success",this.#w)};#W=()=>{if(this.#P<this.#K){this.#P++,this.dispatchCustomEvent("tanstack-connect",{});return}this.#N().removeEventListener("tanstack-connect",this.#W),this.#Z=!0,this.debugLog("Max retries reached, giving up on connection"),this.stopConnectLoop()};#G=()=>{if(this.#Q)return;this.#Q=!0,this.#N().addEventListener("tanstack-connect-success",this.#w),this.#W()};constructor({pluginId:N,debug:X=!1,enabled:z=!0,reconnectEveryMs:Q=300}){this.#J=N,this.#Y=z,this.#N=this.getGlobalTarget,this.#U=X,this.debugLog(" Initializing event subscription for plugin",this.#J),this.#X=[],this.#H=!1,this.#Z=!1,this.#B=null,this.#q=Q}startConnectLoop(){if(this.#B!==null||this.#H)return;this.debugLog(`Starting connect loop (every ${this.#q}ms)`),this.#B=setInterval(this.#W,this.#q)}stopConnectLoop(){if(this.#Q=!1,this.#B===null)return;clearInterval(this.#B),this.#B=null,this.#X=[],this.debugLog("Stopped connect loop")}debugLog(...N){if(this.#U)console.log(`\uD83C\uDF34 [tanstack-devtools:${this.#J}-plugin]`,...N)}getGlobalTarget(){if(typeof globalThis<"u"&&globalThis.__TANSTACK_EVENT_TARGET__)return this.debugLog("Using global event target"),globalThis.__TANSTACK_EVENT_TARGET__;if(typeof window<"u"&&typeof window.addEventListener<"u")return this.debugLog("Using window as event target"),window;let N=typeof EventTarget<"u"?new EventTarget:void 0;if(typeof N>"u"||typeof N.addEventListener>"u")return this.debugLog("No event mechanism available, running in non-web environment"),{addEventListener:()=>{},removeEventListener:()=>{},dispatchEvent:()=>!1};return this.debugLog("Using new EventTarget as fallback"),N}getPluginId(){return this.#J}dispatchCustomEventShim(N,X){try{let z=new Event(N,{detail:X});this.#N().dispatchEvent(z)}catch(z){this.debugLog("Failed to dispatch shim event")}}dispatchCustomEvent(N,X){try{this.#N().dispatchEvent(new CustomEvent(N,{detail:X}))}catch(z){this.dispatchCustomEventShim(N,X)}}emitEventToBus(N){this.debugLog("Emitting event to client bus",N),this.dispatchCustomEvent("tanstack-dispatch-event",N)}createEventPayload(N,X){return{type:`${this.#J}:${N}`,payload:X,pluginId:this.#J}}emit(N,X){if(!this.#Y){this.debugLog("Event bus client is disabled, not emitting event",N,X);return}if(this.#z)this.debugLog("Emitting event to internal event target",N,X),this.#z.dispatchEvent(new CustomEvent(`${this.#J}:${N}`,{detail:this.createEventPayload(N,X)}));if(this.#Z){this.debugLog("Previously failed to connect, not emitting to bus");return}if(!this.#H){if(this.debugLog("Bus not available, will be pushed as soon as connected"),this.#X.push(this.createEventPayload(N,X)),typeof CustomEvent<"u"&&!this.#Q)this.#G(),this.startConnectLoop();return}return this.emitEventToBus(this.createEventPayload(N,X))}on(N,X,z){let Q=z?.withEventTarget??!1,B=`${this.#J}:${N}`;if(Q){if(!this.#z)this.#z=new EventTarget;this.#z.addEventListener(B,(q)=>{X(q.detail)})}if(!this.#Y)return this.debugLog("Event bus client is disabled, not registering event",B),()=>{};let H=(q)=>{this.debugLog("Received event from bus",q.detail),X(q.detail)};return this.#N().addEventListener(B,H),this.debugLog("Registered event to bus",B),()=>{if(Q)this.#z?.removeEventListener(B,H);this.#N().removeEventListener(B,H)}}onAll(N){if(!this.#Y)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};let X=(z)=>{let Q=z.detail;N(Q)};return this.#N().addEventListener("tanstack-devtools-global",X),()=>this.#N().removeEventListener("tanstack-devtools-global",X)}onAllPluginEvents(N){if(!this.#Y)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};let X=(z)=>{let Q=z.detail;if(this.#J&&Q.pluginId!==this.#J)return;N(Q)};return this.#N().addEventListener("tanstack-devtools-global",X),()=>this.#N().removeEventListener("tanstack-devtools-global",X)}}class V6 extends M4{constructor(){super({pluginId:"form-devtools",reconnectEveryMs:1000})}}var H0=new V6;function E0(N,X){return typeof N==="function"?N(X):N}function Y4(N,X){return F4(X).reduce((Q,B)=>{if(Q===null)return null;if(typeof Q<"u")return Q[B];return},N)}function p0(N,X,z){let Q=F4(X);function B(H){if(!Q.length)return E0(z,H);let q=Q.shift();if(typeof q==="string"||typeof q==="number"&&!Array.isArray(H)){if(typeof H==="object"){if(H===null)H={};return{...H,[q]:B(H[q])}}return{[q]:B()}}if(Array.isArray(H)&&typeof q==="number"){let P=H.slice(0,q);return[...P.length?P:Array(q),B(H[q]),...H.slice(q+1)]}return[...Array(q),B()]}return B(N)}function B6(N,X){let z=F4(X);function Q(B){if(!B)return;if(z.length===1){let q=z[0];if(Array.isArray(B)&&typeof q==="number")return B.filter((K,R)=>R!==q);let{[q]:P,...k}=B;return k}let H=z.shift();if(typeof H==="string"||typeof H==="number"&&!Array.isArray(B)){if(typeof B==="object")return{...B,[H]:Q(B[H])}}if(typeof H==="number"){if(Array.isArray(B)){if(H>=B.length)return B;let q=B.slice(0,H);return[...q.length?q:Array(H),Q(B[H]),...B.slice(H+1)]}}throw Error("It seems we have created an infinite loop in deleteBy. ")}return Q(N)}var M6=46,J6=91,X6=93,I6=48,_N=57;function F4(N){if(Array.isArray(N))return[...N];if(typeof N!=="string")throw Error("Path must be a string.");let X=N.length,z=[],Q=X>0&&N.charCodeAt(0)===J6?1:0,B=!0,H=-1;for(let q=Q;q<=X;q++){let P=q<X?N.charCodeAt(q):-1;if(q===X||P===M6||P===J6||P===X6){let k=q-Q;if(k>0){let K=B&&(k===1||N.charCodeAt(Q)!==I6),R=N.slice(Q,q);if(K){let G=parseInt(R,10);if(k<=15||String(G)===R)z.push(G);else z.push(R)}else z.push(R)}else if(H!==X6&&!(H===-1&&P===X6)&&!(H===P&&(P===M6||P===J6)))z.push("");Q=q+1,B=!0}else if(P<I6||P>_N)B=!1;H=P}if(!z.length)z.push("");return z}function z6(N){return!(Array.isArray(N)&&N.length===0)}function V0(N,X){let z=(Q)=>{return Q.validators.filter(Boolean).map((B)=>{return{cause:B.cause,validate:B.fn}})};return X.validationLogic({form:X.form,group:X.group,validators:X.validators,event:{type:N,fieldName:X.fieldName,async:!1},runValidation:z})}function M0(N,X){let{asyncDebounceMs:z}=X,{onBlurAsyncDebounceMs:Q,onChangeAsyncDebounceMs:B,onDynamicAsyncDebounceMs:H}=X.validators||{},q=z??0,P=(k)=>{return k.validators.filter(Boolean).map((K)=>{let R=K?.cause||N,G=q;switch(R){case"change":G=B??q;break;case"blur":G=Q??q;break;case"dynamic":G=H??q;break;case"submit":G=0;break}if(N==="submit")G=0;return{cause:R,validate:K.fn,debounceMs:G}})};return X.validationLogic({form:X.form,group:X.group,validators:X.validators,event:{type:N,fieldName:X.fieldName,async:!0},runValidation:P})}var Q4=(N)=>{return!!N&&typeof N==="object"&&"fields"in N};function W0(N,X){if(Object.is(N,X))return!0;if(typeof N!=="object"||N===null||typeof X!=="object"||X===null)return!1;if(N instanceof Date&&X instanceof Date)return N.getTime()===X.getTime();if(N instanceof Map&&X instanceof Map){if(N.size!==X.size)return!1;for(let[B,H]of N)if(!X.has(B)||!Object.is(H,X.get(B)))return!1;return!0}if(N instanceof Set&&X instanceof Set){if(N.size!==X.size)return!1;for(let B of N)if(!X.has(B))return!1;return!0}let z=Object.keys(N),Q=Object.keys(X);if(z.length!==Q.length)return!1;if(z.length===0&&!Array.isArray(N)&&!Array.isArray(X)&&(Object.getPrototypeOf(N)!==Object.prototype||Object.getPrototypeOf(X)!==Object.prototype))return!1;for(let B of z)if(!Q.includes(B)||!W0(N[B],X[B]))return!1;return!0}var H4=({newFormValidatorError:N,isPreviousErrorFromFormValidator:X,previousErrorValue:z})=>{if(N)return{newErrorValue:N,newSource:"form"};if(X)return{newErrorValue:void 0,newSource:void 0};if(z)return{newErrorValue:z,newSource:"field"};return{newErrorValue:void 0,newSource:void 0}},d0=({formLevelError:N,fieldLevelError:X})=>{if(X)return{newErrorValue:X,newSource:"field"};if(N)return{newErrorValue:N,newSource:"form"};return{newErrorValue:void 0,newSource:void 0}};function l(N,X){if(N===void 0||N===null)return X;return{...N,...X}}var u0=256,S4=[],I4;while(u0--)S4[u0]=(u0+256).toString(16).substring(1);function T4(){let N=0,X,z="";if(!I4||u0+16>256){I4=Array(256),N=256;while(N--)I4[N]=256*Math.random()|0;N=0,u0=0}for(;N<16;N++){if(X=I4[u0+N],N===6)z+=S4[X&15|64];else if(N===8)z+=S4[X&63|128];else z+=S4[X];if(N&1&&N>1&&N<11)z+="-"}return u0++,z}var Y6=N6((N)=>H0.emit("form-state",{id:N.formId,state:N.store.state}),{wait:300});function n0(N){if(N===null||typeof N!=="object")return N;if(N instanceof Date)return new Date(N.getTime());if(Array.isArray(N)){let z=[];for(let Q=0;Q<N.length;Q++)z[Q]=n0(N[Q]);return z}if(N instanceof Map){let z=new Map;return N.forEach((Q,B)=>{z.set(B,n0(Q))}),z}if(N instanceof Set){let z=new Set;return N.forEach((Q)=>{z.add(n0(Q))}),z}let X={};for(let z in N)if(Object.prototype.hasOwnProperty.call(N,z))X[z]=n0(N[z]);return X}function k0(N,X){return X===N||X.startsWith(`${N}.`)||X.startsWith(`${N}[`)}var U0=(N)=>{if(!N.validators)return N.runValidation({validators:[],form:N.form});let X=N.event.async,z=X?void 0:{fn:N.validators.onMount,cause:"mount"},Q={fn:X?N.validators.onChangeAsync:N.validators.onChange,cause:"change"},B={fn:X?N.validators.onBlurAsync:N.validators.onBlur,cause:"blur"},H={fn:X?N.validators.onSubmitAsync:N.validators.onSubmit,cause:"submit"},q=X?void 0:{fn:()=>{return},cause:"server"};switch(N.event.type){case"mount":return N.runValidation({validators:[z],form:N.form});case"submit":return N.runValidation({validators:[Q,B,H,q],form:N.form});case"server":return N.runValidation({validators:[],form:N.form});case"blur":return N.runValidation({validators:[B,q],form:N.form});case"change":return N.runValidation({validators:[Q,q],form:N.form});default:throw Error(`Unknown validation event type: ${N.event.type}`)}};function cN(N,X){let z=new Map;for(let Q of N){let B=Q.path??[],H=X,q="";for(let P=0;P<B.length;P++){let k=B[P];if(k===void 0)continue;let K=typeof k==="object"?k.key:k,R=Number(K);if(Array.isArray(H)&&!Number.isNaN(R))q+=`[${R}]`;else q+=(P>0?".":"")+String(K);if(typeof H==="object"&&H!==null)H=H[K];else H=void 0}z.set(q,(z.get(q)??[]).concat(Q))}return Object.fromEntries(z)}var S6=(N,X)=>{let z=cN(N,X);return{form:z,fields:z}},y0={validate({value:N,validationSource:X},z){let Q=z["~standard"].validate(N);if(Q instanceof Promise)throw Error("async function passed to sync validator");if(!Q.issues)return;if(X==="field")return Q.issues;return S6(Q.issues,N)},async validateAsync({value:N,validationSource:X},z){let Q=await z["~standard"].validate(N);if(!Q.issues)return;if(X==="field")return Q.issues;return S6(Q.issues,N)}},q4=(N)=>!!N&&("~standard"in N);var J0={isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,isValid:!0,isDefaultValue:!0,errors:[],errorMap:{},errorSourceMap:{},_arrayVersion:0};function I0(N){function X(G){let W=N.getFieldMeta(G)??J0;N.setFieldMeta(G,{...W,_arrayVersion:(W._arrayVersion||0)+1})}function z(G,W,U){X(G);let w=P(G,W,"move",U),A=Math.min(W,U),h=Math.max(W,U);for(let y=A;y<=h;y++)w.push(q(G,y));let L=Object.keys(N.fieldInfo).reduce((y,b)=>{if(b.startsWith(q(G,W)))y.set(b,N.getFieldMeta(b));return y},new Map);K(w,W<U?"up":"down"),Object.keys(N.fieldInfo).filter((y)=>y.startsWith(q(G,U))).forEach((y)=>{let b=y.replace(q(G,U),q(G,W)),E=L.get(b);if(E)N.setFieldMeta(y,E)})}function Q(G,W){X(G);let U=P(G,W,"remove");K(U,"up")}function B(G,W,U){X(G),P(G,W,"swap",U).forEach((A)=>{if(!A.toString().startsWith(q(G,W)))return;let h=A.toString().replace(q(G,W),q(G,U)),[L,y]=[N.getFieldMeta(A),N.getFieldMeta(h)];if(L)N.setFieldMeta(h,L);if(y)N.setFieldMeta(A,y)})}function H(G,W){X(G);let U=P(G,W,"insert");K(U,"down"),U.forEach((w)=>{if(w.toString().startsWith(q(G,W)))N.setFieldMeta(w,R())})}function q(G,W){return`${G}[${W}]`}function P(G,W,U,w){let A=[q(G,W)];switch(U){case"swap":A.push(q(G,w));break;case"move":{let[h,L]=[Math.min(W,w),Math.max(W,w)];for(let y=h;y<=L;y++)A.push(q(G,y));break}default:{let h=N.getFieldValue(G),L=Array.isArray(h)?h.length:0;for(let y=W+1;y<L;y++)A.push(q(G,y));break}}return Object.keys(N.fieldInfo).filter((h)=>A.some((L)=>h.startsWith(L)))}function k(G,W){return G.replace(/\[(\d+)\]/,(U,w)=>{let A=parseInt(w,10);return`[${W==="up"?A+1:Math.max(0,A-1)}]`})}function K(G,W){(W==="up"?G:[...G].reverse()).forEach((w)=>{let A=k(w.toString(),W),h=N.getFieldMeta(A);if(h)N.setFieldMeta(w,h);else N.setFieldMeta(w,R())})}let R=()=>J0;return{bumpArrayVersion:X,handleArrayMove:z,handleArrayRemove:Q,handleArraySwap:B,handleArrayInsert:H}}function Q6(N){return{values:N.values??{},errorMap:N.errorMap??{},fieldMetaBase:N.fieldMetaBase??{},formGroupStateBase:N.formGroupStateBase??{},isSubmitted:N.isSubmitted??!1,isSubmitting:N.isSubmitting??!1,isValidating:N.isValidating??!1,submissionAttempts:N.submissionAttempts??0,isSubmitSuccessful:N.isSubmitSuccessful??!1,validationMetaMap:N.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}}class A4{constructor(N){this.options={},this.fieldInfo={},this.formGroupApis=new Set,this.mount=()=>{let B=this.store.subscribe(()=>{Y6(this)}),H=H0.on("request-form-state",(R)=>{if(R.payload.id===this._formId)H0.emit("form-api",{id:this._formId,state:this.store.state,options:this.options})}),q=H0.on("request-form-reset",(R)=>{if(R.payload.id===this._formId)this.reset()}),P=H0.on("request-form-force-submit",(R)=>{if(R.payload.id===this._formId)this._devtoolsSubmissionOverride=!0,this.handleSubmit(),this._devtoolsSubmissionOverride=!1}),k=()=>{P(),q(),H(),B.unsubscribe(),H0.emit("form-unmounted",{id:this._formId})};this.options.listeners?.onMount?.({formApi:this});let{onMount:K}=this.options.validators||{};if(H0.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 H=this.options;this.options=B;let q=B.defaultValues&&!W0(B.defaultValues,H.defaultValues)&&!this.state.isTouched,P=!W0(B.defaultState,H.defaultState)&&!this.state.isTouched;if(!q&&!P)return;if(f(()=>{this.baseStore.setState(()=>Q6(Object.assign({},this.state,P?B.defaultState:{},q?{values:B.defaultValues}:{})))}),q){let k=I0(this);for(let K of Object.keys(this.fieldInfo))if(Array.isArray(this.getFieldValue(K)))k.bumpArrayVersion(K)}H0.emit("form-api",{id:this._formId,state:this.store.state,options:this.options})},this.reset=(B,H)=>{let{fieldMeta:q}=this.state,P=this.resetFieldMeta(q);if(B&&!H?.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=p0(k,K.instance.name,K.instance.options.defaultValue)});return Q6({...this.options.defaultState,values:k,fieldMetaBase:P})})},this.validateAllFields=async(B)=>{let H=[];return f(()=>{Object.values(this.fieldInfo).forEach((P)=>{if(!P.instance)return;let k=P.instance;if(H.push(Promise.resolve().then(()=>k.validate(B,{skipFormValidation:!0,skipGroupValidation:!0}))),!P.instance.store.state.meta.isTouched)P.instance.setMeta((K)=>({...K,isTouched:!0}))})}),(await Promise.all(H)).flat()},this.validateArrayFieldsStartingFrom=async(B,H,q)=>{let P=this.getFieldValue(B),k=Array.isArray(P)?Math.max(P.length-1,0):null,K=[`${B}[${H}]`];for(let U=H+1;U<=(k??0);U++)K.push(`${B}[${U}]`);let R=Object.keys(this.fieldInfo).filter((U)=>K.some((w)=>U.startsWith(w))),G=[];return f(()=>{R.forEach((U)=>{G.push(Promise.resolve().then(()=>this.validateField(U,q)))})}),(await Promise.all(G)).flat()},this.validateField=(B,H)=>{let q=this.fieldInfo[B]?.instance;if(!q){let{hasErrored:P}=this.validateSync(H);if(P&&!this.options.asyncAlways)return this.getFieldMeta(B)?.errors??[];return this.validateAsync(H).then(()=>{return this.getFieldMeta(B)?.errors??[]})}if(!q.store.state.meta.isTouched)q.setMeta((P)=>({...P,isTouched:!0}));return q.validate(H)},this.validateSync=(B,H)=>{let q=V0(B,{...this.options,form:this,group:H?.group,validationLogic:this.options.validationLogic||U0}),P=!1,k={};return f(()=>{for(let G of q){if(!G.validate)continue;let W=this.runValidator({validate:G.validate,value:{value:this.state.values,formApi:this,validationSource:"form"},type:"validate"}),{formError:U,fieldErrors:w}=g4(W),A=L4(G.cause),h=new Set([...Object.keys(this.state.fieldMeta),...Object.keys(w||{})]);if(H?.filterFieldNames)h=new Set([...h].filter(H.filterFieldNames));for(let L of h){if(this.baseStore.state.fieldMetaBase[L]===void 0&&!w?.[L])continue;let y=this.getFieldMeta(L)??J0,{errorMap:b,errorSourceMap:E}=y,C=w?.[L],{newErrorValue:T,newSource:D}=H4({newFormValidatorError:C,isPreviousErrorFromFormValidator:E?.[A]==="form",previousErrorValue:b?.[A]});if(D==="form")k[L]={...k[L],[A]:C};if(b?.[A]!==T)this.setFieldMeta(L,(V=J0)=>({...V,errorMap:{...V.errorMap,[A]:T},errorSourceMap:{...V.errorSourceMap,[A]:D}}))}if(!H?.dontUpdateFormErrorMap){if(this.state.errorMap?.[A]!==U)this.baseStore.setState((L)=>({...L,errorMap:{...L.errorMap,[A]:U}}))}if(U||w)P=!0}if(H?.dontUpdateFormErrorMap)return;let K=L4("submit");if(this.state.errorMap?.[K]&&B!=="submit"&&!P)this.baseStore.setState((G)=>({...G,errorMap:{...G.errorMap,[K]:void 0}}));let R=L4("server");if(this.state.errorMap?.[R]&&B!=="server"&&!P)this.baseStore.setState((G)=>({...G,errorMap:{...G.errorMap,[R]:void 0}}))}),{hasErrored:P,fieldsErrorMap:k}},this.validateAsync=async(B,H)=>{let q=M0(B,{...this.options,form:this,group:H?.group,validationLogic:this.options.validationLogic||U0});if(!this.state.isFormValidating)this.baseStore.setState((G)=>({...G,isFormValidating:!0}));let P=[],k;for(let G of q){if(!G.validate)continue;let W=L4(G.cause);this.state.validationMetaMap[W]?.lastAbortController.abort();let w=new AbortController;this.state.validationMetaMap[W]={lastAbortController:w},P.push(new Promise(async(A)=>{let h;try{h=await new Promise((C,T)=>{setTimeout(async()=>{if(w.signal.aborted)return C(void 0);try{C(await this.runValidator({validate:G.validate,value:{value:this.state.values,formApi:this,validationSource:"form",signal:w.signal},type:"validateAsync"}))}catch(D){T(D)}},G.debounceMs)})}catch(C){h=C}let{formError:L,fieldErrors:y}=g4(h);if(y)k=k?{...k,...y}:y;let b=L4(G.cause),E=Object.keys(this.state.fieldMeta);if(H?.filterFieldNames)E=E.filter(H.filterFieldNames);for(let C of E){if(this.baseStore.state.fieldMetaBase[C]===void 0)continue;let T=this.getFieldMeta(C);if(!T)continue;let{errorMap:D,errorSourceMap:V}=T,M=k?.[C],{newErrorValue:x,newSource:i}=H4({newFormValidatorError:M,isPreviousErrorFromFormValidator:V?.[b]==="form",previousErrorValue:D?.[b]});if(D?.[b]!==x)this.setFieldMeta(C,(r)=>({...r,errorMap:{...r.errorMap,[b]:x},errorSourceMap:{...r.errorSourceMap,[b]:i}}))}if(!H?.dontUpdateFormErrorMap)this.baseStore.setState((C)=>({...C,errorMap:{...C.errorMap,[b]:L}}));A(k?{fieldErrors:k,errorMapKey:b}:void 0)}))}let K=[],R={};if(P.length){K=await Promise.all(P);for(let G of K)if(G?.fieldErrors){let{errorMapKey:W}=G;for(let[U,w]of Object.entries(G.fieldErrors)){let h={...R[U]||{},[W]:w};R[U]=h}}}return this.baseStore.setState((G)=>({...G,isFormValidating:!1})),R},this.validate=(B,H)=>{let{hasErrored:q,fieldsErrorMap:P}=this.validateSync(B,H);if(q&&!this.options.asyncAlways)return P;return this.validateAsync(B,H)},this._handleSubmit=async(B)=>{this.baseStore.setState((P)=>({...P,isSubmitted:!1,submissionAttempts:P.submissionAttempts+1,isSubmitSuccessful:!1})),f(()=>{Object.values(this.fieldInfo).forEach((P)=>{if(!P.instance)return;if(!P.instance.store.state.meta.isTouched)P.instance.setMeta((k)=>({...k,isTouched:!0}))})});let H=B??this.options.onSubmitMeta;if(!this.state.canSubmit&&!this._devtoolsSubmissionOverride){this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:H});return}this.baseStore.setState((P)=>({...P,isSubmitting:!0}));let q=()=>{this.baseStore.setState((P)=>({...P,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.state.isFieldsValid){q(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:H}),H0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"validateAllFields",errors:Object.values(this.state.fieldMeta).map((P)=>P.errors).flat()});return}if(await this.validate("submit"),!this.state.isValid){q(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:H}),H0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"validate",errors:this.state.errors});return}f(()=>{Object.values(this.fieldInfo).forEach((P)=>{P.instance?.triggerOnSubmitListener()})}),this.options.listeners?.onSubmit?.({formApi:this,meta:H});try{await this.options.onSubmit?.({value:this.state.values,formApi:this,meta:H}),f(()=>{this.baseStore.setState((P)=>({...P,isSubmitted:!0,isSubmitSuccessful:!0})),H0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!0}),q()})}catch(P){throw this.baseStore.setState((k)=>({...k,isSubmitSuccessful:!1})),H0.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"inflight",onError:P}),q(),P}},this.getFieldValue=(B)=>Y4(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,H)=>{this.baseStore.setState((q)=>{return{...q,fieldMetaBase:{...q.fieldMetaBase,[B]:E0(H,q.fieldMetaBase[B])}}})},this.resetFieldMeta=(B)=>{return Object.keys(B).reduce((H,q)=>{let P=q;return H[P]=J0,H},{})},this.setFieldValue=(B,H,q)=>{let P=q?.dontUpdateMeta??!1,k=q?.dontRunListeners??!1,K=q?.dontValidate??!1;if(f(()=>{if(!P)this.setFieldMeta(B,(R)=>({...R,isTouched:!0,isDirty:!0,errorMap:{...R?.errorMap,onMount:void 0}}));this.baseStore.setState((R)=>{return{...R,values:p0(R.values,B,H)}})}),!k)this.getFieldInfo(B).instance?.triggerOnChangeListener();if(!K)this.validateField(B,"change")},this.deleteField=(B)=>{let q=[...Object.keys(this.fieldInfo).filter((P)=>{let k=B.toString();return P!==k&&P.startsWith(k)}),B];this.baseStore.setState((P)=>{let k={...P};return q.forEach((K)=>{k.values=B6(k.values,K),delete this.fieldInfo[K],delete k.fieldMetaBase[K]}),k})},this.pushFieldValue=(B,H,q)=>{this.setFieldValue(B,(P)=>[...Array.isArray(P)?P:[],H],q),I0(this).bumpArrayVersion(B)},this.insertFieldValue=async(B,H,q,P)=>{this.setFieldValue(B,(K)=>{return[...K.slice(0,H),q,...K.slice(H)]},l(P,{dontValidate:!0}));let k=P?.dontValidate??!1;if(!k)await this.validateField(B,"change");if(I0(this).handleArrayInsert(B,H),!k)await this.validateArrayFieldsStartingFrom(B,H,"change")},this.replaceFieldValue=async(B,H,q,P)=>{if(this.setFieldValue(B,(K)=>{return K.map((R,G)=>G===H?q:R)},l(P,{dontValidate:!0})),I0(this).bumpArrayVersion(B),!(P?.dontValidate??!1))await this.validateField(B,"change"),await this.validateArrayFieldsStartingFrom(B,H,"change")},this.removeFieldValue=async(B,H,q)=>{let P=this.getFieldValue(B),k=Array.isArray(P)?Math.max(P.length-1,0):null;if(this.setFieldValue(B,(R)=>{return R.filter((G,W)=>W!==H)},l(q,{dontValidate:!0})),I0(this).handleArrayRemove(B,H),k!==null){let R=`${B}[${k}]`;this.deleteField(R)}if(!(q?.dontValidate??!1))await this.validateField(B,"change"),await this.validateArrayFieldsStartingFrom(B,H,"change")},this.swapFieldValues=(B,H,q,P)=>{if(this.setFieldValue(B,(K)=>{let R=K[H],G=K[q];return p0(p0(K,`${H}`,G),`${q}`,R)},l(P,{dontValidate:!0})),I0(this).handleArraySwap(B,H,q),!(P?.dontValidate??!1))this.validateField(B,"change"),this.validateField(`${B}[${H}]`,"change"),this.validateField(`${B}[${q}]`,"change")},this.moveFieldValues=(B,H,q,P)=>{if(this.setFieldValue(B,(K)=>{let R=[...K];return R.splice(q,0,R.splice(H,1)[0]),R},l(P,{dontValidate:!0})),I0(this).handleArrayMove(B,H,q),!(P?.dontValidate??!1))this.validateField(B,"change"),this.validateField(`${B}[${H}]`,"change"),this.validateField(`${B}[${q}]`,"change")},this.clearFieldValues=(B,H)=>{let q=this.getFieldValue(B),P=Array.isArray(q)?Math.max(q.length-1,0):null;if(this.setFieldValue(B,[],l(H,{dontValidate:!0})),I0(this).bumpArrayVersion(B),P!==null)for(let K=0;K<=P;K++){let R=`${B}[${K}]`;this.deleteField(R)}if(!(H?.dontValidate??!1))this.validateField(B,"change")},this.resetField=(B)=>{this.baseStore.setState((H)=>{let q=this.getFieldInfo(B).instance?.options.defaultValue,P=Y4(this.options.defaultValues,B),k=q??P;return{...H,fieldMetaBase:{...H.fieldMetaBase,[B]:J0},values:k!==void 0?p0(H.values,B,k):H.values}})},this.setErrorMap=(B)=>{f(()=>{Object.entries(B).forEach(([H,q])=>{let P=H;if(Q4(q)){let{formError:k,fieldErrors:K}=g4(q);for(let R of Object.keys(this.fieldInfo)){if(!this.getFieldMeta(R))continue;this.setFieldMeta(R,(W)=>({...W,errorMap:{...W.errorMap,[P]:K?.[R]},errorSourceMap:{...W.errorSourceMap,[P]:"form"}}))}this.baseStore.setState((R)=>({...R,errorMap:{...R.errorMap,[P]:k}}))}else this.baseStore.setState((k)=>({...k,errorMap:{...k.errorMap,[P]:q}}))})})},this.getAllErrors=()=>{return{form:{errors:this.state.errors,errorMap:this.state.errorMap},fields:Object.entries(this.state.fieldMeta).reduce((B,[H,q])=>{if(Object.keys(q).length&&q.errors.length)B[H]={errors:q.errors,errorMap:q.errorMap};return B},{})}},this.parseValuesWithSchema=(B)=>{return y0.validate({value:this.state.values,validationSource:"form"},B)},this.parseValuesWithSchemaAsync=(B)=>{return y0.validateAsync({value:this.state.values,validationSource:"form"},B)},this.timeoutIds={validations:{},listeners:{},formListeners:{}},this._formId=N?.formId??T4(),this._devtoolsSubmissionOverride=!1;let X=Q6({...N?.defaultState,values:N?.defaultValues??N?.defaultState?.values});if(N?.transform){X=N.transform({state:X}).state;for(let B of Object.keys(X.errorMap)){let H=X.errorMap[B];if(H===void 0||!Q4(H))continue;for(let q of Object.keys(H.fields)){let P=H.fields[q];if(P===void 0)continue;let k=X.fieldMetaBase[q];X.fieldMetaBase[q]={isTouched:!1,isValidating:!1,isBlurred:!1,isDirty:!1,_arrayVersion:0,...k??{},errorSourceMap:{...k?.errorSourceMap??{},onChange:"form"},errorMap:{...k?.errorMap??{},[B]:P}}}}}this.baseStore=D0(X);let z=void 0;this.fieldMetaDerived=D0((B)=>{let H=this.baseStore.get(),q=0,P={};for(let k of Object.keys(H.fieldMetaBase)){let K=H.fieldMetaBase[k],R=z?.fieldMetaBase[k],G=B?.[k],W=Y4(H.values,k),U=G?.errors;if(!R||K.errorMap!==R.errorMap){U=Object.values(K.errorMap??{}).filter((y)=>y!==void 0);let L=this.getFieldInfo(k)?.instance;if(!L||!L.options.disableErrorFlat)U=U.flat(1)}let w=!z6(U),A=!K.isDirty,h=W0(W,this.getFieldInfo(k)?.instance?.options.defaultValue??Y4(this.options.defaultValues,k));if(G&&G.isPristine===A&&G.isValid===w&&G.isDefaultValue===h&&G.errors===U&&K===R){P[k]=G,q++;continue}P[k]={...K,errors:U??[],isPristine:A,isValid:w,isDefaultValue:h}}if(!Object.keys(H.fieldMetaBase).length)return P;if(B&&q===Object.keys(H.fieldMetaBase).length)return B;return z=this.baseStore.get(),P}),this.formGroupMetaDerived=D0((B)=>{let H=this.baseStore.get(),q=this.fieldMetaDerived.get(),P={};for(let k of this.formGroupApis){let K=k.name,R=H.formGroupStateBase[K]??{isSubmitted:!1,isSubmitting:!1,isValidating:!1,submissionAttempts:0,isSubmitSuccessful:!1},G=q[K],W=!1,U=!0,w=!1,A=!1,h=!0,L=!1;for(let I in q){if(I===K)continue;if(!k0(K,I))continue;let g=q[I];if(!g)continue;if(g.isValidating)W=!0;if(!g.isValid)U=!1;if(g.isTouched)w=!0;if(g.isBlurred)A=!0;if(!g.isDefaultValue)h=!1;if(g.isDirty)L=!0}let y=!L,b=!!W||R.isValidating,E=G?.errorMap??{},C=G?.errorSourceMap??{},T=Boolean(E.onMount||Object.entries(q).some(([I,g])=>g&&I!==K&&k0(K,I)&&g.errorMap.onMount)),D=B?.[K],V=D?.errors??[];if(!D||D.__srcErrorMap!==E)V=Object.values(E).reduce((I,g)=>{if(g===void 0)return I;if(g&&typeof g==="object"&&"fields"in g){let R0=g.group;if(R0!==void 0)I.push(R0);return I}return I.push(g),I},[]);let M=V.length===0,x=U&&M,i=k.options.canSubmitWhenInvalid??!1,r=R.submissionAttempts===0&&!w&&!T||!b&&!R.isSubmitting&&x||i;if(D&&D.errorMap===E&&D.errorSourceMap===C&&D.errors===V&&D.isFieldsValidating===W&&D.isFieldsValid===U&&D.isGroupValid===M&&D.isValid===x&&D.canSubmit===r&&D.isTouched===w&&D.isBlurred===A&&D.isPristine===y&&D.isDefaultValue===h&&D.isDirty===L&&D.isValidating===b&&D.isSubmitting===R.isSubmitting&&D.isSubmitted===R.isSubmitted&&D.submissionAttempts===R.submissionAttempts&&D.isSubmitSuccessful===R.isSubmitSuccessful){P[K]=D;continue}let v={...R,errorMap:E,errorSourceMap:C,_arrayVersion:G?._arrayVersion??0,isTouched:w,isBlurred:A,isDirty:L,isPristine:y,isDefaultValue:h,isValid:x,errors:V,isValidating:b,isFieldsValidating:W,isFieldsValid:U,isGroupValid:M,canSubmit:r};Object.defineProperty(v,"__srcErrorMap",{value:E,enumerable:!1,configurable:!0}),P[K]=v}return P});let Q=void 0;this.store=D0((B)=>{let H=this.baseStore.get(),q=this.fieldMetaDerived.get(),P=Object.values(q).filter(Boolean),k=P.some((M)=>M.isValidating),K=P.every((M)=>M.isValid),R=P.some((M)=>M.isTouched),G=P.some((M)=>M.isBlurred),W=P.every((M)=>M.isDefaultValue),U=R&&H.errorMap?.onMount,w=P.some((M)=>M.isDirty),A=!w,h=Boolean(H.errorMap?.onMount||P.some((M)=>M?.errorMap?.onMount)),L=!!k,y=B?.errors??[];if(!Q||H.errorMap!==Q.errorMap)y=Object.values(H.errorMap).reduce((M,x)=>{if(x===void 0)return M;if(x&&Q4(x))return M.push(x.form),M;return M.push(x),M},[]);let b=y.length===0,E=K&&b,C=this.options.canSubmitWhenInvalid??!1,T=H.submissionAttempts===0&&!R&&!h||!L&&!H.isSubmitting&&E||C,D=H.errorMap;if(U)y=y.filter((M)=>M!==H.errorMap.onMount),D=Object.assign(D,{onMount:void 0});if(B&&Q&&B.errorMap===D&&B.fieldMeta===this.fieldMetaDerived.state&&B.errors===y&&B.isFieldsValidating===k&&B.isFieldsValid===K&&B.isFormValid===b&&B.isValid===E&&B.canSubmit===T&&B.isTouched===R&&B.isBlurred===G&&B.isPristine===A&&B.isDefaultValue===W&&B.isDirty===w&&W0(Q,H))return B;let V={...H,errorMap:D,fieldMeta:this.fieldMetaDerived.state,errors:y,isFieldsValidating:k,isFieldsValid:K,isFormValid:b,isValid:E,canSubmit:T,isTouched:R,isBlurred:G,isPristine:A,isDefaultValue:W,isDirty:w};return Q=this.baseStore.get(),V}),this.handleSubmit=this.handleSubmit.bind(this),this.update(N||{})}get state(){return this.store.state}get formId(){return this._formId}runValidator(N){if(q4(N.validate))return y0[N.type](N.value,N.validate);return N.validate(N.value)}handleSubmit(N){return this._handleSubmit(N)}}function g4(N){if(N){if(Q4(N)){let X=g4(N.form).formError,z=N.fields;return{formError:X,fieldErrors:z}}return{formError:N}}return{formError:void 0}}function L4(N){switch(N){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"dynamic":return"onDynamic";case"change":default:return"onChange"}}class $0{constructor(N){this.options={},this.mount=()=>{if(this.options.defaultValue!==void 0&&!this.getMeta().isTouched)this.form.setFieldValue(this.name,this.options.defaultValue,{dontUpdateMeta:!0});let X=this.getInfo();X.instance=this,this.update(this.options);let{onMount:z}=this.options.validators||{};if(z){let Q=this.runValidator({validate:z,value:{value:this.state.value,fieldApi:this,validationSource:"field"},type:"validate"});if(Q)this.setMeta((B)=>({...B,errorMap:{...B?.errorMap,onMount:Q},errorSourceMap:{...B?.errorSourceMap,onMount:"field"}}))}return this.options.listeners?.onMount?.({value:this.state.value,fieldApi:this}),()=>{for(let[B,H]of Object.entries(this.timeoutIds.validations))if(H)clearTimeout(H),this.timeoutIds.validations[B]=null;for(let[B,H]of Object.entries(this.timeoutIds.listeners))if(H)clearTimeout(H),this.timeoutIds.listeners[B]=null;for(let[B,H]of Object.entries(this.timeoutIds.formListeners))if(H)clearTimeout(H),this.timeoutIds.formListeners[B]=null;let Q=this.form.fieldInfo[this.name];if(!Q)return;if(Q.instance!==this)return;for(let[B,H]of Object.entries(Q.validationMetaMap))H?.lastAbortController.abort(),Q.validationMetaMap[B]=void 0;this.form.baseStore.setState((B)=>({...B,fieldMetaBase:{...B.fieldMetaBase,[this.name]:{...J0,isTouched:B.fieldMetaBase[this.name]?.isTouched??J0.isTouched,isBlurred:B.fieldMetaBase[this.name]?.isBlurred??J0.isBlurred,isDirty:B.fieldMetaBase[this.name]?.isDirty??J0.isDirty}}})),Q.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,fieldApi:this}),this.form.options.listeners?.onFieldUnmount?.({formApi:this.form,fieldApi:this})}},this.update=(X)=>{if(this.options=X,this.name=X.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0){let z=this.form.getFieldValue(this.name);if(!W0(z,X.defaultValue))this.form.setFieldValue(this.name,X.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})}if(!this.form.getFieldMeta(this.name))this.form.setFieldMeta(this.name,this.state.meta)},this.getValue=()=>{return this.form.getFieldValue(this.name)},this.setValue=(X,z)=>{if(this.form.setFieldValue(this.name,X,l(z,{dontRunListeners:!0,dontValidate:!0})),!z?.dontRunListeners)this.triggerOnChangeListener();if(!z?.dontValidate)this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=(X)=>this.form.setFieldMeta(this.name,X),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(X,z)=>{if(this.form.pushFieldValue(this.name,X,l(z,{dontRunListeners:!0})),!z?.dontRunListeners)this.triggerOnChangeListener()},this.insertValue=(X,z,Q)=>{if(this.form.insertFieldValue(this.name,X,z,l(Q,{dontRunListeners:!0})),!Q?.dontRunListeners)this.triggerOnChangeListener()},this.replaceValue=(X,z,Q)=>{if(this.form.replaceFieldValue(this.name,X,z,l(Q,{dontRunListeners:!0})),!Q?.dontRunListeners)this.triggerOnChangeListener()},this.removeValue=(X,z)=>{if(this.form.removeFieldValue(this.name,X,l(z,{dontRunListeners:!0})),!z?.dontRunListeners)this.triggerOnChangeListener()},this.swapValues=(X,z,Q)=>{if(this.form.swapFieldValues(this.name,X,z,l(Q,{dontRunListeners:!0})),!Q?.dontRunListeners)this.triggerOnChangeListener()},this.moveValue=(X,z,Q)=>{if(this.form.moveFieldValues(this.name,X,z,l(Q,{dontRunListeners:!0})),!Q?.dontRunListeners)this.triggerOnChangeListener()},this.clearValues=(X)=>{if(this.form.clearFieldValues(this.name,l(X,{dontRunListeners:!0})),!X?.dontRunListeners)this.triggerOnChangeListener()},this.getLinkedFields=(X)=>{let z=Object.values(this.form.fieldInfo),Q=[];for(let B of z){if(!B.instance)continue;if(!(B.instance instanceof $0))continue;let{onChangeListenTo:H,onBlurListenTo:q}=B.instance.options.validators||{};if(X==="change"&&H?.includes(this.name))Q.push(B.instance);if(X==="blur"&&q?.includes(this.name))Q.push(B.instance)}return Q},this.validateSync=(X,z)=>{let Q=V0(X,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||U0}),H=this.getLinkedFields(X).reduce((k,K)=>{let R=V0(X,{...K.options,form:K.form,fieldName:K.name,validationLogic:K.form.options.validationLogic||U0});return R.forEach((G)=>{G.field=K}),k.concat(R)},[]),q=!1;f(()=>{let k=(K,R)=>{let G=C4(R.cause),W=R.validate?F6(K.runValidator({validate:R.validate,value:{value:K.store.state.value,validationSource:"field",fieldApi:K},type:"validate"})):void 0,U=z[G],{newErrorValue:w,newSource:A}=d0({formLevelError:U,fieldLevelError:W});if(K.state.meta.errorMap?.[G]!==w)K.setMeta((h)=>({...h,errorMap:{...h.errorMap,[G]:w},errorSourceMap:{...h.errorSourceMap,[G]:A}}));if(w)q=!0};for(let K of Q)k(this,K);for(let K of H){if(!K.validate)continue;k(K.field,K)}});let P=C4("submit");if(this.state.meta.errorMap?.[P]&&X!=="submit"&&!q)this.setMeta((k)=>({...k,errorMap:{...k.errorMap,[P]:void 0},errorSourceMap:{...k.errorSourceMap,[P]:void 0}}));return{hasErrored:q}},this.validateAsync=async(X,z)=>{let Q=M0(X,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||U0}),B=await z,H=this.getLinkedFields(X),q=H.reduce((W,U)=>{let w=M0(X,{...U.options,form:U.form,fieldName:U.name,validationLogic:U.form.options.validationLogic||U0});return w.forEach((A)=>{A.field=U}),W.concat(w)},[]),P=[],k=[],K=Q.some((W)=>W.validate)||q.some((W)=>W.validate);if(K){if(!this.state.meta.isValidating)this.setMeta((W)=>({...W,isValidating:!0}));for(let W of H)W.setMeta((U)=>({...U,isValidating:!0}))}let R=(W,U,w)=>{let A=C4(U.cause),h=W.getInfo();h.validationMetaMap[A]?.lastAbortController.abort();let y=new AbortController;h.validationMetaMap[A]={lastAbortController:y},w.push(new Promise(async(b)=>{let E;try{E=await new Promise((M,x)=>{if(W.timeoutIds.validations[U.cause])clearTimeout(W.timeoutIds.validations[U.cause]);W.timeoutIds.validations[U.cause]=setTimeout(async()=>{if(y.signal.aborted)return M(void 0);try{M(await this.runValidator({validate:U.validate,value:{value:W.store.state.value,fieldApi:W,signal:y.signal,validationSource:"field"},type:"validateAsync"}))}catch(i){x(i)}},U.debounceMs)})}catch(M){E=M}if(y.signal.aborted)return b(void 0);let C=F6(E),T=B[W.name]?.[A],{newErrorValue:D,newSource:V}=d0({formLevelError:T,fieldLevelError:C});if(W.getInfo().instance!==W)return b(void 0);W.setMeta((M)=>{return{...M,errorMap:{...M?.errorMap,[A]:D},errorSourceMap:{...M.errorSourceMap,[A]:V}}}),b(D)}))};for(let W of Q){if(!W.validate)continue;R(this,W,P)}for(let W of q){if(!W.validate)continue;R(W.field,W,k)}let G=[];if(P.length||k.length)G=await Promise.all(P),await Promise.all(k);if(K){this.setMeta((W)=>({...W,isValidating:!1}));for(let W of H)W.setMeta((U)=>({...U,isValidating:!1}))}return G.filter(Boolean)},this.validate=(X,z)=>{if(!this.state.meta.isTouched)return[];let Q=z?.skipGroupValidation?[]:Array.from(this.form.formGroupApis).filter((G)=>this.name.startsWith(G.name)),H=((z?.skipFormValidation)?{fieldsErrorMap:{}}:this.form.validateSync(X)).fieldsErrorMap[this.name]??{};if(!z?.skipFormValidation)for(let G of Q){if(G.state.meta.submissionAttempts===0)continue;let{fieldsErrorMap:W}=this.form.validateSync(X,{group:G,dontUpdateFormErrorMap:!0,filterFieldNames:(U)=>k0(G.name,U)});H={...H,...W[this.name]??{}}}let{hasErrored:q}=this.validateSync(X,H),P=new WeakMap;for(let G of Q){let{hasErrored:W}=G.validateSync(X,{},{skipRelatedFieldValidation:!0});P.set(G,W)}if(q&&!this.options.asyncAlways){this.getInfo().validationMetaMap[C4(X)]?.lastAbortController.abort();let G=[];for(let W of Q)W.getInfo().validationMetaMap[C4(X)]?.lastAbortController.abort(),G.push(W.state.meta.errors);return[...this.state.meta.errors,...G.flat()]}let k=z?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(X),K=this.validateAsync(X,k),R=[];for(let G of Q){if(P.get(G)&&!G.options.asyncAlways)continue;R.push(G.validateAsync(X,k,{skipRelatedFieldValidation:!0}))}if(R.length===0)return K;return Promise.all([K,...R]).then((G)=>G.flat())},this.handleChange=(X)=>{this.setValue(X)},this.handleBlur=()=>{if(!this.state.meta.isTouched)this.setMeta((z)=>({...z,isTouched:!0}));if(!this.state.meta.isBlurred)this.setMeta((z)=>({...z,isBlurred:!0}));this.validate("blur"),this.triggerOnBlurListener()},this.setErrorMap=(X)=>{this.setMeta((z)=>({...z,errorMap:{...z.errorMap,...X}}))},this.parseValueWithSchema=(X)=>{return y0.validate({value:this.state.value,validationSource:"field"},X)},this.parseValueWithSchemaAsync=(X)=>{return y0.validateAsync({value:this.state.value,validationSource:"field"},X)},this.triggerOnBlurListener=()=>{let X=this.form.options.listeners?.onBlurDebounceMs;if(X&&X>0){if(this.timeoutIds.formListeners.blur)clearTimeout(this.timeoutIds.formListeners.blur);this.timeoutIds.formListeners.blur=setTimeout(()=>{this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this})},X)}else this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this});let z=this.options.listeners?.onBlurDebounceMs;if(z&&z>0){if(this.timeoutIds.listeners.blur)clearTimeout(this.timeoutIds.listeners.blur);this.timeoutIds.listeners.blur=setTimeout(()=>{this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},z)}else this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},this.triggerOnChangeListener=()=>{let X=this.form.options.listeners?.onChangeDebounceMs;if(X&&X>0){if(this.timeoutIds.formListeners.change)clearTimeout(this.timeoutIds.formListeners.change);this.timeoutIds.formListeners.change=setTimeout(()=>{this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this})},X)}else this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this});let z=this.options.listeners?.onChangeDebounceMs;if(z&&z>0){if(this.timeoutIds.listeners.change)clearTimeout(this.timeoutIds.listeners.change);this.timeoutIds.listeners.change=setTimeout(()=>{this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this})},z)}else this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this});for(let Q of this.form.formGroupApis)if(k0(Q.name,this.name))Q.triggerOnChangeListener()},this.triggerOnSubmitListener=()=>{this.options.listeners?.onSubmit?.({value:this.state.value,fieldApi:this})},this.form=N.form,this.name=N.name,this.options=N,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.store=D0((X)=>{this.form.store.get();let z=this.form.getFieldMeta(this.name)??{...J0,...N.defaultMeta},Q=this.form.getFieldValue(this.name);if(!z.isTouched&&Q===void 0&&this.options.defaultValue!==void 0&&!W0(Q,this.options.defaultValue))Q=this.options.defaultValue;if(X&&X.value===Q&&X.meta===z)return X;return{value:Q,meta:z}})}get state(){return this.store.state}runValidator(N){if(q4(N.validate))return y0[N.type](N.value,N.validate);return N.validate(N.value)}}function F6(N){if(N)return N;return}function C4(N){switch(N){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"dynamic":return"onDynamic";case"change":default:return"onChange"}}function H6(N){return{isSubmitted:N.isSubmitted??!1,isSubmitting:N.isSubmitting??!1,isValidating:N.isValidating??!1,submissionAttempts:N.submissionAttempts??0,isSubmitSuccessful:N.isSubmitSuccessful??!1}}function m6(N){return{...J0,...N,errors:[],isPristine:!0,isValid:!0,isDefaultValue:!0,isFieldsValidating:!1,isFieldsValid:!0,isGroupValid:!0,canSubmit:!0,isSubmitting:!1,isSubmitted:!1,isValidating:!1,submissionAttempts:0,isSubmitSuccessful:!1}}class o0{constructor(N){this.options={},this.setFormGroupState=(X)=>{this.form.baseStore.setState((z)=>{let Q=z.formGroupStateBase[this.name]??H6({});return{...z,formGroupStateBase:{...z.formGroupStateBase,[this.name]:X(Q)}}})},this._lastDistributedFieldNames={},this.update=(X)=>{if(this.options=X,this.name=X.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0){let z=this.form.getFieldValue(this.name);if(!W0(z,X.defaultValue))this.form.setFieldValue(this.name,X.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})}if(!this.form.getFieldMeta(this.name))this.form.setFieldMeta(this.name,{...J0,...this.options.defaultMeta})},this.mount=()=>{this.update(this.options),this.form.formGroupApis.add(this),this.fieldInfo.instance=this,this.form.baseStore.setState((z)=>({...z,formGroupStateBase:{...z.formGroupStateBase,[this.name]:z.formGroupStateBase[this.name]??H6({...this.options.defaultState})}}));let{onMount:X}=this.options.validators||{};if(X){let z=this.runValidator({validate:X,value:{value:this.state.value,groupApi:this,validationSource:"form"},type:"validate"}),Q=z,B=void 0;if(Z6(z))Q=z.group,B=z.fields;let H=q6(Q);if(H)this.setMeta((q)=>({...q,errorMap:{...q.errorMap,onMount:H},errorSourceMap:{...q.errorSourceMap,onMount:"field"}}));this.distributeFieldErrors("onMount",B)}return this.options.listeners?.onMount?.({value:this.state.value,groupApi:this}),()=>{for(let[z,Q]of Object.entries(this.timeoutIds.validations))if(Q)clearTimeout(Q),this.timeoutIds.validations[z]=null;for(let[z,Q]of Object.entries(this.timeoutIds.listeners))if(Q)clearTimeout(Q),this.timeoutIds.listeners[z]=null;for(let[z,Q]of Object.entries(this.timeoutIds.formListeners))if(Q)clearTimeout(Q),this.timeoutIds.formListeners[z]=null;if(this.fieldInfo.instance!==this)return;for(let[z,Q]of Object.entries(this.fieldInfo.validationMetaMap))Q?.lastAbortController.abort(),this.fieldInfo.validationMetaMap[z]=void 0;this.form.formGroupApis.delete(this),this.form.baseStore.setState((z)=>({...z,formGroupStateBase:{...z.formGroupStateBase,[this.name]:H6({})}})),this.fieldInfo.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,groupApi:this})}},this.setValue=(X,z)=>{if(this.form.setFieldValue(this.name,X,l(z,{dontRunListeners:!0,dontValidate:!0})),!z?.dontRunListeners)this.triggerOnChangeListener();if(!z?.dontValidate)this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=(X)=>this.form.setFieldMeta(this.name,X),this.getInfo=()=>this.fieldInfo,this.getRelatedFields=()=>{let X=Object.values(this.form.fieldInfo),z=[];for(let Q of X){if(!Q.instance)continue;if(!(Q.instance instanceof $0))continue;if(Q.instance.name.startsWith(this.name))z.push(Q.instance)}return z},this.getRelatedFieldMetasDerived=()=>{let X=Object.entries(this.form.fieldMetaDerived.state),z=[];for(let[Q,B]of X){if(Q===this.name)continue;if(k0(this.name,Q))z.push({...B,name:Q})}return z},this.buildChildFieldName=(X)=>{if(X==="")return this.name;if(X.startsWith("["))return`${this.name}${X}`;return`${this.name}.${X}`},this.distributeFieldErrors=(X,z)=>{let Q=this._lastDistributedFieldNames[X]??new Set,B=new Set;if(z)for(let[P,k]of Object.entries(z)){if(k===void 0||k===null||k===!1)continue;B.add(this.buildChildFieldName(P))}let H=new Set([...Q,...B]),q=!1;for(let P of H){let k=P.startsWith(this.name+"[")?P.slice(this.name.length):P.slice(this.name.length+1),K=z?.[k],R=this.form.getFieldMeta(P);if(!R&&!K)continue;let G=R?.errorMap[X],W=R?.errorSourceMap[X]==="form",{newErrorValue:U,newSource:w}=H4({newFormValidatorError:K,isPreviousErrorFromFormValidator:W,previousErrorValue:G});if(U)q=!0;if(G===U&&R?.errorSourceMap[X]===w)continue;this.form.setFieldMeta(P,(A)=>({...A,errorMap:{...A.errorMap,[X]:U},errorSourceMap:{...A.errorSourceMap,[X]:w}}))}return this._lastDistributedFieldNames[X]=B,q},this.validateSync=(X,z,Q={})=>{let B=V0(X,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||U0}),q=(Q.skipRelatedFieldValidation?[]:this.getRelatedFields()).reduce((K,R)=>{let G=V0(X,{...R.options,form:R.form,validationLogic:R.form.options.validationLogic||U0});return G.forEach((W)=>{W.field=R}),K.concat(G)},[]),P=!1;f(()=>{let K=(R,G)=>{let W=m4(G.cause),U=R===this,w=void 0;if(G.validate)w=R.runValidator({validate:G.validate,value:{value:R.store.state.value,validationSource:U?"form":"field",...R instanceof o0?{groupApi:R}:{fieldApi:R}},type:"validate"});let A=w,h=void 0;if(U&&Z6(w))A=w.group,h=w.fields;let L=q6(A),y=z[W],{newErrorValue:b,newSource:E}=d0({formLevelError:y,fieldLevelError:L});if(R.state.meta.errorMap?.[W]!==b)R.setMeta((C)=>({...C,errorMap:{...C.errorMap,[W]:b},errorSourceMap:{...C.errorSourceMap,[W]:E}}));if(b)P=!0;if(U){if(this.distributeFieldErrors(W,h))P=!0}};for(let R of B)K(this,R);for(let R of q){if(!R.validate)continue;K(R.field,R)}});let k=m4("submit");if(this.state.meta.errorMap?.[k]&&X!=="submit"&&!P)this.setMeta((K)=>({...K,errorMap:{...K.errorMap,[k]:void 0},errorSourceMap:{...K.errorSourceMap,[k]:void 0}}));return{hasErrored:P}},this.validateAsync=async(X,z,Q={})=>{let B=M0(X,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||U0}),H=await z,q=Q.skipRelatedFieldValidation?[]:this.getRelatedFields(),P=q.reduce((U,w)=>{let A=M0(X,{...w.options,form:w.form,validationLogic:w.form.options.validationLogic||U0});return A.forEach((h)=>{h.field=w}),U.concat(A)},[]),k=[],K=[],R=B.some((U)=>U.validate)||P.some((U)=>U.validate);if(R){if(!this.state.meta.isValidating)this.setMeta((U)=>({...U,isValidating:!0}));for(let U of q)U.setMeta((w)=>({...w,isValidating:!0}))}let G=(U,w,A)=>{let h=m4(w.cause),L=U.getInfo();L.validationMetaMap[h]?.lastAbortController.abort();let b=new AbortController;L.validationMetaMap[h]={lastAbortController:b};let E=U===this;A.push(new Promise(async(C)=>{let T;try{T=await new Promise((v,I)=>{if(U.timeoutIds.validations[w.cause])clearTimeout(U.timeoutIds.validations[w.cause]);U.timeoutIds.validations[w.cause]=setTimeout(async()=>{if(b.signal.aborted)return v(void 0);try{v(await this.runValidator({validate:w.validate,value:{value:U.store.state.value,signal:b.signal,validationSource:E?"form":"field",...U instanceof o0?{groupApi:U}:{fieldApi:U}},type:"validateAsync"}))}catch(g){I(g)}},w.debounceMs)})}catch(v){T=v}if(b.signal.aborted)return C(void 0);let D=T,V=void 0;if(E&&Z6(T))D=T.group,V=T.fields;let M=q6(D),x=H[U.name]?.[h],{newErrorValue:i,newSource:r}=d0({formLevelError:x,fieldLevelError:M});if(U.getInfo().instance!==U)return C(void 0);if(U.setMeta((v)=>{return{...v,errorMap:{...v?.errorMap,[h]:i},errorSourceMap:{...v.errorSourceMap,[h]:r}}}),E)this.distributeFieldErrors(h,V);C(i)}))};for(let U of B){if(!U.validate)continue;G(this,U,k)}for(let U of P){if(!U.validate)continue;G(U.field,U,K)}let W=[];if(k.length||K.length)W=await Promise.all(k),await Promise.all(K);if(R){this.setMeta((U)=>({...U,isValidating:!1}));for(let U of q)U.setMeta((w)=>({...w,isValidating:!1}))}return W.filter(Boolean)},this.validateAllFields=async(X)=>{let z=[];return f(()=>{Object.values(this.getRelatedFields()).forEach((B)=>{if(z.push(Promise.resolve().then(()=>B.validate(X,{skipFormValidation:!0,skipGroupValidation:!0}))),!B.store.state.meta.isTouched)B.setMeta((H)=>({...H,isTouched:!0}))})}),(await Promise.all(z)).flat()},this.validateArrayFieldsStartingFrom=(X,z,Q)=>{return this.form.validateArrayFieldsStartingFrom(X,z,Q)},this.validateField=(X,z)=>{return this.form.validateField(X,z)},this.getFieldValue=(X)=>{return this.form.getFieldValue(X)},this.getFieldMeta=(X)=>{return this.form.getFieldMeta(X)},this.setFieldMeta=(X,z)=>{return this.form.setFieldMeta(X,z)},this.setFieldValue=(X,z)=>{return this.form.setFieldValue(X,z)},this.deleteField=(X)=>{return this.form.deleteField(X)},this.pushFieldValue=(X,z)=>{return this.form.pushFieldValue(X,z)},this.insertFieldValue=(X,z,Q)=>{return this.form.insertFieldValue(X,z,Q)},this.replaceFieldValue=(X,z,Q)=>{return this.form.replaceFieldValue(X,z,Q)},this.swapFieldValues=(X,z,Q)=>{return this.form.swapFieldValues(X,z,Q)},this.moveFieldValues=(X,z,Q)=>{return this.form.moveFieldValues(X,z,Q)},this.clearFieldValues=(X)=>{return this.form.clearFieldValues(X)},this.resetField=(X)=>{return this.form.resetField(X)},this.removeFieldValue=(X,z)=>{return this.form.removeFieldValue(X,z)},this.areRelatedFieldsValid=()=>{return Object.values(this.getRelatedFields()).every((X)=>X.state.meta.isValid)},this.validate=(X,z)=>{let{fieldsErrorMap:Q}=z?.skipFormValidation?{fieldsErrorMap:{}}:this.form.validateSync(X,{dontUpdateFormErrorMap:!0,filterFieldNames:(q)=>k0(this.name,q)}),{hasErrored:B}=this.validateSync(X,Q[this.name]??{},{skipRelatedFieldValidation:z?.skipRelatedFieldValidation});if(B&&!this.options.asyncAlways)return this.getInfo().validationMetaMap[m4(X)]?.lastAbortController.abort(),this.state.meta.errors;let H=z?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(X,{dontUpdateFormErrorMap:!0,filterFieldNames:(q)=>k0(this.name,q)});return this.validateAsync(X,H,{skipRelatedFieldValidation:z?.skipRelatedFieldValidation})},this.triggerOnChangeListener=()=>{let X=this.form.options.listeners?.onChangeGroupDebounceMs;if(X&&X>0){if(this.timeoutIds.formListeners.change)clearTimeout(this.timeoutIds.formListeners.change);this.timeoutIds.formListeners.change=setTimeout(()=>{this.form.options.listeners?.onChangeGroup?.({formApi:this.form,groupApi:this})},X)}else this.form.options.listeners?.onChangeGroup?.({formApi:this.form,groupApi:this});let z=this.options.listeners?.onChangeDebounceMs;if(z&&z>0){if(this.timeoutIds.listeners.change)clearTimeout(this.timeoutIds.listeners.change);this.timeoutIds.listeners.change=setTimeout(()=>{this.options.listeners?.onChange?.({value:this.state.value,groupApi:this})},z)}else this.options.listeners?.onChange?.({value:this.state.value,groupApi:this})},this.triggerOnSubmitListener=()=>{this.options.listeners?.onSubmit?.({value:this.state.value,groupApi:this})},this._handleSubmit=async(X)=>{this.setFormGroupState((B)=>({...B,isSubmitted:!1,submissionAttempts:B.submissionAttempts+1,isSubmitSuccessful:!1})),f(()=>{Object.values(this.getRelatedFields()).forEach((B)=>{if(!B.state.meta.isTouched)B.setMeta((H)=>({...H,isTouched:!0}))})});let z=X??this.options.onSubmitMeta;this.setFormGroupState((B)=>({...B,isSubmitting:!0}));let Q=()=>{this.setFormGroupState((B)=>({...B,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.areRelatedFieldsValid()){Q(),this.options.onGroupSubmitInvalid?.({value:this.state.value,groupApi:this,meta:z});return}if(await this.validate("submit",{skipRelatedFieldValidation:!0}),!this.areRelatedFieldsValid()||!this.state.meta.isValid){Q(),this.options.onGroupSubmitInvalid?.({value:this.state.value,groupApi:this,meta:z});return}f(()=>{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:z}),f(()=>{this.setFormGroupState((B)=>({...B,isSubmitted:!0,isSubmitSuccessful:!0})),Q()})}catch(B){throw this.setFormGroupState((H)=>({...H,isSubmitSuccessful:!1})),Q(),B}},this.form=N.form,this.name=N.name,this.options=N,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.fieldInfo={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}},this.store=D0((X)=>{this.form.formGroupMetaDerived.get(),this.form.baseStore.get();let z=this.form.getFormGroupMeta(this.name)??m6(N.defaultMeta),Q=this.form.getFieldValue(this.name);if(!z.isTouched&&Q===void 0&&this.options.defaultValue!==void 0&&!W0(Q,this.options.defaultValue))Q=this.options.defaultValue;if(X&&X.value===Q&&X.meta===z)return X;return{value:Q,meta:z}}),this.handleSubmit=this.handleSubmit.bind(this)}get state(){return this.store.state}runValidator(N){if(q4(N.validate)){let X=y0[N.type](N.value,N.validate);if(N.type==="validate")return g6(X);return X.then(g6)}return N.validate(N.value)}handleSubmit(N){return this._handleSubmit(N)}}function q6(N){if(N)return N;return}function Z6(N){return!!N&&typeof N==="object"&&"fields"in N}function g6(N){if(!N||typeof N!=="object")return N;if(!("form"in N)&&!("fields"in N))return N;let{form:X,fields:z,...Q}=N;return{...Q,group:X,fields:z}}function m4(N){switch(N){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"dynamic":return"onDynamic";case"change":default:return"onChange"}}function W6(N,X){if(!X)return;let z=Object.assign({},N,{state:n0(N.state)});if(X(z),z.fieldInfo!==N.fieldInfo)N.fieldInfo=z.fieldInfo;if(z.options!==N.options)N.options=z.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((H,q)=>{if(N.state[q]!==z.state[q])H[q]=z.state[q];return H},{});return f(()=>{if(Object.keys(B).length)N.baseStore.setState((H)=>({...H,...B}));if(z.state.errorMap!==N.state.errorMap)N.setErrorMap(z.state.errorMap)}),z}var U6=e(N0(),1);function xN(N,X){return N===X}function c6(N,X=(Q)=>Q,z){let Q=z?.compare??xN,B=U6.useCallback((q)=>{let{unsubscribe:P}=N.subscribe(q);return P},[N]),H=U6.useCallback(()=>N.get(),[N]);return _6(B,H,H,X,Q)}var _=(N,X=(Q)=>Q,z)=>c6(N,X,{compare:z});var t0=e(N0(),1);var Z4=e(N0(),1);var _4=e(N0(),1),T0=typeof window<"u"?_4.useLayoutEffect:_4.useEffect;function jN(N){let[X,z]=Z4.useState(()=>({form:N.form,name:N.name})),[Q,B]=Z4.useState(()=>{return new $0({...N})});if(X.form!==N.form||X.name!==N.name)B(new $0({...N})),z({form:N.form,name:N.name});let H=_(Q.store,N.mode==="array"?(U)=>U.meta._arrayVersion||0:(U)=>U.value),q=_(Q.store,(U)=>U.meta.isTouched),P=_(Q.store,(U)=>U.meta.isBlurred),k=_(Q.store,(U)=>U.meta.isDirty),K=_(Q.store,(U)=>U.meta.errorMap),R=_(Q.store,(U)=>U.meta.errorSourceMap),G=_(Q.store,(U)=>U.meta.isValidating),W=Z4.useMemo(()=>{return{...Q,get state(){return{value:N.mode==="array"?Q.state.value:H,get meta(){return{...Q.state.meta,isTouched:q,isBlurred:P,isDirty:k,errorMap:K,errorSourceMap:R,isValidating:G}}}}}},[Q,N.mode,H,q,P,k,K,R,G]);return T0(Q.mount,[Q]),T0(()=>{Q.update(N)}),W}var x6=({children:N,...X})=>{let z=jN(X),Q=Z4.useMemo(()=>E0(N,z),[N,z]);return J(X0,{children:Q})};var P6=e(N0(),1);var j6=e(N0(),1);function $6(){return j6.useState(()=>T4())[0]}var $N=P6,v6=P6.version.split(".")[0]==="17"?$6:$N.useId;var W4=e(N0(),1);function vN(N){let[X,z]=W4.useState(()=>({form:N.form,name:N.name})),[Q,B]=W4.useState(()=>{return new o0({...N})});if(X.form!==N.form||X.name!==N.name)B(new o0({...N})),z({form:N.form,name:N.name});let H=_(Q.store,(T)=>T.value),q=_(Q.store,(T)=>T.meta.isTouched),P=_(Q.store,(T)=>T.meta.isBlurred),k=_(Q.store,(T)=>T.meta.isDirty),K=_(Q.store,(T)=>T.meta.errorMap),R=_(Q.store,(T)=>T.meta.errorSourceMap),G=_(Q.store,(T)=>T.meta.isValidating),W=_(Q.store,(T)=>T.meta.isSubmitting),U=_(Q.store,(T)=>T.meta.isSubmitted),w=_(Q.store,(T)=>T.meta.submissionAttempts),A=_(Q.store,(T)=>T.meta.isSubmitSuccessful),h=_(Q.store,(T)=>T.meta.canSubmit),L=_(Q.store,(T)=>T.meta.isValid),y=_(Q.store,(T)=>T.meta.isFieldsValid),b=_(Q.store,(T)=>T.meta.isFieldsValidating),E=_(Q.store,(T)=>T.meta.isGroupValid),C=W4.useMemo(()=>{return{...Q,handleSubmit:(...V)=>{return Q._handleSubmit(...V)},get state(){return{...Q.state,value:H,get meta(){return{...Q.state.meta,isTouched:q,isBlurred:P,isDirty:k,errorMap:K,errorSourceMap:R,isValidating:G,isSubmitting:W,isSubmitted:U,submissionAttempts:w,isSubmitSuccessful:A,canSubmit:h,isValid:L,isFieldsValid:y,isFieldsValidating:b,isGroupValid:E}}}}}},[Q,H,q,P,k,K,R,G,W,U,w,A,h,L,y,b,E]);return T0(Q.mount,[Q]),T0(()=>{Q.update(N)}),C}var f6=({children:N,...X})=>{let z=vN(X),Q=W4.useMemo(()=>E0(N,z),[N,z]);return J(X0,{children:Q})};function fN({form:N,selector:X=(Q)=>Q,children:z}){let Q=_(N.store,X);return J(X0,{children:E0(z,Q)})}function h4(N){let X=v6(),[z,Q]=t0.useState(N?.formId),[B,H]=t0.useState(()=>{return new A4({...N,formId:N?.formId??X})});if(z!==N?.formId){let k=N?.formId??X;H(new A4({...N,formId:k})),Q(k)}let q=t0.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(R){return J(x6,{...R,form:B})},k.FormGroup=function(R){return J(f6,{...R,form:B})},k.Subscribe=function(R){return J(fN,{form:B,selector:R.selector,children:R.children})},k},[B]);T0(B.mount,[]),T0(()=>{B.update(N)});let P=t0.useRef(!1);return T0(()=>{if(!P.current)return;if(!N?.transform)return;W6(B,N.transform)},[B,N?.transform]),T0(()=>{P.current=!0}),q}var x4=e(N0(),1);function u6({className:N,...X}){return J("textarea",{"data-slot":"textarea",className:j("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",N),...X})}var c4=["data:image/webp;base64,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","data:image/webp;base64,UklGRuImAABXRUJQVlA4INYmAABwkQCdASosASwBPm00lkekIyIhJRV64IANiWVu1TLAl+3s4g81HD75B+T1Y/tuTDR13a5yfUvuHfMv5t/p93s2nRW1OM3pj+H+6vsK5R+0vUv+afiX+T/ivbV/X99/yy1Bfb+8zgD+uP/O9QH7nzX/f/8R/0fcC/Wv/pcd56r7A/9Q/tv7Ue8T/jft16Ofrf9sPgX/Xv/w+vN7Lf3b9mP9xi5XYt84HQDhRUo2V7qzfO2n+Y8bwJCszQGpMP1DNCkYn/gSyDy/S7fEm16d/YASgmdgE62PufeNU9YmE0ajfJGQ/k4Hmi1VH4rj/clWI7qrbmoy3UBCJGKqLNiD1SgT5MfhufGxviZEMuf5ik199m6dOsiN9zLP/6ec/iL/x/JqPeoKlHg8yyPWg9ZWye/AL2sv1sBihae004Z/cAdsDbHl3rmf+e4SIs4IUfBKWTpsi7bBCQ31hXi2ibQICWpRPOcoJhv02X+tpfXDQxeEzVoEfYe0liagK+atGehW8hr3aokOq+RDEFgxxWQxUqQCAOBSq+2aMzhQGxQUQHdWNU+Dev4E4B6M/k5+HPc+kE/gTlIEgwarkZGxXxZ+JOdaaH72cfEFqhaM/JWvXGd8nPQaBcSKLpnn90KFqfC2qlTHbRsUdsh+uKm8t5cURrlBOgj3YGrmB19IcaMom8Ch8iujlA+e+UjyeNjcZTNGMK1YZDEI9ZFVCc4BdCG7IItEZva9QiQrpvG1rjs2Ylk3eRBiBrtQMb7M5n4ORUbvLdmEI64zWLQ1r5CWntQikPTZEoQhCerXl+L7Yr062tdzyMKZ7Q2l6szccyEzomV/OQjP77ma07/1+gyoWYQ6Ipm6elEbaLdhRwfvq6y6DOjHWrgKLFfd5NTbhKsCTC3n2x05iZYOBfyDdvUrLne0OdXRX8neTdOR0Tf9C4AIh2o5qHvso7HOByEXxVvJjFeK63Dzi5hq38onE3i+tggBjJ/lg7VB3HE6vCqRz+p9GWUIdTU7WbWjEjZT30Od+e/ub5wa1YCmtnsdNwKLK0cSrN4pCfQNxk4cbEe6KCEQs13XuabOa/Fw+alYz0q/pqObij7gVLVftpj4olPFOTReN7+94egLOn0D76IfBfjJkG9Yeo9BS8S5JU1x/SDk7cL0faE5mYdl5fefAONx2MGexl6ftjct4rnlkbrYo0V4SfB+ZoPQZ0PVRyTQbInLZgx+2O4b397kT6NEMqkfo+o7XDbzt6f4VAHoAeyGkcDaq3TwNNxU2MR+EvoHsUn9OdoUiM3yhiqZ1vUq7Eawua2WzaEdE1F7bY9Eij+DufSFYAh6iEBBL4A08IT3Ew6pbf5V2Bf4TIWILAEvHcpbTRmPp+evtFQtH92OCZlrzxMqJVD8K19V3J+ylUx8Swe2y2I20hYa0EHk2lw4PBcfKYySNNNdLIj+oWPr6q5pjUxcvM+jmJKL6ppIGmxpm2+7YbQKH88IBneQw6e9KfcsJV6bK1o2jAqZaQAPRRSGxYDSABzSYlNqfS8jsU8Ieg8fF9ExfovZ17AVOhAcWWJ4lGR9OaLiGds6GAD+xXC8r8n/81f/2e/3u5wgntWc59ss0mH6bXUUAKI3H9YniR6hQlpvHb5+vUPLwuJiP2VigP2y/UCAPAIORQlLPWtMlXm+0d1N+e6TBVu1fZLo4re/gRMj+Rx3z3oe7U2XZ8O+JiHAq0VnmkXja7UorlhaJgQ8bqqxynnBR5sWzzKDlvCDJtnT4IqfplSbiM3zbVKBkKju9MZlphqYzBpKZe4MgequfDYWvCeODHr1csIfb5ZuF1odz8nZURZgdKVDgP4ErzbEdaceRo6h6yeuublhqLdY35ACc4v8VNAmAPhpDUYbv41k0EPhLKO02mErgCVs7vd1/cE0LyTWCH3/DxIBtXDXrPzfWKbSEpG3+0JLCWrADrihPjo+LBuXI1rjA/Ry86wlifchUpdxNyOP+j7b1BKy58FcBrigHus4Bx/ILXK1yjsZbx8FCvyAW+tOC6bf6rtdkuzTqjVkrcKtlomoFBGHnCxS/rcpewgtnoyWR4Vq8Xb8kkuFeDNX9TGYXkFbCrjpBYVjmdhNvNenEj3V84KhX5BDfhyb79g2eYP+zn/K63UG5vVOUMkfv+98HTZ6T+v4j0UC3EEuV1xBjF1LLjRP27jmW69s6gIDq79RJVs2OysdffWNYhYr1kr9ESYm1onWmhHRBD475GqnDojZqyi92xiTX6fIA0sDP5poqS721MorBt3xq+8cWyie3ihXzInZ01xl0yqTy/RttM3xCzP/YucY/6fYsppMB079rgPY5GcLAXXvJs/raRrGSaHEoQ45nGAVqDI5bpx75eMsmMSFv6R7Y8FK4wClZs13O6D+eOpM7aKyPlwju6PJNkSja2ckDXbVVRnr/8vGOA7R/EVfLqyVUL3qIGBsW8Ws8om1flFSdNfZJaHAq6oUso9e0d53rlnaVQdGt/aTFIjH3Fx3K046+884ys9URG+w3XGzabpZQu/D7jdRyByL7JLMxVLt4kKFbQE8hPyn/K6sYOmYXgI7x0bcs8p65uIo+C5aI6uty/KKxVIcaUXdiOL2uLoeuovodSIqEcE35/GR6YUgQNXiutqAhRQOjSZ7JIgDvHldl51rZccgJdU4KkcSKG0K8YR5I3ycb6ucngtUDvjy8ZxWgQYQ7iIzRPpVjsV8zFA7RqFX8IuAMaEmNuI/u+GWDCrNWeMX0iHkdvJa/Qak1Z4MnPblddjT4hGk3KqKapffk/aPkW/NL/VjFtBegZ0sOD3YJu8WynG9cHuKvtDoDjcx+z2N8x1c8qLdorum5aFTNwsiqZjzX7cyx18bRYgb3RSHxOeI7vs0hFC9PNuKkLt59GieI6QpvbFagw0BDB4OREAKdcAvNTYOitIGfBd0o0PloC5ee/1yzeOpSUnmn/IPTcD6eFMTwq1PvPZX/Q8ERArRtSGKVBvsS5jrQaCYaG4jlRhSfSpIFHGnSFDf4dcYSk0UJc8hQ9nBS3JbKuUr+SdcqpkkNvwwn67qOcUrdCprNvIlOPbc5Gxlt7GnblpquhCv9HIQJ5X2LIl4SNfwi0QlqcIM4iXLSKtQN+uJIJnY3vrrubf3RW2CcsM8ce44lfbwFf+U1g/5I4yMI986V485pBQkk6VJ6BwLsELlrc/6UMwifVVDZuGixZ/cD/9rsos8v9/JPEit2BVeMiuTuYMDS+v2i64h23xttmiCDYhHfqnc91OZB8AYTd+K4ax+isECyhEXXAAHF5Xt3S5nqCCkQNrN/rk8gAo6w1qcCae7EAgI+aUmi0fpi7kV/4Jqf/OxhCkcA1VWx8CpJtKcIJDPCZ8QoS3JNw4BeSOri+5gQMbJkBpu3o0gIGalFBWXVicjLUhXjsFeM17eyBesHrl6GODzLKAK4jiXvlnOz/20HtIO4EeSivdT/BVd6dZksAOxi4ek95R1H/FVTlPc963Bm+DLWgiZ2YRvTffDNoItOexBGW5LKOiEvGc7NZrE4VYGIOFpcgLm/iOV77J67mKmn5rJFno7nsFfGaYhW9CcIPXKAzJznu/aLA37KjmvKQ3fK03zu4SK9ZjlKTu5+liTiPYV+u1ZIzC/C10dZbJ1FL611PSt2RBFrLIN5uwRKvyJP+idGEis5zFU5acBFw1SJkQ4I+VyxdN9mhXTGwMKYIjclsmlT0R6BYNprG+5zGwvweCOexDMHWvwxPzHm68S3qtCdSJ7rdUkLRS+s4QbWWfN2OA1AEFyYhDzJRov25WLvi3tKCvioS+Z6pfhS/pAsxDpV7rjmt2uYjJtywTem1pONk1FtvAca3lW78mDZLm4OYflauIZ7Cx4RZ+nMJ7MIjNhTbg6XYX2hraQ2dyh5qiqiWQCeEeRLOBAU5gjmsgwhxc4Q5iaUmLRwEGBUMuA2wXXk0gseDY0wGc2pwP7zIqIoF2NxtMX4RlVh2MKv3XTs3b6BuLU8ueWB+2ZKl5Zucwt3bCUVTWq5i0ChyARjYhrABlVXd30JzTsSfeZHlhRpYhFFxOuK+KUg3rwasp5BwMIkJ1Nx9AsSG3vOiPQvnl5J1PM/fO7u9FdBmXMLXkUfJgVJHmWGCa2m/4SW7rkHbyGFgGWtCqgNZRcxu8qTqh1OL+LIbHRdvEAi1i2+gr5xGJd9Ks85Bcwvrfks6WMWqZ/QxXwTB2UC0PW1bEDA37E7usv1TlQAG569tEJPTZckW0GniiLWCKLU/CVuuKRHHRGfi7+QAFr3ABXi2AY2791tPfxJiTfch8PIpUAjcb522KNtVrxiAoHfiBGDlAHky448pRWJNhWHxajPfMHkmsii2m2cPeNM6jvy7OvdsuBmS52kNkRFrIzdEyons3Y3r3QgA6oLzyuE9ZwGOW72SqQYTOiemyzMBJPLQYe/5ao0Wd0P04+Nuo8/5/WAI4HiqOdzzvdweWlfIggnaA+Xwg+ZTlJ7GNJALkzVso0h+rfUZRJxEghlK5Ai6deY+1wUVzEjfI+Hw0h/2h0SRoi+PKP7gi+9oV0CyWqcR1QQNtVQbsWOD4SrGd2+gMns5FQ75bdfMCFRk8lwl0SBH1R06ajkm6tXa9P03pq/x9RPXVj6rMO1zQ5XX9Ai2gm6WhoigDnbnq1A9wavipA15q8s1VHBsWRyNA18DFwy1XJIZ2DRCSGU1lx2cQ5ALkEz9r2PuAIA4ILY0w7L+QWQah6vJIVYUz6wcm6RBEtkoCzEhTnnJZ0sK9fBea0yY7UhRqrcZ9NnFGsn8AV5E+sOshQjibl2mTcpszQB7wC5F6QfiNgZzOXuObH5THCQQjuCjLZ05UvpLn4z2pptxZWY9PcmcNc6528uphXgKLZYhuKrlbURtUpcXBXTiEPSLnA58z4Xo3436pL/xrbM6gG5nk6OWo0GhBiIZA/Zzgmas1CtjistXE8ZJez8/YKMX5T51AoSGKLiwihZoGP1Yk9aBEXg7EFsOE/a2GlBBivgmG7sxZKC+SMywiR2kKUc4r/3RHe7wTEVluVk4UOPa94hklCHd0vTuU81otBM3HjYikHa242E2L65xLTa9l8+EQ/MS2i/6pStdYASIg9E7DSACcbX6xSC0e/2SBcv3i1wubpmU1WqPUiIWfcBF98LMb2sEQ6u6LwBAT0wWP6mprzaXB8+OvifvuRuu606bMfxyuHv2hP8ZwoEU2ISzQ7rrqho91h6LMYIEwj/gdh2nGJLDoP8temE56/XVXhxz0HIlL+D3UKBwfqEAnZXIPXQI+DUQn2LiCvMM2q1l292jnIqlml43vDdoFqOwPFsKf2heD+OeIDbnJ7r7Cac+7dL/H6AXjCVciCMLgejf7QBnnQHjRDHTbiPkWtQsPRnzhwdCcc6Y6OyP8+gxsH3Ms0SwrXweonqmHb4imXA5YAp8o/pImUT1eZxt1P2oSKCCtk2+G2Y2MdRImfy5zhP5X4vt+aMGSVSXVRy69i5AbJGuVeZiWeK4atW4MwpWgI4fjduyriitzws9DTwe7fBqqvq0LPlggdtB4Ap5++iGYqwaGo65YzXfneWUSUA2cS3W6jjEj4qIdcPiezZxH3SnRJVrS+vbHfyo5VtlwWfuwOFSSMywW7yE8Dr12H2+YXq1dyguIUliZAcJl0wc4APg/F7rQTyhn8O+KROeYr2+dkk6PGrYQvDIGMARhyaT1nuh60eb/vTOJuk8x1xh5QvtDnyH7zKgCFiEqNP/KUQG/fKGjleH96iwtprW01FhXVm4jWUxnFAgvuacTEvsU+FGHY0yr+NCkG3tnW281i4BH69kZYyhppOh9rkFTLcwUXITa7HkVrIUrJusDN8NNyZfTHv2XzHMB6qMfe3mFiVijB4PKNK+gGx4IPiJy/XZPQygbAUFvq8dQC43ql9O/KN/2EddCLU3d61bRV705dTPzslr2D/Lei9WBCJ9cCu3dqwgU8mjJOu1hvG3py1XIMGExLiD0tMjvDI5wTGdkonxCij4e3aMqC3tqsBpdFWCvbsb1bULELdCSJdc3QjOu49Yc0x6OMZQVVeUmJcNYS0OQDrv93kqsktnFlmrG+7yX4qvCK0zWHVLnPwXuWtRqsXgBttklOetbVN3fW2y3JSIMxHSu8qT6pxgxRaXIfF7g3MpVBEWC1wpKvv2xI+uNgjkuYB4EihxrVLWjR3y+r1BqaRnJAx6NZG6ZpHj4H2kQqMap+TJzArVbe7LjAkRE/EYJLV5OqkIoeW0gKyGn5nPDlfN1GVs+AACfIJu9Hca5BxWHDFsYxiSwCM2kHi7EA93mkv2iXP/3z1Pq1u6hu398LVETCyFkf6JReXELt4gp3+m4Gv0sGsn/sh72Ff0KaGeSKDkGA5X8oOOAw+YfiXLTX75X0pa3uebjkOiQUWboZ5MNNBUxCi4HvyP7hIokfMtc5GN87taGEvbLmshDW4seuD0r7WW8Hj42+n8ATbFMfLNhxx2WgkprBqRk3oKC9iKw4v51rZz5+kGUs/t+SyUhzLbaAc0Ke0hFVP9dTi9hlEzKQUttvCzKoTNiABU+0pzUoJx9nglLRiMzORei//2GrXKbGbZUuP70CSqEW/hBZg/7L8Un9O0ICzACiVG0hEL/jY+PaFubPwaZN/tRIEzTR8Bdczp4NmNECZXEFcgichv2pi/GA90f8gJI3Ho6431kRJLd8A6I67t0tunwcWuGYM1VyCMANTfCW65h3DEGXodxMrBzogMJ4/Kgf3OFGQLzO7hDo0YoGe30xZTFHBkUyuhGu3lrqm2IqKxAHowXSKZ27zAYedEIgxbT50gDpuoNooBOni0RCme9HwIvxRXXkYqNaMbxBGGQllimeVymzOhK+yNH2n2ZC0K5TVSMhe1qp7szqA1gfg+Xvy7Gc+v5paB2BIVlmeHRqUXov8/5Re5t/VgvAmqNAXbSiCya+Rr14ms1QI4H9vQ4wMTQWNZIfNRBOhSVGfaZu8arcArJVymeqY+ws/vXKYBe6bNCtfqcD8aWSkojElNYhtHkLoDZfSh20GPJ1miFpr9YsNPX3EsKerCUmizqCyrBfKrwAGtXWSn0IDYuYVolT2wdL2zbupBYpmoYkzOBR/v2+hvGFxbafozCRj8HT8GWfCX27Lnob9jkgL7Fq++1l7oHqrDcyKi5LL9naopCg6W/pZztaz1JQTbrE7zFsuV9OgkbU90kOtEnpPpAeSbPik4yw+HfRel0niNwqs5qIBwqLTnPkwHxi7Rxdrqp9li0mYDV9mlYQ8Z9FCXe3au+KQXgD3dm6xORY05WngyBBOIlp+je4PV/JEUFRTHQ84xgBs5BzgGHGTI+oy/wSE7H0/2r+Fo8NIOk0i4xyuaWd7Rr8TpkGRszw/BatUwGbgq3vtcRsvet+L+Yhsa87fx51jRu1OL6cLzVesDBDKh8bFfZpSd/TuFCG6lWFW2l0HRtLwRcfCkTs3JnoZRnW+fF/P52Xuipa42HEc5UJHSgdjHYua5UNiCeYnU/QOa+0dDA+qASbxK3n0i8haRVf+8ufEzsUPImPH6mCuh3x7VhU4f+2nuhypLBRgHLdypoU2RrBiAnxDQwjSaS31lpL0Q7cOD8L7l1bSdQAP2laxjohvns9Jo7I21Op2EZuIBt8yhyP27RjOarVRZLCakdAc5EhP9R+qmlVdOz3dZPEVwheQ+6eSkz4qaIl0XReRgkHkxmtKRx607M7fIuuBcO9iEaWux8bdXkQn1/aHhJUWrUu4NT0Zsrw9sSxUFgQ7pcgNP9lmsE2/H/qQWnUQhSXDT+WxF/zg99ofvgOIkDDyeuuFmU8hXQM8t+kilTG/BMpq+MwiJKfjIH2Vtu3pmb3h78/pbdeVVILuJNNFGN8BxmtS2/c4/heIdgq8YK4lL/c1SPYbY8a68eGwF5E9MN8ozH8LS8q4ZQlJnkxnjbWl6bJCt8y+GmQlv6ReF1KwsZn6UrTfUxPWIZq3i6R3EtJtJLJGA/Kot17oPM39dMZdOi8FMvbYyMrbAIfXsMzaz0nwZ5sf83Zpas9OJWBKvTMEUNhkNySpF8ewa34CF/qigP3mxc2xWk+8gByBa2EZmbbfP4LvG08EjI3OkwA3TA5Iph0zvD+IEffd5ddiXhe+upuW7FGu7bmcyyFac5rCdbh5K4zG/byc4fYGoR2OlDm0xyJvaedTyiHFfKoG7PTBy07nnzmCA/y0RHzvavuw0foWp918XnsYkOwFvU6BMTpcInTViD6+Urq3ihrLX32c1hLhaZEpZCXLGFCA6VI9XLbjdyr9NVTQhwBNro0uJGa2pnCrfgdwxYDgs3OvJoQbR8Y7U2rEHEOjQdQEp9k0b5iJIkHTcTn+W44/Y9rpiTPknNCU3C7rlZADBiSBm5GoNdVZvLxb2aOnzQEbIydeO+UjLm0Nzl4JkGIpDh1ZUMI3BLonPkuZKpzOWEqEIcT8GLuMa+w54he/FLMxEzAmPsnmoIuoYoNlrTvg1AtpVZc6GcXBO/tnSidxjbnVzi/reaVtpJmYzkpgurV/htvfBFwX44GTVx9j8/o9N9uSSQuFzacUN8z2Ma86p/aRv5Xg5hohuZgT/6P3a9BGVhGbH9heAl+BrSN/Cw9mFjoaNT1FHS2f2qS2L1ZEqsmXEJIV2uQJ5fxyI4Y2Zq3e/Z9ucLTlgK2/yipemFucZ+76tF2XDjFGttg7K7Cjv+KP/UyZB4eHB6htUbV29fzYNyZO+sn7k/s7aSPVvGNfCjUWHb8jX5WZ4uSrO7j3Y+9UJtqgHwDHq4MqSLhhqBkiRXXgEcJV97XoP/kVeJonLQ4YZlv8/szWAL4Q/vbMu1kf0Rac2T7bFXade/5EA/fK7GQoEofrU2LTtv7pkJLlNYnHpVBX0rdCF+rdJK4Z7lnqx5qzIyazKs4eJe3hhRKuuD70dYnXcdnK120oBPUANAK4J+CT9RGZFDHaxMcPDzjhkAZJ1jiEuLCKyerRL72uywtChZrNnIZZmbWiMEoEGZxJEm/TbK1hsEaXiUZarw9QqdD18v+w43BZFs/7qQ0r42VvkDtf/ZOfW6BNNYta1hcwv6hZoUjm959l+d8ySk9euvKmuHLp+b+01SFnyGZwGoLS8saGgI0X75+faa55bouuKRqHaGNQ/o8dy/g0JX+BwkhjDzeS3xLcKtrBzRbweezHhnvbqYa9BoytsrcB+4E+c9xOCCwW+DbzNYt/LmvLKbDgwT6eJUwbWczZWmzUB/aOBoXG8QrXIVEut9PU/Gpwn++thoXpk8uJF/BJqHKRlrymwDlRHgkB1Hn1BJokDkR+lHxbshZa4TlhJExpZ8Bqw0dnB6Op4g1E5KIZki6KfLolR26z2GBiRcM6IcsvXvBpzAAGcxsqd0r4AWp9dXotds372scAQZKlwjb55+VPT1M/JjHm3t/8AX+AZz38buWjmVUXH67qxLHflwt4P/OxBV0xsMkJUcZSIzgoNgqA1gaH2TU1QI7iOAZgwVFM9MwdQH0kZzlWjIQM/+Sscb/zXLXzUSTESdFIh3xSXAAmkCCNyMgdVxIL8wh/8Rvj/6WowL81VTaIBMaTVIf++7T5NhWUyNCxpPKNVwvd8CNaoAYXNXSRCINefc5rKTssvJBIOE8gMsXSzPi4hfxhzndaE1vRg5VEAESs4Da7L/MqzrMTmhC4ads4WLqRgnah4wleLAOY9rYRVtmS91YXPYpwzy/W2bIRZMLw5gEad0ePYylS1Tie91wYdyxEUM+lOLM5eu628ATADd2ngZfN6zJKmBl31Ckl3X6MuvhqjmnOxSQO2JSM5sBzTS1teLG2hEucB9EkVx60xsRFSKwNe7BPiwVgzc6zttya8h0ONKd5GVo7ldlnL+jPfqsKTK6KpqBV5K4FavH09zQE8qbNzCFrkSTIPmspB7lR40LiChdep0kaOpFaTo1i/jhAvq7LMRftYxmMxQL2wXOFCqNDJ76BYYgGc2sthfPGkKAYINjfkCUNv7wMB1T6wX61rh1T2UmL63/V36bWnBvriLDM4w36WbEPF5w6NQJq9N1IrMUAUt7/zZFKrNnffau8hJhpjflvyHXGCHjCmX4MPi/mjTeX7JpDsfcn2qty1+klUvlKnf8hFheG76juCuwTCpUF+kYvHY6YBn7/JAXcc6SdG2MszaCamNy4N3HCubziZ41ZSkR9N6AO7FM51AHQvexJKNJsk+D9E3uO6TRCEudl/+UugeI++aNpCHrkleRQQ9Mkk6sAKtz270JWvEMKNk415XZlsbS+QOEYtqvR0KOkN6Y06Fli3j3nTd6JdoVa/yYf8UK4xK9BwhA8qjHapek7NUyeFdu0I4+25SUZd14JMtZ0FhOkrTsHLZmqoETx7LJYOISUB7IH6mYESfj36Ss8SZA7elclwge8jSEo37qOR3aPNXNlo0cI23Q3uPtTgTfnRbzeEfbcavFKfaGjkZXnAdXAAfCG0YzXeEgn/rskJa8ZtJmdvYEfrwkX2C1IbEswjGd15mxpk/Mv+nqYXjVmHgWlUhmlPLz3FD2hPsm0Djq+Tr9qmBfcSopMMY2u5jpUYmE1tPQh05Gzb7sE9BF44dfkrTV2EtuDhXlkSbslfbNgh3n8beYSKCOtVlyyfAfrv9oT0URGjeUHsBEIDTGU/wcAvJQbsaDoKX1BDPpCjdH/PHcaWEbA5VxRJJD2rTf0wVQNCddDDR43lHvY1Mi3jn6JilUsvOP5R34JRSiNB9XyZHhYQRFzO/nTiRL7HZFLSmtMgFco7BM05FWPl0GodgVtgoGH/AaNDm5Wo4qM5DV8nmYKEsKhAn0xeF8ONVoNZVgdfF2A6CtKIr/DN89smMIQlGPbGbvHZZ5m4yRkTlYIiF77OLTs7wWfGCLPZtqqaSpnM6AcmP/QbzwfaMQz7+bqmMBLedPPkanfDPY5v9q+srNQDO6o7h/7fZDsT2qrdQY6wotVLjoIGuwzwc2lBH1sFxTmY9zjoJ1ba5ierSHHsJTY9B75yD2I6OXmxB8zktDTISHOLluTKTGlOiBmqd0dt9rAP9I1OKywPyyzzkkG7u6dui9jkwNPSdBRiMTQcKqGSAHlJHg6UozsHW3xyeSuvg6k4eGDPDsLHfATZ7wEEXjq2OJfit9xexxTt6I/swImeRgqXL0R3FNu9radpwjGp+joZwoTqF16yHt/gVnwKN5o91zLl27Qpn/IIE3r9yjB8NRashhnxv3XR9nl6z38+drKxBftZ4qdDrQGVIzi7DTg6sH7nVid+d8Zb3YLcTgWPq+m368X2YBt77jfGvUmODDfjuApqq4USZepYIG8VeO7E8/wV2xdVsFm7z/knbgwQHOSR2ABi8O9eCrmeNDEocLwDId8aTrxkMbMyL4QEncGNRHRqN0XT8+oZc7hXFVByMJNuLSDI5IqWDsv8XrByMv/CyyJEtjUDBjZBMCPrdevdtNm7ST326UmnZACo3c0DP3U4ukXDproS6AxhyWurUN32cH3wWc5NyZ2U06u2A0hEvOrOvN6LTM3otMnfKDzBPGTYpsv3as36nm8gjB0JGmiBaJy5VNYEtTlpHadQurUtAwuNj/PxHWhkn7MdntfNtG3MUHZnSIogd2SoPBNL1jTXE61tYh4sTtAZKVH4JMBBdBlgeNjz7LRuJkac62YMHsh81qdCa/rkY8ccpjFsnBZe3f2nUwsg8vKnjXtvYYRCv4Rm+hd4KzumXkMZnJ5XcoQ9NLzRb/heeRRUJnVZktGpOsWHO0A0QbjCefeB9lTyyvSKI1tTgwYXxmZKkbg+BQs+XZ0yzVhgNHeOiqEl26jLU2zT0MQglc3bvWAdio5JdDTnWzUadBbD+SJQ4bLCV12PhRzuK5uVW0htrBj2iqyE2ZfngzmY2rAtgODnwAr9iszgDdoe1Ig8dS1RfV4V1zYKB+/b+CbGwBCnND3aJ+VQu49k4R874zQCWcZvn2O8LPLvAbRPikSeSMSqYBqvTuk8d2rolgtr05xCiTUJS+r/K0hj6D3cUdhKvEp6aRNsVfoUJ5qO6t9isZcLUKBTjhcDiV0q2UTaSgo8XM/TZH6tPFne8Zee8yWEONFBWWwjQY52Ydq6euYODlNNBTPm+yQ2cVxNyPFAp2g9h+4sCzEby743AoQmBDRtfLgrw3VteAhsNa+19apP9rtgk8uaEV/YtipeZMpFmeGiRzP0j5NCIfaFLqwj1JvHAPN5NWhAChz/bywPHE/vr2rquB1+Nf2wfraCY++ldnZWLTj2KBmvcjaG0B1Zh6ZBYIAEQ1lJm8YjUC2+TZ3iExSga5FvUSy/UnOGXRx4Nz/A0M4zIxBpBbe91fJYQG3gsVb8ha11V2fYwgnWQFEb6Rel1xhZEkljH5Tooz7q/5bjpYIPytHYWuzyvaqUuRTRB5/zDQjDalAYWYMBA3l41gipGiyQx7ZWfs5VxWrgyLUOMWMu7EEpBuI+/u3bchwh3xNf1PPwEKFopStk70Z7mmONHOASveG4P5/bZzEuNcKHKyj9oi3ViTHLILuWODZoa4Zwm/VgYuDwCIMByWTJAOh8DwxLgoGVyhLMLo5wN8S4VEqoNCBP3vS8yiuyrKjwCBtphIaVahyZpgK0zsUtNuXlgLoyhLqUreXQFh9IugoXJo8Yyg7jyLBE1ut3r649mhKAIKFT2qzFwVtH7Z87Fi76C19jEHxCpfaJpCj0lhtmaxEaF7WF9MlSS1Z/Qs8TqnJ4k4e1vdhGHEzvMXnR3mdnyi3hZudOCWADyY+blZ+t99kiWaDlcZZZouA5+pEiCmN8FeT0wsFqSwLYCoVn10PJLDVNUNxwd4dB/ZUEP27ddLtF7VZdWL9QJEEg8LzFGyXYgKPCX+ul7yjDM7Bszolzpu7Zq/pkdnJ3rnR8t+s2v0IrWslRRczTNs4Y7xKvU7u3NVWQD6w5ubQEZAr4kkIO9e7sdc0etpGhE4mg96dxYhqYKQt1jc4s1nZBthFGD2VbjWPTLGnRzaxAskQznPW3acpx4Fo0cQUbu7BzGsEcT/44f5KPXjOsWqvJxadC7zDv+i6IugQSWS+TZQwhJLHyS7ezRftQvOKdmUiRi9DFDAAXGrpPF+C8+6PHWtGhORofNycph7UGAdPR6MJGNbRESkWgkhZoV1UPWMoOCFuFEl47PxpUEoBvsvoYq88VsEmXPeGkoai+jePDWXJPOsVOAaQsMnprSPWNEsZOFvHftiqehJLj4J058260E81RiO8MDwHBELZFVF7SkNAWOU+Hd6DQsKHHZ6TkfcBzUgYa5DCM3QuhXAAAA=","data:image/webp;base64,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","data:image/webp;base64,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"];var uN=o.object({name:o.string().min(1,Y.name_is_required()),type:o.enum(["chat","autofill","embedding"]),avatar:o.string().optional(),providerId:o.string().optional(),modelId:o.string().optional(),soul:o.string().optional(),thinkingLevel:K6.optional(),systemPrompt:o.string().optional(),skills:o.array(o.string()).optional(),deniedTools:o.array(o.string()).optional()}),nN=[{id:"bash",name:()=>Y.agent_tool_bash_name(),description:()=>Y.agent_tool_bash_desc()},{id:"read_skill",name:()=>Y.agent_tool_read_skill_name(),description:()=>Y.agent_tool_read_skill_desc()},{id:"analyze_image",name:()=>Y.agent_tool_analyze_image_name(),description:()=>Y.agent_tool_analyze_image_desc()},{id:"screenshot",name:()=>Y.agent_tool_screenshot_name(),description:()=>Y.agent_tool_screenshot_desc()},{id:"read_pdf_pages",name:()=>Y.agent_tool_read_pdf_pages_name(),description:()=>Y.agent_tool_read_pdf_pages_desc()},{id:"list_assets",name:()=>Y.agent_tool_list_assets_name(),description:()=>Y.agent_tool_list_assets_desc()},{id:"create_folder",name:()=>Y.agent_tool_create_folder_name(),description:()=>Y.agent_tool_create_folder_desc()},{id:"create_file",name:()=>Y.agent_tool_create_file_name(),description:()=>Y.agent_tool_create_file_desc()},{id:"create_version",name:()=>Y.agent_tool_create_version_name(),description:()=>Y.agent_tool_create_version_desc()}];function p6({isOpen:N,onClose:X,teamId:z,type:Q,initialValues:B,title:H}){let q=s(),{canAdmin:P}=n6(),{data:k}=u({queryKey:["teams",z,"providers"],queryFn:async()=>{let C=await S.api.teams[":teamId"].providers.$get({param:{teamId:z}});if(!C.ok)throw Error("Failed to fetch providers");return await C.json()},enabled:N}),{data:K}=u({queryKey:["teams",z,"skills"],queryFn:async()=>{let C=await S.api.teams[":teamId"].skills.$get({param:{teamId:z}});if(!C.ok)throw Error("Failed to fetch skills");return await C.json()},enabled:N}),R=K?.skills||[],G=x4.useMemo(()=>{return uN.superRefine((C,T)=>{if(C.type==="chat"||C.type==="autofill"){if(!C.providerId)T.addIssue({code:o.ZodIssueCode.custom,message:Y.provider_is_required(),path:["providerId"]});if(!C.modelId)T.addIssue({code:o.ZodIssueCode.custom,message:Y.model_is_required(),path:["modelId"]})}})},[]),W=h4({defaultValues:{name:B?.name||"",type:B?.type||Q||"chat",avatar:B?.avatar||c4[0],providerId:B?.providerId||"",modelId:B?.modelId||"",soul:B?.soul||"",thinkingLevel:B?.thinkingLevel||"off",systemPrompt:B?.systemPrompt||"",skills:B?.skills?.map((C)=>C.skillId)||[],deniedTools:B?.deniedTools||[]},validators:{onChange:G},onSubmit:async({value:C})=>{try{if(B?.id)await L.mutateAsync({id:B.id,values:C});else await h.mutateAsync(C)}catch{}}}),U=_(W.store,(C)=>C.values.providerId),{data:w,isLoading:A}=u({queryKey:["teams",z,"providers",U,"models"],queryFn:async()=>{let C=await S.api.providers[":id"].models.$get({param:{id:U}});if(!C.ok)throw Error("Failed to fetch models");return await C.json()},enabled:!!U&&N}),h=n({mutationFn:async(C)=>{let T=await S.api.teams[":teamId"].agents.$post({param:{teamId:z},json:C});if(!T.ok)throw Error("Failed to create agent");return await T.json()},onSuccess:()=>{X(),q.invalidateQueries({queryKey:["agents",z]}),F.success(Y.agent_created_successfully())},onError:(C)=>{F.error(Y.error_message({message:C.message}))}}),L=n({mutationFn:async({id:C,values:T})=>{let D=await S.api.agents[":agentId"].$put({param:{agentId:C},json:T});if(!D.ok)throw Error("Failed to update agent");return await D.json()},onSuccess:()=>{X(),q.invalidateQueries({queryKey:["agents",z]}),F.success(Y.agent_updated_successfully())},onError:(C)=>{F.error(Y.error_message({message:C.message}))}});x4.useEffect(()=>{if(N)W.reset()},[N,B,Q]);let y=_(W.store,(C)=>C.values.type),b=y==="chat"||y==="autofill",E=(C)=>{return C.map((T)=>{if(typeof T==="string")return{message:T};if(T&&typeof T==="object"&&"message"in T)return{message:String(T.message)};return{message:String(T||"")}})};return J(_0,{open:N,onOpenChange:X,children:Z(c0,{className:"sm:max-w-3xl h-[90vh] flex flex-col p-0 overflow-hidden",children:[Z(x0,{className:"p-6 pb-2 flex-shrink-0",children:[J(j0,{children:H}),J(l0,{children:Y.configure_agent_description()})]}),Z("form",{onSubmit:(C)=>{C.preventDefault(),C.stopPropagation(),W.handleSubmit()},className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[J(L0,{className:"flex-1 min-h-0",children:Z("div",{className:"p-6 pt-2 space-y-6",children:[Z("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[J(W.Field,{name:"name",children:(C)=>{let T=!!C.state.meta.errors.length&&C.state.meta.isTouched;return Z(p,{"data-invalid":T,children:[J(d,{children:Y.agent_name()}),J($,{value:C.state.value,onBlur:C.handleBlur,onChange:(D)=>C.handleChange(D.target.value),placeholder:Y.agent_name_placeholder(),"aria-invalid":T}),T&&J(B0,{errors:E(C.state.meta.errors)})]})}}),J(W.Field,{name:"type",children:(C)=>Z(p,{children:[J(d,{children:Y.agent_type()}),Z(S0,{value:C.state.value,onValueChange:(T)=>C.handleChange(T),disabled:!0,children:[J(g0,{className:"bg-muted/50",children:J(F0,{})}),Z(m0,{children:[J(K0,{value:"chat",children:Y.agent_type_chat()}),J(K0,{value:"autofill",children:Y.agent_type_autofill()}),J(K0,{value:"embedding",children:Y.agent_type_embedding()})]})]})]})}),J(W.Field,{name:"avatar",children:(C)=>Z(p,{className:"md:col-span-2",children:[J(d,{children:Y.agent_avatar()}),Z("div",{className:"flex gap-4 mt-2",children:[c4.map((T)=>{let D=C.state.value===T;return J("button",{type:"button",onClick:()=>C.handleChange(T),className:j("relative w-14 h-14 rounded-full overflow-hidden border-2 transition-all hover:scale-105",D?"border-primary ring-2 ring-primary ring-offset-2":"border-border hover:border-muted-foreground"),children:J("img",{src:T,className:"w-full h-full object-cover",alt:Y.preset_avatar_option()})},T)}),C.state.value&&!c4.includes(C.state.value)&&J("button",{type:"button",className:"relative w-14 h-14 rounded-full overflow-hidden border-2 border-primary ring-2 ring-primary ring-offset-2 scale-105",children:J("img",{src:C.state.value,className:"w-full h-full object-cover",alt:Y.current_custom_avatar()})})]})]})})]}),b&&Z(X0,{children:[Z("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 p-4 bg-muted/50 rounded-xl border border-border",children:[J(W.Field,{name:"providerId",children:(C)=>{let T=!!C.state.meta.errors.length&&C.state.meta.isTouched;return Z(p,{"data-invalid":T,children:[J(d,{children:Y.provider()}),Z(S0,{value:C.state.value,onValueChange:(D)=>{C.handleChange(D),W.setFieldValue("modelId","")},children:[J(g0,{"aria-invalid":T,children:J(F0,{placeholder:Y.select_provider()})}),J(m0,{children:k?.map((D)=>J(K0,{value:D.id,children:D.name},D.id))})]}),T&&J(B0,{errors:E(C.state.meta.errors)})]})}}),J(W.Field,{name:"modelId",children:(C)=>{let T=!!C.state.meta.errors.length&&C.state.meta.isTouched;return Z(p,{"data-invalid":T,children:[Z(d,{className:"flex items-center gap-2",children:[Y.model(),A&&J(c,{className:"w-3 h-3 animate-spin"})]}),Z(S0,{value:C.state.value,onValueChange:C.handleChange,disabled:!U||A,children:[J(g0,{"aria-invalid":T,children:J(F0,{placeholder:Y.select_model()})}),J(m0,{children:w?.map((D)=>J(K0,{value:D.id,children:D.name||D.modelId},D.id))})]}),T&&J(B0,{errors:E(C.state.meta.errors)})]})}}),J("div",{className:"md:col-span-2",children:J(W.Field,{name:"thinkingLevel",children:(C)=>{let T={off:Y.thinking_disable(),low:Y.thinking_low(),medium:Y.thinking_medium(),high:Y.thinking_high()};return Z(p,{children:[J(d,{children:Y.thinking_level()}),Z(S0,{value:C.state.value,onValueChange:(D)=>C.handleChange(D),children:[J(g0,{children:J(F0,{})}),J(m0,{children:K6.options.map((D)=>J(K0,{value:D,children:T[D]||D},D))})]})]})}})})]}),J(W.Field,{name:"soul",children:(C)=>Z(p,{children:[J(d,{children:Y.agent_soul()}),J(u6,{value:C.state.value,onBlur:C.handleBlur,onChange:(T)=>C.handleChange(T.target.value),placeholder:Y.agent_soul_placeholder(),className:"min-h-[120px]"})]})}),Z("div",{className:"space-y-4",children:[Z(w0,{className:"text-base font-bold flex items-center gap-2",children:[J(b0,{className:"w-5 h-5 text-primary"}),Y.skills()]}),J("div",{className:"space-y-2",children:J(W.Field,{name:"skills",children:(C)=>Z(X0,{children:[R.map((T)=>{let D=C.state.value?.includes(T.id)||!1;return Z("div",{className:"flex items-center justify-between p-3 bg-muted/30 border border-border rounded-lg",children:[Z("div",{className:"flex items-center gap-3",children:[J(b0,{className:"w-4 h-4 text-muted-foreground"}),Z("div",{className:"flex flex-col",children:[J("span",{className:"text-sm font-medium",children:T.name}),T.description&&J("span",{className:"text-[10px] text-muted-foreground line-clamp-1",children:T.description})]})]}),Z("div",{className:"flex items-center gap-2",children:[J("span",{className:"text-xs text-muted-foreground",children:D?Y.enabled():Y.disabled()}),J(q0,{checked:D,onCheckedChange:(V)=>{if(V)C.handleChange([...C.state.value||[],T.id]);else C.handleChange((C.state.value||[]).filter((M)=>M!==T.id))}})]})]},T.id)}),R.length===0&&J("div",{className:"text-center py-8 border-2 border-dashed border-border rounded-xl",children:J("p",{className:"text-sm text-muted-foreground",children:Y.no_skills_available()})})]})})})]}),Z("div",{className:"space-y-4 border-t border-border pt-6",children:[Z(w0,{className:"text-base font-bold flex items-center gap-2",children:[J(w6,{className:"w-5 h-5 text-primary"}),Y.agent_tools()]}),J("p",{className:"text-xs text-muted-foreground",children:Y.agent_tools_description()}),J("div",{className:"space-y-2",children:J(W.Field,{name:"deniedTools",children:(C)=>{let T=C.state.value||[];return J(X0,{children:nN.map((D)=>{let V=!T.includes(D.id);return Z("div",{className:"flex items-center justify-between p-3 bg-muted/30 border border-border rounded-lg",children:[Z("div",{className:"flex items-center gap-3",children:[J(w6,{className:"w-4 h-4 text-muted-foreground"}),Z("div",{className:"flex flex-col",children:[J("span",{className:"text-sm font-medium",children:D.name()}),J("span",{className:"text-[10px] text-muted-foreground line-clamp-1",children:D.description()})]})]}),Z("div",{className:"flex items-center gap-2",children:[J("span",{className:"text-xs text-muted-foreground",children:V?Y.enabled():Y.disabled()}),J(q0,{checked:V,disabled:!P,onCheckedChange:(M)=>{if(M)C.handleChange(T.filter((x)=>x!==D.id));else C.handleChange([...T,D.id])}})]})]},D.id)})})}})})]})]})]})}),Z(v0,{className:"p-6 pt-4 border-t border-border flex-shrink-0",children:[J(m,{variant:"outline",onClick:X,type:"button",children:Y.cancel()}),J(W.Subscribe,{selector:(C)=>[C.canSubmit,C.isSubmitting],children:([C,T])=>Z(m,{type:"submit",className:"bg-primary hover:bg-primary/90 text-primary-foreground min-w-[120px]",disabled:!C||T||h.isPending||L.isPending,children:[(T||h.isPending||L.isPending)&&J(c,{className:"w-4 h-4 animate-spin mr-2"}),B?Y.save_changes():Y.create_agent()]})})]})]})]})})}var pN=[{type:"chat",label:"Chat",icon:D4},{type:"autofill",label:"Autofill",icon:$4},{type:"embedding",label:"Embedding",icon:s0}];function o6({teamId:N}){let X=s(),[z,Q]=a0.useState(!1),[B,H]=a0.useState("chat"),[q,P]=a0.useState(null),[k,K]=a0.useState(null),[R,G]=a0.useState(!1),[W,U]=a0.useState({chat:!0,autofill:!0,embedding:!0}),w=(E)=>{if(E==="chat")return Y.agent_type_chat();if(E==="autofill")return Y.agent_type_autofill();return Y.agent_type_embedding()},{data:A=[],isLoading:h}=u({queryKey:["agents",N],queryFn:async()=>{let E=await S.api.teams[":teamId"].agents.$get({param:{teamId:N}});if(!E.ok)throw Error("failed to fetch agents");return[...await E.json()].sort((T,D)=>D.id.localeCompare(T.id))}}),L=n({mutationFn:async(E)=>{if(!(await S.api.agents[":agentId"].$delete({param:{agentId:E}})).ok)throw Error("failed to delete agent")},onSuccess:()=>{G(!1),X.invalidateQueries({queryKey:["agents",N]}),F.success(Y.agent_deleted_successfully())},onError:(E)=>{F.error(E.message)}}),y=n({mutationFn:async(E)=>{let C=await S.api.agents[":agentId"].$put({param:{agentId:E.agentId},json:{name:E.name,type:E.type,enabled:E.enabled,avatar:E.avatar,providerId:E.providerId,modelId:E.modelId,thinkingLevel:E.thinkingLevel,systemPrompt:E.systemPrompt,soul:E.soul,skills:E.skills,deniedTools:E.deniedTools}});if(!C.ok)throw Error("failed to update agent");return C.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["agents",N]}),F.success(Y.agent_updated_successfully())},onError:(E)=>{F.error(E.message)}}),b=(E)=>{U((C)=>({...C,[E]:!C[E]}))};return Z(X0,{children:[(z||q)&&J(p6,{isOpen:!0,title:q?Y.edit_item({name:q.name}):Y.create_type_agent({type:w(B)}),onClose:()=>{Q(!1),P(null)},teamId:N,type:B,initialValues:q||void 0}),J(i0,{open:R,onOpenChange:G,children:Z(r0,{children:[Z(e0,{children:[J(J4,{children:Y.are_you_absolutely_sure()}),J(X4,{children:Y.delete_agent_confirmation({name:k?.name??""})})]}),Z(N4,{children:[J(z4,{children:Y.cancel()}),J(B4,{className:"bg-destructive hover:bg-destructive/90 text-white",onClick:(E)=>{if(L.isPending){E.preventDefault();return}if(k)L.mutate(k.id)},children:L.isPending?J(c,{className:"w-4 h-4 animate-spin"}):Y.delete_agent()})]})]})}),h&&A.length===0?J("div",{className:"flex items-center justify-center p-12",children:J(c,{className:"w-8 h-8 animate-spin text-muted-foreground"})}):Z("div",{className:"space-y-6 max-w-5xl mx-auto relative",children:[h&&J("div",{className:"absolute top-0 right-0 p-2",children:J(c,{className:"w-4 h-4 animate-spin text-muted-foreground"})}),pN.map((E)=>{let C=A.filter((V)=>V.type===E.type),T=E.icon,D=E.type==="autofill"||E.type==="embedding";return Z("div",{className:"bg-card rounded-xl border border-border overflow-hidden",children:[Z("div",{className:j("px-6 py-4 flex items-center justify-between",!D&&"cursor-pointer hover:bg-muted/50 transition-colors"),onClick:!D?()=>b(E.type):void 0,children:[Z("div",{className:"flex items-center gap-2",children:[J("h3",{className:"font-semibold text-foreground",children:E.type==="chat"?Y.chat_agents():E.type==="autofill"?Y.autofill_agent():Y.embedding_agent()}),!D&&J(v4,{variant:"secondary",className:"h-5 px-1.5 min-w-[1.25rem] text-[10px]",children:C.length})]}),Z("div",{className:"flex items-center gap-2",children:[!(D&&C.length>0)&&J(m,{variant:"ghost",size:"icon",className:"h-8 w-8 rounded-full bg-primary/10 text-primary hover:bg-primary/20",onClick:(V)=>{V.stopPropagation(),H(E.type),Q(!0)},children:J(G0,{className:"w-4 h-4"})}),!D&&J(d6,{className:j("w-5 h-5 text-muted-foreground transition-transform duration-200",W[E.type]?"rotate-180":"")})]})]}),(D||W[E.type])&&J("div",{className:"px-6 pb-6 pt-2 space-y-3",children:Z("div",{className:"grid grid-cols-1 gap-4",children:[C.map((V)=>J(t,{className:"group relative overflow-hidden border-border hover:border-primary/50 transition-all duration-200 cursor-pointer",onClick:()=>P(V),children:Z(a,{className:"p-4 flex items-center justify-between",children:[Z("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[J("div",{className:"w-10 h-10 rounded-full bg-muted flex items-center justify-center overflow-hidden",children:V.avatar?J("img",{src:V.avatar,className:"w-full h-full object-cover",alt:""}):J(j4,{className:"w-6 h-6 text-muted-foreground"})}),Z("div",{className:"min-w-0 flex-1",children:[J("span",{className:"font-bold text-foreground block truncate",children:V.name}),J("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mt-0.5",children:Z("span",{className:"flex items-center gap-1",children:[J(b0,{className:"w-3 h-3"}),Y.skills_count_value({count:V.skills?.length||0})]})})]})]}),Z("div",{className:"flex items-center gap-1",children:[J("div",{className:"mr-2",onClick:(M)=>M.stopPropagation(),children:J(q0,{checked:V.enabled,onCheckedChange:(M)=>{y.mutate({teamId:N,agentId:V.id,name:V.name,type:V.type,enabled:M,avatar:V.avatar,providerId:V.providerId,modelId:V.modelId,thinkingLevel:V.thinkingLevel,systemPrompt:V.systemPrompt,soul:V.soul,skills:V.skills?.map((x)=>x.skillId),deniedTools:V.deniedTools})}})}),Z(P4,{modal:!1,children:[J(w4,{asChild:!0,onClick:(M)=>M.stopPropagation(),children:J(m,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:J(U4,{className:"w-4 h-4"})})}),J(K4,{align:"end",className:"w-32",children:Z(G4,{onClick:(M)=>{M.stopPropagation(),K(V),G(!0)},className:"text-red-500 focus:text-red-500 gap-2 cursor-pointer",children:[J(P0,{className:"w-4 h-4"})," ",Y.delete()]})})]})," "]})]})},V.id)),C.length===0&&Z("div",{className:"col-span-full py-8 flex flex-col items-center justify-center border-2 border-dashed border-border rounded-xl bg-muted/30",children:[J("div",{className:"w-10 h-10 rounded-full bg-card flex items-center justify-center shadow-sm mb-3",children:J(T,{className:"w-5 h-5 text-muted-foreground"})}),J("p",{className:"text-sm text-muted-foreground",children:Y.no_agents_found({type:w(E.type)})}),J(m,{variant:"link",size:"sm",className:"text-primary font-medium h-auto p-0 mt-1",onClick:()=>{H(E.type),Q(!0)},children:Y.create_one_now()})]})]})})]},E.type)})]})]})}var Z0=e(N0(),1);var dN={"openai-completions":"OpenAI Completions","mistral-conversations":"Mistral Conversations","openai-responses":"OpenAI Responses","azure-openai-responses":"Azure OpenAI Responses","openai-codex-responses":"OpenAI Codex Responses","anthropic-messages":"Anthropic Messages","bedrock-converse-stream":"AWS Bedrock","google-generative-ai":"Google Generative AI","google-vertex":"Google Vertex"},oN=o.object({name:o.string().min(1,Y.provider_name_is_required()),config:e6,models:o.array(r6).min(1,Y.at_least_one_model_required())});function NN({teamId:N}){let X=s(),[z,Q]=Z0.useState(null),[B,H]=Z0.useState(!1),[q,P]=Z0.useState(""),[k,K]=Z0.useState(!1),[R,G]=Z0.useState(null),{data:W,isLoading:U}=u({queryKey:["teams",N,"providers"],queryFn:async()=>{let T=await S.api.teams[":teamId"].providers.$get({param:{teamId:N}});if(!T.ok)throw Error("Failed to fetch providers");return await T.json()}}),w=Z0.useMemo(()=>W?.find((T)=>T.id===z)||null,[W,z]),{data:A,isLoading:h}=u({queryKey:["teams",N,"providers",z,"models"],queryFn:async()=>{let T=await S.api.providers[":id"].models.$get({param:{id:z}});if(!T.ok)throw Error("Failed to fetch models");return await T.json()},enabled:!!z}),L=Z0.useMemo(()=>W?.map((T)=>T.name)||[],[W]),y=Z0.useMemo(()=>{if(!W)return[];if(!q.trim())return W;let T=q.toLowerCase();return W.filter((D)=>D.name.toLowerCase().includes(T))},[W,q]),b=n({mutationFn:async(T)=>{let D=await S.api.teams[":teamId"].providers.$post({param:{teamId:N},json:{name:T.name,config:T.config,models:T.models}});if(!D.ok)throw Error("Failed to create provider");return await D.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",N,"providers"]}),H(!1),F.success(Y.provider_created_successfully())},onError:(T)=>{F.error(Y.error_message({message:T.message}))}}),E=n({mutationFn:async({id:T,values:D})=>{let V=await S.api.providers[":id"].$put({param:{id:T},json:{config:D.config,models:D.models}});if(!V.ok)throw Error("Failed to update provider");return await V.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",N,"providers"]}),Q(null),F.success(Y.provider_updated_successfully())},onError:(T)=>{F.error(Y.error_message({message:T.message}))}}),C=n({mutationFn:async(T)=>{let D=await S.api.providers[":id"].$delete({param:{id:T}});if(!D.ok)throw Error("Failed to delete provider");return await D.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",N,"providers"]}),Q(null),K(!1),G(null),F.success(Y.provider_deleted_successfully())},onError:(T)=>{F.error(Y.error_message({message:T.message}))}});if(U)return J("div",{className:"flex h-64 items-center justify-center",children:J(c,{className:"h-8 w-8 animate-spin text-primary"})});return Z("div",{className:"h-full flex flex-col space-y-0",children:[Z("div",{className:"flex-none space-y-4 pb-4",children:[Z("div",{className:"flex items-center justify-between",children:[Z("h3",{className:"text-lg font-semibold text-foreground flex items-center gap-2",children:[J(s0,{className:"w-5 h-5 text-primary"}),Y.configured_ai_providers()]}),Z(m,{onClick:()=>H(!0),className:"bg-primary hover:bg-primary/90 text-primary-foreground gap-2",children:[J(G0,{className:"w-4 h-4"}),Y.add_provider()]})]}),Z("div",{className:"relative px-0.5",children:[J(R6,{className:"absolute left-3.5 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),J($,{placeholder:Y.search_providers_placeholder(),value:q,onChange:(T)=>P(T.target.value),className:"pl-10 bg-card border-border focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-0"})]})]}),J(L0,{className:"flex-1 min-h-0",children:Z("div",{className:"pr-4 py-2 grid grid-cols-1 gap-4",children:[y.map((T)=>J(t,{className:"group cursor-pointer hover:border-primary/50 transition-all hover:shadow-md overflow-hidden",onClick:()=>Q(T.id),children:Z(a,{className:"p-5 flex items-center justify-between gap-4",children:[Z("div",{className:"flex items-center gap-4 min-w-0 flex-1",children:[J("div",{className:"flex-none p-3 bg-muted rounded-xl group-hover:bg-primary/10 transition-colors",children:J(f4,{className:"w-6 h-6 text-muted-foreground group-hover:text-primary"})}),Z("div",{className:"min-w-0 flex-1",children:[Z("div",{className:"flex items-center gap-2",children:[J("span",{className:"font-bold text-foreground truncate",children:T.name}),T.isBuiltin&&J(v4,{variant:"secondary",className:"flex-none text-[10px] uppercase tracking-wider font-bold h-5",children:Y.built_in()})]}),Z("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5 text-xs text-muted-foreground mt-1",children:[Z("span",{className:"flex items-center gap-1 flex-none",children:[J($4,{className:"w-3 h-3"}),T.config.api]}),T.config.baseUrl&&Z("span",{className:"flex items-center gap-1 min-w-0",children:[J("span",{className:"h-1 w-1 rounded-full bg-muted-foreground/30 flex-none"}),J(a6,{className:"w-3 h-3 flex-none"}),J("span",{className:"truncate max-w-[200px] md:max-w-[300px]",children:T.config.baseUrl})]}),Z("span",{className:"flex items-center gap-1 flex-none",children:[J("span",{className:"h-1 w-1 rounded-full bg-muted-foreground/30 flex-none"}),J(s6,{className:"w-3 h-3"}),Y.n_models_count({count:T.modelsCount}),z===T.id&&h&&J(c,{className:"w-3 h-3 animate-spin ml-1"})]})]})]})]}),Z("div",{className:"flex items-center gap-1",children:[Z(P4,{children:[J(w4,{asChild:!0,onClick:(D)=>D.stopPropagation(),children:J(m,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:J(U4,{className:"w-4 h-4"})})}),J(K4,{align:"end",className:"w-32",children:Z(G4,{onClick:(D)=>{D.stopPropagation(),G(T),K(!0)},className:"text-destructive focus:text-destructive gap-2 cursor-pointer",children:[J(P0,{className:"w-4 h-4"})," ",Y.delete()]})})]}),J(l6,{className:"flex-none w-5 h-5 text-muted-foreground/50 group-hover:text-primary transition-colors"})]})]})},T.id)),W?.length===0&&Z("div",{className:"text-center py-12 bg-muted/30 rounded-2xl border-2 border-dashed border-border",children:[J(s0,{className:"w-12 h-12 text-muted-foreground/50 mx-auto mb-4"}),J("h4",{className:"text-foreground font-medium",children:Y.no_providers_configured()}),J("p",{className:"text-sm text-muted-foreground mt-1",children:Y.add_first_provider()})]}),W&&W.length>0&&y.length===0&&Z("div",{className:"text-center py-12",children:[J(R6,{className:"w-12 h-12 text-muted-foreground/50 mx-auto mb-4"}),J("h4",{className:"text-foreground font-medium",children:Y.no_matches_found()}),J("p",{className:"text-sm text-muted-foreground mt-1",children:Y.try_adjusting_search({query:q})}),J(m,{variant:"ghost",size:"sm",onClick:()=>P(""),className:"mt-4 text-primary hover:text-primary/90 hover:bg-primary/10",children:Y.clear_search()})]})]})}),J(t6,{isOpen:B,onClose:()=>H(!1),onSubmit:(T)=>b.mutate(T),isLoading:b.isPending,title:Y.add_new_provider(),existingProviderNames:L}),J(t6,{isOpen:!!w&&!h&&!!A,onClose:()=>Q(null),onSubmit:(T)=>E.mutate({id:w.id,values:T}),onDelete:()=>C.mutate(w.id),isLoading:E.isPending||C.isPending,initialValues:w&&A?{name:w.name,config:w.config,models:A}:void 0,isBuiltin:w?.isBuiltin,title:w?Y.edit_item({name:w.name}):"",existingProviderNames:L}),J(i0,{open:k,onOpenChange:K,children:Z(r0,{children:[Z(e0,{children:[J(J4,{children:Y.are_you_absolutely_sure()}),J(X4,{children:Y.delete_provider_confirmation({name:R?.name??""})})]}),Z(N4,{children:[J(z4,{onClick:()=>G(null),children:Y.cancel()}),Z(B4,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{if(R)C.mutate(R.id)},children:[C.isPending?J(c,{className:"w-4 h-4 animate-spin mr-2"}):J(P0,{className:"w-4 h-4 mr-2"}),Y.delete()]})]})]})})]})}function t6({isOpen:N,onClose:X,onSubmit:z,onDelete:Q,isLoading:B,initialValues:H,isBuiltin:q,title:P,existingProviderNames:k}){let[K,R]=Z0.useState(!1),G=Z0.useMemo(()=>{return oN.extend({name:o.string().min(1,"Provider name is required").refine((w)=>{if(H?.name===w)return!0;return!k.includes(w)},{message:"Provider name must be unique"})})},[k,H]),W=h4({defaultValues:H||{name:"",config:{api:"openai-completions",baseUrl:"",apiKey:""},models:[{modelId:"",name:"",config:{api:"openai-completions",reasoning:!1,input:["text"],contextWindow:128000,maxTokens:4096,cost:{input:0,output:0,cacheRead:0,cacheWrite:0}}}]},validators:{onChange:G},onSubmit:async({value:w})=>{z(w)}});Z0.useEffect(()=>{if(N)W.reset()},[N,W]);let U=(w)=>{return w.map((A)=>{if(typeof A==="string")return{message:A};if(A&&typeof A==="object"&&"message"in A)return{message:String(A.message)};return{message:String(A||"")}})};return Z(_0,{open:N,onOpenChange:X,children:[Z(c0,{className:"sm:max-w-4xl h-[90vh] flex flex-col p-0 overflow-hidden",children:[Z(x0,{className:"p-6 pb-2 shrink-0",children:[J(j0,{className:"text-xl",children:P}),J(l0,{children:Y.configure_provider_description()})]}),Z("form",{onSubmit:(w)=>{w.preventDefault(),w.stopPropagation(),W.handleSubmit()},className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[J("div",{className:"flex-1 min-h-0",children:J(L0,{className:"h-full",children:Z("div",{className:"p-6 pt-2 space-y-8 pr-6",children:[Z("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 p-6 rounded-2xl border",children:[J(W.Field,{name:"name",children:(w)=>{let A=!!w.state.meta.errors.length&&w.state.meta.isTouched;return Z(p,{"data-invalid":A,children:[J(d,{htmlFor:w.name,children:Y.provider_name()}),J($,{id:w.name,name:w.name,value:w.state.value,onBlur:w.handleBlur,onChange:(h)=>w.handleChange(h.target.value),placeholder:Y.provider_name_placeholder(),disabled:q,"aria-invalid":A}),A&&J(B0,{errors:U(w.state.meta.errors)})]})}}),J(W.Field,{name:"config.api",children:(w)=>{let A=!!w.state.meta.errors.length&&w.state.meta.isTouched;return Z(p,{"data-invalid":A,children:[J(d,{htmlFor:w.name,children:Y.global_api_protocol()}),Z(S0,{onValueChange:w.handleChange,value:w.state.value,disabled:q,children:[J(g0,{id:w.name,"aria-invalid":A,children:J(F0,{placeholder:Y.select_api_protocol()})}),J(m0,{children:i6.map((h)=>J(K0,{value:h,children:dN[h]},h))})]}),A&&J(B0,{errors:U(w.state.meta.errors)})]})}}),J("div",{className:"md:col-span-2",children:J(W.Field,{name:"config.baseUrl",children:(w)=>{let A=!!w.state.meta.errors.length&&w.state.meta.isTouched;return Z(p,{"data-invalid":A,children:[J(d,{htmlFor:w.name,children:Y.base_url_optional()}),J($,{id:w.name,name:w.name,value:w.state.value||"",onBlur:w.handleBlur,onChange:(h)=>w.handleChange(h.target.value),placeholder:"https://api.openai.com/v1","aria-invalid":A}),J(l4,{children:Y.override_default_endpoint()}),A&&J(B0,{errors:U(w.state.meta.errors)})]})}})})]}),J(t,{className:"rounded-2xl border bg-transparent",children:J(a,{className:"p-6 pt-2",children:J(W.Field,{name:"config.apiKey",children:(w)=>{let A=!!w.state.meta.errors.length&&w.state.meta.isTouched;return Z(p,{"data-invalid":A,children:[J(d,{htmlFor:w.name,className:"text-base font-semibold",children:Y.api_key()}),J($,{id:w.name,name:w.name,type:"text",value:w.state.value||"",onBlur:w.handleBlur,onChange:(h)=>w.handleChange(h.target.value),placeholder:Y.api_key_placeholder(),"aria-invalid":A}),J(l4,{className:"text-xs mt-2",children:Y.api_key_description()}),A&&J(B0,{errors:U(w.state.meta.errors)})]})}})})}),J("div",{className:"space-y-4",children:J(W.Field,{name:"models",mode:"array",children:(w)=>Z("div",{className:"space-y-4",children:[Z("div",{className:"flex items-center justify-between",children:[J(w0,{className:"text-lg font-bold",children:Y.models_configuration()}),Z(m,{type:"button",variant:"outline",size:"sm",onClick:()=>w.pushValue({modelId:"",name:"",config:{api:W.getFieldValue("config.api"),reasoning:!1,input:["text"],contextWindow:128000,maxTokens:4096,cost:{input:0,output:0,cacheRead:0,cacheWrite:0}}}),className:"gap-2",children:[J(G0,{className:"w-4 h-4"}),Y.add_model()]})]}),J("div",{className:"space-y-6",children:w.state.value.map((A,h)=>Z("div",{className:"group relative p-6 bg-transparent rounded-2xl border shadow-sm animate-in fade-in zoom-in-95 duration-300",children:[Z("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[J(W.Field,{name:`models[${h}].modelId`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[J(d,{htmlFor:L.name,children:Y.model_id()}),J($,{id:L.name,name:L.name,value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(b.target.value),placeholder:"gpt-4o","aria-invalid":y}),y&&J(B0,{errors:U(L.state.meta.errors)})]})}}),J(W.Field,{name:`models[${h}].name`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[J(d,{htmlFor:L.name,children:Y.display_name_optional()}),J($,{id:L.name,name:L.name,value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(b.target.value),placeholder:"e.g., GPT-4o","aria-invalid":y,disabled:q}),y&&J(B0,{errors:U(L.state.meta.errors)})]})}})]}),Z("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mt-6",children:[J(W.Field,{name:`models[${h}].config.reasoning`,children:(L)=>Z(p,{orientation:"horizontal",className:"rounded-lg border border-border p-3 shadow-sm bg-muted/50 justify-between",children:[J(d,{htmlFor:L.name,children:Y.reasoning_support()}),J(q0,{id:L.name,checked:L.state.value,onCheckedChange:L.handleChange,disabled:q})]})}),J(W.Field,{name:`models[${h}].config.contextWindow`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[J(d,{htmlFor:L.name,className:"text-xs",children:Y.context_window_tokens()}),J($,{id:L.name,name:L.name,type:"number",value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(parseInt(b.target.value)||0),"aria-invalid":y,disabled:q}),y&&J(B0,{errors:U(L.state.meta.errors)})]})}})]}),Z("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 mt-6",children:[J(W.Field,{name:`models[${h}].config.maxTokens`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[J(d,{htmlFor:L.name,className:"text-xs",children:Y.max_output_tokens()}),J($,{id:L.name,name:L.name,type:"number",value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(parseInt(b.target.value)||0),"aria-invalid":y,disabled:q}),y&&J(B0,{errors:U(L.state.meta.errors)})]})}}),J(W.Field,{name:`models[${h}].config.cost.input`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[Z(d,{htmlFor:L.name,className:"text-xs flex items-center gap-1",children:[J(G6,{className:"w-3 h-3"})," ",Y.input_cost_1m()]}),J($,{id:L.name,name:L.name,type:"number",step:"0.01",value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(parseFloat(b.target.value)||0),"aria-invalid":y,disabled:q}),y&&J(B0,{errors:U(L.state.meta.errors)})]})}}),J(W.Field,{name:`models[${h}].config.cost.output`,children:(L)=>{let y=!!L.state.meta.errors.length&&L.state.meta.isTouched;return Z(p,{"data-invalid":y,children:[Z(d,{htmlFor:L.name,className:"text-xs flex items-center gap-1",children:[J(G6,{className:"w-3 h-3"})," ",Y.output_cost_1m()]}),J($,{id:L.name,name:L.name,type:"number",step:"0.01",value:L.state.value,onBlur:L.handleBlur,onChange:(b)=>L.handleChange(parseFloat(b.target.value)||0),"aria-invalid":y,disabled:q}),y&&J(B0,{errors:U(L.state.meta.errors)})]})}})]}),J(m,{type:"button",variant:"ghost",size:"icon",className:"absolute -top-2 -right-2 h-8 w-8 rounded-full bg-background border border-border text-muted-foreground hover:text-destructive transition-colors shadow-sm",onClick:()=>w.removeValue(h),children:J(P0,{className:"h-4 w-4"})})]},h))})]})})})]})})}),Z(v0,{className:"p-6 pt-4 border-t border-border gap-2 shrink-0",children:[J(m,{type:"button",variant:"outline",onClick:X,disabled:B,children:Y.cancel()}),J(W.Subscribe,{selector:(w)=>[w.canSubmit,w.isSubmitting],children:([w,A])=>J(m,{type:"submit",className:"min-w-[120px]",disabled:!w||A||B,children:A||B?J(c,{className:"w-4 h-4 animate-spin"}):Y.save_configuration()})})]})]})]}),J(i0,{open:K,onOpenChange:R,children:Z(r0,{children:[Z(e0,{children:[J(J4,{children:Y.are_you_absolutely_sure()}),J(X4,{children:Y.delete_provider_confirmation({name:H?.name??""})})]}),Z(N4,{children:[J(z4,{onClick:()=>R(!1),children:Y.cancel()}),J(B4,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{Q?.(),R(!1)},children:Y.delete()})]})]})})]})}var XN=e(N0(),1);function BN({teamId:N}){let X=s(),[z,Q]=XN.useState(""),{data:B,isLoading:H}=u({queryKey:["teams",N,"sandbox"],queryFn:async()=>{let W=await S.api.teams[":teamId"].sandbox.$get({param:{teamId:N}});if(!W.ok)throw Error(Y.failed_load_settings());return await W.json()}}),{mutate:q,isPending:P}=n({mutationFn:async(W)=>{let U=await S.api.teams[":teamId"].sandbox.$put({param:{teamId:N},json:W});if(!U.ok)throw Error(Y.failed_to_update_sandbox_settings());return await U.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",N,"sandbox"]}),F.success(Y.sandbox_settings_updated())},onError:(W)=>{F.error(W instanceof Error?W.message:Y.failed_to_update_sandbox_settings())}}),k=(W)=>{if(W.preventDefault(),!z.trim())return;if(B?.allowedDomains.includes(z.trim())){F.error(Y.domain_already_exists());return}let U=[...B?.allowedDomains||[],z.trim()],w=B?.pendingDomains||[];q({allowedDomains:U,pendingDomains:w}),Q("")},K=(W)=>{let U=(B?.allowedDomains||[]).filter((A)=>A!==W),w=B?.pendingDomains||[];q({allowedDomains:U,pendingDomains:w})},R=(W)=>{let U=[...B?.allowedDomains||[],W],w=(B?.pendingDomains||[]).filter((A)=>A!==W);q({allowedDomains:U,pendingDomains:w})},G=(W)=>{let U=(B?.pendingDomains||[]).filter((w)=>w!==W);q({allowedDomains:B?.allowedDomains||[],pendingDomains:U})};if(H)return J("div",{className:"flex items-center justify-center p-8",children:J(c,{className:"h-8 w-8 animate-spin text-muted-foreground"})});return J(L0,{className:"h-full",children:Z("div",{className:"space-y-6 pr-4 pb-8",children:[Z(t,{children:[Z(z0,{children:[Z("div",{className:"flex items-center gap-2",children:[J(f4,{className:"w-5 h-5 text-primary"}),J(Y0,{children:Y.network_sandbox()})]}),J(Q0,{children:Y.network_sandbox_description()})]}),Z(a,{children:[Z("form",{onSubmit:k,className:"flex gap-2 mb-6",children:[J($,{placeholder:"e.g. api.openai.com",value:z,onChange:(W)=>Q(W.target.value),disabled:P}),Z(m,{type:"submit",disabled:P,children:[P?J(c,{className:"w-4 h-4 animate-spin"}):J(G0,{className:"w-4 h-4 mr-2"}),Y.add_domain()]})]}),Z("div",{className:"space-y-2",children:[J("h4",{className:"text-sm font-medium text-muted-foreground mb-3",children:Y.allowed_domains()}),Z("div",{className:"flex flex-wrap gap-2",children:[B?.allowedDomains.map((W)=>Z("div",{className:"flex items-center gap-1 px-3 py-1.5 bg-muted rounded-full text-sm border border-border transition-all hover:border-muted-foreground/50",children:[J("span",{className:"font-medium text-foreground",children:W}),J("button",{onClick:()=>K(W),className:"ml-1 text-muted-foreground hover:text-destructive transition-colors",disabled:P,children:J(n4,{className:"w-3.5 h-3.5"})})]},W)),B?.allowedDomains.length===0&&J("div",{className:"text-sm text-muted-foreground italic",children:Y.no_custom_domains_allowed()})]})]})]})]}),Z(t,{className:"border-orange-500/20 bg-orange-500/5",children:[Z(z0,{children:[Z("div",{className:"flex items-center gap-2",children:[J(JN,{className:"w-5 h-5 text-orange-500"}),J(Y0,{children:Y.pending_domain_approvals()})]}),J(Q0,{children:Y.pending_domains_description()})]}),J(a,{children:J("div",{className:"space-y-3",children:B?.pendingDomains&&B.pendingDomains.length>0?J("div",{className:"divide-y divide-border",children:B.pendingDomains.map((W)=>Z("div",{className:"flex items-center justify-between py-2.5 first:pt-0 last:pb-0",children:[J("span",{className:"font-mono text-sm text-foreground bg-muted px-2 py-1 rounded break-all",children:W}),Z("div",{className:"flex items-center gap-2",children:[Z(m,{size:"sm",variant:"outline",className:"h-8 border-emerald-500/20 text-emerald-600 hover:bg-emerald-500/10 hover:text-emerald-600 dark:text-emerald-400 dark:hover:bg-emerald-500/20",onClick:()=>R(W),disabled:P,children:[J(u4,{className:"w-4 h-4 mr-1.5"}),Y.approve()]}),Z(m,{size:"sm",variant:"outline",className:"h-8 border-destructive/20 text-destructive hover:bg-destructive/10",onClick:()=>G(W),disabled:P,children:[J(P0,{className:"w-4 h-4 mr-1.5"}),Y.delete()]})]})]},W))}):J("div",{className:"text-sm text-muted-foreground italic py-2",children:Y.no_pending_domains()})})})]}),J(t,{children:Z(z0,{children:[J(Y0,{children:Y.filesystem_restriction()}),J(Q0,{children:Y.filesystem_restriction_description()})]})})]})})}var A0=e(N0(),1);var tN=(N)=>Z("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...N,children:[J("path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}),J("path",{d:"M9 18c-4.51 2-5-2-7-2"})]}),QN=({teamId:N})=>{let X=s(),[z,Q]=A0.useState(!1),[B,H]=A0.useState(!1),[q,P]=A0.useState(!1),[k,K]=A0.useState(null),{data:R,isLoading:G}=u({queryKey:["teams",N,"skills"],queryFn:async()=>{let w=await S.api.teams[":teamId"].skills.$get({param:{teamId:N}});if(!w.ok)throw Error(Y.failed_load_settings());return await w.json()}}),W=n({mutationFn:async(w)=>{if(!(await S.api.skills[":id"].$delete({param:{id:w}})).ok)throw Error(Y.failed_to_delete())},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",N,"skills"]}),P(!1)}}),U=R?.skills||[];return Z(t,{children:[Z(z0,{className:"flex flex-row items-center justify-between space-y-0 pb-7",children:[Z("div",{className:"flex items-center gap-3",children:[J("div",{className:"p-2 bg-primary/10 text-primary rounded-lg",children:J(b0,{className:"w-6 h-6"})}),Z("div",{children:[J(Y0,{className:"text-xl font-bold",children:Y.skills_management()}),J(Q0,{children:Y.skills_management_description()})]})]}),Z(m,{onClick:()=>Q(!0),className:"gap-2",children:[J(G0,{className:"w-4 h-4"})," ",Y.add_skill()]})]}),J(a,{children:G?J("div",{className:"flex justify-center py-10",children:J(c,{className:"w-8 h-8 animate-spin text-primary"})}):U.length===0?Z("div",{className:"text-center py-12 border-2 border-dashed border-border rounded-xl",children:[J("div",{className:"mx-auto w-12 h-12 bg-muted rounded-full flex items-center justify-center mb-4 text-muted-foreground",children:J(b0,{className:"w-6 h-6"})}),J("h3",{className:"text-lg font-medium text-foreground",children:Y.no_skills_installed()}),J("p",{className:"text-muted-foreground mt-1 max-w-xs mx-auto",children:Y.add_skill_to_get_started()})]}):J("div",{className:"space-y-4",children:U.map((w)=>J(lN,{skill:w,onDelete:()=>{K(w),P(!0)},onConfigure:()=>{K(w),H(!0)}},w.id))})}),J(aN,{open:z,onOpenChange:Q,teamId:N}),k&&J(sN,{open:B,onOpenChange:(w)=>{if(H(w),!w)setTimeout(()=>{document.body.style.pointerEvents="auto"},100)},teamId:N,skill:k}),J(i0,{open:q,onOpenChange:P,children:Z(r0,{children:[Z(e0,{children:[J(J4,{children:Y.are_you_absolutely_sure()}),J(X4,{children:Y.delete_skill_confirmation({name:k?.name??""})})]}),Z(N4,{children:[J(z4,{children:Y.cancel()}),Z(B4,{className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",onClick:()=>{if(k)W.mutate(k.id)},children:[W.isPending?J(c,{className:"w-4 h-4 animate-spin mr-2"}):J(P0,{className:"w-4 h-4 mr-2"}),Y.delete()]})]})]})})]})},lN=({skill:N,onDelete:X,onConfigure:z})=>{return Z("div",{className:"p-4 bg-card rounded-xl border border-border flex flex-col justify-between hover:shadow-md transition-all group cursor-pointer",onClick:z,children:[Z("div",{children:[Z("div",{className:"flex items-start justify-between mb-2",children:[J("h4",{className:"font-bold text-foreground flex items-center gap-2",children:N.name}),Z(P4,{children:[J(w4,{asChild:!0,onClick:(Q)=>Q.stopPropagation(),children:J(m,{variant:"ghost",size:"icon",className:"h-8 w-8",children:J(U4,{className:"w-4 h-4"})})}),J(K4,{align:"end",className:"w-32",children:Z(G4,{onClick:(Q)=>{Q.stopPropagation(),X()},className:"text-destructive focus:text-destructive gap-2 cursor-pointer",children:[J(P0,{className:"w-4 h-4"})," ",Y.delete()]})})]})]}),J("p",{className:"text-sm text-muted-foreground line-clamp-2",children:N.description||Y.no_description_provided()})]}),Z("div",{className:"mt-4 flex items-center justify-between text-[10px] text-muted-foreground uppercase tracking-wider font-semibold",children:[Z("span",{children:[Y.updated_date()," ",new Date(N.updatedAt).toLocaleDateString()]}),J("div",{className:"px-2 py-0.5 rounded-full bg-primary/10 text-primary",children:Y.installed()})]})]})},aN=({open:N,onOpenChange:X,teamId:z})=>{let Q=s(),[B,H]=A0.useState(""),[q,P]=A0.useState(!1),k=A0.useRef(null),{data:K}=u({queryKey:["teams",z,"projects"],queryFn:async()=>{let W=await S.api.teams[":teamId"].projects.$get({param:{teamId:z},query:{first:"1"}});if(!W.ok)throw Error("Failed to fetch projects");return await W.json()},enabled:N}),R=async(W)=>{P(!0);try{let U=await S.api.teams[":teamId"].skills.$post({param:{teamId:z},json:W});if(U.status===409){let w=await U.json();if(window.confirm(`${w.error}
2
-
3
- ${Y.override_existing_skill()}`)){await R({...W,override:!0});return}}else if(!U.ok){let w=await U.json().catch(()=>({}));throw Error(w.error||Y.failed_to_install_skill())}else Q.invalidateQueries({queryKey:["teams",z,"skills"]}),X(!1),H("")}catch(U){if(U instanceof Error)alert(U.message);else alert(Y.an_unknown_error_occurred())}finally{P(!1)}},G=async(W)=>{if(!W||W.length===0)return;let U=K?.data?.[0]?.id;if(!U){alert(Y.need_project_to_upload_skills());return}let w=W[0];if(!w.name.toLowerCase().endsWith(".zip")){alert(Y.only_zip_files_supported());return}P(!0);try{let A=w.name,h=w.type||"application/zip",L=await S.api.projects[":projectId"].attachments.$post({param:{projectId:U},json:{fileName:A,size:w.size,contentType:h}});if(!L.ok)throw Error("Failed to get upload URL");let{id:y,uploadUrl:b}=await L.json();if(!(await fetch(b,{method:"PUT",body:w,headers:{"Content-Type":h}})).ok)throw Error("Failed to upload file to storage");await R({assetId:y})}catch(A){if(A instanceof Error)alert(A.message);else alert(Y.an_unknown_error_occurred())}finally{P(!1)}};return J(_0,{open:N,onOpenChange:X,children:Z(c0,{className:"sm:max-w-[450px]",children:[Z(x0,{children:[J(j0,{children:Y.add_new_skill()}),J(l0,{children:Y.import_skill_description()})]}),Z("div",{className:"space-y-6 pt-4",children:[Z("div",{className:"space-y-3",children:[J(w0,{children:Y.package_upload()}),Z("div",{onClick:()=>!q&&k.current?.click(),className:j("group relative h-32 border-2 border-dashed rounded-xl flex flex-col items-center justify-center transition-all cursor-pointer",q?"opacity-50 cursor-not-allowed bg-muted/50 border-border":"hover:bg-primary/5 hover:border-primary/50 border-border"),children:[J("input",{type:"file",ref:k,className:"hidden",accept:".zip",onChange:(W)=>G(W.target.files)}),J("div",{className:"p-3 bg-muted rounded-full group-hover:bg-primary/10 transition-colors",children:J(YN,{className:"w-6 h-6 text-muted-foreground group-hover:text-primary"})}),Z("div",{className:"mt-3 text-center",children:[J("p",{className:"text-sm font-medium text-foreground",children:Y.select_zip_file()}),J("p",{className:"text-[10px] text-muted-foreground mt-1 uppercase tracking-wider font-semibold",children:Y.packages_must_contain_skill_md()})]})]}),q&&!B&&Z("div",{className:"flex items-center gap-2 text-sm text-primary justify-center bg-primary/10 py-2 rounded-lg animate-pulse",children:[J(c,{className:"w-4 h-4 animate-spin"}),Y.processing_package()]})]}),Z("div",{className:"relative",children:[J("div",{className:"absolute inset-0 flex items-center",children:J("span",{className:"w-full border-t border-border"})}),J("div",{className:"relative flex justify-center text-xs uppercase",children:J("span",{className:"bg-background px-2 text-muted-foreground font-bold",children:Y.or()})})]}),J("div",{className:"space-y-4",children:Z("div",{className:"space-y-2",children:[J(w0,{htmlFor:"githubUrl",children:Y.github_repository_url()}),Z("div",{className:"flex gap-2",children:[Z("div",{className:"relative flex-1",children:[J(tN,{className:"absolute left-3 top-2.5 w-4 h-4 text-muted-foreground"}),J($,{id:"githubUrl",placeholder:"https://github.com/owner/repo",value:B,onChange:(W)=>H(W.target.value),disabled:q,className:"pl-9"})]}),J(m,{onClick:()=>R({githubUrl:B}),disabled:!B||q,className:"px-6",children:q&&B?J(c,{className:"w-4 h-4 animate-spin"}):Y.install()})]}),J("p",{className:"text-[10px] text-muted-foreground italic",children:Y.github_url_example()})]})})]})]})})},sN=({open:N,onOpenChange:X,teamId:z,skill:Q})=>{let B=s(),[H,q]=A0.useState({...Q.config||{},environmentVariables:Q.config?.environmentVariables||[]}),[P,k]=A0.useState(!1),K=(A,h)=>{let L=[...H.environmentVariables];L[A]={...L[A],default:h},q({...H,environmentVariables:L})},R=(A,h)=>{let L=[...H.environmentVariables];L[A]={...L[A],name:h},q({...H,environmentVariables:L})},G=()=>{q({...H,environmentVariables:[...H.environmentVariables,{name:"",default:""}]})},W=(A)=>{let h=[...H.environmentVariables];h.splice(A,1),q({...H,environmentVariables:h})},U=async()=>{let A=H.environmentVariables.filter((L)=>L.name.trim()!==""),h={...H,environmentVariables:A};k(!0);try{let L=await S.api.skills[":id"].config.$patch({param:{id:Q.id},json:{config:h}});if(!L.ok){let y=await L.json().catch(()=>({}));throw Error(y.error||"Failed to update config")}B.invalidateQueries({queryKey:["teams",z,"skills"]}),X(!1)}catch(L){if(L instanceof Error)alert(L.message);else alert(Y.an_unknown_error_occurred())}finally{k(!1)}},w=H?.environmentVariables||[];return J(_0,{open:N,onOpenChange:X,children:Z(c0,{className:"sm:max-w-[500px]",children:[Z(x0,{children:[J("div",{className:"flex items-center justify-between",children:Z(j0,{className:"flex items-center gap-2",children:[J(zN,{className:"w-5 h-5 text-primary"}),Y.configure_skill({name:Q.name})]})}),J(l0,{children:Y.manage_env_vars_description()})]}),J(L0,{className:"max-h-[60vh]",children:J("div",{className:"py-4 space-y-4 pr-4",children:w.length===0?J("div",{className:"text-center py-10 bg-muted/50 rounded-xl border border-dashed border-border",children:J("p",{className:"text-muted-foreground text-sm italic",children:Y.no_env_vars_found()})}):w.map((A,h)=>Z("div",{className:"p-4 bg-muted/50 rounded-xl border border-border space-y-3 relative group",children:[J("button",{onClick:()=>W(h),className:"absolute top-2 right-2 p-1 text-muted-foreground hover:text-destructive hover:bg-destructive/10 rounded-md transition-colors opacity-0 group-hover:opacity-100",children:J(n4,{className:"w-4 h-4"})}),Z("div",{className:"space-y-1.5",children:[J(w0,{className:"text-[10px] uppercase tracking-wider font-bold text-muted-foreground",children:Y.variable_name()}),J($,{value:A.name,onChange:(L)=>R(h,L.target.value),placeholder:"e.g. API_KEY",className:"h-8 bg-background border-border text-sm font-mono"})]}),Z("div",{className:"space-y-1.5",children:[J(w0,{className:"text-[10px] uppercase tracking-wider font-bold text-muted-foreground",children:Y.default_value()}),J($,{value:A.default||"",onChange:(L)=>K(h,L.target.value),placeholder:Y.optional_default_value_placeholder(),className:"h-8 bg-background border-border text-sm"}),J("p",{className:"text-[10px] text-muted-foreground italic",children:Y.env_var_empty_note()})]})]},h))})}),Z(v0,{className:"flex items-center justify-between sm:justify-between w-full pt-2 border-t border-border",children:[Z(m,{variant:"ghost",size:"sm",onClick:G,className:"h-8 gap-1.5 text-primary hover:text-primary hover:bg-primary/10",children:[J(G0,{className:"w-3.5 h-3.5"})," ",Y.add_variable()]}),Z("div",{className:"flex gap-2",children:[J(m,{variant:"ghost",onClick:()=>X(!1),children:Y.cancel()}),Z(m,{onClick:U,disabled:P,className:"px-8",children:[P?J(c,{className:"w-4 h-4 animate-spin mr-2"}):null,Y.save_changes()]})]})]})]})})};function WN({teamId:N}){let X=s(),{data:z,isLoading:Q}=u({queryKey:["teams",N,"notification-settings"],queryFn:async()=>{let P=await S.api.teams[":teamId"].notifications.settings.$get({param:{teamId:N}});if(!P.ok)throw Error(Y.failed_load_settings());return await P.json()}}),{mutate:B,isPending:H}=n({mutationFn:async(P)=>{let k=await S.api.teams[":teamId"].notifications.settings.$post({param:{teamId:N},json:P});if(!k.ok)throw Error(Y.failed_to_update_notification_settings());return await k.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",N,"notification-settings"]}),X.invalidateQueries({queryKey:["teams",N,"notifications"]}),F.success(Y.notification_settings_updated())},onError:(P)=>{F.error(P instanceof Error?P.message:Y.failed_to_update_notification_settings())}}),q=(P)=>{if(!z)return;let k={...z,[P]:!z[P]};B(k)};if(Q)return J("div",{className:"flex items-center justify-center p-8",children:J(c,{className:"h-8 w-8 animate-spin text-muted-foreground"})});return J(L0,{className:"h-full",children:Z("div",{className:"space-y-6 pr-4 pb-8",children:[Z(t,{className:"border border-slate-200 dark:border-slate-800",children:[Z(z0,{className:"border-b border-slate-100 dark:border-slate-800 bg-slate-50/50 dark:bg-slate-900/50",children:[Z("div",{className:"flex items-center gap-2",children:[J(D4,{className:"w-5 h-5 text-blue-500"}),J(Y0,{className:"text-lg",children:Y.comments_and_replies()})]}),J(Q0,{children:Y.comments_notification_description()})]}),Z(a,{className:"divide-y divide-slate-100 dark:divide-slate-800 p-0",children:[Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400",children:J(D4,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.general_comments()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_someone_comments()})]})]}),J(q0,{checked:z?.comments??!0,onCheckedChange:()=>q("comments"),disabled:H})]}),Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-purple-50 dark:bg-purple-900/20 text-purple-600 dark:text-purple-400",children:J(ZN,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.comment_replies()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_someone_replies()})]})]}),J(q0,{checked:z?.replies??!0,onCheckedChange:()=>q("replies"),disabled:H})]}),Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-pink-50 dark:bg-pink-900/20 text-pink-600 dark:text-pink-400",children:J(qN,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.at_mentions()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_someone_mentions()})]})]}),J(q0,{checked:z?.mentions??!0,onCheckedChange:()=>q("mentions"),disabled:H})]})]})]}),Z(t,{className:"border border-slate-200 dark:border-slate-800",children:[Z(z0,{className:"border-b border-slate-100 dark:border-slate-800 bg-slate-50/50 dark:bg-slate-900/50",children:[Z("div",{className:"flex items-center gap-2",children:[J(k6,{className:"w-5 h-5 text-emerald-500"}),J(Y0,{className:"text-lg",children:Y.assets_and_statuses()})]}),J(Q0,{children:Y.assets_notification_description()})]}),Z(a,{className:"divide-y divide-slate-100 dark:divide-slate-800 p-0",children:[Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-slate-100 dark:bg-slate-800 text-slate-600 dark:text-slate-400",children:J(p4,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.your_uploads()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_you_upload_assets()})]})]}),J(q0,{checked:z?.yourUploads??!1,onCheckedChange:()=>q("yourUploads"),disabled:H})]}),Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-emerald-50 dark:bg-emerald-900/20 text-emerald-600 dark:text-emerald-400",children:J(k6,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.other_uploads()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_other_users_upload_assets()})]})]}),J(q0,{checked:z?.otherUploads??!0,onCheckedChange:()=>q("otherUploads"),disabled:H})]}),Z("div",{className:"flex items-center justify-between p-6",children:[Z("div",{className:"flex gap-4",children:[J("div",{className:"mt-1 flex items-center justify-center w-8 h-8 rounded-lg bg-amber-50 dark:bg-amber-900/20 text-amber-600 dark:text-amber-400",children:J(HN,{className:"w-4 h-4"})}),Z("div",{className:"space-y-0.5",children:[J("h4",{className:"text-sm font-semibold text-slate-900 dark:text-white",children:Y.status_updates()}),J("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:Y.when_someone_changes_status()})]})]}),J(q0,{checked:z?.statusUpdates??!0,onCheckedChange:()=>q("statusUpdates"),disabled:H})]})]})]})]})})}var T6=e(N0(),1);function GN({teamId:N}){let X=s(),[z,Q]=T6.useState(""),[B,H]=T6.useState(null),{data:q,isLoading:P}=u({queryKey:["teams",N,"api-tokens"],queryFn:async()=>{let U=await S.api.teams[":teamId"]["api-tokens"].$get({param:{teamId:N}});if(!U.ok)throw Error("Failed to fetch API tokens");return await U.json()}}),{mutate:k,isPending:K}=n({mutationFn:async(U)=>{let w=await S.api.teams[":teamId"]["api-tokens"].$post({param:{teamId:N},json:{name:U}});if(!w.ok)throw Error("Failed to create API token");return await w.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",N,"api-tokens"]}),Q(""),F.success(Y.api_token_generated_successfully())},onError:(U)=>{F.error(U instanceof Error?U.message:Y.failed_to_generate_token())}}),{mutate:R}=n({mutationFn:async(U)=>{let w=await S.api.teams[":teamId"]["api-tokens"][":tokenId"].$delete({param:{teamId:N,tokenId:U}});if(!w.ok)throw Error("Failed to delete API token");return await w.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",N,"api-tokens"]}),F.success(Y.api_token_revoked_successfully())},onError:(U)=>{F.error(U instanceof Error?U.message:Y.failed_to_revoke_token())}}),G=(U)=>{if(U.preventDefault(),!z.trim())return;k(z.trim())},W=(U,w)=>{navigator.clipboard.writeText(w),H(U),F.success(Y.copied_api_token_to_clipboard()),setTimeout(()=>H(null),2000)};if(P)return J("div",{className:"flex justify-center items-center p-8",children:J(c,{className:"w-8 h-8 animate-spin text-muted-foreground"})});return J("div",{className:"space-y-6",children:Z(t,{children:[Z(z0,{children:[J(Y0,{children:Y.api_tokens()}),J(Q0,{children:Y.api_tokens_description()})]}),Z(a,{className:"space-y-6",children:[Z("form",{onSubmit:G,className:"flex gap-4 items-end max-w-md",children:[Z("div",{className:"flex-1 space-y-2",children:[J("label",{htmlFor:"tokenName",className:"text-sm font-medium text-muted-foreground",children:Y.token_name()}),J($,{id:"tokenName",value:z,onChange:(U)=>Q(U.target.value),placeholder:Y.token_name_placeholder(),required:!0})]}),Z(m,{type:"submit",disabled:K||!z.trim(),children:[K?J(c,{className:"w-4 h-4 animate-spin mr-2"}):J(G0,{className:"w-4 h-4 mr-2"}),Y.generate()]})]}),J("div",{className:"border rounded-lg overflow-hidden",children:Z(PN,{children:[J(wN,{children:Z(d4,{children:[J(E4,{children:Y.name()}),J(E4,{children:Y.token()}),J(E4,{children:Y.created_at()}),J(E4,{className:"w-[100px] text-right",children:Y.actions()})]})}),J(KN,{children:!q||q.length===0?J(d4,{children:J(R4,{colSpan:4,className:"text-center py-6 text-muted-foreground text-sm",children:Y.no_api_tokens_found()})}):q.map((U)=>Z(d4,{children:[J(R4,{className:"font-medium",children:U.name}),J(R4,{className:"font-mono text-sm max-w-[200px] truncate",children:Z("div",{className:"flex items-center gap-2",children:[Z("span",{children:[U.token.substring(0,8),"..."]}),J(m,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>W(U.id,U.token),children:B===U.id?J(u4,{className:"h-3.5 w-3.5 text-green-500"}):J(UN,{className:"h-3.5 w-3.5"})})]})}),J(R4,{className:"text-muted-foreground",children:new Date(U.createdAt).toLocaleDateString()}),J(R4,{className:"text-right",children:J(m,{variant:"ghost",size:"icon",className:"h-8 w-8 text-red-500 hover:text-red-600 hover:bg-red-50",onClick:()=>R(U.id),children:J(P0,{className:"h-4 w-4"})})})]},U.id))})]})})]})]})})}var O0=e(N0(),1);var C0=e(N0(),1);function LN({isOpen:N,onClose:X,imageSrc:z,onConfirm:Q}){let[B,H]=C0.useState(1),[q,P]=C0.useState({x:0,y:0}),[k,K]=C0.useState(!1),[R,G]=C0.useState(!1),W=C0.useRef({x:0,y:0}),U=C0.useRef(null),w=C0.useRef(null),A=250;C0.useEffect(()=>{if(N)H(1),P({x:0,y:0}),G(!1)},[N,z]);let h=(T)=>{T.preventDefault(),K(!0),W.current={x:T.clientX-q.x,y:T.clientY-q.y}},L=(T)=>{if(!k)return;P({x:T.clientX-W.current.x,y:T.clientY-W.current.y})},y=()=>{K(!1)},b=(T)=>{if(T.touches.length!==1)return;K(!0);let D=T.touches[0];W.current={x:D.clientX-q.x,y:D.clientY-q.y}},E=(T)=>{if(!k||T.touches.length!==1)return;let D=T.touches[0];P({x:D.clientX-W.current.x,y:D.clientY-W.current.y})},C=async()=>{let T=U.current,D=w.current;if(!T||!D)return;G(!0);try{let V=T.getBoundingClientRect(),M=512,x=document.createElement("canvas");x.width=512,x.height=512;let i=x.getContext("2d");if(i){i.clearRect(0,0,512,512);let r=2.048,v=V.width/B,I=V.height/B,g=256+q.x*r,R0=256+q.y*r;i.translate(g,R0),i.scale(B*r,B*r),i.drawImage(T,-v/2,-I/2,v,I);let o4=await new Promise((t4)=>{x.toBlob((L6)=>t4(L6),"image/jpeg",0.9)});if(o4)await Q(o4)}}catch(V){console.error("Failed to crop image",V)}finally{G(!1)}};return J(_0,{open:N,onOpenChange:(T)=>!T&&X(),children:Z(c0,{className:"sm:max-w-[420px] rounded-2xl border border-border bg-background/95 backdrop-blur-md shadow-2xl p-0 overflow-hidden gap-0",children:[J(x0,{className:"p-6 border-b border-border/40 bg-gradient-to-br from-primary/5 to-transparent",children:Z(j0,{className:"text-xl font-bold flex items-center gap-2",children:[J(RN,{className:"w-5 h-5 text-primary"}),Y.position_and_resize()]})}),Z("div",{className:"p-6 flex flex-col items-center gap-6",children:[Z("div",{ref:w,className:"relative overflow-hidden bg-muted select-none border border-border/40 rounded-xl cursor-move shadow-inner",style:{width:250,height:250},onMouseDown:h,onMouseMove:L,onMouseUp:y,onMouseLeave:y,onTouchStart:b,onTouchMove:E,onTouchEnd:y,children:[z&&J("img",{ref:U,src:z,alt:Y.avatar_source(),crossOrigin:"anonymous",className:"absolute origin-center max-w-none pointer-events-none transition-transform duration-75 select-none",style:{top:"50%",left:"50%",transform:`translate(-50%, -50%) translate(${q.x}px, ${q.y}px) scale(${B})`,maxHeight:"100%"}}),J("div",{className:"absolute inset-0 pointer-events-none border-[3px] border-primary/90 rounded-full"}),J("div",{className:"absolute inset-0 pointer-events-none bg-black/40",style:{clipPath:"polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)",maskImage:"radial-gradient(circle, transparent 122px, black 123px)",WebkitMaskImage:"radial-gradient(circle, transparent 122px, black 123px)"}})]}),Z("div",{className:"w-full flex items-center gap-3 px-2",children:[J(TN,{className:"w-4 h-4 text-muted-foreground"}),J("input",{type:"range",min:"1.0",max:"3.0",step:"0.01",value:B,onChange:(T)=>H(parseFloat(T.target.value)),className:"flex-1 h-1.5 bg-muted rounded-lg appearance-none cursor-pointer accent-primary focus:outline-none"}),J(kN,{className:"w-4 h-4 text-muted-foreground"})]})]}),Z(v0,{className:"p-6 border-t border-border/40 bg-muted/20 flex flex-row justify-end gap-3",children:[J(m,{variant:"outline",onClick:X,disabled:R,children:Y.cancel()}),J(m,{onClick:C,disabled:R||!z,className:"min-w-[80px]",children:R?Z(X0,{children:[J(c,{className:"w-4 h-4 animate-spin mr-2"}),Y.saving()]}):Y.save()})]})]})})}function iN(){let{teamId:N}=rN.useParams(),X=s(),[z,Q]=O0.useState("general"),[B,H]=O0.useState(""),[q,P]=O0.useState(!1),[k,K]=O0.useState(null),R=O0.useRef(null),[G,W]=O0.useState(!1),{setMetadata:U,getMetadata:w}=IN(),A=w("locale")||VN(),h=async(I)=>{if(I==="en"||I==="zh")try{await U(N,"locale",I),MN(I),F.success(Y.language_updated())}catch(g){console.error(g),F.error(Y.failed_update_language())}},{data:L,isLoading:y,error:b}=u({queryKey:["teams",N,"settings"],queryFn:async()=>{let I=await S.api.teams[":teamId"].settings.$get({param:{teamId:N}});if(!I.ok)throw Error("Failed to fetch settings");return await I.json()}}),{data:E,isLoading:C}=u({queryKey:["teams",N,"me"],queryFn:async()=>{let I=await S.api.teams[":teamId"].me.$get({param:{teamId:N}});if(!I.ok)throw Error("Failed to fetch me");return await I.json()},enabled:!!N});O0.useEffect(()=>{if(E?.name)H(E.name)},[E]);let T=(I)=>{if(!I)return"U";let g=I.split(" ");if(g.length>1)return`${g[0][0]}${g[g.length-1][0]}`.toUpperCase();return I.substring(0,2).toUpperCase()},D=(I)=>{let g=I.target.files?.[0];if(g){let R0=new FileReader;R0.onload=()=>{K(R0.result),P(!0)},R0.readAsDataURL(g),I.target.value=""}},V=async(I)=>{W(!0);try{let g=new File([I],"avatar.jpg",{type:"image/jpeg"}),R0=await S.api.teams[":teamId"].files.$post({param:{teamId:N},form:{file:g}});if(!R0.ok)throw Error("Failed to upload avatar");let t4=(await R0.json()).key;if(!(await S.api.teams[":teamId"].me.$patch({param:{teamId:N},json:{imageKey:t4}})).ok)throw Error("Failed to save profile");F.success(Y.avatar_updated()),X.invalidateQueries({queryKey:["teams",N,"me"]}),P(!1)}catch(g){console.error(g),F.error(Y.failed_update_avatar())}finally{W(!1)}},M=async()=>{W(!0);try{if(!(await S.api.teams[":teamId"].me.$patch({param:{teamId:N},json:{imageKey:null}})).ok)throw Error("Failed to remove avatar");F.success(Y.avatar_removed()),X.invalidateQueries({queryKey:["teams",N,"me"]})}catch(I){console.error(I),F.error(Y.failed_remove_avatar())}finally{W(!1)}},x=async()=>{if(!B.trim())return;W(!0);try{if(!(await S.api.teams[":teamId"].me.$patch({param:{teamId:N},json:{name:B.trim()}})).ok)throw Error("Failed to update name");F.success(Y.profile_updated()),X.invalidateQueries({queryKey:["teams",N,"me"]})}catch(I){console.error(I),F.error(Y.failed_update_profile())}finally{W(!1)}},{mutate:i}=n({mutationFn:async(I)=>{let g=await S.api.teams[":teamId"].settings.$patch({param:{teamId:I.teamId},json:I.data});if(!g.ok)throw Error("Failed to update settings");return await g.json()},onSuccess:()=>{X.invalidateQueries({queryKey:["teams",N,"settings"]})}}),r=(I)=>{i({teamId:N,data:{key:"transcode.videoStrategy",value:I}})};if(y||C)return J("div",{className:"flex h-screen items-center justify-center",children:J(c,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(b)return J("div",{className:"p-8 text-center text-red-500",children:Y.failed_load_settings()});let v=L?.transcode?.videoStrategy||f0.best_match;if(v==="single"||v==="disable")v=f0.best_match;else if(v==="full")v=f0.all;return J("div",{className:"h-full bg-background font-sans selection:bg-primary/20 transition-colors duration-300",children:Z("div",{className:"flex flex-col md:flex-row h-full",children:[J("div",{className:"w-full h-full md:w-72 bg-sidebar border-b md:border-b-0 md:border-r border-sidebar-border z-10 md:left-16 overflow-y-auto transition-colors duration-300",children:Z("nav",{className:"p-4 space-y-1 mt-4",children:[J("div",{className:"mb-2 px-4 text-xs font-semibold text-sidebar-foreground/60 uppercase tracking-wider",children:Y.settings()}),Z("button",{onClick:()=>Q("general"),className:j("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="general"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[J(EN,{className:"w-5 h-5"}),Y.general(),z==="general"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),E?.role==="owner"&&Z("button",{onClick:()=>Q("transcode"),className:j("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="transcode"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[J(CN,{className:"w-5 h-5"}),Y.media_processing(),z==="transcode"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Z("button",{onClick:()=>Q("notifications"),className:j("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="notifications"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[J(p4,{className:"w-5 h-5"}),Y.notifications(),z==="notifications"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Z("button",{onClick:()=>Q("developer"),className:j("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="developer"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[J(hN,{className:"w-5 h-5"}),Y.api_tokens(),z==="developer"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),E?.role==="owner"&&Z(X0,{children:[J("div",{className:"mt-6 mb-2 px-4 text-xs font-semibold text-sidebar-foreground/60 uppercase tracking-wider pt-4 border-t border-sidebar-border",children:Y.ai()}),Z("button",{onClick:()=>Q("providers"),className:j("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="providers"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[J(s0,{className:"w-5 h-5"}),Y.providers(),z==="providers"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Z("button",{onClick:()=>Q("skills"),className:j("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="skills"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[J(b0,{className:"w-5 h-5"}),Y.skills(),z==="skills"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Z("button",{onClick:()=>Q("agents"),className:j("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="agents"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[J(j4,{className:"w-5 h-5"}),Y.agents(),z==="agents"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]}),Z("button",{onClick:()=>Q("sandbox"),className:j("w-full flex items-center gap-3 px-4 py-3 text-sm font-medium rounded-lg transition-all",z==="sandbox"?"bg-sidebar-accent text-sidebar-accent-foreground ring-1 ring-sidebar-border":"text-sidebar-foreground/75 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"),children:[J(DN,{className:"w-5 h-5"}),Y.agent_sandbox(),z==="sandbox"&&J("div",{className:"ml-auto w-1.5 h-1.5 rounded-full bg-sidebar-primary"})]})]})]})}),J("main",{className:"flex-1 bg-background/50 h-full flex flex-col transition-colors duration-300 overflow-y-hidden",children:Z("div",{className:"flex-1 flex flex-col max-w-4xl w-full mx-auto p-6 md:p-10 overflow-hidden",children:[J("div",{className:"flex-none flex items-center justify-between mb-6",children:Z("div",{children:[Z("h2",{className:"text-2xl font-bold text-foreground",children:[z==="general"&&Y.general_settings(),z==="transcode"&&Y.media_processing(),z==="skills"&&Y.skills_management(),z==="providers"&&Y.ai_providers(),z==="agents"&&Y.ai_agents(),z==="sandbox"&&Y.agent_sandbox_settings(),z==="notifications"&&Y.notification_settings(),z==="developer"&&Y.developer_settings()]}),Z("p",{className:"text-sm text-muted-foreground mt-1",children:[z==="general"&&Y.general_settings_description(),z==="transcode"&&Y.transcode_description(),z==="skills"&&Y.skills_description(),z==="providers"&&Y.providers_description(),z==="agents"&&Y.agents_description(),z==="sandbox"&&Y.sandbox_description(),z==="notifications"&&Y.notifications_description(),z==="developer"&&Y.developer_description()]})]})}),Z("div",{className:"flex-1 overflow-hidden animate-in fade-in slide-in-from-bottom-4 duration-500",children:[z==="general"&&Z("div",{className:"h-full overflow-y-auto space-y-6 pr-1",children:[Z(t,{children:[Z(z0,{children:[J(Y0,{children:Y.personal_info()}),J(Q0,{children:Y.personal_info_description()})]}),J(a,{className:"space-y-6",children:Z("div",{className:"flex flex-col md:flex-row gap-8 items-start",children:[Z("div",{className:"flex flex-col items-center gap-3",children:[J("span",{className:"text-sm font-medium text-muted-foreground",children:Y.avatar()}),Z("div",{className:"group relative cursor-pointer overflow-hidden rounded-full w-24 h-24 border border-border/60 shadow-md transition-all hover:opacity-90",onClick:()=>R.current?.click(),children:[Z(yN,{className:"w-24 h-24",children:[E?.image&&J(bN,{src:E.image,alt:E.name,className:"object-cover w-24 h-24"}),J(ON,{className:"text-2xl bg-primary/40 text-foreground",children:T(E?.name)})]}),J("div",{className:"absolute inset-0 bg-black/40 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity",children:J("span",{className:"text-white text-xs font-semibold",children:Y.change()})})]}),Z("div",{className:"flex gap-2",children:[J(m,{variant:"outline",size:"sm",onClick:()=>R.current?.click(),children:Y.upload()}),E?.image&&J(m,{variant:"ghost",size:"sm",className:"text-red-500 hover:text-red-600",onClick:M,children:Y.remove()})]}),J("input",{type:"file",ref:R,className:"hidden",accept:"image/*",onChange:D})]}),Z("div",{className:"flex-1 space-y-4 w-full",children:[Z("div",{className:"space-y-2",children:[J("label",{className:"text-sm font-medium text-muted-foreground",children:Y.name()}),J($,{value:B,onChange:(I)=>H(I.target.value),placeholder:Y.enter_your_name(),className:"max-w-md"})]}),Z("div",{className:"space-y-2",children:[J("label",{className:"text-sm font-medium text-muted-foreground",children:Y.email()}),J($,{value:E?.email||"",disabled:!0,className:"max-w-md bg-muted/50 cursor-not-allowed"}),J("p",{className:"text-xs text-muted-foreground",children:Y.email_managed_by_auth()})]}),Z(m,{onClick:x,disabled:G||!B.trim(),className:"mt-2",children:[G&&J(c,{className:"w-4 h-4 animate-spin mr-2"}),Y.save_changes()]})]})]})})]}),Z(t,{className:"border border-slate-200 dark:border-slate-800 mt-6",children:[Z(z0,{children:[J(Y0,{children:Y.language_settings()}),J(Q0,{children:Y.select_preferred_language()})]}),J(a,{className:"space-y-4",children:J("div",{className:"max-w-xs",children:Z(S0,{value:A,onValueChange:h,children:[J(g0,{children:J(F0,{placeholder:Y.select_language()})}),Z(m0,{children:[J(K0,{value:"en",children:Y.english()}),J(K0,{value:"zh",children:Y.chinese()})]})]})})})]}),J(LN,{isOpen:q,onClose:()=>P(!1),imageSrc:k,onConfirm:V})]}),z==="transcode"&&J("div",{className:"h-full overflow-y-auto pr-1",children:Z(t,{children:[Z(z0,{children:[J(Y0,{children:Y.transcode_settings()}),Z(Q0,{children:[J("span",{className:"block mb-2",children:Y.transcode_description()}),J("span",{className:"block",children:Y.transcode_strategy_note()})]})]}),J(a,{className:"space-y-6",children:Z("div",{className:"space-y-3",children:[J("h3",{className:"text-lg font-medium",children:Y.video_strategy()}),Z("div",{className:"space-y-3",children:[Z("div",{className:j("cursor-pointer rounded-lg border p-4 transition-all hover:border-primary",v===f0.best_match?"border-primary bg-primary/5":"border-border"),onClick:()=>r(f0.best_match),children:[J("div",{className:"font-semibold",children:Y.best_match()}),J("div",{className:"text-sm text-muted-foreground",children:Y.best_match_description()})]}),Z("div",{className:j("cursor-pointer rounded-lg border p-4 transition-all hover:border-primary",v===f0.all?"border-primary bg-primary/5":"border-border"),onClick:()=>r(f0.all),children:[J("div",{className:"font-semibold",children:Y.all_resolutions()}),J("div",{className:"text-sm text-muted-foreground",children:Y.all_resolutions_description()})]})]})]})})]})}),z==="skills"&&J("div",{className:"h-full overflow-y-auto pr-1",children:J(QN,{teamId:N})}),z==="providers"&&J(NN,{teamId:N}),z==="agents"&&J("div",{className:"h-full overflow-y-auto pr-1",children:J(o6,{teamId:N})}),z==="sandbox"&&J("div",{className:"h-full overflow-y-auto pr-1",children:J(BN,{teamId:N})}),z==="notifications"&&J(WN,{teamId:N}),z==="developer"&&J(GN,{teamId:N})]})]})})]})})}var rN=AN("/teams/$teamId/settings")({component:iN});export{rN as Route};
@@ -1 +0,0 @@
1
- import{aa as r,ba as a,ca as s,da as E,ea as $,fa as q}from"./chunk-pqm0g14r.js";import{ga as j}from"./chunk-33ee1cvv.js";import{Wa as t}from"./chunk-kpy0kpna.js";import"./chunk-ajqsprm0.js";import{Za as x}from"./chunk-xpqcvxej.js";import"./chunk-4hnrd4qh.js";import{Sf as l}from"./chunk-m54p1cvp.js";import{Uf as o}from"./chunk-5tmf3c0g.js";import{Wf as d,Xf as i}from"./chunk-mnv6pj0k.js";import{$f as qG,Cg as B,Eg as A,Hh as I,Ng as f,Ri as m,Si as p,Ti as c,Ui as n,ag as k,bg as G,cg as K,dg as y,eh as T,ei as u,gg as L,hg as F,hj as X,ig as S,ij as h,ng as C,qh as b,sg as P,uh as g}from"./chunk-nwtb6dt1.js";import{Zj as $G}from"./chunk-kbzm1pwx.js";var _=$G(qG(),1);var OG=(Y)=>{if(!Y)return"??";return Y.split(" ").map((O)=>O[0]).slice(0,2).join("").toUpperCase()};function zG(){let{projectId:Y}=BG.useParams(),{teamId:O,ensureTeamIdForProject:U}=h(),e=y(),GG=C();_.useEffect(()=>{U(Y)},[Y,U]);let{data:M}=L(l(Y)),D=M?.rootFolder,[JG,KG]=_.useState(240),{shareConfigLeftSidebarCollapsed:Q,setShareConfigLeftSidebarCollapsed:XG}=i(),{data:V,isLoading:YG,fetchNextPage:R,hasNextPage:v,isFetchingNextPage:W}=S({queryKey:["shares",Y],queryFn:async({pageParam:J})=>{let Z=await A.api.projects[":projectId"].shares.$get({param:{projectId:Y},query:{first:"20",after:J}});if(!Z.ok)throw Error("Failed to fetch share links");return await Z.json()},initialPageParam:"",getNextPageParam:(J)=>J.pageInfo?.cursor||void 0,enabled:!!Y}),{ref:ZG,inView:w}=d();_.useEffect(()=>{if(w&&v&&!W)R()},[w,v,W,R]);let H=_.useMemo(()=>V?.pages.flatMap((J)=>J.data)||[],[V]),{mutate:_G}=F({mutationFn:async({id:J,isDisabled:Z})=>{let z=await A.api.shares[":shareId"].$put({param:{shareId:J},json:{isDisabled:Z}});if(!z.ok)throw Error("Failed to update share link");return await z.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["shares",Y]}),B.success(X.share_link_status_updated())},onError:(J)=>{B.error(X.error_message({message:J.message}))}});if(!O||!D||!M)return G(o,{});let N=(J)=>{let Z=`${window.location.origin}/share/${J}`;navigator.clipboard.writeText(Z),B.success(X.link_copied())};return G("div",{className:"flex flex-1 flex-col bg-background min-h-0",children:K("div",{className:"flex flex-1 overflow-hidden relative",children:[!Q&&G("div",{className:"md:hidden fixed inset-0 bg-black/50 z-40",onClick:()=>XG(!0)}),!Q&&K(k,{children:[G("div",{className:"bg-background",style:{width:JG},children:G(j,{teamId:O,projectId:Y,projectName:M.name??"",rootFolderId:D})}),G(t,{onResize:(J)=>{KG((Z)=>Math.max(180,Math.min(400,Z+J)))},className:"hidden md:block"})]}),K("div",{className:"flex-1 flex flex-col min-h-0 bg-card overflow-hidden",children:[G("header",{className:"h-14 border-b flex items-center justify-between px-6 shrink-0 bg-background/50 backdrop-blur-sm sticky top-0 z-10",children:K("div",{className:"flex items-center gap-2",children:[G(u,{className:"h-5 w-5 text-primary"}),G("h1",{className:"font-bold text-lg text-foreground",children:X.all_share_links()})]})}),G("div",{className:"flex-1 overflow-y-auto p-6",children:YG?G("div",{className:"flex justify-center items-center h-64",children:G("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary"})}):H.length===0?K("div",{className:"flex flex-col items-center justify-center h-64 text-muted-foreground gap-3",children:[G(I,{className:"h-10 w-10 text-muted-foreground/50"}),G("p",{children:X.no_share_links_yet()})]}):K("div",{className:"border border-border rounded-xl bg-background overflow-hidden shadow-xs",children:[K(r,{children:[G(a,{children:K(E,{className:"hover:bg-transparent bg-muted/20",children:[G($,{className:"font-semibold px-4 py-3",children:X.name()}),G($,{className:"font-semibold px-4 py-3",children:X.public_link()}),G($,{className:"font-semibold px-4 py-3",children:X.creator()}),G($,{className:"font-semibold px-4 py-3 w-[150px]",children:X.created_date()}),G($,{className:"font-semibold px-4 py-3 text-right w-[120px]",children:X.active()})]})}),G(s,{children:H.map((J)=>{let Z=`${window.location.origin}/share/${J.id}`;return K(E,{className:"hover:bg-muted/10 transition-colors",children:[G(q,{className:"font-medium px-4 py-3.5",children:G("span",{className:"cursor-pointer hover:underline text-foreground",onClick:()=>GG({to:"/projects/$projectId/shares/$shareId",params:{projectId:Y,shareId:J.id}}),children:J.name})}),G(q,{className:"px-4 py-3.5 max-w-[300px]",children:K("div",{className:"flex items-center gap-2 group",children:[G("span",{className:"truncate text-xs font-mono bg-muted/50 text-muted-foreground px-2 py-1 rounded-md border border-border cursor-pointer hover:bg-muted transition-colors flex-1",onClick:()=>N(J.id),title:X.click_to_copy_link(),children:Z}),G(m,{variant:"ghost",size:"icon-sm",className:"h-7 w-7 opacity-0 group-hover:opacity-100 transition-opacity",onClick:()=>N(J.id),children:G(b,{className:"h-3.5 w-3.5"})}),G("a",{href:Z,target:"_blank",rel:"noreferrer",className:"text-muted-foreground hover:text-foreground inline-flex items-center",children:G(g,{className:"h-3.5 w-3.5"})})]})}),G(q,{className:"px-4 py-3.5",children:K("div",{className:"flex items-center gap-2",children:[K(p,{className:"h-6 w-6",children:[J.creator?.image&&G(c,{src:J.creator.image,alt:J.creator.name,className:"object-cover"}),G(n,{className:"text-[10px]",children:OG(J.creator?.name)})]}),G("span",{className:"text-sm font-medium text-foreground truncate max-w-[150px]",children:J.creator?.name||X.unknown()})]})}),G(q,{className:"px-4 py-3.5 text-muted-foreground text-sm",children:K("div",{className:"flex items-center gap-2",children:[G(T,{className:"h-3.5 w-3.5 text-muted-foreground/70"}),G("span",{children:new Date(J.createdAt).toLocaleDateString()})]})}),G(q,{className:"px-4 py-3.5 text-right",children:G("div",{className:"flex justify-end",children:G(x,{checked:!J.isDisabled,onCheckedChange:(z)=>_G({id:J.id,isDisabled:!z})})})})]},J.id)})})]}),G("div",{ref:ZG,className:"h-10 w-full flex items-center justify-center",children:W&&G(f,{className:"h-6 w-6 animate-spin text-primary"})})]})})]})]})})}var BG=P("/projects/$projectId/shares/")({component:zG});export{BG as Route};