@openpalm/ui 0.12.23 → 0.12.24
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/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/4.CzHhsSVi.css +1 -0
- package/build/client/_app/immutable/assets/4.CzHhsSVi.css.br +0 -0
- package/build/client/_app/immutable/assets/4.CzHhsSVi.css.gz +0 -0
- package/build/client/_app/immutable/chunks/{CP1N4Jy5.js → BZvI8D0l.js} +1 -1
- package/build/client/_app/immutable/chunks/BZvI8D0l.js.br +0 -0
- package/build/client/_app/immutable/chunks/BZvI8D0l.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CAAiIhwC.js → CN9NWPRG.js} +2 -2
- package/build/client/_app/immutable/chunks/CN9NWPRG.js.br +0 -0
- package/build/client/_app/immutable/chunks/CN9NWPRG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cfsw1BYg.js +1 -0
- package/build/client/_app/immutable/chunks/Cfsw1BYg.js.br +2 -0
- package/build/client/_app/immutable/chunks/Cfsw1BYg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BjCyXDZy.js → DBOzOkQr.js} +1 -1
- package/build/client/_app/immutable/chunks/DBOzOkQr.js.br +0 -0
- package/build/client/_app/immutable/chunks/DBOzOkQr.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CgDyA2Qw.js → DS6z9A2Z.js} +2 -2
- package/build/client/_app/immutable/chunks/DS6z9A2Z.js.br +0 -0
- package/build/client/_app/immutable/chunks/DS6z9A2Z.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DpHEXvQk.js → Dq1oAZ8H.js} +1 -1
- package/build/client/_app/immutable/chunks/Dq1oAZ8H.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dq1oAZ8H.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dw0lB87T.js +1 -0
- package/build/client/_app/immutable/chunks/Dw0lB87T.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dw0lB87T.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.BcL08IcT.js → app.DSfocukv.js} +2 -2
- package/build/client/_app/immutable/entry/app.DSfocukv.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DSfocukv.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.C3yzrLKg.js +1 -0
- package/build/client/_app/immutable/entry/start.C3yzrLKg.js.br +0 -0
- package/build/client/_app/immutable/entry/start.C3yzrLKg.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.AZnG4POF.js → 0.DMbZYw6u.js} +1 -1
- package/build/client/_app/immutable/nodes/0.DMbZYw6u.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DMbZYw6u.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.uNWROKRa.js → 1.BBpiUaWI.js} +1 -1
- package/build/client/_app/immutable/nodes/1.BBpiUaWI.js.br +2 -0
- package/build/client/_app/immutable/nodes/1.BBpiUaWI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DoyLB8a8.js +129 -0
- package/build/client/_app/immutable/nodes/4.DoyLB8a8.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DoyLB8a8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.rZSa9V3W.js → 5.6NLZWhAu.js} +1 -1
- package/build/client/_app/immutable/nodes/5.6NLZWhAu.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.6NLZWhAu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.DUAMcwSm.js → 6.B9QONIAb.js} +1 -1
- package/build/client/_app/immutable/nodes/6.B9QONIAb.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.B9QONIAb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.B1u5a8yO.js → 7.BKXvwyDy.js} +1 -1
- package/build/client/_app/immutable/nodes/7.BKXvwyDy.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BKXvwyDy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.DW8zKXS4.js → 8.i8lcX-Qr.js} +1 -1
- package/build/client/_app/immutable/nodes/8.i8lcX-Qr.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.i8lcX-Qr.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -1
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-DL6Jfu7F.js → 0-5S3uaxID.js} +2 -2
- package/build/server/chunks/{0-DL6Jfu7F.js.map → 0-5S3uaxID.js.map} +1 -1
- package/build/server/chunks/1-B0zhlFzV.js +9 -0
- package/build/server/chunks/{1-B2LhxwPN.js.map → 1-B0zhlFzV.js.map} +1 -1
- package/build/server/chunks/{10-DQCiYDxy.js → 10-e3t7Y3fG.js} +5 -5
- package/build/server/chunks/{10-DQCiYDxy.js.map → 10-e3t7Y3fG.js.map} +1 -1
- package/build/server/chunks/4-DmkUg3Z2.js +9 -0
- package/build/server/chunks/{4-2GARyIXu.js.map → 4-DmkUg3Z2.js.map} +1 -1
- package/build/server/chunks/{5-BPq_SUbr.js → 5-BOBtf4DD.js} +3 -3
- package/build/server/chunks/{5-BPq_SUbr.js.map → 5-BOBtf4DD.js.map} +1 -1
- package/build/server/chunks/6-DfInar15.js +9 -0
- package/build/server/chunks/{6-Bnw_JRXO.js.map → 6-DfInar15.js.map} +1 -1
- package/build/server/chunks/{7-ZktGMDHm.js → 7-DO1xiNVZ.js} +3 -3
- package/build/server/chunks/{7-ZktGMDHm.js.map → 7-DO1xiNVZ.js.map} +1 -1
- package/build/server/chunks/{8-V3DHLq7L.js → 8-D0ZydR0I.js} +3 -3
- package/build/server/chunks/{8-V3DHLq7L.js.map → 8-D0ZydR0I.js.map} +1 -1
- package/build/server/chunks/{Navbar-CRs8Q1Ed.js → Navbar-BdduwS9E.js} +3 -3
- package/build/server/chunks/{Navbar-CRs8Q1Ed.js.map → Navbar-BdduwS9E.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-D6dWiRVl.js → _page.svelte-BdD-zi-U.js} +15 -8
- package/build/server/chunks/_page.svelte-BdD-zi-U.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CXr3izpr.js → _page.svelte-BeYhivmB.js} +3 -3
- package/build/server/chunks/{_page.svelte-CXr3izpr.js.map → _page.svelte-BeYhivmB.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-m5t0OVcz.js → _page.svelte-Bos81IpL.js} +5 -5
- package/build/server/chunks/{_page.svelte-m5t0OVcz.js.map → _page.svelte-Bos81IpL.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BtDkjht-.js → _page.svelte-DC1nT5EA.js} +5 -5
- package/build/server/chunks/{_page.svelte-BtDkjht-.js.map → _page.svelte-DC1nT5EA.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Lhm6ya_b.js → _page.svelte-D_TSeHo6.js} +3 -3
- package/build/server/chunks/{_page.svelte-Lhm6ya_b.js.map → _page.svelte-D_TSeHo6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-m1RQkdUW.js → _server.ts--i09eclI.js} +5 -5
- package/build/server/chunks/{_server.ts-m1RQkdUW.js.map → _server.ts--i09eclI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DlONqa0N.js → _server.ts-3iaU0NNb.js} +6 -6
- package/build/server/chunks/{_server.ts-DlONqa0N.js.map → _server.ts-3iaU0NNb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BwQSiREZ.js → _server.ts-3sZzRLTm.js} +5 -5
- package/build/server/chunks/{_server.ts-BwQSiREZ.js.map → _server.ts-3sZzRLTm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DgU1uBsl.js → _server.ts-4zMyzrMr.js} +5 -5
- package/build/server/chunks/{_server.ts-DgU1uBsl.js.map → _server.ts-4zMyzrMr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bw_r9OtK.js → _server.ts-5iFKoEJK.js} +5 -5
- package/build/server/chunks/{_server.ts-Bw_r9OtK.js.map → _server.ts-5iFKoEJK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DBFkIfX3.js → _server.ts-5ni6YC3v.js} +5 -5
- package/build/server/chunks/{_server.ts-DBFkIfX3.js.map → _server.ts-5ni6YC3v.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BJd_BeRX.js → _server.ts-B2TVOaxK.js} +5 -5
- package/build/server/chunks/{_server.ts-BJd_BeRX.js.map → _server.ts-B2TVOaxK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C8xyXBY5.js → _server.ts-B39VCoKr.js} +6 -6
- package/build/server/chunks/{_server.ts-C8xyXBY5.js.map → _server.ts-B39VCoKr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D0RXp78c.js → _server.ts-B4w88IQZ.js} +5 -5
- package/build/server/chunks/{_server.ts-D0RXp78c.js.map → _server.ts-B4w88IQZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-a1r-EHX0.js → _server.ts-B7lL3gvR.js} +6 -6
- package/build/server/chunks/{_server.ts-a1r-EHX0.js.map → _server.ts-B7lL3gvR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-vpAn0Uxn.js → _server.ts-B7nWwyRj.js} +6 -6
- package/build/server/chunks/{_server.ts-vpAn0Uxn.js.map → _server.ts-B7nWwyRj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Q60q44Je.js → _server.ts-BAn5EbRZ.js} +5 -5
- package/build/server/chunks/{_server.ts-Q60q44Je.js.map → _server.ts-BAn5EbRZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-RfzeE7tM.js → _server.ts-BETqVq-l.js} +2 -2
- package/build/server/chunks/{_server.ts-RfzeE7tM.js.map → _server.ts-BETqVq-l.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Eq4SzuV_.js → _server.ts-BHygrpPe.js} +5 -5
- package/build/server/chunks/{_server.ts-Eq4SzuV_.js.map → _server.ts-BHygrpPe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DtVcRD5A.js → _server.ts-BKWHn8TD.js} +5 -5
- package/build/server/chunks/{_server.ts-DtVcRD5A.js.map → _server.ts-BKWHn8TD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CWNf8Ve1.js → _server.ts-BRTpEMv4.js} +5 -5
- package/build/server/chunks/{_server.ts-CWNf8Ve1.js.map → _server.ts-BRTpEMv4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-cHc1drrp.js → _server.ts-BWxlJGjY.js} +2 -2
- package/build/server/chunks/{_server.ts-cHc1drrp.js.map → _server.ts-BWxlJGjY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DBRLxv1J.js → _server.ts-BX1qIZ3D.js} +6 -6
- package/build/server/chunks/{_server.ts-DBRLxv1J.js.map → _server.ts-BX1qIZ3D.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BghreOti.js → _server.ts-BXVXOwdX.js} +5 -5
- package/build/server/chunks/{_server.ts-BghreOti.js.map → _server.ts-BXVXOwdX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BdPGrcpF.js → _server.ts-BXZ2vAz8.js} +5 -5
- package/build/server/chunks/{_server.ts-BdPGrcpF.js.map → _server.ts-BXZ2vAz8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CaZ1wy9x.js → _server.ts-BZ7ABoXr.js} +7 -7
- package/build/server/chunks/{_server.ts-CaZ1wy9x.js.map → _server.ts-BZ7ABoXr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DxYoYjKM.js → _server.ts-BjrnLNI_.js} +5 -5
- package/build/server/chunks/{_server.ts-DxYoYjKM.js.map → _server.ts-BjrnLNI_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CJWPhww2.js → _server.ts-Bn4xiHd2.js} +5 -5
- package/build/server/chunks/{_server.ts-CJWPhww2.js.map → _server.ts-Bn4xiHd2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BMTnompE.js → _server.ts-BqNGMIQl.js} +5 -5
- package/build/server/chunks/{_server.ts-BMTnompE.js.map → _server.ts-BqNGMIQl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-7h410aJe.js → _server.ts-Bt3Gz9i2.js} +5 -5
- package/build/server/chunks/{_server.ts-7h410aJe.js.map → _server.ts-Bt3Gz9i2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BjSX-JsT.js → _server.ts-C0sRyza2.js} +6 -6
- package/build/server/chunks/{_server.ts-BjSX-JsT.js.map → _server.ts-C0sRyza2.js.map} +1 -1
- package/build/server/chunks/_server.ts-C0uohZZJ.js +124 -0
- package/build/server/chunks/_server.ts-C0uohZZJ.js.map +1 -0
- package/build/server/chunks/{_server.ts-DXMBj9CH.js → _server.ts-C2tDij72.js} +8 -8
- package/build/server/chunks/{_server.ts-DXMBj9CH.js.map → _server.ts-C2tDij72.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CBEVK-Yt.js → _server.ts-C45HfZzj.js} +2 -2
- package/build/server/chunks/{_server.ts-CBEVK-Yt.js.map → _server.ts-C45HfZzj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Zui06dcA.js → _server.ts-C7S5UlT9.js} +5 -5
- package/build/server/chunks/{_server.ts-Zui06dcA.js.map → _server.ts-C7S5UlT9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BokcuCWE.js → _server.ts-CAZnTaf4.js} +6 -6
- package/build/server/chunks/{_server.ts-BokcuCWE.js.map → _server.ts-CAZnTaf4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-nVEAwKYe.js → _server.ts-CCT-Q98G.js} +5 -5
- package/build/server/chunks/{_server.ts-nVEAwKYe.js.map → _server.ts-CCT-Q98G.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bi33i7c7.js → _server.ts-CEBUknf-.js} +2 -2
- package/build/server/chunks/{_server.ts-Bi33i7c7.js.map → _server.ts-CEBUknf-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-XhNvTVYt.js → _server.ts-CFu8oqaP.js} +5 -5
- package/build/server/chunks/{_server.ts-XhNvTVYt.js.map → _server.ts-CFu8oqaP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cdq3e7xA.js → _server.ts-CG0dJUzI.js} +5 -5
- package/build/server/chunks/{_server.ts-Cdq3e7xA.js.map → _server.ts-CG0dJUzI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CLt4mqCt.js → _server.ts-CGyVcHQb.js} +7 -7
- package/build/server/chunks/{_server.ts-CLt4mqCt.js.map → _server.ts-CGyVcHQb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DeDvsRmd.js → _server.ts-CIMyFU01.js} +5 -5
- package/build/server/chunks/{_server.ts-DeDvsRmd.js.map → _server.ts-CIMyFU01.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtVWuskm.js → _server.ts-CKAiknbX.js} +2 -2
- package/build/server/chunks/{_server.ts-CtVWuskm.js.map → _server.ts-CKAiknbX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CiWKQbiz.js → _server.ts-CNLUsI14.js} +5 -5
- package/build/server/chunks/{_server.ts-CiWKQbiz.js.map → _server.ts-CNLUsI14.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Do8_4nUh.js → _server.ts-CR37rwCF.js} +5 -5
- package/build/server/chunks/{_server.ts-Do8_4nUh.js.map → _server.ts-CR37rwCF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eYpUsioT.js → _server.ts-CR9chs_D.js} +6 -6
- package/build/server/chunks/{_server.ts-eYpUsioT.js.map → _server.ts-CR9chs_D.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BFQCNuCf.js → _server.ts-CXDUAQNg.js} +5 -5
- package/build/server/chunks/{_server.ts-BFQCNuCf.js.map → _server.ts-CXDUAQNg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4WOD37G.js → _server.ts-CZQgGX-g.js} +5 -5
- package/build/server/chunks/{_server.ts-C4WOD37G.js.map → _server.ts-CZQgGX-g.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CwPqNJOY.js → _server.ts-CbFuCir1.js} +5 -5
- package/build/server/chunks/{_server.ts-CwPqNJOY.js.map → _server.ts-CbFuCir1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-j1haXquD.js → _server.ts-CdUuHKoN.js} +5 -5
- package/build/server/chunks/{_server.ts-j1haXquD.js.map → _server.ts-CdUuHKoN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-KuD8Wpms.js → _server.ts-CfzcJXJ5.js} +5 -5
- package/build/server/chunks/{_server.ts-KuD8Wpms.js.map → _server.ts-CfzcJXJ5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BeXMVrJG.js → _server.ts-Ch0DdI96.js} +5 -5
- package/build/server/chunks/{_server.ts-BeXMVrJG.js.map → _server.ts-Ch0DdI96.js.map} +1 -1
- package/build/server/chunks/{_server.ts-vZTWdH4v.js → _server.ts-CkIu2zwY.js} +5 -5
- package/build/server/chunks/{_server.ts-vZTWdH4v.js.map → _server.ts-CkIu2zwY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BLnGiLfS.js → _server.ts-CkJ4ETAZ.js} +4 -4
- package/build/server/chunks/{_server.ts-BLnGiLfS.js.map → _server.ts-CkJ4ETAZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Rigt7lcd.js → _server.ts-CpfSKJtM.js} +7 -7
- package/build/server/chunks/{_server.ts-Rigt7lcd.js.map → _server.ts-CpfSKJtM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BaqsSmFS.js → _server.ts-CtrbaxJB.js} +5 -5
- package/build/server/chunks/{_server.ts-BaqsSmFS.js.map → _server.ts-CtrbaxJB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B7oFBy_Y.js → _server.ts-Cvq8Wmsr.js} +6 -6
- package/build/server/chunks/{_server.ts-B7oFBy_Y.js.map → _server.ts-Cvq8Wmsr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DY8vqCzu.js → _server.ts-D3NR9BPE.js} +5 -5
- package/build/server/chunks/{_server.ts-DY8vqCzu.js.map → _server.ts-D3NR9BPE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-k9P3ZBDK.js → _server.ts-D3upA63E.js} +5 -5
- package/build/server/chunks/{_server.ts-k9P3ZBDK.js.map → _server.ts-D3upA63E.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ChI4fTd4.js → _server.ts-D3vSRubR.js} +5 -5
- package/build/server/chunks/{_server.ts-ChI4fTd4.js.map → _server.ts-D3vSRubR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DiUBKtYa.js → _server.ts-D5QPXL2V.js} +5 -5
- package/build/server/chunks/{_server.ts-DiUBKtYa.js.map → _server.ts-D5QPXL2V.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CRY9d7-F.js → _server.ts-D5r5D1Rw.js} +5 -5
- package/build/server/chunks/{_server.ts-CRY9d7-F.js.map → _server.ts-D5r5D1Rw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ll-0r5dM.js → _server.ts-D7YXh0GY.js} +5 -5
- package/build/server/chunks/{_server.ts-ll-0r5dM.js.map → _server.ts-D7YXh0GY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D9jCVXyy.js → _server.ts-DBK5qk2D.js} +5 -5
- package/build/server/chunks/{_server.ts-D9jCVXyy.js.map → _server.ts-DBK5qk2D.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C3asto5q.js → _server.ts-DDoGJROJ.js} +5 -5
- package/build/server/chunks/{_server.ts-C3asto5q.js.map → _server.ts-DDoGJROJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DN9DIE7V.js → _server.ts-DG0VUjvg.js} +6 -6
- package/build/server/chunks/{_server.ts-DN9DIE7V.js.map → _server.ts-DG0VUjvg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-pLD7Xu.js → _server.ts-DGG1u7lz.js} +5 -5
- package/build/server/chunks/{_server.ts-D-pLD7Xu.js.map → _server.ts-DGG1u7lz.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGzgULKV.js → _server.ts-DHmDxJbO.js} +5 -5
- package/build/server/chunks/{_server.ts-CGzgULKV.js.map → _server.ts-DHmDxJbO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C2dpWx7K.js → _server.ts-DJ8DiMyO.js} +4 -4
- package/build/server/chunks/{_server.ts-C2dpWx7K.js.map → _server.ts-DJ8DiMyO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DvsmHJew.js → _server.ts-DPFshoJD.js} +5 -5
- package/build/server/chunks/{_server.ts-DvsmHJew.js.map → _server.ts-DPFshoJD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dc-DuHRl.js → _server.ts-DVn0oLrO.js} +5 -5
- package/build/server/chunks/{_server.ts-Dc-DuHRl.js.map → _server.ts-DVn0oLrO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DueQnU1L.js → _server.ts-DW-9jJNt.js} +6 -6
- package/build/server/chunks/{_server.ts-DueQnU1L.js.map → _server.ts-DW-9jJNt.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BEsxh5-r.js → _server.ts-DWW9O31w.js} +7 -7
- package/build/server/chunks/{_server.ts-BEsxh5-r.js.map → _server.ts-DWW9O31w.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DVJYo8_h.js → _server.ts-DYvSsXO9.js} +6 -6
- package/build/server/chunks/{_server.ts-DVJYo8_h.js.map → _server.ts-DYvSsXO9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CAlt9gW0.js → _server.ts-DaKPqsd7.js} +5 -5
- package/build/server/chunks/{_server.ts-CAlt9gW0.js.map → _server.ts-DaKPqsd7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C0b2kLwv.js → _server.ts-DhDRx2uq.js} +5 -5
- package/build/server/chunks/{_server.ts-C0b2kLwv.js.map → _server.ts-DhDRx2uq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DNQDl4In.js → _server.ts-DilgWlk8.js} +5 -5
- package/build/server/chunks/{_server.ts-DNQDl4In.js.map → _server.ts-DilgWlk8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Byn8EbtL.js → _server.ts-DiyMnu38.js} +7 -7
- package/build/server/chunks/{_server.ts-Byn8EbtL.js.map → _server.ts-DiyMnu38.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BIJomr8k.js → _server.ts-Dn1LCo5t.js} +5 -5
- package/build/server/chunks/{_server.ts-BIJomr8k.js.map → _server.ts-Dn1LCo5t.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D_iVYIT5.js → _server.ts-Dqf43bqQ.js} +5 -5
- package/build/server/chunks/{_server.ts-D_iVYIT5.js.map → _server.ts-Dqf43bqQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-iKClbuyO.js → _server.ts-DxqjZj8C.js} +5 -5
- package/build/server/chunks/{_server.ts-iKClbuyO.js.map → _server.ts-DxqjZj8C.js.map} +1 -1
- package/build/server/chunks/{_server.ts-k5rG5cUI.js → _server.ts-QiB3mAGW.js} +7 -7
- package/build/server/chunks/{_server.ts-k5rG5cUI.js.map → _server.ts-QiB3mAGW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BcIPGO7x.js → _server.ts-R8K8PkTv.js} +5 -5
- package/build/server/chunks/{_server.ts-BcIPGO7x.js.map → _server.ts-R8K8PkTv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C8LFsdDG.js → _server.ts-XF5sBZVL.js} +5 -5
- package/build/server/chunks/{_server.ts-C8LFsdDG.js.map → _server.ts-XF5sBZVL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CQH5FEPp.js → _server.ts-bgbvtpkp.js} +6 -6
- package/build/server/chunks/{_server.ts-CQH5FEPp.js.map → _server.ts-bgbvtpkp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DH2KwFMm.js → _server.ts-dt78wkuI.js} +5 -5
- package/build/server/chunks/{_server.ts-DH2KwFMm.js.map → _server.ts-dt78wkuI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DQCc-bcg.js → _server.ts-oIWdjzJ-.js} +5 -5
- package/build/server/chunks/{_server.ts-DQCc-bcg.js.map → _server.ts-oIWdjzJ-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BTeSTLAx.js → _server.ts-oNK_S3DU.js} +25 -32
- package/build/server/chunks/_server.ts-oNK_S3DU.js.map +1 -0
- package/build/server/chunks/{_server.ts-B-io71lH.js → _server.ts-pORA5lRU.js} +5 -5
- package/build/server/chunks/{_server.ts-B-io71lH.js.map → _server.ts-pORA5lRU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C_qyw2yL.js → _server.ts-zieKjDp6.js} +5 -5
- package/build/server/chunks/{_server.ts-C_qyw2yL.js.map → _server.ts-zieKjDp6.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-kNrSUlMe.js → addon-helpers-CqAq5iXG.js} +3 -3
- package/build/server/chunks/{addon-helpers-kNrSUlMe.js.map → addon-helpers-CqAq5iXG.js.map} +1 -1
- package/build/server/chunks/{akm-IP8X7RlR.js → akm-BhFHgeMm.js} +2 -2
- package/build/server/chunks/{akm-IP8X7RlR.js.map → akm-BhFHgeMm.js.map} +1 -1
- package/build/server/chunks/{catalog-DcLI63rn.js → catalog-BUYQNKuu.js} +5 -5
- package/build/server/chunks/{catalog-DcLI63rn.js.map → catalog-BUYQNKuu.js.map} +1 -1
- package/build/server/chunks/{client-CIUwkogU.js → client-FX9aGmMn.js} +2 -2
- package/build/server/chunks/{client-CIUwkogU.js.map → client-FX9aGmMn.js.map} +1 -1
- package/build/server/chunks/{config-EKy5PAZU.js → config-BbBq0dxu.js} +2 -2
- package/build/server/chunks/{config-EKy5PAZU.js.map → config-BbBq0dxu.js.map} +1 -1
- package/build/server/chunks/{docker-BhJS_Y28.js → docker-Bo5zuu3x.js} +2 -2
- package/build/server/chunks/{docker-BhJS_Y28.js.map → docker-Bo5zuu3x.js.map} +1 -1
- package/build/server/chunks/{endpoints-Dq-IqF1t.js → endpoints-CW4XfwZB.js} +2 -2
- package/build/server/chunks/{endpoints-Dq-IqF1t.js.map → endpoints-CW4XfwZB.js.map} +1 -1
- package/build/server/chunks/{error.svelte-Dbj-WAaz.js → error.svelte-C2ifZORN.js} +4 -4
- package/build/server/chunks/{error.svelte-Dbj-WAaz.js.map → error.svelte-C2ifZORN.js.map} +1 -1
- package/build/server/chunks/{helpers-s8d3gE38.js → helpers-Bgl3bxCI.js} +3 -3
- package/build/server/chunks/{helpers-s8d3gE38.js.map → helpers-Bgl3bxCI.js.map} +1 -1
- package/build/server/chunks/{hooks.server-Cy1D3efR.js → hooks.server-Bj4VbrYN.js} +7 -7
- package/build/server/chunks/{hooks.server-Cy1D3efR.js.map → hooks.server-Bj4VbrYN.js.map} +1 -1
- package/build/server/chunks/{http-BCF8LO-V.js → http-DPJjMdf6.js} +2 -2
- package/build/server/chunks/{http-BCF8LO-V.js.map → http-DPJjMdf6.js.map} +1 -1
- package/build/server/chunks/{internal-CcLms467.js → internal-B85OqYbb.js} +3 -3
- package/build/server/chunks/{internal-CcLms467.js.map → internal-B85OqYbb.js.map} +1 -1
- package/build/server/chunks/{migration-status-BgiG_Rm6.js → migration-status-xPkphn8b.js} +2 -2
- package/build/server/chunks/{migration-status-BgiG_Rm6.js.map → migration-status-xPkphn8b.js.map} +1 -1
- package/build/server/chunks/{session-cookie-F6DkHp5H.js → session-cookie-BJJLDvsC.js} +2 -2
- package/build/server/chunks/{session-cookie-F6DkHp5H.js.map → session-cookie-BJJLDvsC.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-BtgW_nbb.js → setup-deploy-CYfgQCxa.js} +2 -2
- package/build/server/chunks/{setup-deploy-BtgW_nbb.js.map → setup-deploy-CYfgQCxa.js.map} +1 -1
- package/build/server/chunks/{src-BN-m14sE.js → src-CPvq2g1p.js} +32 -3
- package/build/server/chunks/src-CPvq2g1p.js.map +1 -0
- package/build/server/chunks/{state-BjAIjYtQ.js → state-lPKKJ0RQ.js} +2 -2
- package/build/server/chunks/{state-BjAIjYtQ.js.map → state-lPKKJ0RQ.js.map} +1 -1
- package/build/server/chunks/{state2-CeseXnTO.js → state2--uy0UwF_.js} +2 -2
- package/build/server/chunks/{state2-CeseXnTO.js.map → state2--uy0UwF_.js.map} +1 -1
- package/build/server/index.js +1 -1
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +100 -93
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/assets/4.DQdAwaDZ.css +0 -1
- package/build/client/_app/immutable/assets/4.DQdAwaDZ.css.br +0 -0
- package/build/client/_app/immutable/assets/4.DQdAwaDZ.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B88bDQ93.js +0 -1
- package/build/client/_app/immutable/chunks/B88bDQ93.js.br +0 -2
- package/build/client/_app/immutable/chunks/B88bDQ93.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BjCyXDZy.js.br +0 -0
- package/build/client/_app/immutable/chunks/BjCyXDZy.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CAAiIhwC.js.br +0 -0
- package/build/client/_app/immutable/chunks/CAAiIhwC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CP1N4Jy5.js.br +0 -0
- package/build/client/_app/immutable/chunks/CP1N4Jy5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CgDyA2Qw.js.br +0 -0
- package/build/client/_app/immutable/chunks/CgDyA2Qw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DpHEXvQk.js.br +0 -0
- package/build/client/_app/immutable/chunks/DpHEXvQk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dr8nRIOR.js +0 -1
- package/build/client/_app/immutable/chunks/Dr8nRIOR.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dr8nRIOR.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.BcL08IcT.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BcL08IcT.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CAuRWqZB.js +0 -1
- package/build/client/_app/immutable/entry/start.CAuRWqZB.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CAuRWqZB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.AZnG4POF.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.AZnG4POF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.uNWROKRa.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.uNWROKRa.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CNN_a8JB.js +0 -126
- package/build/client/_app/immutable/nodes/4.CNN_a8JB.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.CNN_a8JB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.rZSa9V3W.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.rZSa9V3W.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.DUAMcwSm.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DUAMcwSm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.B1u5a8yO.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.B1u5a8yO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.DW8zKXS4.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DW8zKXS4.js.gz +0 -0
- package/build/server/chunks/1-B2LhxwPN.js +0 -9
- package/build/server/chunks/4-2GARyIXu.js +0 -9
- package/build/server/chunks/6-Bnw_JRXO.js +0 -9
- package/build/server/chunks/_page.svelte-D6dWiRVl.js.map +0 -1
- package/build/server/chunks/_server.ts-BTeSTLAx.js.map +0 -1
- package/build/server/chunks/src-BN-m14sE.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { s as setActiveId } from './endpoints-
|
|
2
|
-
import { w as withAdminBody, e as errorResponse, k as jsonResponse } from './helpers-
|
|
3
|
-
import './state-
|
|
4
|
-
import './src-
|
|
1
|
+
import { s as setActiveId } from './endpoints-CW4XfwZB.js';
|
|
2
|
+
import { w as withAdminBody, e as errorResponse, k as jsonResponse } from './helpers-Bgl3bxCI.js';
|
|
3
|
+
import './state-lPKKJ0RQ.js';
|
|
4
|
+
import './src-CPvq2g1p.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -46,4 +46,4 @@ var POST = async (event) => withAdminBody(event, async ({ requestId, body }) =>
|
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
export { POST };
|
|
49
|
-
//# sourceMappingURL=_server.ts-
|
|
49
|
+
//# sourceMappingURL=_server.ts-BHygrpPe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BHygrpPe.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/active/_server.ts.js"],"sourcesContent":["import { o as setActiveId } from \"../../../../../chunks/endpoints.js\";\nimport { i as errorResponse, l as jsonResponse, p as withAdminBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/active/+server.ts\nvar POST = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst id = typeof body.id === \"string\" ? body.id : \"\";\n\tif (!id) return errorResponse(400, \"invalid_request\", \"id is required\", {}, requestId);\n\ttry {\n\t\tconst active = setActiveId(id);\n\t\treturn jsonResponse(200, {\n\t\t\tactiveId: active.id,\n\t\t\tendpoint: {\n\t\t\t\tid: active.id,\n\t\t\t\tlabel: active.label,\n\t\t\t\turl: active.url,\n\t\t\t\tisDefault: active.isDefault,\n\t\t\t\thasPassword: Boolean(active.password)\n\t\t\t}\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(404, \"not_found\", e instanceof Error ? e.message : \"failed to set active endpoint\", {}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAChF,CAAC,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE;AACtD,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;AAChC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE;AACtB,GAAG,QAAQ,EAAE;AACb,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE;AACjB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK;AACvB,IAAI,GAAG,EAAE,MAAM,CAAC,GAAG;AACnB,IAAI,SAAS,EAAE,MAAM,CAAC,SAAS;AAC/B,IAAI,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;AACxC;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,+BAA+B,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC;AACD,CAAC;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-
|
|
1
|
+
import { ab as getAkmStats } from './src-CPvq2g1p.js';
|
|
2
|
+
import { g as getState } from './state-lPKKJ0RQ.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-Bgl3bxCI.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -22,7 +22,7 @@ import 'zlib';
|
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
24
|
import 'node:os';
|
|
25
|
-
import './endpoints-
|
|
25
|
+
import './endpoints-CW4XfwZB.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/akm/stats/+server.ts
|
|
28
28
|
var CACHE_TTL_MS = 15e3;
|
|
@@ -53,4 +53,4 @@ var GET = async (event) => {
|
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
export { GET, _resetStatsCacheForTests };
|
|
56
|
-
//# sourceMappingURL=_server.ts-
|
|
56
|
+
//# sourceMappingURL=_server.ts-BKWHn8TD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BKWHn8TD.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/stats/_server.ts.js"],"sourcesContent":["import { n as getAkmStats } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/akm/stats/+server.ts\nvar CACHE_TTL_MS = 15e3;\nvar cachedStats = null;\nvar cachedAt = 0;\nvar inFlight = null;\nfunction _resetStatsCacheForTests() {\n\tcachedStats = null;\n\tcachedAt = 0;\n\tinFlight = null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tif (cachedStats && Date.now() - cachedAt < CACHE_TTL_MS) return jsonResponse(200, cachedStats, requestId);\n\ttry {\n\t\tif (!inFlight) inFlight = getAkmStats(getState()).finally(() => {\n\t\t\tinFlight = null;\n\t\t});\n\t\tconst stats = await inFlight;\n\t\tcachedStats = stats;\n\t\tcachedAt = Date.now();\n\t\treturn jsonResponse(200, stats, requestId);\n\t} catch (error) {\n\t\treturn errorResponse(500, \"akm_stats_failed\", error instanceof Error ? error.message : \"Failed to load AKM stats.\", {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, _resetStatsCacheForTests };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,IAAI;AACvB,IAAI,WAAW,GAAG,IAAI;AACtB,IAAI,QAAQ,GAAG,CAAC;AAChB,IAAI,QAAQ,GAAG,IAAI;AACnB,SAAS,wBAAwB,GAAG;AACpC,CAAC,WAAW,GAAG,IAAI;AACnB,CAAC,QAAQ,GAAG,CAAC;AACb,CAAC,QAAQ,GAAG,IAAI;AAChB;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9C,CAAC,IAAI,MAAM,EAAE,OAAO,MAAM;AAC1B,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,YAAY,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC;AAC1G,CAAC,IAAI;AACL,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;AAClE,GAAG,QAAQ,GAAG,IAAI;AAClB,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,QAAQ;AAC9B,EAAE,WAAW,GAAG,KAAK;AACrB,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;AACvB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC;AAC5C,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,2BAA2B,EAAE,EAAE,EAAE,SAAS,CAAC;AACpI,CAAC;AACD;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { g as getOpenCodeClient } from './helpers-
|
|
2
|
+
import { g as getOpenCodeClient } from './helpers-Bgl3bxCI.js';
|
|
3
3
|
import './utils-BSRjJDrZ.js';
|
|
4
|
-
import './src-
|
|
4
|
+
import './src-CPvq2g1p.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -23,8 +23,8 @@ import 'zlib';
|
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
25
|
import 'node:os';
|
|
26
|
-
import './endpoints-
|
|
27
|
-
import './state-
|
|
26
|
+
import './endpoints-CW4XfwZB.js';
|
|
27
|
+
import './state-lPKKJ0RQ.js';
|
|
28
28
|
|
|
29
29
|
//#region src/routes/api/setup/opencode/provider/[provider]/oauth/authorize/+server.ts
|
|
30
30
|
var PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;
|
|
@@ -54,4 +54,4 @@ var POST = async ({ params, request }) => {
|
|
|
54
54
|
};
|
|
55
55
|
|
|
56
56
|
export { POST };
|
|
57
|
-
//# sourceMappingURL=_server.ts-
|
|
57
|
+
//# sourceMappingURL=_server.ts-BRTpEMv4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BRTpEMv4.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/provider/_provider_/oauth/authorize/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../../../chunks/exports.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/provider/[provider]/oauth/authorize/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar POST = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst body = await request.json();\n\t\tconst method = Number.isInteger(body.method) ? body.method : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(params.provider, method);\n\t\tif (!result.ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth authorization failed\"\n\t\t}, { status: 400 });\n\t\treturn json({\n\t\t\tok: true,\n\t\t\t...result.data\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth authorization failed\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAChE,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;AACtF,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC9B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,GAAG,MAAM,CAAC;AACb,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import {
|
|
2
|
+
import { a5 as fetchProviderModels, aU as resolveStackDir } from './src-CPvq2g1p.js';
|
|
3
3
|
import './utils-BSRjJDrZ.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
@@ -58,4 +58,4 @@ var POST = async ({ params, request }) => {
|
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
export { POST };
|
|
61
|
-
//# sourceMappingURL=_server.ts-
|
|
61
|
+
//# sourceMappingURL=_server.ts-BWxlJGjY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BWxlJGjY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/models/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { D as fetchProviderModels, in as resolveStackDir } from \"../../../../../../chunks/src.js\";\n//#region src/routes/api/setup/models/[provider]/+server.ts\nvar POST = async ({ params, request }) => {\n\tconst provider = decodeURIComponent(params.provider);\n\tlet body = {};\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst baseUrl = typeof body.baseUrl === \"string\" ? body.baseUrl : \"\";\n\ttry {\n\t\tconst result = await fetchProviderModels(provider, apiKey, baseUrl, resolveStackDir());\n\t\tif (result.status !== \"ok\") return json({\n\t\t\tok: false,\n\t\t\t...result\n\t\t}, { status: 502 });\n\t\treturn json({\n\t\t\tok: true,\n\t\t\t...result\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"model_fetch_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrD,CAAC,IAAI,IAAI,GAAG,EAAE;AACd,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AAC7B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,cAAc;AACxB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACxF,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI,CAAC;AAC1C,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,GAAG;AACN,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,GAAG;AACN,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,oBAAoB;AAC9B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { w as withAdminBody, k as jsonResponse } from './helpers-
|
|
2
|
-
import { o as opencodeFetch } from './http-
|
|
1
|
+
import { w as withAdminBody, k as jsonResponse } from './helpers-Bgl3bxCI.js';
|
|
2
|
+
import { o as opencodeFetch } from './http-DPJjMdf6.js';
|
|
3
3
|
import { a as asStringOrEmpty, e as extractInputs } from './_helpers-B_lb4-jB.js';
|
|
4
|
-
import './src-
|
|
4
|
+
import './src-CPvq2g1p.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -23,8 +23,8 @@ import 'zlib';
|
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
25
|
import 'node:os';
|
|
26
|
-
import './endpoints-
|
|
27
|
-
import './state-
|
|
26
|
+
import './endpoints-CW4XfwZB.js';
|
|
27
|
+
import './state-lPKKJ0RQ.js';
|
|
28
28
|
import './coercion-TNFJisCC.js';
|
|
29
29
|
|
|
30
30
|
//#region src/routes/admin/providers/oauth/start/+server.ts
|
|
@@ -77,4 +77,4 @@ var POST = (event) => withAdminBody(event, async ({ requestId, body }) => {
|
|
|
77
77
|
});
|
|
78
78
|
|
|
79
79
|
export { POST };
|
|
80
|
-
//# sourceMappingURL=_server.ts-
|
|
80
|
+
//# sourceMappingURL=_server.ts-BX1qIZ3D.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BX1qIZ3D.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/start/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p as withAdminBody } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { r as extractInputs, t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/start/+server.ts\n/**\n* POST /admin/providers/oauth/start — Begin an OpenCode-mediated OAuth\n* sign-in for a provider. Returns the authorization URL and any extra\n* inputs the operator needs to confirm in the UI.\n*\n* Forwards directly to the running assistant's OpenCode at\n* OP_OPENCODE_URL, which holds the OAuth methods map needed to issue\n* the authorize request.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tif (!providerId || Number.isNaN(methodIndex)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider sign-in method first.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tconst inputs = extractInputs(body);\n\t\tconst oauth = await opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/authorize`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\t...inputs ? { inputs } : {}\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth flow prepared. Open the link below to continue.\",\n\t\t\tselectedProviderId: providerId,\n\t\t\toauth: {\n\t\t\t\tproviderId,\n\t\t\t\tmethodIndex,\n\t\t\t\turl: oauth.url,\n\t\t\t\tmode: oauth.method,\n\t\t\t\tinstructions: oauth.instructions,\n\t\t\t\tinputs\n\t\t\t}\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACzE,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,yCAAyC;AACrD,GAAG,kBAAkB,EAAE,KAAK;AAC5B,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,EAAE;AACnG,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,GAAG,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG;AAC7B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,uDAAuD;AACnE,GAAG,kBAAkB,EAAE,UAAU;AACjC,GAAG,KAAK,EAAE;AACV,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM;AACtB,IAAI,YAAY,EAAE,KAAK,CAAC,YAAY;AACpC,IAAI;AACJ;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-
|
|
1
|
+
import { aj as isAllowedService, p as checkDocker, z as composeStart, n as buildComposeOptions, H as createLogger } from './src-CPvq2g1p.js';
|
|
2
|
+
import { g as getState } from './state-lPKKJ0RQ.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-Bgl3bxCI.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -22,7 +22,7 @@ import 'zlib';
|
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
24
|
import 'node:os';
|
|
25
|
-
import './endpoints-
|
|
25
|
+
import './endpoints-CW4XfwZB.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/containers/up/+server.ts
|
|
28
28
|
var logger = createLogger("containers-up");
|
|
@@ -54,4 +54,4 @@ var POST = async (event) => {
|
|
|
54
54
|
};
|
|
55
55
|
|
|
56
56
|
export { POST };
|
|
57
|
-
//# sourceMappingURL=_server.ts-
|
|
57
|
+
//# sourceMappingURL=_server.ts-BXVXOwdX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BXVXOwdX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, O as isAllowedService, X as checkDocker, it as composeStart, xn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container start request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\tlogger.info(\"starting service\", {\n\t\trequestId,\n\t\tservice\n\t});\n\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\tif ((await checkDocker()).ok) {\n\t\tconst result = await composeStart([service], buildComposeOptions(state));\n\t\tif (result.ok) state.services[service] = \"running\";\n\t\telse return errorResponse(500, \"docker_error\", `Failed to start service: ${result.stderr}`, { service }, requestId);\n\t} else state.services[service] = \"running\";\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tservice,\n\t\tstatus: state.services[service]\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACjC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrJ,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACpD,OAAO,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC3C,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AAChC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import {
|
|
3
|
-
import { g as getState } from './state-
|
|
4
|
-
import { r as requireAdmin, d as getRequestId } from './helpers-
|
|
2
|
+
import { am as isSetupComplete, aU as resolveStackDir, a8 as getAddonProfileSelection, d as annotateAddonProfileAvailability, a9 as getAddonProfiles } from './src-CPvq2g1p.js';
|
|
3
|
+
import { g as getState } from './state-lPKKJ0RQ.js';
|
|
4
|
+
import { r as requireAdmin, d as getRequestId } from './helpers-Bgl3bxCI.js';
|
|
5
5
|
import './utils-BSRjJDrZ.js';
|
|
6
6
|
import './chunk-CLZ62Ad-.js';
|
|
7
7
|
import 'node:module';
|
|
@@ -24,7 +24,7 @@ import 'zlib';
|
|
|
24
24
|
import 'node:assert';
|
|
25
25
|
import 'node:fs/promises';
|
|
26
26
|
import 'node:os';
|
|
27
|
-
import './endpoints-
|
|
27
|
+
import './endpoints-CW4XfwZB.js';
|
|
28
28
|
|
|
29
29
|
//#region src/routes/api/setup/ollama-profiles/+server.ts
|
|
30
30
|
var GET = async (event) => {
|
|
@@ -41,4 +41,4 @@ var GET = async (event) => {
|
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
export { GET };
|
|
44
|
-
//# sourceMappingURL=_server.ts-
|
|
44
|
+
//# sourceMappingURL=_server.ts-BXZ2vAz8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BXZ2vAz8.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/ollama-profiles/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { bt as getAddonProfileSelection, in as resolveStackDir, ut as isSetupComplete, vt as annotateAddonProfileAvailability, xt as getAddonProfiles } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/ollama-profiles/+server.ts\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst state = getState();\n\treturn json({\n\t\tok: true,\n\t\tprofiles: await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"ollama\")),\n\t\tselectedProfile: getAddonProfileSelection(state.stackDir, \"ollama\")\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE;AACzC,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,IAAI,SAAS,EAAE,OAAO,SAAS;AACjC,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7F,EAAE,eAAe,EAAE,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ;AACpE,EAAE,CAAC;AACH;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-
|
|
4
|
-
import { o as opencodeFetch } from './http-
|
|
5
|
-
import { g as getCurrentConfig } from './config-
|
|
1
|
+
import { aH as readStackEnv } from './src-CPvq2g1p.js';
|
|
2
|
+
import { g as getState } from './state-lPKKJ0RQ.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-Bgl3bxCI.js';
|
|
4
|
+
import { o as opencodeFetch } from './http-DPJjMdf6.js';
|
|
5
|
+
import { g as getCurrentConfig } from './config-BbBq0dxu.js';
|
|
6
6
|
import { existsSync, readFileSync } from 'node:fs';
|
|
7
7
|
import { join } from 'node:path';
|
|
8
8
|
import './chunk-CLZ62Ad-.js';
|
|
@@ -24,7 +24,7 @@ import 'zlib';
|
|
|
24
24
|
import 'node:assert';
|
|
25
25
|
import 'node:fs/promises';
|
|
26
26
|
import 'node:os';
|
|
27
|
-
import './endpoints-
|
|
27
|
+
import './endpoints-CW4XfwZB.js';
|
|
28
28
|
import './coercion-TNFJisCC.js';
|
|
29
29
|
|
|
30
30
|
//#region src/lib/server/speech-prep.ts
|
|
@@ -205,4 +205,4 @@ var POST = async (event) => {
|
|
|
205
205
|
};
|
|
206
206
|
|
|
207
207
|
export { POST };
|
|
208
|
-
//# sourceMappingURL=_server.ts-
|
|
208
|
+
//# sourceMappingURL=_server.ts-BZ7ABoXr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-CaZ1wy9x.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { zt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/lib/server/speech-prep.ts\nfunction personaPath() {\n\treturn join(getState().configDir, \"assistant\", \"persona.md\");\n}\nfunction readPersona() {\n\tconst path = personaPath();\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\").trim();\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction extractText(response) {\n\treturn (response.parts ?? []).filter((part) => part.type === \"text\" && typeof part.text === \"string\").map((part) => part.text?.trim() ?? \"\").join(\" \").trim();\n}\nfunction buildPrompt(input) {\n\tconst personaBlock = input.persona ? input.persona : \"No persona markdown is configured. Use a neutral, helpful, conversational tone.\";\n\tif (input.mode === \"chat_ack\") return [\n\t\t\"You are preparing a short spoken acknowledgement for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Keep it to one brief sentence.\",\n\t\t\"Sound conversational and aligned with the persona context.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"Do not answer the full request. Just acknowledge that you are working on it.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText\n\t].join(\"\\n\");\n\treturn [\n\t\t\"You are preparing a spoken summary for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Rewrite the final assistant reply into a concise, natural, conversational response.\",\n\t\t\"Preserve the meaning and important caveats.\",\n\t\t\"Keep it brief enough for audio playback.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText,\n\t\t\"\",\n\t\t\"Final assistant reply:\",\n\t\tinput.assistantText ?? \"\"\n\t].join(\"\\n\");\n}\nfunction resolveSpeechModel(config) {\n\tconst small = typeof config.small_model === \"string\" ? config.small_model.trim() : \"\";\n\tif (small) return small;\n\treturn (typeof config.model === \"string\" ? config.model.trim() : \"\") || null;\n}\nasync function loadSpeechConfig() {\n\ttry {\n\t\treturn await opencodeFetch(\"/config\");\n\t} catch {\n\t\treturn getCurrentConfig();\n\t}\n}\nasync function prepareSpeechText(input) {\n\tconst userText = input.userText.trim();\n\tif (!userText) return null;\n\tif (input.mode === \"chat_reply\" && !input.assistantText?.trim()) return null;\n\tconst persona = readPersona();\n\tconst model = resolveSpeechModel(await loadSpeechConfig());\n\tconst prompt = buildPrompt({\n\t\tmode: input.mode,\n\t\tuserText,\n\t\tassistantText: input.assistantText?.trim(),\n\t\tpersona\n\t});\n\tlet sessionId = \"\";\n\ttry {\n\t\tconst created = await opencodeFetch(\"/session\", {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({})\n\t\t});\n\t\tsessionId = typeof created.id === \"string\" ? created.id : \"\";\n\t\tif (!sessionId) return null;\n\t\treturn extractText(await opencodeFetch(`/session/${encodeURIComponent(sessionId)}/message`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tparts: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: prompt\n\t\t\t\t}],\n\t\t\t\t...model ? { model } : {}\n\t\t\t})\n\t\t})) || null;\n\t} finally {\n\t\tif (sessionId) await opencodeFetch(`/session/${encodeURIComponent(sessionId)}`, { method: \"DELETE\" }).catch(() => {});\n\t}\n}\n//#endregion\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst mode = b.mode === \"chat_ack\" || b.mode === \"chat_reply\" ? b.mode : null;\n\tconst userText = typeof b.userText === \"string\" ? b.userText.trim() : \"\";\n\tconst assistantText = typeof b.assistantText === \"string\" ? b.assistantText.trim() : \"\";\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tlet speechText = text;\n\tif (mode) try {\n\t\tconst prepared = await prepareSpeechText({\n\t\t\tmode,\n\t\t\tuserText,\n\t\t\tassistantText\n\t\t});\n\t\tif (prepared) speechText = prepared;\n\t} catch (err) {\n\t\tconsole.warn(\"[api/speak] speech prep failed; falling back to raw text\", err);\n\t}\n\tconst upstreamUrl = ttsBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/speech\";\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers[\"authorization\"] = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_server.ts-BZ7ABoXr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Ut as readStackEnv } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/lib/server/speech-prep.ts\nfunction personaPath() {\n\treturn join(getState().configDir, \"assistant\", \"persona.md\");\n}\nfunction readPersona() {\n\tconst path = personaPath();\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\").trim();\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction extractText(response) {\n\treturn (response.parts ?? []).filter((part) => part.type === \"text\" && typeof part.text === \"string\").map((part) => part.text?.trim() ?? \"\").join(\" \").trim();\n}\nfunction buildPrompt(input) {\n\tconst personaBlock = input.persona ? input.persona : \"No persona markdown is configured. Use a neutral, helpful, conversational tone.\";\n\tif (input.mode === \"chat_ack\") return [\n\t\t\"You are preparing a short spoken acknowledgement for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Keep it to one brief sentence.\",\n\t\t\"Sound conversational and aligned with the persona context.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"Do not answer the full request. Just acknowledge that you are working on it.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText\n\t].join(\"\\n\");\n\treturn [\n\t\t\"You are preparing a spoken summary for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Rewrite the final assistant reply into a concise, natural, conversational response.\",\n\t\t\"Preserve the meaning and important caveats.\",\n\t\t\"Keep it brief enough for audio playback.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText,\n\t\t\"\",\n\t\t\"Final assistant reply:\",\n\t\tinput.assistantText ?? \"\"\n\t].join(\"\\n\");\n}\nfunction resolveSpeechModel(config) {\n\tconst small = typeof config.small_model === \"string\" ? config.small_model.trim() : \"\";\n\tif (small) return small;\n\treturn (typeof config.model === \"string\" ? config.model.trim() : \"\") || null;\n}\nasync function loadSpeechConfig() {\n\ttry {\n\t\treturn await opencodeFetch(\"/config\");\n\t} catch {\n\t\treturn getCurrentConfig();\n\t}\n}\nasync function prepareSpeechText(input) {\n\tconst userText = input.userText.trim();\n\tif (!userText) return null;\n\tif (input.mode === \"chat_reply\" && !input.assistantText?.trim()) return null;\n\tconst persona = readPersona();\n\tconst model = resolveSpeechModel(await loadSpeechConfig());\n\tconst prompt = buildPrompt({\n\t\tmode: input.mode,\n\t\tuserText,\n\t\tassistantText: input.assistantText?.trim(),\n\t\tpersona\n\t});\n\tlet sessionId = \"\";\n\ttry {\n\t\tconst created = await opencodeFetch(\"/session\", {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({})\n\t\t});\n\t\tsessionId = typeof created.id === \"string\" ? created.id : \"\";\n\t\tif (!sessionId) return null;\n\t\treturn extractText(await opencodeFetch(`/session/${encodeURIComponent(sessionId)}/message`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tparts: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: prompt\n\t\t\t\t}],\n\t\t\t\t...model ? { model } : {}\n\t\t\t})\n\t\t})) || null;\n\t} finally {\n\t\tif (sessionId) await opencodeFetch(`/session/${encodeURIComponent(sessionId)}`, { method: \"DELETE\" }).catch(() => {});\n\t}\n}\n//#endregion\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst mode = b.mode === \"chat_ack\" || b.mode === \"chat_reply\" ? b.mode : null;\n\tconst userText = typeof b.userText === \"string\" ? b.userText.trim() : \"\";\n\tconst assistantText = typeof b.assistantText === \"string\" ? b.assistantText.trim() : \"\";\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tlet speechText = text;\n\tif (mode) try {\n\t\tconst prepared = await prepareSpeechText({\n\t\t\tmode,\n\t\t\tuserText,\n\t\t\tassistantText\n\t\t});\n\t\tif (prepared) speechText = prepared;\n\t} catch (err) {\n\t\tconsole.warn(\"[api/speak] speech prep failed; falling back to raw text\", err);\n\t}\n\tconst upstreamUrl = ttsBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/speech\";\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers[\"authorization\"] = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse, w as withAdminBody } from './helpers-
|
|
1
|
+
import { L as deleteUserEnvKey, Z as ensureAkmUserEnv, aL as readUserEnvFile, H as createLogger, A as AKM_USER_ENV_REF, b8 as writeUserEnvKey } from './src-CPvq2g1p.js';
|
|
2
|
+
import { g as getState } from './state-lPKKJ0RQ.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse, w as withAdminBody } from './helpers-Bgl3bxCI.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -22,7 +22,7 @@ import 'zlib';
|
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
24
|
import 'node:os';
|
|
25
|
-
import './endpoints-
|
|
25
|
+
import './endpoints-CW4XfwZB.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/secrets/user-env/+server.ts
|
|
28
28
|
var logger = createLogger("admin.secrets.user-env");
|
|
@@ -97,4 +97,4 @@ var DELETE = async (event) => {
|
|
|
97
97
|
};
|
|
98
98
|
|
|
99
99
|
export { DELETE, GET, POST };
|
|
100
|
-
//# sourceMappingURL=_server.ts-
|
|
100
|
+
//# sourceMappingURL=_server.ts-BjrnLNI_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BjrnLNI_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/secrets/user-env/_server.ts.js"],"sourcesContent":["import { _ as ensureAkmUserEnv, g as deleteUserEnvKey, m as AKM_USER_ENV_REF, v as readUserEnvFile, xn as createLogger, y as writeUserEnvKey } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/secrets/user-env/+server.ts\nvar logger = createLogger(\"admin.secrets.user-env\");\nvar KEY_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;\n/**\n* GET — list keys in the akm env:user store. Values are NEVER returned.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst envPath = ensureAkmUserEnv(getState());\n\treturn jsonResponse(200, {\n\t\tprovider: \"akm\",\n\t\tenvRef: AKM_USER_ENV_REF,\n\t\tkeys: Object.keys(readUserEnvFile(envPath)).sort()\n\t}, requestId);\n};\n/**\n* POST — write a key into the user env file. The value is shell-quoted and\n* written directly to `knowledge/env/user.env` (mode 0600); it never appears on\n* a process argv. The assistant sources the env file at startup, so a key\n* written here is visible to OpenCode after the next assistant restart.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst state = getState();\n\tconst key = typeof body.key === \"string\" ? body.key.trim() : \"\";\n\tconst value = typeof body.value === \"string\" ? body.value : null;\n\tif (!key || value === null) return errorResponse(400, \"bad_request\", \"key and value are required\", {}, requestId);\n\tif (!KEY_RE.test(key)) return errorResponse(400, \"invalid_key\", \"key must match [A-Za-z_][A-Za-z0-9_]*\", {}, requestId);\n\tif (value.length === 0) return errorResponse(400, \"bad_request\", \"value must be non-empty; use DELETE to remove a key\", {}, requestId);\n\tif (/[\\x00-\\x08\\x0a-\\x1f\\x7f]/.test(value)) return errorResponse(400, \"invalid_value\", \"value must not contain newlines or control characters\", {}, requestId);\n\ttry {\n\t\twriteUserEnvKey(state, key, value);\n\t} catch (err) {\n\t\tconst reason = err instanceof Error ? err.message : String(err);\n\t\tlogger.warn(\"user env write failed\", {\n\t\t\tkey,\n\t\t\treason,\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"write_failed\", `Failed to write user env key: ${reason}`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tkey\n\t}, requestId);\n});\n/** DELETE — remove a key from the user env file. */\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst key = new URL(event.request.url).searchParams.get(\"key\")?.trim() ?? \"\";\n\tif (!key || !KEY_RE.test(key)) return errorResponse(400, \"bad_request\", \"valid key query parameter is required\", {}, requestId);\n\ttry {\n\t\tdeleteUserEnvKey(state, key);\n\t} catch (err) {\n\t\tconst reason = err instanceof Error ? err.message : String(err);\n\t\tlogger.warn(\"user env delete failed\", {\n\t\t\tkey,\n\t\t\treason,\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"delete_failed\", `Failed to remove user env key: ${reason}`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tkey\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-
|
|
1
|
+
import { H as createLogger } from './src-CPvq2g1p.js';
|
|
2
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-Bgl3bxCI.js';
|
|
3
3
|
import './chunk-CLZ62Ad-.js';
|
|
4
4
|
import 'node:module';
|
|
5
5
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -21,8 +21,8 @@ import 'zlib';
|
|
|
21
21
|
import 'node:assert';
|
|
22
22
|
import 'node:fs/promises';
|
|
23
23
|
import 'node:os';
|
|
24
|
-
import './endpoints-
|
|
25
|
-
import './state-
|
|
24
|
+
import './endpoints-CW4XfwZB.js';
|
|
25
|
+
import './state-lPKKJ0RQ.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/opencode/providers/[id]/auth/+server.ts
|
|
28
28
|
var logger = createLogger("opencode.auth");
|
|
@@ -163,4 +163,4 @@ var DELETE = async (event) => {
|
|
|
163
163
|
};
|
|
164
164
|
|
|
165
165
|
export { DELETE, GET, POST };
|
|
166
|
-
//# sourceMappingURL=_server.ts-
|
|
166
|
+
//# sourceMappingURL=_server.ts-Bn4xiHd2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-CJWPhww2.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { hn as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /admin/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_server.ts-Bn4xiHd2.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { xn as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /admin/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-
|
|
1
|
+
import { H as createLogger, aj as isAllowedService, p as checkDocker, F as composeStop, n as buildComposeOptions } from './src-CPvq2g1p.js';
|
|
2
|
+
import { g as getState } from './state-lPKKJ0RQ.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-Bgl3bxCI.js';
|
|
4
4
|
import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
@@ -23,7 +23,7 @@ import 'zlib';
|
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
25
|
import 'node:os';
|
|
26
|
-
import './endpoints-
|
|
26
|
+
import './endpoints-CW4XfwZB.js';
|
|
27
27
|
|
|
28
28
|
//#region src/routes/admin/containers/down/+server.ts
|
|
29
29
|
var logger = createLogger("containers-down");
|
|
@@ -53,4 +53,4 @@ var POST = async (event) => {
|
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
export { POST };
|
|
56
|
-
//# sourceMappingURL=_server.ts-
|
|
56
|
+
//# sourceMappingURL=_server.ts-BqNGMIQl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BqNGMIQl.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/down/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, O as isAllowedService, X as checkDocker, ot as composeStop, xn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/down/+server.ts\nvar logger = createLogger(\"containers-down\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container stop request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:down\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeStop([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"stopped\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to stop service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"stopped\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
|