@phosart/devtool 0.2.34 → 0.2.36
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.
- package/build/client/_app/immutable/chunks/BC5AZBzH.js +1 -0
- package/build/client/_app/immutable/chunks/BC5AZBzH.js.br +2 -0
- package/build/client/_app/immutable/chunks/BC5AZBzH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CqY3AcBN.js → BElq_XEq.js} +1 -1
- package/build/client/_app/immutable/chunks/BElq_XEq.js.br +0 -0
- package/build/client/_app/immutable/chunks/BElq_XEq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Ufa143ku.js → BMqq69yj.js} +1 -1
- package/build/client/_app/immutable/chunks/BMqq69yj.js.br +0 -0
- package/build/client/_app/immutable/chunks/BMqq69yj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BX0yqstD.js +1 -0
- package/build/client/_app/immutable/chunks/BX0yqstD.js.br +0 -0
- package/build/client/_app/immutable/chunks/BX0yqstD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{C5h3_Ot-.js → BapUyEEz.js} +1 -1
- package/build/client/_app/immutable/chunks/BapUyEEz.js.br +0 -0
- package/build/client/_app/immutable/chunks/BapUyEEz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{ZoU2KXpG.js → BgqBztR4.js} +1 -1
- package/build/client/_app/immutable/chunks/BgqBztR4.js.br +0 -0
- package/build/client/_app/immutable/chunks/BgqBztR4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BkPVleVI.js +1 -0
- package/build/client/_app/immutable/chunks/BkPVleVI.js.br +0 -0
- package/build/client/_app/immutable/chunks/BkPVleVI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CCpTyc2V.js → C1WHYk-w.js} +2 -2
- package/build/client/_app/immutable/chunks/C1WHYk-w.js.br +0 -0
- package/build/client/_app/immutable/chunks/C1WHYk-w.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D4zO2klv.js +2 -0
- package/build/client/_app/immutable/chunks/D4zO2klv.js.br +0 -0
- package/build/client/_app/immutable/chunks/D4zO2klv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D8ahK2hV.js +1 -0
- package/build/client/_app/immutable/chunks/D8ahK2hV.js.br +0 -0
- package/build/client/_app/immutable/chunks/D8ahK2hV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DEphipGc.js +5 -0
- package/build/client/_app/immutable/chunks/DEphipGc.js.br +0 -0
- package/build/client/_app/immutable/chunks/DEphipGc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DGwW4Vhm.js +12 -0
- package/build/client/_app/immutable/chunks/DGwW4Vhm.js.br +0 -0
- package/build/client/_app/immutable/chunks/DGwW4Vhm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{OQPjhzqD.js → DaodlIRi.js} +1 -1
- package/build/client/_app/immutable/chunks/DaodlIRi.js.br +0 -0
- package/build/client/_app/immutable/chunks/DaodlIRi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BEZ4BwEV.js → DnCB-Z04.js} +1 -1
- package/build/client/_app/immutable/chunks/DnCB-Z04.js.br +3 -0
- package/build/client/_app/immutable/chunks/DnCB-Z04.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dv54ua4y.js +1 -0
- package/build/client/_app/immutable/chunks/Dv54ua4y.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dv54ua4y.js.gz +0 -0
- package/build/client/_app/immutable/chunks/LqcT1mfj.js +1 -0
- package/build/client/_app/immutable/chunks/LqcT1mfj.js.br +0 -0
- package/build/client/_app/immutable/chunks/LqcT1mfj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DW2Pu8pP.js → RS5wembv.js} +1 -1
- package/build/client/_app/immutable/chunks/RS5wembv.js.br +0 -0
- package/build/client/_app/immutable/chunks/RS5wembv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/q7Q3DzpZ.js +2 -0
- package/build/client/_app/immutable/chunks/q7Q3DzpZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/q7Q3DzpZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/whcYMTRi.js +1 -0
- package/build/client/_app/immutable/chunks/whcYMTRi.js.br +0 -0
- package/build/client/_app/immutable/chunks/whcYMTRi.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CazHxxo7.js +2 -0
- package/build/client/_app/immutable/entry/app.CazHxxo7.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CazHxxo7.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BSpLL2hH.js +1 -0
- package/build/client/_app/immutable/entry/start.BSpLL2hH.js.br +2 -0
- package/build/client/_app/immutable/entry/start.BSpLL2hH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.Cc8-o-kb.js +1 -0
- package/build/client/_app/immutable/nodes/0.Cc8-o-kb.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Cc8-o-kb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.jm-lpixt.js +1 -0
- package/build/client/_app/immutable/nodes/1.jm-lpixt.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.jm-lpixt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.C42ZVqhw.js +1 -0
- package/build/client/_app/immutable/nodes/2.C42ZVqhw.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.C42ZVqhw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.MjSjwkh-.js +1 -0
- package/build/client/_app/immutable/nodes/3.MjSjwkh-.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.MjSjwkh-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BTUdNQQ_.js +1 -0
- package/build/client/_app/immutable/nodes/4.BTUdNQQ_.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BTUdNQQ_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.mQmEJ5W-.js +1 -0
- package/build/client/_app/immutable/nodes/5.mQmEJ5W-.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.mQmEJ5W-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6._0JXYqRv.js +1 -0
- package/build/client/_app/immutable/nodes/6._0JXYqRv.js.br +0 -0
- package/build/client/_app/immutable/nodes/6._0JXYqRv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.B5agaVcR.js +1 -0
- package/build/client/_app/immutable/nodes/7.B5agaVcR.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.B5agaVcR.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-DhRNco_L.js → 0-DsKgJFvw.js} +3 -3
- package/build/server/chunks/0-DsKgJFvw.js.map +1 -0
- package/build/server/chunks/1-BWeJIc1A.js +9 -0
- package/build/server/chunks/{1-BKryxqI3.js.map → 1-BWeJIc1A.js.map} +1 -1
- package/build/server/chunks/{2-DhpJoOvO.js → 2-BeBpG3Gt.js} +4 -4
- package/build/server/chunks/2-BeBpG3Gt.js.map +1 -0
- package/build/server/chunks/{3-CJrNENYa.js → 3-DVjLhEJX.js} +4 -4
- package/build/server/chunks/3-DVjLhEJX.js.map +1 -0
- package/build/server/chunks/{4-C67qM_o9.js → 4-BoArdYfQ.js} +4 -4
- package/build/server/chunks/4-BoArdYfQ.js.map +1 -0
- package/build/server/chunks/{5-Pn0OLSS6.js → 5-Cb9j38_o.js} +4 -4
- package/build/server/chunks/5-Cb9j38_o.js.map +1 -0
- package/build/server/chunks/{6-CV402NdJ.js → 6-C3Culhtq.js} +4 -4
- package/build/server/chunks/6-C3Culhtq.js.map +1 -0
- package/build/server/chunks/{7-CoIOnWs-.js → 7-llyQrrbn.js} +6 -6
- package/build/server/chunks/7-llyQrrbn.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BmTpqcII.js → _page.svelte-BiWeMBAp.js} +7 -2
- package/build/server/chunks/_page.svelte-BiWeMBAp.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BKgp53kc.js → _page.svelte-CKA-D5y9.js} +7 -2
- package/build/server/chunks/_page.svelte-CKA-D5y9.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DU5g6zzB.js → _page.svelte-Ccoblq6A.js} +8 -3
- package/build/server/chunks/_page.svelte-Ccoblq6A.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BohS7rrY.js → _page.svelte-CfgccuHr.js} +7 -2
- package/build/server/chunks/_page.svelte-CfgccuHr.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DWtiWgQo.js → _page.svelte-CfumsQWR.js} +7 -2
- package/build/server/chunks/_page.svelte-CfumsQWR.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CSUOqbhb.js → _page.svelte-DmuKCwzv.js} +249 -214
- package/build/server/chunks/_page.svelte-DmuKCwzv.js.map +1 -0
- package/build/server/chunks/{_server.ts-CwlbssxP.js → _server.ts-BX9EOCce.js} +3 -3
- package/build/server/chunks/_server.ts-BX9EOCce.js.map +1 -0
- package/build/server/chunks/{_server.ts-DCWa9uDh.js → _server.ts-Bt1PHziR.js} +3 -3
- package/build/server/chunks/_server.ts-Bt1PHziR.js.map +1 -0
- package/build/server/chunks/{_server.ts-oUZBPZtX.js → _server.ts-Bt49rhYj.js} +4 -4
- package/build/server/chunks/{_server.ts-oUZBPZtX.js.map → _server.ts-Bt49rhYj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C2U0cCog.js → _server.ts-C4VM2PrZ.js} +4 -4
- package/build/server/chunks/_server.ts-C4VM2PrZ.js.map +1 -0
- package/build/server/chunks/{_server.ts-BKog1rxr.js → _server.ts-CUahXWhE.js} +2 -2
- package/build/server/chunks/_server.ts-CUahXWhE.js.map +1 -0
- package/build/server/chunks/{_server.ts-DY6A2fS3.js → _server.ts-CihRXpfp.js} +3 -3
- package/build/server/chunks/_server.ts-CihRXpfp.js.map +1 -0
- package/build/server/chunks/{_server.ts-Dql5jGEn.js → _server.ts-D3Kn7ITK.js} +2 -2
- package/build/server/chunks/_server.ts-D3Kn7ITK.js.map +1 -0
- package/build/server/chunks/{_server.ts-BrqT_2HC.js → _server.ts-DKllrQ92.js} +4 -4
- package/build/server/chunks/{_server.ts-BrqT_2HC.js.map → _server.ts-DKllrQ92.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DbamEmru.js → _server.ts-DPK-3jbk.js} +3 -3
- package/build/server/chunks/_server.ts-DPK-3jbk.js.map +1 -0
- package/build/server/chunks/{_server.ts-HN2ayIwi.js → _server.ts-DScwtPDh.js} +2 -2
- package/build/server/chunks/_server.ts-DScwtPDh.js.map +1 -0
- package/build/server/chunks/{_server.ts-oLkwtpyY.js → _server.ts-DVV4aYkL.js} +3 -3
- package/build/server/chunks/_server.ts-DVV4aYkL.js.map +1 -0
- package/build/server/chunks/{_server.ts-DMGTsh97.js → _server.ts-Dwpa1EV2.js} +3 -3
- package/build/server/chunks/_server.ts-Dwpa1EV2.js.map +1 -0
- package/build/server/chunks/{_server.ts-D8TszUMI.js → _server.ts-Lbj9p5U5.js} +4 -4
- package/build/server/chunks/{_server.ts-D8TszUMI.js.map → _server.ts-Lbj9p5U5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Co_H4e3-.js → _server.ts-YPQyENjN.js} +3 -3
- package/build/server/chunks/_server.ts-YPQyENjN.js.map +1 -0
- package/build/server/chunks/{cache-DMIdk3dZ.js → cache-BUlT0Syl.js} +3 -3
- package/build/server/chunks/cache-BUlT0Syl.js.map +1 -0
- package/build/server/chunks/{fileutil-DypIDpac.js → fileutil-Ckv64WTK.js} +2 -2
- package/build/server/chunks/fileutil-Ckv64WTK.js.map +1 -0
- package/build/server/chunks/{paths-COyPzvhX.js → paths-LWMPXYU2.js} +2 -2
- package/build/server/chunks/paths-LWMPXYU2.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +23 -23
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -3
- package/build/client/_app/immutable/chunks/8DN0m2PX.js +0 -1
- package/build/client/_app/immutable/chunks/8DN0m2PX.js.br +0 -0
- package/build/client/_app/immutable/chunks/8DN0m2PX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B0wafx7r.js +0 -1
- package/build/client/_app/immutable/chunks/B0wafx7r.js.br +0 -0
- package/build/client/_app/immutable/chunks/B0wafx7r.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BEZ4BwEV.js.br +0 -0
- package/build/client/_app/immutable/chunks/BEZ4BwEV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B_LQs9wL.js +0 -2
- package/build/client/_app/immutable/chunks/B_LQs9wL.js.br +0 -0
- package/build/client/_app/immutable/chunks/B_LQs9wL.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Be6d8HVb.js +0 -2
- package/build/client/_app/immutable/chunks/Be6d8HVb.js.br +0 -0
- package/build/client/_app/immutable/chunks/Be6d8HVb.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bef2gKm2.js +0 -1
- package/build/client/_app/immutable/chunks/Bef2gKm2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bef2gKm2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C5h3_Ot-.js.br +0 -0
- package/build/client/_app/immutable/chunks/C5h3_Ot-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CCpTyc2V.js.br +0 -0
- package/build/client/_app/immutable/chunks/CCpTyc2V.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CqY3AcBN.js.br +0 -0
- package/build/client/_app/immutable/chunks/CqY3AcBN.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DL-ZACyf.js +0 -1
- package/build/client/_app/immutable/chunks/DL-ZACyf.js.br +0 -0
- package/build/client/_app/immutable/chunks/DL-ZACyf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DW2Pu8pP.js.br +0 -0
- package/build/client/_app/immutable/chunks/DW2Pu8pP.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DZ9N6dCE.js +0 -1
- package/build/client/_app/immutable/chunks/DZ9N6dCE.js.br +0 -0
- package/build/client/_app/immutable/chunks/DZ9N6dCE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/IqRq0SNw.js +0 -5
- package/build/client/_app/immutable/chunks/IqRq0SNw.js.br +0 -0
- package/build/client/_app/immutable/chunks/IqRq0SNw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/OQPjhzqD.js.br +0 -0
- package/build/client/_app/immutable/chunks/OQPjhzqD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/P3QnGgP5.js +0 -1
- package/build/client/_app/immutable/chunks/P3QnGgP5.js.br +0 -0
- package/build/client/_app/immutable/chunks/P3QnGgP5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Tj8iQEiI.js +0 -1
- package/build/client/_app/immutable/chunks/Tj8iQEiI.js.br +0 -2
- package/build/client/_app/immutable/chunks/Tj8iQEiI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ufa143ku.js.br +0 -0
- package/build/client/_app/immutable/chunks/Ufa143ku.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ZoU2KXpG.js.br +0 -0
- package/build/client/_app/immutable/chunks/ZoU2KXpG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/dnIQExd9.js +0 -12
- package/build/client/_app/immutable/chunks/dnIQExd9.js.br +0 -0
- package/build/client/_app/immutable/chunks/dnIQExd9.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.PoJNINhw.js +0 -2
- package/build/client/_app/immutable/entry/app.PoJNINhw.js.br +0 -0
- package/build/client/_app/immutable/entry/app.PoJNINhw.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.B4uoplFo.js +0 -1
- package/build/client/_app/immutable/entry/start.B4uoplFo.js.br +0 -2
- package/build/client/_app/immutable/entry/start.B4uoplFo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DCzg76Qe.js +0 -1
- package/build/client/_app/immutable/nodes/0.DCzg76Qe.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DCzg76Qe.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.ClgiyYll.js +0 -1
- package/build/client/_app/immutable/nodes/1.ClgiyYll.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.ClgiyYll.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.C7teRzrj.js +0 -1
- package/build/client/_app/immutable/nodes/2.C7teRzrj.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.C7teRzrj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.sKteAMND.js +0 -1
- package/build/client/_app/immutable/nodes/3.sKteAMND.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.sKteAMND.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CPQMLUHZ.js +0 -1
- package/build/client/_app/immutable/nodes/4.CPQMLUHZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.CPQMLUHZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.N_zF592T.js +0 -1
- package/build/client/_app/immutable/nodes/5.N_zF592T.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.N_zF592T.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BUSb4Ab1.js +0 -1
- package/build/client/_app/immutable/nodes/6.BUSb4Ab1.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BUSb4Ab1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BJFxlTn2.js +0 -1
- package/build/client/_app/immutable/nodes/7.BJFxlTn2.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BJFxlTn2.js.gz +0 -0
- package/build/server/chunks/0-DhRNco_L.js.map +0 -1
- package/build/server/chunks/1-BKryxqI3.js +0 -9
- package/build/server/chunks/2-DhpJoOvO.js.map +0 -1
- package/build/server/chunks/3-CJrNENYa.js.map +0 -1
- package/build/server/chunks/4-C67qM_o9.js.map +0 -1
- package/build/server/chunks/5-Pn0OLSS6.js.map +0 -1
- package/build/server/chunks/6-CV402NdJ.js.map +0 -1
- package/build/server/chunks/7-CoIOnWs-.js.map +0 -1
- package/build/server/chunks/_page.svelte-BKgp53kc.js.map +0 -1
- package/build/server/chunks/_page.svelte-BmTpqcII.js.map +0 -1
- package/build/server/chunks/_page.svelte-BohS7rrY.js.map +0 -1
- package/build/server/chunks/_page.svelte-CSUOqbhb.js.map +0 -1
- package/build/server/chunks/_page.svelte-DU5g6zzB.js.map +0 -1
- package/build/server/chunks/_page.svelte-DWtiWgQo.js.map +0 -1
- package/build/server/chunks/_server.ts-BKog1rxr.js.map +0 -1
- package/build/server/chunks/_server.ts-C2U0cCog.js.map +0 -1
- package/build/server/chunks/_server.ts-Co_H4e3-.js.map +0 -1
- package/build/server/chunks/_server.ts-CwlbssxP.js.map +0 -1
- package/build/server/chunks/_server.ts-DCWa9uDh.js.map +0 -1
- package/build/server/chunks/_server.ts-DMGTsh97.js.map +0 -1
- package/build/server/chunks/_server.ts-DY6A2fS3.js.map +0 -1
- package/build/server/chunks/_server.ts-DbamEmru.js.map +0 -1
- package/build/server/chunks/_server.ts-Dql5jGEn.js.map +0 -1
- package/build/server/chunks/_server.ts-HN2ayIwi.js.map +0 -1
- package/build/server/chunks/_server.ts-oLkwtpyY.js.map +0 -1
- package/build/server/chunks/cache-DMIdk3dZ.js.map +0 -1
- package/build/server/chunks/fileutil-DypIDpac.js.map +0 -1
- package/build/server/chunks/paths-COyPzvhX.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-DWtiWgQo.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/artists/_page.svelte.js"],"sourcesContent":["import { G as ensure_array_like, F as stringify, w as attr, x as attr_class, N as clsx } from \"../../../chunks/index2.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../../chunks/exports.js\";\nimport \"../../../chunks/utils.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../../chunks/state.svelte.js\";\nimport { M as Modal, C as Collapsable } from \"../../../chunks/Modal.js\";\nimport { T as TextInput } from \"../../../chunks/TextInput.js\";\nimport { k as escape_html } from \"../../../chunks/context.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { data } = $$props;\n let artists = data.artists;\n let shiftDown = false;\n function renameKey(obj, from, to, overwrite = false) {\n if (to in obj && !overwrite) {\n return Object.assign({}, obj);\n }\n return Object.fromEntries(Object.entries(obj).map(([k, v]) => {\n if (k === from) {\n return [to, v];\n }\n return [k, v];\n }));\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<button class=\"my-4 w-full cursor-pointer rounded-2xl border p-3 hover:bg-gray-300 active:bg-gray-500\"><i class=\"fa-solid fa-plus\"></i> <span>Add Artist</span></button> <div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4\"><!--[-->`);\n const each_array = ensure_array_like(Object.entries(artists));\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n let [handle, artist] = each_array[i];\n {\n let modalRight = function($$renderer4) {\n $$renderer4.push(`<div class=\"flex items-stretch gap-x-3 py-1\"><div><button${attr_class(\"w-40 rounded-2xl border p-3 text-center\", void 0, {\n \"hover:bg-gray-300\": shiftDown,\n \"active:bg-gray-500\": shiftDown,\n \"cursor-pointer\": shiftDown,\n \"hover:font-bold\": !shiftDown,\n \"cursor-not-allowed\": !shiftDown\n })} style=\"line-height: 1;\"><div><i class=\"fa-solid fa-trash\"></i> <span class=\"font-normal\">Delete</span></div> <div class=\"text-[8pt]\">(requires shift-click)</div></button></div> <div>`);\n {\n $$renderer4.push(\"<!--[-->\");\n $$renderer4.push(`<button class=\"h-full cursor-pointer rounded-2xl border p-3 hover:bg-gray-300 active:bg-gray-500\"><i class=\"fa-regular fa-save\"></i> <span>Save</span></button>`);\n }\n $$renderer4.push(`<!--]--> `);\n {\n $$renderer4.push(\"<!--[!-->\");\n }\n $$renderer4.push(`<!--]--></div></div>`);\n };\n Modal($$renderer3, {\n title: `@${stringify(handle)}`,\n class: \"m-2 rounded-2xl border\",\n modalRight,\n children: ($$renderer4) => {\n var bind_get = () => handle;\n var bind_set = (v) => {\n artists = renameKey(artists, handle, v);\n };\n $$renderer4.push(`<div>`);\n TextInput($$renderer4, {\n label: \"Handle\",\n get value() {\n return bind_get();\n },\n set value($$value) {\n bind_set($$value);\n }\n });\n $$renderer4.push(`<!----> `);\n TextInput($$renderer4, {\n label: \"Name\",\n get value() {\n return artist.name;\n },\n set value($$value) {\n artist.name = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> <div><pre>Links</pre> <div class=\"grid\" style=\"grid-template-columns: 1fr 1fr auto auto;\"><!--[-->`);\n const each_array_1 = ensure_array_like(Object.keys(artist.links));\n for (let i2 = 0, $$length2 = each_array_1.length; i2 < $$length2; i2++) {\n let site = each_array_1[i2];\n var bind_get_1 = () => site;\n var bind_set_1 = (v) => {\n artist.links = renameKey(artist.links, site, v, false);\n };\n $$renderer4.push(`<div class=\"flex w-full items-center\">`);\n TextInput($$renderer4, {\n placeholder: \"site\",\n get value() {\n return bind_get_1();\n },\n set value($$value) {\n bind_set_1($$value);\n },\n label: \"\",\n icon: \"earth\"\n });\n $$renderer4.push(`<!----></div> <div class=\"flex w-full items-end\">`);\n TextInput($$renderer4, {\n placeholder: \"url\",\n label: \"\",\n icon: \"link\",\n get value() {\n return artist.links[site];\n },\n set value($$value) {\n artist.links[site] = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----></div> <button${attr(\"disabled\", i2 === 0, true)}${attr_class(clsx(i2 === 0 ? \"cursor-not-allowed text-gray-300\" : \"cursor-pointer hover:bg-gray-200 active:bg-gray-500\"))} title=\"Promote\"><i class=\"fa-regular fa-star\"></i></button> <button class=\"cursor-pointer hover:bg-gray-200 active:bg-gray-500\" title=\"Delete\"><i class=\"fa-regular fa-circle-xmark\"></i></button>`);\n }\n $$renderer4.push(`<!--]--> <button class=\"justify-left relative col-span-4 m-2 flex items-center justify-center rounded-xl border p-2 hover:bg-gray-300 active:bg-gray-400\"><i class=\"fa-solid fa-plus\"></i> <span>Add Link</span></button></div></div> <div>`);\n Collapsable($$renderer4, {\n title: \"Advanced\",\n class: \"my-3\",\n children: ($$renderer5) => {\n Collapsable($$renderer5, {\n title: \"JSON\",\n initial: false,\n class: \"mt-2 no-scrollbar overflow-scroll border-t border-gray-300 text-gray-400\",\n children: ($$renderer6) => {\n $$renderer6.push(`<pre class=\"text-gray-900\">${escape_html(JSON.stringify(artist, null, 4))}</pre>`);\n },\n $$slots: { default: true }\n });\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----></div></div>`);\n },\n $$slots: { modalRight: true, default: true }\n });\n }\n }\n $$renderer3.push(`<!--]--></div>`);\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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-BKog1rxr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/reload/_server.ts.js"],"sourcesContent":["import { clearProcessedHashes, clearCache, galleries, characters, artists, cleanUnusedHashes } from \"phosart-common/server\";\nimport { json } from \"@sveltejs/kit\";\nconst POST = async () => {\n clearProcessedHashes();\n clearCache();\n await galleries();\n await characters();\n await artists();\n await cleanUnusedHashes();\n return json({ ok: true });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;AAEK,MAAC,IAAI,GAAG,YAAY;AACzB,EAAE,oBAAoB,EAAE;AACxB,EAAE,UAAU,EAAE;AACd,EAAE,MAAM,SAAS,EAAE;AACnB,EAAE,MAAM,UAAU,EAAE;AACpB,EAAE,MAAM,OAAO,EAAE;AACjB,EAAE,MAAM,iBAAiB,EAAE;AAC3B,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-C2U0cCog.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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-Co_H4e3-.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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-CwlbssxP.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/gallery/_...gallerypath_/save/_server.ts.js"],"sourcesContent":["import { RawGallery, rawGalleries, clearCache, $ART } from \"phosart-common/server\";\nimport path from \"node:path\";\nimport { json, error } from \"@sveltejs/kit\";\nimport { stringify } from \"yaml\";\nimport { unlink, writeFile } from \"node:fs/promises\";\nimport { n as normalizeGalleryPath, a as isBaseGallery, g as getGalleryDir } from \"../../../../../../chunks/galleryutil.js\";\nimport { c as createLogger } from \"../../../../../../chunks/log.js\";\nimport { d as deleteResources, r as resolveWithinArt } from \"../../../../../../chunks/fileutil.js\";\nconst logger = createLogger();\nconst POST = async ({ request, params }) => {\n const galleryPath = normalizeGalleryPath(params.gallerypath);\n const gallery = await RawGallery.parseAsync(await request.json());\n const oldGalleries = await rawGalleries();\n logger.info(\"Saving gallery @\", galleryPath, \"...\");\n await saveGallery(galleryPath, gallery);\n clearCache();\n logger.info(\"Saved gallery @\", galleryPath);\n const newGalleries = await rawGalleries();\n const deletedReferences = getDiffedReferences(oldGalleries, newGalleries);\n if (deletedReferences.size > 0) {\n logger.warn(\n \"Found\",\n deletedReferences.size,\n \"image(s) without references after save. Deleting associated resources...\"\n );\n await deleteResources([...deletedReferences]);\n }\n return json({ ok: true });\n};\nfunction getDiffedReferences(oldGallery, newGallery) {\n return getReferences(oldGallery).difference(getReferences(newGallery));\n}\nfunction getReferences(gcache) {\n let refs = /* @__PURE__ */ new Set();\n for (const [gpath, gallery] of Object.entries(gcache)) {\n if (!isBaseGallery(gallery)) continue;\n refs = refs.union(getGalleryReferences(gpath, gallery));\n }\n return refs;\n}\nfunction getGalleryReferences(galleryPath, gallery) {\n const references = /* @__PURE__ */ new Set();\n const basePath = path.resolve(\n path.join($ART(), getGalleryDir(normalizeGalleryPath(galleryPath)))\n );\n for (const piece of gallery.pieces) {\n references.add(path.resolve(path.join(basePath, piece.image)));\n if (piece.video) {\n references.add(path.resolve(path.join(basePath, piece.video.full)));\n references.add(path.resolve(path.join(basePath, piece.video.thumb)));\n }\n if (piece.alts) {\n for (const alt of piece.alts) {\n references.add(path.resolve(path.join(basePath, alt.image)));\n if (alt.video) {\n references.add(path.resolve(path.join(basePath, alt.video.full)));\n references.add(path.resolve(path.join(basePath, alt.video.thumb)));\n }\n }\n }\n }\n return references;\n}\nasync function saveGallery(galleryPath, newGallery) {\n if (isBaseGallery(newGallery)) {\n for (const p of newGallery.pieces) {\n delete p.slug;\n }\n }\n const galleryFullPath = resolveWithinArt(path.join($ART(), galleryPath));\n if (!galleryFullPath) {\n logger.warn(\"Refusing to write gallery outside art root @\", galleryPath);\n throw error(400, \"invalid gallery path\");\n }\n logger.silly(\"Writing gallery yaml @\", galleryFullPath, \"...\");\n const yaml = stringify(newGallery, {\n blockQuote: true,\n collectionStyle: \"block\",\n defaultKeyType: \"PLAIN\",\n defaultStringType: \"PLAIN\",\n indent: 2\n });\n await writeFile(galleryFullPath, yaml, { encoding: \"utf-8\" });\n logger.debug(\"Wrote gallery yaml @\", galleryFullPath);\n}\nconst DELETE = async ({ params }) => {\n const galleryPath = normalizeGalleryPath(params.gallerypath);\n const gpath = resolveWithinArt(path.join($ART(), galleryPath));\n if (!gpath) {\n logger.warn(\"Refusing to delete gallery outside art root @\", galleryPath);\n throw error(400, \"invalid gallery path\");\n }\n const oldGalleries = await rawGalleries();\n logger.info(\"Deleting gallery @\", gpath, \"...\");\n await unlink(gpath);\n clearCache();\n logger.info(\"Deleted gallery @\", gpath);\n const newGalleries = await rawGalleries();\n const deletedReferences = getDiffedReferences(oldGalleries, newGalleries);\n if (deletedReferences.size > 0) {\n logger.warn(\n \"Found\",\n deletedReferences.size,\n \"image(s) without references after save. Deleting associated resources...\"\n );\n await deleteResources([...deletedReferences]);\n }\n return json({ ok: true });\n};\nexport {\n DELETE,\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-DCWa9uDh.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/gallery/_...gallerypath_/upload-image/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport path from \"node:path\";\nimport { $ART } from \"phosart-common/server\";\nimport { writeFile } from \"node:fs/promises\";\nimport { n as normalizeGalleryPath, g as getGalleryDir, b as getGalleryName } from \"../../../../../../chunks/galleryutil.js\";\nimport { g as getImageExtension } from \"../../../../../../chunks/fileutil2.js\";\nimport { r as resolveWithinArt, b as asNodeStream } from \"../../../../../../chunks/fileutil.js\";\nimport { spawn } from \"node:child_process\";\nimport { path as path$1 } from \"@ffmpeg-installer/ffmpeg\";\nimport { c as createLogger } from \"../../../../../../chunks/log.js\";\nimport { randomInt } from \"node:crypto\";\nconst logger = createLogger();\nconst POST = async ({ request, params }) => {\n const galleryPath = normalizeGalleryPath(params.gallerypath);\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 logger.info(\"Uploading gallery image\", fname, \"to\", galleryPath, \"with type\", ftype);\n const rand = String(Date.now()).slice(-5) + String(randomInt(4096));\n await uploadImage(galleryPath, f, fname, ftype, rand);\n if (ftype.startsWith(\"video\")) {\n logger.info(\"Generating thumbnail for video\", fname, \"@\", galleryPath, \"...\");\n const ffmpegInput = resolveWithinArt(\n path.join($ART(), getGalleryDir(galleryPath), relpath(galleryPath, fname, ftype, rand))\n );\n const ffmpegOutput = resolveWithinArt(\n path.join(\n $ART(),\n getGalleryDir(galleryPath),\n relpath(galleryPath, fname + \"_thumb\", \"image/jpeg\", rand)\n )\n );\n if (!ffmpegInput || !ffmpegOutput) {\n logger.warn(\"Refusing to write video thumbnail outside art root @\", galleryPath);\n throw error(400, \"invalid gallery path\");\n }\n const ffmpeg = spawn(path$1, [\n \"-i\",\n ffmpegInput,\n \"-vf\",\n \"select=eq(n\\\\,0)\",\n \"-vf\",\n \"scale=320:-2\",\n \"-q:v\",\n \"3\",\n ffmpegOutput,\n \"-y\"\n ]);\n try {\n await new Promise((resolve, reject) => {\n ffmpeg.once(\"close\", resolve);\n ffmpeg.on(\"error\", (err) => {\n reject(err);\n });\n });\n } catch (e) {\n logger.warn(\"Failed to generate video thumbnail:\", e);\n }\n }\n logger.info(\"Uploaded gallery image\", fname, \"to\", galleryPath);\n return json({\n fname: \"./\" + relpath(galleryPath, fname, ftype, rand),\n tname: \"./\" + relpath(galleryPath, fname + \"_thumb\", \"image/jpeg\", rand)\n });\n};\nasync function uploadImage(galleryPath, image, fname, ftype, rand) {\n const galleryDir = getGalleryDir(galleryPath);\n const fp = resolveWithinArt(\n path.join($ART(), galleryDir, relpath(galleryPath, fname, ftype, rand))\n );\n if (!fp) {\n logger.warn(\"Refusing to write gallery image outside art root @\", galleryPath);\n throw error(400, \"invalid gallery path\");\n }\n logger.silly(\"Writing gallery image @\", fp, \"for\", fname, \"...\");\n await writeFile(fp, asNodeStream(image.stream()), { encoding: \"utf-8\" });\n logger.debug(\"Wrote gallery image @\", fp);\n}\nfunction relpath(galleryPath, fname, ftype, rand) {\n const galleryName = getGalleryName(galleryPath);\n const safeName = fname.replaceAll(/[^A-Za-z0-9-_]|\\.\\./g, \"\");\n const ext = getImageExtension(ftype);\n return `${galleryName}_${safeName}_${rand}.${ext}`;\n}\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-DMGTsh97.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\";\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 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":";;;;;;;;;;;AAQA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;AACpC,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AACvE,EAAE,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE;AACnC,EAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;AACpE,EAAE,MAAM,cAAc,CAAC,UAAU,CAAC;AAClC,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;AACzE,EAAE,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE;AAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,2CAA2C,CAAC;AACvF,IAAI,MAAM,eAAe,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AAC3C,EAAE;AACF,EAAE,UAAU,EAAE;AACd,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;AACjC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;AACA,eAAe,cAAc,CAAC,UAAU,EAAE;AAC1C,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,iBAAiB,CAAC;AAC3E,EAAE,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,cAAc,EAAE,KAAK,CAAC;AAClE,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE;AACrC,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,eAAe,EAAE,OAAO;AAC5B,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,iBAAiB,EAAE,OAAO;AAC9B,IAAI,MAAM,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC9D,EAAE,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,cAAc,CAAC;AACzD;AACA,SAAS,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE;AAC3D,EAAE,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC;AACjD,EAAE,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC;AACjD,EAAE,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;AACpC;AACA,SAAS,gBAAgB,CAAC,UAAU,EAAE;AACtC,EAAE,MAAM,IAAI,mBAAmB,IAAI,GAAG,EAAE;AACxC,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,EAAE,OAAO,IAAI;AACb;AACA,SAAS,aAAa,CAAC,SAAS,EAAE;AAClC,EAAE,MAAM,UAAU,GAAG,EAAE;AACvB,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;AAChE,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,EAAE,IAAI,SAAS,CAAC,SAAS,EAAE;AAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACjF,EAAE;AACF,EAAE,OAAO,UAAU;AACnB;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-DY6A2fS3.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 {\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;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;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-DbamEmru.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/folder/_...folderpath_/_server.ts.js"],"sourcesContent":["import { $ART } from \"phosart-common/server\";\nimport path from \"node:path\";\nimport { error, json } from \"@sveltejs/kit\";\nimport { n as normalizeGalleryPath } from \"../../../../../chunks/galleryutil.js\";\nimport { mkdir } from \"node:fs/promises\";\nimport { c as createLogger } from \"../../../../../chunks/log.js\";\nimport { r as resolveWithinArt } from \"../../../../../chunks/fileutil.js\";\nconst logger = createLogger();\nconst PATCH = async ({ params }) => {\n const folderPath = normalizeGalleryPath(params.folderpath);\n const fullPath = resolveWithinArt(path.join($ART(), folderPath));\n if (!fullPath) {\n logger.warn(\"Refusing to create folder outside art root @\", folderPath);\n throw error(400, \"invalid folder path\");\n }\n logger.debug(\"Creating folder @\", fullPath, \"...\");\n await mkdir(fullPath, { recursive: true });\n logger.info(\"Created folder @\", fullPath);\n return json({ ok: true });\n};\nexport {\n PATCH\n};\n"],"names":[],"mappings":";;;;;;;;;;AAOA,MAAM,MAAM,GAAG,YAAY,EAAE;AACxB,MAAC,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AACpC,EAAE,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC;AAC5D,EAAE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;AAClE,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,UAAU,CAAC;AAC3E,IAAI,MAAM,KAAK,CAAC,GAAG,EAAE,qBAAqB,CAAC;AAC3C,EAAE;AACF,EAAE,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,QAAQ,EAAE,KAAK,CAAC;AACpD,EAAE,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC5C,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC;AAC3C,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-Dql5jGEn.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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-HN2ayIwi.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/artists/save/_server.ts.js"],"sourcesContent":["import { Artist, 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\";\nconst logger = createLogger();\nconst Artists = z.record(z.string(), Artist);\nconst POST = async ({ request }) => {\n const artists = await Artists.parseAsync(await request.json());\n logger.info(\"Saving artists:\", Object.keys(artists).length, \"entries...\");\n await saveArtists(artists);\n clearCache();\n logger.info(\"Saved artists\");\n return json({ ok: true });\n};\nasync function saveArtists(newArtists) {\n const galleryFullPath = path.join($ART(), \"artists.yaml\");\n logger.debug(\"Writing artists yaml @\", galleryFullPath, \"...\");\n const yaml = stringify(newArtists, {\n blockQuote: true,\n collectionStyle: \"block\",\n defaultKeyType: \"PLAIN\",\n defaultStringType: \"PLAIN\",\n indent: 2\n });\n await writeFile(galleryFullPath, yaml, { encoding: \"utf-8\" });\n logger.debug(\"Wrote artists yaml @\", galleryFullPath);\n}\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;AAOA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC;AACvC,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AAChE,EAAE,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC;AAC3E,EAAE,MAAM,WAAW,CAAC,OAAO,CAAC;AAC5B,EAAE,UAAU,EAAE;AACd,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;AAC9B,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B;AACA,eAAe,WAAW,CAAC,UAAU,EAAE;AACvC,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC;AAC3D,EAAE,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,eAAe,EAAE,KAAK,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE;AACrC,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,eAAe,EAAE,OAAO;AAC5B,IAAI,cAAc,EAAE,OAAO;AAC3B,IAAI,iBAAiB,EAAE,OAAO;AAC9B,IAAI,MAAM,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/D,EAAE,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,eAAe,CAAC;AACvD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-oLkwtpyY.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\";\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 });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache-DMIdk3dZ.js","sources":["../../../.svelte-kit/adapter-node/chunks/cache.js"],"sourcesContent":["import { readPack, writePack } from \"phosart-common/server\";\nimport { mkdir } from \"fs/promises\";\nimport { b as $SKIPSET, c as $CACHEDIR, a as $CACHEFILE, d as $FILESET } from \"./paths.js\";\nimport { c as createLogger } from \"./log.js\";\nconst logger = createLogger();\nasync function writeCache(posts) {\n logger.silly(\"Writing bluesky cachefile @\", $CACHEFILE(), \"...\");\n if (await mkdir($CACHEDIR(), { recursive: true })) {\n logger.debug(\"Created cachedir @\", $CACHEDIR(), \"...\");\n }\n await writePack($CACHEFILE(), posts);\n logger.debug(\"Wrote bluesky cachefile @\", $CACHEFILE());\n}\nasync function readCache() {\n try {\n logger.silly(\"Reading bluesky cachefile @\", $CACHEFILE(), \"...\");\n const cache = await readPack($CACHEFILE());\n logger.silly(\"Read bluesky cachefile @\", $CACHEFILE());\n return cache;\n } catch (err) {\n logger.info(\"Couldn't read bluesky cachefile @\", $CACHEFILE(), \"- will create it. Error:\", err);\n return [];\n }\n}\nasync function flushPerceptualHashCache(posts) {\n logger.silly(\"Writing bluesky phash cache @\", $FILESET(), \"...\");\n if (await mkdir($CACHEDIR(), { recursive: true })) {\n logger.debug(\"Created cachedir @\", $CACHEDIR(), \"...\");\n }\n await writePack($FILESET(), posts);\n logger.debug(\"Wrote bluesky phash cache @\", $FILESET());\n}\nasync function readPerceptualHashCache() {\n try {\n logger.silly(\"Reading bluesky phash cache @\", $FILESET(), \"...\");\n const cache = await readPack($FILESET());\n logger.silly(\"Read bluesky phash cache @\", $FILESET());\n return cache;\n } catch (err) {\n logger.info(\n \"Couldn't read bluesky phash cache @\",\n $FILESET(),\n \"- will create it. Error:\",\n err\n );\n return {};\n }\n}\nasync function writeSkipSet(ss) {\n logger.silly(\"Writing skipset @\", $SKIPSET(), \"...\");\n if (await mkdir($CACHEDIR(), { recursive: true })) {\n logger.debug(\"Created cachedir @\", $CACHEDIR(), \"...\");\n }\n await writePack($SKIPSET(), Object.fromEntries(Object.entries(ss).map(([k, v]) => [k, [...v]])));\n logger.debug(\"Wrote skipset @\", $SKIPSET());\n}\nasync function readSkipSet() {\n try {\n logger.silly(\"Reading skipset @\", $SKIPSET(), \"...\");\n const res = await readPack($SKIPSET());\n const value = Object.fromEntries(Object.entries(res).map(([k, v]) => [k, new Set(v)]));\n logger.silly(\"Read skipset @\", $SKIPSET());\n return value;\n } catch (err) {\n logger.info(\"Couldn't read skipset @\", $SKIPSET(), \"- will create it. Error:\", err);\n return {};\n }\n}\nexport {\n readCache as a,\n readPerceptualHashCache as b,\n writeCache as c,\n flushPerceptualHashCache as f,\n readSkipSet as r,\n writeSkipSet as w\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fileutil-DypIDpac.js","sources":["../../../.svelte-kit/adapter-node/chunks/fileutil.js"],"sourcesContent":["import { c as createLogger } from \"./log.js\";\nimport { $ART } from \"phosart-common/server\";\nimport { unlink } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { Readable } from \"node:stream\";\nconst logger = createLogger();\nfunction asNodeStream(web) {\n return Readable.fromWeb(web);\n}\nfunction asWebStream(node) {\n return Readable.toWeb(node);\n}\nfunction resolveWithinArt(targetPath) {\n const artRoot = path.resolve($ART());\n const resolved = path.resolve(targetPath);\n const relative = path.relative(artRoot, resolved);\n if (relative === \"\" || !relative.startsWith(\"..\") && !path.isAbsolute(relative)) {\n return resolved;\n }\n return null;\n}\nasync function deleteResources(deletions) {\n await Promise.all(\n deletions.map(async (resourcePath) => {\n const resolved = resolveWithinArt(resourcePath);\n if (!resolved) {\n logger.warn(\"Skipping delete outside art root @\", resourcePath);\n return;\n }\n logger.silly(\"Unlinking\", resolved, \"...\");\n await unlink(resolved);\n logger.info(\"Deleted\", resolved);\n })\n );\n}\nexport {\n asWebStream as a,\n asNodeStream as b,\n deleteResources as d,\n resolveWithinArt as r\n};\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,SAAS,YAAY,CAAC,GAAG,EAAE;AAC3B,EAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;AAC9B;AACA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;AAC7B;AACA,SAAS,gBAAgB,CAAC,UAAU,EAAE;AACtC,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACtC,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AAC3C,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;AACnD,EAAE,IAAI,QAAQ,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AACnF,IAAI,OAAO,QAAQ;AACnB,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,eAAe,eAAe,CAAC,SAAS,EAAE;AAC1C,EAAE,MAAM,OAAO,CAAC,GAAG;AACnB,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,YAAY,KAAK;AAC1C,MAAM,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC;AACrD,MAAM,IAAI,CAAC,QAAQ,EAAE;AACrB,QAAQ,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,YAAY,CAAC;AACvE,QAAQ;AACR,MAAM;AACN,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC;AAChD,MAAM,MAAM,MAAM,CAAC,QAAQ,CAAC;AAC5B,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;AACtC,IAAI,CAAC;AACL,GAAG;AACH;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths-COyPzvhX.js","sources":["../../../.svelte-kit/adapter-node/chunks/paths.js"],"sourcesContent":["import path from \"node:path\";\nimport { $ART } from \"phosart-common/server\";\nconst $CACHEDIR = () => path.join($ART(), \"..\", \"..\", \".cache\", \"bluesky\");\nconst $CACHEFILE = () => path.join($CACHEDIR(), \".posts.pack.gz\");\nconst $FILESET = () => path.join($CACHEDIR(), \".imgset2.pack.gz\");\nconst $SKIPSET = () => path.join($CACHEDIR(), \".skipset.pack.gz\");\nconst $IMGDIR = () => path.join($CACHEDIR(), \"images\");\nexport {\n $IMGDIR as $,\n $CACHEFILE as a,\n $SKIPSET as b,\n $CACHEDIR as c,\n $FILESET as d\n};\n"],"names":[],"mappings":";;;AAEK,MAAC,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS;AACpE,MAAC,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,gBAAgB;AAC3D,MAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,kBAAkB;AAC3D,MAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,kBAAkB;AAC3D,MAAC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ;;;;"}
|