@openpalm/ui 0.12.13 → 0.12.14-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/0.DtDICMHP.css +1 -0
- package/build/client/_app/immutable/assets/0.DtDICMHP.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DtDICMHP.css.gz +0 -0
- package/build/client/_app/immutable/assets/10.CGVnLoQr.css +1 -0
- package/build/client/_app/immutable/assets/10.CGVnLoQr.css.br +0 -0
- package/build/client/_app/immutable/assets/10.CGVnLoQr.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.BsRZqXxs.css +1 -0
- package/build/client/_app/immutable/assets/4.BsRZqXxs.css.br +0 -0
- package/build/client/_app/immutable/assets/4.BsRZqXxs.css.gz +0 -0
- package/build/client/_app/immutable/assets/5.B9kVBENv.css +1 -0
- package/build/client/_app/immutable/assets/5.B9kVBENv.css.br +0 -0
- package/build/client/_app/immutable/assets/5.B9kVBENv.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.BXlLAfIE.css +1 -0
- package/build/client/_app/immutable/assets/6.BXlLAfIE.css.br +0 -0
- package/build/client/_app/immutable/assets/6.BXlLAfIE.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.CoIJT74K.css +1 -0
- package/build/client/_app/immutable/assets/7.CoIJT74K.css.br +0 -0
- package/build/client/_app/immutable/assets/7.CoIJT74K.css.gz +0 -0
- package/build/client/_app/immutable/assets/8.CRX_TWKQ.css +1 -0
- package/build/client/_app/immutable/assets/8.CRX_TWKQ.css.br +0 -0
- package/build/client/_app/immutable/assets/8.CRX_TWKQ.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.B1PKAJhx.css +1 -0
- package/build/client/_app/immutable/assets/9.B1PKAJhx.css.br +0 -0
- package/build/client/_app/immutable/assets/9.B1PKAJhx.css.gz +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.CWTi1Kjo.css +1 -0
- package/build/client/_app/immutable/assets/ChatMessage.CWTi1Kjo.css.br +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.CWTi1Kjo.css.gz +0 -0
- package/build/client/_app/immutable/assets/Navbar.DprsYQ5V.css +1 -0
- package/build/client/_app/immutable/assets/Navbar.DprsYQ5V.css.br +0 -0
- package/build/client/_app/immutable/assets/Navbar.DprsYQ5V.css.gz +0 -0
- package/build/client/_app/immutable/assets/SessionList.Bu2Ms4Fb.css +1 -0
- package/build/client/_app/immutable/assets/SessionList.Bu2Ms4Fb.css.br +4 -0
- package/build/client/_app/immutable/assets/SessionList.Bu2Ms4Fb.css.gz +0 -0
- package/build/client/_app/immutable/assets/Spinner.CCwieGti.css +1 -0
- package/build/client/_app/immutable/assets/Spinner.CCwieGti.css.br +0 -0
- package/build/client/_app/immutable/assets/Spinner.CCwieGti.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B0nndsj2.js +1 -0
- package/build/client/_app/immutable/chunks/B0nndsj2.js.br +2 -0
- package/build/client/_app/immutable/chunks/B0nndsj2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C8DbTCsH.js +5 -0
- package/build/client/_app/immutable/chunks/C8DbTCsH.js.br +0 -0
- package/build/client/_app/immutable/chunks/C8DbTCsH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{i-u-oQAW.js → CKjCR-mV.js} +1 -1
- package/build/client/_app/immutable/chunks/CKjCR-mV.js.br +0 -0
- package/build/client/_app/immutable/chunks/{i-u-oQAW.js.gz → CKjCR-mV.js.gz} +0 -0
- package/build/client/_app/immutable/chunks/Cf2zVFU2.js +14 -0
- package/build/client/_app/immutable/chunks/Cf2zVFU2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cf2zVFU2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cqhjb6e3.js +3 -0
- package/build/client/_app/immutable/chunks/Cqhjb6e3.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cqhjb6e3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/H3uliuvu.js +1 -0
- package/build/client/_app/immutable/chunks/H3uliuvu.js.br +0 -0
- package/build/client/_app/immutable/chunks/H3uliuvu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Cub6afmL.js → wZGKwx2i.js} +1 -1
- package/build/client/_app/immutable/chunks/wZGKwx2i.js.br +0 -0
- package/build/client/_app/immutable/chunks/wZGKwx2i.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.CGwa9uv7.js → app.DB4ePX1v.js} +2 -2
- package/build/client/_app/immutable/entry/app.DB4ePX1v.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DB4ePX1v.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.49FkL53I.js +1 -0
- package/build/client/_app/immutable/entry/start.49FkL53I.js.br +0 -0
- package/build/client/_app/immutable/entry/start.49FkL53I.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.DOxwxXh1.js → 0.Bj2o7JLe.js} +1 -1
- package/build/client/_app/immutable/nodes/0.Bj2o7JLe.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Bj2o7JLe.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.ALcLv429.js → 1.krAx2-bw.js} +1 -1
- package/build/client/_app/immutable/nodes/1.krAx2-bw.js.br +2 -0
- package/build/client/_app/immutable/nodes/1.krAx2-bw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.D6ae8dax.js +131 -0
- package/build/client/_app/immutable/nodes/4.D6ae8dax.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.D6ae8dax.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.CUEzVL3V.js → 5.sNp704_T.js} +1 -1
- package/build/client/_app/immutable/nodes/5.sNp704_T.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.sNp704_T.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BlMKRFTZ.js +1 -0
- package/build/client/_app/immutable/nodes/6.BlMKRFTZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BlMKRFTZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.LYSFmauM.js +1 -0
- package/build/client/_app/immutable/nodes/7.LYSFmauM.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.LYSFmauM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.DYb_WDEB.js +1 -0
- package/build/client/_app/immutable/nodes/8.DYb_WDEB.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DYb_WDEB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.By6OD0XG.js +6 -0
- package/build/client/_app/immutable/nodes/9.By6OD0XG.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.By6OD0XG.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -2
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-BKHhl45d.js → 0-CpYMRQ5i.js} +3 -3
- package/build/server/chunks/{0-BKHhl45d.js.map → 0-CpYMRQ5i.js.map} +1 -1
- package/build/server/chunks/1-DB4i2jhd.js +9 -0
- package/build/server/chunks/{1-2o6Ed2yp.js.map → 1-DB4i2jhd.js.map} +1 -1
- package/build/server/chunks/{10-sMfnW6s_.js → 10-j08j2VIZ.js} +7 -7
- package/build/server/chunks/{10-sMfnW6s_.js.map → 10-j08j2VIZ.js.map} +1 -1
- package/build/server/chunks/4-C4gVV-QY.js +9 -0
- package/build/server/chunks/4-C4gVV-QY.js.map +1 -0
- package/build/server/chunks/5-DsawgZBH.js +9 -0
- package/build/server/chunks/5-DsawgZBH.js.map +1 -0
- package/build/server/chunks/6-DUwwcldC.js +9 -0
- package/build/server/chunks/6-DUwwcldC.js.map +1 -0
- package/build/server/chunks/7-DHPMYUVs.js +9 -0
- package/build/server/chunks/7-DHPMYUVs.js.map +1 -0
- package/build/server/chunks/{8-CGnXBMny.js → 8-B2WmTTah.js} +4 -4
- package/build/server/chunks/{8-CGnXBMny.js.map → 8-B2WmTTah.js.map} +1 -1
- package/build/server/chunks/{9-R739z6lx.js → 9-BhL47FUJ.js} +3 -3
- package/build/server/chunks/9-BhL47FUJ.js.map +1 -0
- package/build/server/chunks/{ChatMessage-BEFlmHur.js → ChatMessage-ClLIqnwB.js} +25 -81
- package/build/server/chunks/ChatMessage-ClLIqnwB.js.map +1 -0
- package/build/server/chunks/Navbar-K3AsG60E.js +341 -0
- package/build/server/chunks/Navbar-K3AsG60E.js.map +1 -0
- package/build/server/chunks/{Navbar-y0AyDpcy.js → SessionList-CWKGPQSI.js} +5 -341
- package/build/server/chunks/SessionList-CWKGPQSI.js.map +1 -0
- package/build/server/chunks/_layout.svelte-oFWL-MU8.js.map +1 -1
- package/build/server/chunks/_page.svelte-1xNXhM9d.js +40 -0
- package/build/server/chunks/_page.svelte-1xNXhM9d.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DbVLfUMo.js → _page.svelte-BcYrJ6UQ.js} +8 -7
- package/build/server/chunks/_page.svelte-BcYrJ6UQ.js.map +1 -0
- package/build/server/chunks/_page.svelte-CigItPjU.js.map +1 -1
- package/build/server/chunks/{_page.svelte-DM3jnL7B.js → _page.svelte-DR9NaaO2.js} +185 -407
- package/build/server/chunks/_page.svelte-DR9NaaO2.js.map +1 -0
- package/build/server/chunks/_page.svelte-DhtWda2j.js +210 -0
- package/build/server/chunks/_page.svelte-DhtWda2j.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Cqzbf_9r.js → _page.svelte-tb5kthho.js} +6 -5
- package/build/server/chunks/_page.svelte-tb5kthho.js.map +1 -0
- package/build/server/chunks/{_server.ts-DEgOzmt-.js → _server.ts-8m9-a6Du.js} +5 -5
- package/build/server/chunks/{_server.ts-DEgOzmt-.js.map → _server.ts-8m9-a6Du.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B01UNM7i.js → _server.ts-B4bNwc-X.js} +6 -6
- package/build/server/chunks/{_server.ts-B01UNM7i.js.map → _server.ts-B4bNwc-X.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CEarW7QY.js → _server.ts-B5sjbudp.js} +5 -5
- package/build/server/chunks/{_server.ts-CEarW7QY.js.map → _server.ts-B5sjbudp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BoxRUogb.js → _server.ts-B9DDGhVm.js} +5 -5
- package/build/server/chunks/{_server.ts-BoxRUogb.js.map → _server.ts-B9DDGhVm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DohkVO-9.js → _server.ts-BHHw6XEU.js} +5 -5
- package/build/server/chunks/{_server.ts-DohkVO-9.js.map → _server.ts-BHHw6XEU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-JejNP4uV.js → _server.ts-BHTNSYN2.js} +5 -5
- package/build/server/chunks/{_server.ts-JejNP4uV.js.map → _server.ts-BHTNSYN2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D6vZvzLt.js → _server.ts-BNzWN9rK.js} +5 -5
- package/build/server/chunks/{_server.ts-D6vZvzLt.js.map → _server.ts-BNzWN9rK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4OpgCAn.js → _server.ts-BQb1b6_J.js} +6 -6
- package/build/server/chunks/{_server.ts-C4OpgCAn.js.map → _server.ts-BQb1b6_J.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C0v2G2ly.js → _server.ts-BReADRGG.js} +2 -2
- package/build/server/chunks/{_server.ts-C0v2G2ly.js.map → _server.ts-BReADRGG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-mz0P4bQg.js → _server.ts-BV3MjhcW.js} +5 -5
- package/build/server/chunks/{_server.ts-mz0P4bQg.js.map → _server.ts-BV3MjhcW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D264FNyX.js → _server.ts-Bh3U19_G.js} +5 -5
- package/build/server/chunks/{_server.ts-D264FNyX.js.map → _server.ts-Bh3U19_G.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CswJoelP.js → _server.ts-BikPHSq7.js} +5 -5
- package/build/server/chunks/{_server.ts-CswJoelP.js.map → _server.ts-BikPHSq7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C5SDazDN.js → _server.ts-Bm2jdhoU.js} +5 -5
- package/build/server/chunks/{_server.ts-C5SDazDN.js.map → _server.ts-Bm2jdhoU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BjzyHPaP.js → _server.ts-BmSWIDHI.js} +5 -5
- package/build/server/chunks/{_server.ts-BjzyHPaP.js.map → _server.ts-BmSWIDHI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BWRYvzwI.js → _server.ts-Brn_xbH_.js} +5 -5
- package/build/server/chunks/{_server.ts-BWRYvzwI.js.map → _server.ts-Brn_xbH_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DvVFuoZA.js → _server.ts-BupTjwGl.js} +6 -6
- package/build/server/chunks/{_server.ts-DvVFuoZA.js.map → _server.ts-BupTjwGl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-c_lwcz9M.js → _server.ts-BwB-gqZS.js} +5 -5
- package/build/server/chunks/{_server.ts-c_lwcz9M.js.map → _server.ts-BwB-gqZS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-0OeQ0WW1.js → _server.ts-C6OPqMJ6.js} +5 -5
- package/build/server/chunks/{_server.ts-0OeQ0WW1.js.map → _server.ts-C6OPqMJ6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C60smtiA.js → _server.ts-CA6JWfHi.js} +6 -6
- package/build/server/chunks/{_server.ts-C60smtiA.js.map → _server.ts-CA6JWfHi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BE9SHXNP.js → _server.ts-CAik4Rk8.js} +5 -5
- package/build/server/chunks/{_server.ts-BE9SHXNP.js.map → _server.ts-CAik4Rk8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C7C_JnLA.js → _server.ts-CEwIUyXG.js} +5 -5
- package/build/server/chunks/{_server.ts-C7C_JnLA.js.map → _server.ts-CEwIUyXG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CPQlueaR.js → _server.ts-CGfrnHzF.js} +5 -5
- package/build/server/chunks/{_server.ts-CPQlueaR.js.map → _server.ts-CGfrnHzF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dl9rmY33.js → _server.ts-CRQ2HFvy.js} +2 -2
- package/build/server/chunks/{_server.ts-Dl9rmY33.js.map → _server.ts-CRQ2HFvy.js.map} +1 -1
- package/build/server/chunks/{_server.ts--pU-mhOv.js → _server.ts-CV77figq.js} +5 -5
- package/build/server/chunks/{_server.ts--pU-mhOv.js.map → _server.ts-CV77figq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ClFngQ5g.js → _server.ts-CYJWdCjY.js} +5 -5
- package/build/server/chunks/{_server.ts-ClFngQ5g.js.map → _server.ts-CYJWdCjY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3Uljj7c.js → _server.ts-CZzCPiOv.js} +5 -5
- package/build/server/chunks/{_server.ts-B3Uljj7c.js.map → _server.ts-CZzCPiOv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CMuzkwXb.js → _server.ts-Cdk7JuyR.js} +5 -5
- package/build/server/chunks/{_server.ts-CMuzkwXb.js.map → _server.ts-Cdk7JuyR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CigEk1M2.js → _server.ts-Cf9fgj1t.js} +5 -5
- package/build/server/chunks/{_server.ts-CigEk1M2.js.map → _server.ts-Cf9fgj1t.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CLGLoOX4.js → _server.ts-CfCZx3nr.js} +5 -5
- package/build/server/chunks/{_server.ts-CLGLoOX4.js.map → _server.ts-CfCZx3nr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bs20Z2x5.js → _server.ts-ChNpsWsn.js} +4 -4
- package/build/server/chunks/{_server.ts-Bs20Z2x5.js.map → _server.ts-ChNpsWsn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BlD-xqHX.js → _server.ts-Chp1D1NJ.js} +6 -6
- package/build/server/chunks/{_server.ts-BlD-xqHX.js.map → _server.ts-Chp1D1NJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cvr-yLEl.js → _server.ts-Ci1hQ0Lw.js} +7 -7
- package/build/server/chunks/{_server.ts-Cvr-yLEl.js.map → _server.ts-Ci1hQ0Lw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CIhtd-Uh.js → _server.ts-Coh90s05.js} +5 -5
- package/build/server/chunks/{_server.ts-CIhtd-Uh.js.map → _server.ts-Coh90s05.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BObiJ5Qo.js → _server.ts-Csik9Itg.js} +8 -8
- package/build/server/chunks/{_server.ts-BObiJ5Qo.js.map → _server.ts-Csik9Itg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CnMD6tM7.js → _server.ts-CwPniqM1.js} +5 -5
- package/build/server/chunks/{_server.ts-CnMD6tM7.js.map → _server.ts-CwPniqM1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CWMMcZva.js → _server.ts-Cx9mT4VH.js} +5 -5
- package/build/server/chunks/{_server.ts-CWMMcZva.js.map → _server.ts-Cx9mT4VH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D7IC_Y32.js → _server.ts-CyS5S3cz.js} +7 -7
- package/build/server/chunks/{_server.ts-D7IC_Y32.js.map → _server.ts-CyS5S3cz.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bn2hwPxs.js → _server.ts-CydNfw4_.js} +6 -6
- package/build/server/chunks/{_server.ts-Bn2hwPxs.js.map → _server.ts-CydNfw4_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-dD2FwqWw.js → _server.ts-D-Uq5EMc.js} +5 -5
- package/build/server/chunks/{_server.ts-dD2FwqWw.js.map → _server.ts-D-Uq5EMc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bz06ow3I.js → _server.ts-D5-6rgyM.js} +5 -5
- package/build/server/chunks/{_server.ts-Bz06ow3I.js.map → _server.ts-D5-6rgyM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-SFtKmPEN.js → _server.ts-D55bp3Nl.js} +5 -5
- package/build/server/chunks/{_server.ts-SFtKmPEN.js.map → _server.ts-D55bp3Nl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-beFmwPmw.js → _server.ts-D5YBOr-I.js} +5 -5
- package/build/server/chunks/{_server.ts-beFmwPmw.js.map → _server.ts-D5YBOr-I.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNF5idzW.js → _server.ts-D8S0Gcdh.js} +5 -5
- package/build/server/chunks/{_server.ts-BNF5idzW.js.map → _server.ts-D8S0Gcdh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CecMDzNO.js → _server.ts-DBbAbCGV.js} +7 -7
- package/build/server/chunks/{_server.ts-CecMDzNO.js.map → _server.ts-DBbAbCGV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DM9CM7r4.js → _server.ts-DCnRFcD0.js} +6 -6
- package/build/server/chunks/{_server.ts-DM9CM7r4.js.map → _server.ts-DCnRFcD0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BcyD4FAK.js → _server.ts-DENNVt9M.js} +5 -5
- package/build/server/chunks/{_server.ts-BcyD4FAK.js.map → _server.ts-DENNVt9M.js.map} +1 -1
- package/build/server/chunks/{_server.ts-YBAOIJxB.js → _server.ts-DFREWo8G.js} +5 -5
- package/build/server/chunks/{_server.ts-YBAOIJxB.js.map → _server.ts-DFREWo8G.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DBIVm5KK.js → _server.ts-DH3OWMVH.js} +5 -5
- package/build/server/chunks/{_server.ts-DBIVm5KK.js.map → _server.ts-DH3OWMVH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dn4hPbO5.js → _server.ts-DIHrw0cC.js} +5 -5
- package/build/server/chunks/{_server.ts-Dn4hPbO5.js.map → _server.ts-DIHrw0cC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Di-AKVeN.js → _server.ts-DNqPBo2x.js} +5 -5
- package/build/server/chunks/{_server.ts-Di-AKVeN.js.map → _server.ts-DNqPBo2x.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CV4ZTrHb.js → _server.ts-DNtz1QNP.js} +6 -6
- package/build/server/chunks/{_server.ts-CV4ZTrHb.js.map → _server.ts-DNtz1QNP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CDcL1v18.js → _server.ts-DOY-rvQD.js} +5 -5
- package/build/server/chunks/{_server.ts-CDcL1v18.js.map → _server.ts-DOY-rvQD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D4KazeVl.js → _server.ts-DUtFnW4R.js} +5 -5
- package/build/server/chunks/{_server.ts-D4KazeVl.js.map → _server.ts-DUtFnW4R.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DOHQRR39.js → _server.ts-DYWQOfJg.js} +5 -5
- package/build/server/chunks/{_server.ts-DOHQRR39.js.map → _server.ts-DYWQOfJg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CC7pljaX.js → _server.ts-DbNkU76w.js} +5 -5
- package/build/server/chunks/{_server.ts-CC7pljaX.js.map → _server.ts-DbNkU76w.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BFejqrWf.js → _server.ts-Dcjeu0RD.js} +5 -5
- package/build/server/chunks/{_server.ts-BFejqrWf.js.map → _server.ts-Dcjeu0RD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-5CMhF-We.js → _server.ts-Dco1E-Da.js} +5 -5
- package/build/server/chunks/{_server.ts-5CMhF-We.js.map → _server.ts-Dco1E-Da.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D8kr1zcQ.js → _server.ts-Dgbf4dFy.js} +5 -5
- package/build/server/chunks/{_server.ts-D8kr1zcQ.js.map → _server.ts-Dgbf4dFy.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Oh_Zqa_M.js → _server.ts-DjzmTCJe.js} +5 -5
- package/build/server/chunks/{_server.ts-Oh_Zqa_M.js.map → _server.ts-DjzmTCJe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C8itNTqQ.js → _server.ts-Do00EgQ0.js} +5 -5
- package/build/server/chunks/{_server.ts-C8itNTqQ.js.map → _server.ts-Do00EgQ0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D4Z6LeT3.js → _server.ts-DoFf_top.js} +2 -2
- package/build/server/chunks/{_server.ts-D4Z6LeT3.js.map → _server.ts-DoFf_top.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CsUb-Aja.js → _server.ts-DtIh7JmA.js} +5 -5
- package/build/server/chunks/{_server.ts-CsUb-Aja.js.map → _server.ts-DtIh7JmA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-gdEb-KvS.js → _server.ts-DuvgTAhi.js} +5 -5
- package/build/server/chunks/{_server.ts-gdEb-KvS.js.map → _server.ts-DuvgTAhi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DyXpT2n9.js → _server.ts-DwSmGFWo.js} +5 -5
- package/build/server/chunks/{_server.ts-DyXpT2n9.js.map → _server.ts-DwSmGFWo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B_HnVdK_.js → _server.ts-Dy4awv21.js} +2 -2
- package/build/server/chunks/{_server.ts-B_HnVdK_.js.map → _server.ts-Dy4awv21.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BMfR4Lye.js → _server.ts-DzBYcUNP.js} +5 -5
- package/build/server/chunks/{_server.ts-BMfR4Lye.js.map → _server.ts-DzBYcUNP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CG2B5rlx.js → _server.ts-DzLrbljj.js} +5 -5
- package/build/server/chunks/{_server.ts-CG2B5rlx.js.map → _server.ts-DzLrbljj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D2qIIqBN.js → _server.ts-E0LKVKqn.js} +5 -5
- package/build/server/chunks/{_server.ts-D2qIIqBN.js.map → _server.ts-E0LKVKqn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BDu6FWnC.js → _server.ts-KFIVweQ1.js} +6 -6
- package/build/server/chunks/{_server.ts-BDu6FWnC.js.map → _server.ts-KFIVweQ1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-By2JBW.js → _server.ts-KsWTwPeQ.js} +5 -5
- package/build/server/chunks/{_server.ts-D-By2JBW.js.map → _server.ts-KsWTwPeQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-qsfPaqQe.js → _server.ts-QPhNhWsE.js} +5 -5
- package/build/server/chunks/{_server.ts-qsfPaqQe.js.map → _server.ts-QPhNhWsE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ba5LpOKk.js → _server.ts-RnSrIgoc.js} +7 -7
- package/build/server/chunks/{_server.ts-Ba5LpOKk.js.map → _server.ts-RnSrIgoc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DJdI0sh1.js → _server.ts-S-AzjmxN.js} +6 -6
- package/build/server/chunks/{_server.ts-DJdI0sh1.js.map → _server.ts-S-AzjmxN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BDRFGcRb.js → _server.ts-X10vIa8R.js} +5 -5
- package/build/server/chunks/{_server.ts-BDRFGcRb.js.map → _server.ts-X10vIa8R.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xb_1w1kf.js → _server.ts-XY5ZysCx.js} +2 -2
- package/build/server/chunks/{_server.ts-xb_1w1kf.js.map → _server.ts-XY5ZysCx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B20Y2eS7.js → _server.ts-Xl36hhJh.js} +6 -6
- package/build/server/chunks/{_server.ts-B20Y2eS7.js.map → _server.ts-Xl36hhJh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DFpIzR83.js → _server.ts-Z395KDPV.js} +6 -6
- package/build/server/chunks/{_server.ts-DFpIzR83.js.map → _server.ts-Z395KDPV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGqpENOm.js → _server.ts-huFJtCZs.js} +6 -6
- package/build/server/chunks/{_server.ts-CGqpENOm.js.map → _server.ts-huFJtCZs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BxudLrGe.js → _server.ts-i0tcUGUm.js} +5 -5
- package/build/server/chunks/{_server.ts-BxudLrGe.js.map → _server.ts-i0tcUGUm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-QdNUZ6_w.js → _server.ts-jFQ6Wf5I.js} +7 -7
- package/build/server/chunks/{_server.ts-QdNUZ6_w.js.map → _server.ts-jFQ6Wf5I.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DMCXKECk.js → _server.ts-lie-h2LF.js} +4 -4
- package/build/server/chunks/{_server.ts-DMCXKECk.js.map → _server.ts-lie-h2LF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CPoU3qb9.js → _server.ts-nYNqmJ4M.js} +5 -5
- package/build/server/chunks/{_server.ts-CPoU3qb9.js.map → _server.ts-nYNqmJ4M.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D89NvzFz.js → _server.ts-q0n79-Wn.js} +7 -7
- package/build/server/chunks/{_server.ts-D89NvzFz.js.map → _server.ts-q0n79-Wn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DMPk4tQR.js → _server.ts-rnssX7fi.js} +5 -5
- package/build/server/chunks/{_server.ts-DMPk4tQR.js.map → _server.ts-rnssX7fi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DTlf1C5O.js → _server.ts-tdQgM_h4.js} +5 -5
- package/build/server/chunks/{_server.ts-DTlf1C5O.js.map → _server.ts-tdQgM_h4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BSe6G25o.js → _server.ts-xGkSNfpX.js} +5 -5
- package/build/server/chunks/{_server.ts-BSe6G25o.js.map → _server.ts-xGkSNfpX.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-CtXSmg5a.js → addon-helpers-DQ4Sw0eL.js} +3 -3
- package/build/server/chunks/{addon-helpers-CtXSmg5a.js.map → addon-helpers-DQ4Sw0eL.js.map} +1 -1
- package/build/server/chunks/{akm-BRiRim0P.js → akm-CzkR6h7k.js} +2 -2
- package/build/server/chunks/{akm-BRiRim0P.js.map → akm-CzkR6h7k.js.map} +1 -1
- package/build/server/chunks/{catalog-DEv1nsOT.js → catalog-CqhyP3nH.js} +5 -5
- package/build/server/chunks/{catalog-DEv1nsOT.js.map → catalog-CqhyP3nH.js.map} +1 -1
- package/build/server/chunks/{client-BVhtM1mG.js → client-DnRnUa51.js} +2 -2
- package/build/server/chunks/{client-BVhtM1mG.js.map → client-DnRnUa51.js.map} +1 -1
- package/build/server/chunks/{config-CO8OSXtU.js → config-sOJVdbXV.js} +2 -2
- package/build/server/chunks/{config-CO8OSXtU.js.map → config-sOJVdbXV.js.map} +1 -1
- package/build/server/chunks/{docker-CTjWsP_Q.js → docker-Kvd81Syx.js} +2 -2
- package/build/server/chunks/{docker-CTjWsP_Q.js.map → docker-Kvd81Syx.js.map} +1 -1
- package/build/server/chunks/{endpoints-UdQGgKsR.js → endpoints-jOpkf70B.js} +2 -2
- package/build/server/chunks/{endpoints-UdQGgKsR.js.map → endpoints-jOpkf70B.js.map} +1 -1
- package/build/server/chunks/{environment-DedKcJdc.js → environment-C4mqyQco.js} +2 -2
- package/build/server/chunks/{environment-DedKcJdc.js.map → environment-C4mqyQco.js.map} +1 -1
- package/build/server/chunks/{error.svelte-C6ZvgK-0.js → error.svelte-BsAseuKj.js} +4 -4
- package/build/server/chunks/{error.svelte-C6ZvgK-0.js.map → error.svelte-BsAseuKj.js.map} +1 -1
- package/build/server/chunks/{helpers-kzwksNq1.js → helpers-CdFbX3Gv.js} +3 -3
- package/build/server/chunks/{helpers-kzwksNq1.js.map → helpers-CdFbX3Gv.js.map} +1 -1
- package/build/server/chunks/{hooks.server-BjQOtOyj.js → hooks.server-BxMMvOvG.js} +7 -7
- package/build/server/chunks/{hooks.server-BjQOtOyj.js.map → hooks.server-BxMMvOvG.js.map} +1 -1
- package/build/server/chunks/{http-D8YVIqJa.js → http-CHHnc6an.js} +2 -2
- package/build/server/chunks/{http-D8YVIqJa.js.map → http-CHHnc6an.js.map} +1 -1
- package/build/server/chunks/{internal-DQFuMtuQ.js → internal-DtzAdxjF.js} +3 -3
- package/build/server/chunks/{internal-DQFuMtuQ.js.map → internal-DtzAdxjF.js.map} +1 -1
- package/build/server/chunks/{migration-status-a9KsTKSo.js → migration-status-CElXKl1J.js} +2 -2
- package/build/server/chunks/{migration-status-a9KsTKSo.js.map → migration-status-CElXKl1J.js.map} +1 -1
- package/build/server/chunks/{session-cookie-CHgIES2p.js → session-cookie-CpL6ZNVl.js} +2 -2
- package/build/server/chunks/{session-cookie-CHgIES2p.js.map → session-cookie-CpL6ZNVl.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-B--th9ts.js → setup-deploy-n5x1ZBl3.js} +2 -2
- package/build/server/chunks/{setup-deploy-B--th9ts.js.map → setup-deploy-n5x1ZBl3.js.map} +1 -1
- package/build/server/chunks/{src-CidJbygh.js → src-DUEmEQ8J.js} +2 -2
- package/build/server/chunks/src-DUEmEQ8J.js.map +1 -0
- package/build/server/chunks/{state-fxN45gBp.js → state-DTvf_DJR.js} +2 -2
- package/build/server/chunks/{state-fxN45gBp.js.map → state-DTvf_DJR.js.map} +1 -1
- package/build/server/chunks/{state2-boKye0ZJ.js → state2-DZ2pu1L6.js} +2 -2
- package/build/server/chunks/{state2-boKye0ZJ.js.map → state2-DZ2pu1L6.js.map} +1 -1
- package/build/server/chunks/theme-state.svelte-BsNoJAjT.js.map +1 -1
- package/build/server/index.js +2 -2
- package/build/server/manifest.js +96 -96
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/assets/0.03HRqLzj.css +0 -1
- package/build/client/_app/immutable/assets/0.03HRqLzj.css.br +0 -0
- package/build/client/_app/immutable/assets/0.03HRqLzj.css.gz +0 -0
- package/build/client/_app/immutable/assets/10.C4zN9dGC.css +0 -1
- package/build/client/_app/immutable/assets/10.C4zN9dGC.css.br +0 -0
- package/build/client/_app/immutable/assets/10.C4zN9dGC.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.C2tVeZVh.css +0 -1
- package/build/client/_app/immutable/assets/4.C2tVeZVh.css.br +0 -0
- package/build/client/_app/immutable/assets/4.C2tVeZVh.css.gz +0 -0
- package/build/client/_app/immutable/assets/5.Cj0Mk9Gn.css +0 -1
- package/build/client/_app/immutable/assets/5.Cj0Mk9Gn.css.br +0 -0
- package/build/client/_app/immutable/assets/5.Cj0Mk9Gn.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.C9M6ETTz.css +0 -1
- package/build/client/_app/immutable/assets/6.C9M6ETTz.css.br +0 -2
- package/build/client/_app/immutable/assets/6.C9M6ETTz.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.CIARtob0.css +0 -1
- package/build/client/_app/immutable/assets/7.CIARtob0.css.br +0 -0
- package/build/client/_app/immutable/assets/7.CIARtob0.css.gz +0 -0
- package/build/client/_app/immutable/assets/8.CY2RMSue.css +0 -1
- package/build/client/_app/immutable/assets/8.CY2RMSue.css.br +0 -4
- package/build/client/_app/immutable/assets/8.CY2RMSue.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.CkiNtsHc.css +0 -1
- package/build/client/_app/immutable/assets/9.CkiNtsHc.css.br +0 -0
- package/build/client/_app/immutable/assets/9.CkiNtsHc.css.gz +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.Dvo0uBBZ.css +0 -1
- package/build/client/_app/immutable/assets/ChatMessage.Dvo0uBBZ.css.br +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.Dvo0uBBZ.css.gz +0 -0
- package/build/client/_app/immutable/assets/Navbar.8KmI3SWX.css +0 -1
- package/build/client/_app/immutable/assets/Navbar.8KmI3SWX.css.br +0 -0
- package/build/client/_app/immutable/assets/Navbar.8KmI3SWX.css.gz +0 -0
- package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css +0 -1
- package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.br +0 -2
- package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B7vwJqoj.js +0 -16
- package/build/client/_app/immutable/chunks/B7vwJqoj.js.br +0 -0
- package/build/client/_app/immutable/chunks/B7vwJqoj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Buy0D9D-.js +0 -1
- package/build/client/_app/immutable/chunks/Buy0D9D-.js.br +0 -0
- package/build/client/_app/immutable/chunks/Buy0D9D-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CpzMlkvh.js +0 -1
- package/build/client/_app/immutable/chunks/CpzMlkvh.js.br +0 -2
- package/build/client/_app/immutable/chunks/CpzMlkvh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cub6afmL.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cub6afmL.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D2dFPcAY.js +0 -3
- package/build/client/_app/immutable/chunks/D2dFPcAY.js.br +0 -0
- package/build/client/_app/immutable/chunks/D2dFPcAY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DMSxHu0j.js +0 -5
- package/build/client/_app/immutable/chunks/DMSxHu0j.js.br +0 -0
- package/build/client/_app/immutable/chunks/DMSxHu0j.js.gz +0 -0
- package/build/client/_app/immutable/chunks/i-u-oQAW.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CGwa9uv7.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CGwa9uv7.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CPRDHuTW.js +0 -1
- package/build/client/_app/immutable/entry/start.CPRDHuTW.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CPRDHuTW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DOxwxXh1.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DOxwxXh1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.ALcLv429.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.ALcLv429.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4._U3pMj5x.js +0 -133
- package/build/client/_app/immutable/nodes/4._U3pMj5x.js.br +0 -0
- package/build/client/_app/immutable/nodes/4._U3pMj5x.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CUEzVL3V.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CUEzVL3V.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BL78XiLU.js +0 -1
- package/build/client/_app/immutable/nodes/6.BL78XiLU.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BL78XiLU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.F5ztMZTo.js +0 -2
- package/build/client/_app/immutable/nodes/7.F5ztMZTo.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.F5ztMZTo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.xcsOM3k5.js +0 -1
- package/build/client/_app/immutable/nodes/8.xcsOM3k5.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.xcsOM3k5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.OQRL7WC0.js +0 -6
- package/build/client/_app/immutable/nodes/9.OQRL7WC0.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.OQRL7WC0.js.gz +0 -0
- package/build/server/chunks/1-2o6Ed2yp.js +0 -9
- package/build/server/chunks/4-D6BCA1En.js +0 -9
- package/build/server/chunks/4-D6BCA1En.js.map +0 -1
- package/build/server/chunks/5-FSdT4QNL.js +0 -9
- package/build/server/chunks/5-FSdT4QNL.js.map +0 -1
- package/build/server/chunks/6-C0ETgtOo.js +0 -9
- package/build/server/chunks/6-C0ETgtOo.js.map +0 -1
- package/build/server/chunks/7-BcFrRC7r.js +0 -9
- package/build/server/chunks/7-BcFrRC7r.js.map +0 -1
- package/build/server/chunks/9-R739z6lx.js.map +0 -1
- package/build/server/chunks/ChatMessage-BEFlmHur.js.map +0 -1
- package/build/server/chunks/Navbar-y0AyDpcy.js.map +0 -1
- package/build/server/chunks/_page.svelte-Cqzbf_9r.js.map +0 -1
- package/build/server/chunks/_page.svelte-DCeKtm_e.js +0 -37
- package/build/server/chunks/_page.svelte-DCeKtm_e.js.map +0 -1
- package/build/server/chunks/_page.svelte-DM3jnL7B.js.map +0 -1
- package/build/server/chunks/_page.svelte-DbVLfUMo.js.map +0 -1
- package/build/server/chunks/_page.svelte-LjsOqqWX.js +0 -257
- package/build/server/chunks/_page.svelte-LjsOqqWX.js.map +0 -1
- package/build/server/chunks/src-CidJbygh.js.map +0 -1
- /package/build/client/_app/immutable/chunks/{Oz5B_hgH.js → 9fMyFnaz.js} +0 -0
- /package/build/client/_app/immutable/chunks/{Oz5B_hgH.js.br → 9fMyFnaz.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{Oz5B_hgH.js.gz → 9fMyFnaz.js.gz} +0 -0
- /package/build/client/_app/immutable/nodes/{10.BzTAm6YU.js → 10.D8Hw0nH7.js} +0 -0
- /package/build/client/_app/immutable/nodes/{10.BzTAm6YU.js.br → 10.D8Hw0nH7.js.br} +0 -0
- /package/build/client/_app/immutable/nodes/{10.BzTAm6YU.js.gz → 10.D8Hw0nH7.js.gz} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-D7IC_Y32.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Gt 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-CyS5S3cz.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Gt 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;AACA,SAAS,WAAW,GAAG;AACvB,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC;AAC7D;AACA,SAAS,WAAW,GAAG;AACvB,CAAC,MAAM,IAAI,GAAG,WAAW,EAAE;AAC3B,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AACjC,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE;AAC3C,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACA,SAAS,WAAW,CAAC,QAAQ,EAAE;AAC/B,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;AAC9J;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,iFAAiF;AACvI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,OAAO;AACvC,EAAE,sEAAsE;AACxE,EAAE,uCAAuC;AACzC,EAAE,gCAAgC;AAClC,EAAE,4DAA4D;AAC9D,EAAE,wCAAwC;AAC1C,EAAE,8EAA8E;AAChF,EAAE,EAAE;AACJ,EAAE,mBAAmB;AACrB,EAAE,YAAY;AACd,EAAE,EAAE;AACJ,EAAE,eAAe;AACjB,EAAE,KAAK,CAAC;AACR,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AACb,CAAC,OAAO;AACR,EAAE,wDAAwD;AAC1D,EAAE,uCAAuC;AACzC,EAAE,qFAAqF;AACvF,EAAE,6CAA6C;AAC/C,EAAE,0CAA0C;AAC5C,EAAE,wCAAwC;AAC1C,EAAE,EAAE;AACJ,EAAE,mBAAmB;AACrB,EAAE,YAAY;AACd,EAAE,EAAE;AACJ,EAAE,eAAe;AACjB,EAAE,KAAK,CAAC,QAAQ;AAChB,EAAE,EAAE;AACJ,EAAE,wBAAwB;AAC1B,EAAE,KAAK,CAAC,aAAa,IAAI;AACzB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AACb;AACA,SAAS,kBAAkB,CAAC,MAAM,EAAE;AACpC,CAAC,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE;AACtF,CAAC,IAAI,KAAK,EAAE,OAAO,KAAK;AACxB,CAAC,OAAO,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI;AAC7E;AACA,eAAe,gBAAgB,GAAG;AAClC,CAAC,IAAI;AACL,EAAE,OAAO,MAAM,aAAa,CAAC,SAAS,CAAC;AACvC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,gBAAgB,EAAE;AAC3B,CAAC;AACD;AACA,eAAe,iBAAiB,CAAC,KAAK,EAAE;AACxC,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;AACvC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI;AAC3B,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,OAAO,IAAI;AAC7E,CAAC,MAAM,OAAO,GAAG,WAAW,EAAE;AAC9B,CAAC,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,gBAAgB,EAAE,CAAC;AAC3D,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC;AAC5B,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI;AAClB,EAAE,QAAQ;AACV,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE;AAC5C,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,SAAS,GAAG,EAAE;AACnB,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE;AAClD,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE;AAC1B,GAAG,CAAC;AACJ,EAAE,SAAS,GAAG,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,GAAG,OAAO,CAAC,EAAE,GAAG,EAAE;AAC9D,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI;AAC7B,EAAE,OAAO,WAAW,CAAC,MAAM,aAAa,CAAC,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE;AAC9F,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,KAAK,EAAE,CAAC;AACZ,KAAK,IAAI,EAAE,MAAM;AACjB,KAAK,IAAI,EAAE;AACX,KAAK,CAAC;AACN,IAAI,GAAG,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG;AAC3B,IAAI;AACJ,GAAG,CAAC,CAAC,IAAI,IAAI;AACb,CAAC,CAAC,SAAS;AACX,EAAE,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACvH,CAAC;AACD;AACA;AACA;AACA,IAAI,aAAa,GAAG,QAAQ;AAC5B,IAAI,aAAa,GAAG,aAAa;AACjC,IAAI,cAAc,GAAG,KAAK;AAC1B,IAAI,mBAAmB,GAAG,GAAG;AAC7B,SAAS,SAAS,CAAC,CAAC,EAAE;AACtB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,OAAO,CAAC;AACvG;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AACnD,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,EAAE,IAAI,EAAE;AAC1F,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,aAAa;AACnG,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,aAAa;AACnG,CAAC,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,IAAI,EAAE;AAC5D,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,mDAAmD,EAAE,EAAE,EAAE,SAAS,CAAC;AACrI,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE;AACrB,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AAC7D,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3F,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI;AAC9E,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;AACzE,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ,GAAG,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE;AACxF,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,QAAQ;AACxF,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,cAAc;AAClG,CAAC,IAAI,UAAU,GAAG,IAAI;AACtB,CAAC,IAAI,IAAI,EAAE,IAAI;AACf,EAAE,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;AAC3C,GAAG,IAAI;AACP,GAAG,QAAQ;AACX,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,IAAI,QAAQ,EAAE,UAAU,GAAG,QAAQ;AACrC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,GAAG,CAAC;AAC/E,CAAC;AACD,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,kBAAkB;AACxE,CAAC,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACvD,CAAC,IAAI,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAChE,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI;AACL,EAAE,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;AACtC,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,OAAO;AACV,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK;AACT,IAAI,KAAK,EAAE,UAAU;AACrB,IAAI,eAAe,EAAE;AACrB,IAAI,CAAC;AACL,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,mBAAmB;AAClD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,8BAA8B,EAAE,SAAS,CAAC,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC;AACD,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnB,EAAE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AACpD,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;AAC1F,GAAG,cAAc,EAAE,QAAQ,CAAC,MAAM;AAClC,GAAG,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG;AACrC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE;AACtC,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC;AACzF,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAC7D,CAAC,IAAI,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC;AACxE,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;AAC/C,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;AACpC,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,EAAE,CAAC;AACH;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ao as listAvailableAddonIds, ar as listEnabledAddonIds, ac as getRegistryAddonConfig, H as createLogger } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-
|
|
4
|
-
import { p as performAddonToggle } from './addon-helpers-
|
|
1
|
+
import { ao as listAvailableAddonIds, ar as listEnabledAddonIds, ac as getRegistryAddonConfig, H as createLogger } from './src-DUEmEQ8J.js';
|
|
2
|
+
import { g as getState } from './state-DTvf_DJR.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CdFbX3Gv.js';
|
|
4
|
+
import { p as performAddonToggle } from './addon-helpers-DQ4Sw0eL.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -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-jOpkf70B.js';
|
|
27
27
|
|
|
28
28
|
//#region src/routes/admin/addons/[name]/+server.ts
|
|
29
29
|
var logger = createLogger("addons.name");
|
|
@@ -73,4 +73,4 @@ var POST = async (event) => {
|
|
|
73
73
|
};
|
|
74
74
|
|
|
75
75
|
export { GET, POST };
|
|
76
|
-
//# sourceMappingURL=_server.ts-
|
|
76
|
+
//# sourceMappingURL=_server.ts-CydNfw4_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CydNfw4_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_name_/_server.ts.js"],"sourcesContent":["import { Mt as getRegistryAddonConfig, Nt as listAvailableAddonIds, Pt as listEnabledAddonIds, Tn 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 performAddonToggle } from \"../../../../../chunks/addon-helpers.js\";\n//#region src/routes/admin/addons/[name]/+server.ts\nvar logger = createLogger(\"addons.name\");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst enabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"failed to read addon schema\", {\n\t\t\tname,\n\t\t\terror: String(error),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", `Addon \"${name}\" schema is unavailable`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tenabled,\n\t\tconfig\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst toggle = await performAddonToggle(state, name, typeof body.enabled === \"boolean\" ? body.enabled : void 0, requestId);\n\tif (!toggle.ok) return errorResponse(500, \"internal_error\", toggle.error, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\taddon: name,\n\t\tenabled: toggle.enabled,\n\t\tchanged: toggle.changed\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { aI as readStackEnv, az as patchSecretsEnvFile, b8 as writeFileAtomic } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-
|
|
1
|
+
import { aI as readStackEnv, az as patchSecretsEnvFile, b8 as writeFileAtomic } from './src-DUEmEQ8J.js';
|
|
2
|
+
import { g as getState } from './state-DTvf_DJR.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-CdFbX3Gv.js';
|
|
4
4
|
import { existsSync, readFileSync, mkdirSync } from 'node:fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import './chunk-CLZ62Ad-.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-jOpkf70B.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/assistant/+server.ts
|
|
28
28
|
var DEFAULT_PROJECT_NAME = "openpalm";
|
|
@@ -86,4 +86,4 @@ var PUT = async (event) => withAdminBody(event, async ({ requestId, body }) => {
|
|
|
86
86
|
});
|
|
87
87
|
|
|
88
88
|
export { GET, PUT };
|
|
89
|
-
//# sourceMappingURL=_server.ts-
|
|
89
|
+
//# sourceMappingURL=_server.ts-D-Uq5EMc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-D-Uq5EMc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/assistant/_server.ts.js"],"sourcesContent":["import { Gt as readStackEnv, Wt as patchSecretsEnvFile, et as writeFileAtomic } 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\";\nimport { existsSync, mkdirSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/routes/admin/assistant/+server.ts\nvar DEFAULT_PROJECT_NAME = \"openpalm\";\nvar DEFAULT_ASSISTANT_BIND_ADDRESS = \"127.0.0.1\";\nvar LAN_ASSISTANT_BIND_ADDRESS = \"0.0.0.0\";\nvar PROJECT_NAME_RE = /^[a-z0-9][a-z0-9_-]*$/;\nfunction personaPath(configDir) {\n\treturn join(configDir, \"assistant\", \"persona.md\");\n}\nfunction readPersona(configDir) {\n\tconst path = personaPath(configDir);\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\");\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction normalizeProjectName(raw) {\n\tif (typeof raw !== \"string\") return null;\n\tconst value = raw.trim() || DEFAULT_PROJECT_NAME;\n\tif (value.length > 63) return null;\n\treturn PROJECT_NAME_RE.test(value) ? value : null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tconst state = getState();\n\tconst env = readStackEnv(state.stackDir);\n\treturn jsonResponse(200, {\n\t\tprojectName: env.OP_PROJECT_NAME?.trim() || DEFAULT_PROJECT_NAME,\n\t\tlanExposureEnabled: (env.OP_ASSISTANT_BIND_ADDRESS?.trim() || DEFAULT_ASSISTANT_BIND_ADDRESS) === LAN_ASSISTANT_BIND_ADDRESS,\n\t\tstackEnvPath: \"knowledge/env/stack.env\",\n\t\tpersonaPath: \"config/assistant/persona.md\",\n\t\tpersonaContent: readPersona(state.configDir)\n\t}, requestId);\n};\nvar PUT = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst projectName = normalizeProjectName(body.projectName);\n\tif (!projectName) return errorResponse(400, \"bad_request\", \"projectName must be 1-63 chars of lowercase letters, numbers, dashes, or underscores.\", {}, requestId);\n\tif (typeof body.personaContent !== \"string\") return errorResponse(400, \"bad_request\", \"personaContent must be a string\", {}, requestId);\n\tif (typeof body.lanExposureEnabled !== \"boolean\") return errorResponse(400, \"bad_request\", \"lanExposureEnabled must be a boolean\", {}, requestId);\n\tconst state = getState();\n\tpatchSecretsEnvFile(state.stackDir, {\n\t\tOP_PROJECT_NAME: projectName,\n\t\tOP_ASSISTANT_BIND_ADDRESS: body.lanExposureEnabled ? LAN_ASSISTANT_BIND_ADDRESS : DEFAULT_ASSISTANT_BIND_ADDRESS\n\t});\n\tconst path = personaPath(state.configDir);\n\tmkdirSync(join(state.configDir, \"assistant\"), { recursive: true });\n\tconst personaContent = body.personaContent.endsWith(\"\\n\") ? body.personaContent : `${body.personaContent}\\n`;\n\twriteFileAtomic(path, personaContent, 420);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tprojectName,\n\t\tlanExposureEnabled: body.lanExposureEnabled,\n\t\tstackEnvPath: \"knowledge/env/stack.env\",\n\t\tpersonaPath: \"config/assistant/persona.md\",\n\t\tpersonaContent\n\t}, requestId);\n});\n//#endregion\nexport { GET, PUT };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { aj as isDeployableUnit, p as checkDocker, f as applyUnitImageTagChange, d as applyTagChange, D as DowngradeConfirmationRequired, H as createLogger } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-
|
|
1
|
+
import { aj as isDeployableUnit, p as checkDocker, f as applyUnitImageTagChange, d as applyTagChange, D as DowngradeConfirmationRequired, H as createLogger } from './src-DUEmEQ8J.js';
|
|
2
|
+
import { g as getState } from './state-DTvf_DJR.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CdFbX3Gv.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-jOpkf70B.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/stack-version/+server.ts
|
|
28
28
|
var logger = createLogger("stack-version");
|
|
@@ -85,4 +85,4 @@ var PATCH = async (event) => {
|
|
|
85
85
|
};
|
|
86
86
|
|
|
87
87
|
export { PATCH };
|
|
88
|
-
//# sourceMappingURL=_server.ts-
|
|
88
|
+
//# sourceMappingURL=_server.ts-D5-6rgyM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-D5-6rgyM.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/stack-version/_server.ts.js"],"sourcesContent":["import { B as DowngradeConfirmationRequired, H as applyTagChange, Tn as createLogger, W as applyUnitImageTagChange, at as checkDocker, dn as isDeployableUnit } 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/stack-version/+server.ts\nvar logger = createLogger(\"stack-version\");\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._\\-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst confirmDowngrade = body.confirmDowngrade === true;\n\tconst unit = typeof body.unit === \"string\" ? body.unit.trim() : \"\";\n\tif (unit && !isDeployableUnit(unit)) return errorResponse(400, \"invalid_unit\", `Unknown deployable unit: ${unit}`, {}, requestId);\n\tconst state = getState();\n\tconst dockerCheck = await checkDocker();\n\tif (!dockerCheck.ok) {\n\t\tlogger.error(\"stack-version aborted: docker unavailable\", { requestId });\n\t\treturn errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t}\n\tlet result;\n\ttry {\n\t\tresult = unit ? await applyUnitImageTagChange(state, unit, tag, { confirmDowngrade }) : await applyTagChange(state, tag, { confirmDowngrade });\n\t} catch (e) {\n\t\tif (e instanceof DowngradeConfirmationRequired) {\n\t\t\tlogger.info(\"stack-version downgrade requires confirmation\", {\n\t\t\t\trequestId,\n\t\t\t\tunit: unit || \"stack\",\n\t\t\t\tcurrentVersion: e.currentVersion,\n\t\t\t\ttargetVersion: e.targetVersion\n\t\t\t});\n\t\t\treturn errorResponse(409, \"downgrade_confirmation_required\", e.message, {\n\t\t\t\tcurrentVersion: e.currentVersion,\n\t\t\t\ttargetVersion: e.targetVersion\n\t\t\t}, requestId);\n\t\t}\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"stack-version apply failed\", {\n\t\t\trequestId,\n\t\t\tunit: unit || \"stack\",\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"apply_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"stack-version applied\", {\n\t\trequestId,\n\t\tunit: unit || \"stack\",\n\t\timageTag: result.imageTag\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\timageTag: result.imageTag,\n\t\trestarted: result.restarted\n\t}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { au as loadAutomations } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-
|
|
1
|
+
import { au as loadAutomations } from './src-DUEmEQ8J.js';
|
|
2
|
+
import { g as getState } from './state-DTvf_DJR.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CdFbX3Gv.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-jOpkf70B.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/automations/+server.ts
|
|
28
28
|
var GET = async (event) => {
|
|
@@ -46,4 +46,4 @@ var GET = async (event) => {
|
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
export { GET };
|
|
49
|
-
//# sourceMappingURL=_server.ts-
|
|
49
|
+
//# sourceMappingURL=_server.ts-D55bp3Nl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-D55bp3Nl.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_server.ts.js"],"sourcesContent":["import { f as loadAutomations } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\treturn jsonResponse(200, { automations: loadAutomations(getState().stashDir).map((c) => ({\n\t\tname: c.name,\n\t\tdescription: c.description,\n\t\tschedule: c.schedule,\n\t\ttimezone: c.timezone,\n\t\tenabled: c.enabled,\n\t\taction: {\n\t\t\ttype: c.action.type,\n\t\t\tcontent: c.action.content,\n\t\t\tagent: c.action.agent\n\t\t},\n\t\ton_failure: c.on_failure,\n\t\tfileName: c.fileName\n\t})) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC1F,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;AACd,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;AAC5B,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;AACpB,EAAE,MAAM,EAAE;AACV,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;AACtB,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;AAC5B,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;AACnB,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;AAC1B,EAAE,QAAQ,EAAE,CAAC,CAAC;AACd,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { b7 as validateProposedState, H as createLogger } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-
|
|
1
|
+
import { b7 as validateProposedState, H as createLogger } from './src-DUEmEQ8J.js';
|
|
2
|
+
import { g as getState } from './state-DTvf_DJR.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CdFbX3Gv.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-jOpkf70B.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/config/validate/+server.ts
|
|
28
28
|
var logger = createLogger("admin.config.validate");
|
|
@@ -40,4 +40,4 @@ var GET = async (event) => {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
export { GET };
|
|
43
|
-
//# sourceMappingURL=_server.ts-
|
|
43
|
+
//# sourceMappingURL=_server.ts-D5YBOr-I.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-D5YBOr-I.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/config/validate/_server.ts.js"],"sourcesContent":["import { S as validateProposedState, Tn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/config/validate/+server.ts\nvar logger = createLogger(\"admin.config.validate\");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst result = await validateProposedState(getState());\n\tif (!result.ok) logger.warn(\"config validation failed\", {\n\t\trequestId,\n\t\terrors: result.errors,\n\t\twarnings: result.warnings\n\t});\n\treturn jsonResponse(200, result, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC;AAC/C,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AACzD,EAAE,SAAS;AACX,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,QAAQ,EAAE,MAAM,CAAC;AACnB,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;AAC5C;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ah as isAllowedService, p as checkDocker, z as composeStart, n as buildComposeOptions, H as createLogger } from './src-
|
|
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 { ah as isAllowedService, p as checkDocker, z as composeStart, n as buildComposeOptions, H as createLogger } from './src-DUEmEQ8J.js';
|
|
2
|
+
import { g as getState } from './state-DTvf_DJR.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-CdFbX3Gv.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-jOpkf70B.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-D8S0Gcdh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-D8S0Gcdh.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { A as isAllowedService, Tn as createLogger, at as checkDocker, pt as composeStart, z as buildComposeOptions } 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,9 +1,9 @@
|
|
|
1
|
-
import { ae as importHostOpenCode, R as detectHostOpenCode, j as authJsonPath, p as checkDocker, n as buildComposeOptions } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-
|
|
1
|
+
import { ae as importHostOpenCode, R as detectHostOpenCode, j as authJsonPath, p as checkDocker, n as buildComposeOptions } from './src-DUEmEQ8J.js';
|
|
2
|
+
import { g as getState } from './state-DTvf_DJR.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-CdFbX3Gv.js';
|
|
4
4
|
import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
|
|
5
|
-
import { o as opencodeFetch } from './http-
|
|
6
|
-
import { c as composeRestart } from './docker-
|
|
5
|
+
import { o as opencodeFetch } from './http-CHHnc6an.js';
|
|
6
|
+
import { c as composeRestart } from './docker-Kvd81Syx.js';
|
|
7
7
|
import { existsSync, readFileSync } from 'node:fs';
|
|
8
8
|
import './chunk-CLZ62Ad-.js';
|
|
9
9
|
import 'node:module';
|
|
@@ -25,7 +25,7 @@ import 'zlib';
|
|
|
25
25
|
import 'node:assert';
|
|
26
26
|
import 'node:fs/promises';
|
|
27
27
|
import 'node:os';
|
|
28
|
-
import './endpoints-
|
|
28
|
+
import './endpoints-jOpkf70B.js';
|
|
29
29
|
|
|
30
30
|
//#region src/routes/admin/providers/import-host/+server.ts
|
|
31
31
|
/**
|
|
@@ -157,4 +157,4 @@ var POST = async (event) => {
|
|
|
157
157
|
};
|
|
158
158
|
|
|
159
159
|
export { POST };
|
|
160
|
-
//# sourceMappingURL=_server.ts-
|
|
160
|
+
//# sourceMappingURL=_server.ts-DBbAbCGV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DBbAbCGV.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/import-host/_server.ts.js"],"sourcesContent":["import { a as importHostOpenCode, at as checkDocker, i as detectHostOpenCode, tn as authJsonPath, z as buildComposeOptions } 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, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/admin/providers/import-host/+server.ts\n/**\n* POST /admin/providers/import-host\n*\n* Copies host OpenCode config + auth into OP_HOME, then pushes each\n* imported credential to the running OpenCode server so the providers\n* appear connected immediately (no restart required).\n*\n* - opencode.json: stripped of plugin/mcp/permission keys, merged with\n* existing OP_HOME config. Provider conflicts preserved by default.\n* - auth.json: byte-copied and chmodded 0o600. Never logged.\n* - Live push: best-effort PUT to OpenCode /auth/{id} per credential.\n* If OpenCode is unreachable, the file copy still applies and OpenCode\n* will pick up the credentials on next restart.\n* - Service restart: assistant is restarted after the import so opencode.json\n* provider blocks are re-read (live push only updates the auth store, not\n* config).\n*\n* Body (optional JSON):\n* { overwriteConflicts?: boolean } — default false\n*\n* Auth: admin token required.\n*/\n/**\n* Restart services that hold provider state in startup config.\n* Best-effort: the file-level import is the durable part; this is the polish\n* that makes the change visible without the user having to bounce things by hand.\n* OpenCode caches opencode.json provider blocks at startup, so imported\n* provider config needs a fresh assistant process.\n*/\nasync function restartProviderConsumers() {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(getState());\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Push each auth.json entry to OpenCode's /auth/{id} so the running process sees them. */\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch {\n\t\treturn {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: 0,\n\t\tfailed: []\n\t};\n\tlet pushed = 0;\n\tconst failed = [];\n\tfor (const [providerId, value] of Object.entries(raw)) try {\n\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: JSON.stringify(value)\n\t\t});\n\t\tpushed++;\n\t} catch {\n\t\tfailed.push(providerId);\n\t}\n\treturn {\n\t\tpushed,\n\t\tfailed\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:providers:import-host\", async () => {\n\t\tconst state = getState();\n\t\tlet overwriteConflicts = false;\n\t\tif ((event.request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\t\tconst parsed = await parseJsonBody(event.request);\n\t\t\tif (!(\"error\" in parsed)) overwriteConflicts = parsed.data.overwriteConflicts === true;\n\t\t}\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = importHostOpenCode(state, { overwriteConflicts });\n\t\t} catch (err) {\n\t\t\treturn errorResponse(500, \"import_failed\", err instanceof Error ? err.message : \"Import failed\", {}, requestId);\n\t\t}\n\t\tconst hostStatus = detectHostOpenCode();\n\t\tlet livePush = {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t\tconst importedAuthPath = authJsonPath(state);\n\t\tif (existsSync(importedAuthPath)) livePush = await pushAuthToOpenCode(importedAuthPath);\n\t\telse if (hostStatus.authPath) livePush = await pushAuthToOpenCode(hostStatus.authPath);\n\t\tconst restart = await restartProviderConsumers();\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\timported: result.imported,\n\t\t\tconflicts: result.conflicts,\n\t\t\tlivePushed: livePush.pushed,\n\t\t\tlivePushFailed: livePush.failed,\n\t\t\trestarted: restart.restarted,\n\t\t\trestartFailed: restart.failed\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ar as listEnabledAddonIds, ao as listAvailableAddonIds } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-
|
|
4
|
-
import { p as performAddonToggle } from './addon-helpers-
|
|
1
|
+
import { ar as listEnabledAddonIds, ao as listAvailableAddonIds } from './src-DUEmEQ8J.js';
|
|
2
|
+
import { g as getState } from './state-DTvf_DJR.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-CdFbX3Gv.js';
|
|
4
|
+
import { p as performAddonToggle } from './addon-helpers-DQ4Sw0eL.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -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-jOpkf70B.js';
|
|
27
27
|
|
|
28
28
|
//#region src/routes/admin/addons/+server.ts
|
|
29
29
|
function buildAddonList(availableIds, enabledIds) {
|
|
@@ -63,4 +63,4 @@ var POST = async (event) => {
|
|
|
63
63
|
};
|
|
64
64
|
|
|
65
65
|
export { GET, POST };
|
|
66
|
-
//# sourceMappingURL=_server.ts-
|
|
66
|
+
//# sourceMappingURL=_server.ts-DCnRFcD0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DCnRFcD0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_server.ts.js"],"sourcesContent":["import { Nt as listAvailableAddonIds, Pt as listEnabledAddonIds } 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 performAddonToggle } from \"../../../../chunks/addon-helpers.js\";\n//#region src/routes/admin/addons/+server.ts\nfunction buildAddonList(availableIds, enabledIds) {\n\tconst enabledSet = new Set(enabledIds);\n\treturn availableIds.map((name) => ({\n\t\tname,\n\t\tenabled: enabledSet.has(name),\n\t\tavailable: true\n\t}));\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\treturn jsonResponse(200, { addons: buildAddonList(listAvailableAddonIds(), listEnabledAddonIds(state.homeDir)) }, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\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 name = typeof body.name === \"string\" ? body.name.trim() : \"\";\n\tif (!name) return errorResponse(400, \"bad_request\", \"name is required\", {}, requestId);\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst toggle = await performAddonToggle(state, name, typeof body.enabled === \"boolean\" ? body.enabled : void 0, requestId);\n\tif (!toggle.ok) return errorResponse(500, \"internal_error\", toggle.error, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\taddon: name,\n\t\tenabled: toggle.enabled,\n\t\tchanged: toggle.changed\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE;AAClD,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC;AACvC,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACpC,EAAE,IAAI;AACN,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/B,EAAE,SAAS,EAAE;AACb,EAAE,CAAC,CAAC;AACJ;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,qBAAqB,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAC7H;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,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,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AACnE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AAC7I,CAAC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC;AAC3H,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC;AACzF,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;AACzB,EAAE,OAAO,EAAE,MAAM,CAAC;AAClB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { aS as resolveDefaultMigrateTarget, a0 as ensureReleaseMigrated, a4 as formatForDisplay, M as MigrationError, H as createLogger } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-
|
|
1
|
+
import { aS as resolveDefaultMigrateTarget, a0 as ensureReleaseMigrated, a4 as formatForDisplay, M as MigrationError, H as createLogger } from './src-DUEmEQ8J.js';
|
|
2
|
+
import { g as getState } from './state-DTvf_DJR.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CdFbX3Gv.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-jOpkf70B.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/migrate-preview/+server.ts
|
|
28
28
|
var logger = createLogger("migrate-preview");
|
|
@@ -78,4 +78,4 @@ var POST = async (event) => {
|
|
|
78
78
|
};
|
|
79
79
|
|
|
80
80
|
export { POST };
|
|
81
|
-
//# sourceMappingURL=_server.ts-
|
|
81
|
+
//# sourceMappingURL=_server.ts-DENNVt9M.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DENNVt9M.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/migrate-preview/_server.ts.js"],"sourcesContent":["import { Tn as createLogger, Z as resolveDefaultMigrateTarget, cn as MigrationError, hn as formatForDisplay, un as ensureReleaseMigrated } 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/migrate-preview/+server.ts\nvar logger = createLogger(\"migrate-preview\");\n/**\n* Preview (#497): show the copy-only release migrations an upgrade to <tag>\n* WOULD run, before the user applies it. Routes through\n* `ensureReleaseMigrated({ dryRun: true })`, which logs `[dry-run]` lines and\n* writes nothing. The same preview the CLI's `migrate --dry-run --to` surfaces.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst requested = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (requested && !/^[a-zA-Z0-9._\\-]+$/.test(requested)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst state = getState();\n\tlet targetVersion = requested;\n\tif (!targetVersion || requested.toLowerCase() === \"latest\") try {\n\t\ttargetVersion = await resolveDefaultMigrateTarget(state);\n\t} catch (e) {\n\t\treturn errorResponse(502, \"resolve_failed\", `Could not resolve the latest version to preview: ${e instanceof Error ? e.message : String(e)}`, {}, requestId);\n\t}\n\tconst lines = [];\n\ttry {\n\t\tconst report = ensureReleaseMigrated({\n\t\t\thomeDir: state.homeDir,\n\t\t\ttargetVersion,\n\t\t\tdryRun: true,\n\t\t\tlog: (m) => lines.push(m)\n\t\t});\n\t\tlogger.info(\"migrate preview computed\", {\n\t\t\trequestId,\n\t\t\ttargetVersion,\n\t\t\tapplied: report.applied.length\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\ttargetVersion: formatForDisplay(targetVersion),\n\t\t\tapplied: report.applied,\n\t\t\tlines,\n\t\t\tnotes: report.notes\n\t\t}, requestId);\n\t} catch (e) {\n\t\tif (e instanceof MigrationError) return errorResponse(500, \"preview_failed\", e.message, { guidance: e.guidance }, requestId);\n\t\treturn errorResponse(500, \"preview_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,IAAI,GAAG,EAAE;AACX,CAAC;AACD,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;AACtE,CAAC,IAAI,SAAS,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,aAAa,GAAG,SAAS;AAC9B,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,IAAI;AACjE,EAAE,aAAa,GAAG,MAAM,2BAA2B,CAAC,KAAK,CAAC;AAC1D,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,iDAAiD,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9J,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,EAAE;AACjB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,qBAAqB,CAAC;AACvC,GAAG,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,GAAG,aAAa;AAChB,GAAG,MAAM,EAAE,IAAI;AACf,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3B,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,GAAG,SAAS;AACZ,GAAG,aAAa;AAChB,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;AAC3B,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,aAAa,EAAE,gBAAgB,CAAC,aAAa,CAAC;AACjD,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO;AAC1B,GAAG,KAAK;AACR,GAAG,KAAK,EAAE,MAAM,CAAC;AACjB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,IAAI,CAAC,YAAY,cAAc,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC;AAC9H,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACxG,CAAC;AACD;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { d as deleteEndpoint, v as validateEndpointUrl, u as updateEndpoint } from './endpoints-
|
|
2
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, w as withAdminBody } from './helpers-
|
|
3
|
-
import './state-
|
|
4
|
-
import './src-
|
|
1
|
+
import { d as deleteEndpoint, v as validateEndpointUrl, u as updateEndpoint } from './endpoints-jOpkf70B.js';
|
|
2
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, w as withAdminBody } from './helpers-CdFbX3Gv.js';
|
|
3
|
+
import './state-DTvf_DJR.js';
|
|
4
|
+
import './src-DUEmEQ8J.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -70,4 +70,4 @@ var DELETE = async (event) => {
|
|
|
70
70
|
};
|
|
71
71
|
|
|
72
72
|
export { DELETE, PATCH };
|
|
73
|
-
//# sourceMappingURL=_server.ts-
|
|
73
|
+
//# sourceMappingURL=_server.ts-DFREWo8G.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DFREWo8G.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_id_/_server.ts.js"],"sourcesContent":["import { c as validateEndpointUrl, n as deleteEndpoint, s as updateEndpoint } from \"../../../../../chunks/endpoints.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/endpoints/[id]/+server.ts\nvar PATCH = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst id = event.params.id;\n\tconst patch = {};\n\tif (typeof body.label === \"string\") patch.label = body.label;\n\tif (typeof body.url === \"string\") {\n\t\tconst urlCheck = validateEndpointUrl(body.url);\n\t\tif (!urlCheck.ok) {\n\t\t\tif (urlCheck.reason === \"http_not_allowed\") return errorResponse(400, \"http_not_allowed\", \"Plain HTTP is only allowed for loopback addresses. Use https:// for remote OpenPalm instances.\", {}, requestId);\n\t\t\treturn errorResponse(400, \"invalid_endpoint\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\t}\n\t\tpatch.url = urlCheck.url;\n\t}\n\tif (body.password === null) patch.password = null;\n\telse if (typeof body.password === \"string\") patch.password = body.password;\n\ttry {\n\t\tconst entry = updateEndpoint(id, patch);\n\t\treturn jsonResponse(200, { endpoint: {\n\t\t\tid: entry.id,\n\t\t\tlabel: entry.label,\n\t\t\turl: entry.url,\n\t\t\tisDefault: false,\n\t\t\thasPassword: Boolean(entry.password)\n\t\t} }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to update endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n});\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst id = event.params.id;\n\ttry {\n\t\tdeleteEndpoint(id);\n\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to delete endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, PATCH };\n"],"names":[],"mappings":"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"}
|