@shumai-one/shumai 0.3.0 → 0.3.1

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 (157) hide show
  1. package/bin/{chunk-93jcw0pn.js → chunk-08dr94gp.js} +1 -1
  2. package/bin/{chunk-a1mtpcrd.js → chunk-08mxv0sm.js} +2 -2
  3. package/bin/{chunk-8g1s0pq1.js → chunk-0ed7h2xm.js} +1 -1
  4. package/bin/{chunk-jjgwrvdb.js → chunk-0t4z17qr.js} +1 -1
  5. package/bin/{chunk-cmcsxkh1.js → chunk-1d22tysv.js} +2 -2
  6. package/bin/{chunk-9zy0a8kt.js → chunk-1dawjfk8.js} +2 -2
  7. package/bin/{chunk-q11m2cp3.js → chunk-1nh6xgek.js} +1 -1
  8. package/bin/chunk-20y3wte3.js +2 -0
  9. package/bin/{chunk-4tt3jvm1.js → chunk-2ynx0den.js} +1 -1
  10. package/bin/{chunk-yaydmgcg.js → chunk-31a3k77j.js} +1 -1
  11. package/bin/{chunk-8rkp0fc5.js → chunk-31mjcykb.js} +2 -2
  12. package/bin/{chunk-1yqar2gz.js → chunk-3jdef7n4.js} +1 -1
  13. package/bin/{chunk-h1hj60fr.js → chunk-3rcc5s99.js} +2 -2
  14. package/bin/{chunk-sa4gc1f5.js → chunk-3t7mjvdv.js} +2 -2
  15. package/bin/{chunk-36wf2dq0.js → chunk-4ahve1nf.js} +1 -1
  16. package/bin/{chunk-652x28v2.js → chunk-4hdx2tv0.js} +1 -1
  17. package/bin/chunk-4p7xpfey.js +2 -0
  18. package/bin/{chunk-5x1ppya9.js → chunk-5e1xqaj4.js} +2 -2
  19. package/bin/chunk-5f81c951.js +1 -0
  20. package/bin/chunk-5s7c0qww.js +1 -0
  21. package/bin/{chunk-bnpw72vt.js → chunk-5vqan9c4.js} +2 -2
  22. package/bin/{chunk-e66j69wz.js → chunk-5zntjzxw.js} +1 -1
  23. package/bin/{chunk-jmh934ca.js → chunk-6a2eb3b5.js} +1 -1
  24. package/bin/chunk-6gy7c4d7.js +1 -0
  25. package/bin/chunk-7d4scsf6.js +1 -0
  26. package/bin/chunk-7d5kep8c.js +2 -0
  27. package/bin/{chunk-a06432s3.js → chunk-7eycsyk6.js} +1 -1
  28. package/bin/{chunk-0p333kh7.js → chunk-7jjc175m.js} +3 -3
  29. package/bin/{chunk-zct68gc7.js → chunk-7y8dng8t.js} +2 -2
  30. package/bin/{chunk-nmzvxgd6.js → chunk-8m6zg15c.js} +2 -2
  31. package/bin/chunk-8n60m9x3.js +1 -0
  32. package/bin/{chunk-wv8xk7n7.js → chunk-8qyke29r.js} +1 -1
  33. package/bin/chunk-8yz1expv.js +307 -0
  34. package/bin/{chunk-jxxq76at.js → chunk-90et6bwm.js} +1 -1
  35. package/bin/{chunk-449feg7g.js → chunk-9p2d0mk1.js} +1 -1
  36. package/bin/{chunk-c003q4v6.js → chunk-a10tf0d8.js} +1 -1
  37. package/bin/{chunk-9h3c60vw.js → chunk-a76c5r3c.js} +2 -2
  38. package/bin/chunk-a9t667xv.js +1 -0
  39. package/bin/{chunk-3g54qkv5.js → chunk-amsb41z5.js} +1 -1
  40. package/bin/{chunk-28egv700.js → chunk-arpna31w.js} +1 -1
  41. package/bin/{chunk-k0s6gfg6.js → chunk-b10meywb.js} +1 -1
  42. package/bin/chunk-b1e3tec3.js +62 -0
  43. package/bin/chunk-bdjhb77e.js +2 -0
  44. package/bin/{chunk-6ks4277t.js → chunk-bmqw3j2d.js} +1 -1
  45. package/bin/{chunk-cspp4n1d.js → chunk-c3fvs0bv.js} +2 -2
  46. package/bin/{chunk-ab45988z.js → chunk-c5my1b3k.js} +1 -1
  47. package/bin/{chunk-9bvwwj5y.js → chunk-dhekxndw.js} +1 -1
  48. package/bin/{chunk-pzehf31g.js → chunk-dwaj1yn4.js} +1 -1
  49. package/bin/{chunk-rybbss5f.js → chunk-dwswqq3g.js} +1 -1
  50. package/bin/{chunk-5jhrqbk2.js → chunk-ejfmxjw6.js} +2 -2
  51. package/bin/{chunk-mzre12bp.js → chunk-er1rb6yj.js} +1 -1
  52. package/bin/chunk-etces6ff.js +2 -0
  53. package/bin/{chunk-r8vrfefa.js → chunk-etqpzc9e.js} +1 -1
  54. package/bin/{chunk-pna93n17.js → chunk-f8cn9m28.js} +1 -1
  55. package/bin/{chunk-fvf7j1qj.js → chunk-fdpjw17x.js} +1 -1
  56. package/bin/{chunk-agd2jevj.js → chunk-g2dk56e7.js} +1 -1
  57. package/bin/{chunk-fr3dg9aj.js → chunk-gn8snrnk.js} +1 -1
  58. package/bin/chunk-gqh4ttjh.js +3 -0
  59. package/bin/{chunk-szs8dy1s.js → chunk-gvn079hy.js} +2 -2
  60. package/bin/chunk-h270n69j.js +7 -0
  61. package/bin/{chunk-qwxt1cha.js → chunk-h2wsm7h3.js} +2 -2
  62. package/bin/{chunk-cwebycwv.js → chunk-hfp4hpca.js} +2 -2
  63. package/bin/{chunk-yvgs4kmv.js → chunk-hrzm70wg.js} +1 -1
  64. package/bin/{chunk-fwcm78s9.js → chunk-hz31j0hk.js} +2 -2
  65. package/bin/{chunk-d3cqp0tb.js → chunk-j0p1peav.js} +2 -2
  66. package/bin/{chunk-aa2tkqg0.js → chunk-jm6bxtzt.js} +1 -1
  67. package/bin/{chunk-e0kw3bst.js → chunk-k20bhxed.js} +1 -1
  68. package/bin/{chunk-he4h8e9e.js → chunk-k9w6mk9d.js} +2 -2
  69. package/bin/chunk-kgb16ggd.css +1 -0
  70. package/bin/{chunk-qjf561n2.js → chunk-m4py21f3.js} +1 -1
  71. package/bin/{chunk-jtwvd0te.js → chunk-mahxw48e.js} +2 -2
  72. package/bin/{chunk-f4x2dxe5.js → chunk-mcxsk75h.js} +3 -3
  73. package/bin/chunk-mqbxagfd.js +2 -0
  74. package/bin/{chunk-zy2sqtt9.js → chunk-na2nympm.js} +1 -1
  75. package/bin/{chunk-evzxjqr3.js → chunk-nqh128dt.js} +2 -2
  76. package/bin/chunk-nr89225z.js +2 -0
  77. package/bin/chunk-nrf5r23d.js +1 -0
  78. package/bin/{chunk-ddag2ezv.js → chunk-nt9tfjx6.js} +2 -2
  79. package/bin/chunk-nzy3pjjm.js +15 -0
  80. package/bin/{chunk-pvx55h1v.js → chunk-p396vw9h.js} +1 -1
  81. package/bin/{chunk-wwsvnz4v.js → chunk-p9xfyqh1.js} +2 -2
  82. package/bin/{chunk-swa43tzr.js → chunk-pgae67hk.js} +2 -2
  83. package/bin/chunk-ph11924k.js +1 -0
  84. package/bin/{chunk-phc9efjf.js → chunk-ph3e1bpp.js} +2 -2
  85. package/bin/{chunk-w3m9g3e9.js → chunk-pj0fgb2x.js} +1 -1
  86. package/bin/{chunk-9fefn2st.js → chunk-pp072ksj.js} +1 -1
  87. package/bin/{chunk-qt9efp9y.js → chunk-q5cdjzbv.js} +1 -1
  88. package/bin/{chunk-nd6psyzq.js → chunk-qc6dmzn0.js} +2 -2
  89. package/bin/{chunk-y132jbf0.js → chunk-qgq96tbp.js} +1 -1
  90. package/bin/{chunk-fytbcgak.js → chunk-qmtvy2j4.js} +2 -2
  91. package/bin/{chunk-bf5a4yc8.js → chunk-qvgc9e08.js} +1 -1
  92. package/bin/chunk-rfh4ppaa.js +1 -0
  93. package/bin/chunk-rrhq3t4s.js +1 -0
  94. package/bin/{chunk-nxhzchen.js → chunk-s05f0v9t.js} +1 -1
  95. package/bin/{chunk-gc7b9j22.js → chunk-s7qpj715.js} +1 -1
  96. package/bin/{chunk-vjxgv3r6.js → chunk-sf6fwvrs.js} +1 -1
  97. package/bin/chunk-sr9bty78.js +1 -0
  98. package/bin/{chunk-h3y7szbm.js → chunk-ss45w8ks.js} +2 -2
  99. package/bin/{chunk-4gbs9swm.js → chunk-t2txvzkp.js} +1 -1
  100. package/bin/{chunk-e56nza63.js → chunk-td54rdfj.js} +1 -1
  101. package/bin/{chunk-6wa075zh.js → chunk-tsncwscz.js} +1 -1
  102. package/bin/chunk-vb9m47z9.js +1 -0
  103. package/bin/{chunk-t0detvbj.js → chunk-ve7v8wtv.js} +2 -2
  104. package/bin/{chunk-cm25nm9t.js → chunk-vf066xwh.js} +1 -1
  105. package/bin/{chunk-d5fapvnp.js → chunk-vgb8bzcg.js} +2 -2
  106. package/bin/{chunk-wcfpdfgy.js → chunk-vnfmh5ke.js} +2 -2
  107. package/bin/{chunk-mw0rc5m7.js → chunk-vt4zpasm.js} +1 -1
  108. package/bin/{chunk-hdqvbds8.js → chunk-vy24ncn2.js} +1 -1
  109. package/bin/{chunk-2xmsa8wv.js → chunk-w3a50kz8.js} +1 -1
  110. package/bin/{chunk-bjfwz2m7.js → chunk-w9w5301f.js} +2 -2
  111. package/bin/{chunk-1zpw2mbj.js → chunk-wap08p4j.js} +2 -2
  112. package/bin/{chunk-hktggc90.js → chunk-wny0qagx.js} +1 -1
  113. package/bin/{chunk-dk45f6mp.js → chunk-wqhk76de.js} +2 -2
  114. package/bin/{chunk-en4m76fw.js → chunk-wr5byz6r.js} +1 -1
  115. package/bin/{chunk-ky3dx324.js → chunk-wrz9e73c.js} +2 -2
  116. package/bin/{chunk-6f1twjf6.js → chunk-ws07a9kv.js} +1 -1
  117. package/bin/{chunk-9q32g9jd.js → chunk-x5dcgk62.js} +1 -1
  118. package/bin/{chunk-sprpjp4t.js → chunk-xawwxdq9.js} +2 -2
  119. package/bin/{chunk-736tcjve.js → chunk-y2nw8rbx.js} +2 -2
  120. package/bin/{chunk-48ebezek.js → chunk-y9ttm07y.js} +1 -1
  121. package/bin/chunk-yahb7wan.js +2 -0
  122. package/bin/{chunk-a6dvjjce.js → chunk-zg0vm233.js} +1 -1
  123. package/bin/chunk-zhd2mkbr.js +1 -0
  124. package/bin/{chunk-cfamv4b2.js → chunk-zs9b0f3z.js} +2 -2
  125. package/bin/{chunk-jh6pw37a.js → chunk-zx9cv3t8.js} +1 -1
  126. package/bin/{chunk-8sr8ff6a.js → chunk-zxpef55w.js} +3 -3
  127. package/bin/shumai-app.html +1 -1
  128. package/bin/shumai-app.js +229 -213
  129. package/package.json +7 -7
  130. package/prisma/migrations/20260729073910_change_agent_session_asset_on_delete_to_set_null/migration.sql +5 -0
  131. package/prisma/migrations/20260729114346_asset_size_byte_bigint/migration.sql +2 -0
  132. package/prisma/migrations/20260729114659_ai_usage_tokens_bigint/migration.sql +5 -0
  133. package/prisma/schema.prisma +6 -6
  134. package/bin/chunk-1wz0dge4.js +0 -3
  135. package/bin/chunk-2m2saan7.js +0 -2
  136. package/bin/chunk-2p0rg6xs.js +0 -1
  137. package/bin/chunk-3ge0s4k2.js +0 -1
  138. package/bin/chunk-80d6p55n.js +0 -1
  139. package/bin/chunk-8a9k4qj6.js +0 -2
  140. package/bin/chunk-8gkm2ysh.js +0 -1
  141. package/bin/chunk-8nvybmyv.js +0 -2
  142. package/bin/chunk-9jd3d3f3.js +0 -320
  143. package/bin/chunk-9nwjhams.js +0 -1
  144. package/bin/chunk-a2njf6av.js +0 -1
  145. package/bin/chunk-af3nys0r.js +0 -1
  146. package/bin/chunk-cx1ebj9k.js +0 -1
  147. package/bin/chunk-d1p9qz3y.js +0 -7
  148. package/bin/chunk-ea0fh29m.js +0 -2
  149. package/bin/chunk-epsctccj.js +0 -1
  150. package/bin/chunk-jyr3g5m4.js +0 -1
  151. package/bin/chunk-n0cn0xfg.js +0 -1
  152. package/bin/chunk-q0dhm16d.js +0 -62
  153. package/bin/chunk-qs5k9j8s.js +0 -1
  154. package/bin/chunk-t0fq8b99.js +0 -2
  155. package/bin/chunk-tm6z4hkd.css +0 -1
  156. package/bin/chunk-vdn3jymh.js +0 -2
  157. package/bin/chunk-z5p39kpk.js +0 -2
@@ -0,0 +1,2 @@
1
+ import{Wj as t,ak as a,ih as o}from"./chunk-b1e3tec3.js";function m({className:r,orientation:i="horizontal",decorative:e=!0,...n}){return o(t.Root,{"data-slot":"separator",decorative:e,orientation:i,className:a("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",r),...n})}
2
+ export{m as fa};
@@ -1,2 +1,2 @@
1
- import{n as p}from"./chunk-9jd3d3f3.js";import{V as Yz,W as Zz,X as _z,Y as $z,Z as Kz}from"./chunk-vdn3jymh.js";import{Ua as Uz}from"./chunk-8rkp0fc5.js";import{Wa as S}from"./chunk-cwebycwv.js";import{jg as v}from"./chunk-swa43tzr.js";import{Ng as Jz}from"./chunk-1zpw2mbj.js";import{ch as Xz}from"./chunk-8a9k4qj6.js";import{Dj as A,Mj as Gz,Th as r,Ui as h,bi as o,hk as T,ki as t,mi as e,nh as Bz,nk as Y,oh as B,ph as z,pj as zz,qh as J,rh as a,ri as M,si as s,uh as n,xi as b}from"./chunk-q0dhm16d.js";import{Wk as Rz}from"./chunk-6f1twjf6.js";var Z=Rz(Bz(),1);function uz({projectId:O,contextAssetId:R}){let{isHistoryMode:W,setIsHistoryMode:I,currentSessionId:Vz,chatAssets:u,removeAsset:Wz,messages:E,historySessions:g,isStreaming:D,fetchHistorySessions:m,loadSession:Lz,deleteSession:Nz,startNewSession:Qz,sendMessage:Pz,abortActiveSession:Oz,selectedAgentId:H,setSelectedAgentId:w}=v(),{teamId:_,ensureTeamIdForProject:l}=Xz();Z.useEffect(()=>{if(O)l(O)},[O,l]);let{data:Dz=[]}=n({queryKey:["agents",_],queryFn:async()=>{if(!_)return[];let G=await r.api.teams[":teamId"].agents.$get({param:{teamId:_}});if(!G.ok)throw Error("failed to fetch agents");return G.json()},enabled:!!_}),F=Dz.filter((G)=>G.type==="chat"&&G.enabled);Z.useEffect(()=>{if(F.length>0){if(!F.some((X)=>X.id===H))w(F[0].id)}},[F,H,w]);let[C,j]=Z.useState(""),d=Z.useRef(null),y=Z.useRef(null),k=Z.useRef(!0),f=Z.useRef(!0);Z.useEffect(()=>{f.current=!0,k.current=!0},[O,R,W]),Z.useEffect(()=>{let G=y.current?.querySelector('[data-slot="scroll-area-viewport"]');if(!G)return;let{scrollTop:X,isAtBottom:$}=v.getState(),V=setTimeout(()=>{if($)G.scrollTop=G.scrollHeight;else G.scrollTop=X;let Q=setTimeout(()=>{f.current=!1},50);return()=>clearTimeout(Q)},0);return()=>clearTimeout(V)},[O,R,W]),Z.useEffect(()=>{let G=y.current?.querySelector('[data-slot="scroll-area-viewport"]');if(!G)return;let X=()=>{if(f.current)return;let $=G.scrollTop,V=G.scrollHeight-$-G.clientHeight<10;v.getState().setScrollState($,V)};return G.addEventListener("scroll",X),()=>{G.removeEventListener("scroll",X)}},[O,R,W]);let{ref:qz,isDropTarget:Ez}=Uz({id:"chatbot-sidebar",data:{type:"chatbot-sidebar"}});Z.useEffect(()=>{if(!W){let{isAtBottom:G}=v.getState();if(G||D){let X=k.current?"auto":"smooth";d.current?.scrollIntoView({behavior:X})}k.current=!1}},[E,D,W]),Z.useEffect(()=>{if(W&&_)m(_)},[W,m,_]);let q=a(),Fz=Z.useCallback(()=>{q.invalidateQueries({queryKey:["search"]}),q.invalidateQueries({queryKey:["folders"]}),q.invalidateQueries({queryKey:["files"]}),q.invalidateQueries({queryKey:["file"]}),q.invalidateQueries({queryKey:["version_stacks"]}),q.invalidateQueries({queryKey:["projects"]})},[q]),x=()=>{if(!C.trim()||D||!_)return;Pz(_,C,O,R,Fz),j("")},Hz=(G)=>{if(G.nativeEvent.isComposing)return;if(G.key==="Enter"&&!G.shiftKey)G.preventDefault(),x()},c=(G)=>{if(typeof G==="string")return G;if(Array.isArray(G))return G.map((X)=>{if(typeof X==="string")return X;if(X&&typeof X==="object"&&"type"in X&&X.type==="text"&&"text"in X)return String(X.text);return""}).join("");return""},i=(G)=>{return G.replace(/<@([a-zA-Z0-9_-]+)>/g,"@$1").replace(/^\[([^\]]+)\]:/gm,"\\[$1\\]:")},Cz=(G)=>{switch(G.role){case"user":return z("div",{className:"flex justify-end w-full",children:z("div",{className:"bg-primary text-primary-foreground rounded-lg px-3 py-2 max-w-[85%] text-sm whitespace-pre-wrap shadow-xs break-words",children:c(G.content)})},G.id);case"assistant":{let $=G.content;if(!$)return null;let V=[];if($.forEach((K,L)=>{if(!K||typeof K!=="object")return;let N=K;switch(N.type){case"text":{let U=N.text;if(typeof U!=="string"||!U.trim())return;V.push(z("div",{className:"text-sm leading-[1.8] prose prose-sm dark:prose-invert max-w-none break-words",children:z(p,{components:{pre:({node:P,...vz})=>z("pre",{className:"whitespace-pre-wrap break-all break-words bg-muted text-foreground p-4 rounded-md border border-border/50 font-mono text-sm",...vz})},children:i(U)})},`txt-${L}`));break}case"thinking":{let U=N.thinking;if(typeof U!=="string"||!U.trim())return;V.push(J("details",{className:"group border border-border/50 rounded-lg bg-muted/20 my-2 overflow-hidden",children:[J("summary",{className:"flex items-center gap-2 p-2.5 text-xs font-medium text-muted-foreground select-none cursor-pointer hover:bg-muted/40 transition-colors list-none [&::-webkit-details-marker]:hidden",children:[z(s,{className:"h-3.5 w-3.5 text-primary/70 animate-pulse"}),z("span",{children:Y.role_thinking()||"Thinking"}),z(b,{className:"h-3 w-3 ml-auto transition-transform group-open:rotate-180"})]}),z("div",{className:"p-3 pt-0 text-xs text-muted-foreground/90 border-t border-border/40 bg-muted/10 leading-relaxed prose prose-sm dark:prose-invert max-w-none whitespace-pre-wrap font-sans",children:z(p,{children:i(U)})})]},`think-${L}`));break}case"toolCall":{let U=String(N.name||N.toolName||Y.unknown()),P=N.arguments||N.args;V.push(J("details",{className:"group border border-border/50 rounded-lg bg-violet-500/5 my-2 overflow-hidden",children:[J("summary",{className:"flex items-center gap-2 p-2.5 text-xs font-semibold text-violet-600 dark:text-violet-400 select-none cursor-pointer hover:bg-violet-500/10 transition-colors list-none [&::-webkit-details-marker]:hidden",children:[z(Gz,{className:"h-3.5 w-3.5"}),z("span",{children:Y.calling_tool()}),z("span",{className:"font-mono bg-violet-500/10 px-1.5 py-0.5 rounded text-[11px] text-violet-700 dark:text-violet-300",children:U}),z(b,{className:"h-3 w-3 ml-auto transition-transform group-open:rotate-180"})]}),!!P&&J("div",{className:"p-3 pt-0 text-[10px] text-muted-foreground/90 border-t border-border/40 bg-violet-500/5 font-sans",children:[z("div",{className:"text-[9px] text-muted-foreground/60 uppercase font-bold tracking-wider mb-1.5",children:Y.tool_arguments()||"Arguments"}),z("pre",{className:"font-mono bg-muted/30 p-2 rounded border border-border/30 overflow-x-auto max-h-32",children:JSON.stringify(P,null,2)})]})]},`tool-${L}`));break}case"image":{let U=String(N.mimeType||"image/png"),P=String(N.data||"");V.push(z("div",{className:"my-2 max-w-full",children:P?z("img",{src:P.startsWith("data:")?P:`data:${U};base64,${P}`,alt:"Attached asset",className:"max-h-60 rounded border border-border/50 object-contain shadow-xs"}):z("div",{className:"text-xs text-muted-foreground italic flex items-center gap-1.5 py-1",children:Y.image_object()})},`img-${L}`));break}default:{let U=JSON.stringify(K,null,2);if(U==="{}")return;V.push(z("pre",{className:"text-xs text-foreground/80 font-mono whitespace-pre-wrap break-words bg-muted/20 p-2 rounded",children:U},`other-${L}`))}}}),V.length===0)return null;let Q=!1;if($.length>0){let K=$[$.length-1];if(typeof K==="string"&&K.trim().length>0)Q=!0;else if(K&&typeof K==="object"){let L=K;if(L.type==="text"&&typeof L.text==="string"&&L.text.trim().length>0)Q=!0}}return J("div",{className:"flex flex-col w-full space-y-1",children:[z("div",{className:"space-y-2 w-full",children:V}),Q&&z("div",{className:"text-[10px] text-muted-foreground self-start italic pt-1",children:Y.created_by_agent()})]},G.id)}case"toolResult":return z("div",{className:"flex items-center gap-2 text-xs text-muted-foreground bg-muted/40 p-2 rounded-md border border-border/50",children:z("span",{className:"font-semibold",children:Y.tool_result_with_name({name:G.toolName||"tool"})})},G.id);case"thinking_level_change":case"custom":{let X=G;if(X.customType==="context_display_info"){let Q=X.details?.assets||[];if(Q.length===0)return null;return J("div",{className:"text-xs text-muted-foreground bg-muted/40 p-2.5 rounded-lg border border-border/50 space-y-1 my-1",children:[z("div",{className:"font-semibold",children:Y.assets_added_to_context()}),z("ul",{className:"list-disc list-inside space-y-0.5",children:Q.map((K)=>J("li",{className:"truncate",children:[K.name," ",J("span",{className:"text-muted-foreground/70",children:["(",K.type,")"]})]},K.id))})]},G.id)}let $=X.content||"";return z("div",{className:"text-center text-xs text-muted-foreground italic bg-muted/20 py-1.5 rounded",children:c($)},G.id)}default:return null}};return J("div",{ref:qz,className:T("relative flex flex-col h-full bg-background transition-colors duration-200 min-h-0"),children:[Ez&&z("div",{className:"absolute inset-0 bg-accent/30 border-2 border-primary z-50 pointer-events-none flex items-center justify-center p-6 text-center animate-in fade-in duration-150",children:J("div",{className:"bg-background/95 text-foreground px-4 py-3 rounded-xl border border-border/80 flex flex-col items-center gap-2 shadow-lg max-w-[80%] animate-in zoom-in-95 duration-150",children:[z(M,{className:"h-6 w-6 text-primary animate-bounce"}),z("span",{className:"text-sm font-semibold text-foreground",children:Y.chatbot_drag_drop_hint()||"Drop assets here"})]})}),z("div",{className:"flex items-center justify-between p-4 pt-[0.7rem] flex-shrink-0",children:W?J(B,{children:[z("div",{className:"flex items-center gap-2 font-semibold",children:z("span",{children:Y.history()})}),z("button",{onClick:()=>I(!1),className:"p-1.5 hover:bg-accent rounded-md text-muted-foreground hover:text-foreground transition-colors",title:"Close History",children:z(t,{className:"h-4 w-4"})})]}):J(B,{children:[z("div",{className:"flex items-center gap-2 font-semibold",children:z("span",{children:Y.shumai_agent()})}),J("div",{className:"flex items-center gap-1",children:[z("button",{onClick:Qz,className:"p-1.5 hover:bg-accent rounded-md text-muted-foreground hover:text-foreground transition-colors",title:Y.new_chat(),children:z(zz,{className:"h-4 w-4"})}),z("button",{onClick:()=>I(!0),className:"p-1.5 hover:bg-accent rounded-md text-muted-foreground hover:text-foreground transition-colors",title:Y.history(),children:z(h,{className:"h-4 w-4"})})]})]})}),W?z(S,{className:"flex-1 p-4 min-h-0",children:g.length===0?J("div",{className:"flex flex-col items-center justify-center h-48 text-muted-foreground p-4 text-center",children:[z(h,{className:"h-8 w-8 mb-2 opacity-50 text-muted-foreground"}),z("p",{className:"text-sm",children:Y.no_history_sessions()})]}):z("div",{className:"space-y-2 pb-4",children:g.map((G)=>{let X=G.id===Vz;return J("div",{className:T("group relative flex items-center justify-between p-3 border rounded-lg transition-all cursor-pointer bg-card",X?"border-primary":"border-border hover:bg-accent/30"),children:[J("div",{onClick:()=>_&&Lz(_,G.id),className:"flex-1 min-w-0 pr-6",children:[z("div",{className:"text-sm font-semibold text-foreground truncate",children:G.name||Y.new_chat()}),z("div",{className:"text-xs text-muted-foreground mt-0.5",children:Jz(G.createdAt)})]}),z("button",{onClick:($)=>{if($.stopPropagation(),_&&confirm(Y.delete_session_confirm()))Nz(_,G.id)},className:"absolute right-3 opacity-0 group-hover:opacity-100 focus:opacity-100 transition-opacity text-muted-foreground hover:text-destructive p-1 rounded hover:bg-muted",title:"Delete Session",children:z(A,{className:"h-4 w-4"})})]},G.id)})})}):J(B,{children:[z(S,{ref:y,className:"flex-1 p-4 min-h-0 [&>div>div]:!block",children:E.length===0?J("div",{className:"flex flex-col items-center justify-center h-48 border-2 border-dashed border-border rounded-lg text-muted-foreground p-4 text-center",children:[z(M,{className:"h-8 w-8 mb-2 opacity-50 text-muted-foreground"}),z("p",{className:"text-sm",children:Y.chatbot_drag_drop_hint()})]}):J("div",{className:"space-y-4 pb-4",children:[E.map(Cz),D&&E.length>0&&E[E.length-1].role==="user"&&J("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground italic",children:[z(o,{className:"h-3 w-3 animate-spin text-primary"}),z("span",{children:"Thinking..."})]}),z("div",{ref:d})]})}),z("div",{className:"p-2 flex-shrink-0 bg-background",children:J("div",{className:"relative flex flex-col w-full border border-foreground/20 rounded-2xl shadow-xs transition-all duration-200 focus-within:ring-2 focus-within:ring-primary focus-within:border-transparent bg-background overflow-hidden",children:[u.length>0&&z("div",{className:"flex flex-col gap-1.5 min-h-0 max-h-[160px] overflow-y-auto border-b border-border bg-muted/5 p-3 divide-y divide-border/50",children:u.map((G)=>J("div",{className:"flex items-center justify-between py-1.5 text-xs group",children:[J("div",{className:"flex items-baseline gap-1.5 min-w-0 pr-2",children:[z("span",{className:"truncate font-medium text-foreground",children:G.name}),z("span",{className:"text-[9px] text-muted-foreground uppercase flex-shrink-0",children:G.type})]}),z("button",{onClick:()=>Wz(G.id),className:"text-muted-foreground hover:text-destructive transition-colors p-0.5",title:Y.remove_from_context(),children:z(A,{className:"h-3.5 w-3.5"})})]},G.id))}),z("textarea",{value:C,onChange:(G)=>j(G.target.value),onKeyDown:Hz,placeholder:"Type a message...",rows:2,className:"w-full bg-transparent border-none focus:ring-0 focus:outline-hidden resize-none min-h-[44px] max-h-[120px] px-3 py-2 text-sm focus-visible:outline-hidden focus:ring-transparent focus:border-transparent focus-visible:ring-0",disabled:D}),J("div",{className:"flex justify-between items-center px-3 pb-2 pt-1",children:[z("div",{className:"flex items-center gap-1.5 min-w-0 max-w-[70%]",children:F.length>0?J(Yz,{value:H||"",onValueChange:(G)=>w(G),disabled:D,children:[z(_z,{className:"h-8 border-none bg-transparent hover:bg-muted text-muted-foreground hover:text-foreground focus:ring-0 focus:ring-offset-0 px-2 py-0 gap-1.5 text-xs shrink-0 select-none shadow-none max-w-full",children:z(Zz,{placeholder:Y.select_agent()})}),z($z,{children:F.map((G)=>z(Kz,{value:G.id,children:J("div",{className:"flex items-center gap-2",children:[G.avatar?z("img",{src:G.avatar,alt:G.name,className:"w-4 h-4 rounded-full object-cover"}):z(M,{className:"w-4 h-4 text-muted-foreground"}),z("span",{className:"text-xs",children:G.name})]})},G.id))})]}):z("div",{className:"flex items-center gap-1.5 px-2 py-1 text-[11px] text-muted-foreground/60 italic select-none",children:z("span",{children:Y.no_chat_agents_warning()})})}),D?z("button",{onClick:()=>{if(_)Oz(_)},className:"p-2 rounded-full transition-all duration-200 flex items-center justify-center shrink-0 shadow-sm bg-destructive text-destructive-foreground hover:bg-destructive/90 transform hover:-translate-y-0.5",title:"Stop generation",children:z("div",{className:"h-4 w-4 flex items-center justify-center",children:z("div",{className:"h-3 w-3 bg-current rounded-[2px] bg-white"})})}):z("button",{onClick:x,disabled:!C.trim()||!H,className:T("p-2 rounded-full transition-all duration-200 flex items-center justify-center shrink-0 shadow-sm",C.trim()&&H?"bg-primary text-primary-foreground hover:bg-primary/95 transform hover:-translate-y-0.5":"bg-muted text-muted-foreground cursor-not-allowed opacity-50"),children:z(e,{className:"h-4 w-4"})})]})]})})]})]})}
1
+ import{s as p}from"./chunk-nzy3pjjm.js";import{W as Yz,X as Zz,Y as _z,Z as $z,_ as Kz}from"./chunk-zhd2mkbr.js";import{Va as Uz}from"./chunk-31mjcykb.js";import{Xa as S}from"./chunk-hfp4hpca.js";import{kg as v}from"./chunk-pgae67hk.js";import{Pg as Jz}from"./chunk-wap08p4j.js";import{bh as Xz}from"./chunk-nr89225z.js";import{Gj as Gz,Mh as r,Ni as h,Wh as o,ak as T,di as t,fi as e,gh as Bz,hh as B,ih as z,ik as Y,jh as J,jj as zz,kh as a,ki as M,li as s,nh as n,qi as b,xj as A}from"./chunk-b1e3tec3.js";import{Xk as Rz}from"./chunk-ws07a9kv.js";var Z=Rz(Bz(),1);function uz({projectId:O,contextAssetId:R}){let{isHistoryMode:W,setIsHistoryMode:I,currentSessionId:Vz,chatAssets:u,removeAsset:Wz,messages:E,historySessions:g,isStreaming:D,fetchHistorySessions:m,loadSession:Lz,deleteSession:Nz,startNewSession:Qz,sendMessage:Pz,abortActiveSession:Oz,selectedAgentId:H,setSelectedAgentId:w}=v(),{teamId:_,ensureTeamIdForProject:l}=Xz();Z.useEffect(()=>{if(O)l(O)},[O,l]);let{data:Dz=[]}=n({queryKey:["agents",_],queryFn:async()=>{if(!_)return[];let G=await r.api.teams[":teamId"].agents.$get({param:{teamId:_}});if(!G.ok)throw Error("failed to fetch agents");return G.json()},enabled:!!_}),F=Dz.filter((G)=>G.type==="chat"&&G.enabled);Z.useEffect(()=>{if(F.length>0){if(!F.some((X)=>X.id===H))w(F[0].id)}},[F,H,w]);let[C,j]=Z.useState(""),d=Z.useRef(null),y=Z.useRef(null),k=Z.useRef(!0),f=Z.useRef(!0);Z.useEffect(()=>{f.current=!0,k.current=!0},[O,R,W]),Z.useEffect(()=>{let G=y.current?.querySelector('[data-slot="scroll-area-viewport"]');if(!G)return;let{scrollTop:X,isAtBottom:$}=v.getState(),V=setTimeout(()=>{if($)G.scrollTop=G.scrollHeight;else G.scrollTop=X;let Q=setTimeout(()=>{f.current=!1},50);return()=>clearTimeout(Q)},0);return()=>clearTimeout(V)},[O,R,W]),Z.useEffect(()=>{let G=y.current?.querySelector('[data-slot="scroll-area-viewport"]');if(!G)return;let X=()=>{if(f.current)return;let $=G.scrollTop,V=G.scrollHeight-$-G.clientHeight<10;v.getState().setScrollState($,V)};return G.addEventListener("scroll",X),()=>{G.removeEventListener("scroll",X)}},[O,R,W]);let{ref:qz,isDropTarget:Ez}=Uz({id:"chatbot-sidebar",data:{type:"chatbot-sidebar"}});Z.useEffect(()=>{if(!W){let{isAtBottom:G}=v.getState();if(G||D){let X=k.current?"auto":"smooth";d.current?.scrollIntoView({behavior:X})}k.current=!1}},[E,D,W]),Z.useEffect(()=>{if(W&&_)m(_)},[W,m,_]);let q=a(),Fz=Z.useCallback(()=>{q.invalidateQueries({queryKey:["search"]}),q.invalidateQueries({queryKey:["folders"]}),q.invalidateQueries({queryKey:["files"]}),q.invalidateQueries({queryKey:["file"]}),q.invalidateQueries({queryKey:["version_stacks"]}),q.invalidateQueries({queryKey:["projects"]})},[q]),x=()=>{if(!C.trim()||D||!_)return;Pz(_,C,O,R,Fz),j("")},Hz=(G)=>{if(G.nativeEvent.isComposing)return;if(G.key==="Enter"&&!G.shiftKey)G.preventDefault(),x()},c=(G)=>{if(typeof G==="string")return G;if(Array.isArray(G))return G.map((X)=>{if(typeof X==="string")return X;if(X&&typeof X==="object"&&"type"in X&&X.type==="text"&&"text"in X)return String(X.text);return""}).join("");return""},i=(G)=>{return G.replace(/<@([a-zA-Z0-9_-]+)>/g,"@$1").replace(/^\[([^\]]+)\]:/gm,"\\[$1\\]:")},Cz=(G)=>{switch(G.role){case"user":return z("div",{className:"flex justify-end w-full",children:z("div",{className:"bg-primary text-primary-foreground rounded-lg px-3 py-2 max-w-[85%] text-sm whitespace-pre-wrap shadow-xs break-words",children:c(G.content)})},G.id);case"assistant":{let $=G.content;if(!$)return null;let V=[];if($.forEach((K,L)=>{if(!K||typeof K!=="object")return;let N=K;switch(N.type){case"text":{let U=N.text;if(typeof U!=="string"||!U.trim())return;V.push(z("div",{className:"text-sm leading-[1.8] prose prose-sm dark:prose-invert max-w-none break-words",children:z(p,{components:{pre:({node:P,...vz})=>z("pre",{className:"whitespace-pre-wrap break-all break-words bg-muted text-foreground p-4 rounded-md border border-border/50 font-mono text-sm",...vz})},children:i(U)})},`txt-${L}`));break}case"thinking":{let U=N.thinking;if(typeof U!=="string"||!U.trim())return;V.push(J("details",{className:"group border border-border/50 rounded-lg bg-muted/20 my-2 overflow-hidden",children:[J("summary",{className:"flex items-center gap-2 p-2.5 text-xs font-medium text-muted-foreground select-none cursor-pointer hover:bg-muted/40 transition-colors list-none [&::-webkit-details-marker]:hidden",children:[z(s,{className:"h-3.5 w-3.5 text-primary/70 animate-pulse"}),z("span",{children:Y.role_thinking()||"Thinking"}),z(b,{className:"h-3 w-3 ml-auto transition-transform group-open:rotate-180"})]}),z("div",{className:"p-3 pt-0 text-xs text-muted-foreground/90 border-t border-border/40 bg-muted/10 leading-relaxed prose prose-sm dark:prose-invert max-w-none whitespace-pre-wrap font-sans",children:z(p,{children:i(U)})})]},`think-${L}`));break}case"toolCall":{let U=String(N.name||N.toolName||Y.unknown()),P=N.arguments||N.args;V.push(J("details",{className:"group border border-border/50 rounded-lg bg-violet-500/5 my-2 overflow-hidden",children:[J("summary",{className:"flex items-center gap-2 p-2.5 text-xs font-semibold text-violet-600 dark:text-violet-400 select-none cursor-pointer hover:bg-violet-500/10 transition-colors list-none [&::-webkit-details-marker]:hidden",children:[z(Gz,{className:"h-3.5 w-3.5"}),z("span",{children:Y.calling_tool()}),z("span",{className:"font-mono bg-violet-500/10 px-1.5 py-0.5 rounded text-[11px] text-violet-700 dark:text-violet-300",children:U}),z(b,{className:"h-3 w-3 ml-auto transition-transform group-open:rotate-180"})]}),!!P&&J("div",{className:"p-3 pt-0 text-[10px] text-muted-foreground/90 border-t border-border/40 bg-violet-500/5 font-sans",children:[z("div",{className:"text-[9px] text-muted-foreground/60 uppercase font-bold tracking-wider mb-1.5",children:Y.tool_arguments()||"Arguments"}),z("pre",{className:"font-mono bg-muted/30 p-2 rounded border border-border/30 overflow-x-auto max-h-32",children:JSON.stringify(P,null,2)})]})]},`tool-${L}`));break}case"image":{let U=String(N.mimeType||"image/png"),P=String(N.data||"");V.push(z("div",{className:"my-2 max-w-full",children:P?z("img",{src:P.startsWith("data:")?P:`data:${U};base64,${P}`,alt:"Attached asset",className:"max-h-60 rounded border border-border/50 object-contain shadow-xs"}):z("div",{className:"text-xs text-muted-foreground italic flex items-center gap-1.5 py-1",children:Y.image_object()})},`img-${L}`));break}default:{let U=JSON.stringify(K,null,2);if(U==="{}")return;V.push(z("pre",{className:"text-xs text-foreground/80 font-mono whitespace-pre-wrap break-words bg-muted/20 p-2 rounded",children:U},`other-${L}`))}}}),V.length===0)return null;let Q=!1;if($.length>0){let K=$[$.length-1];if(typeof K==="string"&&K.trim().length>0)Q=!0;else if(K&&typeof K==="object"){let L=K;if(L.type==="text"&&typeof L.text==="string"&&L.text.trim().length>0)Q=!0}}return J("div",{className:"flex flex-col w-full space-y-1",children:[z("div",{className:"space-y-2 w-full",children:V}),Q&&z("div",{className:"text-[10px] text-muted-foreground self-start italic pt-1",children:Y.created_by_agent()})]},G.id)}case"toolResult":return z("div",{className:"flex items-center gap-2 text-xs text-muted-foreground bg-muted/40 p-2 rounded-md border border-border/50",children:z("span",{className:"font-semibold",children:Y.tool_result_with_name({name:G.toolName||"tool"})})},G.id);case"thinking_level_change":case"custom":{let X=G;if(X.customType==="context_display_info"){let Q=X.details?.assets||[];if(Q.length===0)return null;return J("div",{className:"text-xs text-muted-foreground bg-muted/40 p-2.5 rounded-lg border border-border/50 space-y-1 my-1",children:[z("div",{className:"font-semibold",children:Y.assets_added_to_context()}),z("ul",{className:"list-disc list-inside space-y-0.5",children:Q.map((K)=>J("li",{className:"truncate",children:[K.name," ",J("span",{className:"text-muted-foreground/70",children:["(",K.type,")"]})]},K.id))})]},G.id)}let $=X.content||"";return z("div",{className:"text-center text-xs text-muted-foreground italic bg-muted/20 py-1.5 rounded",children:c($)},G.id)}default:return null}};return J("div",{ref:qz,className:T("relative flex flex-col h-full bg-background transition-colors duration-200 min-h-0"),children:[Ez&&z("div",{className:"absolute inset-0 bg-accent/30 border-2 border-primary z-50 pointer-events-none flex items-center justify-center p-6 text-center animate-in fade-in duration-150",children:J("div",{className:"bg-background/95 text-foreground px-4 py-3 rounded-xl border border-border/80 flex flex-col items-center gap-2 shadow-lg max-w-[80%] animate-in zoom-in-95 duration-150",children:[z(M,{className:"h-6 w-6 text-primary animate-bounce"}),z("span",{className:"text-sm font-semibold text-foreground",children:Y.chatbot_drag_drop_hint()||"Drop assets here"})]})}),z("div",{className:"flex items-center justify-between p-4 pt-[0.7rem] flex-shrink-0",children:W?J(B,{children:[z("div",{className:"flex items-center gap-2 font-semibold",children:z("span",{children:Y.history()})}),z("button",{onClick:()=>I(!1),className:"p-1.5 hover:bg-accent rounded-md text-muted-foreground hover:text-foreground transition-colors",title:"Close History",children:z(t,{className:"h-4 w-4"})})]}):J(B,{children:[z("div",{className:"flex items-center gap-2 font-semibold",children:z("span",{children:Y.shumai_agent()})}),J("div",{className:"flex items-center gap-1",children:[z("button",{onClick:Qz,className:"p-1.5 hover:bg-accent rounded-md text-muted-foreground hover:text-foreground transition-colors",title:Y.new_chat(),children:z(zz,{className:"h-4 w-4"})}),z("button",{onClick:()=>I(!0),className:"p-1.5 hover:bg-accent rounded-md text-muted-foreground hover:text-foreground transition-colors",title:Y.history(),children:z(h,{className:"h-4 w-4"})})]})]})}),W?z(S,{className:"flex-1 p-4 min-h-0",children:g.length===0?J("div",{className:"flex flex-col items-center justify-center h-48 text-muted-foreground p-4 text-center",children:[z(h,{className:"h-8 w-8 mb-2 opacity-50 text-muted-foreground"}),z("p",{className:"text-sm",children:Y.no_history_sessions()})]}):z("div",{className:"space-y-2 pb-4",children:g.map((G)=>{let X=G.id===Vz;return J("div",{className:T("group relative flex items-center justify-between p-3 border rounded-lg transition-all cursor-pointer bg-card",X?"border-primary":"border-border hover:bg-accent/30"),children:[J("div",{onClick:()=>_&&Lz(_,G.id),className:"flex-1 min-w-0 pr-6",children:[z("div",{className:"text-sm font-semibold text-foreground truncate",children:G.name||Y.new_chat()}),z("div",{className:"text-xs text-muted-foreground mt-0.5",children:Jz(G.createdAt)})]}),z("button",{onClick:($)=>{if($.stopPropagation(),_&&confirm(Y.delete_session_confirm()))Nz(_,G.id)},className:"absolute right-3 opacity-0 group-hover:opacity-100 focus:opacity-100 transition-opacity text-muted-foreground hover:text-destructive p-1 rounded hover:bg-muted",title:"Delete Session",children:z(A,{className:"h-4 w-4"})})]},G.id)})})}):J(B,{children:[z(S,{ref:y,className:"flex-1 p-4 min-h-0 [&>div>div]:!block",children:E.length===0?J("div",{className:"flex flex-col items-center justify-center h-48 border-2 border-dashed border-border rounded-lg text-muted-foreground p-4 text-center",children:[z(M,{className:"h-8 w-8 mb-2 opacity-50 text-muted-foreground"}),z("p",{className:"text-sm",children:Y.chatbot_drag_drop_hint()})]}):J("div",{className:"space-y-4 pb-4",children:[E.map(Cz),D&&E.length>0&&E[E.length-1].role==="user"&&J("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground italic",children:[z(o,{className:"h-3 w-3 animate-spin text-primary"}),z("span",{children:"Thinking..."})]}),z("div",{ref:d})]})}),z("div",{className:"p-2 flex-shrink-0 bg-background",children:J("div",{className:"relative flex flex-col w-full border border-foreground/20 rounded-2xl shadow-xs transition-all duration-200 focus-within:ring-2 focus-within:ring-primary focus-within:border-transparent bg-background overflow-hidden",children:[u.length>0&&z("div",{className:"flex flex-col gap-1.5 min-h-0 max-h-[160px] overflow-y-auto border-b border-border bg-muted/5 p-3 divide-y divide-border/50",children:u.map((G)=>J("div",{className:"flex items-center justify-between py-1.5 text-xs group",children:[J("div",{className:"flex items-baseline gap-1.5 min-w-0 pr-2",children:[z("span",{className:"truncate font-medium text-foreground",children:G.name}),z("span",{className:"text-[9px] text-muted-foreground uppercase flex-shrink-0",children:G.type})]}),z("button",{onClick:()=>Wz(G.id),className:"text-muted-foreground hover:text-destructive transition-colors p-0.5",title:Y.remove_from_context(),children:z(A,{className:"h-3.5 w-3.5"})})]},G.id))}),z("textarea",{value:C,onChange:(G)=>j(G.target.value),onKeyDown:Hz,placeholder:"Type a message...",rows:2,className:"w-full bg-transparent border-none focus:ring-0 focus:outline-hidden resize-none min-h-[44px] max-h-[120px] px-3 py-2 text-sm focus-visible:outline-hidden focus:ring-transparent focus:border-transparent focus-visible:ring-0",disabled:D}),J("div",{className:"flex justify-between items-center px-3 pb-2 pt-1",children:[z("div",{className:"flex items-center gap-1.5 min-w-0 max-w-[70%]",children:F.length>0?J(Yz,{value:H||"",onValueChange:(G)=>w(G),disabled:D,children:[z(_z,{className:"h-8 border-none bg-transparent hover:bg-muted text-muted-foreground hover:text-foreground focus:ring-0 focus:ring-offset-0 px-2 py-0 gap-1.5 text-xs shrink-0 select-none shadow-none max-w-full",children:z(Zz,{placeholder:Y.select_agent()})}),z($z,{children:F.map((G)=>z(Kz,{value:G.id,children:J("div",{className:"flex items-center gap-2",children:[G.avatar?z("img",{src:G.avatar,alt:G.name,className:"w-4 h-4 rounded-full object-cover"}):z(M,{className:"w-4 h-4 text-muted-foreground"}),z("span",{className:"text-xs",children:G.name})]})},G.id))})]}):z("div",{className:"flex items-center gap-1.5 px-2 py-1 text-[11px] text-muted-foreground/60 italic select-none",children:z("span",{children:Y.no_chat_agents_warning()})})}),D?z("button",{onClick:()=>{if(_)Oz(_)},className:"p-2 rounded-full transition-all duration-200 flex items-center justify-center shrink-0 shadow-sm bg-destructive text-destructive-foreground hover:bg-destructive/90 transform hover:-translate-y-0.5",title:"Stop generation",children:z("div",{className:"h-4 w-4 flex items-center justify-center",children:z("div",{className:"h-3 w-3 bg-current rounded-[2px] bg-white"})})}):z("button",{onClick:x,disabled:!C.trim()||!H,className:T("p-2 rounded-full transition-all duration-200 flex items-center justify-center shrink-0 shadow-sm",C.trim()&&H?"bg-primary text-primary-foreground hover:bg-primary/95 transform hover:-translate-y-0.5":"bg-muted text-muted-foreground cursor-not-allowed opacity-50"),children:z(e,{className:"h-4 w-4"})})]})]})})]})]})}
2
2
  export{uz as k};
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Ck as G}from"./chunk-fwcm78s9.js";import{Wk as F}from"./chunk-6f1twjf6.js";var y=F(G(),1),H=new Set(['"',"\\","/","b","f","n","r","t","u"]);function K(b){let f=b.codePointAt(0);return f!==void 0&&f>=0&&f<=31}function Q(b){switch(b){case"\b":return"\\b";case"\f":return"\\f";case`
2
+ import{Dk as G}from"./chunk-hz31j0hk.js";import{Xk as F}from"./chunk-ws07a9kv.js";var y=F(G(),1),H=new Set(['"',"\\","/","b","f","n","r","t","u"]);function K(b){let f=b.codePointAt(0);return f!==void 0&&f>=0&&f<=31}function Q(b){switch(b){case"\b":return"\\b";case"\f":return"\\f";case`
3
3
  `:return"\\n";case"\r":return"\\r";case"\t":return"\\t";default:return`\\u${b.codePointAt(0)?.toString(16).padStart(4,"0")??"0000"}`}}function B(b){let f="",v=!1;for(let k=0;k<b.length;k++){let q=b[k];if(!v){if(f+=q,q==='"')v=!0;continue}if(q==='"'){f+=q,v=!1;continue}if(q==="\\"){let w=b[k+1];if(w===void 0){f+="\\\\";continue}if(w==="u"){let z=b.slice(k+2,k+6);if(/^[0-9a-fA-F]{4}$/.test(z)){f+=`\\u${z}`,k+=5;continue}}if(H.has(w)){f+=`\\${w}`,k+=1;continue}f+="\\\\";continue}f+=K(q)?Q(q):q}return f}function T(b){try{return JSON.parse(b)}catch(f){let v=B(b);if(v!==b)return JSON.parse(v);throw f}}function X(b){if(!b||b.trim()==="")return{};try{return T(b)}catch{try{return y.parse(b)??{}}catch{try{return y.parse(B(b))??{}}catch{return{}}}}}
4
- export{T as Xe,X as Ye};
4
+ export{T as Bk,X as Ck};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{ok as r,pk as p,qk as d,rk as i}from"./chunk-48ebezek.js";import{xk as n}from"./chunk-r8vrfefa.js";import{yk as b}from"./chunk-e0kw3bst.js";import{Bk as I}from"./chunk-bjfwz2m7.js";import"./chunk-fwcm78s9.js";import{Dk as u}from"./chunk-jxxq76at.js";import{Pk as m,Rk as c}from"./chunk-e66j69wz.js";import{Sk as h,Tk as k,Uk as g}from"./chunk-cm25nm9t.js";import{Vk as w}from"./chunk-3g54qkv5.js";import"./chunk-6f1twjf6.js";function JJ(J){for(let X of J){if(X.role==="toolResult")return!0;if(X.role==="assistant"){if(X.content.some((Q)=>Q.type==="toolCall"))return!0}}return!1}function x(J){return J.type==="text"}function QJ(J){return J.type==="thinking"}function XJ(J){return J.type==="toolCall"}function YJ(J){return J.type==="image"}function a(J){if(J)return J;if(typeof process<"u"&&process.env.PI_CACHE_RETENTION==="long")return"long";return"short"}var _J=(J,X,Q)=>{let Y=new g;return(async()=>{let $={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()};try{let N=Q?.apiKey;if(!N)throw Error(`No API key for provider: ${J.provider}`);let V=T(J),_=a(Q?.cacheRetention),q=_==="none"?void 0:Q?.sessionId,j=$J(J,X,N,Q?.headers,q,V),W=qJ(J,X,Q,V,_),H=await Q?.onPayload?.(W,J);if(H!==void 0)W=H;let K={...Q?.signal?{signal:Q.signal}:{},...Q?.timeoutMs!==void 0?{timeout:Q.timeoutMs}:{},maxRetries:Q?.maxRetries??0},{data:P,response:A}=await j.chat.completions.create(W,K).withResponse();await Q?.onResponse?.({status:A.status,headers:u(A.headers)},J),Y.push({type:"start",partial:$});let S=null,L=null,O=!1,M=new Map,f=new Map,U=$.content,v=(z)=>U.indexOf(z),s=(z)=>{let Z=v(z);if(Z===-1)return;if(z.type==="text")Y.push({type:"text_end",contentIndex:Z,content:z.text,partial:$});else if(z.type==="thinking")Y.push({type:"thinking_end",contentIndex:Z,content:z.thinking,partial:$});else if(z.type==="toolCall")z.arguments=I(z.partialArgs),delete z.partialArgs,delete z.streamIndex,Y.push({type:"toolcall_end",contentIndex:Z,toolCall:z,partial:$})},t=()=>{if(!S)S={type:"text",text:""},U.push(S),Y.push({type:"text_start",contentIndex:v(S),partial:$});return S},e=(z)=>{if(!L)L={type:"thinking",thinking:"",thinkingSignature:z},U.push(L),Y.push({type:"thinking_start",contentIndex:v(L),partial:$});return L},o=(z)=>{let Z=typeof z.index==="number"?z.index:void 0,G=Z!==void 0?M.get(Z):void 0;if(!G&&z.id)G=f.get(z.id);if(!G){if(G={type:"toolCall",id:z.id||"",name:z.function?.name||"",arguments:{},partialArgs:"",streamIndex:Z},Z!==void 0)M.set(Z,G);if(z.id)f.set(z.id,G);U.push(G),Y.push({type:"toolcall_start",contentIndex:v(G),partial:$})}if(Z!==void 0&&G.streamIndex===void 0)G.streamIndex=Z,M.set(Z,G);if(z.id)f.set(z.id,G);return G};for await(let z of P){if(!z||typeof z!=="object")continue;if($.responseId||=z.id,typeof z.model==="string"&&z.model.length>0&&z.model!==J.id)$.responseModel||=z.model;if(z.usage)$.usage=C(z.usage,J);let Z=Array.isArray(z.choices)?z.choices[0]:void 0;if(!Z)continue;if(!z.usage&&Z.usage)$.usage=C(Z.usage,J);if(Z.finish_reason){let G=DJ(Z.finish_reason);if($.stopReason=G.stopReason,G.errorMessage)$.errorMessage=G.errorMessage;O=!0}if(Z.delta){if(Z.delta.content!==null&&Z.delta.content!==void 0&&Z.delta.content.length>0){let E=t();E.text+=Z.delta.content,Y.push({type:"text_delta",contentIndex:v(E),delta:Z.delta.content,partial:$})}let G=["reasoning_content","reasoning","reasoning_text"],R=Z.delta,y=null;for(let E of G){let D=R[E];if(typeof D==="string"&&D.length>0){y=E;break}}if(y){let E=R[y];if(typeof E==="string"&&E.length>0){let D=J.provider==="opencode-go"&&y==="reasoning"?"reasoning_content":y,F=e(D);F.thinking+=E,Y.push({type:"thinking_delta",contentIndex:v(F),delta:E,partial:$})}}if(Z?.delta?.tool_calls)for(let E of Z.delta.tool_calls){let D=o(E);if(!D.id&&E.id)D.id=E.id,f.set(E.id,D);if(!D.name&&E.function?.name)D.name=E.function.name;let F="";if(E.function?.arguments)F=E.function.arguments,D.partialArgs=(D.partialArgs??"")+E.function.arguments,D.arguments=I(D.partialArgs);Y.push({type:"toolcall_delta",contentIndex:v(D),delta:F,partial:$})}let B=Z.delta.reasoning_details;if(B&&Array.isArray(B)){for(let E of B)if(E.type==="reasoning.encrypted"&&E.id&&E.data){let D=$.content.find((F)=>F.type==="toolCall"&&F.id===E.id);if(D)D.thoughtSignature=JSON.stringify(E)}}}}for(let z of U)s(z);if(Q?.signal?.aborted)throw Error("Request was aborted");if($.stopReason==="aborted")throw Error("Request was aborted");if($.stopReason==="error")throw Error($.errorMessage||"Provider returned an error stop reason");if(!O)throw Error("Stream ended without finish_reason");Y.push({type:"done",reason:$.stopReason,message:$}),Y.end()}catch(N){for(let _ of $.content)delete _.index,delete _.partialArgs,delete _.streamIndex;$.stopReason=Q?.signal?.aborted?"aborted":"error",$.errorMessage=N instanceof Error?N.message:JSON.stringify(N);let V=N?.error?.metadata?.raw;if(V)$.errorMessage+=`
2
+ import{pk as r,qk as p,rk as d,sk as i}from"./chunk-y9ttm07y.js";import{yk as n}from"./chunk-etqpzc9e.js";import{zk as b}from"./chunk-k20bhxed.js";import{Ck as I}from"./chunk-c3fvs0bv.js";import"./chunk-hz31j0hk.js";import{Ek as u}from"./chunk-90et6bwm.js";import{Qk as m,Sk as c}from"./chunk-5zntjzxw.js";import{Tk as h,Uk as k,Vk as g}from"./chunk-vf066xwh.js";import{Wk as w}from"./chunk-qvgc9e08.js";import"./chunk-ws07a9kv.js";function JJ(J){for(let X of J){if(X.role==="toolResult")return!0;if(X.role==="assistant"){if(X.content.some((Q)=>Q.type==="toolCall"))return!0}}return!1}function x(J){return J.type==="text"}function QJ(J){return J.type==="thinking"}function XJ(J){return J.type==="toolCall"}function YJ(J){return J.type==="image"}function a(J){if(J)return J;if(typeof process<"u"&&process.env.PI_CACHE_RETENTION==="long")return"long";return"short"}var _J=(J,X,Q)=>{let Y=new g;return(async()=>{let $={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()};try{let N=Q?.apiKey;if(!N)throw Error(`No API key for provider: ${J.provider}`);let V=T(J),_=a(Q?.cacheRetention),q=_==="none"?void 0:Q?.sessionId,j=$J(J,X,N,Q?.headers,q,V),W=qJ(J,X,Q,V,_),H=await Q?.onPayload?.(W,J);if(H!==void 0)W=H;let K={...Q?.signal?{signal:Q.signal}:{},...Q?.timeoutMs!==void 0?{timeout:Q.timeoutMs}:{},maxRetries:Q?.maxRetries??0},{data:P,response:A}=await j.chat.completions.create(W,K).withResponse();await Q?.onResponse?.({status:A.status,headers:u(A.headers)},J),Y.push({type:"start",partial:$});let S=null,L=null,O=!1,M=new Map,f=new Map,U=$.content,v=(z)=>U.indexOf(z),s=(z)=>{let Z=v(z);if(Z===-1)return;if(z.type==="text")Y.push({type:"text_end",contentIndex:Z,content:z.text,partial:$});else if(z.type==="thinking")Y.push({type:"thinking_end",contentIndex:Z,content:z.thinking,partial:$});else if(z.type==="toolCall")z.arguments=I(z.partialArgs),delete z.partialArgs,delete z.streamIndex,Y.push({type:"toolcall_end",contentIndex:Z,toolCall:z,partial:$})},t=()=>{if(!S)S={type:"text",text:""},U.push(S),Y.push({type:"text_start",contentIndex:v(S),partial:$});return S},e=(z)=>{if(!L)L={type:"thinking",thinking:"",thinkingSignature:z},U.push(L),Y.push({type:"thinking_start",contentIndex:v(L),partial:$});return L},o=(z)=>{let Z=typeof z.index==="number"?z.index:void 0,G=Z!==void 0?M.get(Z):void 0;if(!G&&z.id)G=f.get(z.id);if(!G){if(G={type:"toolCall",id:z.id||"",name:z.function?.name||"",arguments:{},partialArgs:"",streamIndex:Z},Z!==void 0)M.set(Z,G);if(z.id)f.set(z.id,G);U.push(G),Y.push({type:"toolcall_start",contentIndex:v(G),partial:$})}if(Z!==void 0&&G.streamIndex===void 0)G.streamIndex=Z,M.set(Z,G);if(z.id)f.set(z.id,G);return G};for await(let z of P){if(!z||typeof z!=="object")continue;if($.responseId||=z.id,typeof z.model==="string"&&z.model.length>0&&z.model!==J.id)$.responseModel||=z.model;if(z.usage)$.usage=C(z.usage,J);let Z=Array.isArray(z.choices)?z.choices[0]:void 0;if(!Z)continue;if(!z.usage&&Z.usage)$.usage=C(Z.usage,J);if(Z.finish_reason){let G=DJ(Z.finish_reason);if($.stopReason=G.stopReason,G.errorMessage)$.errorMessage=G.errorMessage;O=!0}if(Z.delta){if(Z.delta.content!==null&&Z.delta.content!==void 0&&Z.delta.content.length>0){let E=t();E.text+=Z.delta.content,Y.push({type:"text_delta",contentIndex:v(E),delta:Z.delta.content,partial:$})}let G=["reasoning_content","reasoning","reasoning_text"],R=Z.delta,y=null;for(let E of G){let D=R[E];if(typeof D==="string"&&D.length>0){y=E;break}}if(y){let E=R[y];if(typeof E==="string"&&E.length>0){let D=J.provider==="opencode-go"&&y==="reasoning"?"reasoning_content":y,F=e(D);F.thinking+=E,Y.push({type:"thinking_delta",contentIndex:v(F),delta:E,partial:$})}}if(Z?.delta?.tool_calls)for(let E of Z.delta.tool_calls){let D=o(E);if(!D.id&&E.id)D.id=E.id,f.set(E.id,D);if(!D.name&&E.function?.name)D.name=E.function.name;let F="";if(E.function?.arguments)F=E.function.arguments,D.partialArgs=(D.partialArgs??"")+E.function.arguments,D.arguments=I(D.partialArgs);Y.push({type:"toolcall_delta",contentIndex:v(D),delta:F,partial:$})}let B=Z.delta.reasoning_details;if(B&&Array.isArray(B)){for(let E of B)if(E.type==="reasoning.encrypted"&&E.id&&E.data){let D=$.content.find((F)=>F.type==="toolCall"&&F.id===E.id);if(D)D.thoughtSignature=JSON.stringify(E)}}}}for(let z of U)s(z);if(Q?.signal?.aborted)throw Error("Request was aborted");if($.stopReason==="aborted")throw Error("Request was aborted");if($.stopReason==="error")throw Error($.errorMessage||"Provider returned an error stop reason");if(!O)throw Error("Stream ended without finish_reason");Y.push({type:"done",reason:$.stopReason,message:$}),Y.end()}catch(N){for(let _ of $.content)delete _.index,delete _.partialArgs,delete _.streamIndex;$.stopReason=Q?.signal?.aborted?"aborted":"error",$.errorMessage=N instanceof Error?N.message:JSON.stringify(N);let V=N?.error?.metadata?.raw;if(V)$.errorMessage+=`
3
3
  ${V}`;Y.push({type:"error",reason:$.stopReason,error:$}),Y.end()}})(),Y},MJ=(J,X,Q)=>{let Y=Q?.apiKey;if(!Y)throw Error(`No API key for provider: ${J.provider}`);let $=m(J,Q,Y),N=Q?.reasoning?k(J,Q.reasoning):void 0,V=N==="off"?void 0:N,_=Q?.toolChoice;return _J(J,X,{...$,reasoningEffort:V,toolChoice:_})};function $J(J,X,Q,Y,$,N=T(J)){let V={...J.headers};if(J.provider==="github-copilot"){let q=d(X.messages),j=i({messages:X.messages,hasImages:q});Object.assign(V,j)}if($&&N.sendSessionAffinityHeaders)V.session_id=$,V["x-client-request-id"]=$,V["x-session-affinity"]=$;if(Y)Object.assign(V,Y);let _=J.provider==="cloudflare-ai-gateway"?{...V,Authorization:V.Authorization??null,"cf-aig-authorization":`Bearer ${Q}`}:V;return new b({apiKey:Q,baseURL:r(J.provider)?p(J):J.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:_})}function qJ(J,X,Q,Y=T(J),$=a(Q?.cacheRetention)){let N=WJ(J,X,Y),V=zJ(Y,$),_={model:J.id,messages:N,stream:!0,prompt_cache_key:J.baseUrl.includes("api.openai.com")&&$!=="none"||$==="long"&&Y.supportsLongCacheRetention?n(Q?.sessionId):void 0,prompt_cache_retention:$==="long"&&Y.supportsLongCacheRetention?"24h":void 0};if(Y.supportsUsageInStreaming!==!1)_.stream_options={include_usage:!0};if(Y.supportsStore)_.store=!1;if(Q?.maxTokens)if(Y.maxTokensField==="max_tokens")_.max_tokens=Q.maxTokens;else _.max_completion_tokens=Q.maxTokens;if(Q?.temperature!==void 0)_.temperature=Q.temperature;if(X.tools&&X.tools.length>0){if(_.tools=GJ(X.tools,Y),Y.zaiToolStream)_.tool_stream=!0}else if(JJ(X.messages))_.tools=[];if(V)LJ(N,_.tools,V);if(Q?.toolChoice)_.tool_choice=Q.toolChoice;if(Y.thinkingFormat==="zai"&&J.reasoning)_.enable_thinking=!!Q?.reasoningEffort;else if(Y.thinkingFormat==="qwen"&&J.reasoning)_.enable_thinking=!!Q?.reasoningEffort;else if(Y.thinkingFormat==="qwen-chat-template"&&J.reasoning)_.chat_template_kwargs={enable_thinking:!!Q?.reasoningEffort,preserve_thinking:!0};else if(Y.thinkingFormat==="deepseek"&&J.reasoning){if(_.thinking={type:Q?.reasoningEffort?"enabled":"disabled"},Q?.reasoningEffort&&Y.supportsReasoningEffort)_.reasoning_effort=J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort}else if(Y.thinkingFormat==="openrouter"&&J.reasoning){let q=_;if(Q?.reasoningEffort)q.reasoning={effort:J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort};else if(J.thinkingLevelMap?.off!==null)q.reasoning={effort:J.thinkingLevelMap?.off??"none"}}else if(Y.thinkingFormat==="together"&&J.reasoning){let q=_;if(q.reasoning={enabled:!!Q?.reasoningEffort},Q?.reasoningEffort&&Y.supportsReasoningEffort)q.reasoning_effort=J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort}else if(Y.thinkingFormat==="string-thinking"&&J.reasoning){let q=_;if(Q?.reasoningEffort)q.thinking=J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort;else if(J.thinkingLevelMap?.off!==null)q.thinking=J.thinkingLevelMap?.off??"none"}else if(Q?.reasoningEffort&&J.reasoning&&Y.supportsReasoningEffort)_.reasoning_effort=J.thinkingLevelMap?.[Q.reasoningEffort]??Q.reasoningEffort;else if(!Q?.reasoningEffort&&J.reasoning&&Y.supportsReasoningEffort){let q=J.thinkingLevelMap?.off;if(typeof q==="string")_.reasoning_effort=q}if(J.baseUrl.includes("openrouter.ai")&&J.compat?.openRouterRouting)_.provider=J.compat.openRouterRouting;if(J.baseUrl.includes("ai-gateway.vercel.sh")&&J.compat?.vercelGatewayRouting){let q=J.compat.vercelGatewayRouting;if(q.only||q.order){let j={};if(q.only)j.only=q.only;if(q.order)j.order=q.order;_.providerOptions={gateway:j}}}return _}function zJ(J,X){if(J.cacheControlFormat!=="anthropic"||X==="none")return;let Q=X==="long"&&J.supportsLongCacheRetention?"1h":void 0;return{type:"ephemeral",...Q?{ttl:Q}:{}}}function LJ(J,X,Q){NJ(J,Q),ZJ(X,Q),VJ(J,Q)}function NJ(J,X){for(let Q of J)if(Q.role==="system"||Q.role==="developer"){jJ(Q,X);return}}function VJ(J,X){for(let Q=J.length-1;Q>=0;Q--){let Y=J[Q];if(Y.role==="user"||Y.role==="assistant"){if(EJ(Y,X))return}}}function ZJ(J,X){if(!J||J.length===0)return;let Q=J[J.length-1];Q.cache_control=X}function jJ(J,X){return l(J,X)}function EJ(J,X){if(J.role==="user"||J.role==="assistant")return l(J,X);return!1}function l(J,X){let Q=J.content;if(typeof Q==="string"){if(Q.length===0)return!1;return J.content=[{type:"text",text:Q,cache_control:X}],!0}if(!Array.isArray(Q))return!1;for(let Y=Q.length-1;Y>=0;Y--){let $=Q[Y];if($?.type==="text"){let N=$;return N.cache_control=X,!0}}return!1}function WJ(J,X,Q){let Y=[],$=(_)=>{if(_.includes("|")){let[q]=_.split("|");return q.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,40)}if(J.provider==="openai")return _.length>40?_.slice(0,40):_;return _},N=c(X.messages,J,(_)=>$(_));if(X.systemPrompt){let q=J.reasoning&&Q.supportsDeveloperRole?"developer":"system";Y.push({role:q,content:w(X.systemPrompt)})}let V=null;for(let _=0;_<N.length;_++){let q=N[_];if(Q.requiresAssistantAfterToolResult&&V==="toolResult"&&q.role==="user")Y.push({role:"assistant",content:"I have processed the tool results."});if(q.role==="user")if(typeof q.content==="string")Y.push({role:"user",content:w(q.content)});else{let j=q.content.map((W)=>{if(W.type==="text")return{type:"text",text:w(W.text)};else return{type:"image_url",image_url:{url:`data:${W.mimeType};base64,${W.data}`}}});if(j.length===0)continue;Y.push({role:"user",content:j})}else if(q.role==="assistant"){let j={role:"assistant",content:Q.requiresAssistantAfterToolResult?"":null},W=q.content.filter(x).filter((L)=>L.text.trim().length>0).map((L)=>({type:"text",text:w(L.text)})),H=W.map((L)=>L.text).join(""),K=q.content.filter(QJ).filter((L)=>L.thinking.trim().length>0);if(K.length>0)if(Q.requiresThinkingAsText){let L=K.map((O)=>w(O.thinking)).join(`
4
4
 
5
5
  `);j.content=[{type:"text",text:L},...W]}else{if(H.length>0)j.content=H;let L=K[0].thinkingSignature;if(J.provider==="opencode-go"&&L==="reasoning")L="reasoning_content";if(L&&L.length>0)j[L]=K.map((O)=>O.thinking).join(`
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  function q(k){let b=3735928559,d=1103547991;for(let f=0;f<k.length;f++){let l=k.charCodeAt(f);b=Math.imul(b^l,2654435761),d=Math.imul(d^l,1597334677)}return b=Math.imul(b^b>>>16,2246822507)^Math.imul(d^d>>>13,3266489909),d=Math.imul(d^d>>>16,2246822507)^Math.imul(b^b>>>13,3266489909),(d>>>0).toString(36)+(b>>>0).toString(36)}
3
- export{q as wk};
3
+ export{q as xk};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Vb as g,Wb as T,Xb as R}from"./chunk-ddag2ezv.js";import"./chunk-hdqvbds8.js";import{Zb as V}from"./chunk-en4m76fw.js";import{_b as Y}from"./chunk-h3y7szbm.js";import{fc as k,gc as M}from"./chunk-2xmsa8wv.js";import{ic as f}from"./chunk-jmh934ca.js";import"./chunk-bf5a4yc8.js";import{mc as L}from"./chunk-fr3dg9aj.js";import"./chunk-cspp4n1d.js";import{bf as D}from"./chunk-he4h8e9e.js";import{cf as Z}from"./chunk-hktggc90.js";import{zk as H}from"./chunk-e0kw3bst.js";import"./chunk-fwcm78s9.js";import"./chunk-6f1twjf6.js";var h="v1",z=new Set(["openai","openai-codex","opencode","azure-openai-responses"]),E=16;function I(w){let J=new Map;if(!w)return J;for(let j of w.split(",")){let Q=j.trim();if(!Q)continue;let[W,G]=Q.split("=",2);if(!W||!G)continue;J.set(W.trim(),G.trim())}return J}function K(w,J){if(J?.azureDeploymentName)return J.azureDeploymentName;return I(Y("AZURE_OPENAI_DEPLOYMENT_NAME_MAP",J?.env)).get(w.id)||w.id}function B(w){return M(k(w),"Azure OpenAI API error")}var O=(w,J,j)=>{let Q=new Z;return(async()=>{let W=K(w,j),G={role:"assistant",content:[],api:"azure-openai-responses",provider:w.provider,model:w.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()};try{let X=j?.apiKey;if(!X)throw Error(`No API key for provider: ${w.provider}`);let $=y(w,X,j),q=v(w,J,j,W),C=await j?.onPayload?.(q,w);if(C!==void 0)q=C;let S={...j?.signal?{signal:j.signal}:{},...j?.timeoutMs!==void 0?{timeout:j.timeoutMs}:{},maxRetries:j?.maxRetries??0},{data:_,response:F}=await $.responses.create(q,S).withResponse();if(await j?.onResponse?.({status:F.status,headers:L(F.headers)},w),Q.push({type:"start",partial:G}),await R(_,G,Q,w),j?.signal?.aborted)throw Error("Request was aborted");if(G.stopReason==="aborted"||G.stopReason==="error")throw Error("An unknown error occurred");Q.push({type:"done",reason:G.stopReason,message:G}),Q.end()}catch(X){for(let $ of G.content)delete $.index,delete $.partialJson;G.stopReason=j?.signal?.aborted?"aborted":"error",G.errorMessage=B(X),Q.push({type:"error",reason:G.stopReason,error:G}),Q.end()}})(),Q},m=(w,J,j)=>{let Q=j?.apiKey;if(!Q)throw Error(`No API key for provider: ${w.provider}`);let W=f(w,J,j,Q),G=j?.reasoning?D(w,j.reasoning):void 0;return O(w,J,{...W,reasoningEffort:G==="off"?void 0:G})};function A(w){let J=w.trim().replace(/\/+$/,""),j;try{j=new URL(J)}catch{throw Error(`Invalid Azure OpenAI base URL: ${w}`)}let Q=j.hostname.endsWith(".openai.azure.com")||j.hostname.endsWith(".cognitiveservices.azure.com")||j.hostname.endsWith(".ai.azure.com"),W=j.pathname.replace(/\/+$/,"");if(Q&&(W===""||W==="/"||W==="/openai"||W==="/openai/v1/responses"))j.pathname="/openai/v1",j.search="";return j.toString().replace(/\/+$/,"")}function b(w){return`https://${w}.openai.azure.com/openai/v1`}function P(w,J){let j=J?.azureApiVersion||Y("AZURE_OPENAI_API_VERSION",J?.env)||h,Q=J?.azureBaseUrl?.trim()||Y("AZURE_OPENAI_BASE_URL",J?.env)?.trim()||void 0,W=J?.azureResourceName||Y("AZURE_OPENAI_RESOURCE_NAME",J?.env),G=Q;if(!G&&W)G=b(W);if(!G&&w.baseUrl)G=w.baseUrl;if(!G)throw Error("Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.");return{baseUrl:A(G),apiVersion:j}}function y(w,J,j){let Q={...w.headers};if(j?.headers)Object.assign(Q,j.headers);let{baseUrl:W,apiVersion:G}=P(w,j);return new H({apiKey:J,apiVersion:G,dangerouslyAllowBrowser:!0,defaultHeaders:Q,baseURL:W})}function v(w,J,j,Q){let W=g(w,J,z),G={model:Q,input:W,stream:!0,prompt_cache_key:V(j?.sessionId),store:!1};if(j?.maxTokens)G.max_output_tokens=Math.max(j.maxTokens,E);if(j?.temperature!==void 0)G.temperature=j?.temperature;if(J.tools&&J.tools.length>0)G.tools=T(J.tools);if(w.reasoning){if(j?.reasoningEffort||j?.reasoningSummary){let X=j?.reasoningEffort?w.thinkingLevelMap?.[j.reasoningEffort]??j.reasoningEffort:"medium";G.reasoning={effort:X,summary:j?.reasoningSummary||"auto"},G.include=["reasoning.encrypted_content"]}else if(w.thinkingLevelMap?.off!==null)G.reasoning={effort:w.thinkingLevelMap?.off??"none"}}return G}export{m as streamSimple,O as stream};
2
+ import{Wb as g,Xb as T,Yb as R}from"./chunk-nt9tfjx6.js";import"./chunk-vy24ncn2.js";import{_b as V}from"./chunk-wr5byz6r.js";import{$b as Y}from"./chunk-ss45w8ks.js";import{gc as k,hc as M}from"./chunk-w3a50kz8.js";import{jc as f}from"./chunk-6a2eb3b5.js";import"./chunk-amsb41z5.js";import{nc as L}from"./chunk-gn8snrnk.js";import"./chunk-w9w5301f.js";import{cf as D}from"./chunk-k9w6mk9d.js";import{df as Z}from"./chunk-wny0qagx.js";import{Ak as H}from"./chunk-k20bhxed.js";import"./chunk-hz31j0hk.js";import"./chunk-ws07a9kv.js";var h="v1",z=new Set(["openai","openai-codex","opencode","azure-openai-responses"]),E=16;function I(w){let J=new Map;if(!w)return J;for(let j of w.split(",")){let Q=j.trim();if(!Q)continue;let[W,G]=Q.split("=",2);if(!W||!G)continue;J.set(W.trim(),G.trim())}return J}function K(w,J){if(J?.azureDeploymentName)return J.azureDeploymentName;return I(Y("AZURE_OPENAI_DEPLOYMENT_NAME_MAP",J?.env)).get(w.id)||w.id}function B(w){return M(k(w),"Azure OpenAI API error")}var O=(w,J,j)=>{let Q=new Z;return(async()=>{let W=K(w,j),G={role:"assistant",content:[],api:"azure-openai-responses",provider:w.provider,model:w.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()};try{let X=j?.apiKey;if(!X)throw Error(`No API key for provider: ${w.provider}`);let $=y(w,X,j),q=v(w,J,j,W),C=await j?.onPayload?.(q,w);if(C!==void 0)q=C;let S={...j?.signal?{signal:j.signal}:{},...j?.timeoutMs!==void 0?{timeout:j.timeoutMs}:{},maxRetries:j?.maxRetries??0},{data:_,response:F}=await $.responses.create(q,S).withResponse();if(await j?.onResponse?.({status:F.status,headers:L(F.headers)},w),Q.push({type:"start",partial:G}),await R(_,G,Q,w),j?.signal?.aborted)throw Error("Request was aborted");if(G.stopReason==="aborted"||G.stopReason==="error")throw Error("An unknown error occurred");Q.push({type:"done",reason:G.stopReason,message:G}),Q.end()}catch(X){for(let $ of G.content)delete $.index,delete $.partialJson;G.stopReason=j?.signal?.aborted?"aborted":"error",G.errorMessage=B(X),Q.push({type:"error",reason:G.stopReason,error:G}),Q.end()}})(),Q},m=(w,J,j)=>{let Q=j?.apiKey;if(!Q)throw Error(`No API key for provider: ${w.provider}`);let W=f(w,J,j,Q),G=j?.reasoning?D(w,j.reasoning):void 0;return O(w,J,{...W,reasoningEffort:G==="off"?void 0:G})};function A(w){let J=w.trim().replace(/\/+$/,""),j;try{j=new URL(J)}catch{throw Error(`Invalid Azure OpenAI base URL: ${w}`)}let Q=j.hostname.endsWith(".openai.azure.com")||j.hostname.endsWith(".cognitiveservices.azure.com")||j.hostname.endsWith(".ai.azure.com"),W=j.pathname.replace(/\/+$/,"");if(Q&&(W===""||W==="/"||W==="/openai"||W==="/openai/v1/responses"))j.pathname="/openai/v1",j.search="";return j.toString().replace(/\/+$/,"")}function b(w){return`https://${w}.openai.azure.com/openai/v1`}function P(w,J){let j=J?.azureApiVersion||Y("AZURE_OPENAI_API_VERSION",J?.env)||h,Q=J?.azureBaseUrl?.trim()||Y("AZURE_OPENAI_BASE_URL",J?.env)?.trim()||void 0,W=J?.azureResourceName||Y("AZURE_OPENAI_RESOURCE_NAME",J?.env),G=Q;if(!G&&W)G=b(W);if(!G&&w.baseUrl)G=w.baseUrl;if(!G)throw Error("Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.");return{baseUrl:A(G),apiVersion:j}}function y(w,J,j){let Q={...w.headers};if(j?.headers)Object.assign(Q,j.headers);let{baseUrl:W,apiVersion:G}=P(w,j);return new H({apiKey:J,apiVersion:G,dangerouslyAllowBrowser:!0,defaultHeaders:Q,baseURL:W})}function v(w,J,j,Q){let W=g(w,J,z),G={model:Q,input:W,stream:!0,prompt_cache_key:V(j?.sessionId),store:!1};if(j?.maxTokens)G.max_output_tokens=Math.max(j.maxTokens,E);if(j?.temperature!==void 0)G.temperature=j?.temperature;if(J.tools&&J.tools.length>0)G.tools=T(J.tools);if(w.reasoning){if(j?.reasoningEffort||j?.reasoningSummary){let X=j?.reasoningEffort?w.thinkingLevelMap?.[j.reasoningEffort]??j.reasoningEffort:"medium";G.reasoning={effort:X,summary:j?.reasoningSummary||"auto"},G.include=["reasoning.encrypted_content"]}else if(w.thinkingLevelMap?.off!==null)G.reasoning={effort:w.thinkingLevelMap?.off??"none"}}return G}export{m as streamSimple,O as stream};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{ud as Z,vd as v}from"./chunk-cmcsxkh1.js";import{ge as $,he as h}from"./chunk-pna93n17.js";import"./chunk-6f1twjf6.js";var F=class extends v{},G=class{#j;#z;constructor(j){this.#j={...j}}async init(){if(this.#z=new M(this.#j.database),this.#j.onCreateConnection)await this.#j.onCreateConnection(this.#z)}async acquireConnection(){return this.#z}async beginTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async commitTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async rollbackTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async releaseConnection(){}async destroy(){}},M=class{#j;constructor(j){this.#j=j}async executeQuery(j){let z=await this.#j.prepare(j.sql).bind(...j.parameters).all(),J=z.meta.changes!=null?BigInt(z.meta.changes):void 0;return{insertId:z.meta.last_row_id===void 0||z.meta.last_row_id===null?void 0:BigInt(z.meta.last_row_id),rows:z?.results||[],numAffectedRows:J}}async*streamQuery(){throw Error("D1 does not support streaming queries.")}},N=class{#j;#z;constructor(j,z){this.#j=j,this.#z=z}async getSchemas(){return[]}async getTables(j={withInternalKyselyTables:!1}){let z=this.#j.selectFrom("sqlite_master").where("type","in",["table","view"]).where("name","not like","sqlite_%").where("name","not like","_cf_%").select(["name","type","sql"]).$castTo();if(!j.withInternalKyselyTables)z=z.where("name","!=",$).where("name","!=",h);let J=await z.execute();if(J.length===0)return[];let w=J.map((V)=>this.#z.prepare("SELECT * FROM pragma_table_info(?)").bind(V.name)),K=await this.#z.batch(w);return J.map((V,x)=>{let Y=K[x]?.results??[],W=V.sql?.split(/[(),]/)?.find((H)=>H.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.filter(Boolean)?.[0]?.replace(/["`]/g,"");if(!W){let H=Y.filter((B)=>B.pk>0),X=H.length===1?H[0]:void 0;if(X&&X.type.toLowerCase()==="integer")W=X.name}return{name:V.name,isView:V.type==="view",columns:Y.map((H)=>({name:H.name,dataType:H.type,isNullable:!H.notnull,isAutoIncrementing:H.name===W,hasDefaultValue:H.dflt_value!=null}))}})}async getMetadata(j){return{tables:await this.getTables(j)}}},U=class extends Z{},P=class{#j;constructor(j){this.#j={...j}}createDriver(){return new G(this.#j)}createQueryCompiler(){return new U}createAdapter(){return new F}createIntrospector(j){return new N(j,this.#j.database)}};export{P as D1SqliteDialect};
2
+ import{vd as Z,wd as v}from"./chunk-1d22tysv.js";import{he as $,ie as h}from"./chunk-f8cn9m28.js";import"./chunk-ws07a9kv.js";var F=class extends v{},G=class{#j;#z;constructor(j){this.#j={...j}}async init(){if(this.#z=new M(this.#j.database),this.#j.onCreateConnection)await this.#j.onCreateConnection(this.#z)}async acquireConnection(){return this.#z}async beginTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async commitTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async rollbackTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async releaseConnection(){}async destroy(){}},M=class{#j;constructor(j){this.#j=j}async executeQuery(j){let z=await this.#j.prepare(j.sql).bind(...j.parameters).all(),J=z.meta.changes!=null?BigInt(z.meta.changes):void 0;return{insertId:z.meta.last_row_id===void 0||z.meta.last_row_id===null?void 0:BigInt(z.meta.last_row_id),rows:z?.results||[],numAffectedRows:J}}async*streamQuery(){throw Error("D1 does not support streaming queries.")}},N=class{#j;#z;constructor(j,z){this.#j=j,this.#z=z}async getSchemas(){return[]}async getTables(j={withInternalKyselyTables:!1}){let z=this.#j.selectFrom("sqlite_master").where("type","in",["table","view"]).where("name","not like","sqlite_%").where("name","not like","_cf_%").select(["name","type","sql"]).$castTo();if(!j.withInternalKyselyTables)z=z.where("name","!=",$).where("name","!=",h);let J=await z.execute();if(J.length===0)return[];let w=J.map((V)=>this.#z.prepare("SELECT * FROM pragma_table_info(?)").bind(V.name)),K=await this.#z.batch(w);return J.map((V,x)=>{let Y=K[x]?.results??[],W=V.sql?.split(/[(),]/)?.find((H)=>H.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.filter(Boolean)?.[0]?.replace(/["`]/g,"");if(!W){let H=Y.filter((B)=>B.pk>0),X=H.length===1?H[0]:void 0;if(X&&X.type.toLowerCase()==="integer")W=X.name}return{name:V.name,isView:V.type==="view",columns:Y.map((H)=>({name:H.name,dataType:H.type,isNullable:!H.notnull,isAutoIncrementing:H.name===W,hasDefaultValue:H.dflt_value!=null}))}})}async getMetadata(j){return{tables:await this.getTables(j)}}},U=class extends Z{},P=class{#j;constructor(j){this.#j={...j}}createDriver(){return new G(this.#j)}createQueryCompiler(){return new U}createAdapter(){return new F}createIntrospector(j){return new N(j,this.#j.database)}};export{P as D1SqliteDialect};
@@ -1,2 +1,2 @@
1
- import{hk as r,ph as o}from"./chunk-q0dhm16d.js";function d({className:t,...a}){return o("div",{"data-slot":"card",className:r("flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm",t),...a})}function n({className:t,...a}){return o("div",{"data-slot":"card-header",className:r("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function c({className:t,...a}){return o("div",{"data-slot":"card-title",className:r("leading-none font-semibold",t),...a})}function s({className:t,...a}){return o("div",{"data-slot":"card-description",className:r("text-sm text-muted-foreground",t),...a})}function i({className:t,...a}){return o("div",{"data-slot":"card-content",className:r("px-6",t),...a})}function l({className:t,...a}){return o("div",{"data-slot":"card-footer",className:r("flex items-center px-6 [.border-t]:pt-6",t),...a})}
2
- export{d as rf,n as sf,c as tf,s as uf,i as vf,l as wf};
1
+ import{ak as r,ih as o}from"./chunk-b1e3tec3.js";function d({className:t,...a}){return o("div",{"data-slot":"card",className:r("flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm",t),...a})}function n({className:t,...a}){return o("div",{"data-slot":"card-header",className:r("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function c({className:t,...a}){return o("div",{"data-slot":"card-title",className:r("leading-none font-semibold",t),...a})}function s({className:t,...a}){return o("div",{"data-slot":"card-description",className:r("text-sm text-muted-foreground",t),...a})}function i({className:t,...a}){return o("div",{"data-slot":"card-content",className:r("px-6",t),...a})}function l({className:t,...a}){return o("div",{"data-slot":"card-footer",className:r("flex items-center px-6 [.border-t]:pt-6",t),...a})}
2
+ export{d as sf,n as tf,c as uf,s as vf,i as wf,l as xf};
@@ -1 +1 @@
1
- import{Ya as lz}from"./chunk-ky3dx324.js";import"./chunk-q11m2cp3.js";import{_a as a}from"./chunk-h1hj60fr.js";import{$a as yz,ab as Dz,bb as bz,cb as Cz,db as fz,eb as Iz,fb as gz,gb as uz}from"./chunk-2m2saan7.js";import{Og as hz}from"./chunk-1zpw2mbj.js";import{Pg as c}from"./chunk-jtwvd0te.js";import{Rg as E,Sg as b,Ug as C,Vg as f,Wg as M,dh as wz,eh as n,fh as Rz,gh as Kz,hh as kz,ih as qz,jh as Az,kh as Ez}from"./chunk-8a9k4qj6.js";import{Ch as m,Gj as Gz,Hh as Pz,Nj as Lz,Rh as Yz,Th as X,Uh as Jz,Vh as Uz,ai as Bz,bi as zz,di as Wz,ei as $z,hk as _z,ik as Sz,jk as Mz,kk as vz,nh as Xz,nk as V,oh as N,ph as z,pi as Tz,pj as Zz,qh as J,rh as x,uh as Vz,vh as Oz,wh as k,wi as i}from"./chunk-q0dhm16d.js";import{Wk as Qz}from"./chunk-6f1twjf6.js";var K=Qz(Xz(),1);function Fz({open:Z,onOpenChange:$,mode:T,teamId:F,project:W}){let q=x(),R=m(),[H,O]=K.useState(""),[v,B]=K.useState(!0),[I,P]=K.useState(void 0),[h,U]=K.useState(void 0),[A,w]=K.useState(!1),S=K.useRef(null);K.useEffect(()=>{if(Z)if(T==="edit"&&W)O(W.name||""),P(W.coverImageKey),U(W.coverImage),B(W.enableNotification!==!1);else O(""),P(void 0),U(void 0),B(!0)},[Z,T,W]);let g=X.api.teams[":teamId"].projects.$post,{mutate:j}=k({mutationFn:async(Q)=>{let _=await g({param:{teamId:F},json:Q});if(!_.ok)throw Error(V.failed_create_project());return await _.json()},onSuccess:(Q)=>{q.invalidateQueries({queryKey:["teams",F,"projects"]}),$(!1);let _=Q;if(_&&typeof _.id==="string")R({to:"/projects/$projectId",params:{projectId:_.id}})}}),u=X.api.projects[":projectId"].$put,{mutate:y}=k({mutationFn:async(Q)=>{let _=await u({param:{projectId:W.id},json:Q});if(!_.ok)throw Error(V.failed_update_project());return await _.json()},onSuccess:()=>{q.invalidateQueries({queryKey:["teams",F,"projects"]}),$(!1)}}),r=X.api.teams[":teamId"].files.$post,{mutate:D}=k({mutationFn:async({file:Q})=>{let _=await r({param:{teamId:F},form:{file:Q}});if(!_.ok)throw Error(V.failed_upload_file());return await _.json()},onSuccess:(Q)=>{let _=Q;if(_&&typeof _.key==="string")P(_.key);w(!1)},onError:()=>{w(!1)}}),o=(Q)=>{let _=Q.target.files?.[0];if(_){w(!0);let e=URL.createObjectURL(_);U(e),D({file:_})}},t=()=>{S.current?.click()},s=(Q)=>{Q.stopPropagation(),P(void 0),U(void 0)},l=()=>{if(!H.trim())return;if(T==="create")j({name:H.trim(),coverImageKey:I,enableNotification:v});else if(T==="edit"&&W?.id)y({name:H.trim(),coverImageKey:I,enableNotification:v})};return z(Rz,{open:Z,onOpenChange:$,children:J(Kz,{className:"sm:max-w-[550px] overflow-hidden rounded-2xl border border-border/60 bg-background/95 backdrop-blur-md shadow-2xl p-0 gap-0",children:[J(kz,{className:"relative overflow-hidden bg-gradient-to-br from-primary/5 to-transparent p-6 border-b border-border/40",children:[z("div",{className:"absolute top-0 right-0 w-24 h-24 bg-primary/10 rounded-full blur-2xl pointer-events-none"}),z("div",{className:"absolute bottom-0 left-10 w-32 h-12 bg-primary/5 rounded-full blur-xl pointer-events-none"}),z("div",{className:"flex items-center gap-3",children:J("div",{children:[z(Az,{className:"text-xl font-semibold tracking-tight text-foreground",children:T==="create"?V.create_new_project():V.project_settings()}),z(Ez,{className:"text-xs text-muted-foreground/80 mt-1",children:T==="create"?V.configure_new_project_description():V.manage_project_description()})]})})]}),J("div",{className:"space-y-6 p-6 max-h-[75vh] overflow-y-auto",children:[J("div",{className:"space-y-2",children:[z(c,{htmlFor:"name",className:"text-sm font-semibold tracking-tight text-foreground",children:V.project_name()}),J("div",{className:"relative",children:[z(n,{id:"name",value:H,onChange:(Q)=>O(Q.target.value),placeholder:V.project_name_placeholder(),className:"h-11 px-4 rounded-xl border-border/80 focus-visible:ring-ring/25 focus-visible:border-primary transition-all shadow-xs pr-10"}),H.trim()&&z("div",{className:"absolute inset-y-0 right-3 flex items-center",children:z(i,{className:"w-4 h-4 text-primary"})})]}),z("p",{className:"text-[11px] text-muted-foreground",children:V.project_name_hint()})]}),J("div",{className:"space-y-3 border-t border-border/40 pt-5",children:[J("div",{className:"flex items-center justify-between",children:[J(c,{className:"text-sm font-semibold tracking-tight text-foreground flex items-center gap-1.5",children:[z($z,{className:"w-4 h-4 text-primary"}),V.project_cover()]}),h&&J("button",{type:"button",onClick:s,className:"text-xs text-muted-foreground hover:text-destructive hover:bg-destructive/5 px-2.5 py-1 rounded-lg transition-all flex items-center gap-1 font-medium",children:[z(Lz,{className:"w-3.5 h-3.5"}),V.remove_cover()]})]}),J("div",{className:"relative aspect-square w-48 mx-auto rounded-2xl border border-dashed border-border flex items-center justify-center cursor-pointer overflow-hidden group shadow-inner bg-muted/20 transition-all duration-300 hover:border-primary/50 hover:bg-muted/40",onClick:t,children:[z("input",{type:"file",ref:S,className:"hidden",accept:"image/*",onChange:o}),A&&z("div",{className:"absolute inset-0 bg-background/70 backdrop-blur-xs flex flex-col items-center justify-center gap-2 z-20",children:J("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-background border rounded-full shadow-lg",children:[z(zz,{className:"w-4 h-4 animate-spin text-primary"}),z("span",{className:"text-xs font-semibold text-foreground",children:V.uploading()})]})}),h?J(N,{children:[z("img",{src:h,alt:V.cover_preview(),className:"w-full h-full object-cover transition-transform duration-500 group-hover:scale-105"}),J("div",{className:"absolute inset-0 bg-black/45 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex flex-col items-center justify-center gap-1.5 text-white z-10",children:[z(Gz,{className:"w-5 h-5 transform translate-y-1 group-hover:translate-y-0 transition-transform duration-300"}),z("span",{className:"text-xs font-semibold",children:V.upload_image()})]})]}):J("div",{className:"flex flex-col items-center gap-2 text-center p-4",children:[z("div",{className:"p-2.5 rounded-full bg-background border shadow-xs group-hover:scale-110 transition-transform duration-300",children:z(Gz,{className:"w-4 h-4 text-muted-foreground"})}),J("div",{children:[z("p",{className:"text-xs font-medium text-foreground",children:V.upload_cover()}),z("p",{className:"text-[11px] text-muted-foreground mt-0.5 max-w-[140px] mx-auto leading-normal",children:V.upload_cover_hint()})]})]})]})]}),J("div",{className:"space-y-3 border-t border-border/40 pt-5",children:[J(c,{className:"text-sm font-semibold tracking-tight text-foreground flex items-center gap-1.5",children:[z(Wz,{className:"w-4 h-4 text-primary"}),V.project_preferences()]}),J("div",{className:"flex items-start justify-between rounded-xl border border-border/50 bg-muted/10 p-4 transition-all duration-300 hover:bg-muted/20",children:[J("div",{className:"space-y-1 pr-4",children:[J("div",{className:"text-sm font-semibold flex items-center gap-2 text-foreground",children:[z(Tz,{className:"w-4 h-4 text-primary"}),V.activity_notifications()]}),z("p",{className:"text-xs text-muted-foreground leading-normal",children:V.activity_notifications_description()})]}),z(a,{checked:v,onCheckedChange:B,disabled:A,className:"mt-0.5"})]})]})]}),J(qz,{className:"flex items-center justify-end gap-3 px-6 py-4 bg-muted/20 border-t border-border/40",children:[z(E,{type:"button",variant:"ghost",onClick:()=>$(!1),disabled:A,className:"rounded-xl h-10 px-4 hover:bg-muted font-medium text-sm text-muted-foreground hover:text-foreground transition-colors",children:V.cancel()}),z(E,{type:"submit",onClick:l,disabled:!H.trim()||A,className:"rounded-xl h-10 px-5 bg-primary text-primary-foreground hover:bg-primary/90 font-semibold text-sm shadow-lg shadow-primary/10 hover:shadow-primary/20 active:scale-98 transition-all flex items-center gap-2",children:A?J(N,{children:[z(zz,{className:"w-4 h-4 animate-spin"}),V.processing()]}):T==="create"?V.create_project():V.save_changes()})]})]})})}function Nz({sortBy:Z,sortDirection:$,onSortChange:T}){let F=(H)=>{T(H,$)},W=()=>{T(Z,$==="asc"?"desc":"asc")},q=(H)=>{switch(H){case"name":return V.sort_name();case"created_at":return V.sort_created();case"updated_at":return V.sort_updated();default:return H}},R=$==="asc";return J(b,{children:[z(C,{asChild:!0,children:J(E,{variant:"outline",className:"gap-2 bg-muted/50",children:[z("span",{className:"text-muted-foreground",children:V.sorted_by_label()}),z("span",{className:"font-medium text-foreground",children:q(Z)})]})}),J(f,{align:"end",className:"w-56 p-2",children:[z("div",{className:"text-xs font-semibold text-muted-foreground mb-2 px-2",children:V.sort_by()}),J(b,{children:[z(C,{asChild:!0,children:J(E,{variant:"ghost",className:"w-full justify-between font-normal px-2 h-10 bg-muted/50 hover:bg-muted mb-2 border",children:[z("span",{children:q(Z)}),z(Jz,{className:"h-4 w-4 opacity-50"})]})}),z(f,{className:"w-52",children:["name","created_at","updated_at"].map((H)=>J(M,{onClick:()=>F(H),className:"justify-between",children:[q(H),Z===H&&z(i,{className:"h-4 w-4"})]},H))})]}),J(E,{variant:"ghost",className:"w-full justify-between font-normal px-2 h-10 bg-muted/50 hover:bg-muted border",onClick:W,children:[z("span",{className:"text-muted-foreground",children:Z==="name"?R?z(N,{children:V.sort_a_to_z()}):z(N,{children:V.sort_z_to_a()}):R?z(N,{children:V.sort_oldest_to_newest()}):z(N,{children:V.sort_newest_to_oldest()})}),R?z(Uz,{className:"h-4 w-4 opacity-50"}):z(Jz,{className:"h-4 w-4 opacity-50"})]})]})]})}var L=Qz(Xz(),1);function tz(){let{teamId:Z}=sz.useParams(),{canEdit:$,canAdmin:T}=wz(),F=m(),W=x(),[q,R]=L.useState(null),[H,O]=L.useState(!1),[v,B]=L.useState("create"),[I,P]=L.useState(void 0),[h,U]=L.useState(!1),[A,w]=L.useState(void 0),[S,g]=L.useState(""),[j,u]=L.useState(!1),[y,r]=L.useState("name"),[D,o]=L.useState("asc"),t=X.api.teams[":teamId"].projects.$get,{data:s}=Oz({queryKey:["teams",Z,"projects",y,D],queryFn:async()=>{let G=await t({param:{teamId:Z},query:{sortBy:y,sortDirection:D}});if(!G.ok)throw Error("Failed to fetch projects");return await G.json()}}),{data:l}=Vz({queryKey:["teams",Z,"members"],queryFn:async()=>{let G=await X.api.teams[":teamId"].members.$get({param:{teamId:Z},query:{}});if(!G.ok)throw Error("Failed to fetch members");return await G.json()}}),{data:Q}=Vz({queryKey:["teams",Z,"me"],queryFn:async()=>{let G=await X.api.teams[":teamId"].me.$get({param:{teamId:Z}});if(!G.ok)throw Error("Failed to fetch me");return await G.json()}}),_=X.api.teams[":teamId"].invite.$post,e=k({mutationFn:async(G)=>{let Y=await _(G);if(!Y.ok)throw Error("Failed to invite");return await Y.json()}}),d=k({mutationFn:async(G)=>{if(!(await X.api.projects[":projectId"].$delete({param:{projectId:G}})).ok)throw Error("Failed to delete project")},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"projects"]})}}),dz=k({mutationFn:async(G)=>{let Y=await X.api.projects[":projectId"].$put({param:{projectId:G.id},json:{enableNotification:!G.enableNotification}});if(!Y.ok)throw Error("Failed to update project notification settings");return await Y.json()},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"projects"]}),Yz.success(V.project_notification_updated())},onError:(G)=>{Yz.error(G instanceof Error?G.message:V.failed_update_project_notification())}}),Hz=()=>{B("create"),P(void 0),O(!0)},pz=()=>{R("create"),setTimeout(()=>{R(null)},100),setTimeout(()=>{Hz()},200)},cz=(G)=>{B("edit"),P(G),O(!0)},xz=(G)=>{w(G),g(""),U(!0)},mz=async()=>{if(A&&S==="delete")try{await d.mutateAsync(A.id),U(!1)}catch(G){console.error(G)}},iz=(G,Y)=>{if(Y.detail>1)return;R(G),setTimeout(()=>{R(null)},100),setTimeout(()=>{F({to:"/projects/$projectId",params:{projectId:G}})},200)},nz=async(G)=>{return(await e.mutateAsync({param:{teamId:Z},json:{role:G}})).code},az=k({mutationFn:async({userId:G,role:Y})=>{if(!(await X.api.teams[":teamId"].members[":userId"].$patch({param:{teamId:Z,userId:G},json:{role:Y}})).ok)throw Error("Failed to update member role")},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"members"]})}}),jz=k({mutationFn:async(G)=>{if(!(await X.api.teams[":teamId"].members[":userId"].$delete({param:{teamId:Z,userId:G}})).ok)throw Error("Failed to remove member")},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"members"]})}}),rz=(G)=>{if(!G)return"??";return G.split(" ").map((Y)=>Y[0]).slice(0,2).join("").toUpperCase()},oz=(G,Y)=>{r(G),o(Y)},p=Array.isArray(l)?l:[];return J("div",{className:"flex-1 overflow-y-auto p-4",children:[J("div",{className:"flex flex-wrap items-center justify-between mb-4 gap-4",children:[z("h1",{className:"text-2xl font-bold",children:V.projects()}),J("div",{className:"flex flex-wrap items-center gap-4",children:[J("div",{className:"flex items-center -space-x-2 cursor-pointer hover:opacity-90",onClick:()=>u(!0),children:[p.slice(0,3).map((G)=>J(Sz,{className:"border-2 border-background w-8 h-8",children:[G.image&&z(Mz,{src:G.image,alt:G.name,className:"object-cover"}),z(vz,{className:"text-[10px]",children:rz(G.name)})]},G.id)),p.length>3&&J("div",{className:"flex items-center justify-center w-8 h-8 rounded-full border-2 border-background bg-muted text-[10px] font-medium",children:["+",p.length-3]})]}),z(Nz,{sortBy:y,sortDirection:D,onSortChange:oz}),$&&J(E,{className:"bg-orange-600 hover:bg-orange-700 text-white gap-2",onClick:Hz,children:[z(Zz,{className:"w-4 h-4"}),V.create_project()]})]})]}),J("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6 gap-4",children:[s.data?.map((G)=>z("div",{className:_z("shadow-md relative border rounded-xl overflow-hidden cursor-pointer transition-transform duration-100 ease-in-out",q===G.id?"scale-95":"scale-100"),onClick:(Y)=>iz(G.id,Y),children:J("div",{className:"flex flex-col",children:[J("div",{className:"relative w-full h-full aspect-square flex items-center justify-center bg-zinc-400/20",children:[G.coverImage?z("img",{src:G.coverImage,alt:G.name,className:"w-full h-full object-cover rounded"}):J("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 180.95 164.7",preserveAspectRatio:"xMidYMid slice",className:"w-full h-full object-cover rounded",children:[z("polygon",{fill:"#FC9F8E",points:"0 18.5 0 76.0 151.69 164.7 180.95 164.7 180.95 113.6"}),z("polygon",{fill:"#FEBAB8",points:"0 0 74.58 61.5 90.53 51.6 110.33 63.9 180.95 18.9 180.95 0"}),z("polyline",{fill:"#FAA5A5",points:"0 18.5 74.58 61.5 90.53 51.6 110.33 63.9 180.95 18.9 180.95 0 0 0"}),z("polygon",{fill:"#EC5B6C",points:"0 76.0 0 164.7 151.69 164.7"}),z("polygon",{fill:"#E85C71",points:"180.95 18.9 110.33 63.9 117.37 68.0 117.26 73.4 180.95 113.6"}),z("polygon",{fill:"#C8405B",points:"117.26 73.4 117.37 99.0 90.53 114.9 174.35 164.7 180.95 164.7 180.95 113.6"}),z("polygon",{fill:"#FFCCBE",points:"90.53 51.6 63.69 68.1 90.53 83.4"}),z("path",{fill:"#FB9991",d:"M 90.53 51.6 L 90.53 61.3 L 100.87 67.4 L 90.53 73.5 L 90.53 83.4 L 117.37 68.0 C 117.15 67.6 90.53 51.6 90.53 51.6 Z"}),z("path",{fill:"#FFEACD",d:"M 63.69 68.1 C 63.47 68.5 64.02 99.3 64.02 99.3 C 64.02 99.3 64.46 99.6 64.9 99.9 L 90.53 83.4 L 63.69 68.1 Z"}),z("polygon",{fill:"#FFCFB5",points:"64.02 99.3 90.53 114.9 90.53 83.4"}),z("path",{fill:"#F67D73",d:"M 90.53 83.4 L 90.53 114.9 L 117.37 99.0 Z"}),z("path",{fill:"#F26560",d:"M 90.53 83.4 L 117.37 99.0 L 117.37 68.0 Z"}),z("polygon",{fill:"#EB5F5B",points:"80.08 67.5 90.53 73.5 90.53 61.3"}),z("polygon",{fill:"#DB4D50",points:"90.53 61.3 90.53 73.5 100.87 67.4"})]}),z("div",{className:"absolute bottom-0 left-0 w-full h-[65%] bg-linear-to-t from-black/35 to-black/0"}),z("p",{className:"absolute left-1 bottom-2 text-white",children:G.name})]}),J("div",{className:"px-2 h-10 flex justify-between items-center",children:[J("p",{className:"truncate pr-1 text-xs text-muted-foreground",children:[V.updated_ago()," ",hz(G.updatedAt??"")]}),z("div",{onClick:(Y)=>Y.stopPropagation(),children:J(b,{modal:!1,children:[z(C,{asChild:!0,children:z("button",{className:"hover:bg-muted outline-none flex px-1",children:z(Bz,{className:"w-5 h-5 text-muted-foreground"})})}),J(f,{align:"end",children:[$&&z(M,{onClick:(Y)=>{Y.stopPropagation(),cz(G)},children:V.project_settings()}),J(M,{className:"flex items-center justify-between gap-4 cursor-pointer",onSelect:(Y)=>{Y.preventDefault(),dz.mutate(G)},children:[z("span",{children:V.notification()}),z(a,{checked:G.enableNotification??!0,className:"pointer-events-none"})]}),T&&z(M,{className:"text-destructive focus:text-destructive",onClick:()=>xz(G),children:V.delete()})]})]})})]})]})},G.id)),$&&z("div",{className:_z("shadow-md relative border rounded-xl overflow-hidden cursor-pointer transition-transform duration-100 ease-in-out border-dashed hover:border-orange-600/50 group",q==="create"?"scale-95":"scale-100"),onClick:pz,children:J("div",{className:"flex flex-col",children:[z("div",{className:"relative w-full aspect-square flex items-center justify-center bg-zinc-400/5 group-hover:bg-orange-600/5 transition-colors",children:z(Zz,{className:"w-8 h-8 text-zinc-400 group-hover:text-orange-600 transition-colors"})}),z("div",{className:"px-2 h-10 flex items-center justify-center bg-zinc-400/10 border-t group-hover:bg-orange-600/10 transition-colors",children:z("p",{className:"text-sm text-muted-foreground group-hover:text-orange-600 transition-colors",children:V.create_project()})})]})})]}),z(Fz,{open:H,onOpenChange:O,mode:v,teamId:Z,project:I}),z(yz,{open:h,onOpenChange:U,children:J(Dz,{children:[J(bz,{children:[z(fz,{children:V.are_you_sure()}),J(Iz,{children:[V.delete_project_warning({name:A?.name??""}),J("div",{className:"mt-4 flex flex-col gap-2 text-foreground",children:[z("span",{className:"text-sm font-medium",children:V.type_delete_to_confirm()}),z(n,{value:S,onChange:(G)=>g(G.target.value),placeholder:V.delete_placeholder(),className:"h-9",autoFocus:!0})]})]})]}),J(Cz,{children:[z(uz,{disabled:d.isPending,children:V.cancel()}),z(gz,{onClick:(G)=>{G.preventDefault(),mz()},disabled:S!=="delete"||d.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:d.isPending?V.deleting():V.delete()})]})]})}),z(lz,{open:j,onOpenChange:u,title:V.team_members(),type:"team",members:p,isOwner:Q?.role==="owner",onInvite:nz,onUpdateRole:async(G,Y)=>{await az.mutateAsync({userId:G,role:Y})},onRemoveMember:async(G)=>{await jz.mutateAsync(G)},currentUserId:Q?.id})]})}var sz=Pz("/teams/$teamId/")({component:tz});export{sz as Route};
1
+ import{Za as lz}from"./chunk-wrz9e73c.js";import"./chunk-1nh6xgek.js";import{$a as a}from"./chunk-3rcc5s99.js";import{ab as yz,bb as Dz,cb as bz,db as Cz,eb as fz,fb as Iz,gb as gz,hb as uz}from"./chunk-20y3wte3.js";import{tg as c}from"./chunk-mahxw48e.js";import{Qg as hz}from"./chunk-wap08p4j.js";import{Rg as b,Tg as C,Ug as f,Vg as M,ch as wz,dh as n}from"./chunk-nr89225z.js";import{Ah as Pz,Aj as Gz,Hj as Lz,Kh as Yz,Mh as X,Nh as Jz,Oh as Uz,Vh as Bz,Wh as zz,Yh as Wz,Zh as $z,ak as _z,ck as E,dk as Sz,ek as Mz,fk as vz,gh as Xz,hh as N,ih as z,ii as Tz,ik as V,jh as J,jj as Zz,jk as Rz,kh as x,kk as Kz,lk as kz,mk as qz,nh as Vz,nk as Az,oh as Oz,ok as Ez,ph as k,pi as i,vh as m}from"./chunk-b1e3tec3.js";import{Xk as Qz}from"./chunk-ws07a9kv.js";var K=Qz(Xz(),1);function Fz({open:Z,onOpenChange:$,mode:T,teamId:F,project:W}){let q=x(),R=m(),[H,O]=K.useState(""),[v,B]=K.useState(!0),[I,P]=K.useState(void 0),[h,U]=K.useState(void 0),[A,w]=K.useState(!1),S=K.useRef(null);K.useEffect(()=>{if(Z)if(T==="edit"&&W)O(W.name||""),P(W.coverImageKey),U(W.coverImage),B(W.enableNotification!==!1);else O(""),P(void 0),U(void 0),B(!0)},[Z,T,W]);let g=X.api.teams[":teamId"].projects.$post,{mutate:j}=k({mutationFn:async(Q)=>{let _=await g({param:{teamId:F},json:Q});if(!_.ok)throw Error(V.failed_create_project());return await _.json()},onSuccess:(Q)=>{q.invalidateQueries({queryKey:["teams",F,"projects"]}),$(!1);let _=Q;if(_&&typeof _.id==="string")R({to:"/projects/$projectId",params:{projectId:_.id}})}}),u=X.api.projects[":projectId"].$put,{mutate:y}=k({mutationFn:async(Q)=>{let _=await u({param:{projectId:W.id},json:Q});if(!_.ok)throw Error(V.failed_update_project());return await _.json()},onSuccess:()=>{q.invalidateQueries({queryKey:["teams",F,"projects"]}),$(!1)}}),r=X.api.teams[":teamId"].files.$post,{mutate:D}=k({mutationFn:async({file:Q})=>{let _=await r({param:{teamId:F},form:{file:Q}});if(!_.ok)throw Error(V.failed_upload_file());return await _.json()},onSuccess:(Q)=>{let _=Q;if(_&&typeof _.key==="string")P(_.key);w(!1)},onError:()=>{w(!1)}}),o=(Q)=>{let _=Q.target.files?.[0];if(_){w(!0);let e=URL.createObjectURL(_);U(e),D({file:_})}},t=()=>{S.current?.click()},s=(Q)=>{Q.stopPropagation(),P(void 0),U(void 0)},l=()=>{if(!H.trim())return;if(T==="create")j({name:H.trim(),coverImageKey:I,enableNotification:v});else if(T==="edit"&&W?.id)y({name:H.trim(),coverImageKey:I,enableNotification:v})};return z(Rz,{open:Z,onOpenChange:$,children:J(Kz,{className:"sm:max-w-[550px] overflow-hidden rounded-2xl border border-border/60 bg-background/95 backdrop-blur-md shadow-2xl p-0 gap-0",children:[J(kz,{className:"relative overflow-hidden bg-gradient-to-br from-primary/5 to-transparent p-6 border-b border-border/40",children:[z("div",{className:"absolute top-0 right-0 w-24 h-24 bg-primary/10 rounded-full blur-2xl pointer-events-none"}),z("div",{className:"absolute bottom-0 left-10 w-32 h-12 bg-primary/5 rounded-full blur-xl pointer-events-none"}),z("div",{className:"flex items-center gap-3",children:J("div",{children:[z(Az,{className:"text-xl font-semibold tracking-tight text-foreground",children:T==="create"?V.create_new_project():V.project_settings()}),z(Ez,{className:"text-xs text-muted-foreground/80 mt-1",children:T==="create"?V.configure_new_project_description():V.manage_project_description()})]})})]}),J("div",{className:"space-y-6 p-6 max-h-[75vh] overflow-y-auto",children:[J("div",{className:"space-y-2",children:[z(c,{htmlFor:"name",className:"text-sm font-semibold tracking-tight text-foreground",children:V.project_name()}),J("div",{className:"relative",children:[z(n,{id:"name",value:H,onChange:(Q)=>O(Q.target.value),placeholder:V.project_name_placeholder(),className:"h-11 px-4 rounded-xl border-border/80 focus-visible:ring-ring/25 focus-visible:border-primary transition-all shadow-xs pr-10"}),H.trim()&&z("div",{className:"absolute inset-y-0 right-3 flex items-center",children:z(i,{className:"w-4 h-4 text-primary"})})]}),z("p",{className:"text-[11px] text-muted-foreground",children:V.project_name_hint()})]}),J("div",{className:"space-y-3 border-t border-border/40 pt-5",children:[J("div",{className:"flex items-center justify-between",children:[J(c,{className:"text-sm font-semibold tracking-tight text-foreground flex items-center gap-1.5",children:[z($z,{className:"w-4 h-4 text-primary"}),V.project_cover()]}),h&&J("button",{type:"button",onClick:s,className:"text-xs text-muted-foreground hover:text-destructive hover:bg-destructive/5 px-2.5 py-1 rounded-lg transition-all flex items-center gap-1 font-medium",children:[z(Lz,{className:"w-3.5 h-3.5"}),V.remove_cover()]})]}),J("div",{className:"relative aspect-square w-48 mx-auto rounded-2xl border border-dashed border-border flex items-center justify-center cursor-pointer overflow-hidden group shadow-inner bg-muted/20 transition-all duration-300 hover:border-primary/50 hover:bg-muted/40",onClick:t,children:[z("input",{type:"file",ref:S,className:"hidden",accept:"image/*",onChange:o}),A&&z("div",{className:"absolute inset-0 bg-background/70 backdrop-blur-xs flex flex-col items-center justify-center gap-2 z-20",children:J("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-background border rounded-full shadow-lg",children:[z(zz,{className:"w-4 h-4 animate-spin text-primary"}),z("span",{className:"text-xs font-semibold text-foreground",children:V.uploading()})]})}),h?J(N,{children:[z("img",{src:h,alt:V.cover_preview(),className:"w-full h-full object-cover transition-transform duration-500 group-hover:scale-105"}),J("div",{className:"absolute inset-0 bg-black/45 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex flex-col items-center justify-center gap-1.5 text-white z-10",children:[z(Gz,{className:"w-5 h-5 transform translate-y-1 group-hover:translate-y-0 transition-transform duration-300"}),z("span",{className:"text-xs font-semibold",children:V.upload_image()})]})]}):J("div",{className:"flex flex-col items-center gap-2 text-center p-4",children:[z("div",{className:"p-2.5 rounded-full bg-background border shadow-xs group-hover:scale-110 transition-transform duration-300",children:z(Gz,{className:"w-4 h-4 text-muted-foreground"})}),J("div",{children:[z("p",{className:"text-xs font-medium text-foreground",children:V.upload_cover()}),z("p",{className:"text-[11px] text-muted-foreground mt-0.5 max-w-[140px] mx-auto leading-normal",children:V.upload_cover_hint()})]})]})]})]}),J("div",{className:"space-y-3 border-t border-border/40 pt-5",children:[J(c,{className:"text-sm font-semibold tracking-tight text-foreground flex items-center gap-1.5",children:[z(Wz,{className:"w-4 h-4 text-primary"}),V.project_preferences()]}),J("div",{className:"flex items-start justify-between rounded-xl border border-border/50 bg-muted/10 p-4 transition-all duration-300 hover:bg-muted/20",children:[J("div",{className:"space-y-1 pr-4",children:[J("div",{className:"text-sm font-semibold flex items-center gap-2 text-foreground",children:[z(Tz,{className:"w-4 h-4 text-primary"}),V.activity_notifications()]}),z("p",{className:"text-xs text-muted-foreground leading-normal",children:V.activity_notifications_description()})]}),z(a,{checked:v,onCheckedChange:B,disabled:A,className:"mt-0.5"})]})]})]}),J(qz,{className:"flex items-center justify-end gap-3 px-6 py-4 bg-muted/20 border-t border-border/40",children:[z(E,{type:"button",variant:"ghost",onClick:()=>$(!1),disabled:A,className:"rounded-xl h-10 px-4 hover:bg-muted font-medium text-sm text-muted-foreground hover:text-foreground transition-colors",children:V.cancel()}),z(E,{type:"submit",onClick:l,disabled:!H.trim()||A,className:"rounded-xl h-10 px-5 bg-primary text-primary-foreground hover:bg-primary/90 font-semibold text-sm shadow-lg shadow-primary/10 hover:shadow-primary/20 active:scale-98 transition-all flex items-center gap-2",children:A?J(N,{children:[z(zz,{className:"w-4 h-4 animate-spin"}),V.processing()]}):T==="create"?V.create_project():V.save_changes()})]})]})})}function Nz({sortBy:Z,sortDirection:$,onSortChange:T}){let F=(H)=>{T(H,$)},W=()=>{T(Z,$==="asc"?"desc":"asc")},q=(H)=>{switch(H){case"name":return V.sort_name();case"created_at":return V.sort_created();case"updated_at":return V.sort_updated();default:return H}},R=$==="asc";return J(b,{children:[z(C,{asChild:!0,children:J(E,{variant:"outline",className:"gap-2 bg-muted/50",children:[z("span",{className:"text-muted-foreground",children:V.sorted_by_label()}),z("span",{className:"font-medium text-foreground",children:q(Z)})]})}),J(f,{align:"end",className:"w-56 p-2",children:[z("div",{className:"text-xs font-semibold text-muted-foreground mb-2 px-2",children:V.sort_by()}),J(b,{children:[z(C,{asChild:!0,children:J(E,{variant:"ghost",className:"w-full justify-between font-normal px-2 h-10 bg-muted/50 hover:bg-muted mb-2 border",children:[z("span",{children:q(Z)}),z(Jz,{className:"h-4 w-4 opacity-50"})]})}),z(f,{className:"w-52",children:["name","created_at","updated_at"].map((H)=>J(M,{onClick:()=>F(H),className:"justify-between",children:[q(H),Z===H&&z(i,{className:"h-4 w-4"})]},H))})]}),J(E,{variant:"ghost",className:"w-full justify-between font-normal px-2 h-10 bg-muted/50 hover:bg-muted border",onClick:W,children:[z("span",{className:"text-muted-foreground",children:Z==="name"?R?z(N,{children:V.sort_a_to_z()}):z(N,{children:V.sort_z_to_a()}):R?z(N,{children:V.sort_oldest_to_newest()}):z(N,{children:V.sort_newest_to_oldest()})}),R?z(Uz,{className:"h-4 w-4 opacity-50"}):z(Jz,{className:"h-4 w-4 opacity-50"})]})]})]})}var L=Qz(Xz(),1);function tz(){let{teamId:Z}=sz.useParams(),{canEdit:$,canAdmin:T}=wz(),F=m(),W=x(),[q,R]=L.useState(null),[H,O]=L.useState(!1),[v,B]=L.useState("create"),[I,P]=L.useState(void 0),[h,U]=L.useState(!1),[A,w]=L.useState(void 0),[S,g]=L.useState(""),[j,u]=L.useState(!1),[y,r]=L.useState("name"),[D,o]=L.useState("asc"),t=X.api.teams[":teamId"].projects.$get,{data:s}=Oz({queryKey:["teams",Z,"projects",y,D],queryFn:async()=>{let G=await t({param:{teamId:Z},query:{sortBy:y,sortDirection:D}});if(!G.ok)throw Error("Failed to fetch projects");return await G.json()}}),{data:l}=Vz({queryKey:["teams",Z,"members"],queryFn:async()=>{let G=await X.api.teams[":teamId"].members.$get({param:{teamId:Z},query:{}});if(!G.ok)throw Error("Failed to fetch members");return await G.json()}}),{data:Q}=Vz({queryKey:["teams",Z,"me"],queryFn:async()=>{let G=await X.api.teams[":teamId"].me.$get({param:{teamId:Z}});if(!G.ok)throw Error("Failed to fetch me");return await G.json()}}),_=X.api.teams[":teamId"].invite.$post,e=k({mutationFn:async(G)=>{let Y=await _(G);if(!Y.ok)throw Error("Failed to invite");return await Y.json()}}),d=k({mutationFn:async(G)=>{if(!(await X.api.projects[":projectId"].$delete({param:{projectId:G}})).ok)throw Error("Failed to delete project")},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"projects"]})}}),dz=k({mutationFn:async(G)=>{let Y=await X.api.projects[":projectId"].$put({param:{projectId:G.id},json:{enableNotification:!G.enableNotification}});if(!Y.ok)throw Error("Failed to update project notification settings");return await Y.json()},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"projects"]}),Yz.success(V.project_notification_updated())},onError:(G)=>{Yz.error(G instanceof Error?G.message:V.failed_update_project_notification())}}),Hz=()=>{B("create"),P(void 0),O(!0)},pz=()=>{R("create"),setTimeout(()=>{R(null)},100),setTimeout(()=>{Hz()},200)},cz=(G)=>{B("edit"),P(G),O(!0)},xz=(G)=>{w(G),g(""),U(!0)},mz=async()=>{if(A&&S==="delete")try{await d.mutateAsync(A.id),U(!1)}catch(G){console.error(G)}},iz=(G,Y)=>{if(Y.detail>1)return;R(G),setTimeout(()=>{R(null)},100),setTimeout(()=>{F({to:"/projects/$projectId",params:{projectId:G}})},200)},nz=async(G)=>{return(await e.mutateAsync({param:{teamId:Z},json:{role:G}})).code},az=k({mutationFn:async({userId:G,role:Y})=>{if(!(await X.api.teams[":teamId"].members[":userId"].$patch({param:{teamId:Z,userId:G},json:{role:Y}})).ok)throw Error("Failed to update member role")},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"members"]})}}),jz=k({mutationFn:async(G)=>{if(!(await X.api.teams[":teamId"].members[":userId"].$delete({param:{teamId:Z,userId:G}})).ok)throw Error("Failed to remove member")},onSuccess:()=>{W.invalidateQueries({queryKey:["teams",Z,"members"]})}}),rz=(G)=>{if(!G)return"??";return G.split(" ").map((Y)=>Y[0]).slice(0,2).join("").toUpperCase()},oz=(G,Y)=>{r(G),o(Y)},p=Array.isArray(l)?l:[];return J("div",{className:"flex-1 overflow-y-auto p-4",children:[J("div",{className:"flex flex-wrap items-center justify-between mb-4 gap-4",children:[z("h1",{className:"text-2xl font-bold",children:V.projects()}),J("div",{className:"flex flex-wrap items-center gap-4",children:[J("div",{className:"flex items-center -space-x-2 cursor-pointer hover:opacity-90",onClick:()=>u(!0),children:[p.slice(0,3).map((G)=>J(Sz,{className:"border-2 border-background w-8 h-8",children:[G.image&&z(Mz,{src:G.image,alt:G.name,className:"object-cover"}),z(vz,{className:"text-[10px]",children:rz(G.name)})]},G.id)),p.length>3&&J("div",{className:"flex items-center justify-center w-8 h-8 rounded-full border-2 border-background bg-muted text-[10px] font-medium",children:["+",p.length-3]})]}),z(Nz,{sortBy:y,sortDirection:D,onSortChange:oz}),$&&J(E,{className:"bg-orange-600 hover:bg-orange-700 text-white gap-2",onClick:Hz,children:[z(Zz,{className:"w-4 h-4"}),V.create_project()]})]})]}),J("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6 gap-4",children:[s.data?.map((G)=>z("div",{className:_z("shadow-md relative border rounded-xl overflow-hidden cursor-pointer transition-transform duration-100 ease-in-out",q===G.id?"scale-95":"scale-100"),onClick:(Y)=>iz(G.id,Y),children:J("div",{className:"flex flex-col",children:[J("div",{className:"relative w-full h-full aspect-square flex items-center justify-center bg-zinc-400/20",children:[G.coverImage?z("img",{src:G.coverImage,alt:G.name,className:"w-full h-full object-cover rounded"}):J("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 180.95 164.7",preserveAspectRatio:"xMidYMid slice",className:"w-full h-full object-cover rounded",children:[z("polygon",{fill:"#FC9F8E",points:"0 18.5 0 76.0 151.69 164.7 180.95 164.7 180.95 113.6"}),z("polygon",{fill:"#FEBAB8",points:"0 0 74.58 61.5 90.53 51.6 110.33 63.9 180.95 18.9 180.95 0"}),z("polyline",{fill:"#FAA5A5",points:"0 18.5 74.58 61.5 90.53 51.6 110.33 63.9 180.95 18.9 180.95 0 0 0"}),z("polygon",{fill:"#EC5B6C",points:"0 76.0 0 164.7 151.69 164.7"}),z("polygon",{fill:"#E85C71",points:"180.95 18.9 110.33 63.9 117.37 68.0 117.26 73.4 180.95 113.6"}),z("polygon",{fill:"#C8405B",points:"117.26 73.4 117.37 99.0 90.53 114.9 174.35 164.7 180.95 164.7 180.95 113.6"}),z("polygon",{fill:"#FFCCBE",points:"90.53 51.6 63.69 68.1 90.53 83.4"}),z("path",{fill:"#FB9991",d:"M 90.53 51.6 L 90.53 61.3 L 100.87 67.4 L 90.53 73.5 L 90.53 83.4 L 117.37 68.0 C 117.15 67.6 90.53 51.6 90.53 51.6 Z"}),z("path",{fill:"#FFEACD",d:"M 63.69 68.1 C 63.47 68.5 64.02 99.3 64.02 99.3 C 64.02 99.3 64.46 99.6 64.9 99.9 L 90.53 83.4 L 63.69 68.1 Z"}),z("polygon",{fill:"#FFCFB5",points:"64.02 99.3 90.53 114.9 90.53 83.4"}),z("path",{fill:"#F67D73",d:"M 90.53 83.4 L 90.53 114.9 L 117.37 99.0 Z"}),z("path",{fill:"#F26560",d:"M 90.53 83.4 L 117.37 99.0 L 117.37 68.0 Z"}),z("polygon",{fill:"#EB5F5B",points:"80.08 67.5 90.53 73.5 90.53 61.3"}),z("polygon",{fill:"#DB4D50",points:"90.53 61.3 90.53 73.5 100.87 67.4"})]}),z("div",{className:"absolute bottom-0 left-0 w-full h-[65%] bg-linear-to-t from-black/35 to-black/0"}),z("p",{className:"absolute left-1 bottom-2 text-white",children:G.name})]}),J("div",{className:"px-2 h-10 flex justify-between items-center",children:[J("p",{className:"truncate pr-1 text-xs text-muted-foreground",children:[V.updated_ago()," ",hz(G.updatedAt??"")]}),z("div",{onClick:(Y)=>Y.stopPropagation(),children:J(b,{modal:!1,children:[z(C,{asChild:!0,children:z("button",{className:"hover:bg-muted outline-none flex px-1",children:z(Bz,{className:"w-5 h-5 text-muted-foreground"})})}),J(f,{align:"end",children:[$&&z(M,{onClick:(Y)=>{Y.stopPropagation(),cz(G)},children:V.project_settings()}),J(M,{className:"flex items-center justify-between gap-4 cursor-pointer",onSelect:(Y)=>{Y.preventDefault(),dz.mutate(G)},children:[z("span",{children:V.notification()}),z(a,{checked:G.enableNotification??!0,className:"pointer-events-none"})]}),T&&z(M,{className:"text-destructive focus:text-destructive",onClick:()=>xz(G),children:V.delete()})]})]})})]})]})},G.id)),$&&z("div",{className:_z("shadow-md relative border rounded-xl overflow-hidden cursor-pointer transition-transform duration-100 ease-in-out border-dashed hover:border-orange-600/50 group",q==="create"?"scale-95":"scale-100"),onClick:pz,children:J("div",{className:"flex flex-col",children:[z("div",{className:"relative w-full aspect-square flex items-center justify-center bg-zinc-400/5 group-hover:bg-orange-600/5 transition-colors",children:z(Zz,{className:"w-8 h-8 text-zinc-400 group-hover:text-orange-600 transition-colors"})}),z("div",{className:"px-2 h-10 flex items-center justify-center bg-zinc-400/10 border-t group-hover:bg-orange-600/10 transition-colors",children:z("p",{className:"text-sm text-muted-foreground group-hover:text-orange-600 transition-colors",children:V.create_project()})})]})})]}),z(Fz,{open:H,onOpenChange:O,mode:v,teamId:Z,project:I}),z(yz,{open:h,onOpenChange:U,children:J(Dz,{children:[J(bz,{children:[z(fz,{children:V.are_you_sure()}),J(Iz,{children:[V.delete_project_warning({name:A?.name??""}),J("div",{className:"mt-4 flex flex-col gap-2 text-foreground",children:[z("span",{className:"text-sm font-medium",children:V.type_delete_to_confirm()}),z(n,{value:S,onChange:(G)=>g(G.target.value),placeholder:V.delete_placeholder(),className:"h-9",autoFocus:!0})]})]})]}),J(Cz,{children:[z(uz,{disabled:d.isPending,children:V.cancel()}),z(gz,{onClick:(G)=>{G.preventDefault(),mz()},disabled:S!=="delete"||d.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:d.isPending?V.deleting():V.delete()})]})]})}),z(lz,{open:j,onOpenChange:u,title:V.team_members(),type:"team",members:p,isOwner:Q?.role==="owner",onInvite:nz,onUpdateRole:async(G,Y)=>{await az.mutateAsync({userId:G,role:Y})},onRemoveMember:async(G)=>{await jz.mutateAsync(G)},currentUserId:Q?.id})]})}var sz=Pz("/teams/$teamId/")({component:tz});export{sz as Route};
@@ -0,0 +1,2 @@
1
+ import{Fh as a,Hh as l,Ih as o}from"./chunk-b1e3tec3.js";var p=a()(o((i)=>({fileViewLeftSidebarCollapsed:!0,setFileViewLeftSidebarCollapsed:(e)=>i({fileViewLeftSidebarCollapsed:e}),fileViewRightSidebarCollapsed:!1,setFileViewRightSidebarCollapsed:(e)=>i({fileViewRightSidebarCollapsed:e}),fileListLeftSidebarCollapsed:!1,setFileListLeftSidebarCollapsed:(e)=>i({fileListLeftSidebarCollapsed:e}),fileListRightSidebarCollapsed:!0,setFileListRightSidebarCollapsed:(e)=>i({fileListRightSidebarCollapsed:e}),shareConfigLeftSidebarCollapsed:!1,setShareConfigLeftSidebarCollapsed:(e)=>i({shareConfigLeftSidebarCollapsed:e}),shareConfigRightSidebarCollapsed:!1,setShareConfigRightSidebarCollapsed:(e)=>i({shareConfigRightSidebarCollapsed:e}),viewModes:{},setViewMode:(e,d)=>i((s)=>({viewModes:{...s.viewModes,[e]:d}})),videoTimeDisplayMode:"standard",setVideoTimeDisplayMode:(e)=>i({videoTimeDisplayMode:e})}),{name:"ui-storage",storage:l(()=>localStorage)}));
2
+ export{p as qg};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  function f(b){if(b===void 0)return;let d=Array.from(b);if(d.length<=64)return b;return d.slice(0,64).join("")}
3
- export{f as xk};
3
+ export{f as yk};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
2
  function ct(t){return typeof t>"u"||t===void 0}function V(t){return typeof t==="string"}function F(t){return typeof t==="number"}function J(t){return typeof t==="boolean"}function Y(t){return t===null}function Z(t){return t instanceof Date}function $(t){return typeof t==="bigint"}function pt(t){return typeof Buffer<"u"&&Buffer.isBuffer(t)}function St(t){return typeof t==="function"}function X(t){return typeof t==="object"&&t!==null}function G(t){return t[t.length-1]}function N(t){return Object.freeze(t)}function Wt(t){if(r(t))return t;else return[t]}function r(t){return Array.isArray(t)}function Vt(t){return t}var Bt=["preserve rows","delete rows","drop"],L=N({is(t){return t.kind==="CreateTableNode"},create(t){return N({kind:"CreateTableNode",table:t,columns:N([])})},cloneWithColumn(t,i){return N({...t,columns:N([...t.columns,i])})},cloneWithConstraint(t,i){return N({...t,constraints:t.constraints?N([...t.constraints,i]):N([i])})},cloneWithFrontModifier(t,i){return N({...t,frontModifiers:t.frontModifiers?N([...t.frontModifiers,i]):N([i])})},cloneWithEndModifier(t,i){return N({...t,endModifiers:t.endModifiers?N([...t.endModifiers,i]):N([i])})},cloneWith(t,i){return N({...t,...i})}});var x=N({is(t){return t.kind==="InsertQueryNode"},create(t,i,h){return N({kind:"InsertQueryNode",into:t,...i&&{with:i},replace:h})},createWithoutInto(){return N({kind:"InsertQueryNode"})},cloneWith(t,i){return N({...t,...i})}});class U{nodeStack=[];get parentNode(){return this.nodeStack[this.nodeStack.length-2]}#t=N({AliasNode:this.visitAlias.bind(this),ColumnNode:this.visitColumn.bind(this),IdentifierNode:this.visitIdentifier.bind(this),SchemableIdentifierNode:this.visitSchemableIdentifier.bind(this),RawNode:this.visitRaw.bind(this),ReferenceNode:this.visitReference.bind(this),SelectQueryNode:this.visitSelectQuery.bind(this),SelectionNode:this.visitSelection.bind(this),TableNode:this.visitTable.bind(this),FromNode:this.visitFrom.bind(this),SelectAllNode:this.visitSelectAll.bind(this),AndNode:this.visitAnd.bind(this),OrNode:this.visitOr.bind(this),ValueNode:this.visitValue.bind(this),ValueListNode:this.visitValueList.bind(this),PrimitiveValueListNode:this.visitPrimitiveValueList.bind(this),ParensNode:this.visitParens.bind(this),JoinNode:this.visitJoin.bind(this),OperatorNode:this.visitOperator.bind(this),WhereNode:this.visitWhere.bind(this),InsertQueryNode:this.visitInsertQuery.bind(this),DeleteQueryNode:this.visitDeleteQuery.bind(this),ReturningNode:this.visitReturning.bind(this),CreateTableNode:this.visitCreateTable.bind(this),AddColumnNode:this.visitAddColumn.bind(this),ColumnDefinitionNode:this.visitColumnDefinition.bind(this),DropTableNode:this.visitDropTable.bind(this),DataTypeNode:this.visitDataType.bind(this),OrderByNode:this.visitOrderBy.bind(this),OrderByItemNode:this.visitOrderByItem.bind(this),GroupByNode:this.visitGroupBy.bind(this),GroupByItemNode:this.visitGroupByItem.bind(this),UpdateQueryNode:this.visitUpdateQuery.bind(this),ColumnUpdateNode:this.visitColumnUpdate.bind(this),LimitNode:this.visitLimit.bind(this),OffsetNode:this.visitOffset.bind(this),OnConflictNode:this.visitOnConflict.bind(this),OnDuplicateKeyNode:this.visitOnDuplicateKey.bind(this),CreateIndexNode:this.visitCreateIndex.bind(this),DropIndexNode:this.visitDropIndex.bind(this),ListNode:this.visitList.bind(this),PrimaryKeyConstraintNode:this.visitPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.visitUniqueConstraint.bind(this),ReferencesNode:this.visitReferences.bind(this),CheckConstraintNode:this.visitCheckConstraint.bind(this),WithNode:this.visitWith.bind(this),CommonTableExpressionNode:this.visitCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.visitCommonTableExpressionName.bind(this),HavingNode:this.visitHaving.bind(this),CreateSchemaNode:this.visitCreateSchema.bind(this),DropSchemaNode:this.visitDropSchema.bind(this),AlterTableNode:this.visitAlterTable.bind(this),DropColumnNode:this.visitDropColumn.bind(this),RenameColumnNode:this.visitRenameColumn.bind(this),AlterColumnNode:this.visitAlterColumn.bind(this),ModifyColumnNode:this.visitModifyColumn.bind(this),AddConstraintNode:this.visitAddConstraint.bind(this),DropConstraintNode:this.visitDropConstraint.bind(this),RenameConstraintNode:this.visitRenameConstraint.bind(this),ForeignKeyConstraintNode:this.visitForeignKeyConstraint.bind(this),CreateViewNode:this.visitCreateView.bind(this),RefreshMaterializedViewNode:this.visitRefreshMaterializedView.bind(this),DropViewNode:this.visitDropView.bind(this),GeneratedNode:this.visitGenerated.bind(this),DefaultValueNode:this.visitDefaultValue.bind(this),OnNode:this.visitOn.bind(this),ValuesNode:this.visitValues.bind(this),SelectModifierNode:this.visitSelectModifier.bind(this),CreateTypeNode:this.visitCreateType.bind(this),DropTypeNode:this.visitDropType.bind(this),ExplainNode:this.visitExplain.bind(this),DefaultInsertValueNode:this.visitDefaultInsertValue.bind(this),AggregateFunctionNode:this.visitAggregateFunction.bind(this),OverNode:this.visitOver.bind(this),PartitionByNode:this.visitPartitionBy.bind(this),PartitionByItemNode:this.visitPartitionByItem.bind(this),SetOperationNode:this.visitSetOperation.bind(this),BinaryOperationNode:this.visitBinaryOperation.bind(this),UnaryOperationNode:this.visitUnaryOperation.bind(this),UsingNode:this.visitUsing.bind(this),FunctionNode:this.visitFunction.bind(this),CaseNode:this.visitCase.bind(this),WhenNode:this.visitWhen.bind(this),JSONReferenceNode:this.visitJSONReference.bind(this),JSONPathNode:this.visitJSONPath.bind(this),JSONPathLegNode:this.visitJSONPathLeg.bind(this),JSONOperatorChainNode:this.visitJSONOperatorChain.bind(this),TupleNode:this.visitTuple.bind(this),MergeQueryNode:this.visitMergeQuery.bind(this),MatchedNode:this.visitMatched.bind(this),AddIndexNode:this.visitAddIndex.bind(this),CastNode:this.visitCast.bind(this),FetchNode:this.visitFetch.bind(this),TopNode:this.visitTop.bind(this),OutputNode:this.visitOutput.bind(this),OrActionNode:this.visitOrAction.bind(this),CollateNode:this.visitCollate.bind(this)});visitNode=(t)=>{this.nodeStack.push(t),this.#t[t.kind](t),this.nodeStack.pop()}}var q=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],n=["+","-","*","/","%","^","&","|","#","<<",">>"],_=["->","->>"],o=[...q,...n,"&&","||"],d=["exists","not exists"],e=["not","-",...d],Ht=[...o,..._,...e,"between","between symmetric"],m=N({is(t){return t.kind==="OperatorNode"},create(t){return N({kind:"OperatorNode",operator:t})}});function Kt(t){return V(t)&&_.includes(t)}var R=N({is(t){return t.kind==="ParensNode"},create(t){return N({kind:"ParensNode",node:t})}});var c=N({is(t){return t.kind==="RawNode"},create(t,i){return N({kind:"RawNode",sqlFragments:N(t),parameters:N(i)})},createWithSql(t){return c.create([t],[])},createWithChild(t){return c.create(["",""],[t])},createWithChildren(t){return c.create(Array(t.length+1).fill(""),t)}});var S=N({is(t){return t.kind==="IdentifierNode"},create(t){return N({kind:"IdentifierNode",name:t})}});var p=N({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return N({kind:"SchemableIdentifierNode",identifier:S.create(t)})},createWithSchema(t,i){return N({kind:"SchemableIdentifierNode",schema:S.create(t),identifier:S.create(i)})}});var E=N({is(t){return t.kind==="CreateViewNode"},create(t){return N({kind:"CreateViewNode",name:p.create(t)})},cloneWith(t,i){return N({...t,...i})}});var M=N({is(t){return t.kind==="SetOperationNode"},create(t,i,h){return N({kind:"SetOperationNode",operator:t,expression:i,all:h})}});var Q=N({is(t){return t.kind==="WhenNode"},create(t){return N({kind:"WhenNode",condition:t})},cloneWithResult(t,i){return N({...t,result:i})}});var A=new Set;function b(t){if(A.has(t))return;A.add(t),console.log(t)}var tt=/'/g,it=/['"]/g;class ht extends U{#t="";#i=[];get numParameters(){return this.#i.length}compileQuery(t,i){return this.#t="",this.#i=[],this.nodeStack.splice(0,this.nodeStack.length),this.visitNode(t),N({query:t,queryId:i,sql:this.getSql(),parameters:[...this.#i]})}getSql(){return this.#t}visitSelectQuery(t){let i=this.parentNode!==void 0&&!R.is(this.parentNode)&&!x.is(this.parentNode)&&!L.is(this.parentNode)&&!E.is(this.parentNode)&&!M.is(this.parentNode);if(this.parentNode===void 0&&t.explain)this.visitNode(t.explain),this.append(" ");if(i)this.append("(");if(t.with)this.visitNode(t.with),this.append(" ");if(this.append("select"),t.distinctOn)this.append(" "),this.compileDistinctOn(t.distinctOn);if(t.frontModifiers?.length)this.append(" "),this.compileList(t.frontModifiers," ");if(t.top)this.append(" "),this.visitNode(t.top);if(t.selections)this.append(" "),this.compileList(t.selections);if(t.from)this.append(" "),this.visitNode(t.from);if(t.joins)this.append(" "),this.compileList(t.joins," ");if(t.where)this.append(" "),this.visitNode(t.where);if(t.groupBy)this.append(" "),this.visitNode(t.groupBy);if(t.having)this.append(" "),this.visitNode(t.having);if(t.setOperations)this.append(" "),this.compileList(t.setOperations," ");if(t.orderBy)this.append(" "),this.visitNode(t.orderBy);if(t.limit)this.append(" "),this.visitNode(t.limit);if(t.offset)this.append(" "),this.visitNode(t.offset);if(t.fetch)this.append(" "),this.visitNode(t.fetch);if(t.endModifiers?.length)this.append(" "),this.compileList(this.sortSelectModifiers([...t.endModifiers])," ");if(i)this.append(")")}visitFrom(t){this.append("from "),this.compileList(t.froms)}visitSelection(t){this.visitNode(t.selection)}visitColumn(t){this.visitNode(t.column)}compileDistinctOn(t){this.append("distinct on ("),this.compileList(t),this.append(")")}compileList(t,i=", "){let h=t.length-1;for(let f=0;f<=h;f++)if(this.visitNode(t[f]),f<h)this.append(i)}visitWhere(t){this.append("where "),this.visitNode(t.where)}visitHaving(t){this.append("having "),this.visitNode(t.having)}visitInsertQuery(t){let i=this.parentNode!==void 0&&!R.is(this.parentNode)&&!c.is(this.parentNode)&&!Q.is(this.parentNode);if(this.parentNode===void 0&&t.explain)this.visitNode(t.explain),this.append(" ");if(i)this.append("(");if(t.with)this.visitNode(t.with),this.append(" ");if(this.append(t.replace?"replace":"insert"),t.ignore)b("`InsertQueryNode.ignore` is deprecated. Use `InsertQueryNode.orAction` instead."),this.append(" ignore");if(t.orAction)this.append(" "),this.visitNode(t.orAction);if(t.top)this.append(" "),this.visitNode(t.top);if(t.into)this.append(" into "),this.visitNode(t.into);if(t.columns)this.append(" ("),this.compileList(t.columns),this.append(")");if(t.output)this.append(" "),this.visitNode(t.output);if(t.values)this.append(" "),this.visitNode(t.values);if(t.defaultValues)this.append(" "),this.append("default values");if(t.onConflict)this.append(" "),this.visitNode(t.onConflict);if(t.onDuplicateKey)this.append(" "),this.visitNode(t.onDuplicateKey);if(t.returning)this.append(" "),this.visitNode(t.returning);if(i)this.append(")");if(t.endModifiers?.length)this.append(" "),this.compileList(t.endModifiers," ")}visitValues(t){this.append("values "),this.compileList(t.values)}visitDeleteQuery(t){let i=this.parentNode!==void 0&&!R.is(this.parentNode)&&!c.is(this.parentNode);if(this.parentNode===void 0&&t.explain)this.visitNode(t.explain),this.append(" ");if(i)this.append("(");if(t.with)this.visitNode(t.with),this.append(" ");if(this.append("delete "),t.top)this.visitNode(t.top),this.append(" ");if(this.visitNode(t.from),t.output)this.append(" "),this.visitNode(t.output);if(t.using)this.append(" "),this.visitNode(t.using);if(t.joins)this.append(" "),this.compileList(t.joins," ");if(t.where)this.append(" "),this.visitNode(t.where);if(t.orderBy)this.append(" "),this.visitNode(t.orderBy);if(t.limit)this.append(" "),this.visitNode(t.limit);if(t.returning)this.append(" "),this.visitNode(t.returning);if(i)this.append(")");if(t.endModifiers?.length)this.append(" "),this.compileList(t.endModifiers," ")}visitReturning(t){this.append("returning "),this.compileList(t.selections)}visitAlias(t){this.visitNode(t.node),this.append(" as "),this.visitNode(t.alias)}visitReference(t){if(t.table)this.visitNode(t.table),this.append(".");this.visitNode(t.column)}visitSelectAll(t){this.append("*")}visitIdentifier(t){this.append(this.getLeftIdentifierWrapper()),this.compileUnwrappedIdentifier(t),this.append(this.getRightIdentifierWrapper())}compileUnwrappedIdentifier(t){if(!V(t.name))throw Error("a non-string identifier was passed to compileUnwrappedIdentifier.");this.append(this.sanitizeIdentifier(t.name))}visitAnd(t){this.visitNode(t.left),this.append(" and "),this.visitNode(t.right)}visitOr(t){this.visitNode(t.left),this.append(" or "),this.visitNode(t.right)}visitValue(t){if(t.immediate)this.appendImmediateValue(t.value);else this.appendValue(t.value)}visitValueList(t){this.append("("),this.compileList(t.values),this.append(")")}visitTuple(t){this.append("("),this.compileList(t.values),this.append(")")}visitPrimitiveValueList(t){this.append("(");let{values:i}=t;for(let h=0;h<i.length;++h)if(this.appendValue(i[h]),h!==i.length-1)this.append(", ");this.append(")")}visitParens(t){this.append("("),this.visitNode(t.node),this.append(")")}visitJoin(t){if(this.append(st[t.joinType]),this.append(" "),this.visitNode(t.table),t.on)this.append(" "),this.visitNode(t.on)}visitOn(t){this.append("on "),this.visitNode(t.on)}visitRaw(t){let{sqlFragments:i,parameters:h}=t;for(let f=0;f<i.length;++f)if(this.append(i[f]),h.length>f)this.visitNode(h[f])}visitOperator(t){this.append(t.operator)}visitTable(t){this.visitNode(t.table)}visitSchemableIdentifier(t){if(t.schema)this.visitNode(t.schema),this.append(".");this.visitNode(t.identifier)}visitCreateTable(t){if(this.append("create "),t.frontModifiers?.length)this.compileList(t.frontModifiers," "),this.append(" ");if(t.temporary)this.append("temporary ");if(this.append("table "),t.ifNotExists)this.append("if not exists ");if(this.visitNode(t.table),!t.selectQuery)this.append(" ("),this.compileList([...t.columns,...t.constraints??[]]),this.append(")");if(t.onCommit)this.append(" on commit "),this.append(t.onCommit);if(t.endModifiers?.length)this.append(" "),this.compileList(t.endModifiers," ");if(t.selectQuery)this.append(" as "),this.visitNode(t.selectQuery)}visitColumnDefinition(t){if(t.ifNotExists)this.append("if not exists ");if(this.visitNode(t.column),this.append(" "),this.visitNode(t.dataType),t.unsigned)this.append(" unsigned");if(t.frontModifiers&&t.frontModifiers.length>0)this.append(" "),this.compileList(t.frontModifiers," ");if(t.generated)this.append(" "),this.visitNode(t.generated);if(t.identity)this.append(" identity");if(t.defaultTo)this.append(" "),this.visitNode(t.defaultTo);if(t.notNull)this.append(" not null");if(t.unique)this.append(" unique");if(t.nullsNotDistinct)this.append(" nulls not distinct");if(t.primaryKey)this.append(" primary key");if(t.autoIncrement)this.append(" "),this.append(this.getAutoIncrement());if(t.references)this.append(" "),this.visitNode(t.references);if(t.check)this.append(" "),this.visitNode(t.check);if(t.endModifiers&&t.endModifiers.length>0)this.append(" "),this.compileList(t.endModifiers," ")}getAutoIncrement(){return"auto_increment"}visitReferences(t){if(this.append("references "),this.visitNode(t.table),this.append(" ("),this.compileList(t.columns),this.append(")"),t.onDelete)this.append(" on delete "),this.append(t.onDelete);if(t.onUpdate)this.append(" on update "),this.append(t.onUpdate)}visitDropTable(t){if(this.append("drop table "),t.ifExists)this.append("if exists ");if(this.visitNode(t.table),t.cascade)this.append(" cascade")}visitDataType(t){this.append(t.dataType)}visitOrderBy(t){this.append("order by "),this.compileList(t.items)}visitOrderByItem(t){if(this.visitNode(t.orderBy),t.collation)this.append(" "),this.visitNode(t.collation);if(t.direction)this.append(" "),this.visitNode(t.direction);if(t.nulls)this.append(" nulls "),this.append(t.nulls)}visitGroupBy(t){this.append("group by "),this.compileList(t.items)}visitGroupByItem(t){this.visitNode(t.groupBy)}visitUpdateQuery(t){let i=this.parentNode!==void 0&&!R.is(this.parentNode)&&!c.is(this.parentNode)&&!Q.is(this.parentNode);if(this.parentNode===void 0&&t.explain)this.visitNode(t.explain),this.append(" ");if(i)this.append("(");if(t.with)this.visitNode(t.with),this.append(" ");if(this.append("update "),t.top)this.visitNode(t.top),this.append(" ");if(t.table)this.visitNode(t.table),this.append(" ");if(this.append("set "),t.updates)this.compileList(t.updates);if(t.output)this.append(" "),this.visitNode(t.output);if(t.from)this.append(" "),this.visitNode(t.from);if(t.joins){if(!t.from)throw Error("Joins in an update query are only supported as a part of a PostgreSQL 'update set from join' query. If you want to create a MySQL 'update join set' query, see https://kysely.dev/docs/examples/update/my-sql-joins");this.append(" "),this.compileList(t.joins," ")}if(t.where)this.append(" "),this.visitNode(t.where);if(t.returning)this.append(" "),this.visitNode(t.returning);if(t.orderBy)this.append(" "),this.visitNode(t.orderBy);if(t.limit)this.append(" "),this.visitNode(t.limit);if(i)this.append(")");if(t.endModifiers?.length)this.append(" "),this.compileList(t.endModifiers," ")}visitColumnUpdate(t){this.visitNode(t.column),this.append(" = "),this.visitNode(t.value)}visitLimit(t){this.append("limit "),this.visitNode(t.limit)}visitOffset(t){this.append("offset "),this.visitNode(t.offset)}visitOnConflict(t){if(this.append("on conflict"),t.columns)this.append(" ("),this.compileList(t.columns),this.append(")");else if(t.constraint)this.append(" on constraint "),this.visitNode(t.constraint);else if(t.indexExpression)this.append(" ("),this.visitNode(t.indexExpression),this.append(")");if(t.indexWhere)this.append(" "),this.visitNode(t.indexWhere);if(t.doNothing===!0)this.append(" do nothing");else if(t.updates){if(this.append(" do update set "),this.compileList(t.updates),t.updateWhere)this.append(" "),this.visitNode(t.updateWhere)}}visitOnDuplicateKey(t){this.append("on duplicate key update "),this.compileList(t.updates)}visitCreateIndex(t){if(this.append("create "),t.unique)this.append("unique ");if(this.append("index "),t.ifNotExists)this.append("if not exists ");if(this.visitNode(t.name),t.table)this.append(" on "),this.visitNode(t.table);if(t.using)this.append(" using "),this.visitNode(t.using);if(t.columns)this.append(" ("),this.compileList(t.columns),this.append(")");if(t.nullsNotDistinct)this.append(" nulls not distinct");if(t.where)this.append(" "),this.visitNode(t.where)}visitDropIndex(t){if(this.append("drop index "),t.ifExists)this.append("if exists ");if(this.visitNode(t.name),t.table)this.append(" on "),this.visitNode(t.table);if(t.cascade)this.append(" cascade")}visitCreateSchema(t){if(this.append("create schema "),t.ifNotExists)this.append("if not exists ");this.visitNode(t.schema)}visitDropSchema(t){if(this.append("drop schema "),t.ifExists)this.append("if exists ");if(this.visitNode(t.schema),t.cascade)this.append(" cascade")}visitPrimaryKeyConstraint(t){if(t.name)this.append("constraint "),this.visitNode(t.name),this.append(" ");this.append("primary key ("),this.compileList(t.columns),this.append(")"),this.buildDeferrable(t)}buildDeferrable(t){if(t.deferrable!==void 0)if(t.deferrable)this.append(" deferrable");else this.append(" not deferrable");if(t.initiallyDeferred!==void 0)if(t.initiallyDeferred)this.append(" initially deferred");else this.append(" initially immediate")}visitUniqueConstraint(t){if(t.name)this.append("constraint "),this.visitNode(t.name),this.append(" ");if(this.append("unique"),t.nullsNotDistinct)this.append(" nulls not distinct");this.append(" ("),this.compileList(t.columns),this.append(")"),this.buildDeferrable(t)}visitCheckConstraint(t){if(t.name)this.append("constraint "),this.visitNode(t.name),this.append(" ");this.append("check ("),this.visitNode(t.expression),this.append(")")}visitForeignKeyConstraint(t){if(t.name)this.append("constraint "),this.visitNode(t.name),this.append(" ");if(this.append("foreign key ("),this.compileList(t.columns),this.append(") "),this.visitNode(t.references),t.onDelete)this.append(" on delete "),this.append(t.onDelete);if(t.onUpdate)this.append(" on update "),this.append(t.onUpdate);this.buildDeferrable(t)}visitList(t){this.compileList(t.items)}visitWith(t){if(this.append("with "),t.recursive)this.append("recursive ");this.compileList(t.expressions)}visitCommonTableExpression(t){if(this.visitNode(t.name),this.append(" as "),J(t.materialized)){if(!t.materialized)this.append("not ");this.append("materialized ")}this.visitNode(t.expression)}visitCommonTableExpressionName(t){if(this.visitNode(t.table),t.columns)this.append("("),this.compileList(t.columns),this.append(")")}visitAlterTable(t){if(this.append("alter table "),this.visitNode(t.table),this.append(" "),t.renameTo)this.append("rename to "),this.visitNode(t.renameTo);if(t.setSchema)this.append("set schema "),this.visitNode(t.setSchema);if(t.addConstraint)this.visitNode(t.addConstraint);if(t.dropConstraint)this.visitNode(t.dropConstraint);if(t.renameConstraint)this.visitNode(t.renameConstraint);if(t.columnAlterations)this.compileColumnAlterations(t.columnAlterations);if(t.addIndex)this.visitNode(t.addIndex);if(t.dropIndex)this.visitNode(t.dropIndex)}visitAddColumn(t){this.append("add column "),this.visitNode(t.column)}visitRenameColumn(t){this.append("rename column "),this.visitNode(t.column),this.append(" to "),this.visitNode(t.renameTo)}visitDropColumn(t){this.append("drop column "),this.visitNode(t.column)}visitAlterColumn(t){if(this.append("alter column "),this.visitNode(t.column),this.append(" "),t.dataType){if(this.announcesNewColumnDataType())this.append("type ");if(this.visitNode(t.dataType),t.dataTypeExpression)this.append("using "),this.visitNode(t.dataTypeExpression)}if(t.setDefault)this.append("set default "),this.visitNode(t.setDefault);if(t.dropDefault)this.append("drop default");if(t.setNotNull)this.append("set not null");if(t.dropNotNull)this.append("drop not null")}visitModifyColumn(t){this.append("modify column "),this.visitNode(t.column)}visitAddConstraint(t){this.append("add "),this.visitNode(t.constraint)}visitDropConstraint(t){if(this.append("drop constraint "),t.ifExists)this.append("if exists ");if(this.visitNode(t.constraintName),t.modifier==="cascade")this.append(" cascade");else if(t.modifier==="restrict")this.append(" restrict")}visitRenameConstraint(t){this.append("rename constraint "),this.visitNode(t.oldName),this.append(" to "),this.visitNode(t.newName)}visitSetOperation(t){if(this.append(t.operator),this.append(" "),t.all)this.append("all ");this.visitNode(t.expression)}visitCreateView(t){if(this.append("create "),t.orReplace)this.append("or replace ");if(t.materialized)this.append("materialized ");if(t.temporary)this.append("temporary ");if(this.append("view "),t.ifNotExists)this.append("if not exists ");if(this.visitNode(t.name),this.append(" "),t.columns)this.append("("),this.compileList(t.columns),this.append(") ");if(t.as)this.append("as "),this.visitNode(t.as)}visitRefreshMaterializedView(t){if(this.append("refresh materialized view "),t.concurrently)this.append("concurrently ");if(this.visitNode(t.name),t.withNoData)this.append(" with no data");else this.append(" with data")}visitDropView(t){if(this.append("drop "),t.materialized)this.append("materialized ");if(this.append("view "),t.ifExists)this.append("if exists ");if(this.visitNode(t.name),t.cascade)this.append(" cascade")}visitGenerated(t){if(this.append("generated "),t.always)this.append("always ");if(t.byDefault)this.append("by default ");if(this.append("as "),t.identity)this.append("identity");if(t.expression)this.append("("),this.visitNode(t.expression),this.append(")");if(t.stored)this.append(" stored")}visitDefaultValue(t){this.append("default "),this.visitNode(t.defaultValue)}visitSelectModifier(t){if(t.rawModifier)this.visitNode(t.rawModifier);else this.append(Nt[t.modifier]);if(t.of)this.append(" of "),this.compileList(t.of,", ")}visitCreateType(t){if(this.append("create type "),this.visitNode(t.name),t.enum)this.append(" as enum "),this.visitNode(t.enum)}visitDropType(t){if(this.append("drop type "),t.ifExists)this.append("if exists ");this.visitNode(t.name)}visitExplain(t){if(this.append("explain"),t.options||t.format){if(this.append(" "),this.append(this.getLeftExplainOptionsWrapper()),t.options){if(this.visitNode(t.options),t.format)this.append(this.getExplainOptionsDelimiter())}if(t.format)this.append("format"),this.append(this.getExplainOptionAssignment()),this.append(t.format);this.append(this.getRightExplainOptionsWrapper())}}visitDefaultInsertValue(t){this.append("default")}visitAggregateFunction(t){if(this.append(t.func),this.append("("),t.distinct)this.append("distinct ");if(this.compileList(t.aggregated),t.orderBy)this.append(" "),this.visitNode(t.orderBy);if(this.append(")"),t.withinGroup)this.append(" within group ("),this.visitNode(t.withinGroup),this.append(")");if(t.filter)this.append(" filter("),this.visitNode(t.filter),this.append(")");if(t.over)this.append(" "),this.visitNode(t.over)}visitOver(t){if(this.append("over("),t.partitionBy){if(this.visitNode(t.partitionBy),t.orderBy)this.append(" ")}if(t.orderBy)this.visitNode(t.orderBy);this.append(")")}visitPartitionBy(t){this.append("partition by "),this.compileList(t.items)}visitPartitionByItem(t){this.visitNode(t.partitionBy)}visitBinaryOperation(t){this.visitNode(t.leftOperand),this.append(" "),this.visitNode(t.operator),this.append(" "),this.visitNode(t.rightOperand)}visitUnaryOperation(t){if(this.visitNode(t.operator),!this.isMinusOperator(t.operator))this.append(" ");this.visitNode(t.operand)}isMinusOperator(t){return m.is(t)&&t.operator==="-"}visitUsing(t){this.append("using "),this.compileList(t.tables)}visitFunction(t){this.append(t.func),this.append("("),this.compileList(t.arguments),this.append(")")}visitCase(t){if(this.append("case"),t.value)this.append(" "),this.visitNode(t.value);if(t.when)this.append(" "),this.compileList(t.when," ");if(t.else)this.append(" else "),this.visitNode(t.else);if(this.append(" end"),t.isStatement)this.append(" case")}visitWhen(t){if(this.append("when "),this.visitNode(t.condition),t.result)this.append(" then "),this.visitNode(t.result)}visitJSONReference(t){this.visitNode(t.reference),this.visitNode(t.traversal)}visitJSONPath(t){if(t.inOperator)this.visitNode(t.inOperator);this.append("'$");for(let i of t.pathLegs)this.visitNode(i);this.append("'")}visitJSONPathLeg(t){let i=t.type==="ArrayLocation",h=String(t.value);if(i)this.append("["),this.append(this.sanitizeStringLiteral(h)),this.append("]");else this.append('."'),this.append(this.sanitizeJSONPathMemberValue(h)),this.append('"')}visitJSONOperatorChain(t){for(let i=0,h=t.values.length;i<h;i++){if(i===h-1)this.visitNode(t.operator);else this.append("->");this.visitNode(t.values[i])}}visitMergeQuery(t){if(t.with)this.visitNode(t.with),this.append(" ");if(this.append("merge "),t.top)this.visitNode(t.top),this.append(" ");if(this.append("into "),this.visitNode(t.into),t.using)this.append(" "),this.visitNode(t.using);if(t.whens)this.append(" "),this.compileList(t.whens," ");if(t.returning)this.append(" "),this.visitNode(t.returning);if(t.output)this.append(" "),this.visitNode(t.output);if(t.endModifiers?.length)this.append(" "),this.compileList(t.endModifiers," ")}visitMatched(t){if(t.not)this.append("not ");if(this.append("matched"),t.bySource)this.append(" by source")}visitAddIndex(t){if(this.append("add "),t.unique)this.append("unique ");if(this.append("index "),this.visitNode(t.name),t.columns)this.append(" ("),this.compileList(t.columns),this.append(")");if(t.using)this.append(" using "),this.visitNode(t.using)}visitCast(t){this.append("cast("),this.visitNode(t.expression),this.append(" as "),this.visitNode(t.dataType),this.append(")")}visitFetch(t){this.append("fetch next "),this.visitNode(t.rowCount),this.append(` rows ${t.modifier}`)}visitOutput(t){this.append("output "),this.compileList(t.selections)}visitTop(t){if(this.append(`top(${t.expression})`),t.modifiers)this.append(` ${t.modifiers}`)}visitOrAction(t){this.append(t.action)}visitCollate(t){this.append("collate "),this.visitNode(t.collation)}append(t){this.#t+=t}appendValue(t){this.addParameter(t),this.append(this.getCurrentParameterPlaceholder())}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getCurrentParameterPlaceholder(){return"$"+this.numParameters}getLeftExplainOptionsWrapper(){return"("}getExplainOptionAssignment(){return" "}getExplainOptionsDelimiter(){return", "}getRightExplainOptionsWrapper(){return")"}sanitizeIdentifier(t){let i=this.getLeftIdentifierWrapper(),h=this.getRightIdentifierWrapper(),f="";for(let C of t)if(f+=C,C===i)f+=i;else if(C===h)f+=h;return f}sanitizeStringLiteral(t){return t.replace(tt,"''")}sanitizeJSONPathMemberValue(t){return t.replace(it,(i)=>i==="'"?"''":"\\\"")}addParameter(t){this.#i.push(t)}appendImmediateValue(t){if(V(t))this.appendStringLiteral(t);else if(F(t)||J(t)||$(t))this.append(t.toString());else if(Y(t))this.append("null");else if(Z(t))this.appendImmediateValue(t.toISOString());else throw Error(`invalid immediate value ${t}`)}appendStringLiteral(t){this.append("'"),this.append(this.sanitizeStringLiteral(t)),this.append("'")}sortSelectModifiers(t){return t.sort((i,h)=>i.modifier&&h.modifier?P[i.modifier]-P[h.modifier]:1),N(t)}compileColumnAlterations(t){this.compileList(t)}announcesNewColumnDataType(){return!0}}var Nt=N({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),P=N({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),st=N({InnerJoin:"inner join",LeftJoin:"left join",RightJoin:"right join",FullJoin:"full join",CrossJoin:"cross join",LateralInnerJoin:"inner join lateral",LateralLeftJoin:"left join lateral",LateralCrossJoin:"cross join lateral",OuterApply:"outer apply",CrossApply:"cross apply",Using:"using"});class D{transformQuery(t){return t.node}async transformResult(t){return t.result}}var j=N({is(t){return t.kind==="AliasNode"},create(t,i){return N({kind:"AliasNode",node:t,alias:i})}});var g=N({is(t){return t.kind==="AndNode"},create(t,i){return N({kind:"AndNode",left:t,right:i})}});var l=N({is(t){return t.kind==="OrNode"},create(t,i){return N({kind:"OrNode",left:t,right:i})}});var w=N({is(t){return t.kind==="OnNode"},create(t){return N({kind:"OnNode",on:t})},cloneWithOperation(t,i,h){return N({...t,on:i==="And"?g.create(t.on,h):l.create(t.on,h)})}});var a=N({is(t){return t.kind==="JoinNode"},create(t,i){return N({kind:"JoinNode",joinType:t,table:i,on:void 0})},createWithOn(t,i,h){return N({kind:"JoinNode",joinType:t,table:i,on:w.create(h)})},cloneWithOn(t,i){return N({...t,on:t.on?w.cloneWithOperation(t.on,"And",i):w.create(i)})}});var y=N({is(t){return t.kind==="ListNode"},create(t){return N({kind:"ListNode",items:N(t)})}});function s(t){return t}class T{nodeStack=[];#t=N({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),RenameConstraintNode:this.transformRenameConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),RefreshMaterializedViewNode:this.transformRefreshMaterializedView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this),OrActionNode:this.transformOrAction.bind(this),CollateNode:this.transformCollate.bind(this)});transformNode(t,i){if(!t)return t;this.nodeStack.push(t);let h=this.transformNodeImpl(t,i);return this.nodeStack.pop(),N(h)}transformNodeImpl(t,i){return this.#t[t.kind](t,i)}transformNodeList(t,i){if(!t)return t;return N(t.map((h)=>this.transformNode(h,i)))}transformSelectQuery(t,i){return s({kind:"SelectQueryNode",from:this.transformNode(t.from,i),selections:this.transformNodeList(t.selections,i),distinctOn:this.transformNodeList(t.distinctOn,i),joins:this.transformNodeList(t.joins,i),groupBy:this.transformNode(t.groupBy,i),orderBy:this.transformNode(t.orderBy,i),where:this.transformNode(t.where,i),frontModifiers:this.transformNodeList(t.frontModifiers,i),endModifiers:this.transformNodeList(t.endModifiers,i),limit:this.transformNode(t.limit,i),offset:this.transformNode(t.offset,i),with:this.transformNode(t.with,i),having:this.transformNode(t.having,i),explain:this.transformNode(t.explain,i),setOperations:this.transformNodeList(t.setOperations,i),fetch:this.transformNode(t.fetch,i),top:this.transformNode(t.top,i)})}transformSelection(t,i){return s({kind:"SelectionNode",selection:this.transformNode(t.selection,i)})}transformColumn(t,i){return s({kind:"ColumnNode",column:this.transformNode(t.column,i)})}transformAlias(t,i){return s({kind:"AliasNode",node:this.transformNode(t.node,i),alias:this.transformNode(t.alias,i)})}transformTable(t,i){return s({kind:"TableNode",table:this.transformNode(t.table,i)})}transformFrom(t,i){return s({kind:"FromNode",froms:this.transformNodeList(t.froms,i)})}transformReference(t,i){return s({kind:"ReferenceNode",column:this.transformNode(t.column,i),table:this.transformNode(t.table,i)})}transformAnd(t,i){return s({kind:"AndNode",left:this.transformNode(t.left,i),right:this.transformNode(t.right,i)})}transformOr(t,i){return s({kind:"OrNode",left:this.transformNode(t.left,i),right:this.transformNode(t.right,i)})}transformValueList(t,i){return s({kind:"ValueListNode",values:this.transformNodeList(t.values,i)})}transformParens(t,i){return s({kind:"ParensNode",node:this.transformNode(t.node,i)})}transformJoin(t,i){return s({kind:"JoinNode",joinType:t.joinType,table:this.transformNode(t.table,i),on:this.transformNode(t.on,i)})}transformRaw(t,i){return s({kind:"RawNode",sqlFragments:N([...t.sqlFragments]),parameters:this.transformNodeList(t.parameters,i)})}transformWhere(t,i){return s({kind:"WhereNode",where:this.transformNode(t.where,i)})}transformInsertQuery(t,i){return s({kind:"InsertQueryNode",into:this.transformNode(t.into,i),columns:this.transformNodeList(t.columns,i),values:this.transformNode(t.values,i),returning:this.transformNode(t.returning,i),onConflict:this.transformNode(t.onConflict,i),onDuplicateKey:this.transformNode(t.onDuplicateKey,i),endModifiers:this.transformNodeList(t.endModifiers,i),with:this.transformNode(t.with,i),ignore:t.ignore,orAction:this.transformNode(t.orAction,i),replace:t.replace,explain:this.transformNode(t.explain,i),defaultValues:t.defaultValues,top:this.transformNode(t.top,i),output:this.transformNode(t.output,i)})}transformValues(t,i){return s({kind:"ValuesNode",values:this.transformNodeList(t.values,i)})}transformDeleteQuery(t,i){return s({kind:"DeleteQueryNode",from:this.transformNode(t.from,i),using:this.transformNode(t.using,i),joins:this.transformNodeList(t.joins,i),where:this.transformNode(t.where,i),returning:this.transformNode(t.returning,i),endModifiers:this.transformNodeList(t.endModifiers,i),with:this.transformNode(t.with,i),orderBy:this.transformNode(t.orderBy,i),limit:this.transformNode(t.limit,i),explain:this.transformNode(t.explain,i),top:this.transformNode(t.top,i),output:this.transformNode(t.output,i)})}transformReturning(t,i){return s({kind:"ReturningNode",selections:this.transformNodeList(t.selections,i)})}transformCreateTable(t,i){return s({kind:"CreateTableNode",table:this.transformNode(t.table,i),columns:this.transformNodeList(t.columns,i),constraints:this.transformNodeList(t.constraints,i),temporary:t.temporary,ifNotExists:t.ifNotExists,onCommit:t.onCommit,frontModifiers:this.transformNodeList(t.frontModifiers,i),endModifiers:this.transformNodeList(t.endModifiers,i),selectQuery:this.transformNode(t.selectQuery,i)})}transformColumnDefinition(t,i){return s({kind:"ColumnDefinitionNode",column:this.transformNode(t.column,i),dataType:this.transformNode(t.dataType,i),references:this.transformNode(t.references,i),primaryKey:t.primaryKey,autoIncrement:t.autoIncrement,unique:t.unique,notNull:t.notNull,unsigned:t.unsigned,defaultTo:this.transformNode(t.defaultTo,i),check:this.transformNode(t.check,i),generated:this.transformNode(t.generated,i),frontModifiers:this.transformNodeList(t.frontModifiers,i),endModifiers:this.transformNodeList(t.endModifiers,i),nullsNotDistinct:t.nullsNotDistinct,identity:t.identity,ifNotExists:t.ifNotExists})}transformAddColumn(t,i){return s({kind:"AddColumnNode",column:this.transformNode(t.column,i)})}transformDropTable(t,i){return s({kind:"DropTableNode",table:this.transformNode(t.table,i),ifExists:t.ifExists,cascade:t.cascade})}transformOrderBy(t,i){return s({kind:"OrderByNode",items:this.transformNodeList(t.items,i)})}transformOrderByItem(t,i){return s({kind:"OrderByItemNode",orderBy:this.transformNode(t.orderBy,i),direction:this.transformNode(t.direction,i),collation:this.transformNode(t.collation,i),nulls:t.nulls})}transformGroupBy(t,i){return s({kind:"GroupByNode",items:this.transformNodeList(t.items,i)})}transformGroupByItem(t,i){return s({kind:"GroupByItemNode",groupBy:this.transformNode(t.groupBy,i)})}transformUpdateQuery(t,i){return s({kind:"UpdateQueryNode",table:this.transformNode(t.table,i),from:this.transformNode(t.from,i),joins:this.transformNodeList(t.joins,i),where:this.transformNode(t.where,i),updates:this.transformNodeList(t.updates,i),returning:this.transformNode(t.returning,i),endModifiers:this.transformNodeList(t.endModifiers,i),with:this.transformNode(t.with,i),explain:this.transformNode(t.explain,i),limit:this.transformNode(t.limit,i),top:this.transformNode(t.top,i),output:this.transformNode(t.output,i),orderBy:this.transformNode(t.orderBy,i)})}transformColumnUpdate(t,i){return s({kind:"ColumnUpdateNode",column:this.transformNode(t.column,i),value:this.transformNode(t.value,i)})}transformLimit(t,i){return s({kind:"LimitNode",limit:this.transformNode(t.limit,i)})}transformOffset(t,i){return s({kind:"OffsetNode",offset:this.transformNode(t.offset,i)})}transformOnConflict(t,i){return s({kind:"OnConflictNode",columns:this.transformNodeList(t.columns,i),constraint:this.transformNode(t.constraint,i),indexExpression:this.transformNode(t.indexExpression,i),indexWhere:this.transformNode(t.indexWhere,i),updates:this.transformNodeList(t.updates,i),updateWhere:this.transformNode(t.updateWhere,i),doNothing:t.doNothing})}transformOnDuplicateKey(t,i){return s({kind:"OnDuplicateKeyNode",updates:this.transformNodeList(t.updates,i)})}transformCreateIndex(t,i){return s({kind:"CreateIndexNode",name:this.transformNode(t.name,i),table:this.transformNode(t.table,i),columns:this.transformNodeList(t.columns,i),unique:t.unique,using:this.transformNode(t.using,i),ifNotExists:t.ifNotExists,where:this.transformNode(t.where,i),nullsNotDistinct:t.nullsNotDistinct})}transformList(t,i){return s({kind:"ListNode",items:this.transformNodeList(t.items,i)})}transformDropIndex(t,i){return s({kind:"DropIndexNode",name:this.transformNode(t.name,i),table:this.transformNode(t.table,i),ifExists:t.ifExists,cascade:t.cascade})}transformPrimaryKeyConstraint(t,i){return s({kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(t.columns,i),name:this.transformNode(t.name,i),deferrable:t.deferrable,initiallyDeferred:t.initiallyDeferred})}transformUniqueConstraint(t,i){return s({kind:"UniqueConstraintNode",columns:this.transformNodeList(t.columns,i),name:this.transformNode(t.name,i),nullsNotDistinct:t.nullsNotDistinct,deferrable:t.deferrable,initiallyDeferred:t.initiallyDeferred})}transformForeignKeyConstraint(t,i){return s({kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(t.columns,i),references:this.transformNode(t.references,i),name:this.transformNode(t.name,i),onDelete:t.onDelete,onUpdate:t.onUpdate,deferrable:t.deferrable,initiallyDeferred:t.initiallyDeferred})}transformSetOperation(t,i){return s({kind:"SetOperationNode",operator:t.operator,expression:this.transformNode(t.expression,i),all:t.all})}transformReferences(t,i){return s({kind:"ReferencesNode",table:this.transformNode(t.table,i),columns:this.transformNodeList(t.columns,i),onDelete:t.onDelete,onUpdate:t.onUpdate})}transformCheckConstraint(t,i){return s({kind:"CheckConstraintNode",expression:this.transformNode(t.expression,i),name:this.transformNode(t.name,i)})}transformWith(t,i){return s({kind:"WithNode",expressions:this.transformNodeList(t.expressions,i),recursive:t.recursive})}transformCommonTableExpression(t,i){return s({kind:"CommonTableExpressionNode",name:this.transformNode(t.name,i),materialized:t.materialized,expression:this.transformNode(t.expression,i)})}transformCommonTableExpressionName(t,i){return s({kind:"CommonTableExpressionNameNode",table:this.transformNode(t.table,i),columns:this.transformNodeList(t.columns,i)})}transformHaving(t,i){return s({kind:"HavingNode",having:this.transformNode(t.having,i)})}transformCreateSchema(t,i){return s({kind:"CreateSchemaNode",schema:this.transformNode(t.schema,i),ifNotExists:t.ifNotExists})}transformDropSchema(t,i){return s({kind:"DropSchemaNode",schema:this.transformNode(t.schema,i),ifExists:t.ifExists,cascade:t.cascade})}transformAlterTable(t,i){return s({kind:"AlterTableNode",table:this.transformNode(t.table,i),renameTo:this.transformNode(t.renameTo,i),setSchema:this.transformNode(t.setSchema,i),columnAlterations:this.transformNodeList(t.columnAlterations,i),addConstraint:this.transformNode(t.addConstraint,i),dropConstraint:this.transformNode(t.dropConstraint,i),renameConstraint:this.transformNode(t.renameConstraint,i),addIndex:this.transformNode(t.addIndex,i),dropIndex:this.transformNode(t.dropIndex,i)})}transformDropColumn(t,i){return s({kind:"DropColumnNode",column:this.transformNode(t.column,i)})}transformRenameColumn(t,i){return s({kind:"RenameColumnNode",column:this.transformNode(t.column,i),renameTo:this.transformNode(t.renameTo,i)})}transformAlterColumn(t,i){return s({kind:"AlterColumnNode",column:this.transformNode(t.column,i),dataType:this.transformNode(t.dataType,i),dataTypeExpression:this.transformNode(t.dataTypeExpression,i),setDefault:this.transformNode(t.setDefault,i),dropDefault:t.dropDefault,setNotNull:t.setNotNull,dropNotNull:t.dropNotNull})}transformModifyColumn(t,i){return s({kind:"ModifyColumnNode",column:this.transformNode(t.column,i)})}transformAddConstraint(t,i){return s({kind:"AddConstraintNode",constraint:this.transformNode(t.constraint,i)})}transformDropConstraint(t,i){return s({kind:"DropConstraintNode",constraintName:this.transformNode(t.constraintName,i),ifExists:t.ifExists,modifier:t.modifier})}transformRenameConstraint(t,i){return s({kind:"RenameConstraintNode",oldName:this.transformNode(t.oldName,i),newName:this.transformNode(t.newName,i)})}transformCreateView(t,i){return s({kind:"CreateViewNode",name:this.transformNode(t.name,i),temporary:t.temporary,orReplace:t.orReplace,ifNotExists:t.ifNotExists,materialized:t.materialized,columns:this.transformNodeList(t.columns,i),as:this.transformNode(t.as,i)})}transformRefreshMaterializedView(t,i){return s({kind:"RefreshMaterializedViewNode",name:this.transformNode(t.name,i),concurrently:t.concurrently,withNoData:t.withNoData})}transformDropView(t,i){return s({kind:"DropViewNode",name:this.transformNode(t.name,i),ifExists:t.ifExists,materialized:t.materialized,cascade:t.cascade})}transformGenerated(t,i){return s({kind:"GeneratedNode",byDefault:t.byDefault,always:t.always,identity:t.identity,stored:t.stored,expression:this.transformNode(t.expression,i)})}transformDefaultValue(t,i){return s({kind:"DefaultValueNode",defaultValue:this.transformNode(t.defaultValue,i)})}transformOn(t,i){return s({kind:"OnNode",on:this.transformNode(t.on,i)})}transformSelectModifier(t,i){return s({kind:"SelectModifierNode",modifier:t.modifier,rawModifier:this.transformNode(t.rawModifier,i),of:this.transformNodeList(t.of,i)})}transformCreateType(t,i){return s({kind:"CreateTypeNode",name:this.transformNode(t.name,i),enum:this.transformNode(t.enum,i)})}transformDropType(t,i){return s({kind:"DropTypeNode",name:this.transformNode(t.name,i),ifExists:t.ifExists})}transformExplain(t,i){return s({kind:"ExplainNode",format:t.format,options:this.transformNode(t.options,i)})}transformSchemableIdentifier(t,i){return s({kind:"SchemableIdentifierNode",schema:this.transformNode(t.schema,i),identifier:this.transformNode(t.identifier,i)})}transformAggregateFunction(t,i){return s({kind:"AggregateFunctionNode",func:t.func,aggregated:this.transformNodeList(t.aggregated,i),distinct:t.distinct,orderBy:this.transformNode(t.orderBy,i),withinGroup:this.transformNode(t.withinGroup,i),filter:this.transformNode(t.filter,i),over:this.transformNode(t.over,i)})}transformOver(t,i){return s({kind:"OverNode",orderBy:this.transformNode(t.orderBy,i),partitionBy:this.transformNode(t.partitionBy,i)})}transformPartitionBy(t,i){return s({kind:"PartitionByNode",items:this.transformNodeList(t.items,i)})}transformPartitionByItem(t,i){return s({kind:"PartitionByItemNode",partitionBy:this.transformNode(t.partitionBy,i)})}transformBinaryOperation(t,i){return s({kind:"BinaryOperationNode",leftOperand:this.transformNode(t.leftOperand,i),operator:this.transformNode(t.operator,i),rightOperand:this.transformNode(t.rightOperand,i)})}transformUnaryOperation(t,i){return s({kind:"UnaryOperationNode",operator:this.transformNode(t.operator,i),operand:this.transformNode(t.operand,i)})}transformUsing(t,i){return s({kind:"UsingNode",tables:this.transformNodeList(t.tables,i)})}transformFunction(t,i){return s({kind:"FunctionNode",func:t.func,arguments:this.transformNodeList(t.arguments,i)})}transformCase(t,i){return s({kind:"CaseNode",value:this.transformNode(t.value,i),when:this.transformNodeList(t.when,i),else:this.transformNode(t.else,i),isStatement:t.isStatement})}transformWhen(t,i){return s({kind:"WhenNode",condition:this.transformNode(t.condition,i),result:this.transformNode(t.result,i)})}transformJSONReference(t,i){return s({kind:"JSONReferenceNode",reference:this.transformNode(t.reference,i),traversal:this.transformNode(t.traversal,i)})}transformJSONPath(t,i){return s({kind:"JSONPathNode",inOperator:this.transformNode(t.inOperator,i),pathLegs:this.transformNodeList(t.pathLegs,i)})}transformJSONPathLeg(t,i){return s({kind:"JSONPathLegNode",type:t.type,value:t.value})}transformJSONOperatorChain(t,i){return s({kind:"JSONOperatorChainNode",operator:this.transformNode(t.operator,i),values:this.transformNodeList(t.values,i)})}transformTuple(t,i){return s({kind:"TupleNode",values:this.transformNodeList(t.values,i)})}transformMergeQuery(t,i){return s({kind:"MergeQueryNode",into:this.transformNode(t.into,i),using:this.transformNode(t.using,i),whens:this.transformNodeList(t.whens,i),with:this.transformNode(t.with,i),top:this.transformNode(t.top,i),endModifiers:this.transformNodeList(t.endModifiers,i),output:this.transformNode(t.output,i),returning:this.transformNode(t.returning,i)})}transformMatched(t,i){return s({kind:"MatchedNode",not:t.not,bySource:t.bySource})}transformAddIndex(t,i){return s({kind:"AddIndexNode",name:this.transformNode(t.name,i),columns:this.transformNodeList(t.columns,i),unique:t.unique,using:this.transformNode(t.using,i),ifNotExists:t.ifNotExists})}transformCast(t,i){return s({kind:"CastNode",expression:this.transformNode(t.expression,i),dataType:this.transformNode(t.dataType,i)})}transformFetch(t,i){return s({kind:"FetchNode",rowCount:this.transformNode(t.rowCount,i),modifier:t.modifier})}transformTop(t,i){return s({kind:"TopNode",expression:t.expression,modifiers:t.modifiers})}transformOutput(t,i){return s({kind:"OutputNode",selections:this.transformNodeList(t.selections,i)})}transformDataType(t,i){return t}transformSelectAll(t,i){return t}transformIdentifier(t,i){return t}transformValue(t,i){return t}transformPrimitiveValueList(t,i){return t}transformOperator(t,i){return t}transformDefaultInsertValue(t,i){return t}transformOrAction(t,i){return t}transformCollate(t,i){return t}}var W=N({is(t){return t.kind==="TableNode"},create(t){return N({kind:"TableNode",table:p.create(t)})},createWithSchema(t,i){return N({kind:"TableNode",table:p.createWithSchema(t,i)})}});var u=N({is(t){return t.kind==="UsingNode"},create(t){return N({kind:"UsingNode",tables:N(t)})},cloneWithTables(t,i){return N({...t,tables:N([...t.tables,...i])})}});var ft=N({AlterTableNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,RefreshMaterializedViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0}),vt={json_agg:!0,to_json:!0};class z extends T{#t;#i=new Set;#h=new Set;constructor(t){super();this.#t=t}transformNodeImpl(t,i){if(!this.#v(t))return super.transformNodeImpl(t,i);let h=this.#s(t);for(let v of h)this.#h.add(v);let f=this.#k(t);for(let v of f)this.#i.add(v);let C=super.transformNodeImpl(t,i);for(let v of f)this.#i.delete(v);for(let v of h)this.#h.delete(v);return C}transformSchemableIdentifier(t,i){let h=super.transformSchemableIdentifier(t,i);if(h.schema||!this.#i.has(t.identifier.name))return h;return{...h,schema:S.create(this.#t)}}transformReferences(t,i){let h=super.transformReferences(t,i);if(h.table.table.schema)return h;return{...h,table:W.createWithSchema(this.#t,h.table.table.identifier.name)}}transformAggregateFunction(t,i){return{...super.transformAggregateFunction({...t,aggregated:[]},i),aggregated:this.#N(t,i,"aggregated")}}transformFunction(t,i){return{...super.transformFunction({...t,arguments:[]},i),arguments:this.#N(t,i,"arguments")}}transformSelectModifier(t,i){return{...super.transformSelectModifier({...t,of:void 0},i),of:t.of?.map((h)=>W.is(h)&&!h.table.schema?{...h,table:this.transformIdentifier(h.table.identifier,i)}:this.transformNode(h,i))}}#N(t,i,h){return vt[t.func]?t[h].map((f)=>!W.is(f)||f.table.schema?this.transformNode(f,i):{...f,table:this.transformIdentifier(f.table.identifier,i)}):this.transformNodeList(t[h],i)}#v(t){return t.kind in ft}#k(t){let i=new Set;if("name"in t&&t.name&&p.is(t.name))this.#C(t.name,i);if("from"in t&&t.from)for(let h of t.from.froms)this.#f(h,i);if("into"in t&&t.into)this.#f(t.into,i);if("table"in t&&t.table)this.#f(t.table,i);if("joins"in t&&t.joins)for(let h of t.joins)this.#f(h.table,i);if("using"in t&&t.using)if(a.is(t.using))this.#f(t.using.table,i);else this.#f(t.using,i);return i}#s(t){let i=new Set;if("with"in t&&t.with)this.#c(t.with,i);return i}#f(t,i){if(W.is(t))return this.#C(t.table,i);if(j.is(t)&&W.is(t.node))return this.#C(t.node.table,i);if(y.is(t)){for(let h of t.items)this.#f(h,i);return}if(u.is(t)){for(let h of t.tables)this.#f(h,i);return}}#C(t,i){let h=t.identifier.name;if(!this.#i.has(h)&&!this.#h.has(h))i.add(h)}#c(t,i){for(let h of t.expressions){let f=h.name.table.table.identifier.name;if(!this.#h.has(f))i.add(f)}}}class H{#t;constructor(t){this.#t=new z(t)}transformQuery(t){return this.#t.transformNode(t.node,t.queryId)}async transformResult(t){return t.result}}var Ct="kysely_migration",I="kysely_migration_lock",Ot=!1,K="migration_lock",gi=N({__noMigrations__:!0});class kt{#t;constructor(t){this.#t=N(t)}async getMigrations(){let i=await this.#O(this.#N)?await this.#t.db.withPlugin(this.#s).selectFrom(this.#N).select(["name","timestamp"]).$narrowType().execute():[];return(await this.#V()).map(({name:f,...C})=>{let v=i.find((O)=>O.name===f);return{name:f,migration:C,executedAt:v?new Date(v.timestamp):void 0}})}async migrateToLatest(){return this.#i(()=>({direction:"Up",step:1/0}))}async migrateTo(t){return this.#i(({migrations:i,executedMigrations:h,pendingMigrations:f})=>{if(X(t)&&t.__noMigrations__===!0)return{direction:"Down",step:1/0};if(!i.find((O)=>O.name===t))throw Error(`migration "${t}" doesn't exist`);let C=h.indexOf(t),v=f.findIndex((O)=>O.name===t);if(C!==-1)return{direction:"Down",step:h.length-C-1};else if(v!==-1)return{direction:"Up",step:v+1};else throw Error(`migration "${t}" isn't executed or pending`)})}async migrateUp(){return this.#i(()=>({direction:"Up",step:1}))}async migrateDown(){return this.#i(()=>({direction:"Down",step:1}))}async#i(t){try{return await this.#f(),await this.#C(),await this.#c(),await this.#R(),await this.#w(t)}catch(i){if(i instanceof B)return i.resultSet;return{error:i}}}get#h(){return this.#t.migrationTableSchema}get#N(){return this.#t.migrationTableName??Ct}get#v(){return this.#t.migrationLockTableName??I}get#k(){return this.#t.allowUnorderedMigrations??Ot}get#s(){if(this.#h)return new H(this.#h);return new D}async#f(){if(!this.#h)return;if(await this.#S())return;try{await this.#p(this.#t.db.schema.createSchema(this.#h))}catch(i){if(!await this.#S())throw i}}async#C(){if(await this.#O(this.#N))return;try{await this.#p(this.#t.db.schema.withPlugin(this.#s).createTable(this.#N).addColumn("name","varchar(255)",(i)=>i.notNull().primaryKey()).addColumn("timestamp","varchar(255)",(i)=>i.notNull()))}catch(i){if(!await this.#O(this.#N))throw i}}async#c(){if(await this.#O(this.#v))return;try{await this.#p(this.#t.db.schema.withPlugin(this.#s).createTable(this.#v).addColumn("id","varchar(255)",(i)=>i.notNull().primaryKey()).addColumn("is_locked","integer",(i)=>i.notNull().defaultTo(0)))}catch(i){if(!await this.#O(this.#v))throw i}}async#R(){if(await this.#W())return;try{await this.#t.db.withPlugin(this.#s).insertInto(this.#v).values({id:K,is_locked:0}).execute()}catch(i){if(!await this.#W())throw i}}async#S(){return(await this.#t.db.introspection.getSchemas()).some((i)=>i.name===this.#h)}async#O(t){let i=this.#h;return(await this.#t.db.introspection.getTables({withInternalKyselyTables:!0})).some((f)=>f.name===t&&(!i||f.schema===i))}async#W(){return!!await this.#t.db.withPlugin(this.#s).selectFrom(this.#v).where("id","=",K).select("id").executeTakeFirst()}async#w(t){let i=this.#t.db.getExecutor().adapter,h=N({lockTable:this.#t.migrationLockTableName??I,lockRowId:K,lockTableSchema:this.#t.migrationTableSchema}),f=async(C)=>{try{await i.acquireMigrationLock(C,h);let v=await this.#B(C);if(v.migrations.length===0)return{results:[]};let{direction:O,step:k}=t(v);if(k<=0)return{results:[]};if(O==="Down")return await this.#T(C,v,k);else if(O==="Up")return await this.#z(C,v,k);return{results:[]}}finally{await i.releaseMigrationLock(C,h)}};if(i.supportsTransactionalDdl&&!this.#t.disableTransactions)return this.#t.db.transaction().execute(f);else return this.#t.db.connection().execute(f)}async#B(t){let i=await this.#V(),h=await this.#U(t);if(this.#Q(i,h),!this.#k)this.#D(i,h);let f=this.#J(i,h);return N({migrations:i,executedMigrations:h,lastMigration:G(h),pendingMigrations:f})}#J(t,i){return t.filter((h)=>{return!i.includes(h.name)})}async#V(){let t=await this.#t.provider.getMigrations();return Object.keys(t).sort().map((i)=>({...t[i],name:i}))}async#U(t){let i=await t.withPlugin(this.#s).selectFrom(this.#N).select(["name","timestamp"]).$narrowType().execute(),h=this.#t.nameComparator||((f,C)=>f.localeCompare(C));return i.sort((f,C)=>{if(f.timestamp===C.timestamp)return h(f.name,C.name);return new Date(f.timestamp).getTime()-new Date(C.timestamp).getTime()}).map((f)=>f.name)}#Q(t,i){for(let h of i)if(!t.some((f)=>f.name===h))throw Error(`corrupted migrations: previously executed migration ${h} is missing`)}#D(t,i){for(let h=0;h<i.length;++h)if(t[h].name!==i[h])throw Error(`corrupted migrations: expected previously executed migration ${i[h]} to be at index ${h} but ${t[h].name} was found in its place. New migrations must always have a name that comes alphabetically after the last executed migration.`)}async#T(t,i,h){let f=i.executedMigrations.slice().reverse().slice(0,h).map((v)=>{return i.migrations.find((O)=>O.name===v)}),C=f.map((v)=>{return{migrationName:v.name,direction:"Down",status:"NotExecuted"}});for(let v=0;v<C.length;++v){let O=f[v];try{if(O.down)await O.down(t),await t.withPlugin(this.#s).deleteFrom(this.#N).where("name","=",O.name).execute(),C[v]={migrationName:O.name,direction:"Down",status:"Success"}}catch(k){throw C[v]={migrationName:O.name,direction:"Down",status:"Error"},new B({error:k,results:C})}}return{results:C}}async#z(t,i,h){let C=i.pendingMigrations.slice(0,h).map((v)=>{return{migrationName:v.name,direction:"Up",status:"NotExecuted"}});for(let v=0;v<C.length;v++){let O=i.pendingMigrations[v];try{await O.up(t),await t.withPlugin(this.#s).insertInto(this.#N).values({name:O.name,timestamp:new Date().toISOString()}).execute(),C[v]={migrationName:O.name,direction:"Up",status:"Success"}}catch(k){throw C[v]={migrationName:O.name,direction:"Up",status:"Error"},new B({error:k,results:C})}}return{results:C}}async#p(t){if(this.#t.db.getExecutor().adapter.supportsCreateIfNotExists)t=t.ifNotExists();await t.execute()}}class B extends Error{#t;constructor(t){super();this.#t=t}get resultSet(){return this.#t}}
3
- export{ct as wd,V as xd,F as yd,J as zd,Y as Ad,Z as Bd,$ as Cd,pt as Dd,St as Ed,X as Fd,N as Gd,Wt as Hd,r as Id,Vt as Jd,S as Kd,Bt as Ld,L as Md,p as Nd,j as Od,W as Pd,g as Qd,l as Rd,a as Sd,Ht as Td,m as Ud,Kt as Vd,c as Wd,b as Xd,R as Yd,x as Zd,y as _d,u as $d,Q as ae,T as be,H as ce,M as de,E as ee,ht as fe,Ct as ge,I as he};
3
+ export{ct as xd,V as yd,F as zd,J as Ad,Y as Bd,Z as Cd,$ as Dd,pt as Ed,St as Fd,X as Gd,N as Hd,Wt as Id,r as Jd,Vt as Kd,S as Ld,Bt as Md,L as Nd,p as Od,j as Pd,W as Qd,g as Rd,l as Sd,a as Td,Ht as Ud,m as Vd,Kt as Wd,c as Xd,b as Yd,R as Zd,x as _d,y as $d,u as ae,Q as be,T as ce,H as de,M as ee,E as fe,ht as ge,Ct as he,I as ie};