@shumai-one/shumai 0.3.6 → 0.3.7

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 (135) hide show
  1. package/bin/{chunk-gg1gwjtn.js → chunk-0jkqmbcx.js} +1 -1
  2. package/bin/{chunk-t5561vz5.js → chunk-0t8q76ac.js} +1 -1
  3. package/bin/chunk-0xern7e4.js +1 -0
  4. package/bin/{chunk-9p5n3m2z.js → chunk-0ycwr0kb.js} +1 -1
  5. package/bin/{chunk-55myfmhy.js → chunk-0yngn45x.js} +2 -2
  6. package/bin/{chunk-jtd7rydv.js → chunk-1khzycf9.js} +1 -1
  7. package/bin/{chunk-fwbrcfaq.js → chunk-1sqz0va1.js} +2 -2
  8. package/bin/{chunk-w4ycztv5.js → chunk-1xzc6z02.js} +1 -1
  9. package/bin/{chunk-y1t47c7f.js → chunk-2086rsb2.js} +1 -1
  10. package/bin/{chunk-5wrakb8p.js → chunk-260wywfb.js} +1 -1
  11. package/bin/{chunk-6edadcpn.js → chunk-2mqqghrz.js} +2 -2
  12. package/bin/{chunk-ghz19a7t.js → chunk-2xmsrq7f.js} +2 -2
  13. package/bin/{chunk-nh8azwsx.js → chunk-38g3s1f3.js} +2 -2
  14. package/bin/{chunk-0jesq6sm.js → chunk-3dx0p1ge.js} +1 -1
  15. package/bin/{chunk-ce50f746.js → chunk-3kqdgddm.js} +2 -2
  16. package/bin/{chunk-z0tbq08w.js → chunk-3xzgddev.js} +1 -1
  17. package/bin/{chunk-1b7shyfp.js → chunk-48nzw50r.js} +1 -1
  18. package/bin/{chunk-w16jgdfx.js → chunk-4bn9eb9h.js} +1 -1
  19. package/bin/chunk-4egayx81.js +2 -0
  20. package/bin/{chunk-ef5v7gta.js → chunk-4rbzswqs.js} +2 -2
  21. package/bin/{chunk-crdvxq38.js → chunk-503qq6sa.js} +2 -2
  22. package/bin/{chunk-d8bpqbdw.js → chunk-50keqtz9.js} +1 -1
  23. package/bin/{chunk-mmrtjcst.js → chunk-5gtew41y.js} +1 -1
  24. package/bin/chunk-60hpa5kf.js +3 -0
  25. package/bin/{chunk-4a9sdfyp.js → chunk-69tt1pvr.js} +2 -2
  26. package/bin/{chunk-rmm6y799.js → chunk-6fv38qdc.js} +2 -2
  27. package/bin/{chunk-vgr9db5g.js → chunk-6v39c8eg.js} +2 -2
  28. package/bin/{chunk-kaxwma6y.js → chunk-6zs49mef.js} +1 -1
  29. package/bin/{chunk-y8vw7zv1.js → chunk-7872prvg.js} +1 -1
  30. package/bin/{chunk-kk0gx8eg.js → chunk-7hnw6y6d.js} +2 -2
  31. package/bin/{chunk-47093mwk.js → chunk-7k3ccca6.js} +1 -1
  32. package/bin/chunk-815ezj20.js +1 -0
  33. package/bin/{chunk-ew4cxkcc.js → chunk-81tb4v5v.js} +2 -2
  34. package/bin/{chunk-ym47952x.js → chunk-83k0wa5k.js} +2 -2
  35. package/bin/{chunk-8js9m1j7.js → chunk-85eg9xqx.js} +1 -1
  36. package/bin/{chunk-vqgz25av.js → chunk-86aagej8.js} +1 -1
  37. package/bin/{chunk-f44d9fpd.js → chunk-87wqbn4g.js} +2 -2
  38. package/bin/chunk-8y1v9dm9.js +2 -0
  39. package/bin/{chunk-20wtz3kc.js → chunk-98j2z6he.js} +3 -3
  40. package/bin/chunk-9gq9782d.js +1 -0
  41. package/bin/{chunk-y0yrmcf3.js → chunk-9gzy30zm.js} +2 -2
  42. package/bin/{chunk-0sajh8fw.js → chunk-9nyhmtp9.js} +2 -2
  43. package/bin/{chunk-7b60a9sy.js → chunk-9s02m95j.js} +2 -2
  44. package/bin/{chunk-c9bpf8gp.js → chunk-9xhnmnnb.js} +2 -2
  45. package/bin/{chunk-hcvpb1hw.js → chunk-a0k1b4sq.js} +1 -1
  46. package/bin/{chunk-7fm1hznx.js → chunk-af6wbhkv.js} +2 -2
  47. package/bin/{chunk-sx7kparv.js → chunk-b3jh3hf1.js} +2 -2
  48. package/bin/{chunk-74zstxav.js → chunk-b8v7jvkb.js} +2 -2
  49. package/bin/{chunk-9tnfhrnh.js → chunk-bancgvrc.js} +2 -2
  50. package/bin/{chunk-a5fw02xq.js → chunk-br5xkaf7.js} +3 -3
  51. package/bin/chunk-bv88se28.css +1 -0
  52. package/bin/{chunk-nh31ma8d.js → chunk-cqq8e3hc.js} +2 -2
  53. package/bin/{chunk-mgbqjbfc.js → chunk-dej1gq35.js} +1 -1
  54. package/bin/{chunk-mhj0pqq3.js → chunk-dv1zpd2p.js} +2 -2
  55. package/bin/{chunk-0jr6q4j4.js → chunk-eetrc0j1.js} +2 -2
  56. package/bin/{chunk-6awkqp09.js → chunk-esrtafz0.js} +1 -1
  57. package/bin/chunk-eztggp8r.js +1 -0
  58. package/bin/{chunk-n198tewr.js → chunk-f2j2cqd1.js} +2 -2
  59. package/bin/{chunk-1f8rr3ef.js → chunk-fcs4v6jq.js} +2 -2
  60. package/bin/{chunk-dfzmqx1v.js → chunk-ftc48rbb.js} +3 -3
  61. package/bin/{chunk-pm64et9d.js → chunk-g60v3jc1.js} +1 -1
  62. package/bin/chunk-gf5ds9r9.js +2 -0
  63. package/bin/{chunk-f2eh802w.js → chunk-gjdmnfms.js} +1 -1
  64. package/bin/{chunk-gra3617w.js → chunk-gjn3w26y.js} +2 -2
  65. package/bin/{chunk-8jdgzy22.js → chunk-h9emz0zb.js} +2 -2
  66. package/bin/{chunk-3egeywt8.js → chunk-h9k2atte.js} +1 -1
  67. package/bin/{chunk-fzaw1e34.js → chunk-hqkmdp31.js} +2 -2
  68. package/bin/{chunk-9annjnj2.js → chunk-jszpvg8e.js} +2 -2
  69. package/bin/{chunk-snexx7ks.js → chunk-k48y9e5s.js} +1 -1
  70. package/bin/{chunk-d2qp8g98.js → chunk-karn564z.js} +2 -2
  71. package/bin/{chunk-fdm1yc29.js → chunk-kkq4wvnc.js} +1 -1
  72. package/bin/{chunk-aeg4kya9.js → chunk-kpn9d97x.js} +1 -1
  73. package/bin/chunk-ksx113sp.js +1 -0
  74. package/bin/chunk-m6a4rzdt.js +62 -0
  75. package/bin/chunk-mw8f8ngt.js +7 -0
  76. package/bin/{chunk-w98wvk17.js → chunk-n4gghgrj.js} +2 -2
  77. package/bin/{chunk-hqbzjzsm.js → chunk-n76r6s9k.js} +2 -2
  78. package/bin/{chunk-g70eyttc.js → chunk-nvjp2rnh.js} +2 -2
  79. package/bin/{chunk-29nhtrfv.js → chunk-p4c4z0f2.js} +1 -1
  80. package/bin/{chunk-ex4qa7gv.js → chunk-ptw49k86.js} +1 -1
  81. package/bin/{chunk-tqxmj05h.js → chunk-qcqw7wnv.js} +2 -2
  82. package/bin/{chunk-z0zevgb6.js → chunk-qdycy714.js} +1 -1
  83. package/bin/{chunk-gewh7p42.js → chunk-qh9rz2ee.js} +2 -2
  84. package/bin/{chunk-mxee09jk.js → chunk-qmpph1gt.js} +2 -2
  85. package/bin/{chunk-dmjzrdan.js → chunk-qy93r7tm.js} +2 -2
  86. package/bin/{chunk-j1awxx51.js → chunk-r5dv0rfv.js} +2 -2
  87. package/bin/{chunk-gct52xks.js → chunk-rfyaphas.js} +2 -2
  88. package/bin/chunk-rvspnthy.js +1 -0
  89. package/bin/{chunk-9hsfjqgq.js → chunk-s0hgykza.js} +2 -2
  90. package/bin/chunk-sjjndwt4.js +2 -0
  91. package/bin/{chunk-8g0mhzsg.js → chunk-t3tp9trj.js} +2 -2
  92. package/bin/{chunk-1fq10abj.js → chunk-t9t9evan.js} +2 -2
  93. package/bin/{chunk-vw1rhgjs.js → chunk-tpp9qf5m.js} +2 -2
  94. package/bin/chunk-tvg9gvqs.js +1 -0
  95. package/bin/{chunk-yzra1x8f.js → chunk-tzt4c1dm.js} +2 -2
  96. package/bin/{chunk-js0genbf.js → chunk-v8w2nxew.js} +1 -1
  97. package/bin/{chunk-z2ef8zpz.js → chunk-v98e3gex.js} +1 -1
  98. package/bin/{chunk-89kqtj7x.js → chunk-vxpnp4xg.js} +2 -2
  99. package/bin/{chunk-4ajat3xv.js → chunk-x3ynjbt5.js} +14 -14
  100. package/bin/{chunk-800vdz5n.js → chunk-x6532q76.js} +1 -1
  101. package/bin/chunk-xp4dcyk3.js +1 -0
  102. package/bin/chunk-y8aehqr8.js +2 -0
  103. package/bin/{chunk-n9cjmkky.js → chunk-ytzk81tr.js} +1 -1
  104. package/bin/chunk-yvxt48r4.js +1 -0
  105. package/bin/{chunk-q7xfrtnj.js → chunk-zg60j9x2.js} +1 -1
  106. package/bin/{chunk-bq2aq6v8.js → chunk-zjj9qj6y.js} +2 -2
  107. package/bin/{chunk-gx5rjm9m.js → chunk-zqg4f56h.js} +1 -1
  108. package/bin/{chunk-thj4cpev.js → chunk-zwgf211t.js} +2 -2
  109. package/bin/shumai-app.html +1 -1
  110. package/bin/shumai-app.js +240 -245
  111. package/package.json +7 -7
  112. package/prisma/migrations/20260813022501_backfill_autofill_source_in_config/migration.sql +8 -0
  113. package/prisma/migrations/20260813022502_drop_legacy_autofill_columns/migration.sql +12 -0
  114. package/prisma/migrations/20260813122613_add_network_sandbox_enabled_column/migration.sql +2 -0
  115. package/prisma/migrations/20260813122618_migrate_legacy_sandboxes_enabled/migration.sql +2 -0
  116. package/prisma/schema.prisma +8 -9
  117. package/bin/chunk-1hn9v6hv.js +0 -2
  118. package/bin/chunk-2882s5sp.js +0 -1
  119. package/bin/chunk-3htn4m2d.js +0 -7
  120. package/bin/chunk-6bztpk7h.js +0 -1
  121. package/bin/chunk-76hs7g0x.js +0 -2
  122. package/bin/chunk-e5s7202g.js +0 -2
  123. package/bin/chunk-f5zg7b38.js +0 -1
  124. package/bin/chunk-gh64hag9.js +0 -2
  125. package/bin/chunk-h0p8yew4.js +0 -1
  126. package/bin/chunk-hgngnc1k.js +0 -1
  127. package/bin/chunk-jt4yh37q.js +0 -62
  128. package/bin/chunk-k0xpskyq.js +0 -1
  129. package/bin/chunk-nhc72y4x.js +0 -2
  130. package/bin/chunk-px6q3jpz.js +0 -1
  131. package/bin/chunk-sx3by19j.js +0 -1
  132. package/bin/chunk-vz75bqvx.js +0 -2
  133. package/bin/chunk-wa8k9fwx.js +0 -1
  134. package/bin/chunk-z3p3qz9d.js +0 -3
  135. package/bin/chunk-zv85aqwb.css +0 -1
@@ -1,2 +1,2 @@
1
- import{Fi as r,ik as i,wk as t,xh as e}from"./chunk-jt4yh37q.js";function s({className:o,...a}){return e(i.Root,{"data-slot":"checkbox",className:t("peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary",o),...a,children:e(i.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:e(r,{className:"size-3.5"})})})}
2
- export{s as ca};
1
+ import{Ak as t,Ji as r,mk as i,zh as e}from"./chunk-m6a4rzdt.js";function s({className:o,...a}){return e(i.Root,{"data-slot":"checkbox",className:t("peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary",o),...a,children:e(i.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:e(r,{className:"size-3.5"})})})}
2
+ export{s as ba};
@@ -1,2 +1,2 @@
1
- import{ok as o,wk as t,xh as r,yh as i}from"./chunk-jt4yh37q.js";function m({className:e,children:l,...a}){return i(o.Root,{"data-slot":"scroll-area",className:t("relative",e),...a,children:[r(o.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:l}),r(c,{}),r(o.Corner,{})]})}function c({className:e,orientation:l="vertical",...a}){return r(o.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:l,className:t("flex touch-none p-px transition-colors select-none",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent",e),...a,children:r(o.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}
2
- export{m as db,c as eb};
1
+ import{Ah as i,Ak as t,sk as o,zh as r}from"./chunk-m6a4rzdt.js";function m({className:e,children:l,...a}){return i(o.Root,{"data-slot":"scroll-area",className:t("relative",e),...a,children:[r(o.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:l}),r(c,{}),r(o.Corner,{})]})}function c({className:e,orientation:l="vertical",...a}){return r(o.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:l,className:t("flex touch-none p-px transition-colors select-none",l==="vertical"&&"h-full w-2.5 border-l border-l-transparent",l==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent",e),...a,children:r(o.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}
2
+ export{m as fb,c as gb};
@@ -0,0 +1 @@
1
+ import{j as y}from"./chunk-zwgf211t.js";import"./chunk-sjjndwt4.js";import"./chunk-qcqw7wnv.js";import"./chunk-x3ynjbt5.js";import"./chunk-dv1zpd2p.js";import"./chunk-mw8f8ngt.js";import"./chunk-y8aehqr8.js";import"./chunk-9nyhmtp9.js";import"./chunk-r5dv0rfv.js";import"./chunk-83k0wa5k.js";import"./chunk-8y1v9dm9.js";import"./chunk-tpp9qf5m.js";import"./chunk-4rbzswqs.js";import"./chunk-rfyaphas.js";import"./chunk-0yngn45x.js";import"./chunk-5gtew41y.js";import"./chunk-3kqdgddm.js";import"./chunk-karn564z.js";import{yf as v,zf as m}from"./chunk-1sqz0va1.js";import"./chunk-38g3s1f3.js";import"./chunk-qmpph1gt.js";import"./chunk-zjj9qj6y.js";import"./chunk-eetrc0j1.js";import"./chunk-9s02m95j.js";import"./chunk-87wqbn4g.js";import"./chunk-69tt1pvr.js";import"./chunk-f2j2cqd1.js";import"./chunk-2xmsrq7f.js";import"./chunk-af6wbhkv.js";import"./chunk-2mqqghrz.js";import{th as w}from"./chunk-n4gghgrj.js";import{Eh as i,Fh as f,Gh as x,Ik as g,Rh as b,bi as r,xh as q,zh as n}from"./chunk-m6a4rzdt.js";import{Nl as W}from"./chunk-dej1gq35.js";var d=W(q(),1);function A(){let{projectId:e,collectionId:l}=K.useParams(),{teamId:o,ensureTeamIdForProject:h}=w();d.useEffect(()=>{h(e)},[e,h]);let{data:p}=f(v(e)),{data:s,refetch:z}=i({...m(l)}),{mutate:k}=x({mutationFn:async(a)=>{let c=await r.api.collections[":collectionId"].$patch({param:{collectionId:l},json:a});if(!c.ok)throw Error("Failed to update collection");return await c.json()},onSuccess:()=>{z()}}),t=p?.rootFolder,{data:u}=i({queryKey:["folders",t],queryFn:async()=>{let a=await r.api.folders[":folderId"].$get({param:{folderId:t}});if(!a.ok)throw Error("Failed to fetch folder");return await a.json()},enabled:!!t});if(!o||!t||!u||!s)return n("div",{children:g.loading_collection()});let C=s.filter.sourceFolderId||t;return n(y,{teamId:o,projectId:e,projectName:p.name??"",assetId:C,rootFolderId:t,collection:s,onUpdateCollection:k})}var K=b("/projects/$projectId/collections/$collectionId")({component:A});export{K as Route};
@@ -1,2 +1,2 @@
1
- import{Eg as f}from"./chunk-n198tewr.js";import{xh as b,yh as q}from"./chunk-jt4yh37q.js";function z(){return q("div",{className:"flex h-screen flex-col bg-background min-h-0",children:[q("div",{className:"flex h-14 items-center justify-between border-b px-6 shrink-0",children:[q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-4 w-24"}),b("span",{className:"text-muted-foreground",children:"/"}),b(f,{className:"h-4 w-32"})]}),q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-8 w-8 rounded-md"}),b(f,{className:"h-8 w-20 rounded-md"})]})]}),q("div",{className:"flex flex-1 overflow-hidden",children:[q("div",{className:"w-[240px] border-r p-4 space-y-4 hidden md:block shrink-0",children:[q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-4 w-4 rounded"}),b(f,{className:"h-4 w-24"})]}),q("div",{className:"pl-4 space-y-3",children:[q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-3 w-3 rounded"}),b(f,{className:"h-3 w-28"})]}),q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-3 w-3 rounded"}),b(f,{className:"h-3 w-20"})]}),q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-3 w-3 rounded"}),b(f,{className:"h-3 w-24"})]})]})]}),q("div",{className:"flex-1 p-6 space-y-6 overflow-y-auto",children:[q("div",{className:"flex items-center justify-between border-b pb-4",children:[q("div",{className:"flex items-center gap-4",children:[b(f,{className:"h-5 w-40"}),b(f,{className:"h-4 w-20"})]}),q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-8 w-8 rounded"}),b(f,{className:"h-8 w-8 rounded"}),b(f,{className:"h-8 w-32 rounded"})]})]}),q("div",{className:"space-y-4",children:[b("div",{className:"flex items-center gap-2",children:b(f,{className:"h-4 w-24"})}),b("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5",children:Array.from({length:10}).map((w,v)=>q("div",{className:"flex flex-col rounded-lg border bg-card p-3 space-y-3",children:[b(f,{className:"aspect-square w-full rounded-md"}),q("div",{className:"space-y-2",children:[b(f,{className:"h-4 w-3/4"}),q("div",{className:"flex justify-between items-center",children:[b(f,{className:"h-3 w-1/4"}),b(f,{className:"h-3 w-1/3"})]})]})]},v))})]})]})]})]})}function A(){return q("div",{className:"h-screen flex flex-col bg-background",children:[q("div",{className:"flex h-14 items-center justify-between border-b px-6 shrink-0",children:[q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-4 w-16"}),b("span",{className:"text-muted-foreground",children:"/"}),b(f,{className:"h-4 w-28"}),b("span",{className:"text-muted-foreground",children:"/"}),b(f,{className:"h-4 w-32"})]}),b("div",{className:"flex items-center gap-2",children:b(f,{className:"h-8 w-20 rounded"})})]}),q("div",{className:"flex flex-1 overflow-hidden",children:[q("div",{className:"w-[280px] border-r p-4 flex flex-col gap-4 shrink-0 hidden md:flex",children:[b(f,{className:"h-5 w-24"}),b("div",{className:"space-y-3 flex-1 overflow-y-auto",children:Array.from({length:4}).map((w,v)=>q("div",{className:"flex gap-3 p-2 rounded border",children:[b(f,{className:"h-12 w-12 rounded bg-muted shrink-0"}),q("div",{className:"space-y-2 flex-1",children:[b(f,{className:"h-3 w-2/3"}),b(f,{className:"h-2 w-1/2"})]})]},v))})]}),q("div",{className:"flex-1 bg-muted/20 p-6 flex flex-col justify-between relative min-w-0",children:[b("div",{className:"flex-1 flex items-center justify-center",children:b(f,{className:"w-full max-w-4xl aspect-video rounded-lg shadow-lg"})}),q("div",{className:"mt-4 flex items-center justify-between shrink-0",children:[q("div",{className:"flex items-center gap-4",children:[b(f,{className:"h-8 w-8 rounded-full"}),b(f,{className:"h-4 w-32"})]}),b(f,{className:"h-4 w-24"})]})]}),q("div",{className:"w-[360px] border-l p-4 flex flex-col gap-6 shrink-0 hidden lg:flex bg-card",children:[q("div",{className:"space-y-4",children:[b(f,{className:"h-5 w-32"}),b("div",{className:"space-y-3",children:Array.from({length:3}).map((w,v)=>q("div",{className:"flex justify-between items-center py-1 border-b",children:[b(f,{className:"h-3 w-20"}),b(f,{className:"h-3 w-32"})]},v))})]}),q("div",{className:"flex-1 flex flex-col gap-4",children:[b(f,{className:"h-5 w-24"}),b("div",{className:"space-y-3 flex-1 overflow-y-auto",children:Array.from({length:3}).map((w,v)=>q("div",{className:"flex gap-3 p-3 rounded-lg border bg-muted/10",children:[b(f,{className:"h-8 w-8 rounded-full shrink-0"}),q("div",{className:"space-y-2 flex-1",children:[q("div",{className:"flex justify-between",children:[b(f,{className:"h-3 w-24"}),b(f,{className:"h-2 w-12"})]}),b(f,{className:"h-3 w-full"}),b(f,{className:"h-3 w-5/6"})]})]},v))})]})]})]})]})}
2
- export{z as Qf,A as Rf};
1
+ import{Gg as f}from"./chunk-f2j2cqd1.js";import{Ah as q,zh as b}from"./chunk-m6a4rzdt.js";function z(){return q("div",{className:"flex h-screen flex-col bg-background min-h-0",children:[q("div",{className:"flex h-14 items-center justify-between border-b px-6 shrink-0",children:[q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-4 w-24"}),b("span",{className:"text-muted-foreground",children:"/"}),b(f,{className:"h-4 w-32"})]}),q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-8 w-8 rounded-md"}),b(f,{className:"h-8 w-20 rounded-md"})]})]}),q("div",{className:"flex flex-1 overflow-hidden",children:[q("div",{className:"w-[240px] border-r p-4 space-y-4 hidden md:block shrink-0",children:[q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-4 w-4 rounded"}),b(f,{className:"h-4 w-24"})]}),q("div",{className:"pl-4 space-y-3",children:[q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-3 w-3 rounded"}),b(f,{className:"h-3 w-28"})]}),q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-3 w-3 rounded"}),b(f,{className:"h-3 w-20"})]}),q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-3 w-3 rounded"}),b(f,{className:"h-3 w-24"})]})]})]}),q("div",{className:"flex-1 p-6 space-y-6 overflow-y-auto",children:[q("div",{className:"flex items-center justify-between border-b pb-4",children:[q("div",{className:"flex items-center gap-4",children:[b(f,{className:"h-5 w-40"}),b(f,{className:"h-4 w-20"})]}),q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-8 w-8 rounded"}),b(f,{className:"h-8 w-8 rounded"}),b(f,{className:"h-8 w-32 rounded"})]})]}),q("div",{className:"space-y-4",children:[b("div",{className:"flex items-center gap-2",children:b(f,{className:"h-4 w-24"})}),b("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5",children:Array.from({length:10}).map((w,v)=>q("div",{className:"flex flex-col rounded-lg border bg-card p-3 space-y-3",children:[b(f,{className:"aspect-square w-full rounded-md"}),q("div",{className:"space-y-2",children:[b(f,{className:"h-4 w-3/4"}),q("div",{className:"flex justify-between items-center",children:[b(f,{className:"h-3 w-1/4"}),b(f,{className:"h-3 w-1/3"})]})]})]},v))})]})]})]})]})}function A(){return q("div",{className:"h-screen flex flex-col bg-background",children:[q("div",{className:"flex h-14 items-center justify-between border-b px-6 shrink-0",children:[q("div",{className:"flex items-center gap-2",children:[b(f,{className:"h-4 w-16"}),b("span",{className:"text-muted-foreground",children:"/"}),b(f,{className:"h-4 w-28"}),b("span",{className:"text-muted-foreground",children:"/"}),b(f,{className:"h-4 w-32"})]}),b("div",{className:"flex items-center gap-2",children:b(f,{className:"h-8 w-20 rounded"})})]}),q("div",{className:"flex flex-1 overflow-hidden",children:[q("div",{className:"w-[280px] border-r p-4 flex flex-col gap-4 shrink-0 hidden md:flex",children:[b(f,{className:"h-5 w-24"}),b("div",{className:"space-y-3 flex-1 overflow-y-auto",children:Array.from({length:4}).map((w,v)=>q("div",{className:"flex gap-3 p-2 rounded border",children:[b(f,{className:"h-12 w-12 rounded bg-muted shrink-0"}),q("div",{className:"space-y-2 flex-1",children:[b(f,{className:"h-3 w-2/3"}),b(f,{className:"h-2 w-1/2"})]})]},v))})]}),q("div",{className:"flex-1 bg-muted/20 p-6 flex flex-col justify-between relative min-w-0",children:[b("div",{className:"flex-1 flex items-center justify-center",children:b(f,{className:"w-full max-w-4xl aspect-video rounded-lg shadow-lg"})}),q("div",{className:"mt-4 flex items-center justify-between shrink-0",children:[q("div",{className:"flex items-center gap-4",children:[b(f,{className:"h-8 w-8 rounded-full"}),b(f,{className:"h-4 w-32"})]}),b(f,{className:"h-4 w-24"})]})]}),q("div",{className:"w-[360px] border-l p-4 flex flex-col gap-6 shrink-0 hidden lg:flex bg-card",children:[q("div",{className:"space-y-4",children:[b(f,{className:"h-5 w-32"}),b("div",{className:"space-y-3",children:Array.from({length:3}).map((w,v)=>q("div",{className:"flex justify-between items-center py-1 border-b",children:[b(f,{className:"h-3 w-20"}),b(f,{className:"h-3 w-32"})]},v))})]}),q("div",{className:"flex-1 flex flex-col gap-4",children:[b(f,{className:"h-5 w-24"}),b("div",{className:"space-y-3 flex-1 overflow-y-auto",children:Array.from({length:3}).map((w,v)=>q("div",{className:"flex gap-3 p-3 rounded-lg border bg-muted/10",children:[b(f,{className:"h-8 w-8 rounded-full shrink-0"}),q("div",{className:"space-y-2 flex-1",children:[q("div",{className:"flex justify-between",children:[b(f,{className:"h-3 w-24"}),b(f,{className:"h-2 w-12"})]}),b(f,{className:"h-3 w-full"}),b(f,{className:"h-3 w-5/6"})]})]},v))})]})]})]})]})}
2
+ export{z as Sf,A as Tf};
@@ -0,0 +1,2 @@
1
+ import{s as p}from"./chunk-dv1zpd2p.js";import{$ as $z,Y as Yz,Z as Zz,_ as _z,aa as Kz}from"./chunk-9nyhmtp9.js";import{db as Uz}from"./chunk-4rbzswqs.js";import{fb as A}from"./chunk-rfyaphas.js";import{yg as v}from"./chunk-eetrc0j1.js";import{fh as Jz}from"./chunk-2mqqghrz.js";import{th as Xz}from"./chunk-n4gghgrj.js";import{Ah as J,Ak as T,Bh as a,Eh as n,Ei as M,Fi as s,Fj as zz,Ik as Y,Ki as b,Xj as S,bi as r,ek as Gz,gj as h,ni as o,wi as t,xh as Bz,yh as B,yi as e,zh as z}from"./chunk-m6a4rzdt.js";import{Nl as Rz}from"./chunk-dej1gq35.js";var _=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,inputText:C,setInputText:l}=v(),{teamId:Z,ensureTeamIdForProject:j}=Xz();_.useEffect(()=>{if(O)j(O)},[O,j]);let{data:Dz=[]}=n({queryKey:["agents",Z],queryFn:async()=>{if(!Z)return[];let G=await r.api.teams[":teamId"].agents.$get({param:{teamId:Z}});if(!G.ok)throw Error("failed to fetch agents");return G.json()},enabled:!!Z}),F=Dz.filter((G)=>G.type==="chat"&&G.enabled);_.useEffect(()=>{if(F.length>0){if(!F.some((X)=>X.id===H))w(F[0].id)}},[F,H,w]);let d=_.useRef(null),y=_.useRef(null),k=_.useRef(!0),f=_.useRef(!0);_.useEffect(()=>{f.current=!0,k.current=!0},[O,R,W]),_.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]),_.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"}});_.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]),_.useEffect(()=>{if(W&&Z)m(Z)},[W,m,Z]);let q=a(),Fz=_.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||!Z)return;Pz(Z,C,O,R,Fz),l("")},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(A,{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:()=>Z&&Lz(Z,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(),Z&&confirm(Y.delete_session_confirm()))Nz(Z,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(S,{className:"h-4 w-4"})})]},G.id)})})}):J(B,{children:[z(A,{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(S,{className:"h-3.5 w-3.5"})})]},G.id))}),z("textarea",{value:C,onChange:(G)=>l(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(Z)Oz(Z)},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
+ export{uz as k};
@@ -1,2 +1,2 @@
1
- import{j as qy,k as By}from"./chunk-hqbzjzsm.js";import{q as _y,t as $y}from"./chunk-4ajat3xv.js";import{w as Zy}from"./chunk-3htn4m2d.js";import{cb as Wy}from"./chunk-ef5v7gta.js";import{Hf as Uy}from"./chunk-8jdgzy22.js";import{If as p,Jf as v,Kf as g,Mf as f}from"./chunk-vgr9db5g.js";import{vg as Jy}from"./chunk-0jr6q4j4.js";import{$h as $,Ch as Q,Ek as Gy,Fh as w,Fk as Yy,Kh as by,di as Ky,ki as R,lj as Oy,vh as oy,wh as zy,xh as O,yh as Z,yk as Xy}from"./chunk-jt4yh37q.js";import{Il as ty}from"./chunk-mgbqjbfc.js";var X=ty(oy(),1);function _z({shareId:b,initialFolderId:Hy,initialFileId:u,startTime:Ty,versionId:B,compare:Vy,compareLeftId:L,compareRightId:x,compareActiveSide:F="left"}){let W=by(),q=!!Vy&&!!L&&!!x,[J,c]=X.useState(()=>{return localStorage.getItem(`share_pwd_${b}`)||""}),[P,Qy]=X.useState(""),{data:K,error:H,isLoading:ky}=Q({queryKey:["share-info",b,J],queryFn:async()=>{let y=await $.api.shares[":shareId"].info.$get({param:{shareId:b}},{headers:{"x-share-password":J}});if(y.status===401)throw Error("Unauthorized");if(y.status===403){let z=await y.json();throw Error(z.error||"Forbidden")}if(!y.ok)throw Error("Failed to fetch share info");return await y.json()},retry:!1}),G=Hy||K?.rootFolderId,U=u||null,h=B||U,[l,m]=X.useState([]),{data:A}=Q({queryKey:["public-share-folder",b,G,J],queryFn:async()=>{let y=await $.api.shares[":shareId"].files[":fileId"].$get({param:{shareId:b,fileId:G}},{headers:{"x-share-password":J}});if(y.status===401)throw Error("Unauthorized");return await y.json()},enabled:!!K&&!!G});X.useEffect(()=>{if(A?.ancestorFolders&&K){let y=A.ancestorFolders.findIndex((z)=>z.id===K.rootFolderId);if(y!==-1)m(A.ancestorFolders.slice(0,y));else if(G===K.rootFolderId)m([])}},[A,K,G]);let[k,M]=X.useState(new Set),[My,Ny]=X.useState(360),[D,Ey]=X.useState(()=>!u),N=X.useRef(null),[n,C]=X.useState([]),[Ly,t]=X.useState(0),[xy,o]=X.useState(null),[I,Ay]=X.useState(null),[Ry,Py]=X.useState(void 0),{data:i,fetchNextPage:Dy,hasNextPage:Cy,isFetchingNextPage:jy,error:a}=w({queryKey:["public-share-children",b,G,"folder",J],queryFn:async({pageParam:y})=>{let z=await $.api.shares[":shareId"].folders[":folderId"].children.$get({param:{shareId:b,folderId:G},query:{assetType:"folder",after:y}},{headers:{"x-share-password":J}});if(z.status===401)throw Error("Unauthorized");if(z.status===403)throw Error("Expired");return await z.json()},enabled:!!K&&!!G,initialPageParam:"",getNextPageParam:(y)=>y.pageInfo?.cursor||void 0,retry:!1}),{data:d,fetchNextPage:Sy,hasNextPage:wy,isFetchingNextPage:py}=w({queryKey:["public-share-children",b,G,"file",J],queryFn:async({pageParam:y})=>{let z=await $.api.shares[":shareId"].folders[":folderId"].children.$get({param:{shareId:b,folderId:G},query:{assetType:"file",after:y}},{headers:{"x-share-password":J}});if(z.status===401)throw Error("Unauthorized");if(z.status===403)throw Error("Expired");return await z.json()},enabled:!!K&&!!G,initialPageParam:"",getNextPageParam:(y)=>y.pageInfo?.cursor||void 0,retry:!1}),{data:vy}=Q({queryKey:["public-share-fields",b,J],queryFn:async()=>{let y=await $.api.shares[":shareId"].fields.$get({param:{shareId:b}},{headers:{"x-share-password":J}});if(y.status===401)throw Error("Unauthorized");return await y.json()},enabled:!!K}),{data:_,isLoading:gy}=Q({queryKey:["public-share-file",b,U,J],queryFn:async()=>{let y=await $.api.shares[":shareId"].files[":fileId"].$get({param:{shareId:b,fileId:U}},{headers:{"x-share-password":J}});if(y.status===401)throw Error("Unauthorized");return await y.json()},enabled:!!U&&!!K}),{data:fy,isLoading:uy}=Q({queryKey:["public-share-file",b,B,J],queryFn:async()=>{let y=await $.api.shares[":shareId"].files[":fileId"].$get({param:{shareId:b,fileId:B}},{headers:{"x-share-password":J}});if(y.status===401)throw Error("Unauthorized");return await y.json()},enabled:!!B&&!!K}),Y=B?fy:_,Fy=gy||!!B&&uy;X.useEffect(()=>{if(a?.message==="Unauthorized")c(""),localStorage.removeItem(`share_pwd_${b}`)},[a,b]);let E=X.useMemo(()=>i?.pages.flatMap((y)=>y.data??[])??[],[i]),j=X.useMemo(()=>d?.pages.flatMap((y)=>y.data??[])??[],[d]),s=X.useMemo(()=>{if(Y)return Y;if(k.size!==1)return null;let y=Array.from(k)[0];return[...E,...j].find((z)=>z.id===y)||null},[k,E,j,Y]),cy=(y)=>{y.preventDefault(),c(P),localStorage.setItem(`share_pwd_${b}`,P)},hy=(y)=>{if(y.type==="folder"||y.targetType==="folder")W({to:"/share/$shareId/folders/$folderId",params:{shareId:b,folderId:y.id}});else W({to:"/share/$shareId/files/$fileId",params:{shareId:b,fileId:y.versionStack?y.versionStack.id:y.id}});M(new Set)},ly=(y)=>{if(!K)return;let z=y==="root"?K.rootFolderId:y;if(z===K.rootFolderId)W({to:"/share/$shareId",params:{shareId:b}});else W({to:"/share/$shareId/folders/$folderId",params:{shareId:b,folderId:z}});M(new Set)},my=(y)=>{o(y.id||null);let z=y.annotations;if(z&&z.length>0)C(z);else C([]);if(q){if(y.second!==null&&y.second!==void 0)Py({second:y.second,nonce:Date.now()});return}if(y.second!==null&&y.second!==void 0)N.current?.seekTo(y.second),N.current?.pause();else if(z&&z.length>0)N.current?.pause()},r=()=>{C([]),o(null)},S=(y)=>{if(!U)return;W({to:"/share/$shareId/files/$fileId",params:{shareId:b,fileId:U},search:(z)=>({...z,...y})})},ny=()=>{S({compare:void 0,cmpLeft:void 0,cmpRight:void 0,cmpActive:void 0,version:F==="left"?L:x})},{setProjectState:e,clearProjectState:yy}=Jy();X.useEffect(()=>{if(K&&G){let y=G===K.rootFolderId?K.name:E.find((z)=>z.id===G)?.name||K.name;e({teamId:"",projectId:K.projectId,projectName:K.name,ancestorFolders:l,currentAsset:{name:Y?.name||y,type:U?"file":"folder",version:_?.versionStack?_.versionStack.versions.find((z)=>z.id===h)?.version??_.versionStack.versions.length:void 0,proxyType:Y?.proxyType||null},isRootFolder:G===K.rootFolderId&&!U,isPublic:!0,shareId:b,fileId:U||void 0,allowDownload:K.allowDownload,downloadInfo:Y?{originalKey:Y.media?.original?.key,videoTranscodes:Y.media?.videoTranscodes?.map((z)=>({key:z.key,width:z.width,height:z.height}))}:void 0,onFolderClick:ly,isRightSidebarCollapsed:D,onRightSidebarToggle:()=>Ey((z)=>!z),versions:_?.versionStack?.versions,compareMode:q,canCompareVersions:(_?.versionStack?.versions?.length??0)>=2,onCompareVersions:()=>{let z=_y(_?.versionStack?.versions);if(!z||!U)return;W({to:"/share/$shareId/files/$fileId",params:{shareId:b,fileId:U},search:(V)=>({...V,compare:!0,cmpLeft:z.left.id,cmpRight:z.right.id,cmpActive:"left"})})}})}return()=>yy()},[K,G,E,Y,_,h,U,l,e,yy,D,q,W,b]);let T;if(ky&&!H)T=O("div",{className:"flex flex-1 items-center justify-center bg-background",children:O(R,{className:"h-8 w-8 animate-spin text-foreground"})});else if(H)if(H.message==="Unauthorized"){let y=J!=="";T=O("div",{className:"flex flex-1 items-center justify-center p-4",children:Z(p,{className:"w-full max-w-md",children:[Z(v,{className:"text-center",children:[O("div",{className:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-primary/10",children:O(Oy,{className:"h-6 w-6 text-primary"})}),O(g,{children:Gy.password_protected()})]}),O(f,{children:Z("form",{onSubmit:cy,className:"space-y-4",children:[Z("div",{className:"space-y-2",children:[O(Yy,{type:"password",placeholder:"Enter password",value:P,onChange:(z)=>Qy(z.target.value),autoFocus:!0}),y&&O("p",{className:"text-sm font-medium text-destructive",children:"Incorrect password. Please try again."})]}),O(Xy,{type:"submit",className:"w-full",children:"Access Share"})]})})]})})}else{let y=H.message.includes("expired"),z=H.message.includes("disabled");T=O("div",{className:"flex flex-1 items-center justify-center p-4",children:Z(p,{className:"w-full max-w-md",children:[Z(v,{className:"text-center",children:[O("div",{className:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-destructive/10",children:O(Ky,{className:"h-6 w-6 text-destructive"})}),O(g,{children:y?"Share Expired":z?"Share Disabled":"Error"})]}),O(f,{className:"text-center text-muted-foreground",children:H.message})]})})}else if(!K)T=O("div",{className:"flex flex-1 items-center justify-center bg-background",children:O(R,{className:"h-8 w-8 animate-spin text-foreground"})});else T=Z("div",{className:"flex flex-1 overflow-hidden relative",children:[U?Z("div",{className:"flex-1 relative bg-muted/30",children:[Fy&&!q&&O("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-background/50",children:O(R,{className:"h-8 w-8 animate-spin text-foreground"})}),q&&L&&x?O(By,{isPublic:!0,shareId:b,versions:Y?.versionStack?.versions??[],leftId:L,rightId:x,activeSide:F,annotations:n,seekRequest:Ry,allowDownload:K.allowDownload,onActiveSideChange:(y)=>S({cmpActive:y}),onSwitchVersion:(y,z)=>S(y==="left"?{cmpLeft:z}:{cmpRight:z}),onExit:ny,onActiveAssetChange:Ay,onPlay:r,onTimeUpdate:t}):Y&&O(qy,{file:Y,mediaControllerRef:N,onPlay:r,onTimeUpdate:t,annotations:n,startTime:Ty,shareId:b,allowDownload:K.allowDownload})]}):G&&O(Zy,{teamId:"",projectId:K.projectId,assetId:G,folders:E,files:j,selectedItem:null,selectedIds:k,onItemSelect:(y,z)=>{if(z.metaKey||z.ctrlKey){let V=new Set(k);if(V.has(y.id))V.delete(y.id);else V.add(y.id);M(V)}else M(new Set([y.id]))},onItemDoubleClick:hy,onSaveField:()=>{},displayStyle:K.viewMode??"card",onClearSelection:()=>M(new Set),fetchNextFoldersPage:Dy,hasNextFoldersPage:Cy,isFetchingNextFoldersPage:jy,fetchNextFilesPage:Sy,hasNextFilesPage:wy,isFetchingNextFilesPage:py,isShareView:!0,isPublic:!0,shareId:b,allowDownload:K.allowDownload}),!D&&Z(zy,{children:[O(Wy,{onResize:(y)=>Ny((z)=>Math.max(240,Math.min(600,z-y)))}),O("div",{style:{width:My},className:"flex-shrink-0 border-l",children:O($y,{teamId:"",projectId:K.projectId,file:q?I:s,onSaveField:()=>{},members:[],readOnly:!0,publicFields:vy,onCommentSelect:my,isPublic:!0,shareId:b,currentTime:Ly,onTyping:()=>{N.current?.pause()},selectedCommentId:xy,hideAnnotationControl:(q?I:s)?.proxyType==="audio"})})]})]});return Z("div",{className:"flex h-screen flex-col bg-background",children:[O(Uy,{}),T]})}
2
- export{_z as i};
1
+ import{h as qy,i as By}from"./chunk-n76r6s9k.js";import{o as _y,r as $y}from"./chunk-x3ynjbt5.js";import{u as Zy}from"./chunk-mw8f8ngt.js";import{eb as Wy}from"./chunk-4rbzswqs.js";import{Jf as Uy}from"./chunk-h9emz0zb.js";import{Kf as p,Lf as v,Mf as g,Of as f}from"./chunk-6v39c8eg.js";import{xg as Jy}from"./chunk-eetrc0j1.js";import{Ah as Z,Ck as Xy,Eh as Q,Hh as w,Ik as Gy,Jk as Yy,Mh as by,bi as $,fi as Ky,ni as R,pj as Oy,xh as oy,yh as zy,zh as O}from"./chunk-m6a4rzdt.js";import{Nl as ty}from"./chunk-dej1gq35.js";var X=ty(oy(),1);function _z({shareId:b,initialFolderId:Hy,initialFileId:u,startTime:Ty,versionId:B,compare:Vy,compareLeftId:L,compareRightId:x,compareActiveSide:F="left"}){let W=by(),q=!!Vy&&!!L&&!!x,[J,c]=X.useState(()=>{return localStorage.getItem(`share_pwd_${b}`)||""}),[P,Qy]=X.useState(""),{data:K,error:H,isLoading:ky}=Q({queryKey:["share-info",b,J],queryFn:async()=>{let y=await $.api.shares[":shareId"].info.$get({param:{shareId:b}},{headers:{"x-share-password":J}});if(y.status===401)throw Error("Unauthorized");if(y.status===403){let z=await y.json();throw Error(z.error||"Forbidden")}if(!y.ok)throw Error("Failed to fetch share info");return await y.json()},retry:!1}),G=Hy||K?.rootFolderId,U=u||null,h=B||U,[l,m]=X.useState([]),{data:A}=Q({queryKey:["public-share-folder",b,G,J],queryFn:async()=>{let y=await $.api.shares[":shareId"].files[":fileId"].$get({param:{shareId:b,fileId:G}},{headers:{"x-share-password":J}});if(y.status===401)throw Error("Unauthorized");return await y.json()},enabled:!!K&&!!G});X.useEffect(()=>{if(A?.ancestorFolders&&K){let y=A.ancestorFolders.findIndex((z)=>z.id===K.rootFolderId);if(y!==-1)m(A.ancestorFolders.slice(0,y));else if(G===K.rootFolderId)m([])}},[A,K,G]);let[k,M]=X.useState(new Set),[My,Ny]=X.useState(360),[D,Ey]=X.useState(()=>!u),N=X.useRef(null),[n,C]=X.useState([]),[Ly,t]=X.useState(0),[xy,o]=X.useState(null),[I,Ay]=X.useState(null),[Ry,Py]=X.useState(void 0),{data:i,fetchNextPage:Dy,hasNextPage:Cy,isFetchingNextPage:jy,error:a}=w({queryKey:["public-share-children",b,G,"folder",J],queryFn:async({pageParam:y})=>{let z=await $.api.shares[":shareId"].folders[":folderId"].children.$get({param:{shareId:b,folderId:G},query:{assetType:"folder",after:y}},{headers:{"x-share-password":J}});if(z.status===401)throw Error("Unauthorized");if(z.status===403)throw Error("Expired");return await z.json()},enabled:!!K&&!!G,initialPageParam:"",getNextPageParam:(y)=>y.pageInfo?.cursor||void 0,retry:!1}),{data:d,fetchNextPage:Sy,hasNextPage:wy,isFetchingNextPage:py}=w({queryKey:["public-share-children",b,G,"file",J],queryFn:async({pageParam:y})=>{let z=await $.api.shares[":shareId"].folders[":folderId"].children.$get({param:{shareId:b,folderId:G},query:{assetType:"file",after:y}},{headers:{"x-share-password":J}});if(z.status===401)throw Error("Unauthorized");if(z.status===403)throw Error("Expired");return await z.json()},enabled:!!K&&!!G,initialPageParam:"",getNextPageParam:(y)=>y.pageInfo?.cursor||void 0,retry:!1}),{data:vy}=Q({queryKey:["public-share-fields",b,J],queryFn:async()=>{let y=await $.api.shares[":shareId"].fields.$get({param:{shareId:b}},{headers:{"x-share-password":J}});if(y.status===401)throw Error("Unauthorized");return await y.json()},enabled:!!K}),{data:_,isLoading:gy}=Q({queryKey:["public-share-file",b,U,J],queryFn:async()=>{let y=await $.api.shares[":shareId"].files[":fileId"].$get({param:{shareId:b,fileId:U}},{headers:{"x-share-password":J}});if(y.status===401)throw Error("Unauthorized");return await y.json()},enabled:!!U&&!!K}),{data:fy,isLoading:uy}=Q({queryKey:["public-share-file",b,B,J],queryFn:async()=>{let y=await $.api.shares[":shareId"].files[":fileId"].$get({param:{shareId:b,fileId:B}},{headers:{"x-share-password":J}});if(y.status===401)throw Error("Unauthorized");return await y.json()},enabled:!!B&&!!K}),Y=B?fy:_,Fy=gy||!!B&&uy;X.useEffect(()=>{if(a?.message==="Unauthorized")c(""),localStorage.removeItem(`share_pwd_${b}`)},[a,b]);let E=X.useMemo(()=>i?.pages.flatMap((y)=>y.data??[])??[],[i]),j=X.useMemo(()=>d?.pages.flatMap((y)=>y.data??[])??[],[d]),s=X.useMemo(()=>{if(Y)return Y;if(k.size!==1)return null;let y=Array.from(k)[0];return[...E,...j].find((z)=>z.id===y)||null},[k,E,j,Y]),cy=(y)=>{y.preventDefault(),c(P),localStorage.setItem(`share_pwd_${b}`,P)},hy=(y)=>{if(y.type==="folder"||y.targetType==="folder")W({to:"/share/$shareId/folders/$folderId",params:{shareId:b,folderId:y.id}});else W({to:"/share/$shareId/files/$fileId",params:{shareId:b,fileId:y.versionStack?y.versionStack.id:y.id}});M(new Set)},ly=(y)=>{if(!K)return;let z=y==="root"?K.rootFolderId:y;if(z===K.rootFolderId)W({to:"/share/$shareId",params:{shareId:b}});else W({to:"/share/$shareId/folders/$folderId",params:{shareId:b,folderId:z}});M(new Set)},my=(y)=>{o(y.id||null);let z=y.annotations;if(z&&z.length>0)C(z);else C([]);if(q){if(y.second!==null&&y.second!==void 0)Py({second:y.second,nonce:Date.now()});return}if(y.second!==null&&y.second!==void 0)N.current?.seekTo(y.second),N.current?.pause();else if(z&&z.length>0)N.current?.pause()},r=()=>{C([]),o(null)},S=(y)=>{if(!U)return;W({to:"/share/$shareId/files/$fileId",params:{shareId:b,fileId:U},search:(z)=>({...z,...y})})},ny=()=>{S({compare:void 0,cmpLeft:void 0,cmpRight:void 0,cmpActive:void 0,version:F==="left"?L:x})},{setProjectState:e,clearProjectState:yy}=Jy();X.useEffect(()=>{if(K&&G){let y=G===K.rootFolderId?K.name:E.find((z)=>z.id===G)?.name||K.name;e({teamId:"",projectId:K.projectId,projectName:K.name,ancestorFolders:l,currentAsset:{name:Y?.name||y,type:U?"file":"folder",version:_?.versionStack?_.versionStack.versions.find((z)=>z.id===h)?.version??_.versionStack.versions.length:void 0,proxyType:Y?.proxyType||null},isRootFolder:G===K.rootFolderId&&!U,isPublic:!0,shareId:b,fileId:U||void 0,allowDownload:K.allowDownload,downloadInfo:Y?{originalKey:Y.media?.original?.key,videoTranscodes:Y.media?.videoTranscodes?.map((z)=>({key:z.key,width:z.width,height:z.height}))}:void 0,onFolderClick:ly,isRightSidebarCollapsed:D,onRightSidebarToggle:()=>Ey((z)=>!z),versions:_?.versionStack?.versions,compareMode:q,canCompareVersions:(_?.versionStack?.versions?.length??0)>=2,onCompareVersions:()=>{let z=_y(_?.versionStack?.versions);if(!z||!U)return;W({to:"/share/$shareId/files/$fileId",params:{shareId:b,fileId:U},search:(V)=>({...V,compare:!0,cmpLeft:z.left.id,cmpRight:z.right.id,cmpActive:"left"})})}})}return()=>yy()},[K,G,E,Y,_,h,U,l,e,yy,D,q,W,b]);let T;if(ky&&!H)T=O("div",{className:"flex flex-1 items-center justify-center bg-background",children:O(R,{className:"h-8 w-8 animate-spin text-foreground"})});else if(H)if(H.message==="Unauthorized"){let y=J!=="";T=O("div",{className:"flex flex-1 items-center justify-center p-4",children:Z(p,{className:"w-full max-w-md",children:[Z(v,{className:"text-center",children:[O("div",{className:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-primary/10",children:O(Oy,{className:"h-6 w-6 text-primary"})}),O(g,{children:Gy.password_protected()})]}),O(f,{children:Z("form",{onSubmit:cy,className:"space-y-4",children:[Z("div",{className:"space-y-2",children:[O(Yy,{type:"password",placeholder:"Enter password",value:P,onChange:(z)=>Qy(z.target.value),autoFocus:!0}),y&&O("p",{className:"text-sm font-medium text-destructive",children:"Incorrect password. Please try again."})]}),O(Xy,{type:"submit",className:"w-full",children:"Access Share"})]})})]})})}else{let y=H.message.includes("expired"),z=H.message.includes("disabled");T=O("div",{className:"flex flex-1 items-center justify-center p-4",children:Z(p,{className:"w-full max-w-md",children:[Z(v,{className:"text-center",children:[O("div",{className:"mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-destructive/10",children:O(Ky,{className:"h-6 w-6 text-destructive"})}),O(g,{children:y?"Share Expired":z?"Share Disabled":"Error"})]}),O(f,{className:"text-center text-muted-foreground",children:H.message})]})})}else if(!K)T=O("div",{className:"flex flex-1 items-center justify-center bg-background",children:O(R,{className:"h-8 w-8 animate-spin text-foreground"})});else T=Z("div",{className:"flex flex-1 overflow-hidden relative",children:[U?Z("div",{className:"flex-1 relative bg-muted/30",children:[Fy&&!q&&O("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-background/50",children:O(R,{className:"h-8 w-8 animate-spin text-foreground"})}),q&&L&&x?O(By,{isPublic:!0,shareId:b,versions:Y?.versionStack?.versions??[],leftId:L,rightId:x,activeSide:F,annotations:n,seekRequest:Ry,allowDownload:K.allowDownload,onActiveSideChange:(y)=>S({cmpActive:y}),onSwitchVersion:(y,z)=>S(y==="left"?{cmpLeft:z}:{cmpRight:z}),onExit:ny,onActiveAssetChange:Ay,onPlay:r,onTimeUpdate:t}):Y&&O(qy,{file:Y,mediaControllerRef:N,onPlay:r,onTimeUpdate:t,annotations:n,startTime:Ty,shareId:b,allowDownload:K.allowDownload})]}):G&&O(Zy,{teamId:"",projectId:K.projectId,assetId:G,folders:E,files:j,selectedItem:null,selectedIds:k,onItemSelect:(y,z)=>{if(z.metaKey||z.ctrlKey){let V=new Set(k);if(V.has(y.id))V.delete(y.id);else V.add(y.id);M(V)}else M(new Set([y.id]))},onItemDoubleClick:hy,onSaveField:()=>{},displayStyle:K.viewMode??"card",onClearSelection:()=>M(new Set),fetchNextFoldersPage:Dy,hasNextFoldersPage:Cy,isFetchingNextFoldersPage:jy,fetchNextFilesPage:Sy,hasNextFilesPage:wy,isFetchingNextFilesPage:py,isShareView:!0,isPublic:!0,shareId:b,allowDownload:K.allowDownload}),!D&&Z(zy,{children:[O(Wy,{onResize:(y)=>Ny((z)=>Math.max(240,Math.min(600,z-y)))}),O("div",{style:{width:My},className:"flex-shrink-0 border-l",children:O($y,{teamId:"",projectId:K.projectId,file:q?I:s,onSaveField:()=>{},members:[],readOnly:!0,publicFields:vy,onCommentSelect:my,isPublic:!0,shareId:b,currentTime:Ly,onTyping:()=>{N.current?.pause()},selectedCommentId:xy,hideAnnotationControl:(q?I:s)?.proxyType==="audio"})})]})]});return Z("div",{className:"flex h-screen flex-col bg-background",children:[O(Uy,{}),T]})}
2
+ export{_z as g};
@@ -1,2 +1,2 @@
1
- import{Qf as A}from"./chunk-9hsfjqgq.js";import{$h as z,Oh as w,xh as v}from"./chunk-jt4yh37q.js";var B=(b)=>({queryKey:["projects",b],queryFn:async()=>{let h=await z.api.projects[":projectId"].$get({param:{projectId:b}});if(!h.ok)throw Error("Failed to fetch project");return await h.json()}}),H=w("/projects/$projectId/collections/")({loader:({context:{queryClient:b},params:{projectId:h}})=>b.ensureQueryData(B(h)),pendingComponent:()=>v(A,{})});
2
- export{B as Df,H as Ef};
1
+ import{Sf as A}from"./chunk-s0hgykza.js";import{Qh as w,bi as z,zh as v}from"./chunk-m6a4rzdt.js";var B=(b)=>({queryKey:["projects",b],queryFn:async()=>{let h=await z.api.projects[":projectId"].$get({param:{projectId:b}});if(!h.ok)throw Error("Failed to fetch project");return await h.json()}}),H=w("/projects/$projectId/collections/")({loader:({context:{queryClient:b},params:{projectId:h}})=>b.ensureQueryData(B(h)),pendingComponent:()=>v(A,{})});
2
+ export{B as Ff,H as Gf};
@@ -1,2 +1,2 @@
1
- import{$a as BK,bb as gJ}from"./chunk-ef5v7gta.js";import{db as ZJ}from"./chunk-gct52xks.js";import{ib as ZK,jb as _K,kb as $K,lb as GK,mb as zK,nb as QK,ob as HK,pb as UK}from"./chunk-d2qp8g98.js";import{Dg as $J}from"./chunk-n198tewr.js";import{fh as QJ,hh as HJ,ih as UJ,jh as w,nh as KK,sh as WK}from"./chunk-w98wvk17.js";import{$h as U,Bj as wJ,Eh as v,Ek as W,Fh as _J,Fk as XK,Gi as oJ,Gk as TJ,Hk as RJ,Ih as dJ,Ii as sJ,Ik as SJ,Jh as h,Jk as fJ,Kh as GJ,Ki as XJ,Kj as JK,Kk as hJ,Li as YJ,Lk as YK,Ni as tJ,Ti as DJ,Tj as uJ,Zh as z,_i as eJ,gj as kJ,ii as zJ,ki as p,oi as nJ,qi as aJ,vh as NK,wh as iJ,wk as O,xh as J,yh as X,yk as N,zh as lJ,zi as rJ}from"./chunk-jt4yh37q.js";import{Il as vK}from"./chunk-mgbqjbfc.js";var _=vK(NK(),1);function cK({teamId:B,projectId:Z,projectName:$,rootFolderId:P,dragState:b,onSelect:M,selectedFolderId:A,hideCollections:m,hideShares:C,ancestorFolders:D}){let q=GJ(),Q=lJ(),{canEdit:V}=WK(Z),j=dJ({from:"/projects/$projectId/recently-deleted",shouldThrow:!1}),[L,r]=_.useState(!0),[T,BJ]=_.useState(!0),[u,bJ]=_.useState(!0),{data:c,fetchNextPage:i,hasNextPage:g,isFetchingNextPage:R}=_J({queryKey:["shares",Z],queryFn:async({pageParam:K})=>{let Y=await U.api.projects[":projectId"].shares.$get({param:{projectId:Z},query:{first:"20",after:K}});if(!Y.ok)throw Error(W.failed_fetch_share_links());return await Y.json()},initialPageParam:"",getNextPageParam:(K)=>K.pageInfo?.cursor||void 0,enabled:!!Z}),{data:l,fetchNextPage:o,hasNextPage:d,isFetchingNextPage:n}=_J({queryKey:["collections",Z],queryFn:async({pageParam:K})=>{let Y=await U.api.projects[":projectId"].collections.$get({param:{projectId:Z},query:{first:"20",after:K}});if(!Y.ok)throw Error(W.failed_fetch_collections());return await Y.json()},initialPageParam:"",getNextPageParam:(K)=>K.pageInfo?.cursor||void 0,enabled:!!Z}),{ref:qJ,inView:s}=$J(),{ref:VJ,inView:t}=$J();_.useEffect(()=>{if(s&&d&&!n)o()},[s,d,n,o]),_.useEffect(()=>{if(t&&g&&!R)i()},[t,g,R,i]);let AJ=_.useMemo(()=>l?.pages.flatMap((K)=>K.data)||[],[l]),OJ=_.useMemo(()=>c?.pages.flatMap((K)=>K.data)||[],[c]),{mutate:PJ}=v({mutationFn:async()=>{let K=await U.api.projects[":projectId"].collections.$post({param:{projectId:Z},json:{name:W.untitled_collection(),filter:{sourceFolderId:P,searchFilter:{conditions:[],recursively:!0}}}});if(!K.ok)throw Error(W.failed_create_collection());return await K.json()},onSuccess:(K)=>{Q.invalidateQueries({queryKey:["collections",Z]}),z.success(W.collection_created()),q({to:"/projects/$projectId/collections/$collectionId",params:{projectId:Z,collectionId:K.id}})},onError:(K)=>{z.error(`Error: ${K.message}`)}}),{mutate:MJ}=v({mutationFn:async()=>{let K=await U.api.projects[":projectId"].shares.$post({param:{projectId:Z},json:{name:new Date().toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}});if(!K.ok)throw Error(W.failed_create_share_link());return await K.json()},onSuccess:(K)=>{Q.invalidateQueries({queryKey:["shares",Z]}),z.success(W.share_link_created()),q({to:"/projects/$projectId/shares/$shareId",params:{projectId:Z,shareId:K.id}})},onError:(K)=>{z.error(`Error: ${K.message}`)}}),e=h({from:"/projects/$projectId/collections/$collectionId",shouldThrow:!1}),LJ=h({from:"/projects/$projectId/shares/$shareId",shouldThrow:!1}),G=h({from:"/projects/$projectId/folders/$folderId",shouldThrow:!1}),[y,yJ]=_.useState(null),[F,EJ]=_.useState("collection"),[E,JJ]=_.useState(""),[qK,k]=_.useState(!1),[vJ,NJ]=_.useState(null),[S,CJ]=_.useState("collection"),[VK,f]=_.useState(!1),{mutate:IJ}=v({mutationFn:async({id:K,name:Y})=>{let H=await U.api.folders[":folderId"].$put({param:{folderId:K},json:{name:Y}});if(!H.ok)throw Error(W.failed_rename_folder());return await H.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["search",B]}),Q.invalidateQueries({queryKey:["folders"]}),z.success(W.folder_renamed()),k(!1)},onError:(K)=>{z.error(`Error: ${K.message}`)}}),{mutate:AK}=v({mutationFn:async(K)=>{if(!(await U.api.folders.$delete({json:{ids:[K]}})).ok)throw Error(W.failed_delete_folder());return K},onSuccess:(K)=>{if(Q.invalidateQueries({queryKey:["search",B]}),Q.invalidateQueries({queryKey:["folders"]}),z.success(W.folder_deleted()),f(!1),G?.folderId===K)q({to:"/projects/$projectId",params:{projectId:Z}})},onError:(K)=>{z.error(`Error: ${K.message}`)}}),[OK,a]=_.useState(!1),[KJ,xJ]=_.useState(!1),[FJ,pJ]=_.useState([]),PK=async(K)=>{a(!0),xJ(!0),pJ([]);try{let Y=await U.api.files["download-links"].$post({json:{ids:[K]}});if(!Y.ok)throw Error(W.failed_to_prepare_download_links());let H=await Y.json();pJ(H.files)}catch(Y){z.error(W.failed_to_prepare_download_links()),a(!1),console.error(Y)}finally{xJ(!1)}},MK=()=>{let K=[...FJ];if(a(!1),K.length===0)return;z.info(W.starting_download_files({count:K.length}),{duration:5000});let Y=(WJ)=>new Promise((I)=>setTimeout(I,WJ));(async()=>{for(let I=0;I<K.length;I+=5){let EK=K.slice(I,I+5);for(let cJ of EK){let x=document.createElement("a");x.href=cJ.url,x.download=cJ.name,x.target="_blank",document.body.appendChild(x),x.click(),x.remove()}await Y(1000)}})().catch((WJ)=>{console.error("Background downloads failed:",WJ),z.error(W.some_downloads_failed())})},{mutate:mJ}=v({mutationFn:async({id:K,name:Y})=>{let H=await U.api.collections[":collectionId"].$patch({param:{collectionId:K},json:{name:Y}});if(!H.ok)throw Error(W.failed_rename_collection());return await H.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["collections",Z]}),z.success(W.collection_renamed()),k(!1)},onError:(K)=>{z.error(`Error: ${K.message}`)}}),{mutate:LK}=v({mutationFn:async(K)=>{let Y=await U.api.collections[":collectionId"].$delete({param:{collectionId:K}});if(!Y.ok)throw Error(W.failed_delete_collection());return await Y.json()},onSuccess:(K,Y)=>{if(Q.invalidateQueries({queryKey:["collections",Z]}),z.success(W.collection_deleted()),f(!1),e?.collectionId===Y)q({to:"/projects/$projectId",params:{projectId:Z}})},onError:(K)=>{z.error(`Error: ${K.message}`)}}),{mutate:jJ}=v({mutationFn:async({id:K,name:Y})=>{let H=await U.api.shares[":shareId"].$put({param:{shareId:K},json:{name:Y}});if(!H.ok)throw Error(W.failed_rename_share_link());return await H.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["shares",Z]}),z.success(W.share_link_renamed()),k(!1)},onError:(K)=>{z.error(`Error: ${K.message}`)}}),{mutate:yK}=v({mutationFn:async(K)=>{if(!(await U.api.shares[":shareId"].$delete({param:{shareId:K}})).ok)throw Error(W.failed_delete_share_link());return K},onSuccess:(K)=>{if(Q.invalidateQueries({queryKey:["shares",Z]}),z.success(W.share_link_deleted()),f(!1),LJ?.shareId===K)q({to:"/projects/$projectId",params:{projectId:Z}})},onError:(K)=>{z.error(`Error: ${K.message}`)}});return X("div",{className:"flex flex-col h-full overflow-hidden p-3 gap-4 bg-background",children:[X("div",{className:O("flex flex-col overflow-hidden transition-all duration-300 ease-in-out border-b border-border pb-4",L?"flex-1 min-h-[50%] h-full":"flex-none h-[44px] max-h-[44px]"),children:[J("header",{className:"group flex items-center justify-between px-2 mb-1 flex-none",children:X("div",{className:"flex-1 flex items-center gap-1.5 cursor-pointer select-none text-muted-foreground hover:text-foreground transition-colors",onClick:()=>r(!L),children:[J("h3",{className:"text-xs font-semibold uppercase tracking-wider",children:W.folder_tree_assets()}),L?J(XJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"}):J(YJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"})]})}),J(ZJ,{className:O("flex-1 min-h-0 transition-all duration-300 ease-in-out [&>div>div]:block!",L?"opacity-100 visible pointer-events-auto":"opacity-0 invisible pointer-events-none h-0"),children:X("div",{className:"space-y-0.5 pr-3",children:[J(bK,{teamId:B,projectId:Z,folder:{id:P,name:$,type:"folder",sizeByte:0,fileCount:0,status:"processed",createdAt:"",updatedAt:""},level:0,isRoot:!0,dragState:b,onSelect:M,selectedFolderId:A,canEdit:V,onRenameTrigger:(K,Y)=>{yJ(K),EJ("folder"),JJ(Y),k(!0)},onDeleteTrigger:(K)=>{NJ(K),CJ("folder"),f(!0)},onDownloadTrigger:(K)=>{PK(K)},ancestorFolders:D},P),V&&X("div",{className:O("group flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",j&&"bg-sidebar-accent text-sidebar-accent-foreground font-medium"),onClick:()=>q({to:"/projects/$projectId/recently-deleted",params:{projectId:Z}}),children:[J("div",{className:"flex h-4 w-4 items-center justify-center",children:J(uJ,{className:"h-4 w-4 text-sidebar-primary"})}),J("span",{className:"flex-1 truncate text-sidebar-foreground",children:W.recently_deleted()})]})]})})]}),!m&&X("div",{className:O("flex flex-col overflow-hidden transition-all duration-300 ease-in-out border-b border-border pb-4",T?"flex-1 min-h-0 h-full":"flex-none h-[44px] max-h-[44px]"),children:[X("header",{className:"group flex items-center justify-between px-2 mb-1 flex-none",children:[X("div",{className:"flex-1 flex items-center gap-1.5 cursor-pointer select-none text-muted-foreground hover:text-foreground transition-colors",onClick:()=>BJ(!T),children:[J("h3",{className:"text-xs font-semibold uppercase tracking-wider",children:W.collections()}),T?J(XJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"}):J(YJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"})]}),V&&J("button",{"data-testid":"create-collection",onClick:()=>PJ(),className:"text-muted-foreground hover:text-foreground flex-none",children:J(wJ,{className:"h-3.5 w-3.5"})})]}),J(ZJ,{className:O("flex-1 min-h-0 transition-all duration-300 ease-in-out [&>div>div]:block!",T?"opacity-100 visible pointer-events-auto":"opacity-0 invisible pointer-events-none h-0"),children:X("div",{className:"space-y-0.5 pr-3",children:[X("div",{className:"group flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",onClick:()=>q({to:"/projects/$projectId/collections",params:{projectId:Z}}),children:[J("div",{className:"flex h-4 w-4 items-center justify-center",children:J(kJ,{className:"h-4 w-4 text-sidebar-primary"})}),J("span",{className:"flex-1 truncate text-sidebar-foreground",children:W.all_collections_count({count:l?.pages[0]?.pageInfo?.total||0})})]}),AJ.map((K)=>{let Y=e?.collectionId===K.id;return X("div",{className:O("group flex cursor-pointer items-center justify-between rounded-md px-2 py-1 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground min-w-0",Y&&"bg-sidebar-accent text-sidebar-accent-foreground font-medium"),onClick:()=>q({to:"/projects/$projectId/collections/$collectionId",params:{projectId:Z,collectionId:K.id}}),children:[X("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[J("div",{className:"flex h-4 w-4 items-center justify-center shrink-0",children:J(rJ,{className:"h-4 w-4 text-sidebar-primary"})}),J("span",{className:"truncate text-sidebar-foreground flex-1",children:K.name})]}),V&&J("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity shrink-0",onClick:(H)=>H.stopPropagation(),children:X(QJ,{modal:!1,children:[J(HJ,{asChild:!0,children:J(N,{variant:"ghost",size:"icon-sm",className:"h-6 w-6 shrink-0 hover:bg-muted hover:text-muted-foreground p-0",children:J(zJ,{className:"h-3.5 w-3.5"})})}),X(UJ,{align:"end",className:"w-32",children:[J(w,{onClick:()=>{yJ(K.id),EJ("collection"),JJ(K.name),k(!0)},children:W.rename()}),J(w,{className:"text-destructive focus:text-destructive focus:bg-destructive/10",onClick:()=>{NJ(K.id),CJ("collection"),f(!0)},children:W.delete()})]})]})})]},K.id)}),J("div",{ref:qJ,className:"h-1"}),n&&J("div",{className:"flex justify-center p-2",children:J(p,{className:"h-4 w-4 animate-spin text-muted-foreground"})})]})})]}),!C&&X("div",{className:O("flex flex-col overflow-hidden transition-all duration-300 ease-in-out",u?"flex-1 min-h-0 h-full":"flex-none h-[44px] max-h-[44px]"),children:[X("header",{className:"group flex items-center justify-between px-2 mb-1 flex-none",children:[X("div",{className:"flex-1 flex items-center gap-1.5 cursor-pointer select-none text-muted-foreground hover:text-foreground transition-colors",onClick:()=>bJ(!u),children:[J("h3",{className:"text-xs font-semibold uppercase tracking-wider",children:W.share_links()}),u?J(XJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"}):J(YJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"})]}),V&&J("div",{className:"flex items-center gap-1 flex-none",children:J("button",{onClick:()=>MJ(),className:"text-muted-foreground hover:text-foreground",children:J(wJ,{className:"h-3.5 w-3.5"})})})]}),J(ZJ,{className:O("flex-1 min-h-0 transition-all duration-300 ease-in-out [&>div>div]:block!",u?"opacity-100 visible pointer-events-auto":"opacity-0 invisible pointer-events-none h-0"),children:X("div",{className:"space-y-0.5 pr-3",children:[X("div",{className:"group flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",onClick:()=>q({to:"/projects/$projectId/shares",params:{projectId:Z}}),children:[J("div",{className:"flex h-4 w-4 items-center justify-center",children:J(kJ,{className:"h-4 w-4 text-sidebar-primary"})}),J("span",{className:"flex-1 truncate text-sidebar-foreground",children:W.all_share_links_count({count:c?.pages[0]?.pageInfo?.total||0})})]}),OJ.map((K)=>J(CK,{link:K,projectId:Z,dragState:b,canEdit:V,onRenameTrigger:(Y,H)=>{yJ(Y),EJ("share"),JJ(H),k(!0)},onDeleteTrigger:(Y)=>{NJ(Y),CJ("share"),f(!0)}},K.id)),J("div",{ref:VJ,className:"h-1"}),R&&J("div",{className:"flex justify-center p-2",children:J(p,{className:"h-4 w-4 animate-spin text-muted-foreground"})})]})})]}),J(TJ,{open:qK,onOpenChange:k,children:X(RJ,{onClick:(K)=>K.stopPropagation(),children:[J(SJ,{children:J(hJ,{children:F==="collection"?W.rename_collection():F==="share"?W.rename_share_link():W.rename_folder()})}),J("div",{className:"py-4",children:J(XK,{value:E,onChange:(K)=>JJ(K.target.value),placeholder:W.enter_new_name(),onKeyDown:(K)=>{if(K.key==="Enter"&&E.trim()){if(F==="collection")mJ({id:y,name:E});else if(F==="share")jJ({id:y,name:E});else if(F==="folder")IJ({id:y,name:E})}}})}),X(fJ,{children:[J(N,{variant:"ghost",onClick:()=>k(!1),children:W.cancel()}),J(N,{disabled:!E.trim(),onClick:()=>{if(F==="collection")mJ({id:y,name:E});else if(F==="share")jJ({id:y,name:E});else if(F==="folder")IJ({id:y,name:E})},children:W.rename()})]})]})}),J(ZK,{open:VK,onOpenChange:f,children:X(_K,{onClick:(K)=>K.stopPropagation(),children:[X($K,{children:[J(zK,{children:S==="collection"?W.delete_collection_confirm():S==="share"?W.delete_share_link_confirm():W.delete_folder_confirm()}),J(QK,{children:W.delete_confirm_description({type:S==="collection"?W.collection():S==="share"?W.share_link():W.folder().toLowerCase()})})]}),X(GK,{children:[J(UK,{children:W.cancel()}),J(HK,{className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",onClick:()=>{if(S==="collection")LK(vJ);else if(S==="share")yK(vJ);else if(S==="folder")AK(vJ)},children:W.delete()})]})]})}),J(TJ,{open:OK,onOpenChange:a,children:X(RJ,{className:"sm:max-w-md",children:[X(SJ,{children:[J(hJ,{children:KJ?W.preparing_download():W.confirm_download()}),J(YK,{children:KJ?W.resolving_files_wait():W.folder_files_download_description()})]}),KJ?X("div",{className:"space-y-4 py-6 flex flex-col items-center justify-center",children:[J(p,{className:"h-8 w-8 animate-spin text-primary"}),J("span",{className:"text-sm font-medium text-muted-foreground mt-2",children:W.preparing_download_links()})]}):X("div",{className:"space-y-4 py-2",children:[J("div",{className:"text-sm text-muted-foreground",children:W.download_includes_files({count:FJ.length})}),X("div",{className:"flex items-start gap-3 p-3 text-sm rounded-lg bg-amber-50 dark:bg-amber-950/30 text-amber-800 dark:text-amber-300 border border-amber-200 dark:border-amber-900/30",children:[J(aJ,{className:"h-5 w-5 shrink-0 mt-0.5"}),X("div",{children:[J("p",{className:"font-semibold",children:W.no_folder_structure()}),J("p",{className:"mt-0.5 text-xs text-amber-700/90 dark:text-amber-400/90",children:W.folder_structure_warning()})]})]})]}),J(fJ,{children:!KJ?X(iJ,{children:[J(N,{variant:"outline",onClick:()=>a(!1),children:W.cancel()}),X(N,{onClick:MK,className:"gap-2",disabled:FJ.length===0,children:[J(DJ,{className:"h-4 w-4"}),W.start_download()]})]}):J(N,{disabled:!0,variant:"outline",children:W.cancel()})})]})})]})}function CK({link:B,projectId:Z,dragState:$,canEdit:P,onRenameTrigger:b,onDeleteTrigger:M}){let A=GJ(),C=h({from:"/projects/$projectId/shares/$shareId",shouldThrow:!1})?.shareId===B.id,{ref:D,isDropTarget:q}=gJ({id:`share:${B.id}`,data:{type:"share-link",id:B.id}}),Q=!!$?.isActive;return X("div",{ref:D,className:O("group flex cursor-pointer items-center justify-between rounded-md px-2 py-1 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground min-w-0",C&&"bg-sidebar-accent text-sidebar-accent-foreground font-medium",q&&Q&&"bg-sidebar-accent ring-2 ring-primary ring-inset"),onClick:()=>A({to:"/projects/$projectId/shares/$shareId",params:{projectId:Z,shareId:B.id}}),children:[X("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[J("div",{className:"flex h-4 w-4 items-center justify-center shrink-0",children:J(JK,{className:"h-4 w-4 text-sidebar-primary"})}),J("span",{className:"truncate text-sidebar-foreground flex-1",children:B.name})]}),P&&J("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity shrink-0",onClick:(V)=>V.stopPropagation(),children:X(QJ,{modal:!1,children:[J(HJ,{asChild:!0,children:J(N,{variant:"ghost",size:"icon-sm",className:"h-6 w-6 shrink-0 hover:bg-muted hover:text-muted-foreground p-0",children:J(zJ,{className:"h-3.5 w-3.5"})})}),X(UJ,{align:"end",className:"w-32",children:[J(w,{onClick:()=>{b(B.id,B.name)},children:W.rename()}),J(w,{className:"text-destructive focus:text-destructive focus:bg-destructive/10",onClick:()=>{M(B.id)},children:W.delete()})]})]})})]})}function bK({teamId:B,projectId:Z,folder:$,level:P,isRoot:b,dragState:M,onSelect:A,selectedFolderId:m,canEdit:C,onRenameTrigger:D,onDeleteTrigger:q,onDownloadTrigger:Q,ancestorFolders:V}){let j=_.useMemo(()=>{return V?.some((G)=>G.id===$.id)??!1},[V,$.id]),[L,r]=_.useState(b||j);_.useEffect(()=>{if(j)r(!0)},[j]);let T=GJ(),BJ=h({from:"/projects/$projectId/folders/$folderId",select:(G)=>({folderId:G.folderId}),shouldThrow:!1}),u=h({from:"/projects/$projectId/",shouldThrow:!1}),bJ=b?!!u:BJ?.folderId===$.id,{data:c,fetchNextPage:i,hasNextPage:g,isFetchingNextPage:R,isLoading:l}=_J({queryKey:["folders",$.id,"children",{assetType:"folder"}],queryFn:async({pageParam:G})=>{let y=await U.api.folders[":folderId"].children.$get({param:{folderId:$.id},query:{assetType:"folder",after:G,first:"20"}});if(!y.ok)throw Error(W.failed_to_fetch_folder_children());return await y.json()},initialPageParam:"",getNextPageParam:(G)=>{return G.pageInfo?.cursor||void 0},enabled:L||!!b}),{ref:o,inView:d}=$J();_.useEffect(()=>{if(d&&g&&!R)i()},[d,g,R,i]);let n=c?.pages.flatMap((G)=>G.data??[])??[],qJ=(G)=>{G.stopPropagation(),r(!L)},s=()=>{if(A){A($);return}if(b)T({to:"/projects/$projectId",params:{projectId:Z}});else T({to:"/projects/$projectId/folders/$folderId",params:{projectId:Z,folderId:$.id}})},{ref:VJ,isDragging:t}=BK({id:`tree:${$.id}`,data:{type:"folder",item:$},disabled:!!b||!!A||!C}),{ref:AJ,isDropTarget:OJ}=gJ({id:`tree:${$.id}`,data:{type:"folder",item:$},disabled:M?.draggedIds.has($.id)||!!A||!C}),PJ=(G)=>{VJ(G),AJ(G)},MJ=_.useMemo(()=>{if(A)return!1;if(!M?.isActive)return!1;if(M.draggedIds.has($.id))return!1;return!0},[M,$.id,A]),e=OJ&&MJ,LJ=m===$.id;return X("div",{children:[X("div",{ref:PJ,className:O("group flex cursor-pointer items-center gap-1 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground min-w-0",(bJ||LJ)&&"bg-sidebar-accent text-sidebar-accent-foreground font-medium",t&&"opacity-50",e&&"bg-sidebar-accent ring-2 ring-primary ring-inset"),style:{...b?{}:{paddingLeft:`${P*12+8}px`}},onClick:s,children:[!b&&J("button",{onClick:qJ,className:"flex h-4 w-4 items-center justify-center shrink-0",children:L?J(oJ,{className:"h-3 w-3"}):J(sJ,{className:"h-3 w-3"})}),b?J(tJ,{className:"h-4 w-4 text-sidebar-primary shrink-0"}):J(eJ,{className:"h-4 w-4 text-sidebar-primary shrink-0"}),J("span",{className:"flex-1 truncate text-sidebar-foreground",children:$.name}),C&&!b&&J("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity shrink-0",onClick:(G)=>G.stopPropagation(),children:X(QJ,{modal:!1,children:[J(HJ,{asChild:!0,children:J(N,{variant:"ghost",size:"icon-sm",className:"h-6 w-6 shrink-0 hover:bg-muted hover:text-muted-foreground p-0",children:J(zJ,{className:"h-3.5 w-3.5"})})}),X(UJ,{align:"end",className:"w-32",children:[X(w,{onClick:()=>{D($.id,$.name)},children:[J(nJ,{className:"mr-2 h-4 w-4"}),W.rename()]}),X(w,{onClick:()=>{Q($.id)},children:[J(DJ,{className:"mr-2 h-4 w-4"}),W.download()]}),J(KK,{}),X(w,{className:"text-destructive focus:text-destructive focus:bg-destructive/10",onClick:()=>{q($.id)},children:[J(uJ,{className:"mr-2 h-4 w-4"}),W.delete()]})]})]})})]}),L&&X("div",{children:[l&&J("div",{className:"flex items-center justify-center p-2",style:{paddingLeft:`${(P+1)*12+8}px`},children:J(p,{className:"h-4 w-4 animate-spin"})}),n.map((G)=>J(bK,{teamId:B,projectId:Z,folder:G,level:P+1,dragState:M,onSelect:A,selectedFolderId:m,canEdit:C,onRenameTrigger:D,onDeleteTrigger:q,onDownloadTrigger:Q,ancestorFolders:V},G.id)),g&&J("div",{ref:o,className:"flex items-center justify-center p-2",style:{paddingLeft:`${(P+1)*12+8}px`},children:R&&J(p,{className:"h-4 w-4 animate-spin"})})]})]})}
2
- export{cK as oa};
1
+ import{bb as BK,db as gJ}from"./chunk-4rbzswqs.js";import{fb as ZJ}from"./chunk-rfyaphas.js";import{kb as ZK,lb as _K,mb as $K,nb as GK,ob as zK,pb as QK,qb as HK,rb as UK}from"./chunk-karn564z.js";import{Fg as $J}from"./chunk-f2j2cqd1.js";import{hh as QJ,jh as HJ,kh as UJ,lh as w,ph as KK,uh as WK}from"./chunk-n4gghgrj.js";import{$h as z,Ah as X,Ak as O,Bh as lJ,Ck as N,Di as rJ,Fj as wJ,Gh as v,Hh as _J,Ik as W,Jk as XK,Kh as dJ,Ki as oJ,Kk as TJ,Lh as h,Mh as GJ,Mi as sJ,Mk as RJ,Nk as SJ,Oi as XJ,Oj as JK,Ok as fJ,Pi as YJ,Pk as hJ,Qk as YK,Ri as tJ,Xi as DJ,Xj as uJ,bi as U,cj as eJ,kj as kJ,li as zJ,ni as p,ri as nJ,ti as aJ,xh as NK,yh as iJ,zh as J}from"./chunk-m6a4rzdt.js";import{Nl as vK}from"./chunk-dej1gq35.js";var _=vK(NK(),1);function cK({teamId:B,projectId:Z,projectName:$,rootFolderId:P,dragState:b,onSelect:M,selectedFolderId:A,hideCollections:m,hideShares:C,ancestorFolders:D}){let q=GJ(),Q=lJ(),{canEdit:V}=WK(Z),j=dJ({from:"/projects/$projectId/recently-deleted",shouldThrow:!1}),[L,r]=_.useState(!0),[T,BJ]=_.useState(!0),[u,bJ]=_.useState(!0),{data:c,fetchNextPage:i,hasNextPage:g,isFetchingNextPage:R}=_J({queryKey:["shares",Z],queryFn:async({pageParam:K})=>{let Y=await U.api.projects[":projectId"].shares.$get({param:{projectId:Z},query:{first:"20",after:K}});if(!Y.ok)throw Error(W.failed_fetch_share_links());return await Y.json()},initialPageParam:"",getNextPageParam:(K)=>K.pageInfo?.cursor||void 0,enabled:!!Z}),{data:l,fetchNextPage:o,hasNextPage:d,isFetchingNextPage:n}=_J({queryKey:["collections",Z],queryFn:async({pageParam:K})=>{let Y=await U.api.projects[":projectId"].collections.$get({param:{projectId:Z},query:{first:"20",after:K}});if(!Y.ok)throw Error(W.failed_fetch_collections());return await Y.json()},initialPageParam:"",getNextPageParam:(K)=>K.pageInfo?.cursor||void 0,enabled:!!Z}),{ref:qJ,inView:s}=$J(),{ref:VJ,inView:t}=$J();_.useEffect(()=>{if(s&&d&&!n)o()},[s,d,n,o]),_.useEffect(()=>{if(t&&g&&!R)i()},[t,g,R,i]);let AJ=_.useMemo(()=>l?.pages.flatMap((K)=>K.data)||[],[l]),OJ=_.useMemo(()=>c?.pages.flatMap((K)=>K.data)||[],[c]),{mutate:PJ}=v({mutationFn:async()=>{let K=await U.api.projects[":projectId"].collections.$post({param:{projectId:Z},json:{name:W.untitled_collection(),filter:{sourceFolderId:P,searchFilter:{conditions:[],recursively:!0}}}});if(!K.ok)throw Error(W.failed_create_collection());return await K.json()},onSuccess:(K)=>{Q.invalidateQueries({queryKey:["collections",Z]}),z.success(W.collection_created()),q({to:"/projects/$projectId/collections/$collectionId",params:{projectId:Z,collectionId:K.id}})},onError:(K)=>{z.error(`Error: ${K.message}`)}}),{mutate:MJ}=v({mutationFn:async()=>{let K=await U.api.projects[":projectId"].shares.$post({param:{projectId:Z},json:{name:new Date().toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}});if(!K.ok)throw Error(W.failed_create_share_link());return await K.json()},onSuccess:(K)=>{Q.invalidateQueries({queryKey:["shares",Z]}),z.success(W.share_link_created()),q({to:"/projects/$projectId/shares/$shareId",params:{projectId:Z,shareId:K.id}})},onError:(K)=>{z.error(`Error: ${K.message}`)}}),e=h({from:"/projects/$projectId/collections/$collectionId",shouldThrow:!1}),LJ=h({from:"/projects/$projectId/shares/$shareId",shouldThrow:!1}),G=h({from:"/projects/$projectId/folders/$folderId",shouldThrow:!1}),[y,yJ]=_.useState(null),[F,EJ]=_.useState("collection"),[E,JJ]=_.useState(""),[qK,k]=_.useState(!1),[vJ,NJ]=_.useState(null),[S,CJ]=_.useState("collection"),[VK,f]=_.useState(!1),{mutate:IJ}=v({mutationFn:async({id:K,name:Y})=>{let H=await U.api.folders[":folderId"].$put({param:{folderId:K},json:{name:Y}});if(!H.ok)throw Error(W.failed_rename_folder());return await H.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["search",B]}),Q.invalidateQueries({queryKey:["folders"]}),z.success(W.folder_renamed()),k(!1)},onError:(K)=>{z.error(`Error: ${K.message}`)}}),{mutate:AK}=v({mutationFn:async(K)=>{if(!(await U.api.folders.$delete({json:{ids:[K]}})).ok)throw Error(W.failed_delete_folder());return K},onSuccess:(K)=>{if(Q.invalidateQueries({queryKey:["search",B]}),Q.invalidateQueries({queryKey:["folders"]}),z.success(W.folder_deleted()),f(!1),G?.folderId===K)q({to:"/projects/$projectId",params:{projectId:Z}})},onError:(K)=>{z.error(`Error: ${K.message}`)}}),[OK,a]=_.useState(!1),[KJ,xJ]=_.useState(!1),[FJ,pJ]=_.useState([]),PK=async(K)=>{a(!0),xJ(!0),pJ([]);try{let Y=await U.api.files["download-links"].$post({json:{ids:[K]}});if(!Y.ok)throw Error(W.failed_to_prepare_download_links());let H=await Y.json();pJ(H.files)}catch(Y){z.error(W.failed_to_prepare_download_links()),a(!1),console.error(Y)}finally{xJ(!1)}},MK=()=>{let K=[...FJ];if(a(!1),K.length===0)return;z.info(W.starting_download_files({count:K.length}),{duration:5000});let Y=(WJ)=>new Promise((I)=>setTimeout(I,WJ));(async()=>{for(let I=0;I<K.length;I+=5){let EK=K.slice(I,I+5);for(let cJ of EK){let x=document.createElement("a");x.href=cJ.url,x.download=cJ.name,x.target="_blank",document.body.appendChild(x),x.click(),x.remove()}await Y(1000)}})().catch((WJ)=>{console.error("Background downloads failed:",WJ),z.error(W.some_downloads_failed())})},{mutate:mJ}=v({mutationFn:async({id:K,name:Y})=>{let H=await U.api.collections[":collectionId"].$patch({param:{collectionId:K},json:{name:Y}});if(!H.ok)throw Error(W.failed_rename_collection());return await H.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["collections",Z]}),z.success(W.collection_renamed()),k(!1)},onError:(K)=>{z.error(`Error: ${K.message}`)}}),{mutate:LK}=v({mutationFn:async(K)=>{let Y=await U.api.collections[":collectionId"].$delete({param:{collectionId:K}});if(!Y.ok)throw Error(W.failed_delete_collection());return await Y.json()},onSuccess:(K,Y)=>{if(Q.invalidateQueries({queryKey:["collections",Z]}),z.success(W.collection_deleted()),f(!1),e?.collectionId===Y)q({to:"/projects/$projectId",params:{projectId:Z}})},onError:(K)=>{z.error(`Error: ${K.message}`)}}),{mutate:jJ}=v({mutationFn:async({id:K,name:Y})=>{let H=await U.api.shares[":shareId"].$put({param:{shareId:K},json:{name:Y}});if(!H.ok)throw Error(W.failed_rename_share_link());return await H.json()},onSuccess:()=>{Q.invalidateQueries({queryKey:["shares",Z]}),z.success(W.share_link_renamed()),k(!1)},onError:(K)=>{z.error(`Error: ${K.message}`)}}),{mutate:yK}=v({mutationFn:async(K)=>{if(!(await U.api.shares[":shareId"].$delete({param:{shareId:K}})).ok)throw Error(W.failed_delete_share_link());return K},onSuccess:(K)=>{if(Q.invalidateQueries({queryKey:["shares",Z]}),z.success(W.share_link_deleted()),f(!1),LJ?.shareId===K)q({to:"/projects/$projectId",params:{projectId:Z}})},onError:(K)=>{z.error(`Error: ${K.message}`)}});return X("div",{className:"flex flex-col h-full overflow-hidden p-3 gap-4 bg-background",children:[X("div",{className:O("flex flex-col overflow-hidden transition-all duration-300 ease-in-out border-b border-border pb-4",L?"flex-1 min-h-[50%] h-full":"flex-none h-[44px] max-h-[44px]"),children:[J("header",{className:"group flex items-center justify-between px-2 mb-1 flex-none",children:X("div",{className:"flex-1 flex items-center gap-1.5 cursor-pointer select-none text-muted-foreground hover:text-foreground transition-colors",onClick:()=>r(!L),children:[J("h3",{className:"text-xs font-semibold uppercase tracking-wider",children:W.folder_tree_assets()}),L?J(XJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"}):J(YJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"})]})}),J(ZJ,{className:O("flex-1 min-h-0 transition-all duration-300 ease-in-out [&>div>div]:block!",L?"opacity-100 visible pointer-events-auto":"opacity-0 invisible pointer-events-none h-0"),children:X("div",{className:"space-y-0.5 pr-3",children:[J(bK,{teamId:B,projectId:Z,folder:{id:P,name:$,type:"folder",sizeByte:0,fileCount:0,status:"processed",createdAt:"",updatedAt:""},level:0,isRoot:!0,dragState:b,onSelect:M,selectedFolderId:A,canEdit:V,onRenameTrigger:(K,Y)=>{yJ(K),EJ("folder"),JJ(Y),k(!0)},onDeleteTrigger:(K)=>{NJ(K),CJ("folder"),f(!0)},onDownloadTrigger:(K)=>{PK(K)},ancestorFolders:D},P),V&&X("div",{className:O("group flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",j&&"bg-sidebar-accent text-sidebar-accent-foreground font-medium"),onClick:()=>q({to:"/projects/$projectId/recently-deleted",params:{projectId:Z}}),children:[J("div",{className:"flex h-4 w-4 items-center justify-center",children:J(uJ,{className:"h-4 w-4 text-sidebar-primary"})}),J("span",{className:"flex-1 truncate text-sidebar-foreground",children:W.recently_deleted()})]})]})})]}),!m&&X("div",{className:O("flex flex-col overflow-hidden transition-all duration-300 ease-in-out border-b border-border pb-4",T?"flex-1 min-h-0 h-full":"flex-none h-[44px] max-h-[44px]"),children:[X("header",{className:"group flex items-center justify-between px-2 mb-1 flex-none",children:[X("div",{className:"flex-1 flex items-center gap-1.5 cursor-pointer select-none text-muted-foreground hover:text-foreground transition-colors",onClick:()=>BJ(!T),children:[J("h3",{className:"text-xs font-semibold uppercase tracking-wider",children:W.collections()}),T?J(XJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"}):J(YJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"})]}),V&&J("button",{"data-testid":"create-collection",onClick:()=>PJ(),className:"text-muted-foreground hover:text-foreground flex-none",children:J(wJ,{className:"h-3.5 w-3.5"})})]}),J(ZJ,{className:O("flex-1 min-h-0 transition-all duration-300 ease-in-out [&>div>div]:block!",T?"opacity-100 visible pointer-events-auto":"opacity-0 invisible pointer-events-none h-0"),children:X("div",{className:"space-y-0.5 pr-3",children:[X("div",{className:"group flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",onClick:()=>q({to:"/projects/$projectId/collections",params:{projectId:Z}}),children:[J("div",{className:"flex h-4 w-4 items-center justify-center",children:J(kJ,{className:"h-4 w-4 text-sidebar-primary"})}),J("span",{className:"flex-1 truncate text-sidebar-foreground",children:W.all_collections_count({count:l?.pages[0]?.pageInfo?.total||0})})]}),AJ.map((K)=>{let Y=e?.collectionId===K.id;return X("div",{className:O("group flex cursor-pointer items-center justify-between rounded-md px-2 py-1 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground min-w-0",Y&&"bg-sidebar-accent text-sidebar-accent-foreground font-medium"),onClick:()=>q({to:"/projects/$projectId/collections/$collectionId",params:{projectId:Z,collectionId:K.id}}),children:[X("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[J("div",{className:"flex h-4 w-4 items-center justify-center shrink-0",children:J(rJ,{className:"h-4 w-4 text-sidebar-primary"})}),J("span",{className:"truncate text-sidebar-foreground flex-1",children:K.name})]}),V&&J("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity shrink-0",onClick:(H)=>H.stopPropagation(),children:X(QJ,{modal:!1,children:[J(HJ,{asChild:!0,children:J(N,{variant:"ghost",size:"icon-sm",className:"h-6 w-6 shrink-0 hover:bg-muted hover:text-muted-foreground p-0",children:J(zJ,{className:"h-3.5 w-3.5"})})}),X(UJ,{align:"end",className:"w-32",children:[J(w,{onClick:()=>{yJ(K.id),EJ("collection"),JJ(K.name),k(!0)},children:W.rename()}),J(w,{className:"text-destructive focus:text-destructive focus:bg-destructive/10",onClick:()=>{NJ(K.id),CJ("collection"),f(!0)},children:W.delete()})]})]})})]},K.id)}),J("div",{ref:qJ,className:"h-1"}),n&&J("div",{className:"flex justify-center p-2",children:J(p,{className:"h-4 w-4 animate-spin text-muted-foreground"})})]})})]}),!C&&X("div",{className:O("flex flex-col overflow-hidden transition-all duration-300 ease-in-out",u?"flex-1 min-h-0 h-full":"flex-none h-[44px] max-h-[44px]"),children:[X("header",{className:"group flex items-center justify-between px-2 mb-1 flex-none",children:[X("div",{className:"flex-1 flex items-center gap-1.5 cursor-pointer select-none text-muted-foreground hover:text-foreground transition-colors",onClick:()=>bJ(!u),children:[J("h3",{className:"text-xs font-semibold uppercase tracking-wider",children:W.share_links()}),u?J(XJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"}):J(YJ,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200"})]}),V&&J("div",{className:"flex items-center gap-1 flex-none",children:J("button",{onClick:()=>MJ(),className:"text-muted-foreground hover:text-foreground",children:J(wJ,{className:"h-3.5 w-3.5"})})})]}),J(ZJ,{className:O("flex-1 min-h-0 transition-all duration-300 ease-in-out [&>div>div]:block!",u?"opacity-100 visible pointer-events-auto":"opacity-0 invisible pointer-events-none h-0"),children:X("div",{className:"space-y-0.5 pr-3",children:[X("div",{className:"group flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",onClick:()=>q({to:"/projects/$projectId/shares",params:{projectId:Z}}),children:[J("div",{className:"flex h-4 w-4 items-center justify-center",children:J(kJ,{className:"h-4 w-4 text-sidebar-primary"})}),J("span",{className:"flex-1 truncate text-sidebar-foreground",children:W.all_share_links_count({count:c?.pages[0]?.pageInfo?.total||0})})]}),OJ.map((K)=>J(CK,{link:K,projectId:Z,dragState:b,canEdit:V,onRenameTrigger:(Y,H)=>{yJ(Y),EJ("share"),JJ(H),k(!0)},onDeleteTrigger:(Y)=>{NJ(Y),CJ("share"),f(!0)}},K.id)),J("div",{ref:VJ,className:"h-1"}),R&&J("div",{className:"flex justify-center p-2",children:J(p,{className:"h-4 w-4 animate-spin text-muted-foreground"})})]})})]}),J(TJ,{open:qK,onOpenChange:k,children:X(RJ,{onClick:(K)=>K.stopPropagation(),children:[J(SJ,{children:J(hJ,{children:F==="collection"?W.rename_collection():F==="share"?W.rename_share_link():W.rename_folder()})}),J("div",{className:"py-4",children:J(XK,{value:E,onChange:(K)=>JJ(K.target.value),placeholder:W.enter_new_name(),onKeyDown:(K)=>{if(K.key==="Enter"&&E.trim()){if(F==="collection")mJ({id:y,name:E});else if(F==="share")jJ({id:y,name:E});else if(F==="folder")IJ({id:y,name:E})}}})}),X(fJ,{children:[J(N,{variant:"ghost",onClick:()=>k(!1),children:W.cancel()}),J(N,{disabled:!E.trim(),onClick:()=>{if(F==="collection")mJ({id:y,name:E});else if(F==="share")jJ({id:y,name:E});else if(F==="folder")IJ({id:y,name:E})},children:W.rename()})]})]})}),J(ZK,{open:VK,onOpenChange:f,children:X(_K,{onClick:(K)=>K.stopPropagation(),children:[X($K,{children:[J(zK,{children:S==="collection"?W.delete_collection_confirm():S==="share"?W.delete_share_link_confirm():W.delete_folder_confirm()}),J(QK,{children:W.delete_confirm_description({type:S==="collection"?W.collection():S==="share"?W.share_link():W.folder().toLowerCase()})})]}),X(GK,{children:[J(UK,{children:W.cancel()}),J(HK,{className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",onClick:()=>{if(S==="collection")LK(vJ);else if(S==="share")yK(vJ);else if(S==="folder")AK(vJ)},children:W.delete()})]})]})}),J(TJ,{open:OK,onOpenChange:a,children:X(RJ,{className:"sm:max-w-md",children:[X(SJ,{children:[J(hJ,{children:KJ?W.preparing_download():W.confirm_download()}),J(YK,{children:KJ?W.resolving_files_wait():W.folder_files_download_description()})]}),KJ?X("div",{className:"space-y-4 py-6 flex flex-col items-center justify-center",children:[J(p,{className:"h-8 w-8 animate-spin text-primary"}),J("span",{className:"text-sm font-medium text-muted-foreground mt-2",children:W.preparing_download_links()})]}):X("div",{className:"space-y-4 py-2",children:[J("div",{className:"text-sm text-muted-foreground",children:W.download_includes_files({count:FJ.length})}),X("div",{className:"flex items-start gap-3 p-3 text-sm rounded-lg bg-amber-50 dark:bg-amber-950/30 text-amber-800 dark:text-amber-300 border border-amber-200 dark:border-amber-900/30",children:[J(aJ,{className:"h-5 w-5 shrink-0 mt-0.5"}),X("div",{children:[J("p",{className:"font-semibold",children:W.no_folder_structure()}),J("p",{className:"mt-0.5 text-xs text-amber-700/90 dark:text-amber-400/90",children:W.folder_structure_warning()})]})]})]}),J(fJ,{children:!KJ?X(iJ,{children:[J(N,{variant:"outline",onClick:()=>a(!1),children:W.cancel()}),X(N,{onClick:MK,className:"gap-2",disabled:FJ.length===0,children:[J(DJ,{className:"h-4 w-4"}),W.start_download()]})]}):J(N,{disabled:!0,variant:"outline",children:W.cancel()})})]})})]})}function CK({link:B,projectId:Z,dragState:$,canEdit:P,onRenameTrigger:b,onDeleteTrigger:M}){let A=GJ(),C=h({from:"/projects/$projectId/shares/$shareId",shouldThrow:!1})?.shareId===B.id,{ref:D,isDropTarget:q}=gJ({id:`share:${B.id}`,data:{type:"share-link",id:B.id}}),Q=!!$?.isActive;return X("div",{ref:D,className:O("group flex cursor-pointer items-center justify-between rounded-md px-2 py-1 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground min-w-0",C&&"bg-sidebar-accent text-sidebar-accent-foreground font-medium",q&&Q&&"bg-sidebar-accent ring-2 ring-primary ring-inset"),onClick:()=>A({to:"/projects/$projectId/shares/$shareId",params:{projectId:Z,shareId:B.id}}),children:[X("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[J("div",{className:"flex h-4 w-4 items-center justify-center shrink-0",children:J(JK,{className:"h-4 w-4 text-sidebar-primary"})}),J("span",{className:"truncate text-sidebar-foreground flex-1",children:B.name})]}),P&&J("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity shrink-0",onClick:(V)=>V.stopPropagation(),children:X(QJ,{modal:!1,children:[J(HJ,{asChild:!0,children:J(N,{variant:"ghost",size:"icon-sm",className:"h-6 w-6 shrink-0 hover:bg-muted hover:text-muted-foreground p-0",children:J(zJ,{className:"h-3.5 w-3.5"})})}),X(UJ,{align:"end",className:"w-32",children:[J(w,{onClick:()=>{b(B.id,B.name)},children:W.rename()}),J(w,{className:"text-destructive focus:text-destructive focus:bg-destructive/10",onClick:()=>{M(B.id)},children:W.delete()})]})]})})]})}function bK({teamId:B,projectId:Z,folder:$,level:P,isRoot:b,dragState:M,onSelect:A,selectedFolderId:m,canEdit:C,onRenameTrigger:D,onDeleteTrigger:q,onDownloadTrigger:Q,ancestorFolders:V}){let j=_.useMemo(()=>{return V?.some((G)=>G.id===$.id)??!1},[V,$.id]),[L,r]=_.useState(b||j);_.useEffect(()=>{if(j)r(!0)},[j]);let T=GJ(),BJ=h({from:"/projects/$projectId/folders/$folderId",select:(G)=>({folderId:G.folderId}),shouldThrow:!1}),u=h({from:"/projects/$projectId/",shouldThrow:!1}),bJ=b?!!u:BJ?.folderId===$.id,{data:c,fetchNextPage:i,hasNextPage:g,isFetchingNextPage:R,isLoading:l}=_J({queryKey:["folders",$.id,"children",{assetType:"folder"}],queryFn:async({pageParam:G})=>{let y=await U.api.folders[":folderId"].children.$get({param:{folderId:$.id},query:{assetType:"folder",after:G,first:"20"}});if(!y.ok)throw Error(W.failed_to_fetch_folder_children());return await y.json()},initialPageParam:"",getNextPageParam:(G)=>{return G.pageInfo?.cursor||void 0},enabled:L||!!b}),{ref:o,inView:d}=$J();_.useEffect(()=>{if(d&&g&&!R)i()},[d,g,R,i]);let n=c?.pages.flatMap((G)=>G.data??[])??[],qJ=(G)=>{G.stopPropagation(),r(!L)},s=()=>{if(A){A($);return}if(b)T({to:"/projects/$projectId",params:{projectId:Z}});else T({to:"/projects/$projectId/folders/$folderId",params:{projectId:Z,folderId:$.id}})},{ref:VJ,isDragging:t}=BK({id:`tree:${$.id}`,data:{type:"folder",item:$},disabled:!!b||!!A||!C}),{ref:AJ,isDropTarget:OJ}=gJ({id:`tree:${$.id}`,data:{type:"folder",item:$},disabled:M?.draggedIds.has($.id)||!!A||!C}),PJ=(G)=>{VJ(G),AJ(G)},MJ=_.useMemo(()=>{if(A)return!1;if(!M?.isActive)return!1;if(M.draggedIds.has($.id))return!1;return!0},[M,$.id,A]),e=OJ&&MJ,LJ=m===$.id;return X("div",{children:[X("div",{ref:PJ,className:O("group flex cursor-pointer items-center gap-1 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground min-w-0",(bJ||LJ)&&"bg-sidebar-accent text-sidebar-accent-foreground font-medium",t&&"opacity-50",e&&"bg-sidebar-accent ring-2 ring-primary ring-inset"),style:{...b?{}:{paddingLeft:`${P*12+8}px`}},onClick:s,children:[!b&&J("button",{onClick:qJ,className:"flex h-4 w-4 items-center justify-center shrink-0",children:L?J(oJ,{className:"h-3 w-3"}):J(sJ,{className:"h-3 w-3"})}),b?J(tJ,{className:"h-4 w-4 text-sidebar-primary shrink-0"}):J(eJ,{className:"h-4 w-4 text-sidebar-primary shrink-0"}),J("span",{className:"flex-1 truncate text-sidebar-foreground",children:$.name}),C&&!b&&J("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity shrink-0",onClick:(G)=>G.stopPropagation(),children:X(QJ,{modal:!1,children:[J(HJ,{asChild:!0,children:J(N,{variant:"ghost",size:"icon-sm",className:"h-6 w-6 shrink-0 hover:bg-muted hover:text-muted-foreground p-0",children:J(zJ,{className:"h-3.5 w-3.5"})})}),X(UJ,{align:"end",className:"w-32",children:[X(w,{onClick:()=>{D($.id,$.name)},children:[J(nJ,{className:"mr-2 h-4 w-4"}),W.rename()]}),X(w,{onClick:()=>{Q($.id)},children:[J(DJ,{className:"mr-2 h-4 w-4"}),W.download()]}),J(KK,{}),X(w,{className:"text-destructive focus:text-destructive focus:bg-destructive/10",onClick:()=>{q($.id)},children:[J(uJ,{className:"mr-2 h-4 w-4"}),W.delete()]})]})]})})]}),L&&X("div",{children:[l&&J("div",{className:"flex items-center justify-center p-2",style:{paddingLeft:`${(P+1)*12+8}px`},children:J(p,{className:"h-4 w-4 animate-spin"})}),n.map((G)=>J(bK,{teamId:B,projectId:Z,folder:G,level:P+1,dragState:M,onSelect:A,selectedFolderId:m,canEdit:C,onRenameTrigger:D,onDeleteTrigger:q,onDownloadTrigger:Q,ancestorFolders:V},G.id)),g&&J("div",{ref:o,className:"flex items-center justify-center p-2",style:{paddingLeft:`${(P+1)*12+8}px`},children:R&&J(p,{className:"h-4 w-4 animate-spin"})})]})]})}
2
+ export{cK as qa};
@@ -0,0 +1 @@
1
+ import{j as x}from"./chunk-zwgf211t.js";import"./chunk-sjjndwt4.js";import"./chunk-qcqw7wnv.js";import"./chunk-x3ynjbt5.js";import"./chunk-dv1zpd2p.js";import"./chunk-mw8f8ngt.js";import"./chunk-y8aehqr8.js";import"./chunk-9nyhmtp9.js";import"./chunk-r5dv0rfv.js";import"./chunk-83k0wa5k.js";import"./chunk-8y1v9dm9.js";import"./chunk-tpp9qf5m.js";import"./chunk-4rbzswqs.js";import"./chunk-rfyaphas.js";import"./chunk-0yngn45x.js";import"./chunk-5gtew41y.js";import"./chunk-3kqdgddm.js";import"./chunk-karn564z.js";import{wf as f}from"./chunk-503qq6sa.js";import{Sf as p}from"./chunk-s0hgykza.js";import"./chunk-38g3s1f3.js";import"./chunk-qmpph1gt.js";import"./chunk-zjj9qj6y.js";import"./chunk-eetrc0j1.js";import"./chunk-9s02m95j.js";import"./chunk-87wqbn4g.js";import"./chunk-69tt1pvr.js";import"./chunk-f2j2cqd1.js";import"./chunk-2xmsrq7f.js";import"./chunk-af6wbhkv.js";import"./chunk-2mqqghrz.js";import{th as h}from"./chunk-n4gghgrj.js";import{Eh as l,Fh as r,Rh as o,bi as c,xh as v,zh as a}from"./chunk-m6a4rzdt.js";import{Nl as w}from"./chunk-dej1gq35.js";var g=w(v(),1);function y(){let{projectId:e,folderId:b}=d.useParams(),{teamId:s,ensureTeamIdForProject:n}=h();g.useEffect(()=>{n(e)},[e,n]);let{data:i}=r(f(e)),t=i?.rootFolder,{data:m}=l({queryKey:["folders",t],queryFn:()=>(async()=>{return await(await c.api.folders[":folderId"].$get({param:{folderId:t}})).json()})(),enabled:!!t});if(!s||!t||!m)return a(p,{});return a(x,{teamId:s,projectId:e,projectName:i.name??"",assetId:b,rootFolderId:t})}var d=o("/projects/$projectId/folders/$folderId")({component:y});export{d as Route};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Il as a,Jl as _}from"./chunk-mgbqjbfc.js";var f=_((J)=>{Object.defineProperty(J,"__esModule",{value:!0});J.Allow=J.ALL=J.COLLECTION=J.ATOM=J.SPECIAL=J.INF=J._INFINITY=J.INFINITY=J.NAN=J.BOOL=J.NULL=J.OBJ=J.ARR=J.NUM=J.STR=void 0;J.STR=1;J.NUM=2;J.ARR=4;J.OBJ=8;J.NULL=16;J.BOOL=32;J.NAN=64;J.INFINITY=128;J._INFINITY=256;J.INF=J.INFINITY|J._INFINITY;J.SPECIAL=J.NULL|J.BOOL|J.INF|J.NAN;J.ATOM=J.STR|J.NUM|J.SPECIAL;J.COLLECTION=J.ARR|J.OBJ;J.ALL=J.ATOM|J.COLLECTION;J.Allow={STR:J.STR,NUM:J.NUM,ARR:J.ARR,OBJ:J.OBJ,NULL:J.NULL,BOOL:J.BOOL,NAN:J.NAN,INFINITY:J.INFINITY,_INFINITY:J._INFINITY,INF:J.INF,SPECIAL:J.SPECIAL,ATOM:J.ATOM,COLLECTION:J.COLLECTION,ALL:J.ALL};J.default=J.Allow});var w=_((X)=>{var d=X&&X.__createBinding||(Object.create?function(F,G,H,z){if(z===void 0)z=H;var K=Object.getOwnPropertyDescriptor(G,H);if(!K||("get"in K?!G.__esModule:K.writable||K.configurable))K={enumerable:!0,get:function(){return G[H]}};Object.defineProperty(F,z,K)}:function(F,G,H,z){if(z===void 0)z=H;F[z]=G[H]}),x=X&&X.__exportStar||function(F,G){for(var H in F)if(H!=="default"&&!Object.prototype.hasOwnProperty.call(G,H))d(G,F,H)};Object.defineProperty(X,"__esModule",{value:!0});X.Allow=X.MalformedJSON=X.PartialJSON=X.parseJSON=X.parse=void 0;var Y=f();Object.defineProperty(X,"Allow",{enumerable:!0,get:function(){return Y.Allow}});x(f(),X);class b extends Error{}X.PartialJSON=b;class P extends Error{}X.MalformedJSON=P;function m(F,G=Y.Allow.ALL){if(typeof F!=="string")throw TypeError(`expecting str, got ${typeof F}`);if(!F.trim())throw Error(`${F} is empty`);return p(F.trim(),G)}X.parseJSON=m;var p=(F,G)=>{let H=F.length,z=0,K=(Q)=>{throw new b(`${Q} at position ${z}`)},$=(Q)=>{throw new P(`${Q} at position ${z}`)},U=()=>{if(V(),z>=H)K("Unexpected end of input");if(F[z]==='"')return O();if(F[z]==="{")return c();if(F[z]==="[")return j();if(F.substring(z,z+4)==="null"||Y.Allow.NULL&G&&H-z<4&&"null".startsWith(F.substring(z)))return z+=4,null;if(F.substring(z,z+4)==="true"||Y.Allow.BOOL&G&&H-z<4&&"true".startsWith(F.substring(z)))return z+=4,!0;if(F.substring(z,z+5)==="false"||Y.Allow.BOOL&G&&H-z<5&&"false".startsWith(F.substring(z)))return z+=5,!1;if(F.substring(z,z+8)==="Infinity"||Y.Allow.INFINITY&G&&H-z<8&&"Infinity".startsWith(F.substring(z)))return z+=8,1/0;if(F.substring(z,z+9)==="-Infinity"||Y.Allow._INFINITY&G&&1<H-z&&H-z<9&&"-Infinity".startsWith(F.substring(z)))return z+=9,-1/0;if(F.substring(z,z+3)==="NaN"||Y.Allow.NAN&G&&H-z<3&&"NaN".startsWith(F.substring(z)))return z+=3,NaN;return g()},O=()=>{let Q=z,Z=!1;z++;while(z<H&&(F[z]!=='"'||Z&&F[z-1]==="\\"))Z=F[z]==="\\"?!Z:!1,z++;if(F.charAt(z)=='"')try{return JSON.parse(F.substring(Q,++z-Number(Z)))}catch(q){$(String(q))}else if(Y.Allow.STR&G)try{return JSON.parse(F.substring(Q,z-Number(Z))+'"')}catch(q){return JSON.parse(F.substring(Q,F.lastIndexOf("\\"))+'"')}K("Unterminated string literal")},c=()=>{z++,V();let Q={};try{while(F[z]!=="}"){if(V(),z>=H&&Y.Allow.OBJ&G)return Q;let Z=O();V(),z++;try{let q=U();Q[Z]=q}catch(q){if(Y.Allow.OBJ&G)return Q;else throw q}if(V(),F[z]===",")z++}}catch(Z){if(Y.Allow.OBJ&G)return Q;else K("Expected '}' at end of object")}return z++,Q},j=()=>{z++;let Q=[];try{while(F[z]!=="]")if(Q.push(U()),V(),F[z]===",")z++}catch(Z){if(Y.Allow.ARR&G)return Q;K("Expected ']' at end of array")}return z++,Q},g=()=>{if(z===0){if(F==="-")$("Not sure what '-' is");try{return JSON.parse(F)}catch(Z){if(Y.Allow.NUM&G)try{return JSON.parse(F.substring(0,F.lastIndexOf("e")))}catch(q){}$(String(Z))}}let Q=z;if(F[z]==="-")z++;while(F[z]&&",]}".indexOf(F[z])===-1)z++;if(z==H&&!(Y.Allow.NUM&G))K("Unterminated number literal");try{return JSON.parse(F.substring(Q,z))}catch(Z){if(F.substring(Q,z)==="-")K("Not sure what '-' is");try{return JSON.parse(F.substring(Q,F.lastIndexOf("e")))}catch(q){$(String(q))}}},V=()=>{while(z<H&&`
2
+ import{Nl as a,Ol as _}from"./chunk-dej1gq35.js";var f=_((J)=>{Object.defineProperty(J,"__esModule",{value:!0});J.Allow=J.ALL=J.COLLECTION=J.ATOM=J.SPECIAL=J.INF=J._INFINITY=J.INFINITY=J.NAN=J.BOOL=J.NULL=J.OBJ=J.ARR=J.NUM=J.STR=void 0;J.STR=1;J.NUM=2;J.ARR=4;J.OBJ=8;J.NULL=16;J.BOOL=32;J.NAN=64;J.INFINITY=128;J._INFINITY=256;J.INF=J.INFINITY|J._INFINITY;J.SPECIAL=J.NULL|J.BOOL|J.INF|J.NAN;J.ATOM=J.STR|J.NUM|J.SPECIAL;J.COLLECTION=J.ARR|J.OBJ;J.ALL=J.ATOM|J.COLLECTION;J.Allow={STR:J.STR,NUM:J.NUM,ARR:J.ARR,OBJ:J.OBJ,NULL:J.NULL,BOOL:J.BOOL,NAN:J.NAN,INFINITY:J.INFINITY,_INFINITY:J._INFINITY,INF:J.INF,SPECIAL:J.SPECIAL,ATOM:J.ATOM,COLLECTION:J.COLLECTION,ALL:J.ALL};J.default=J.Allow});var w=_((X)=>{var d=X&&X.__createBinding||(Object.create?function(F,G,H,z){if(z===void 0)z=H;var K=Object.getOwnPropertyDescriptor(G,H);if(!K||("get"in K?!G.__esModule:K.writable||K.configurable))K={enumerable:!0,get:function(){return G[H]}};Object.defineProperty(F,z,K)}:function(F,G,H,z){if(z===void 0)z=H;F[z]=G[H]}),x=X&&X.__exportStar||function(F,G){for(var H in F)if(H!=="default"&&!Object.prototype.hasOwnProperty.call(G,H))d(G,F,H)};Object.defineProperty(X,"__esModule",{value:!0});X.Allow=X.MalformedJSON=X.PartialJSON=X.parseJSON=X.parse=void 0;var Y=f();Object.defineProperty(X,"Allow",{enumerable:!0,get:function(){return Y.Allow}});x(f(),X);class b extends Error{}X.PartialJSON=b;class P extends Error{}X.MalformedJSON=P;function m(F,G=Y.Allow.ALL){if(typeof F!=="string")throw TypeError(`expecting str, got ${typeof F}`);if(!F.trim())throw Error(`${F} is empty`);return p(F.trim(),G)}X.parseJSON=m;var p=(F,G)=>{let H=F.length,z=0,K=(Q)=>{throw new b(`${Q} at position ${z}`)},$=(Q)=>{throw new P(`${Q} at position ${z}`)},U=()=>{if(V(),z>=H)K("Unexpected end of input");if(F[z]==='"')return O();if(F[z]==="{")return c();if(F[z]==="[")return j();if(F.substring(z,z+4)==="null"||Y.Allow.NULL&G&&H-z<4&&"null".startsWith(F.substring(z)))return z+=4,null;if(F.substring(z,z+4)==="true"||Y.Allow.BOOL&G&&H-z<4&&"true".startsWith(F.substring(z)))return z+=4,!0;if(F.substring(z,z+5)==="false"||Y.Allow.BOOL&G&&H-z<5&&"false".startsWith(F.substring(z)))return z+=5,!1;if(F.substring(z,z+8)==="Infinity"||Y.Allow.INFINITY&G&&H-z<8&&"Infinity".startsWith(F.substring(z)))return z+=8,1/0;if(F.substring(z,z+9)==="-Infinity"||Y.Allow._INFINITY&G&&1<H-z&&H-z<9&&"-Infinity".startsWith(F.substring(z)))return z+=9,-1/0;if(F.substring(z,z+3)==="NaN"||Y.Allow.NAN&G&&H-z<3&&"NaN".startsWith(F.substring(z)))return z+=3,NaN;return g()},O=()=>{let Q=z,Z=!1;z++;while(z<H&&(F[z]!=='"'||Z&&F[z-1]==="\\"))Z=F[z]==="\\"?!Z:!1,z++;if(F.charAt(z)=='"')try{return JSON.parse(F.substring(Q,++z-Number(Z)))}catch(q){$(String(q))}else if(Y.Allow.STR&G)try{return JSON.parse(F.substring(Q,z-Number(Z))+'"')}catch(q){return JSON.parse(F.substring(Q,F.lastIndexOf("\\"))+'"')}K("Unterminated string literal")},c=()=>{z++,V();let Q={};try{while(F[z]!=="}"){if(V(),z>=H&&Y.Allow.OBJ&G)return Q;let Z=O();V(),z++;try{let q=U();Q[Z]=q}catch(q){if(Y.Allow.OBJ&G)return Q;else throw q}if(V(),F[z]===",")z++}}catch(Z){if(Y.Allow.OBJ&G)return Q;else K("Expected '}' at end of object")}return z++,Q},j=()=>{z++;let Q=[];try{while(F[z]!=="]")if(Q.push(U()),V(),F[z]===",")z++}catch(Z){if(Y.Allow.ARR&G)return Q;K("Expected ']' at end of array")}return z++,Q},g=()=>{if(z===0){if(F==="-")$("Not sure what '-' is");try{return JSON.parse(F)}catch(Z){if(Y.Allow.NUM&G)try{return JSON.parse(F.substring(0,F.lastIndexOf("e")))}catch(q){}$(String(Z))}}let Q=z;if(F[z]==="-")z++;while(F[z]&&",]}".indexOf(F[z])===-1)z++;if(z==H&&!(Y.Allow.NUM&G))K("Unterminated number literal");try{return JSON.parse(F.substring(Q,z))}catch(Z){if(F.substring(Q,z)==="-")K("Not sure what '-' is");try{return JSON.parse(F.substring(Q,F.lastIndexOf("e")))}catch(q){$(String(q))}}},V=()=>{while(z<H&&`
3
3
  \r `.includes(F[z]))z++};return U()},l=m;X.parse=l});var N=a(w(),1),e=new Set(['"',"\\","/","b","f","n","r","t","u"]);function s(F){let G=F.codePointAt(0);return G!==void 0&&G>=0&&G<=31}function t(F){switch(F){case"\b":return"\\b";case"\f":return"\\f";case`
4
4
  `:return"\\n";case"\r":return"\\r";case"\t":return"\\t";default:return`\\u${F.codePointAt(0)?.toString(16).padStart(4,"0")??"0000"}`}}function k(F){let G="",H=!1;for(let z=0;z<F.length;z++){let K=F[z];if(!H){if(G+=K,K==='"')H=!0;continue}if(K==='"'){G+=K,H=!1;continue}if(K==="\\"){let $=F[z+1];if($===void 0){G+="\\\\";continue}if($==="u"){let U=F.slice(z+2,z+6);if(/^[0-9a-fA-F]{4}$/.test(U)){G+=`\\u${U}`,z+=5;continue}}if(e.has($)){G+=`\\${$}`,z+=1;continue}G+="\\\\";continue}G+=s(K)?t(K):K}return G}function i(F){try{return JSON.parse(F)}catch(G){let H=k(F);if(H!==F)return JSON.parse(H);throw G}}function n(F){if(!F||F.trim()==="")return{};try{return i(F)}catch{try{return N.parse(F)??{}}catch{try{return N.parse(k(F))??{}}catch{return{}}}}}
5
- export{i as Yk,n as Zk};
5
+ export{i as bl,n as cl};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Uk as L}from"./chunk-snexx7ks.js";import{Wk as E}from"./chunk-kaxwma6y.js";import{kl as M,ll as S}from"./chunk-z0zevgb6.js";import{vl as O}from"./chunk-800vdz5n.js";import{wl as b,xl as q}from"./chunk-f2eh802w.js";import"./chunk-mgbqjbfc.js";var y=async(B,J,D)=>{let F={api:B.api,provider:B.provider,model:B.id,output:[],stopReason:"stop",timestamp:Date.now()};try{let G=D?.apiKey;if(!G)throw Error(`No API key for provider: ${B.provider}`);let V=C(B,G,D?.headers),Q=H(B,J),X=await D?.onPayload?.(Q,B);if(X!==void 0)Q=X;let N={...D?.signal?{signal:D.signal}:{},...D?.timeoutMs!==void 0?{timeout:D.timeoutMs}:{},maxRetries:0},{data:z,response:A}=await E(()=>V.chat.completions.create(Q,N).withResponse(),{maxRetries:D?.maxRetries,maxRetryDelayMs:D?.maxRetryDelayMs,signal:D?.signal});await D?.onResponse?.({status:A.status,headers:b(A.headers)},B);let Y=z;if(F.responseId=Y.id,Y.usage)F.usage=K(Y.usage,B);let Z=Y.choices[0];if(Z){let _=Z.message.content;if(typeof _==="string"&&_.length>0)F.output.push({type:"text",text:_});for(let $ of Z.message.images??[]){let I=typeof $.image_url==="string"?$.image_url:$.image_url?.url;if(!I?.startsWith("data:"))continue;let f=I.match(/^data:([^;]+);base64,(.+)$/);if(!f)continue;F.output.push({type:"image",mimeType:f[1],data:f[2]})}}return F}catch(G){return F.stopReason=D?.signal?.aborted?"aborted":"error",F.errorMessage=S(M(G)),F}};function C(B,J,D){return new L({apiKey:J,baseURL:B.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:q({...B.headers,...D})})}function H(B,J){let D=J.input.map((F)=>{if(F.type==="text")return{type:"text",text:O(F.text)};return{type:"image_url",image_url:{url:`data:${F.mimeType};base64,${F.data}`}}});return{model:B.id,messages:[{role:"user",content:D}],stream:!1,modalities:B.output.includes("text")?["image","text"]:["image"]}}function K(B,J){let D=B.prompt_tokens||0,F=B.prompt_tokens_details?.cached_tokens||0,G=B.prompt_tokens_details?.cache_write_tokens||0,V=G>0?Math.max(0,F-G):F,Q=Math.max(0,D-V-G),X=B.completion_tokens||0,N={input:Q,output:X,cacheRead:V,cacheWrite:G,totalTokens:Q+X+V+G,cost:{input:J.cost.input/1e6*Q,output:J.cost.output/1e6*X,cacheRead:J.cost.cacheRead/1e6*V,cacheWrite:J.cost.cacheWrite/1e6*G,total:0}};return N.cost.total=N.cost.input+N.cost.output+N.cost.cacheRead+N.cost.cacheWrite,N}export{y as generateImages};
2
+ import{Zk as L}from"./chunk-k48y9e5s.js";import{$k as E}from"./chunk-6zs49mef.js";import{pl as M,ql as S}from"./chunk-qdycy714.js";import{Al as O}from"./chunk-x6532q76.js";import{Bl as b,Cl as q}from"./chunk-gjdmnfms.js";import"./chunk-dej1gq35.js";var y=async(B,J,D)=>{let F={api:B.api,provider:B.provider,model:B.id,output:[],stopReason:"stop",timestamp:Date.now()};try{let G=D?.apiKey;if(!G)throw Error(`No API key for provider: ${B.provider}`);let V=C(B,G,D?.headers),Q=H(B,J),X=await D?.onPayload?.(Q,B);if(X!==void 0)Q=X;let N={...D?.signal?{signal:D.signal}:{},...D?.timeoutMs!==void 0?{timeout:D.timeoutMs}:{},maxRetries:0},{data:z,response:A}=await E(()=>V.chat.completions.create(Q,N).withResponse(),{maxRetries:D?.maxRetries,maxRetryDelayMs:D?.maxRetryDelayMs,signal:D?.signal});await D?.onResponse?.({status:A.status,headers:b(A.headers)},B);let Y=z;if(F.responseId=Y.id,Y.usage)F.usage=K(Y.usage,B);let Z=Y.choices[0];if(Z){let _=Z.message.content;if(typeof _==="string"&&_.length>0)F.output.push({type:"text",text:_});for(let $ of Z.message.images??[]){let I=typeof $.image_url==="string"?$.image_url:$.image_url?.url;if(!I?.startsWith("data:"))continue;let f=I.match(/^data:([^;]+);base64,(.+)$/);if(!f)continue;F.output.push({type:"image",mimeType:f[1],data:f[2]})}}return F}catch(G){return F.stopReason=D?.signal?.aborted?"aborted":"error",F.errorMessage=S(M(G)),F}};function C(B,J,D){return new L({apiKey:J,baseURL:B.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:q({...B.headers,...D})})}function H(B,J){let D=J.input.map((F)=>{if(F.type==="text")return{type:"text",text:O(F.text)};return{type:"image_url",image_url:{url:`data:${F.mimeType};base64,${F.data}`}}});return{model:B.id,messages:[{role:"user",content:D}],stream:!1,modalities:B.output.includes("text")?["image","text"]:["image"]}}function K(B,J){let D=B.prompt_tokens||0,F=B.prompt_tokens_details?.cached_tokens||0,G=B.prompt_tokens_details?.cache_write_tokens||0,V=G>0?Math.max(0,F-G):F,Q=Math.max(0,D-V-G),X=B.completion_tokens||0,N={input:Q,output:X,cacheRead:V,cacheWrite:G,totalTokens:Q+X+V+G,cost:{input:J.cost.input/1e6*Q,output:J.cost.output/1e6*X,cacheRead:J.cost.cacheRead/1e6*V,cacheWrite:J.cost.cacheWrite/1e6*G,total:0}};return N.cost.total=N.cost.input+N.cost.output+N.cost.cacheRead+N.cost.cacheWrite,N}export{y as generateImages};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{bd as P,cd as J}from"./chunk-9tnfhrnh.js";import{Rd as V,Sd as W,Td as X}from"./chunk-w16jgdfx.js";import"./chunk-mgbqjbfc.js";var Y=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},Z=class{#h;#j=new k;#z;#H;constructor(h){this.#h={...h}}async init(){if(this.#z=this.#h.database,this.#H=new $(this.#z),this.#h.onCreateConnection)await this.#h.onCreateConnection(this.#H)}async acquireConnection(){return await this.#j.lock(),this.#H}async beginTransaction(h){await h.executeQuery(J.raw("begin"))}async commitTransaction(h){await h.executeQuery(J.raw("commit"))}async rollbackTransaction(h){await h.executeQuery(J.raw("rollback"))}async releaseConnection(){this.#j.unlock()}async destroy(){this.#z?.close()}},$=class{#h;constructor(h){this.#h=h}executeQuery(h){let{sql:z,parameters:H}=h,j=this.#h.prepare(z).all(...H);return Promise.resolve({rows:j})}async*streamQuery(){throw Error("Streaming query is not supported by SQLite driver.")}},k=class{#h;#j;async lock(){while(this.#h!==void 0)await this.#h;this.#h=new Promise((h)=>{this.#j=h})}unlock(){let h=this.#j;this.#h=void 0,this.#j=void 0,h?.()}},w=class{#h;constructor(h){this.#h=h}async getSchemas(){return[]}async getTables(h={withInternalKyselyTables:!1}){let z=this.#h.selectFrom("sqlite_schema").where("type","=","table").where("name","not like","sqlite_%").select("name").$castTo();if(!h.withInternalKyselyTables)z=z.where("name","!=",W).where("name","!=",X);let H=await z.execute();return Promise.all(H.map(({name:j})=>this.#j(j)))}async getMetadata(h){return{tables:await this.getTables(h)}}async#j(h){let z=this.#h,H=(await z.selectFrom("sqlite_master").where("name","=",h).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find((j)=>j.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g,"");return{name:h,columns:(await z.selectFrom(P`pragma_table_info(${h})`.as("table_info")).select(["name","type","notnull","dflt_value"]).execute()).map((j)=>({name:j.name,dataType:j.type,isNullable:!j.notnull,isAutoIncrementing:j.name===H,hasDefaultValue:j.dflt_value!=null})),isView:!0}}},K=class extends V{getCurrentParameterPlaceholder(){return"?"}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}},F=class{#h;constructor(h){this.#h={...h}}createDriver(){return new Z(this.#h)}createQueryCompiler(){return new K}createAdapter(){return new Y}createIntrospector(h){return new w(h)}};export{F as NodeSqliteDialect};
2
+ import{dd as P,ed as J}from"./chunk-bancgvrc.js";import{Td as V,Ud as W,Vd as X}from"./chunk-4bn9eb9h.js";import"./chunk-dej1gq35.js";var Y=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},Z=class{#h;#j=new k;#z;#H;constructor(h){this.#h={...h}}async init(){if(this.#z=this.#h.database,this.#H=new $(this.#z),this.#h.onCreateConnection)await this.#h.onCreateConnection(this.#H)}async acquireConnection(){return await this.#j.lock(),this.#H}async beginTransaction(h){await h.executeQuery(J.raw("begin"))}async commitTransaction(h){await h.executeQuery(J.raw("commit"))}async rollbackTransaction(h){await h.executeQuery(J.raw("rollback"))}async releaseConnection(){this.#j.unlock()}async destroy(){this.#z?.close()}},$=class{#h;constructor(h){this.#h=h}executeQuery(h){let{sql:z,parameters:H}=h,j=this.#h.prepare(z).all(...H);return Promise.resolve({rows:j})}async*streamQuery(){throw Error("Streaming query is not supported by SQLite driver.")}},k=class{#h;#j;async lock(){while(this.#h!==void 0)await this.#h;this.#h=new Promise((h)=>{this.#j=h})}unlock(){let h=this.#j;this.#h=void 0,this.#j=void 0,h?.()}},w=class{#h;constructor(h){this.#h=h}async getSchemas(){return[]}async getTables(h={withInternalKyselyTables:!1}){let z=this.#h.selectFrom("sqlite_schema").where("type","=","table").where("name","not like","sqlite_%").select("name").$castTo();if(!h.withInternalKyselyTables)z=z.where("name","!=",W).where("name","!=",X);let H=await z.execute();return Promise.all(H.map(({name:j})=>this.#j(j)))}async getMetadata(h){return{tables:await this.getTables(h)}}async#j(h){let z=this.#h,H=(await z.selectFrom("sqlite_master").where("name","=",h).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find((j)=>j.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g,"");return{name:h,columns:(await z.selectFrom(P`pragma_table_info(${h})`.as("table_info")).select(["name","type","notnull","dflt_value"]).execute()).map((j)=>({name:j.name,dataType:j.type,isNullable:!j.notnull,isAutoIncrementing:j.name===H,hasDefaultValue:j.dflt_value!=null})),isView:!0}}},K=class extends V{getCurrentParameterPlaceholder(){return"?"}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}},F=class{#h;constructor(h){this.#h={...h}}createDriver(){return new Z(this.#h)}createQueryCompiler(){return new K}createAdapter(){return new Y}createIntrospector(h){return new w(h)}};export{F as NodeSqliteDialect};
@@ -1,2 +1,2 @@
1
- import{Qf as A}from"./chunk-9hsfjqgq.js";import{$h as z,Oh as w,xh as v}from"./chunk-jt4yh37q.js";var B=(b)=>({queryKey:["projects",b],queryFn:async()=>{let h=await z.api.projects[":projectId"].$get({param:{projectId:b}});if(!h.ok)throw Error("failed to fetch project");return await h.json()}}),H=w("/projects/$projectId/")({loader:({context:{queryClient:b},params:{projectId:h}})=>b.ensureQueryData(B(h)),pendingComponent:()=>v(A,{})});
2
- export{B as Of,H as Pf};
1
+ import{Sf as A}from"./chunk-s0hgykza.js";import{Qh as w,bi as z,zh as v}from"./chunk-m6a4rzdt.js";var B=(b)=>({queryKey:["projects",b],queryFn:async()=>{let h=await z.api.projects[":projectId"].$get({param:{projectId:b}});if(!h.ok)throw Error("failed to fetch project");return await h.json()}}),H=w("/projects/$projectId/")({loader:({context:{queryClient:b},params:{projectId:h}})=>b.ensureQueryData(B(h)),pendingComponent:()=>v(A,{})});
2
+ export{B as Qf,H as Rf};