@shumai-one/shumai 0.2.3 → 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 (162) hide show
  1. package/bin/{chunk-2aamsc5v.js → chunk-08dr94gp.js} +1 -1
  2. package/bin/{chunk-g21jxrt9.js → chunk-08mxv0sm.js} +2 -2
  3. package/bin/{chunk-jqh8kavv.js → chunk-0ed7h2xm.js} +1 -1
  4. package/bin/{chunk-ygz6pawn.js → chunk-0t4z17qr.js} +1 -1
  5. package/bin/{chunk-9h3ds7rn.js → chunk-1d22tysv.js} +2 -2
  6. package/bin/{chunk-0aj303as.js → chunk-1dawjfk8.js} +2 -2
  7. package/bin/chunk-1nh6xgek.js +2 -0
  8. package/bin/chunk-20y3wte3.js +2 -0
  9. package/bin/{chunk-thsbcbay.js → chunk-2ynx0den.js} +1 -1
  10. package/bin/{chunk-2aascrtb.js → chunk-31a3k77j.js} +1 -1
  11. package/bin/{chunk-srn8t0v7.js → chunk-31mjcykb.js} +2 -2
  12. package/bin/{chunk-gtrc5ka2.js → chunk-3jdef7n4.js} +1 -1
  13. package/bin/{chunk-b8js74jk.js → chunk-3rcc5s99.js} +2 -2
  14. package/bin/{chunk-t3t6021k.js → chunk-3t7mjvdv.js} +2 -2
  15. package/bin/{chunk-mzg1h07d.js → chunk-4ahve1nf.js} +1 -1
  16. package/bin/{chunk-nrwna4ha.js → chunk-4hdx2tv0.js} +1 -1
  17. package/bin/chunk-4p7xpfey.js +2 -0
  18. package/bin/{chunk-dm2w12rc.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-e52nga6c.js → chunk-5vqan9c4.js} +2 -2
  22. package/bin/{chunk-re0b7sj7.js → chunk-5zntjzxw.js} +1 -1
  23. package/bin/{chunk-2dsmsa6a.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-w7dn1m95.js → chunk-7eycsyk6.js} +1 -1
  28. package/bin/{chunk-e7ndw3hg.js → chunk-7jjc175m.js} +3 -3
  29. package/bin/{chunk-77r8w95d.js → chunk-7y8dng8t.js} +2 -2
  30. package/bin/{chunk-qksb0v3c.js → chunk-8m6zg15c.js} +2 -2
  31. package/bin/chunk-8n60m9x3.js +1 -0
  32. package/bin/{chunk-rtngbgpk.js → chunk-8qyke29r.js} +1 -1
  33. package/bin/chunk-8yz1expv.js +307 -0
  34. package/bin/{chunk-4qpa7b5t.js → chunk-90et6bwm.js} +1 -1
  35. package/bin/{chunk-hr97a5j5.js → chunk-9p2d0mk1.js} +1 -1
  36. package/bin/{chunk-c45rh4hk.js → chunk-a10tf0d8.js} +1 -1
  37. package/bin/{chunk-262hkppb.js → chunk-a76c5r3c.js} +2 -2
  38. package/bin/chunk-a9t667xv.js +1 -0
  39. package/bin/{chunk-ta7bfdrn.js → chunk-amsb41z5.js} +1 -1
  40. package/bin/{chunk-46ar48f9.js → chunk-arpna31w.js} +1 -1
  41. package/bin/{chunk-zzx99j8t.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-8dqq1fk0.js → chunk-bmqw3j2d.js} +1 -1
  45. package/bin/{chunk-ybhgmvxa.js → chunk-c3fvs0bv.js} +2 -2
  46. package/bin/{chunk-fbte2rmd.js → chunk-c5my1b3k.js} +1 -1
  47. package/bin/{chunk-3rmc8nz6.js → chunk-dhekxndw.js} +1 -1
  48. package/bin/{chunk-g8th86na.js → chunk-dwaj1yn4.js} +1 -1
  49. package/bin/{chunk-cxhmr356.js → chunk-dwswqq3g.js} +1 -1
  50. package/bin/{chunk-15sefy5t.js → chunk-ejfmxjw6.js} +2 -2
  51. package/bin/chunk-er1rb6yj.js +1 -0
  52. package/bin/chunk-etces6ff.js +2 -0
  53. package/bin/{chunk-s1n39qte.js → chunk-etqpzc9e.js} +1 -1
  54. package/bin/{chunk-n4meg9wb.js → chunk-f8cn9m28.js} +1 -1
  55. package/bin/{chunk-fcvtgx1y.js → chunk-fdpjw17x.js} +1 -1
  56. package/bin/{chunk-29tx9qe2.js → chunk-g2dk56e7.js} +1 -1
  57. package/bin/{chunk-pxw97qbq.js → chunk-gn8snrnk.js} +1 -1
  58. package/bin/chunk-gqh4ttjh.js +3 -0
  59. package/bin/{chunk-14fh4s1a.js → chunk-gvn079hy.js} +2 -2
  60. package/bin/chunk-h270n69j.js +7 -0
  61. package/bin/{chunk-1xpec5r8.js → chunk-h2wsm7h3.js} +2 -2
  62. package/bin/{chunk-kfhtk3eh.js → chunk-hfp4hpca.js} +2 -2
  63. package/bin/{chunk-7we7ex0m.js → chunk-hrzm70wg.js} +1 -1
  64. package/bin/{chunk-bs0fjz3w.js → chunk-hz31j0hk.js} +2 -2
  65. package/bin/{chunk-wfx81mfv.js → chunk-j0p1peav.js} +2 -2
  66. package/bin/{chunk-s46zwr4p.js → chunk-jm6bxtzt.js} +1 -1
  67. package/bin/{chunk-9ab6k4rq.js → chunk-k20bhxed.js} +1 -1
  68. package/bin/{chunk-q09dfja5.js → chunk-k9w6mk9d.js} +2 -2
  69. package/bin/chunk-kgb16ggd.css +1 -0
  70. package/bin/{chunk-31baz5n0.js → chunk-m4py21f3.js} +1 -1
  71. package/bin/{chunk-dghtwyq1.js → chunk-mahxw48e.js} +2 -2
  72. package/bin/{chunk-ymeycphq.js → chunk-mcxsk75h.js} +3 -3
  73. package/bin/chunk-mqbxagfd.js +2 -0
  74. package/bin/{chunk-mqjzmn0e.js → chunk-na2nympm.js} +1 -1
  75. package/bin/{chunk-qwg2e3wr.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-e3s3rz2e.js → chunk-nt9tfjx6.js} +2 -2
  79. package/bin/chunk-nzy3pjjm.js +15 -0
  80. package/bin/{chunk-d3wmdjze.js → chunk-p396vw9h.js} +1 -1
  81. package/bin/{chunk-nhsqp8jc.js → chunk-p9xfyqh1.js} +2 -2
  82. package/bin/{chunk-nnkkem25.js → chunk-pgae67hk.js} +2 -2
  83. package/bin/chunk-ph11924k.js +1 -0
  84. package/bin/{chunk-yj4x7tpw.js → chunk-ph3e1bpp.js} +2 -2
  85. package/bin/{chunk-dqgv5yy1.js → chunk-pj0fgb2x.js} +1 -1
  86. package/bin/{chunk-925q4paa.js → chunk-pp072ksj.js} +1 -1
  87. package/bin/{chunk-ztmj61z9.js → chunk-q5cdjzbv.js} +1 -1
  88. package/bin/{chunk-88fg1sw7.js → chunk-qc6dmzn0.js} +2 -2
  89. package/bin/{chunk-6xg65n5y.js → chunk-qgq96tbp.js} +1 -1
  90. package/bin/{chunk-xcwbg4w9.js → chunk-qmtvy2j4.js} +2 -2
  91. package/bin/{chunk-9h027f50.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-891h8br6.js → chunk-s05f0v9t.js} +1 -1
  95. package/bin/{chunk-wc8sc9r9.js → chunk-s7qpj715.js} +1 -1
  96. package/bin/{chunk-8wqfkm4c.js → chunk-sf6fwvrs.js} +1 -1
  97. package/bin/chunk-sr9bty78.js +1 -0
  98. package/bin/{chunk-9avkn3x1.js → chunk-ss45w8ks.js} +2 -2
  99. package/bin/{chunk-8qg47kj6.js → chunk-t2txvzkp.js} +1 -1
  100. package/bin/{chunk-bd71dp4j.js → chunk-td54rdfj.js} +1 -1
  101. package/bin/{chunk-0rxhc7ka.js → chunk-tsncwscz.js} +2 -2
  102. package/bin/chunk-vb9m47z9.js +1 -0
  103. package/bin/{chunk-3qks722n.js → chunk-ve7v8wtv.js} +2 -2
  104. package/bin/{chunk-922nnh39.js → chunk-vf066xwh.js} +1 -1
  105. package/bin/{chunk-97jzve52.js → chunk-vgb8bzcg.js} +2 -2
  106. package/bin/{chunk-js9yf457.js → chunk-vnfmh5ke.js} +2 -2
  107. package/bin/{chunk-6zascpcz.js → chunk-vt4zpasm.js} +1 -1
  108. package/bin/{chunk-j8qtab70.js → chunk-vy24ncn2.js} +1 -1
  109. package/bin/{chunk-w88219ex.js → chunk-w3a50kz8.js} +1 -1
  110. package/bin/{chunk-zemrvz79.js → chunk-w9w5301f.js} +2 -2
  111. package/bin/{chunk-fz88kkk1.js → chunk-wap08p4j.js} +2 -2
  112. package/bin/{chunk-d2vxmn9v.js → chunk-wny0qagx.js} +1 -1
  113. package/bin/{chunk-7hsgmjpa.js → chunk-wqhk76de.js} +2 -2
  114. package/bin/{chunk-5t6c3038.js → chunk-wr5byz6r.js} +1 -1
  115. package/bin/chunk-wrz9e73c.js +2 -0
  116. package/bin/{chunk-0qkj838r.js → chunk-ws07a9kv.js} +1 -1
  117. package/bin/{chunk-7b17fb36.js → chunk-x5dcgk62.js} +1 -1
  118. package/bin/{chunk-898q6x3q.js → chunk-xawwxdq9.js} +2 -2
  119. package/bin/{chunk-m4zpf9gg.js → chunk-y2nw8rbx.js} +2 -2
  120. package/bin/{chunk-hkbybhww.js → chunk-y9ttm07y.js} +1 -1
  121. package/bin/chunk-yahb7wan.js +2 -0
  122. package/bin/{chunk-5d2q46mx.js → chunk-zg0vm233.js} +1 -1
  123. package/bin/chunk-zhd2mkbr.js +1 -0
  124. package/bin/{chunk-dgat7wqv.js → chunk-zs9b0f3z.js} +2 -2
  125. package/bin/{chunk-mnfqdxms.js → chunk-zx9cv3t8.js} +1 -1
  126. package/bin/{chunk-1wm57c6y.js → chunk-zxpef55w.js} +3 -3
  127. package/bin/shumai-app.html +1 -1
  128. package/bin/shumai-app.js +293 -225
  129. package/package.json +8 -8
  130. package/prisma/migrations/20260728024147_add_agent_session_entry_columns/migration.sql +14 -0
  131. package/prisma/migrations/20260728024205_migrate_agent_session_entry_data/migration.sql +12 -0
  132. package/prisma/migrations/20260728031230_remove_agent_session_entry_legacy_entry_column/migration.sql +8 -0
  133. package/prisma/migrations/20260729073910_change_agent_session_asset_on_delete_to_set_null/migration.sql +5 -0
  134. package/prisma/migrations/20260729114346_asset_size_byte_bigint/migration.sql +2 -0
  135. package/prisma/migrations/20260729114659_ai_usage_tokens_bigint/migration.sql +5 -0
  136. package/prisma/schema.prisma +18 -12
  137. package/bin/chunk-0xbf8bcg.js +0 -2
  138. package/bin/chunk-23d3968z.js +0 -2
  139. package/bin/chunk-2a9n3dhx.js +0 -1
  140. package/bin/chunk-3hzj13pj.js +0 -1
  141. package/bin/chunk-3n1rezd0.js +0 -2
  142. package/bin/chunk-5vkf99sk.js +0 -1
  143. package/bin/chunk-6z65xd0w.js +0 -3
  144. package/bin/chunk-8tf6kgdj.js +0 -2
  145. package/bin/chunk-av71yjaa.js +0 -1
  146. package/bin/chunk-b73ktdmd.js +0 -320
  147. package/bin/chunk-carknytp.js +0 -1
  148. package/bin/chunk-chkx04mw.js +0 -1
  149. package/bin/chunk-crt1e1w1.js +0 -2
  150. package/bin/chunk-gswbc6y9.js +0 -2
  151. package/bin/chunk-hnhq0dh9.js +0 -1
  152. package/bin/chunk-j0c7d9y1.js +0 -1
  153. package/bin/chunk-jyzegph4.js +0 -1
  154. package/bin/chunk-kr06nrbx.js +0 -2
  155. package/bin/chunk-nyhqy6q2.js +0 -62
  156. package/bin/chunk-s8t74q9m.js +0 -1
  157. package/bin/chunk-se8rgwp8.js +0 -1
  158. package/bin/chunk-tm6z4hkd.css +0 -1
  159. package/bin/chunk-wckjyvtb.js +0 -5
  160. package/bin/chunk-wsyg4rwg.js +0 -2
  161. package/bin/chunk-wtjc4565.js +0 -1
  162. package/bin/chunk-y79r28gd.js +0 -1
@@ -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-b73ktdmd.js";import{V as Yz,W as Zz,X as _z,Y as $z,Z as Kz}from"./chunk-wsyg4rwg.js";import{Ua as Uz}from"./chunk-srn8t0v7.js";import{Wa as S}from"./chunk-kfhtk3eh.js";import{ig as v}from"./chunk-nnkkem25.js";import{Mg as Jz}from"./chunk-fz88kkk1.js";import{bh as Xz}from"./chunk-gswbc6y9.js";import{Cj as A,Lj as Gz,Sh as r,Ti as h,ai as o,gk as T,ji as t,li as e,mh as Bz,mk as Y,nh as B,oh as z,oj as zz,ph as J,qh as a,qi as M,ri as s,th as n,wi as b}from"./chunk-nyhqy6q2.js";import{Vk as Rz}from"./chunk-0qkj838r.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{Bk as G}from"./chunk-bs0fjz3w.js";import{Vk as F}from"./chunk-0qkj838r.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 We,X as Xe};
4
+ export{T as Bk,X as Ck};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{nk as r,ok as p,pk as d,qk as i}from"./chunk-hkbybhww.js";import{wk as n}from"./chunk-5t6c3038.js";import{xk as b}from"./chunk-9ab6k4rq.js";import{Ak as I}from"./chunk-zemrvz79.js";import"./chunk-bs0fjz3w.js";import{Ck as u}from"./chunk-4qpa7b5t.js";import{Ok as m,Qk as c}from"./chunk-re0b7sj7.js";import{Rk as h,Sk as k,Tk as g}from"./chunk-922nnh39.js";import{Uk as w}from"./chunk-9h027f50.js";import"./chunk-0qkj838r.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 Xb};
3
+ export{q as xk};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Ub as g,Vb as T,Wb as R}from"./chunk-e3s3rz2e.js";import"./chunk-3rmc8nz6.js";import{Yb as V}from"./chunk-s1n39qte.js";import{Zb as Y}from"./chunk-9avkn3x1.js";import{ec as k,fc as M}from"./chunk-w88219ex.js";import{hc as f}from"./chunk-2dsmsa6a.js";import"./chunk-ta7bfdrn.js";import{lc as L}from"./chunk-pxw97qbq.js";import"./chunk-ybhgmvxa.js";import{af as D}from"./chunk-q09dfja5.js";import{bf as Z}from"./chunk-d2vxmn9v.js";import{yk as H}from"./chunk-9ab6k4rq.js";import"./chunk-bs0fjz3w.js";import"./chunk-0qkj838r.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{td as Z,ud as v}from"./chunk-9h3ds7rn.js";import{fe as $,ge as h}from"./chunk-n4meg9wb.js";import"./chunk-0qkj838r.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{gk as r,oh as o}from"./chunk-nyhqy6q2.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 qf,n as rf,c as sf,s as tf,i as uf,l as vf};
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};
@@ -0,0 +1 @@
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 Yb};
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 vd,V as wd,F as xd,J as yd,Y as zd,Z as Ad,$ as Bd,pt as Cd,St as Dd,X as Ed,N as Fd,Wt as Gd,r as Hd,Vt as Id,S as Jd,Bt as Kd,L as Ld,p as Md,j as Nd,W as Od,g as Pd,l as Qd,a as Rd,Ht as Sd,m as Td,Kt as Ud,c as Vd,b as Wd,R as Xd,x as Yd,y as Zd,u as _d,Q as $d,T as ae,H as be,M as ce,E as de,ht as ee,Ct as fe,I as ge};
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};