@phosart/devtool 0.2.68 → 0.3.0

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 (442) hide show
  1. package/build/client/editor/_app/immutable/assets/0.BgR4Ma1k.css +1 -0
  2. package/build/client/editor/_app/immutable/assets/0.BgR4Ma1k.css.br +0 -0
  3. package/build/client/editor/_app/immutable/assets/0.BgR4Ma1k.css.gz +0 -0
  4. package/build/client/editor/_app/immutable/assets/2.CQw26kp3.css +1 -0
  5. package/build/client/editor/_app/immutable/assets/2.CQw26kp3.css.br +0 -0
  6. package/build/client/editor/_app/immutable/assets/2.CQw26kp3.css.gz +0 -0
  7. package/build/client/editor/_app/immutable/chunks/2WC8KHrG.js +1 -0
  8. package/build/client/editor/_app/immutable/chunks/2WC8KHrG.js.br +2 -0
  9. package/build/client/editor/_app/immutable/chunks/2WC8KHrG.js.gz +0 -0
  10. package/build/client/editor/_app/immutable/chunks/{CpKCa_gu.js → 7z_tpSrq.js} +1 -1
  11. package/build/client/editor/_app/immutable/chunks/7z_tpSrq.js.br +0 -0
  12. package/build/client/editor/_app/immutable/chunks/7z_tpSrq.js.gz +0 -0
  13. package/build/client/editor/_app/immutable/chunks/{BOWzgE0W.js → ALQ1p0Uc.js} +1 -1
  14. package/build/client/editor/_app/immutable/chunks/ALQ1p0Uc.js.br +0 -0
  15. package/build/client/editor/_app/immutable/chunks/ALQ1p0Uc.js.gz +0 -0
  16. package/build/client/editor/_app/immutable/chunks/B7JzZcRj.js +1 -0
  17. package/build/client/editor/_app/immutable/chunks/B7JzZcRj.js.br +0 -0
  18. package/build/client/editor/_app/immutable/chunks/B7JzZcRj.js.gz +0 -0
  19. package/build/client/editor/_app/immutable/chunks/{DiGEiffF.js → BHdnHyTP.js} +1 -1
  20. package/build/client/editor/_app/immutable/chunks/BHdnHyTP.js.br +0 -0
  21. package/build/client/editor/_app/immutable/chunks/BHdnHyTP.js.gz +0 -0
  22. package/build/client/editor/_app/immutable/chunks/BJE6vWe4.js +1 -0
  23. package/build/client/editor/_app/immutable/chunks/BJE6vWe4.js.br +0 -0
  24. package/build/client/editor/_app/immutable/chunks/BJE6vWe4.js.gz +0 -0
  25. package/build/client/editor/_app/immutable/chunks/BMM0ht_N.js +2 -0
  26. package/build/client/editor/_app/immutable/chunks/BMM0ht_N.js.br +0 -0
  27. package/build/client/editor/_app/immutable/chunks/BMM0ht_N.js.gz +0 -0
  28. package/build/client/editor/_app/immutable/chunks/BQ1uDTpW.js +1 -0
  29. package/build/client/editor/_app/immutable/chunks/BQ1uDTpW.js.br +0 -0
  30. package/build/client/editor/_app/immutable/chunks/BQ1uDTpW.js.gz +0 -0
  31. package/build/client/editor/_app/immutable/chunks/BSlEf7xV.js +1 -0
  32. package/build/client/editor/_app/immutable/chunks/BSlEf7xV.js.br +0 -0
  33. package/build/client/editor/_app/immutable/chunks/BSlEf7xV.js.gz +0 -0
  34. package/build/client/editor/_app/immutable/chunks/BTpAajBD.js +12 -0
  35. package/build/client/editor/_app/immutable/chunks/BTpAajBD.js.br +0 -0
  36. package/build/client/editor/_app/immutable/chunks/BTpAajBD.js.gz +0 -0
  37. package/build/client/editor/_app/immutable/chunks/BTtfuoSF.js +1 -0
  38. package/build/client/editor/_app/immutable/chunks/BTtfuoSF.js.br +0 -0
  39. package/build/client/editor/_app/immutable/chunks/BTtfuoSF.js.gz +0 -0
  40. package/build/client/editor/_app/immutable/chunks/BZxi-V9T.js +1 -0
  41. package/build/client/editor/_app/immutable/chunks/BZxi-V9T.js.br +0 -0
  42. package/build/client/editor/_app/immutable/chunks/BZxi-V9T.js.gz +0 -0
  43. package/build/client/editor/_app/immutable/chunks/{DEkLMHay.js → BikxVL5z.js} +1 -1
  44. package/build/client/editor/_app/immutable/chunks/BikxVL5z.js.br +0 -0
  45. package/build/client/editor/_app/immutable/chunks/BikxVL5z.js.gz +0 -0
  46. package/build/client/editor/_app/immutable/chunks/{DhhrKZdn.js → BtvCwzt1.js} +1 -1
  47. package/build/client/editor/_app/immutable/chunks/BtvCwzt1.js.br +0 -0
  48. package/build/client/editor/_app/immutable/chunks/BtvCwzt1.js.gz +0 -0
  49. package/build/client/editor/_app/immutable/chunks/ButEISQV.js +1 -0
  50. package/build/client/editor/_app/immutable/chunks/ButEISQV.js.br +0 -0
  51. package/build/client/editor/_app/immutable/chunks/ButEISQV.js.gz +0 -0
  52. package/build/client/editor/_app/immutable/chunks/ByHdMmpw.js +1 -0
  53. package/build/client/editor/_app/immutable/chunks/ByHdMmpw.js.br +0 -0
  54. package/build/client/editor/_app/immutable/chunks/ByHdMmpw.js.gz +0 -0
  55. package/build/client/editor/_app/immutable/chunks/C90CMw-j.js +5 -0
  56. package/build/client/editor/_app/immutable/chunks/C90CMw-j.js.br +0 -0
  57. package/build/client/editor/_app/immutable/chunks/C90CMw-j.js.gz +0 -0
  58. package/build/client/editor/_app/immutable/chunks/{C1cA1OFW.js → C9yOFeOX.js} +1 -1
  59. package/build/client/editor/_app/immutable/chunks/C9yOFeOX.js.br +0 -0
  60. package/build/client/editor/_app/immutable/chunks/C9yOFeOX.js.gz +0 -0
  61. package/build/client/editor/_app/immutable/chunks/{FsbNKlUV.js → CZYLd901.js} +1 -1
  62. package/build/client/editor/_app/immutable/chunks/CZYLd901.js.br +0 -0
  63. package/build/client/editor/_app/immutable/chunks/CZYLd901.js.gz +0 -0
  64. package/build/client/editor/_app/immutable/chunks/{wabKUHyo.js → Cc8sq9kr.js} +1 -1
  65. package/build/client/editor/_app/immutable/chunks/Cc8sq9kr.js.br +0 -0
  66. package/build/client/editor/_app/immutable/chunks/Cc8sq9kr.js.gz +0 -0
  67. package/build/client/editor/_app/immutable/chunks/CkDosdno.js +1 -0
  68. package/build/client/editor/_app/immutable/chunks/CkDosdno.js.br +0 -0
  69. package/build/client/editor/_app/immutable/chunks/CkDosdno.js.gz +0 -0
  70. package/build/client/editor/_app/immutable/chunks/{Clqpx6Fc.js → CvGCHxqA.js} +3 -3
  71. package/build/client/editor/_app/immutable/chunks/CvGCHxqA.js.br +0 -0
  72. package/build/client/editor/_app/immutable/chunks/CvGCHxqA.js.gz +0 -0
  73. package/build/client/editor/_app/immutable/chunks/Cw0BW7nP.js +2 -0
  74. package/build/client/editor/_app/immutable/chunks/Cw0BW7nP.js.br +0 -0
  75. package/build/client/editor/_app/immutable/chunks/Cw0BW7nP.js.gz +0 -0
  76. package/build/client/editor/_app/immutable/chunks/{ysghqVTL.js → CyuBb-Yc.js} +1 -1
  77. package/build/client/editor/_app/immutable/chunks/CyuBb-Yc.js.br +0 -0
  78. package/build/client/editor/_app/immutable/chunks/CyuBb-Yc.js.gz +0 -0
  79. package/build/client/editor/_app/immutable/chunks/D318S5v0.js +1 -0
  80. package/build/client/editor/_app/immutable/chunks/D318S5v0.js.br +0 -0
  81. package/build/client/editor/_app/immutable/chunks/D318S5v0.js.gz +0 -0
  82. package/build/client/editor/_app/immutable/chunks/{DDbagcfB.js → DGJVDpSi.js} +1 -1
  83. package/build/client/editor/_app/immutable/chunks/DGJVDpSi.js.br +0 -0
  84. package/build/client/editor/_app/immutable/chunks/DGJVDpSi.js.gz +0 -0
  85. package/build/client/editor/_app/immutable/chunks/{Dvj4DoMA.js → DQyInuJY.js} +1 -1
  86. package/build/client/editor/_app/immutable/chunks/DQyInuJY.js.br +0 -0
  87. package/build/client/editor/_app/immutable/chunks/DQyInuJY.js.gz +0 -0
  88. package/build/client/editor/_app/immutable/chunks/{BNV8aWpA.js → DWAwFQ3Y.js} +1 -1
  89. package/build/client/editor/_app/immutable/chunks/DWAwFQ3Y.js.br +0 -0
  90. package/build/client/editor/_app/immutable/chunks/DWAwFQ3Y.js.gz +0 -0
  91. package/build/client/editor/_app/immutable/chunks/{Dod547Wj.js → DXPe1KZO.js} +1 -1
  92. package/build/client/editor/_app/immutable/chunks/DXPe1KZO.js.br +0 -0
  93. package/build/client/editor/_app/immutable/chunks/DXPe1KZO.js.gz +0 -0
  94. package/build/client/editor/_app/immutable/chunks/{CzKyBacq.js → DZjK_3Rj.js} +1 -1
  95. package/build/client/editor/_app/immutable/chunks/DZjK_3Rj.js.br +0 -0
  96. package/build/client/editor/_app/immutable/chunks/DZjK_3Rj.js.gz +0 -0
  97. package/build/client/editor/_app/immutable/chunks/D_uh7BRz.js +3 -0
  98. package/build/client/editor/_app/immutable/chunks/D_uh7BRz.js.br +0 -0
  99. package/build/client/editor/_app/immutable/chunks/D_uh7BRz.js.gz +0 -0
  100. package/build/client/editor/_app/immutable/chunks/DkP1XNYf.js +22 -0
  101. package/build/client/editor/_app/immutable/chunks/DkP1XNYf.js.br +0 -0
  102. package/build/client/editor/_app/immutable/chunks/DkP1XNYf.js.gz +0 -0
  103. package/build/client/editor/_app/immutable/chunks/{BmPG8j70.js → Dpelj1Uz.js} +1 -1
  104. package/build/client/editor/_app/immutable/chunks/Dpelj1Uz.js.br +0 -0
  105. package/build/client/editor/_app/immutable/chunks/Dpelj1Uz.js.gz +0 -0
  106. package/build/client/editor/_app/immutable/chunks/Dt5dFdUv.js +1 -0
  107. package/build/client/editor/_app/immutable/chunks/Dt5dFdUv.js.br +0 -0
  108. package/build/client/editor/_app/immutable/chunks/Dt5dFdUv.js.gz +0 -0
  109. package/build/client/editor/_app/immutable/chunks/_944w3sg.js +1 -0
  110. package/build/client/editor/_app/immutable/chunks/_944w3sg.js.br +0 -0
  111. package/build/client/editor/_app/immutable/chunks/_944w3sg.js.gz +0 -0
  112. package/build/client/editor/_app/immutable/chunks/{BFbS_uKR.js → gzHRGRHa.js} +1 -1
  113. package/build/client/editor/_app/immutable/chunks/gzHRGRHa.js.br +0 -0
  114. package/build/client/editor/_app/immutable/chunks/gzHRGRHa.js.gz +0 -0
  115. package/build/client/editor/_app/immutable/chunks/{MTeUycsA.js → uc0Ch2Ls.js} +1 -1
  116. package/build/client/editor/_app/immutable/chunks/uc0Ch2Ls.js.br +0 -0
  117. package/build/client/editor/_app/immutable/chunks/uc0Ch2Ls.js.gz +0 -0
  118. package/build/client/editor/_app/immutable/entry/app.D5BAe40u.js +2 -0
  119. package/build/client/editor/_app/immutable/entry/app.D5BAe40u.js.br +0 -0
  120. package/build/client/editor/_app/immutable/entry/app.D5BAe40u.js.gz +0 -0
  121. package/build/client/editor/_app/immutable/entry/start.Dbj3NEij.js +1 -0
  122. package/build/client/editor/_app/immutable/entry/start.Dbj3NEij.js.br +2 -0
  123. package/build/client/editor/_app/immutable/entry/start.Dbj3NEij.js.gz +0 -0
  124. package/build/client/editor/_app/immutable/nodes/0.B65QECOK.js +1 -0
  125. package/build/client/editor/_app/immutable/nodes/0.B65QECOK.js.br +0 -0
  126. package/build/client/editor/_app/immutable/nodes/0.B65QECOK.js.gz +0 -0
  127. package/build/client/editor/_app/immutable/nodes/1.BAYML0ZH.js +1 -0
  128. package/build/client/editor/_app/immutable/nodes/1.BAYML0ZH.js.br +2 -0
  129. package/build/client/editor/_app/immutable/nodes/1.BAYML0ZH.js.gz +0 -0
  130. package/build/client/editor/_app/immutable/nodes/2.ytJxQEKk.js +1 -0
  131. package/build/client/editor/_app/immutable/nodes/2.ytJxQEKk.js.br +0 -0
  132. package/build/client/editor/_app/immutable/nodes/2.ytJxQEKk.js.gz +0 -0
  133. package/build/client/editor/_app/immutable/nodes/3.Cqtx7x9a.js +1 -0
  134. package/build/client/editor/_app/immutable/nodes/3.Cqtx7x9a.js.br +0 -0
  135. package/build/client/editor/_app/immutable/nodes/3.Cqtx7x9a.js.gz +0 -0
  136. package/build/client/editor/_app/immutable/nodes/4.CZ2TjVb2.js +37 -0
  137. package/build/client/editor/_app/immutable/nodes/4.CZ2TjVb2.js.br +0 -0
  138. package/build/client/editor/_app/immutable/nodes/4.CZ2TjVb2.js.gz +0 -0
  139. package/build/client/editor/_app/immutable/nodes/5.D2aFuvBn.js +1 -0
  140. package/build/client/editor/_app/immutable/nodes/5.D2aFuvBn.js.br +0 -0
  141. package/build/client/editor/_app/immutable/nodes/5.D2aFuvBn.js.gz +0 -0
  142. package/build/client/editor/_app/immutable/nodes/6.BAIfGEbB.js +1 -0
  143. package/build/client/editor/_app/immutable/nodes/6.BAIfGEbB.js.br +0 -0
  144. package/build/client/editor/_app/immutable/nodes/6.BAIfGEbB.js.gz +0 -0
  145. package/build/client/editor/_app/immutable/nodes/7.CK8AbCDt.js +1 -0
  146. package/build/client/editor/_app/immutable/nodes/7.CK8AbCDt.js.br +0 -0
  147. package/build/client/editor/_app/immutable/nodes/7.CK8AbCDt.js.gz +0 -0
  148. package/build/client/editor/_app/version.json +1 -1
  149. package/build/client/editor/_app/version.json.br +0 -0
  150. package/build/client/editor/_app/version.json.gz +0 -0
  151. package/build/server/chunks/{0-BSK5opGv.js → 0-CVsgCYaw.js} +9 -8
  152. package/build/server/chunks/0-CVsgCYaw.js.map +1 -0
  153. package/build/server/chunks/1-CYZs6psN.js +9 -0
  154. package/build/server/chunks/1-CYZs6psN.js.map +1 -0
  155. package/build/server/chunks/{2-CXVg5EDG.js → 2-C2x_QvgF.js} +9 -8
  156. package/build/server/chunks/2-C2x_QvgF.js.map +1 -0
  157. package/build/server/chunks/{3-DQ17gh6a.js → 3-C6-Dhs4W.js} +3 -3
  158. package/build/server/chunks/3-C6-Dhs4W.js.map +1 -0
  159. package/build/server/chunks/{4-2jVZUs0V.js → 4-D0SS-kgp.js} +4 -4
  160. package/build/server/chunks/4-D0SS-kgp.js.map +1 -0
  161. package/build/server/chunks/{5-KRWLkgj4.js → 5--V98Qm5p.js} +3 -3
  162. package/build/server/chunks/5--V98Qm5p.js.map +1 -0
  163. package/build/server/chunks/{6-kp1tiXKf.js → 6-CtYpdu6J.js} +9 -8
  164. package/build/server/chunks/6-CtYpdu6J.js.map +1 -0
  165. package/build/server/chunks/7-CF8ZtwHm.js +35 -0
  166. package/build/server/chunks/7-CF8ZtwHm.js.map +1 -0
  167. package/build/server/chunks/{ActionButton-vALVNYy6.js → ActionButton-zFpFdWu0.js} +5 -5
  168. package/build/server/chunks/ActionButton-zFpFdWu0.js.map +1 -0
  169. package/build/server/chunks/AddImageButton-C4yniSzj.js +100 -0
  170. package/build/server/chunks/AddImageButton-C4yniSzj.js.map +1 -0
  171. package/build/server/chunks/{Checkbox-BMs5z3M6.js → Checkbox-CozDRCdr.js} +9 -9
  172. package/build/server/chunks/Checkbox-CozDRCdr.js.map +1 -0
  173. package/build/server/chunks/Layout-CCaz3zTu.js +217 -0
  174. package/build/server/chunks/Layout-CCaz3zTu.js.map +1 -0
  175. package/build/server/chunks/Modal-C0ES40l0.js +112 -0
  176. package/build/server/chunks/Modal-C0ES40l0.js.map +1 -0
  177. package/build/server/chunks/OriginalImage-C1Oocqz3.js +35 -0
  178. package/build/server/chunks/OriginalImage-C1Oocqz3.js.map +1 -0
  179. package/build/server/chunks/{SearchInput-1p6YrIBH.js → SearchInput-BgG4wOSi.js} +25 -24
  180. package/build/server/chunks/SearchInput-BgG4wOSi.js.map +1 -0
  181. package/build/server/chunks/{TagEdit-Ddkd6UkG.js → TagEdit-BqwP0FFi.js} +15 -16
  182. package/build/server/chunks/TagEdit-BqwP0FFi.js.map +1 -0
  183. package/build/server/chunks/{Tooltip-D76oRsU8.js → Tooltip-B5AhBaHE.js} +6 -6
  184. package/build/server/chunks/Tooltip-B5AhBaHE.js.map +1 -0
  185. package/build/server/chunks/{_layout.svelte-2KWCRjcD.js → _layout.svelte-B9sq7tUv.js} +65 -69
  186. package/build/server/chunks/_layout.svelte-B9sq7tUv.js.map +1 -0
  187. package/build/server/chunks/_page.svelte-C_kvT3BB.js +17970 -0
  188. package/build/server/chunks/_page.svelte-C_kvT3BB.js.map +1 -0
  189. package/build/server/chunks/_page.svelte-D178FMOD.js +805 -0
  190. package/build/server/chunks/_page.svelte-D178FMOD.js.map +1 -0
  191. package/build/server/chunks/{_page.svelte-V9EuDN4l.js → _page.svelte-DA6LdP5N.js} +28 -15
  192. package/build/server/chunks/_page.svelte-DA6LdP5N.js.map +1 -0
  193. package/build/server/chunks/_page.svelte-DdmTgcmI.js +168 -0
  194. package/build/server/chunks/_page.svelte-DdmTgcmI.js.map +1 -0
  195. package/build/server/chunks/_page.svelte-Qh29KMdS.js +411 -0
  196. package/build/server/chunks/_page.svelte-Qh29KMdS.js.map +1 -0
  197. package/build/server/chunks/_page.svelte-d4pEcCcc.js +591 -0
  198. package/build/server/chunks/_page.svelte-d4pEcCcc.js.map +1 -0
  199. package/build/server/chunks/{_server.ts-Lbj9p5U5.js → _server.ts-4CB_gvO3.js} +2 -2
  200. package/build/server/chunks/{_server.ts-Lbj9p5U5.js.map → _server.ts-4CB_gvO3.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-CwUKZOw0.js → _server.ts-4InKcvV0.js} +2 -2
  202. package/build/server/chunks/{_server.ts-CwUKZOw0.js.map → _server.ts-4InKcvV0.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-DKllrQ92.js → _server.ts-56AUug1F.js} +2 -2
  204. package/build/server/chunks/{_server.ts-DKllrQ92.js.map → _server.ts-56AUug1F.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-aQEmaso6.js → _server.ts-BDsjpmO7.js} +2 -2
  206. package/build/server/chunks/{_server.ts-aQEmaso6.js.map → _server.ts-BDsjpmO7.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-DBffY4vB.js → _server.ts-BH5Y8MeZ.js} +7 -6
  208. package/build/server/chunks/{_server.ts-DBffY4vB.js.map → _server.ts-BH5Y8MeZ.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-VxM8qlDT.js → _server.ts-BPnbv-YB.js} +7 -6
  210. package/build/server/chunks/_server.ts-BPnbv-YB.js.map +1 -0
  211. package/build/server/chunks/{_server.ts-OYdhWjAm.js → _server.ts-CDSLj_Cz.js} +2 -2
  212. package/build/server/chunks/{_server.ts-OYdhWjAm.js.map → _server.ts-CDSLj_Cz.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-CfZtA_PK.js → _server.ts-CLng4zD2.js} +2 -2
  214. package/build/server/chunks/{_server.ts-CfZtA_PK.js.map → _server.ts-CLng4zD2.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-D3Kn7ITK.js → _server.ts-CR7NpJz0.js} +2 -2
  216. package/build/server/chunks/{_server.ts-D3Kn7ITK.js.map → _server.ts-CR7NpJz0.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-K9h73FYX.js → _server.ts-CV5o78gm.js} +4 -2
  218. package/build/server/chunks/_server.ts-CV5o78gm.js.map +1 -0
  219. package/build/server/chunks/{_server.ts-DYp8i1IH.js → _server.ts-CiNTKgXl.js} +7 -6
  220. package/build/server/chunks/{_server.ts-DYp8i1IH.js.map → _server.ts-CiNTKgXl.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-DScwtPDh.js → _server.ts-CpKRML6n.js} +2 -2
  222. package/build/server/chunks/{_server.ts-DScwtPDh.js.map → _server.ts-CpKRML6n.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-DaG2SqbQ.js → _server.ts-D7rlRPg6.js} +2 -2
  224. package/build/server/chunks/{_server.ts-DaG2SqbQ.js.map → _server.ts-D7rlRPg6.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-LdnFfvoN.js → _server.ts-DJhLhLB4.js} +2 -2
  226. package/build/server/chunks/{_server.ts-LdnFfvoN.js.map → _server.ts-DJhLhLB4.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-DorcYvBp.js → _server.ts-Dg6dHcdH.js} +7 -6
  228. package/build/server/chunks/{_server.ts-DorcYvBp.js.map → _server.ts-Dg6dHcdH.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-4-hzH_go.js → _server.ts-DjCVj_-y.js} +2 -2
  230. package/build/server/chunks/{_server.ts-4-hzH_go.js.map → _server.ts-DjCVj_-y.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-Cb3dYCK4.js → _server.ts-S1gA65DS.js} +7 -6
  232. package/build/server/chunks/{_server.ts-Cb3dYCK4.js.map → _server.ts-S1gA65DS.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-KTRfxaLf.js → _server.ts-k0OCZsPt.js} +2 -2
  234. package/build/server/chunks/{_server.ts-KTRfxaLf.js.map → _server.ts-k0OCZsPt.js.map} +1 -1
  235. package/build/server/chunks/circle-x-pI9e3-ZY.js +39 -0
  236. package/build/server/chunks/circle-x-pI9e3-ZY.js.map +1 -0
  237. package/build/server/chunks/error.svelte-DR0HSUIK.js +12 -0
  238. package/build/server/chunks/error.svelte-DR0HSUIK.js.map +1 -0
  239. package/build/server/chunks/{exports-7ECo9oy7.js → exports-C9KHKwPe.js} +57 -3
  240. package/build/server/chunks/exports-C9KHKwPe.js.map +1 -0
  241. package/build/server/chunks/{galleryoverride.svelte-B-LzQrr2.js → galleryoverride.svelte-KeKQnrJx.js} +3 -3
  242. package/build/server/chunks/{galleryoverride.svelte-B-LzQrr2.js.map → galleryoverride.svelte-KeKQnrJx.js.map} +1 -1
  243. package/build/server/chunks/{galleryutil-CdWyR2BP.js → galleryutil-CNHfNYsK.js} +3 -2
  244. package/build/server/chunks/galleryutil-CNHfNYsK.js.map +1 -0
  245. package/build/server/chunks/index-ChycExq-.js +57 -0
  246. package/build/server/chunks/index-ChycExq-.js.map +1 -0
  247. package/build/server/chunks/{index-CoD1IJuy.js → index-lhTMmBNn.js} +20 -3
  248. package/build/server/chunks/index-lhTMmBNn.js.map +1 -0
  249. package/build/server/chunks/navbarstate.svelte-DDGU7WKW.js +6 -0
  250. package/build/server/chunks/navbarstate.svelte-DDGU7WKW.js.map +1 -0
  251. package/build/server/chunks/{url-DAcOnjX0.js → root-C9Hma45-.js} +3008 -2549
  252. package/build/server/chunks/root-C9Hma45-.js.map +1 -0
  253. package/build/server/chunks/{routing-DnQyokYQ.js → routing-DYQTvdBm.js} +2 -2
  254. package/build/server/chunks/{routing-DnQyokYQ.js.map → routing-DYQTvdBm.js.map} +1 -1
  255. package/build/server/chunks/server2-BkW4FhQy.js +28 -0
  256. package/build/server/chunks/server2-BkW4FhQy.js.map +1 -0
  257. package/build/server/chunks/trash-GBDhJwpj.js +77 -0
  258. package/build/server/chunks/trash-GBDhJwpj.js.map +1 -0
  259. package/build/server/chunks/{util-B37Rvgjl.js → util-DTbakmxX.js} +3 -22
  260. package/build/server/chunks/util-DTbakmxX.js.map +1 -0
  261. package/build/server/index.js +785 -542
  262. package/build/server/index.js.map +1 -1
  263. package/build/server/manifest.js +27 -27
  264. package/build/server/manifest.js.map +1 -1
  265. package/package.json +6 -1
  266. package/build/client/editor/_app/immutable/assets/0.CE-HU6_R.css +0 -1
  267. package/build/client/editor/_app/immutable/assets/0.CE-HU6_R.css.br +0 -0
  268. package/build/client/editor/_app/immutable/assets/0.CE-HU6_R.css.gz +0 -0
  269. package/build/client/editor/_app/immutable/chunks/7WIKTAP8.js +0 -1
  270. package/build/client/editor/_app/immutable/chunks/7WIKTAP8.js.br +0 -0
  271. package/build/client/editor/_app/immutable/chunks/7WIKTAP8.js.gz +0 -0
  272. package/build/client/editor/_app/immutable/chunks/BFbS_uKR.js.br +0 -0
  273. package/build/client/editor/_app/immutable/chunks/BFbS_uKR.js.gz +0 -0
  274. package/build/client/editor/_app/immutable/chunks/BNV8aWpA.js.br +0 -0
  275. package/build/client/editor/_app/immutable/chunks/BNV8aWpA.js.gz +0 -0
  276. package/build/client/editor/_app/immutable/chunks/BOWzgE0W.js.br +0 -0
  277. package/build/client/editor/_app/immutable/chunks/BOWzgE0W.js.gz +0 -0
  278. package/build/client/editor/_app/immutable/chunks/BZYFUfL0.js +0 -2
  279. package/build/client/editor/_app/immutable/chunks/BZYFUfL0.js.br +0 -0
  280. package/build/client/editor/_app/immutable/chunks/BZYFUfL0.js.gz +0 -0
  281. package/build/client/editor/_app/immutable/chunks/B_eqtYk0.js +0 -1
  282. package/build/client/editor/_app/immutable/chunks/B_eqtYk0.js.br +0 -0
  283. package/build/client/editor/_app/immutable/chunks/B_eqtYk0.js.gz +0 -0
  284. package/build/client/editor/_app/immutable/chunks/Be2MCKxf.js +0 -5
  285. package/build/client/editor/_app/immutable/chunks/Be2MCKxf.js.br +0 -0
  286. package/build/client/editor/_app/immutable/chunks/Be2MCKxf.js.gz +0 -0
  287. package/build/client/editor/_app/immutable/chunks/BmPG8j70.js.br +0 -0
  288. package/build/client/editor/_app/immutable/chunks/BmPG8j70.js.gz +0 -0
  289. package/build/client/editor/_app/immutable/chunks/C01s23Hz.js +0 -1
  290. package/build/client/editor/_app/immutable/chunks/C01s23Hz.js.br +0 -0
  291. package/build/client/editor/_app/immutable/chunks/C01s23Hz.js.gz +0 -0
  292. package/build/client/editor/_app/immutable/chunks/C1cA1OFW.js.br +0 -0
  293. package/build/client/editor/_app/immutable/chunks/C1cA1OFW.js.gz +0 -0
  294. package/build/client/editor/_app/immutable/chunks/C26Wy4GU.js +0 -1
  295. package/build/client/editor/_app/immutable/chunks/C26Wy4GU.js.br +0 -2
  296. package/build/client/editor/_app/immutable/chunks/C26Wy4GU.js.gz +0 -0
  297. package/build/client/editor/_app/immutable/chunks/CCJ98Hpm.js +0 -1
  298. package/build/client/editor/_app/immutable/chunks/CCJ98Hpm.js.br +0 -0
  299. package/build/client/editor/_app/immutable/chunks/CCJ98Hpm.js.gz +0 -0
  300. package/build/client/editor/_app/immutable/chunks/CG-KH9SH.js +0 -2
  301. package/build/client/editor/_app/immutable/chunks/CG-KH9SH.js.br +0 -0
  302. package/build/client/editor/_app/immutable/chunks/CG-KH9SH.js.gz +0 -0
  303. package/build/client/editor/_app/immutable/chunks/Cd00BVLy.js +0 -1
  304. package/build/client/editor/_app/immutable/chunks/Cd00BVLy.js.br +0 -0
  305. package/build/client/editor/_app/immutable/chunks/Cd00BVLy.js.gz +0 -0
  306. package/build/client/editor/_app/immutable/chunks/Cl2_suSZ.js +0 -1
  307. package/build/client/editor/_app/immutable/chunks/Cl2_suSZ.js.br +0 -0
  308. package/build/client/editor/_app/immutable/chunks/Cl2_suSZ.js.gz +0 -0
  309. package/build/client/editor/_app/immutable/chunks/Clqpx6Fc.js.br +0 -0
  310. package/build/client/editor/_app/immutable/chunks/Clqpx6Fc.js.gz +0 -0
  311. package/build/client/editor/_app/immutable/chunks/CpKCa_gu.js.br +0 -0
  312. package/build/client/editor/_app/immutable/chunks/CpKCa_gu.js.gz +0 -0
  313. package/build/client/editor/_app/immutable/chunks/CtvC2rTB.js +0 -1
  314. package/build/client/editor/_app/immutable/chunks/CtvC2rTB.js.br +0 -0
  315. package/build/client/editor/_app/immutable/chunks/CtvC2rTB.js.gz +0 -0
  316. package/build/client/editor/_app/immutable/chunks/CzKyBacq.js.br +0 -0
  317. package/build/client/editor/_app/immutable/chunks/CzKyBacq.js.gz +0 -0
  318. package/build/client/editor/_app/immutable/chunks/DDbagcfB.js.br +0 -0
  319. package/build/client/editor/_app/immutable/chunks/DDbagcfB.js.gz +0 -0
  320. package/build/client/editor/_app/immutable/chunks/DEkLMHay.js.br +0 -0
  321. package/build/client/editor/_app/immutable/chunks/DEkLMHay.js.gz +0 -0
  322. package/build/client/editor/_app/immutable/chunks/DI1C5o3m.js +0 -3
  323. package/build/client/editor/_app/immutable/chunks/DI1C5o3m.js.br +0 -0
  324. package/build/client/editor/_app/immutable/chunks/DI1C5o3m.js.gz +0 -0
  325. package/build/client/editor/_app/immutable/chunks/DIKDu5zG.js +0 -12
  326. package/build/client/editor/_app/immutable/chunks/DIKDu5zG.js.br +0 -0
  327. package/build/client/editor/_app/immutable/chunks/DIKDu5zG.js.gz +0 -0
  328. package/build/client/editor/_app/immutable/chunks/DMH-VYFG.js +0 -1
  329. package/build/client/editor/_app/immutable/chunks/DMH-VYFG.js.br +0 -0
  330. package/build/client/editor/_app/immutable/chunks/DMH-VYFG.js.gz +0 -0
  331. package/build/client/editor/_app/immutable/chunks/DhhrKZdn.js.br +0 -0
  332. package/build/client/editor/_app/immutable/chunks/DhhrKZdn.js.gz +0 -0
  333. package/build/client/editor/_app/immutable/chunks/DiGEiffF.js.br +0 -0
  334. package/build/client/editor/_app/immutable/chunks/DiGEiffF.js.gz +0 -0
  335. package/build/client/editor/_app/immutable/chunks/Dod547Wj.js.br +0 -0
  336. package/build/client/editor/_app/immutable/chunks/Dod547Wj.js.gz +0 -0
  337. package/build/client/editor/_app/immutable/chunks/Dvj4DoMA.js.br +0 -0
  338. package/build/client/editor/_app/immutable/chunks/Dvj4DoMA.js.gz +0 -0
  339. package/build/client/editor/_app/immutable/chunks/FsbNKlUV.js.br +0 -0
  340. package/build/client/editor/_app/immutable/chunks/FsbNKlUV.js.gz +0 -0
  341. package/build/client/editor/_app/immutable/chunks/L4YI7OnJ.js +0 -22
  342. package/build/client/editor/_app/immutable/chunks/L4YI7OnJ.js.br +0 -0
  343. package/build/client/editor/_app/immutable/chunks/L4YI7OnJ.js.gz +0 -0
  344. package/build/client/editor/_app/immutable/chunks/MTeUycsA.js.br +0 -0
  345. package/build/client/editor/_app/immutable/chunks/MTeUycsA.js.gz +0 -0
  346. package/build/client/editor/_app/immutable/chunks/PPVm8Dsz.js +0 -1
  347. package/build/client/editor/_app/immutable/chunks/PPVm8Dsz.js.br +0 -0
  348. package/build/client/editor/_app/immutable/chunks/PPVm8Dsz.js.gz +0 -0
  349. package/build/client/editor/_app/immutable/chunks/puykgk1P.js +0 -1
  350. package/build/client/editor/_app/immutable/chunks/puykgk1P.js.br +0 -0
  351. package/build/client/editor/_app/immutable/chunks/puykgk1P.js.gz +0 -0
  352. package/build/client/editor/_app/immutable/chunks/rKXfWAby.js +0 -1
  353. package/build/client/editor/_app/immutable/chunks/rKXfWAby.js.br +0 -0
  354. package/build/client/editor/_app/immutable/chunks/rKXfWAby.js.gz +0 -0
  355. package/build/client/editor/_app/immutable/chunks/vknWvHF8.js +0 -1
  356. package/build/client/editor/_app/immutable/chunks/vknWvHF8.js.br +0 -0
  357. package/build/client/editor/_app/immutable/chunks/vknWvHF8.js.gz +0 -0
  358. package/build/client/editor/_app/immutable/chunks/wabKUHyo.js.br +0 -0
  359. package/build/client/editor/_app/immutable/chunks/wabKUHyo.js.gz +0 -0
  360. package/build/client/editor/_app/immutable/chunks/ysghqVTL.js.br +0 -0
  361. package/build/client/editor/_app/immutable/chunks/ysghqVTL.js.gz +0 -0
  362. package/build/client/editor/_app/immutable/entry/app.CP3zlKbN.js +0 -2
  363. package/build/client/editor/_app/immutable/entry/app.CP3zlKbN.js.br +0 -0
  364. package/build/client/editor/_app/immutable/entry/app.CP3zlKbN.js.gz +0 -0
  365. package/build/client/editor/_app/immutable/entry/start.CFGseth5.js +0 -1
  366. package/build/client/editor/_app/immutable/entry/start.CFGseth5.js.br +0 -2
  367. package/build/client/editor/_app/immutable/entry/start.CFGseth5.js.gz +0 -0
  368. package/build/client/editor/_app/immutable/nodes/0.BmVvxYWP.js +0 -1
  369. package/build/client/editor/_app/immutable/nodes/0.BmVvxYWP.js.br +0 -0
  370. package/build/client/editor/_app/immutable/nodes/0.BmVvxYWP.js.gz +0 -0
  371. package/build/client/editor/_app/immutable/nodes/1.Bba_cBgx.js +0 -1
  372. package/build/client/editor/_app/immutable/nodes/1.Bba_cBgx.js.br +0 -0
  373. package/build/client/editor/_app/immutable/nodes/1.Bba_cBgx.js.gz +0 -0
  374. package/build/client/editor/_app/immutable/nodes/2.Cgkbi8ML.js +0 -1
  375. package/build/client/editor/_app/immutable/nodes/2.Cgkbi8ML.js.br +0 -0
  376. package/build/client/editor/_app/immutable/nodes/2.Cgkbi8ML.js.gz +0 -0
  377. package/build/client/editor/_app/immutable/nodes/3.rwH1OI4K.js +0 -1
  378. package/build/client/editor/_app/immutable/nodes/3.rwH1OI4K.js.br +0 -0
  379. package/build/client/editor/_app/immutable/nodes/3.rwH1OI4K.js.gz +0 -0
  380. package/build/client/editor/_app/immutable/nodes/4.DBOUNGQa.js +0 -2
  381. package/build/client/editor/_app/immutable/nodes/4.DBOUNGQa.js.br +0 -0
  382. package/build/client/editor/_app/immutable/nodes/4.DBOUNGQa.js.gz +0 -0
  383. package/build/client/editor/_app/immutable/nodes/5.CeHMeyFV.js +0 -1
  384. package/build/client/editor/_app/immutable/nodes/5.CeHMeyFV.js.br +0 -0
  385. package/build/client/editor/_app/immutable/nodes/5.CeHMeyFV.js.gz +0 -0
  386. package/build/client/editor/_app/immutable/nodes/6.DkEgF_rs.js +0 -1
  387. package/build/client/editor/_app/immutable/nodes/6.DkEgF_rs.js.br +0 -0
  388. package/build/client/editor/_app/immutable/nodes/6.DkEgF_rs.js.gz +0 -0
  389. package/build/client/editor/_app/immutable/nodes/7.DIWMVQ4S.js +0 -1
  390. package/build/client/editor/_app/immutable/nodes/7.DIWMVQ4S.js.br +0 -0
  391. package/build/client/editor/_app/immutable/nodes/7.DIWMVQ4S.js.gz +0 -0
  392. package/build/server/chunks/0-BSK5opGv.js.map +0 -1
  393. package/build/server/chunks/1-Mdhx-oEs.js +0 -9
  394. package/build/server/chunks/1-Mdhx-oEs.js.map +0 -1
  395. package/build/server/chunks/2-CXVg5EDG.js.map +0 -1
  396. package/build/server/chunks/3-DQ17gh6a.js.map +0 -1
  397. package/build/server/chunks/4-2jVZUs0V.js.map +0 -1
  398. package/build/server/chunks/5-KRWLkgj4.js.map +0 -1
  399. package/build/server/chunks/6-kp1tiXKf.js.map +0 -1
  400. package/build/server/chunks/7-DIYLAVeu.js +0 -35
  401. package/build/server/chunks/7-DIYLAVeu.js.map +0 -1
  402. package/build/server/chunks/ActionButton-vALVNYy6.js.map +0 -1
  403. package/build/server/chunks/Checkbox-BMs5z3M6.js.map +0 -1
  404. package/build/server/chunks/Modal-DaiQaG4-.js +0 -130
  405. package/build/server/chunks/Modal-DaiQaG4-.js.map +0 -1
  406. package/build/server/chunks/SearchInput-1p6YrIBH.js.map +0 -1
  407. package/build/server/chunks/TagEdit-Ddkd6UkG.js.map +0 -1
  408. package/build/server/chunks/TextBox-Bam4lYhA.js +0 -292
  409. package/build/server/chunks/TextBox-Bam4lYhA.js.map +0 -1
  410. package/build/server/chunks/Tooltip-D76oRsU8.js.map +0 -1
  411. package/build/server/chunks/_layout.svelte-2KWCRjcD.js.map +0 -1
  412. package/build/server/chunks/_page.svelte-Csn5PqWu.js +0 -1203
  413. package/build/server/chunks/_page.svelte-Csn5PqWu.js.map +0 -1
  414. package/build/server/chunks/_page.svelte-D3MfQIjp.js +0 -319
  415. package/build/server/chunks/_page.svelte-D3MfQIjp.js.map +0 -1
  416. package/build/server/chunks/_page.svelte-D91WMgZ8.js +0 -221
  417. package/build/server/chunks/_page.svelte-D91WMgZ8.js.map +0 -1
  418. package/build/server/chunks/_page.svelte-KTjPdsb4.js +0 -384
  419. package/build/server/chunks/_page.svelte-KTjPdsb4.js.map +0 -1
  420. package/build/server/chunks/_page.svelte-OOhjubE2.js +0 -142
  421. package/build/server/chunks/_page.svelte-OOhjubE2.js.map +0 -1
  422. package/build/server/chunks/_page.svelte-V9EuDN4l.js.map +0 -1
  423. package/build/server/chunks/_server.ts-K9h73FYX.js.map +0 -1
  424. package/build/server/chunks/_server.ts-VxM8qlDT.js.map +0 -1
  425. package/build/server/chunks/client-CHdX8mKQ.js +0 -31
  426. package/build/server/chunks/client-CHdX8mKQ.js.map +0 -1
  427. package/build/server/chunks/error.svelte-BvlPlxyo.js +0 -15
  428. package/build/server/chunks/error.svelte-BvlPlxyo.js.map +0 -1
  429. package/build/server/chunks/exports-7ECo9oy7.js.map +0 -1
  430. package/build/server/chunks/galleryutil-CdWyR2BP.js.map +0 -1
  431. package/build/server/chunks/index-CoD1IJuy.js.map +0 -1
  432. package/build/server/chunks/index-DeXr9LUC.js +0 -58
  433. package/build/server/chunks/index-DeXr9LUC.js.map +0 -1
  434. package/build/server/chunks/index2-kGSpwJ7x.js +0 -25
  435. package/build/server/chunks/index2-kGSpwJ7x.js.map +0 -1
  436. package/build/server/chunks/state.svelte-pSYW5Nat.js +0 -9
  437. package/build/server/chunks/state.svelte-pSYW5Nat.js.map +0 -1
  438. package/build/server/chunks/url-DAcOnjX0.js.map +0 -1
  439. package/build/server/chunks/util-B37Rvgjl.js.map +0 -1
  440. /package/build/client/editor/_app/immutable/assets/{TextBox.CXTVejeF.css → ImageEdit.CXTVejeF.css} +0 -0
  441. /package/build/client/editor/_app/immutable/assets/{TextBox.CXTVejeF.css.br → ImageEdit.CXTVejeF.css.br} +0 -0
  442. /package/build/client/editor/_app/immutable/assets/{TextBox.CXTVejeF.css.gz → ImageEdit.CXTVejeF.css.gz} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-d4pEcCcc.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.svelte.js"],"sourcesContent":["import { a as attr, b as attr_class, s as stringify, g as escape_html, c as attr_style, d as derived, j as spread_props, h as ensure_array_like, p as props_id, i as head } from \"../../chunks/root.js\";\nimport { g as goto, i as invalidateAll } from \"../../chunks/index.js\";\nimport { r as resolve } from \"../../chunks/server2.js\";\nimport { M as Modal, C as Collapsable } from \"../../chunks/Modal.js\";\nimport { C as Checkbox } from \"../../chunks/Checkbox.js\";\nimport { S as SearchInput, T as TextInput } from \"../../chunks/SearchInput.js\";\nimport { A as ActionButton } from \"../../chunks/ActionButton.js\";\nimport { a as isBaseGallery, c as copyPieces } from \"../../chunks/galleryutil.js\";\nimport { I as Icon, L as Layout, u as usePath } from \"../../chunks/Layout.js\";\nimport { arrayToShuffled } from \"array-shuffle\";\nimport { O as OriginalImage } from \"../../chunks/OriginalImage.js\";\nimport fz from \"fuzzysort\";\nfunction defaultCombine(a) {\n return a;\n}\nfunction asRecord(arr, key, combine) {\n const record = {};\n for (const val of arr) {\n const k = key(val);\n if (k in record) {\n record[k] = defaultCombine(record[k], val);\n } else {\n record[k] = val;\n }\n }\n return record;\n}\nfunction Tile($$renderer, $$props) {\n const { children, title, href, class: cls, onclick } = $$props;\n function inner($$renderer2) {\n $$renderer2.push(`<div${attr_class(`flex h-64 w-64 flex-wrap overflow-hidden rounded-2xl ${stringify(cls ?? \"\")}`, \"svelte-1s33icu\")}>`);\n children($$renderer2);\n $$renderer2.push(`<!----></div> <div class=\"nametag svelte-1s33icu\"><span>`);\n if (typeof title === \"string\") {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`${escape_html(title)}`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n title($$renderer2);\n $$renderer2.push(`<!---->`);\n }\n $$renderer2.push(`<!--]--></span></div>`);\n }\n if (href) {\n $$renderer.push(\"<!--[0-->\");\n $$renderer.push(`<a${attr(\"href\", href)} class=\"tile svelte-1s33icu\">`);\n inner($$renderer);\n $$renderer.push(`<!----></a>`);\n } else if (onclick) {\n $$renderer.push(\"<!--[1-->\");\n $$renderer.push(`<button class=\"tile svelte-1s33icu\">`);\n inner($$renderer);\n $$renderer.push(`<!----></button>`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n $$renderer.push(`<span class=\"tile svelte-1s33icu\">`);\n inner($$renderer);\n $$renderer.push(`<!----></span>`);\n }\n $$renderer.push(`<!--]-->`);\n}\nfunction GalleryPreview($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { gallery, cssSize, galleryPath } = $$props;\n const pieces = derived(() => arrayToShuffled(gallery.pieces).slice(0, 4));\n if (pieces()[0]) {\n $$renderer2.push(\"<!--[0-->\");\n const topw = pieces()[1] ? \"calc(var(--preview-size) / 2)\" : \"var(--preview-size)\";\n const toph = pieces()[2] ? \"calc(var(--preview-size) / 2)\" : \"var(--preview-size)\";\n const botw = pieces()[3] ? \"calc(var(--preview-size) / 2)\" : \"var(--preview-size)\";\n const both = \"calc(var(--preview-size) / 2)\";\n $$renderer2.push(`<div class=\"preview svelte-1iw7rpk\"${attr_style(`--preview-size: ${stringify(cssSize)}`)}><div${attr_style(`height: ${toph}; width: ${topw}`)}${attr_class(\"imgcontainer svelte-1iw7rpk\", void 0, { \"square\": topw === toph })}><div class=\"svelte-1iw7rpk\">`);\n OriginalImage($$renderer2, {\n class: pieces()[0].nsfw ? \"duration-300ms blur-sm transition-[filter] hover:blur-none hover:duration-[3s]\" : \"\",\n galleryPath: { gallery: galleryPath, piece: pieces()[0].slug }\n });\n $$renderer2.push(`<!----></div></div> `);\n if (pieces()[1]) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div${attr_style(`height: ${toph}; width: ${topw}`)}${attr_class(\"imgcontainer svelte-1iw7rpk\", void 0, { \"square\": topw === toph })}><div class=\"svelte-1iw7rpk\">`);\n OriginalImage($$renderer2, {\n class: pieces()[1].nsfw ? \"duration-300ms blur-sm transition-[filter] hover:blur-none hover:duration-[3s]\" : \"\",\n galleryPath: { gallery: galleryPath, piece: pieces()[1].slug }\n });\n $$renderer2.push(`<!----></div></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (pieces()[2]) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div${attr_style(`height: calc(var(--preview-size) / 2); width: ${botw}`)}${attr_class(\"imgcontainer svelte-1iw7rpk\", void 0, { \"square\": botw === both })}><div class=\"svelte-1iw7rpk\">`);\n OriginalImage($$renderer2, {\n class: pieces()[2].nsfw ? \"duration-300ms blur-sm transition-[filter] hover:blur-none hover:duration-[3s]\" : \"\",\n galleryPath: { gallery: galleryPath, piece: pieces()[2].slug }\n });\n $$renderer2.push(`<!----></div></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (pieces()[3]) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div${attr_style(`height: calc(var(--preview-size) / 2); width: ${botw}`)}${attr_class(\"imgcontainer svelte-1iw7rpk\", void 0, { \"square\": botw === both })}><div class=\"svelte-1iw7rpk\">`);\n OriginalImage($$renderer2, {\n class: pieces()[3].nsfw ? \"duration-300ms blur-sm transition-[filter] hover:blur-none hover:duration-[3s]\" : \"\",\n galleryPath: { gallery: galleryPath, piece: pieces()[3].slug }\n });\n $$renderer2.push(`<!----></div></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction GalleryTile($$renderer, $$props) {\n const { galleryPath, name, gallery, href, px = 256 } = $$props;\n $$renderer.push(`<div class=\"flex justify-center\">`);\n Tile($$renderer, {\n href,\n title: name,\n children: ($$renderer2) => {\n GalleryPreview($$renderer2, { cssSize: `${stringify(px)}px`, gallery, galleryPath });\n }\n });\n $$renderer.push(`<!----></div>`);\n}\nfunction qsearch(search, arr, ...key) {\n if (!search) {\n return arr;\n }\n return fz.go(search, arr, { keys: key, threshold: 0.3 }).map((res) => res.obj);\n}\nfunction qsearchObj(search, obj, ...key) {\n if (!search) {\n return obj;\n }\n return Object.fromEntries(qsearch(search, Object.entries(obj), ...key.map((f) => ([k, v]) => f(v, k))));\n}\nfunction Cable($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z\"\n }\n ],\n [\"path\", { \"d\": \"M17 21v-2\" }],\n [\n \"path\",\n { \"d\": \"M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10\" }\n ],\n [\"path\", { \"d\": \"M21 21v-2\" }],\n [\"path\", { \"d\": \"M3 5V3\" }],\n [\n \"path\",\n {\n \"d\": \"M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z\"\n }\n ],\n [\"path\", { \"d\": \"M7 5V3\" }]\n ];\n Icon($$renderer2, spread_props([\n { name: \"cable\" },\n /**\n * @component @name Cable\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgMTlhMSAxIDAgMCAxLTEtMXYtMmEyIDIgMCAwIDEgMi0yaDJhMiAyIDAgMCAxIDIgMnYyYTEgMSAwIDAgMS0xIDF6IiAvPgogIDxwYXRoIGQ9Ik0xNyAyMXYtMiIgLz4KICA8cGF0aCBkPSJNMTkgMTRWNi41YTEgMSAwIDAgMC03IDB2MTFhMSAxIDAgMCAxLTcgMFYxMCIgLz4KICA8cGF0aCBkPSJNMjEgMjF2LTIiIC8+CiAgPHBhdGggZD0iTTMgNVYzIiAvPgogIDxwYXRoIGQ9Ik00IDEwYTIgMiAwIDAgMS0yLTJWNmExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYyYTIgMiAwIDAgMS0yIDJ6IiAvPgogIDxwYXRoIGQ9Ik03IDVWMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/cable\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Folder_plus($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\"path\", { \"d\": \"M12 10v6\" }],\n [\"path\", { \"d\": \"M9 13h6\" }],\n [\n \"path\",\n {\n \"d\": \"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\"\n }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"folder-plus\" },\n /**\n * @component @name FolderPlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTB2NiIgLz4KICA8cGF0aCBkPSJNOSAxM2g2IiAvPgogIDxwYXRoIGQ9Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-plus\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Folder($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n {\n \"d\": \"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\"\n }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"folder\" },\n /**\n * @component @name Folder\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/folder\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction Images($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { $$slots, $$events, ...props } = $$props;\n const iconNode = [\n [\n \"path\",\n { \"d\": \"m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16\" }\n ],\n [\n \"path\",\n { \"d\": \"M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2\" }\n ],\n [\n \"circle\",\n { \"cx\": \"13\", \"cy\": \"7\", \"r\": \"1\", \"fill\": \"currentColor\" }\n ],\n [\n \"rect\",\n { \"x\": \"8\", \"y\": \"2\", \"width\": \"14\", \"height\": \"14\", \"rx\": \"2\" }\n ]\n ];\n Icon($$renderer2, spread_props([\n { name: \"images\" },\n /**\n * @component @name Images\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjIgMTEtMS4yOTYtMS4yOTZhMi40IDIuNCAwIDAgMC0zLjQwOCAwTDExIDE2IiAvPgogIDxwYXRoIGQ9Ik00IDhhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDEwYTIgMiAwIDAgMCAyLTIiIC8+CiAgPGNpcmNsZSBjeD0iMTMiIGN5PSI3IiByPSIxIiBmaWxsPSJjdXJyZW50Q29sb3IiIC8+CiAgPHJlY3QgeD0iOCIgeT0iMiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiByeD0iMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/images\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n props,\n {\n iconNode,\n children: ($$renderer3) => {\n props.children?.($$renderer3);\n $$renderer3.push(`<!---->`);\n },\n $$slots: { default: true }\n }\n ]));\n });\n}\nfunction DirectoryList($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { tree, path, search } = $$props;\n const folders = derived(() => qsearchObj(search, Object.fromEntries(Object.entries(tree.structure).filter((v) => v[1].$type === \"folder\")), (_, k) => k));\n const galleries = derived(() => qsearchObj(search, Object.fromEntries(Object.entries(tree.structure).filter((v) => v[1].$type === \"gallery\")), (_, k) => k));\n $$renderer2.push(`<div><div class=\"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4\"><!--[-->`);\n const each_array = ensure_array_like(Object.entries(folders()));\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let [k, v] = each_array[$$index];\n const empty = Object.keys(v.structure).length == 0;\n $$renderer2.push(`<a${attr_class(\"btn flex items-center preset-outlined-surface-950-50 p-2 whitespace-normal\", void 0, { \"font-extralight\": empty, \"text-gray-500\": empty })}${attr(\"href\", resolve(\"/\") + \"?\" + String(new URLSearchParams({ path: [...path, k].join(\"/\") })))}>`);\n Folder($$renderer2, {});\n $$renderer2.push(`<!----> ${escape_html(k)}`);\n if (empty) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(` (empty)`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></a>`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_1 = ensure_array_like(Object.entries(galleries()));\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let [k, v] = each_array_1[$$index_1];\n if (v.$type === \"gallery\" && !v.isBase) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<a class=\"btn flex items-center preset-outlined-surface-950-50 p-2\"${attr(\"href\", resolve(\"/gallery/[...gallerypath]\", { gallerypath: [...path, k].join(\"/\") }))}>`);\n Cable($$renderer2, {});\n $$renderer2.push(`<!----> ${escape_html(k)}</a>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></div> <div class=\"mt-8 grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4\"><!--[-->`);\n const each_array_2 = ensure_array_like(Object.entries(galleries()));\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let [k, v] = each_array_2[$$index_2];\n const galname = k.replace(/\\.gallery$/, \"\");\n if (v.$type === \"gallery\" && v.isBase) {\n $$renderer2.push(\"<!--[0-->\");\n GalleryTile($$renderer2, {\n name: galname,\n galleryPath: [...path, k].join(\"/\"),\n gallery: v.data,\n href: resolve(\"/gallery/[...gallerypath]\", { gallerypath: [...path, k].join(\"/\") })\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const id = props_id($$renderer2);\n const { data } = $$props;\n let newName = \"\";\n let isExtendedGallery = false;\n const fpath = derived(usePath);\n let search = \"\";\n let copyPath = \"\";\n function fldr(item) {\n if (item.$type !== \"folder\") {\n throw new Error(\"RIP\");\n }\n return item;\n }\n function gotoPath(tree, fpath2) {\n while (fpath2.length > 0) {\n tree = fldr(tree.structure[fpath2[0]]);\n fpath2 = fpath2.slice(1);\n }\n return tree;\n }\n function controls($$renderer3, path) {\n $$renderer3.push(`<div class=\"mb-4 flex gap-x-1\">`);\n {\n let icon = function($$renderer4) {\n Folder_plus($$renderer4, { size: \"8pt\" });\n }, children = function($$renderer4, close) {\n $$renderer4.push(`<div class=\"m-4\">`);\n TextInput($$renderer4, {\n label: \"Folder name\",\n get value() {\n return newName;\n },\n set value($$value) {\n newName = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n ActionButton($$renderer4, {\n disabled: !newName,\n action: async () => {\n await fetch(resolve(\"/api/folder/[...folderpath]\", { folderpath: [...path, newName].join(\"/\") }), { method: \"PATCH\" });\n await invalidateAll();\n close();\n },\n unstyled: true,\n class: \"btn w-full preset-filled-primary-500\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Create`);\n }\n });\n $$renderer4.push(`<!----></div>`);\n };\n Modal($$renderer3, {\n title: \"New Folder\",\n onClose: () => void (newName = \"\"),\n class: \"preset-outlined-primary-50-950 bg-surface-300-700\",\n icon,\n children,\n $$slots: { icon: true, default: true }\n });\n }\n $$renderer3.push(`<!----> `);\n {\n let icon = function($$renderer4) {\n Images($$renderer4, { size: \"8pt\" });\n }, children = function($$renderer4, close) {\n $$renderer4.push(`<div class=\"m-4\">`);\n TextInput($$renderer4, {\n label: \"Gallery Name\",\n get value() {\n return newName;\n },\n set value($$value) {\n newName = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n ActionButton($$renderer4, {\n disabled: !newName,\n action: async () => {\n const target = [...path, newName + \".gallery\"].join(\"/\");\n let pieces = [];\n const copied = data.galleries[copyPath];\n if (!isExtendedGallery && copied && isBaseGallery(copied)) {\n pieces = await copyPieces(copied.pieces, copyPath, target);\n }\n await fetch(resolve(\"/api/gallery/[...gallerypath]/save\", { gallerypath: target }), {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(isExtendedGallery ? { $extends: [] } : { pieces })\n });\n await invalidateAll();\n close();\n },\n unstyled: true,\n class: \"btn w-full preset-filled-primary-500\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Create`);\n }\n });\n $$renderer4.push(`<!----> `);\n Collapsable($$renderer4, {\n title: \"Advanced\",\n class: \"mt-4\",\n children: ($$renderer5) => {\n Checkbox($$renderer5, {\n label: \"Is extended gallery\",\n get checked() {\n return isExtendedGallery;\n },\n set checked($$value) {\n isExtendedGallery = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> <div class=\"my-4\"></div> <div class=\"flex items-center gap-x-3\">`);\n TextInput($$renderer5, {\n label: \"Copy From...\",\n disabled: isExtendedGallery,\n options: Object.keys(data.galleries).filter((k) => isBaseGallery(data.galleries[k])),\n noReportValidation: true,\n validationError: copyPath !== \"\" && !data.galleries[copyPath] ? \"Select a valid path\" : void 0,\n get value() {\n return copyPath;\n },\n set value($$value) {\n copyPath = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> ${escape_html(data.galleries[copyPath] ? \"✅\" : \"❌\")}</div>`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----></div>`);\n };\n Modal($$renderer3, {\n title: \"New Gallery\",\n onClose: () => {\n newName = \"\";\n isExtendedGallery = false;\n },\n class: \"preset-filled-primary-50-950\",\n icon,\n children,\n $$slots: { icon: true, default: true }\n });\n }\n $$renderer3.push(`<!----></div>`);\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n head(\"1uha8ag\", $$renderer3, ($$renderer4) => {\n $$renderer4.title(($$renderer5) => {\n $$renderer5.push(`<title>Art Site Editor</title>`);\n });\n });\n {\n let navRight = function($$renderer4) {\n $$renderer4.push(`<div class=\"my-4 flex max-w-64 grow items-center gap-x-2 pr-4\"><label${attr(\"for\", `${id}-search-box`)}><i class=\"fa-solid fa-search\"></i></label> <div class=\"relative flex grow overflow-visible\">`);\n SearchInput($$renderer4, {\n id: `${id}-search-box`,\n autoFocus: true,\n class: \"input h-8 w-0 grow\",\n noReportValidation: true,\n acceptSuggestionOnEnter: true,\n validationError: search !== \"\" && !data.galleryPaths.includes(search) ? \"invalid path\" : void 0,\n options: asRecord(data.galleryPaths ?? [], (p) => p),\n onSelect: (s) => {\n if (data.galleryPaths.includes(s)) {\n goto(resolve(\"/gallery/[...gallerypath]\", { gallerypath: s }));\n }\n },\n get search() {\n return search;\n },\n set search($$value) {\n search = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----></div></div>`);\n };\n Layout($$renderer3, {\n title: \"Galleries\",\n breadcrumbs: true,\n navRight,\n children: ($$renderer4) => {\n DirectoryList($$renderer4, { path: fpath(), tree: gotoPath(data.tree, fpath()) });\n $$renderer4.push(`<!----> <div class=\"absolute right-3 bottom-0\">`);\n controls($$renderer4, fpath());\n $$renderer4.push(`<!----></div>`);\n }\n });\n }\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { j as json } from './index-CoD1IJuy.js';
1
+ import { j as json } from './index-lhTMmBNn.js';
2
2
  import { r as readSkipSet, w as writeSkipSet } from './cache-BUlT0Syl.js';
3
3
  import { c as createLogger } from './log-Dgdg632G.js';
4
4
  import '@phosart/common/server';
@@ -28,4 +28,4 @@ const PUT = async ({ params }) => {
28
28
  };
29
29
 
30
30
  export { DELETE, PUT };
31
- //# sourceMappingURL=_server.ts-Lbj9p5U5.js.map
31
+ //# sourceMappingURL=_server.ts-4CB_gvO3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Lbj9p5U5.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/bluesky/mark/_...gallerypath_/_hash_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { r as readSkipSet, w as writeSkipSet } from \"../../../../../../../chunks/cache.js\";\nimport { c as createLogger } from \"../../../../../../../chunks/log.js\";\nconst logger = createLogger();\nconst DELETE = async ({ params }) => {\n logger.debug(\"Removing skipset hash\", params.hash, \"@\", params.gallerypath, \"...\");\n const ss = await readSkipSet();\n ss[params.gallerypath] = ss[params.gallerypath] ?? /* @__PURE__ */ new Set();\n ss[params.gallerypath].delete(params.hash);\n await writeSkipSet(ss);\n logger.info(\"Removed skipset hash\", params.hash, \"@\", params.gallerypath);\n return json({ ok: true });\n};\nconst PUT = async ({ params }) => {\n logger.debug(\"Adding skipset hash\", params.hash, \"@\", params.gallerypath, \"...\");\n const ss = await readSkipSet();\n ss[params.gallerypath] = ss[params.gallerypath] ?? /* @__PURE__ */ new Set();\n ss[params.gallerypath].add(params.hash);\n await writeSkipSet(ss);\n logger.info(\"Added skipset hash\", params.hash, \"@\", params.gallerypath);\n return json({ ok: true });\n};\nexport {\n DELETE,\n PUT\n};\n"],"names":[],"mappings":";;;;;;;;;AAGA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACrC,EAAE,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;AACpF,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAChC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,IAAI,GAAG,EAAE;AAC9E,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAC5C,EAAE,MAAM,YAAY,CAAC,EAAE,CAAC;AACxB,EAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;AAC3E,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;AAClF,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAChC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,IAAI,GAAG,EAAE;AAC9E,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,MAAM,YAAY,CAAC,EAAE,CAAC;AACxB,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;AACzE,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
1
+ {"version":3,"file":"_server.ts-4CB_gvO3.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/bluesky/mark/_...gallerypath_/_hash_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { r as readSkipSet, w as writeSkipSet } from \"../../../../../../../chunks/cache.js\";\nimport { c as createLogger } from \"../../../../../../../chunks/log.js\";\nconst logger = createLogger();\nconst DELETE = async ({ params }) => {\n logger.debug(\"Removing skipset hash\", params.hash, \"@\", params.gallerypath, \"...\");\n const ss = await readSkipSet();\n ss[params.gallerypath] = ss[params.gallerypath] ?? /* @__PURE__ */ new Set();\n ss[params.gallerypath].delete(params.hash);\n await writeSkipSet(ss);\n logger.info(\"Removed skipset hash\", params.hash, \"@\", params.gallerypath);\n return json({ ok: true });\n};\nconst PUT = async ({ params }) => {\n logger.debug(\"Adding skipset hash\", params.hash, \"@\", params.gallerypath, \"...\");\n const ss = await readSkipSet();\n ss[params.gallerypath] = ss[params.gallerypath] ?? /* @__PURE__ */ new Set();\n ss[params.gallerypath].add(params.hash);\n await writeSkipSet(ss);\n logger.info(\"Added skipset hash\", params.hash, \"@\", params.gallerypath);\n return json({ ok: true });\n};\nexport {\n DELETE,\n PUT\n};\n"],"names":[],"mappings":";;;;;;;;;AAGA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACrC,EAAE,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;AACpF,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAChC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,IAAI,GAAG,EAAE;AAC9E,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAC5C,EAAE,MAAM,YAAY,CAAC,EAAE,CAAC;AACxB,EAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;AAC3E,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC;AAClF,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAChC,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,IAAI,GAAG,EAAE;AAC9E,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,MAAM,YAAY,CAAC,EAAE,CAAC;AACxB,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;AACzE,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { rawCharacters, clearCache, RawCharacter, $ART } from '@phosart/common/server';
2
2
  import path from 'node:path';
3
- import { j as json } from './index-CoD1IJuy.js';
3
+ import { j as json } from './index-lhTMmBNn.js';
4
4
  import { stringify } from 'yaml';
5
5
  import { writeFile } from 'node:fs/promises';
6
6
  import z from 'zod';
@@ -61,4 +61,4 @@ function getReferences(character) {
61
61
  }
62
62
 
63
63
  export { POST };
64
- //# sourceMappingURL=_server.ts-CwUKZOw0.js.map
64
+ //# sourceMappingURL=_server.ts-4InKcvV0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CwUKZOw0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/characters/save/_server.ts.js"],"sourcesContent":["import { RawCharacter, rawCharacters, clearCache, $ART } from \"@phosart/common/server\";\nimport path from \"node:path\";\nimport { json } from \"@sveltejs/kit\";\nimport { stringify } from \"yaml\";\nimport { writeFile } from \"node:fs/promises\";\nimport z from \"zod\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nimport { d as deleteResources } from \"../../../../../chunks/fileutil.js\";\nimport { s as signalWork } from \"../../../../../chunks/worker.js\";\nconst logger = createLogger();\nconst ZCharacters = z.array(RawCharacter);\nconst POST = async ({ request }) => {\n const characters = await ZCharacters.parseAsync(await request.json());\n const old = await rawCharacters();\n logger.info(\"Saving characters:\", characters.length, \"entries...\");\n await saveCharacters(characters);\n const deletedRefs = getDiffedReferences(Object.values(old), characters);\n if (deletedRefs.size > 0) {\n logger.warn(\"Found\", deletedRefs.size, \"deleted image reference(s). Deleting them\");\n await deleteResources([...deletedRefs]);\n }\n clearCache();\n logger.info(\"Saved characters\");\n signalWork();\n return json({ ok: true });\n};\nasync function saveCharacters(characters) {\n const charactersYaml = path.join($ART(), \"characters\", \"characters.yaml\");\n logger.silly(\"Writing characters yaml @\", charactersYaml, \"...\");\n const yaml = stringify(characters, {\n blockQuote: true,\n collectionStyle: \"block\",\n defaultKeyType: \"PLAIN\",\n defaultStringType: \"PLAIN\",\n indent: 2\n });\n await writeFile(charactersYaml, yaml, { encoding: \"utf-8\" });\n logger.debug(\"Wrote characters yaml @\", charactersYaml);\n}\nfunction getDiffedReferences(oldCharacters, newCharacters) {\n const oldRefs = getAllReferences(oldCharacters);\n const newRefs = getAllReferences(newCharacters);\n return oldRefs.difference(newRefs);\n}\nfunction getAllReferences(characters) {\n const refs = /* @__PURE__ */ new Set();\n characters.flatMap(getReferences).forEach(refs.add.bind(refs));\n return refs;\n}\nfunction getReferences(character) {\n const references = [];\n const basePath = path.resolve(path.join($ART(), \"characters\"));\n references.push(path.resolve(path.join(basePath, character.picture.image)));\n if (character.thumbnail) {\n references.push(path.resolve(path.join(basePath, character.thumbnail.image)));\n }\n return references;\n}\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-4InKcvV0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/characters/save/_server.ts.js"],"sourcesContent":["import { RawCharacter, rawCharacters, clearCache, $ART } from \"@phosart/common/server\";\nimport path from \"node:path\";\nimport { json } from \"@sveltejs/kit\";\nimport { stringify } from \"yaml\";\nimport { writeFile } from \"node:fs/promises\";\nimport z from \"zod\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nimport { d as deleteResources } from \"../../../../../chunks/fileutil.js\";\nimport { s as signalWork } from \"../../../../../chunks/worker.js\";\nconst logger = createLogger();\nconst ZCharacters = z.array(RawCharacter);\nconst POST = async ({ request }) => {\n const characters = await ZCharacters.parseAsync(await request.json());\n const old = await rawCharacters();\n logger.info(\"Saving characters:\", characters.length, \"entries...\");\n await saveCharacters(characters);\n const deletedRefs = getDiffedReferences(Object.values(old), characters);\n if (deletedRefs.size > 0) {\n logger.warn(\"Found\", deletedRefs.size, \"deleted image reference(s). Deleting them\");\n await deleteResources([...deletedRefs]);\n }\n clearCache();\n logger.info(\"Saved characters\");\n signalWork();\n return json({ ok: true });\n};\nasync function saveCharacters(characters) {\n const charactersYaml = path.join($ART(), \"characters\", \"characters.yaml\");\n logger.silly(\"Writing characters yaml @\", charactersYaml, \"...\");\n const yaml = stringify(characters, {\n blockQuote: true,\n collectionStyle: \"block\",\n defaultKeyType: \"PLAIN\",\n defaultStringType: \"PLAIN\",\n indent: 2\n });\n await writeFile(charactersYaml, yaml, { encoding: \"utf-8\" });\n logger.debug(\"Wrote characters yaml @\", charactersYaml);\n}\nfunction getDiffedReferences(oldCharacters, newCharacters) {\n const oldRefs = getAllReferences(oldCharacters);\n const newRefs = getAllReferences(newCharacters);\n return oldRefs.difference(newRefs);\n}\nfunction getAllReferences(characters) {\n const refs = /* @__PURE__ */ new Set();\n characters.flatMap(getReferences).forEach(refs.add.bind(refs));\n return refs;\n}\nfunction getReferences(character) {\n const references = [];\n const basePath = path.resolve(path.join($ART(), \"characters\"));\n references.push(path.resolve(path.join(basePath, character.picture.image)));\n if (character.thumbnail) {\n references.push(path.resolve(path.join(basePath, character.thumbnail.image)));\n }\n return references;\n}\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { j as json } from './index-CoD1IJuy.js';
1
+ import { j as json } from './index-lhTMmBNn.js';
2
2
  import { r as readSkipSet, w as writeSkipSet } from './cache-BUlT0Syl.js';
3
3
  import { c as createLogger } from './log-Dgdg632G.js';
4
4
  import '@phosart/common/server';
@@ -49,4 +49,4 @@ const DELETE = async ({ url }) => {
49
49
  };
50
50
 
51
51
  export { DELETE, PATCH };
52
- //# sourceMappingURL=_server.ts-DKllrQ92.js.map
52
+ //# sourceMappingURL=_server.ts-56AUug1F.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DKllrQ92.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/bluesky/mark/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { r as readSkipSet, w as writeSkipSet } from \"../../../../../chunks/cache.js\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nconst logger = createLogger();\nconst PATCH = async ({ url, request }) => {\n const body = await request.json();\n const gpath = url.searchParams.get(\"gallerypath\");\n if (gpath) {\n logger.debug(\n \"Adding\",\n body.length,\n \"skipset entries for gallery @\",\n gpath,\n \"...\"\n );\n const ss = await readSkipSet();\n ss[gpath] = /* @__PURE__ */ new Set([...body, ...ss[gpath] ?? []]);\n await writeSkipSet(ss);\n logger.info(\"Updated skipset for gallery @\", gpath);\n return json({ ok: true });\n }\n logger.debug(\"Replacing entire skipset...\");\n await writeSkipSet(Object.fromEntries(Object.entries(body).map(([k, v]) => [k, new Set(v)])));\n logger.info(\"Replaced entire skipset\");\n return json({ ok: true });\n};\nconst DELETE = async ({ url }) => {\n const gpath = url.searchParams.get(\"gallerypath\");\n if (gpath) {\n logger.debug(\"Removing skipset for gallery @\", gpath, \"...\");\n const ss = await readSkipSet();\n if (gpath in ss) {\n delete ss[gpath];\n }\n await writeSkipSet(ss);\n logger.info(\"Removed skipset for gallery @\", gpath);\n return json({ ok: true });\n }\n logger.info(\"Clearing entire skipset...\");\n await writeSkipSet({});\n logger.info(\"Cleared entire skipset\");\n return json({ ok: true });\n};\nexport {\n DELETE,\n PATCH\n};\n"],"names":[],"mappings":";;;;;;;;;AAGA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,KAAK,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AAC1C,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;AACnD,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,MAAM,CAAC,KAAK;AAChB,MAAM,QAAQ;AACd,MAAM,IAAI,CAAC,MAAM;AACjB,MAAM,+BAA+B;AACrC,MAAM,KAAK;AACX,MAAM;AACN,KAAK;AACL,IAAI,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAClC,IAAI,EAAE,CAAC,KAAK,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACtE,IAAI,MAAM,YAAY,CAAC,EAAE,CAAC;AAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,CAAC;AACvD,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC7B,EAAE;AACF,EAAE,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC;AAC7C,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/F,EAAE,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;AACxC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAClC,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;AACnD,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,EAAE,KAAK,CAAC;AAChE,IAAI,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAClC,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE;AACrB,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC;AACtB,IAAI;AACJ,IAAI,MAAM,YAAY,CAAC,EAAE,CAAC;AAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,CAAC;AACvD,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC7B,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC;AAC3C,EAAE,MAAM,YAAY,CAAC,EAAE,CAAC;AACxB,EAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC;AACvC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
1
+ {"version":3,"file":"_server.ts-56AUug1F.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/bluesky/mark/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { r as readSkipSet, w as writeSkipSet } from \"../../../../../chunks/cache.js\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nconst logger = createLogger();\nconst PATCH = async ({ url, request }) => {\n const body = await request.json();\n const gpath = url.searchParams.get(\"gallerypath\");\n if (gpath) {\n logger.debug(\n \"Adding\",\n body.length,\n \"skipset entries for gallery @\",\n gpath,\n \"...\"\n );\n const ss = await readSkipSet();\n ss[gpath] = /* @__PURE__ */ new Set([...body, ...ss[gpath] ?? []]);\n await writeSkipSet(ss);\n logger.info(\"Updated skipset for gallery @\", gpath);\n return json({ ok: true });\n }\n logger.debug(\"Replacing entire skipset...\");\n await writeSkipSet(Object.fromEntries(Object.entries(body).map(([k, v]) => [k, new Set(v)])));\n logger.info(\"Replaced entire skipset\");\n return json({ ok: true });\n};\nconst DELETE = async ({ url }) => {\n const gpath = url.searchParams.get(\"gallerypath\");\n if (gpath) {\n logger.debug(\"Removing skipset for gallery @\", gpath, \"...\");\n const ss = await readSkipSet();\n if (gpath in ss) {\n delete ss[gpath];\n }\n await writeSkipSet(ss);\n logger.info(\"Removed skipset for gallery @\", gpath);\n return json({ ok: true });\n }\n logger.info(\"Clearing entire skipset...\");\n await writeSkipSet({});\n logger.info(\"Cleared entire skipset\");\n return json({ ok: true });\n};\nexport {\n DELETE,\n PATCH\n};\n"],"names":[],"mappings":";;;;;;;;;AAGA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,KAAK,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AAC1C,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;AACnD,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,MAAM,CAAC,KAAK;AAChB,MAAM,QAAQ;AACd,MAAM,IAAI,CAAC,MAAM;AACjB,MAAM,+BAA+B;AACrC,MAAM,KAAK;AACX,MAAM;AACN,KAAK;AACL,IAAI,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAClC,IAAI,EAAE,CAAC,KAAK,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACtE,IAAI,MAAM,YAAY,CAAC,EAAE,CAAC;AAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,CAAC;AACvD,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC7B,EAAE;AACF,EAAE,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC;AAC7C,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/F,EAAE,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;AACxC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;AACK,MAAC,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAClC,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;AACnD,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,EAAE,KAAK,CAAC;AAChE,IAAI,MAAM,EAAE,GAAG,MAAM,WAAW,EAAE;AAClC,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE;AACrB,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC;AACtB,IAAI;AACJ,IAAI,MAAM,YAAY,CAAC,EAAE,CAAC;AAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,KAAK,CAAC;AACvD,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC7B,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC;AAC3C,EAAE,MAAM,YAAY,CAAC,EAAE,CAAC;AACxB,EAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC;AACvC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
@@ -1,4 +1,4 @@
1
- import { j as json, e as error } from './index-CoD1IJuy.js';
1
+ import { j as json, e as error } from './index-lhTMmBNn.js';
2
2
  import path from 'node:path';
3
3
  import { $ART } from '@phosart/common/server';
4
4
  import { writeFile } from 'node:fs/promises';
@@ -41,4 +41,4 @@ function relpath(type, fname, ftype, rand) {
41
41
  }
42
42
 
43
43
  export { POST };
44
- //# sourceMappingURL=_server.ts-aQEmaso6.js.map
44
+ //# sourceMappingURL=_server.ts-BDsjpmO7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-aQEmaso6.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/characters/upload-image/_server.ts.js"],"sourcesContent":["import { json, error } from \"@sveltejs/kit\";\nimport path from \"node:path\";\nimport { $ART } from \"@phosart/common/server\";\nimport { writeFile } from \"node:fs/promises\";\nimport { g as getImageExtension } from \"../../../../../chunks/fileutil2.js\";\nimport { r as resolveWithinArt, b as asNodeStream } from \"../../../../../chunks/fileutil.js\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nimport { randomInt } from \"node:crypto\";\nconst logger = createLogger();\nconst POST = async ({ request, url }) => {\n const data = await request.formData();\n const f = data.get(\"file\");\n const fname = data.get(\"filename\");\n const ftype = data.get(\"filetype\");\n const type = url.searchParams.get(\"for\") === \"thumb\" ? \"thumb\" : \"full\";\n const rand = String(Date.now()).slice(-5) + String(randomInt(4096));\n logger.info(\"Uploading character image\", fname, \"as\", type, \"with type\", ftype, \"...\");\n await uploadImage(type, f, fname, ftype, rand);\n logger.info(\"Uploaded character image\", fname, \"as\", type);\n return json({\n fname: \"./\" + relpath(type, fname, ftype, rand)\n });\n};\nasync function uploadImage(type, image, fname, ftype, rand) {\n const fp = resolveWithinArt(path.join($ART(), \"characters\", relpath(type, fname, ftype, rand)));\n if (!fp) {\n logger.warn(\"Refusing to write character image outside art root @\", fname);\n throw error(400, \"invalid character image path\");\n }\n logger.debug(\"Writing character image @\", fp, \"for\", fname, \"...\");\n await writeFile(fp, asNodeStream(image.stream()), { encoding: \"utf-8\" });\n logger.debug(\"Wrote character image @\", fp);\n}\nfunction relpath(type, fname, ftype, rand) {\n const safeName = fname.replaceAll(/[^A-Za-z0-9-_]|\\.\\./g, \"\");\n const ext = getImageExtension(ftype);\n return `ch_${type}_${safeName}_${rand}.${ext}`;\n}\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAQA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK;AACzC,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AACvC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AAC5B,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;AACpC,EAAE,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,OAAO,GAAG,OAAO,GAAG,MAAM;AACzE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrE,EAAE,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC;AACxF,EAAE,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;AAChD,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;AAC5D,EAAE,OAAO,IAAI,CAAC;AACd,IAAI,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;AAClD,GAAG,CAAC;AACJ;AACA,eAAe,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5D,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACjG,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE,KAAK,CAAC;AAC9E,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,8BAA8B,CAAC;AACpD,EAAE;AACF,EAAE,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACpE,EAAE,MAAM,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC1E,EAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,CAAC;AAC7C;AACA,SAAS,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;AAC3C,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,CAAC;AAC/D,EAAE,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC;AACtC,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAChD;;;;"}
1
+ {"version":3,"file":"_server.ts-BDsjpmO7.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/characters/upload-image/_server.ts.js"],"sourcesContent":["import { json, error } from \"@sveltejs/kit\";\nimport path from \"node:path\";\nimport { $ART } from \"@phosart/common/server\";\nimport { writeFile } from \"node:fs/promises\";\nimport { g as getImageExtension } from \"../../../../../chunks/fileutil2.js\";\nimport { r as resolveWithinArt, b as asNodeStream } from \"../../../../../chunks/fileutil.js\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nimport { randomInt } from \"node:crypto\";\nconst logger = createLogger();\nconst POST = async ({ request, url }) => {\n const data = await request.formData();\n const f = data.get(\"file\");\n const fname = data.get(\"filename\");\n const ftype = data.get(\"filetype\");\n const type = url.searchParams.get(\"for\") === \"thumb\" ? \"thumb\" : \"full\";\n const rand = String(Date.now()).slice(-5) + String(randomInt(4096));\n logger.info(\"Uploading character image\", fname, \"as\", type, \"with type\", ftype, \"...\");\n await uploadImage(type, f, fname, ftype, rand);\n logger.info(\"Uploaded character image\", fname, \"as\", type);\n return json({\n fname: \"./\" + relpath(type, fname, ftype, rand)\n });\n};\nasync function uploadImage(type, image, fname, ftype, rand) {\n const fp = resolveWithinArt(path.join($ART(), \"characters\", relpath(type, fname, ftype, rand)));\n if (!fp) {\n logger.warn(\"Refusing to write character image outside art root @\", fname);\n throw error(400, \"invalid character image path\");\n }\n logger.debug(\"Writing character image @\", fp, \"for\", fname, \"...\");\n await writeFile(fp, asNodeStream(image.stream()), { encoding: \"utf-8\" });\n logger.debug(\"Wrote character image @\", fp);\n}\nfunction relpath(type, fname, ftype, rand) {\n const safeName = fname.replaceAll(/[^A-Za-z0-9-_]|\\.\\./g, \"\");\n const ext = getImageExtension(ftype);\n return `ch_${type}_${safeName}_${rand}.${ext}`;\n}\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAQA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK;AACzC,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AACvC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AAC5B,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;AACpC,EAAE,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,OAAO,GAAG,OAAO,GAAG,MAAM;AACzE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrE,EAAE,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC;AACxF,EAAE,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;AAChD,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;AAC5D,EAAE,OAAO,IAAI,CAAC;AACd,IAAI,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;AAClD,GAAG,CAAC;AACJ;AACA,eAAe,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5D,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACjG,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE,KAAK,CAAC;AAC9E,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,8BAA8B,CAAC;AACpD,EAAE;AACF,EAAE,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACpE,EAAE,MAAM,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC1E,EAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,CAAC;AAC7C;AACA,SAAS,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;AAC3C,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,CAAC;AAC/D,EAAE,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC;AACtC,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAChD;;;;"}
@@ -1,15 +1,16 @@
1
1
  import { open } from 'node:fs/promises';
2
2
  import { a as asWebStream } from './fileutil-DloN3u5O.js';
3
- import { n as normalizeGalleryPath, a as isBaseGallery, g as getGalleryDir } from './galleryutil-CdWyR2BP.js';
3
+ import { n as normalizeGalleryPath, a as isBaseGallery, g as getGalleryDir } from './galleryutil-CNHfNYsK.js';
4
4
  import { join } from 'node:path';
5
5
  import { rawGalleries, $ART } from '@phosart/common/server';
6
- import { e as error } from './index-CoD1IJuy.js';
6
+ import { e as error } from './index-lhTMmBNn.js';
7
7
  import { c as createLogger } from './log-Dgdg632G.js';
8
8
  import mime from 'mime';
9
9
  import 'node:stream';
10
- import './util-B37Rvgjl.js';
11
- import './routing-DnQyokYQ.js';
12
- import './url-DAcOnjX0.js';
10
+ import './server2-BkW4FhQy.js';
11
+ import './routing-DYQTvdBm.js';
12
+ import './root-C9Hma45-.js';
13
+ import './util-DTbakmxX.js';
13
14
  import 'tslog';
14
15
 
15
16
  const logger$1 = createLogger();
@@ -101,4 +102,4 @@ const GET = async ({ params, url }) => {
101
102
  };
102
103
 
103
104
  export { GET };
104
- //# sourceMappingURL=_server.ts-DBffY4vB.js.map
105
+ //# sourceMappingURL=_server.ts-BH5Y8MeZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DBffY4vB.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/gallery/_...gallerypath_/_piece_/original-image/_server.ts.js"],"sourcesContent":["import { open } from \"node:fs/promises\";\nimport { a as asWebStream } from \"../../../../../../../chunks/fileutil.js\";\nimport { a as isBaseGallery, g as getGalleryDir, n as normalizeGalleryPath } from \"../../../../../../../chunks/galleryutil.js\";\nimport { join } from \"node:path\";\nimport { rawGalleries, $ART } from \"@phosart/common/server\";\nimport { error } from \"@sveltejs/kit\";\nimport { c as createLogger } from \"../../../../../../../chunks/log.js\";\nimport mime from \"mime\";\nconst logger$1 = createLogger();\nasync function getOriginalImagePath(galleryPath, pieceSlug, {\n video,\n thumb,\n alt,\n altIndex\n} = {}) {\n const gallery = (await rawGalleries())[galleryPath];\n if (!isBaseGallery(gallery)) {\n logger$1.warn(\"Gallery not found for original image @\", galleryPath);\n return error(404, \"gallery not found\");\n }\n const piece = gallery.pieces.find((p) => p.slug === pieceSlug);\n if (!piece) {\n logger$1.warn(\"Piece not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"piece not found\");\n }\n const getResource = (resource) => {\n if (!video) {\n return resource.image;\n }\n return (thumb ? resource.video?.thumb ?? resource.video?.full : resource.video?.full) ?? null;\n };\n let resourceUrl = getResource(piece);\n if (!resourceUrl) {\n logger$1.warn(\"Resource not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"resource not found pt. 1\");\n }\n if (alt || (altIndex ?? -1) >= 0) {\n const altPei = piece?.alts?.find((a) => a.name === alt) ?? piece?.alts?.[altIndex ?? -1];\n if (!altPei) {\n logger$1.warn(\"Alt not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"alt not found\");\n }\n resourceUrl = getResource(altPei);\n }\n if (!resourceUrl) {\n logger$1.warn(\"Resource not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"resourceUrl not found pt 2.\");\n }\n const fullPath = join($ART(), getGalleryDir(galleryPath), resourceUrl);\n logger$1.silly(\"Resolved original image @\", fullPath);\n return fullPath;\n}\nconst logger = createLogger();\nconst GET = async ({ params, url }) => {\n const galleryPath = normalizeGalleryPath(params.gallerypath);\n const pieceSlug = params.piece;\n const video = url.searchParams.get(\"video\") === \"true\";\n const thumb = url.searchParams.get(\"thumb\") === \"true\";\n const alt = url.searchParams.get(\"alt\") ?? void 0;\n let altIndex = -1;\n const altIndexS = url.searchParams.get(\"altIndex\");\n if (altIndexS) {\n try {\n altIndex = parseInt(altIndexS);\n } catch {\n }\n }\n logger.silly(\n \"Fetching original image\",\n \"gallery\",\n galleryPath,\n \"piece\",\n pieceSlug,\n \"video?\",\n video,\n \"thumb?\",\n thumb,\n \"alt?\",\n alt ?? \"none\",\n \"altIndex\",\n altIndex\n );\n const path = await getOriginalImagePath(galleryPath, pieceSlug, { video, thumb, alt, altIndex });\n if (typeof path !== \"string\") {\n return path;\n }\n logger.silly(\"Serving original image @\", path);\n const file = await open(path);\n return new Response(asWebStream(file.createReadStream({ autoClose: true })), {\n status: 200,\n headers: {\n \"Content-Type\": mime.getType(path) ?? \"application/octet-stream\"\n }\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-BH5Y8MeZ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/gallery/_...gallerypath_/_piece_/original-image/_server.ts.js"],"sourcesContent":["import { open } from \"node:fs/promises\";\nimport { a as asWebStream } from \"../../../../../../../chunks/fileutil.js\";\nimport { a as isBaseGallery, g as getGalleryDir, n as normalizeGalleryPath } from \"../../../../../../../chunks/galleryutil.js\";\nimport { join } from \"node:path\";\nimport { rawGalleries, $ART } from \"@phosart/common/server\";\nimport { error } from \"@sveltejs/kit\";\nimport { c as createLogger } from \"../../../../../../../chunks/log.js\";\nimport mime from \"mime\";\nconst logger$1 = createLogger();\nasync function getOriginalImagePath(galleryPath, pieceSlug, {\n video,\n thumb,\n alt,\n altIndex\n} = {}) {\n const gallery = (await rawGalleries())[galleryPath];\n if (!isBaseGallery(gallery)) {\n logger$1.warn(\"Gallery not found for original image @\", galleryPath);\n return error(404, \"gallery not found\");\n }\n const piece = gallery.pieces.find((p) => p.slug === pieceSlug);\n if (!piece) {\n logger$1.warn(\"Piece not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"piece not found\");\n }\n const getResource = (resource) => {\n if (!video) {\n return resource.image;\n }\n return (thumb ? resource.video?.thumb ?? resource.video?.full : resource.video?.full) ?? null;\n };\n let resourceUrl = getResource(piece);\n if (!resourceUrl) {\n logger$1.warn(\"Resource not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"resource not found pt. 1\");\n }\n if (alt || (altIndex ?? -1) >= 0) {\n const altPei = piece?.alts?.find((a) => a.name === alt) ?? piece?.alts?.[altIndex ?? -1];\n if (!altPei) {\n logger$1.warn(\"Alt not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"alt not found\");\n }\n resourceUrl = getResource(altPei);\n }\n if (!resourceUrl) {\n logger$1.warn(\"Resource not found for original image @\", galleryPath, \"piece\", pieceSlug);\n return error(404, \"resourceUrl not found pt 2.\");\n }\n const fullPath = join($ART(), getGalleryDir(galleryPath), resourceUrl);\n logger$1.silly(\"Resolved original image @\", fullPath);\n return fullPath;\n}\nconst logger = createLogger();\nconst GET = async ({ params, url }) => {\n const galleryPath = normalizeGalleryPath(params.gallerypath);\n const pieceSlug = params.piece;\n const video = url.searchParams.get(\"video\") === \"true\";\n const thumb = url.searchParams.get(\"thumb\") === \"true\";\n const alt = url.searchParams.get(\"alt\") ?? void 0;\n let altIndex = -1;\n const altIndexS = url.searchParams.get(\"altIndex\");\n if (altIndexS) {\n try {\n altIndex = parseInt(altIndexS);\n } catch {\n }\n }\n logger.silly(\n \"Fetching original image\",\n \"gallery\",\n galleryPath,\n \"piece\",\n pieceSlug,\n \"video?\",\n video,\n \"thumb?\",\n thumb,\n \"alt?\",\n alt ?? \"none\",\n \"altIndex\",\n altIndex\n );\n const path = await getOriginalImagePath(galleryPath, pieceSlug, { video, thumb, alt, altIndex });\n if (typeof path !== \"string\") {\n return path;\n }\n logger.silly(\"Serving original image @\", path);\n const file = await open(path);\n return new Response(asWebStream(file.createReadStream({ autoClose: true })), {\n status: 200,\n headers: {\n \"Content-Type\": mime.getType(path) ?? \"application/octet-stream\"\n }\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { j as json, e as error } from './index-CoD1IJuy.js';
1
+ import { j as json, e as error } from './index-lhTMmBNn.js';
2
2
  import { a as readCache, b as readPerceptualHashCache, c as writeCache, f as flushPerceptualHashCache } from './cache-BUlT0Syl.js';
3
3
  import { galleries, rawGalleries } from '@phosart/common/server';
4
4
  import crypto from 'node:crypto';
@@ -13,12 +13,13 @@ import { pipeline } from 'node:stream/promises';
13
13
  import https from 'node:https';
14
14
  import { a as $CACHEFILE, $ as $IMGDIR } from './paths-LWMPXYU2.js';
15
15
  import { RateLimit } from 'async-sema';
16
- import { i as isExtendsGallery } from './galleryutil-CdWyR2BP.js';
16
+ import { i as isExtendsGallery } from './galleryutil-CNHfNYsK.js';
17
17
  import { Agent, AtpAgent } from '@atproto/api';
18
18
  import 'tslog';
19
- import './util-B37Rvgjl.js';
20
- import './routing-DnQyokYQ.js';
21
- import './url-DAcOnjX0.js';
19
+ import './server2-BkW4FhQy.js';
20
+ import './routing-DYQTvdBm.js';
21
+ import './root-C9Hma45-.js';
22
+ import './util-DTbakmxX.js';
22
23
 
23
24
  const DEFAULT_AGE_MS = 1e3 * 60 * 10;
24
25
  const DEFAULT_MAX_POSTS_FROM_BSKY = 50;
@@ -299,4 +300,4 @@ const POST = async ({ request }) => {
299
300
  };
300
301
 
301
302
  export { POST };
302
- //# sourceMappingURL=_server.ts-VxM8qlDT.js.map
303
+ //# sourceMappingURL=_server.ts-BPnbv-YB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-BPnbv-YB.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/bluesky/sync/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { a as readCache, b as readPerceptualHashCache, c as writeCache, f as flushPerceptualHashCache } from \"../../../../../chunks/cache.js\";\nimport { galleries, rawGalleries } from \"@phosart/common/server\";\nimport crypto from \"node:crypto\";\nimport { rename, readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport phash from \"sharp-phash\";\nimport dist from \"sharp-phash/distance.js\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nimport { mkdir, stat } from \"fs/promises\";\nimport { createWriteStream } from \"node:fs\";\nimport { pipeline } from \"node:stream/promises\";\nimport https from \"node:https\";\nimport { $ as $IMGDIR, a as $CACHEFILE } from \"../../../../../chunks/paths.js\";\nimport { RateLimit } from \"async-sema\";\nimport { i as isExtendsGallery } from \"../../../../../chunks/galleryutil.js\";\nimport { AtpAgent, Agent } from \"@atproto/api\";\nconst DEFAULT_AGE_MS = 1e3 * 60 * 10;\nconst DEFAULT_MAX_POSTS_FROM_BSKY = 50;\nclass PostsClient {\n #agent;\n #backend;\n #maxAgeMs;\n #did;\n #didLogIn = false;\n #config;\n constructor(config) {\n this.#agent = new AtpAgent({\n service: \"https://bsky.social\"\n });\n this.#config = config;\n this.#backend = config.cache?.backend ?? null;\n this.#maxAgeMs = config.cache?.maxAgeMs ?? DEFAULT_AGE_MS;\n this.#did = config.bskyDid;\n }\n async getPosts(limit = DEFAULT_MAX_POSTS_FROM_BSKY) {\n if (!this.#didLogIn) {\n await this.#agent.login({\n identifier: this.#config.bskyUsername,\n password: this.#config.bskyPassword\n });\n }\n let cached = [];\n if (this.#backend) {\n cached = await this.#backend.getCachedPosts(limit);\n const lastCachedAt = await this.#backend.postsLastCachedAt();\n if (Date.now() - lastCachedAt.getTime() < this.#maxAgeMs) {\n return cached;\n }\n }\n const out = [];\n const mostRecent = cached[0] ?? null;\n let cursor = void 0;\n do {\n const resp = await this.#agent.getAuthorFeed({\n actor: this.#did,\n filter: \"posts_no_replies\",\n limit: 50,\n cursor\n });\n cursor = resp.data.cursor ?? void 0;\n console.log(resp.data.feed[0]);\n const next = this.#transformFeed(resp.data.feed);\n const toAdd = next.filter((nx) => !mostRecent || nx.date.localeCompare(mostRecent.date) > 0);\n out.splice(0, 0, ...toAdd);\n if (next.length !== toAdd.length) {\n break;\n }\n } while (cursor);\n if (this.#backend) {\n await this.#backend.cachePosts(out);\n }\n return [...out, ...cached].sort((p1, p2) => p2.date.localeCompare(p1.date)).slice(0, limit);\n }\n #transformFeed(fvps) {\n return fvps.filter((fvp) => fvp.post.author.did === this.#did && fvp.reason?.$type !== \"app.bsky.feed.defs#reasonRepost\" && !fvp.reply && (fvp.post.embed?.$type?.startsWith(\"app.bsky.embed.images#view\") || fvp.post.embed?.$type.startsWith(\"app.bsky.embed.video#view\"))).map((fvp) => ({\n uri: fvp.post.uri,\n date: fvp.post.indexedAt,\n text: fvp.post.record.text,\n likes: fvp.post.likeCount || 0,\n reposts: fvp.post.repostCount || 0,\n image_details: fvp.post.embed?.images?.map((img) => ({\n full_url: img.fullsize,\n alt_text: img.alt,\n thumb_url: img.thumb\n })) ?? [],\n video_thumb_url: fvp.post.embed?.thumbnail ?? null\n }));\n }\n}\nconst logger$2 = createLogger();\nconst sema = RateLimit(3);\nasync function downloadAndWrite(h, uri) {\n await sema();\n await mkdir($IMGDIR(), { recursive: true });\n const p = path.join($IMGDIR(), h + \".jpg\");\n const tmp = p + \".tmp.\" + Date.now();\n const ws = createWriteStream(tmp);\n logger$2.debug(\"Downloading image\", h, \"@\", uri, \"to\", p, \"...\");\n await new Promise((resolve, reject) => {\n https.get(uri, (res) => {\n res.on(\"error\", (err) => {\n logger$2.warn(\"Download failed; error:\", err);\n reject(err);\n });\n const pipe = pipeline(res, ws);\n pipe.then((_) => {\n if (res.statusCode && res.statusCode > 299) {\n logger$2.warn(\"Download failed; bluesky responded with status\", res.statusCode);\n reject(res.statusCode);\n } else {\n resolve(_);\n }\n }).catch(reject);\n });\n });\n logger$2.info(\"Finished downloading image\", h, \"@\", uri);\n await rename(tmp, p);\n}\nconst logger$1 = createLogger();\nasync function findMatches(posts) {\n logger$1.debug(\"Finding matches for\", posts.length, \"posts...\");\n const gcache = await galleries();\n const rgcache = await rawGalleries();\n const matches = posts.map((p) => findMatch(p, gcache, rgcache));\n const numMatches = matches.flatMap((p) => p.image_details).flatMap((d) => d.matches).length;\n logger$1.silly(\"Found\", numMatches, \"matches\");\n return matches;\n}\nfunction matchesForPhash(postPhash, galleries2, rawGalleries2, threshold) {\n const matches = [];\n for (const [galpath, gallery] of Object.entries(galleries2)) {\n if (isExtendsGallery(rawGalleries2[galpath])) {\n continue;\n }\n for (const piece of gallery.pieces) {\n const d = dist(piece.image.phash, postPhash);\n if (d <= threshold) {\n matches.push([{ gallery: galpath, piece: piece.slug }, d]);\n }\n for (const alt of piece.alts ?? []) {\n const d2 = dist(alt.image.phash, postPhash);\n if (d2 <= threshold) {\n matches.push([\n { gallery: galpath, piece: piece.slug, alt: alt.name },\n dist(alt.image.phash, postPhash)\n ]);\n }\n }\n }\n }\n return matches.toSorted(([, d1], [, d2]) => d1 - d2).map(([up]) => up);\n}\nfunction findMatch(post, galleries2, rawGalleries2, threshold = 5) {\n return {\n ...post,\n image_details: post.image_details.map((v) => ({\n ...v,\n matches: matchesForPhash(v.phash, galleries2, rawGalleries2, threshold)\n }))\n };\n}\nasync function getImages(posts, fileset) {\n logger$1.debug(\"Getting images for\", posts.length, \"posts...\");\n const withImages = (await Promise.all(\n posts.map(async (post) => {\n try {\n return await getImage(post, fileset);\n } catch (e) {\n console.warn(\"getting image failed: \", e);\n return null;\n }\n })\n )).filter((p) => !!p);\n logger$1.debug(\"Finished getting images\");\n return withImages;\n}\nasync function phashImage(h) {\n const p = path.join($IMGDIR(), h + \".jpg\");\n return await phash(await readFile(p));\n}\nasync function getImage(post, fileset) {\n return {\n ...post,\n image_details: await Promise.all(\n post.image_details.map(\n (v) => doPhashImage(v.full_url, fileset).then((phash2) => ({\n ...v,\n phash: phash2,\n id: imageId(v.full_url)\n }))\n )\n )\n };\n}\nasync function doPhashImage(uri, fileset) {\n const id = imageId(uri);\n if (id in fileset) {\n return fileset[id];\n }\n let hash;\n try {\n hash = await phashImage(id);\n } catch (e) {\n logger$1.debug(\n \"Failed to hash image\",\n id,\n \"trying to download the image then will hash again. Error:\",\n e\n );\n await downloadAndWrite(id, uri);\n hash = await phashImage(id);\n }\n fileset[id] = hash;\n return hash;\n}\nfunction imageId(uri) {\n const h = crypto.createHash(\"md5\");\n h.update(uri);\n return h.digest(\"base64url\");\n}\nfunction mergePosts(cache, posts) {\n for (const post of posts) {\n if (!cache.find((p) => p.uri === post.uri)) {\n cache.push(post);\n }\n }\n cache.sort((a, b) => b.date.localeCompare(a.date));\n return cache;\n}\nconst logger = createLogger();\nasync function sync(cfg) {\n logger.info(\"Syncing bluesky posts & images...\");\n try {\n const [cache, fileset] = await Promise.all([readCache(), readPerceptualHashCache()]);\n const bskyDid = process.env.BSKY_DID ?? cfg?.bskyDid ?? (cfg?.bskyUsername ? await getDid(cfg.bskyUsername) : void 0);\n const bskyPassword = process.env.BSKY_PASSWORD ?? cfg?.bskyPassword;\n const bskyUsername = process.env.BSKY_LOGIN ?? cfg?.bskyUsername;\n if (!bskyDid || !bskyPassword || !bskyUsername) {\n const errTxt = `Can't sync bluesky; missing information. Missing username? ${!bskyUsername} password? ${!bskyPassword} did? ${!bskyDid}`;\n logger.warn(errTxt);\n return error(400, \"Failed... \" + errTxt);\n }\n const client = new PostsClient({\n bskyDid,\n bskyPassword,\n bskyUsername,\n cache: {\n backend: {\n async cachePosts(posts) {\n await writeCache(mergePosts(cache, posts));\n },\n async getCachedPosts(_limit) {\n return cache;\n },\n async postsLastCachedAt() {\n try {\n return (await stat($CACHEFILE())).mtime;\n } catch {\n return /* @__PURE__ */ new Date(0);\n }\n }\n }\n }\n });\n const allPosts = mergePosts(cache, await client.getPosts(void 0));\n const withImages = await getImages(allPosts, fileset);\n await flushPerceptualHashCache(fileset);\n if (withImages.length !== allPosts.length) {\n return error(\n 500,\n `Failed to load ${allPosts.length - withImages.length} image(s); try again`\n );\n }\n const matches = await findMatches(withImages);\n logger.info(\"Done syncing\");\n return matches;\n } catch (err) {\n logger.warn(\"Failed to sync bluesky posts:\", err);\n throw err;\n }\n}\nasync function getDid(username) {\n const agent = new Agent({ service: \"https://bsky.social\" });\n const res = await agent.resolveHandle({ handle: username });\n return res.data.did;\n}\nconst POST = async ({ request }) => {\n const result = await sync(await request.json());\n if (Array.isArray(result)) {\n return json(result);\n }\n return result;\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { r as requestToken } from './github-CM6dx0ky.js';
2
- import { e as error, j as json } from './index-CoD1IJuy.js';
2
+ import { e as error, j as json } from './index-lhTMmBNn.js';
3
3
  import fs from 'node:fs/promises';
4
4
  import path from 'node:path';
5
5
  import os from 'node:os';
@@ -150,4 +150,4 @@ const POST = async ({ request }) => {
150
150
  };
151
151
 
152
152
  export { POST };
153
- //# sourceMappingURL=_server.ts-OYdhWjAm.js.map
153
+ //# sourceMappingURL=_server.ts-CDSLj_Cz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-OYdhWjAm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/git/hub/login/request_access_token/_server.ts.js"],"sourcesContent":["import { r as requestToken } from \"../../../../../../../chunks/github.js\";\nimport { error, json } from \"@sveltejs/kit\";\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport os from \"node:os\";\nimport { spawn } from \"node:child_process\";\nconst winscript = '# win-secret.ps1\\n# Reads stdin: COMMAND\\\\nHANDLE\\\\n[VALUE_B64]\\\\n\\n# Writes stdout: STATUS\\\\nPAYLOAD\\\\n\\n\\n$ErrorActionPreference = \"Stop\"\\n\\nfunction Out-TwoLines([string]$status, [string]$payload) {\\n Write-Output $status\\n Write-Output $payload\\n}\\n\\ntry {\\n $lines = @()\\n while ($null -ne ($l = [Console]::In.ReadLine())) { $lines += $l }\\n\\n if ($lines.Count -lt 2) { Out-TwoLines \"ERROR\" \"invalid input\"; exit 0 }\\n\\n $cmd = $lines[0].Trim()\\n $handle = $lines[1].Trim()\\n\\n if ($handle -notmatch \\'^[A-Za-z0-9._-]{1,128}$\\') {\\n Out-TwoLines \"ERROR\" \"invalid handle\"\\n exit 0\\n }\\n\\n $baseDir = Join-Path $env:LOCALAPPDATA \"phosart-devtool\\\\secrets\"\\n [IO.Directory]::CreateDirectory($baseDir) | Out-Null\\n $path = Join-Path $baseDir \"$handle.bin\"\\n\\n Add-Type -AssemblyName System.Security\\n\\n function Protect([byte[]]$plain) {\\n return [Security.Cryptography.ProtectedData]::Protect(\\n $plain, $null, [Security.Cryptography.DataProtectionScope]::CurrentUser\\n )\\n }\\n\\n function Unprotect([byte[]]$cipher) {\\n return [Security.Cryptography.ProtectedData]::Unprotect(\\n $cipher, $null, [Security.Cryptography.DataProtectionScope]::CurrentUser\\n )\\n }\\n\\n function ReadExistingB64OrNull() {\\n if (-not (Test-Path -LiteralPath $path)) { return $null }\\n $cipher = [IO.File]::ReadAllBytes($path)\\n $plain = Unprotect $cipher\\n return [Convert]::ToBase64String($plain)\\n }\\n\\n if ($cmd -eq \"READ\") {\\n $cur = ReadExistingB64OrNull\\n if ($null -eq $cur) { Out-TwoLines \"MISSING\" \"null\" } else { Out-TwoLines \"OK\" $cur }\\n exit 0\\n }\\n\\n if ($cmd -eq \"WRITE\") {\\n if ($lines.Count -lt 3) { Out-TwoLines \"ERROR\" \"missing value\"; exit 0 }\\n $valueB64 = $lines[2].Trim()\\n $newPlain = [Convert]::FromBase64String($valueB64)\\n\\n $old = ReadExistingB64OrNull\\n\\n $cipher = Protect $newPlain\\n [IO.File]::WriteAllBytes($path, $cipher)\\n\\n if ($null -eq $old) { Out-TwoLines \"OK\" \"null\" } else { Out-TwoLines \"OK\" $old }\\n exit 0\\n }\\n\\n if ($cmd -eq \"DELETE\") {\\n $old = ReadExistingB64OrNull\\n if (Test-Path -LiteralPath $path) { Remove-Item -LiteralPath $path -Force }\\n if ($null -eq $old) { Out-TwoLines \"MISSING\" \"null\" } else { Out-TwoLines \"OK\" $old }\\n exit 0\\n }\\n\\n Out-TwoLines \"ERROR\" \"unknown command\"\\n} catch {\\n Out-TwoLines \"ERROR\" ($_.Exception.Message.Replace(\"`r\",\"\").Replace(\"`n\",\" \"))\\n}\\n';\nconst macscript = '#!/usr/bin/env bash\\n# mac-secret.sh\\n\\nset -euo pipefail\\n\\nread -r CMD || true\\nread -r HANDLE || true\\nVALUE_B64=\"\"\\nif [[ \"${CMD:-}\" == \"WRITE\" ]]; then\\n read -r VALUE_B64 || VALUE_B64=\"\"\\nfi\\n\\nSERVICE=\"com.phosart.devtool.secrets\"\\n\\ntwo_lines() { printf \"%s\\\\n%s\\\\n\" \"$1\" \"$2\"; }\\n\\nvalid_handle() {\\n [[ \"$HANDLE\" =~ ^[A-Za-z0-9._-]{1,128}$ ]]\\n}\\n\\nif ! valid_handle; then\\n two_lines \"ERROR\" \"invalid handle\"\\n exit 0\\nfi\\n\\nread_existing() {\\n # Prints existing secret to stdout, or returns nonzero if not found.\\n security find-generic-password -a \"$HANDLE\" -s \"$SERVICE\" -w 2>/dev/null\\n}\\n\\ncase \"${CMD:-}\" in\\n READ)\\n if out=\"$(read_existing)\"; then\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n WRITE)\\n old=\"null\"\\n if out=\"$(read_existing)\"; then old=\"$out\"; fi\\n\\n # Add or update\\n security add-generic-password -a \"$HANDLE\" -s \"$SERVICE\" -w \"$VALUE_B64\" -U >/dev/null 2>&1\\n\\n two_lines \"OK\" \"$old\"\\n ;;\\n\\n DELETE)\\n if out=\"$(read_existing)\"; then\\n security delete-generic-password -a \"$HANDLE\" -s \"$SERVICE\" >/dev/null 2>&1 || true\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n *)\\n two_lines \"ERROR\" \"unknown command\"\\n ;;\\nesac\\n';\nconst linuxscript = '#!/usr/bin/env bash\\n\\nset -euo pipefail\\n\\nread -r CMD || true\\nread -r HANDLE || true\\nVALUE_B64=\"\"\\nif [[ \"${CMD:-}\" == \"WRITE\" ]]; then\\n read -r VALUE_B64 || VALUE_B64=\"\"\\nfi\\n\\nSERVICE=\"com.phosart.devtool.secrets\"\\n\\ntwo_lines() { printf \"%s\\\\n%s\\\\n\" \"$1\" \"$2\"; }\\n\\nvalid_handle() {\\n [[ \"$HANDLE\" =~ ^[A-Za-z0-9._-]{1,128}$ ]]\\n}\\n\\nif ! valid_handle; then\\n two_lines \"ERROR\" \"invalid handle\"\\n exit 0\\nfi\\n\\nif ! command -v secret-tool >/dev/null 2>&1; then\\n two_lines \"NOT_SUPPORTED\" \"null\"\\n exit 0\\nfi\\n\\nread_existing() {\\n # secret-tool lookup returns 0 with value, or 1 if not found.\\n secret-tool lookup service \"$SERVICE\" account \"$HANDLE\" 2>/dev/null\\n}\\n\\ncase \"${CMD:-}\" in\\n READ)\\n if out=\"$(read_existing)\"; then\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n WRITE)\\n old=\"null\"\\n if out=\"$(read_existing)\"; then old=\"$out\"; fi\\n\\n # store (replace)\\n printf \"%s\" \"$VALUE_B64\" | secret-tool store --label=\"YourApp secret $HANDLE\" service \"$SERVICE\" account \"$HANDLE\" >/dev/null\\n\\n two_lines \"OK\" \"$old\"\\n ;;\\n\\n DELETE)\\n if out=\"$(read_existing)\"; then\\n secret-tool clear service \"$SERVICE\" account \"$HANDLE\" >/dev/null || true\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n *)\\n two_lines \"ERROR\" \"unknown command\"\\n ;;\\nesac\\n';\nlet cachedpath = null;\nasync function scriptpath() {\n if (cachedpath) {\n return cachedpath;\n }\n const platform = os.platform();\n const tmp = await fs.mkdtemp(path.join(os.tmpdir(), \"phosart-devtool\"));\n const toCache = path.resolve(path.join(tmp, `script.${platform === \"win32\" ? \"ps1\" : \"sh\"}`));\n let script = linuxscript;\n if (platform === \"darwin\") {\n script = macscript;\n } else if (platform === \"win32\") {\n script = winscript;\n }\n try {\n await fs.stat(toCache);\n return toCache;\n } catch {\n }\n await fs.writeFile(toCache, script, { encoding: \"utf-8\" });\n await fs.chmod(toCache, 493);\n cachedpath = toCache;\n return cachedpath;\n}\nfunction b64FromBytes(bytes) {\n return Buffer.from(bytes).toString(\"base64\");\n}\nfunction bytesFromB64(b64) {\n return Buffer.from(b64, \"base64\");\n}\nfunction runHelper(helperPath, input, shell = false) {\n return new Promise((resolve) => {\n const child = spawn(helperPath, [], {\n stdio: \"pipe\",\n shell,\n windowsHide: true\n });\n let out = \"\";\n let err = \"\";\n child.stdout.setEncoding(\"utf8\");\n child.stderr.setEncoding(\"utf8\");\n child.stdout.on(\"data\", (d) => out += d);\n child.stderr.on(\"data\", (d) => err += d);\n child.on(\"close\", () => {\n const lines = out.replace(/\\r/g, \"\").split(\"\\n\").filter((l) => l.length > 0);\n const status = lines[0] ?? \"ERROR\";\n const payload = lines[1] ?? \"null\";\n if (status === \"OK\")\n return resolve({ status: \"OK\", value: payload === \"null\" ? null : payload });\n if (status === \"MISSING\") return resolve({ status: \"MISSING\", value: null });\n if (status === \"NOT_SUPPORTED\") return resolve({ status: \"NOT_SUPPORTED\", value: null });\n return resolve({\n status: \"ERROR\",\n value: payload !== \"null\" ? payload : err.trim() || \"unknown error\"\n });\n });\n child.stdin.end(input);\n });\n}\nclass SecretStore {\n #ephemeral = /* @__PURE__ */ new Map();\n async helperCall(cmd, handle, valueB64) {\n const path2 = await scriptpath();\n const p = os.platform();\n if (p === \"win32\") {\n const ps = \"powershell.exe\";\n const args = `-NoProfile -ExecutionPolicy Bypass -File \"${path2}\"`;\n return runHelper(\n `${ps} ${args}`,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\",\n true\n );\n }\n if (p === \"darwin\") {\n return runHelper(\n path2,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\"\n );\n }\n return runHelper(\n path2,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\"\n );\n }\n async read(handle) {\n const res = await this.helperCall(\"READ\", handle);\n if (res.status === \"OK\") return res.value ? bytesFromB64(res.value) : new Uint8Array();\n if (res.status === \"MISSING\") return null;\n if (res.status === \"NOT_SUPPORTED\") {\n const v = this.#ephemeral.get(handle);\n return v ? bytesFromB64(v) : null;\n }\n throw new Error(`secret read failed: ${res.value}`);\n }\n async write(handle, value) {\n const valueB64 = b64FromBytes(value);\n const res = await this.helperCall(\"WRITE\", handle, valueB64);\n if (res.status === \"OK\") {\n this.#ephemeral.set(handle, valueB64);\n return res.value ? bytesFromB64(res.value) : null;\n }\n if (res.status === \"NOT_SUPPORTED\") {\n const old = this.#ephemeral.get(handle) ?? null;\n this.#ephemeral.set(handle, valueB64);\n return old ? bytesFromB64(old) : null;\n }\n throw new Error(`secret write failed: ${res.status === \"ERROR\" ? res.value : \"unknown\"}`);\n }\n async delete(handle) {\n const res = await this.helperCall(\"DELETE\", handle);\n if (res.status === \"OK\") {\n this.#ephemeral.delete(handle);\n return res.value ? bytesFromB64(res.value) : null;\n }\n if (res.status === \"MISSING\") {\n this.#ephemeral.delete(handle);\n return null;\n }\n if (res.status === \"NOT_SUPPORTED\") {\n const old = this.#ephemeral.get(handle) ?? null;\n this.#ephemeral.delete(handle);\n return old ? bytesFromB64(old) : null;\n }\n throw new Error(`secret delete failed: ${res.value}`);\n }\n}\nconst secrets = new SecretStore();\nconst POST = async ({ request }) => {\n const state = await request.json();\n if (state.stage !== \"has_code\") {\n return error(400, \"wrong state\");\n }\n const resp = await requestToken(state.device_code);\n if (resp.access_token) {\n secrets.write(\"gha_token\", Buffer.from(resp.access_token, \"utf-8\"));\n return json({ stage: \"completed\" });\n }\n state.last_attempt = resp.error;\n return json(state);\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CDSLj_Cz.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/git/hub/login/request_access_token/_server.ts.js"],"sourcesContent":["import { r as requestToken } from \"../../../../../../../chunks/github.js\";\nimport { error, json } from \"@sveltejs/kit\";\nimport fs from \"node:fs/promises\";\nimport path from \"node:path\";\nimport os from \"node:os\";\nimport { spawn } from \"node:child_process\";\nconst winscript = '# win-secret.ps1\\n# Reads stdin: COMMAND\\\\nHANDLE\\\\n[VALUE_B64]\\\\n\\n# Writes stdout: STATUS\\\\nPAYLOAD\\\\n\\n\\n$ErrorActionPreference = \"Stop\"\\n\\nfunction Out-TwoLines([string]$status, [string]$payload) {\\n Write-Output $status\\n Write-Output $payload\\n}\\n\\ntry {\\n $lines = @()\\n while ($null -ne ($l = [Console]::In.ReadLine())) { $lines += $l }\\n\\n if ($lines.Count -lt 2) { Out-TwoLines \"ERROR\" \"invalid input\"; exit 0 }\\n\\n $cmd = $lines[0].Trim()\\n $handle = $lines[1].Trim()\\n\\n if ($handle -notmatch \\'^[A-Za-z0-9._-]{1,128}$\\') {\\n Out-TwoLines \"ERROR\" \"invalid handle\"\\n exit 0\\n }\\n\\n $baseDir = Join-Path $env:LOCALAPPDATA \"phosart-devtool\\\\secrets\"\\n [IO.Directory]::CreateDirectory($baseDir) | Out-Null\\n $path = Join-Path $baseDir \"$handle.bin\"\\n\\n Add-Type -AssemblyName System.Security\\n\\n function Protect([byte[]]$plain) {\\n return [Security.Cryptography.ProtectedData]::Protect(\\n $plain, $null, [Security.Cryptography.DataProtectionScope]::CurrentUser\\n )\\n }\\n\\n function Unprotect([byte[]]$cipher) {\\n return [Security.Cryptography.ProtectedData]::Unprotect(\\n $cipher, $null, [Security.Cryptography.DataProtectionScope]::CurrentUser\\n )\\n }\\n\\n function ReadExistingB64OrNull() {\\n if (-not (Test-Path -LiteralPath $path)) { return $null }\\n $cipher = [IO.File]::ReadAllBytes($path)\\n $plain = Unprotect $cipher\\n return [Convert]::ToBase64String($plain)\\n }\\n\\n if ($cmd -eq \"READ\") {\\n $cur = ReadExistingB64OrNull\\n if ($null -eq $cur) { Out-TwoLines \"MISSING\" \"null\" } else { Out-TwoLines \"OK\" $cur }\\n exit 0\\n }\\n\\n if ($cmd -eq \"WRITE\") {\\n if ($lines.Count -lt 3) { Out-TwoLines \"ERROR\" \"missing value\"; exit 0 }\\n $valueB64 = $lines[2].Trim()\\n $newPlain = [Convert]::FromBase64String($valueB64)\\n\\n $old = ReadExistingB64OrNull\\n\\n $cipher = Protect $newPlain\\n [IO.File]::WriteAllBytes($path, $cipher)\\n\\n if ($null -eq $old) { Out-TwoLines \"OK\" \"null\" } else { Out-TwoLines \"OK\" $old }\\n exit 0\\n }\\n\\n if ($cmd -eq \"DELETE\") {\\n $old = ReadExistingB64OrNull\\n if (Test-Path -LiteralPath $path) { Remove-Item -LiteralPath $path -Force }\\n if ($null -eq $old) { Out-TwoLines \"MISSING\" \"null\" } else { Out-TwoLines \"OK\" $old }\\n exit 0\\n }\\n\\n Out-TwoLines \"ERROR\" \"unknown command\"\\n} catch {\\n Out-TwoLines \"ERROR\" ($_.Exception.Message.Replace(\"`r\",\"\").Replace(\"`n\",\" \"))\\n}\\n';\nconst macscript = '#!/usr/bin/env bash\\n# mac-secret.sh\\n\\nset -euo pipefail\\n\\nread -r CMD || true\\nread -r HANDLE || true\\nVALUE_B64=\"\"\\nif [[ \"${CMD:-}\" == \"WRITE\" ]]; then\\n read -r VALUE_B64 || VALUE_B64=\"\"\\nfi\\n\\nSERVICE=\"com.phosart.devtool.secrets\"\\n\\ntwo_lines() { printf \"%s\\\\n%s\\\\n\" \"$1\" \"$2\"; }\\n\\nvalid_handle() {\\n [[ \"$HANDLE\" =~ ^[A-Za-z0-9._-]{1,128}$ ]]\\n}\\n\\nif ! valid_handle; then\\n two_lines \"ERROR\" \"invalid handle\"\\n exit 0\\nfi\\n\\nread_existing() {\\n # Prints existing secret to stdout, or returns nonzero if not found.\\n security find-generic-password -a \"$HANDLE\" -s \"$SERVICE\" -w 2>/dev/null\\n}\\n\\ncase \"${CMD:-}\" in\\n READ)\\n if out=\"$(read_existing)\"; then\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n WRITE)\\n old=\"null\"\\n if out=\"$(read_existing)\"; then old=\"$out\"; fi\\n\\n # Add or update\\n security add-generic-password -a \"$HANDLE\" -s \"$SERVICE\" -w \"$VALUE_B64\" -U >/dev/null 2>&1\\n\\n two_lines \"OK\" \"$old\"\\n ;;\\n\\n DELETE)\\n if out=\"$(read_existing)\"; then\\n security delete-generic-password -a \"$HANDLE\" -s \"$SERVICE\" >/dev/null 2>&1 || true\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n *)\\n two_lines \"ERROR\" \"unknown command\"\\n ;;\\nesac\\n';\nconst linuxscript = '#!/usr/bin/env bash\\n\\nset -euo pipefail\\n\\nread -r CMD || true\\nread -r HANDLE || true\\nVALUE_B64=\"\"\\nif [[ \"${CMD:-}\" == \"WRITE\" ]]; then\\n read -r VALUE_B64 || VALUE_B64=\"\"\\nfi\\n\\nSERVICE=\"com.phosart.devtool.secrets\"\\n\\ntwo_lines() { printf \"%s\\\\n%s\\\\n\" \"$1\" \"$2\"; }\\n\\nvalid_handle() {\\n [[ \"$HANDLE\" =~ ^[A-Za-z0-9._-]{1,128}$ ]]\\n}\\n\\nif ! valid_handle; then\\n two_lines \"ERROR\" \"invalid handle\"\\n exit 0\\nfi\\n\\nif ! command -v secret-tool >/dev/null 2>&1; then\\n two_lines \"NOT_SUPPORTED\" \"null\"\\n exit 0\\nfi\\n\\nread_existing() {\\n # secret-tool lookup returns 0 with value, or 1 if not found.\\n secret-tool lookup service \"$SERVICE\" account \"$HANDLE\" 2>/dev/null\\n}\\n\\ncase \"${CMD:-}\" in\\n READ)\\n if out=\"$(read_existing)\"; then\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n WRITE)\\n old=\"null\"\\n if out=\"$(read_existing)\"; then old=\"$out\"; fi\\n\\n # store (replace)\\n printf \"%s\" \"$VALUE_B64\" | secret-tool store --label=\"YourApp secret $HANDLE\" service \"$SERVICE\" account \"$HANDLE\" >/dev/null\\n\\n two_lines \"OK\" \"$old\"\\n ;;\\n\\n DELETE)\\n if out=\"$(read_existing)\"; then\\n secret-tool clear service \"$SERVICE\" account \"$HANDLE\" >/dev/null || true\\n two_lines \"OK\" \"$out\"\\n else\\n two_lines \"MISSING\" \"null\"\\n fi\\n ;;\\n\\n *)\\n two_lines \"ERROR\" \"unknown command\"\\n ;;\\nesac\\n';\nlet cachedpath = null;\nasync function scriptpath() {\n if (cachedpath) {\n return cachedpath;\n }\n const platform = os.platform();\n const tmp = await fs.mkdtemp(path.join(os.tmpdir(), \"phosart-devtool\"));\n const toCache = path.resolve(path.join(tmp, `script.${platform === \"win32\" ? \"ps1\" : \"sh\"}`));\n let script = linuxscript;\n if (platform === \"darwin\") {\n script = macscript;\n } else if (platform === \"win32\") {\n script = winscript;\n }\n try {\n await fs.stat(toCache);\n return toCache;\n } catch {\n }\n await fs.writeFile(toCache, script, { encoding: \"utf-8\" });\n await fs.chmod(toCache, 493);\n cachedpath = toCache;\n return cachedpath;\n}\nfunction b64FromBytes(bytes) {\n return Buffer.from(bytes).toString(\"base64\");\n}\nfunction bytesFromB64(b64) {\n return Buffer.from(b64, \"base64\");\n}\nfunction runHelper(helperPath, input, shell = false) {\n return new Promise((resolve) => {\n const child = spawn(helperPath, [], {\n stdio: \"pipe\",\n shell,\n windowsHide: true\n });\n let out = \"\";\n let err = \"\";\n child.stdout.setEncoding(\"utf8\");\n child.stderr.setEncoding(\"utf8\");\n child.stdout.on(\"data\", (d) => out += d);\n child.stderr.on(\"data\", (d) => err += d);\n child.on(\"close\", () => {\n const lines = out.replace(/\\r/g, \"\").split(\"\\n\").filter((l) => l.length > 0);\n const status = lines[0] ?? \"ERROR\";\n const payload = lines[1] ?? \"null\";\n if (status === \"OK\")\n return resolve({ status: \"OK\", value: payload === \"null\" ? null : payload });\n if (status === \"MISSING\") return resolve({ status: \"MISSING\", value: null });\n if (status === \"NOT_SUPPORTED\") return resolve({ status: \"NOT_SUPPORTED\", value: null });\n return resolve({\n status: \"ERROR\",\n value: payload !== \"null\" ? payload : err.trim() || \"unknown error\"\n });\n });\n child.stdin.end(input);\n });\n}\nclass SecretStore {\n #ephemeral = /* @__PURE__ */ new Map();\n async helperCall(cmd, handle, valueB64) {\n const path2 = await scriptpath();\n const p = os.platform();\n if (p === \"win32\") {\n const ps = \"powershell.exe\";\n const args = `-NoProfile -ExecutionPolicy Bypass -File \"${path2}\"`;\n return runHelper(\n `${ps} ${args}`,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\",\n true\n );\n }\n if (p === \"darwin\") {\n return runHelper(\n path2,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\"\n );\n }\n return runHelper(\n path2,\n [cmd, handle, ...cmd === \"WRITE\" ? [valueB64 ?? \"\"] : []].join(\"\\n\") + \"\\n\"\n );\n }\n async read(handle) {\n const res = await this.helperCall(\"READ\", handle);\n if (res.status === \"OK\") return res.value ? bytesFromB64(res.value) : new Uint8Array();\n if (res.status === \"MISSING\") return null;\n if (res.status === \"NOT_SUPPORTED\") {\n const v = this.#ephemeral.get(handle);\n return v ? bytesFromB64(v) : null;\n }\n throw new Error(`secret read failed: ${res.value}`);\n }\n async write(handle, value) {\n const valueB64 = b64FromBytes(value);\n const res = await this.helperCall(\"WRITE\", handle, valueB64);\n if (res.status === \"OK\") {\n this.#ephemeral.set(handle, valueB64);\n return res.value ? bytesFromB64(res.value) : null;\n }\n if (res.status === \"NOT_SUPPORTED\") {\n const old = this.#ephemeral.get(handle) ?? null;\n this.#ephemeral.set(handle, valueB64);\n return old ? bytesFromB64(old) : null;\n }\n throw new Error(`secret write failed: ${res.status === \"ERROR\" ? res.value : \"unknown\"}`);\n }\n async delete(handle) {\n const res = await this.helperCall(\"DELETE\", handle);\n if (res.status === \"OK\") {\n this.#ephemeral.delete(handle);\n return res.value ? bytesFromB64(res.value) : null;\n }\n if (res.status === \"MISSING\") {\n this.#ephemeral.delete(handle);\n return null;\n }\n if (res.status === \"NOT_SUPPORTED\") {\n const old = this.#ephemeral.get(handle) ?? null;\n this.#ephemeral.delete(handle);\n return old ? bytesFromB64(old) : null;\n }\n throw new Error(`secret delete failed: ${res.value}`);\n }\n}\nconst secrets = new SecretStore();\nconst POST = async ({ request }) => {\n const state = await request.json();\n if (state.stage !== \"has_code\") {\n return error(400, \"wrong state\");\n }\n const resp = await requestToken(state.device_code);\n if (resp.access_token) {\n secrets.write(\"gha_token\", Buffer.from(resp.access_token, \"utf-8\"));\n return json({ stage: \"completed\" });\n }\n state.last_attempt = resp.error;\n return json(state);\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { j as json } from './index-CoD1IJuy.js';
1
+ import { j as json } from './index-lhTMmBNn.js';
2
2
  import { c as reload } from './fileutil-DloN3u5O.js';
3
3
  import './log-Dgdg632G.js';
4
4
  import 'tslog';
@@ -13,4 +13,4 @@ const POST = async () => {
13
13
  };
14
14
 
15
15
  export { POST };
16
- //# sourceMappingURL=_server.ts-CfZtA_PK.js.map
16
+ //# sourceMappingURL=_server.ts-CLng4zD2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CfZtA_PK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/reload/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { c as reload } from \"../../../../chunks/fileutil.js\";\nconst POST = async () => {\n await reload();\n return json({ ok: true });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;AAEK,MAAC,IAAI,GAAG,YAAY;AACzB,EAAE,MAAM,MAAM,EAAE;AAChB,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
1
+ {"version":3,"file":"_server.ts-CLng4zD2.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/reload/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { c as reload } from \"../../../../chunks/fileutil.js\";\nconst POST = async () => {\n await reload();\n return json({ ok: true });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;AAEK,MAAC,IAAI,GAAG,YAAY;AACzB,EAAE,MAAM,MAAM,EAAE;AAChB,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { writeThemeConfig, readThemeSchema, clearCache } from '@phosart/common/server';
2
- import { j as json } from './index-CoD1IJuy.js';
2
+ import { j as json } from './index-lhTMmBNn.js';
3
3
  import { c as createLogger } from './log-Dgdg632G.js';
4
4
  import 'tslog';
5
5
 
@@ -13,4 +13,4 @@ const POST = async ({ request }) => {
13
13
  };
14
14
 
15
15
  export { POST };
16
- //# sourceMappingURL=_server.ts-D3Kn7ITK.js.map
16
+ //# sourceMappingURL=_server.ts-CR7NpJz0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D3Kn7ITK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/config/save/_server.ts.js"],"sourcesContent":["import { writeThemeConfig, readThemeSchema, clearCache } from \"@phosart/common/server\";\nimport { json } from \"@sveltejs/kit\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nconst logger = createLogger();\nconst POST = async ({ request }) => {\n logger.debug(\"Saving theme config...\");\n await writeThemeConfig(await readThemeSchema(), await request.json());\n clearCache();\n logger.info(\"Saved theme config\");\n return json({ ok: true });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;AAGA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC;AACxC,EAAE,MAAM,gBAAgB,CAAC,MAAM,eAAe,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvE,EAAE,UAAU,EAAE;AACd,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACnC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
1
+ {"version":3,"file":"_server.ts-CR7NpJz0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/config/save/_server.ts.js"],"sourcesContent":["import { writeThemeConfig, readThemeSchema, clearCache } from \"@phosart/common/server\";\nimport { json } from \"@sveltejs/kit\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nconst logger = createLogger();\nconst POST = async ({ request }) => {\n logger.debug(\"Saving theme config...\");\n await writeThemeConfig(await readThemeSchema(), await request.json());\n clearCache();\n logger.info(\"Saved theme config\");\n return json({ ok: true });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;AAGA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC;AACxC,EAAE,MAAM,gBAAgB,CAAC,MAAM,eAAe,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvE,EAAE,UAAU,EAAE;AACd,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACnC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { join } from 'node:path';
2
2
  import { rawCharacters, $ART } from '@phosart/common/server';
3
- import { e as error } from './index-CoD1IJuy.js';
3
+ import { e as error } from './index-lhTMmBNn.js';
4
4
  import { open } from 'node:fs/promises';
5
5
  import { a as asWebStream } from './fileutil-DloN3u5O.js';
6
6
  import { c as createLogger } from './log-Dgdg632G.js';
@@ -25,6 +25,8 @@ const GET = async ({ params }) => {
25
25
  logger.warn("Character thumbnail missing @", params.charactername);
26
26
  return error(404);
27
27
  }
28
+ } else if (params.type === "prefer-thumb") {
29
+ piece = character.thumbnail ?? character.picture;
28
30
  } else {
29
31
  logger.warn("Character image type invalid @", params.charactername, "type", params.type);
30
32
  return error(400);
@@ -39,4 +41,4 @@ const GET = async ({ params }) => {
39
41
  };
40
42
 
41
43
  export { GET };
42
- //# sourceMappingURL=_server.ts-K9h73FYX.js.map
44
+ //# sourceMappingURL=_server.ts-CV5o78gm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-CV5o78gm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/characters/_charactername_/_type_/original-image/_server.ts.js"],"sourcesContent":["import { join } from \"node:path\";\nimport { rawCharacters, $ART } from \"@phosart/common/server\";\nimport { error } from \"@sveltejs/kit\";\nimport { open } from \"node:fs/promises\";\nimport { a as asWebStream } from \"../../../../../../../chunks/fileutil.js\";\nimport { c as createLogger } from \"../../../../../../../chunks/log.js\";\nconst logger = createLogger();\nconst GET = async ({ params }) => {\n logger.silly(\"Fetching character image\", params.charactername, \"type\", params.type, \"...\");\n const character = (await rawCharacters())[params.charactername];\n if (!character) {\n logger.warn(\"Character\", params.charactername, \"not found\");\n return error(404);\n }\n let piece;\n if (params.type === \"full\") {\n piece = character.picture;\n } else if (params.type === \"thumb\") {\n if (character.thumbnail) {\n piece = character.thumbnail;\n } else {\n logger.warn(\"Character thumbnail missing @\", params.charactername);\n return error(404);\n }\n } else if (params.type === \"prefer-thumb\") {\n piece = character.thumbnail ?? character.picture;\n } else {\n logger.warn(\"Character image type invalid @\", params.charactername, \"type\", params.type);\n return error(400);\n }\n const path = join($ART(), \"characters\", piece.image);\n logger.silly(\"Serving character image @\", path);\n const file = await open(path);\n return new Response(asWebStream(file.createReadStream({ autoClose: true })), {\n status: 200,\n headers: {}\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;AAMA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;AAC5F,EAAE,MAAM,SAAS,GAAG,CAAC,MAAM,aAAa,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC;AACjE,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC;AAC/D,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC;AACrB,EAAE;AACF,EAAE,IAAI,KAAK;AACX,EAAE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;AAC9B,IAAI,KAAK,GAAG,SAAS,CAAC,OAAO;AAC7B,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AACtC,IAAI,IAAI,SAAS,CAAC,SAAS,EAAE;AAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS;AACjC,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC,aAAa,CAAC;AACxE,MAAM,OAAO,KAAK,CAAC,GAAG,CAAC;AACvB,IAAI;AACJ,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE;AAC7C,IAAI,KAAK,GAAG,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO;AACpD,EAAE,CAAC,MAAM;AACT,IAAI,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;AAC5F,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC;AACrB,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC;AACtD,EAAE,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,IAAI,CAAC;AACjD,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;AAC/B,EAAE,OAAO,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;AAC/E,IAAI,MAAM,EAAE,GAAG;AACf,IAAI,OAAO,EAAE;AACb,GAAG,CAAC;AACJ;;;;"}