@openpalm/ui 0.11.0-rc.2
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/README.md +129 -0
- package/build/.openpalm-ui-version +1 -0
- package/build/client/_app/immutable/assets/0.BK7X4bPu.css +1 -0
- package/build/client/_app/immutable/assets/0.BK7X4bPu.css.br +0 -0
- package/build/client/_app/immutable/assets/0.BK7X4bPu.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.D9MwgTDo.css +1 -0
- package/build/client/_app/immutable/assets/4.D9MwgTDo.css.br +0 -0
- package/build/client/_app/immutable/assets/4.D9MwgTDo.css.gz +0 -0
- package/build/client/_app/immutable/assets/5.Cj0Mk9Gn.css +1 -0
- 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.DJenXolA.css +1 -0
- package/build/client/_app/immutable/assets/6.DJenXolA.css.br +0 -0
- package/build/client/_app/immutable/assets/6.DJenXolA.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.BHUsSUvX.css +1 -0
- package/build/client/_app/immutable/assets/7.BHUsSUvX.css.br +0 -0
- package/build/client/_app/immutable/assets/7.BHUsSUvX.css.gz +0 -0
- package/build/client/_app/immutable/assets/8.DjrHy5wu.css +1 -0
- package/build/client/_app/immutable/assets/8.DjrHy5wu.css.br +0 -0
- package/build/client/_app/immutable/assets/8.DjrHy5wu.css.gz +0 -0
- package/build/client/_app/immutable/assets/AuthGate.BtJV-xXj.css +1 -0
- package/build/client/_app/immutable/assets/AuthGate.BtJV-xXj.css.br +0 -0
- package/build/client/_app/immutable/assets/AuthGate.BtJV-xXj.css.gz +0 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css +1 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css.br +0 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BuFlayix.js +1 -0
- package/build/client/_app/immutable/chunks/BuFlayix.js.br +0 -0
- package/build/client/_app/immutable/chunks/BuFlayix.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BwTF6U35.js +3 -0
- package/build/client/_app/immutable/chunks/BwTF6U35.js.br +0 -0
- package/build/client/_app/immutable/chunks/BwTF6U35.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C8qMxft1.js +1 -0
- package/build/client/_app/immutable/chunks/C8qMxft1.js.br +0 -0
- package/build/client/_app/immutable/chunks/C8qMxft1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cb_i8bV9.js +1 -0
- package/build/client/_app/immutable/chunks/Cb_i8bV9.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cb_i8bV9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CzXGhlNF.js +1 -0
- package/build/client/_app/immutable/chunks/CzXGhlNF.js.br +0 -0
- package/build/client/_app/immutable/chunks/CzXGhlNF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DYskO3Sk.js +5 -0
- package/build/client/_app/immutable/chunks/DYskO3Sk.js.br +0 -0
- package/build/client/_app/immutable/chunks/DYskO3Sk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ak2ISc8B.js +1 -0
- package/build/client/_app/immutable/chunks/ak2ISc8B.js.br +0 -0
- package/build/client/_app/immutable/chunks/ak2ISc8B.js.gz +0 -0
- package/build/client/_app/immutable/chunks/kNaey6uv.js +1 -0
- package/build/client/_app/immutable/chunks/kNaey6uv.js.br +0 -0
- package/build/client/_app/immutable/chunks/kNaey6uv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/os2NZ37U.js +1 -0
- package/build/client/_app/immutable/chunks/os2NZ37U.js.br +1 -0
- package/build/client/_app/immutable/chunks/os2NZ37U.js.gz +0 -0
- package/build/client/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/build/client/_app/immutable/chunks/xihTtKlq.js.br +1 -0
- package/build/client/_app/immutable/chunks/xihTtKlq.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.C_eSlUyi.js +2 -0
- package/build/client/_app/immutable/entry/app.C_eSlUyi.js.br +0 -0
- package/build/client/_app/immutable/entry/app.C_eSlUyi.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BAta_Cih.js +1 -0
- package/build/client/_app/immutable/entry/start.BAta_Cih.js.br +0 -0
- package/build/client/_app/immutable/entry/start.BAta_Cih.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.Bi_of0So.js +1 -0
- package/build/client/_app/immutable/nodes/0.Bi_of0So.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Bi_of0So.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.qjZsjpWC.js +1 -0
- package/build/client/_app/immutable/nodes/1.qjZsjpWC.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.qjZsjpWC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.ojh8oE7F.js +1 -0
- package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js +1 -0
- package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BYtA2xx-.js +19 -0
- package/build/client/_app/immutable/nodes/4.BYtA2xx-.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BYtA2xx-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.ChSoAFFd.js +4 -0
- package/build/client/_app/immutable/nodes/5.ChSoAFFd.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.ChSoAFFd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BRG0vYmH.js +1 -0
- package/build/client/_app/immutable/nodes/6.BRG0vYmH.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BRG0vYmH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BVvy1f_p.js +15 -0
- package/build/client/_app/immutable/nodes/7.BVvy1f_p.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BVvy1f_p.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Cb4MWMah.js +2 -0
- package/build/client/_app/immutable/nodes/8.Cb4MWMah.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Cb4MWMah.js.gz +0 -0
- package/build/client/_app/version.json +1 -0
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/client/banner.png +0 -0
- package/build/client/fu-128.png +0 -0
- package/build/client/fu.png +0 -0
- package/build/client/logo-128.png +0 -0
- package/build/client/logo.png +0 -0
- package/build/client/setup/wizard.css +1639 -0
- package/build/client/setup/wizard.css.br +0 -0
- package/build/client/setup/wizard.css.gz +0 -0
- package/build/client/wizard-128.png +0 -0
- package/build/client/wizard.png +0 -0
- package/build/env.js +94 -0
- package/build/handler.js +1494 -0
- package/build/index.js +345 -0
- package/build/server/chunks/0-Dk6RRhi2.js +9 -0
- package/build/server/chunks/0-Dk6RRhi2.js.map +1 -0
- package/build/server/chunks/1-CWcY3PRs.js +9 -0
- package/build/server/chunks/1-CWcY3PRs.js.map +1 -0
- package/build/server/chunks/2-C2y4ydWU.js +9 -0
- package/build/server/chunks/2-C2y4ydWU.js.map +1 -0
- package/build/server/chunks/3-BgeGdVvT.js +23 -0
- package/build/server/chunks/3-BgeGdVvT.js.map +1 -0
- package/build/server/chunks/4-DeAt_mYc.js +9 -0
- package/build/server/chunks/4-DeAt_mYc.js.map +1 -0
- package/build/server/chunks/5-qTXiNPEM.js +9 -0
- package/build/server/chunks/5-qTXiNPEM.js.map +1 -0
- package/build/server/chunks/6-C444Mr69.js +9 -0
- package/build/server/chunks/6-C444Mr69.js.map +1 -0
- package/build/server/chunks/7-Dg_sVly5.js +9 -0
- package/build/server/chunks/7-Dg_sVly5.js.map +1 -0
- package/build/server/chunks/8-CF5kn4AY.js +9 -0
- package/build/server/chunks/8-CF5kn4AY.js.map +1 -0
- package/build/server/chunks/AuthGate-keg7G6rX.js +707 -0
- package/build/server/chunks/AuthGate-keg7G6rX.js.map +1 -0
- package/build/server/chunks/_helpers-B_lb4-jB.js +74 -0
- package/build/server/chunks/_helpers-B_lb4-jB.js.map +1 -0
- package/build/server/chunks/_layout.svelte-B93aaRP_.js +11 -0
- package/build/server/chunks/_layout.svelte-B93aaRP_.js.map +1 -0
- package/build/server/chunks/_layout.svelte-BNWepgTx.js +58 -0
- package/build/server/chunks/_layout.svelte-BNWepgTx.js.map +1 -0
- package/build/server/chunks/_page.svelte-BP2EdQl3.js +5 -0
- package/build/server/chunks/_page.svelte-BP2EdQl3.js.map +1 -0
- package/build/server/chunks/_page.svelte-BdYSYjmj.js +67 -0
- package/build/server/chunks/_page.svelte-BdYSYjmj.js.map +1 -0
- package/build/server/chunks/_page.svelte-BiKY57wg.js +533 -0
- package/build/server/chunks/_page.svelte-BiKY57wg.js.map +1 -0
- package/build/server/chunks/_page.svelte-CtX_8pMq.js +5528 -0
- package/build/server/chunks/_page.svelte-CtX_8pMq.js.map +1 -0
- package/build/server/chunks/_page.svelte-D0gMlmzQ.js +104 -0
- package/build/server/chunks/_page.svelte-D0gMlmzQ.js.map +1 -0
- package/build/server/chunks/_page.svelte-DwMiUmq6.js +107 -0
- package/build/server/chunks/_page.svelte-DwMiUmq6.js.map +1 -0
- package/build/server/chunks/_server.ts-0FuXkx70.js +56 -0
- package/build/server/chunks/_server.ts-0FuXkx70.js.map +1 -0
- package/build/server/chunks/_server.ts-33LuQvHu.js +19 -0
- package/build/server/chunks/_server.ts-33LuQvHu.js.map +1 -0
- package/build/server/chunks/_server.ts-5Q0J3F4-.js +55 -0
- package/build/server/chunks/_server.ts-5Q0J3F4-.js.map +1 -0
- package/build/server/chunks/_server.ts-AJk0xBLJ.js +46 -0
- package/build/server/chunks/_server.ts-AJk0xBLJ.js.map +1 -0
- package/build/server/chunks/_server.ts-AQe1PIYE.js +68 -0
- package/build/server/chunks/_server.ts-AQe1PIYE.js.map +1 -0
- package/build/server/chunks/_server.ts-B0N2Nj7L.js +44 -0
- package/build/server/chunks/_server.ts-B0N2Nj7L.js.map +1 -0
- package/build/server/chunks/_server.ts-BDBJ6fxs.js +67 -0
- package/build/server/chunks/_server.ts-BDBJ6fxs.js.map +1 -0
- package/build/server/chunks/_server.ts-BEeaI665.js +79 -0
- package/build/server/chunks/_server.ts-BEeaI665.js.map +1 -0
- package/build/server/chunks/_server.ts-BM4QuGQf.js +53 -0
- package/build/server/chunks/_server.ts-BM4QuGQf.js.map +1 -0
- package/build/server/chunks/_server.ts-BSIZMZVn.js +50 -0
- package/build/server/chunks/_server.ts-BSIZMZVn.js.map +1 -0
- package/build/server/chunks/_server.ts-BV-6Mum8.js +54 -0
- package/build/server/chunks/_server.ts-BV-6Mum8.js.map +1 -0
- package/build/server/chunks/_server.ts-BdnJF23z.js +44 -0
- package/build/server/chunks/_server.ts-BdnJF23z.js.map +1 -0
- package/build/server/chunks/_server.ts-Bfy4RFhe.js +41 -0
- package/build/server/chunks/_server.ts-Bfy4RFhe.js.map +1 -0
- package/build/server/chunks/_server.ts-Bhh33s6N.js +149 -0
- package/build/server/chunks/_server.ts-Bhh33s6N.js.map +1 -0
- package/build/server/chunks/_server.ts-BiSuK8jN.js +41 -0
- package/build/server/chunks/_server.ts-BiSuK8jN.js.map +1 -0
- package/build/server/chunks/_server.ts-BjiyoKWK.js +41 -0
- package/build/server/chunks/_server.ts-BjiyoKWK.js.map +1 -0
- package/build/server/chunks/_server.ts-BnEeEd9g.js +57 -0
- package/build/server/chunks/_server.ts-BnEeEd9g.js.map +1 -0
- package/build/server/chunks/_server.ts-Bq2dkWvj.js +33 -0
- package/build/server/chunks/_server.ts-Bq2dkWvj.js.map +1 -0
- package/build/server/chunks/_server.ts-Br16AqpO.js +82 -0
- package/build/server/chunks/_server.ts-Br16AqpO.js.map +1 -0
- package/build/server/chunks/_server.ts-BsZrddQT.js +200 -0
- package/build/server/chunks/_server.ts-BsZrddQT.js.map +1 -0
- package/build/server/chunks/_server.ts-Btbzy89u.js +65 -0
- package/build/server/chunks/_server.ts-Btbzy89u.js.map +1 -0
- package/build/server/chunks/_server.ts-BudQlGOx.js +70 -0
- package/build/server/chunks/_server.ts-BudQlGOx.js.map +1 -0
- package/build/server/chunks/_server.ts-BxPYakCb.js +59 -0
- package/build/server/chunks/_server.ts-BxPYakCb.js.map +1 -0
- package/build/server/chunks/_server.ts-ByyRcwFy.js +79 -0
- package/build/server/chunks/_server.ts-ByyRcwFy.js.map +1 -0
- package/build/server/chunks/_server.ts-C7rtn3mH.js +103 -0
- package/build/server/chunks/_server.ts-C7rtn3mH.js.map +1 -0
- package/build/server/chunks/_server.ts-C88qd-ju.js +46 -0
- package/build/server/chunks/_server.ts-C88qd-ju.js.map +1 -0
- package/build/server/chunks/_server.ts-CD6LeslU.js +55 -0
- package/build/server/chunks/_server.ts-CD6LeslU.js.map +1 -0
- package/build/server/chunks/_server.ts-CDlWxA5S.js +60 -0
- package/build/server/chunks/_server.ts-CDlWxA5S.js.map +1 -0
- package/build/server/chunks/_server.ts-CGqrfNlv.js +514 -0
- package/build/server/chunks/_server.ts-CGqrfNlv.js.map +1 -0
- package/build/server/chunks/_server.ts-CGwYZUuw.js +759 -0
- package/build/server/chunks/_server.ts-CGwYZUuw.js.map +1 -0
- package/build/server/chunks/_server.ts-CHVs0yya.js +54 -0
- package/build/server/chunks/_server.ts-CHVs0yya.js.map +1 -0
- package/build/server/chunks/_server.ts-CMEY6oQe.js +121 -0
- package/build/server/chunks/_server.ts-CMEY6oQe.js.map +1 -0
- package/build/server/chunks/_server.ts-CS73tiTY.js +63 -0
- package/build/server/chunks/_server.ts-CS73tiTY.js.map +1 -0
- package/build/server/chunks/_server.ts-CWwgmo8z.js +33 -0
- package/build/server/chunks/_server.ts-CWwgmo8z.js.map +1 -0
- package/build/server/chunks/_server.ts-CXzZeGlQ.js +55 -0
- package/build/server/chunks/_server.ts-CXzZeGlQ.js.map +1 -0
- package/build/server/chunks/_server.ts-C_kseo_y.js +72 -0
- package/build/server/chunks/_server.ts-C_kseo_y.js.map +1 -0
- package/build/server/chunks/_server.ts-Cbk-UThV.js +73 -0
- package/build/server/chunks/_server.ts-Cbk-UThV.js.map +1 -0
- package/build/server/chunks/_server.ts-CboRRTK1.js +139 -0
- package/build/server/chunks/_server.ts-CboRRTK1.js.map +1 -0
- package/build/server/chunks/_server.ts-CgD8-EFl.js +52 -0
- package/build/server/chunks/_server.ts-CgD8-EFl.js.map +1 -0
- package/build/server/chunks/_server.ts-Ci-q0BiD.js +79 -0
- package/build/server/chunks/_server.ts-Ci-q0BiD.js.map +1 -0
- package/build/server/chunks/_server.ts-Cn7ahHlk.js +44 -0
- package/build/server/chunks/_server.ts-Cn7ahHlk.js.map +1 -0
- package/build/server/chunks/_server.ts-Cy36-qGT.js +60 -0
- package/build/server/chunks/_server.ts-Cy36-qGT.js.map +1 -0
- package/build/server/chunks/_server.ts-CyFZ9OZQ.js +97 -0
- package/build/server/chunks/_server.ts-CyFZ9OZQ.js.map +1 -0
- package/build/server/chunks/_server.ts-D-UAqhor.js +33 -0
- package/build/server/chunks/_server.ts-D-UAqhor.js.map +1 -0
- package/build/server/chunks/_server.ts-D1cb1hmF.js +90 -0
- package/build/server/chunks/_server.ts-D1cb1hmF.js.map +1 -0
- package/build/server/chunks/_server.ts-D33gvU5B.js +65 -0
- package/build/server/chunks/_server.ts-D33gvU5B.js.map +1 -0
- package/build/server/chunks/_server.ts-DDwiNChJ.js +88 -0
- package/build/server/chunks/_server.ts-DDwiNChJ.js.map +1 -0
- package/build/server/chunks/_server.ts-DEnxvwcJ.js +46 -0
- package/build/server/chunks/_server.ts-DEnxvwcJ.js.map +1 -0
- package/build/server/chunks/_server.ts-DHXmcRrP.js +41 -0
- package/build/server/chunks/_server.ts-DHXmcRrP.js.map +1 -0
- package/build/server/chunks/_server.ts-DQxY-pHZ.js +64 -0
- package/build/server/chunks/_server.ts-DQxY-pHZ.js.map +1 -0
- package/build/server/chunks/_server.ts-DXNJ2LJu.js +83 -0
- package/build/server/chunks/_server.ts-DXNJ2LJu.js.map +1 -0
- package/build/server/chunks/_server.ts-Dbly1Fe-.js +96 -0
- package/build/server/chunks/_server.ts-Dbly1Fe-.js.map +1 -0
- package/build/server/chunks/_server.ts-DffjWMNC.js +53 -0
- package/build/server/chunks/_server.ts-DffjWMNC.js.map +1 -0
- package/build/server/chunks/_server.ts-Di-8UJYw.js +40 -0
- package/build/server/chunks/_server.ts-Di-8UJYw.js.map +1 -0
- package/build/server/chunks/_server.ts-DsEzCr9k.js +109 -0
- package/build/server/chunks/_server.ts-DsEzCr9k.js.map +1 -0
- package/build/server/chunks/_server.ts-DwXd92Ow.js +63 -0
- package/build/server/chunks/_server.ts-DwXd92Ow.js.map +1 -0
- package/build/server/chunks/_server.ts-DwjjO7L5.js +41 -0
- package/build/server/chunks/_server.ts-DwjjO7L5.js.map +1 -0
- package/build/server/chunks/_server.ts-DyEbcQS0.js +62 -0
- package/build/server/chunks/_server.ts-DyEbcQS0.js.map +1 -0
- package/build/server/chunks/_server.ts-HxcM6xQA.js +70 -0
- package/build/server/chunks/_server.ts-HxcM6xQA.js.map +1 -0
- package/build/server/chunks/_server.ts-JItoNB1Z.js +57 -0
- package/build/server/chunks/_server.ts-JItoNB1Z.js.map +1 -0
- package/build/server/chunks/_server.ts-KpT_vKKo.js +77 -0
- package/build/server/chunks/_server.ts-KpT_vKKo.js.map +1 -0
- package/build/server/chunks/_server.ts-WbY7XmtT.js +157 -0
- package/build/server/chunks/_server.ts-WbY7XmtT.js.map +1 -0
- package/build/server/chunks/_server.ts-Yy0BWsSd.js +70 -0
- package/build/server/chunks/_server.ts-Yy0BWsSd.js.map +1 -0
- package/build/server/chunks/_server.ts-b9yNYKW6.js +49 -0
- package/build/server/chunks/_server.ts-b9yNYKW6.js.map +1 -0
- package/build/server/chunks/_server.ts-bAJXjaCc.js +42 -0
- package/build/server/chunks/_server.ts-bAJXjaCc.js.map +1 -0
- package/build/server/chunks/_server.ts-cwRl-tZ-.js +40 -0
- package/build/server/chunks/_server.ts-cwRl-tZ-.js.map +1 -0
- package/build/server/chunks/_server.ts-hMTx0DC3.js +159 -0
- package/build/server/chunks/_server.ts-hMTx0DC3.js.map +1 -0
- package/build/server/chunks/_server.ts-l_HoZ2_I.js +163 -0
- package/build/server/chunks/_server.ts-l_HoZ2_I.js.map +1 -0
- package/build/server/chunks/_server.ts-uLRX2uy0.js +107 -0
- package/build/server/chunks/_server.ts-uLRX2uy0.js.map +1 -0
- package/build/server/chunks/_server.ts-uWfb47S6.js +204 -0
- package/build/server/chunks/_server.ts-uWfb47S6.js.map +1 -0
- package/build/server/chunks/addon-helpers-Bnj3aKJ2.js +49 -0
- package/build/server/chunks/addon-helpers-Bnj3aKJ2.js.map +1 -0
- package/build/server/chunks/chunk-CLZ62Ad-.js +18 -0
- package/build/server/chunks/chunk-CLZ62Ad-.js.map +1 -0
- package/build/server/chunks/coercion-TNFJisCC.js +34 -0
- package/build/server/chunks/coercion-TNFJisCC.js.map +1 -0
- package/build/server/chunks/config-CEYPfvQh.js +121 -0
- package/build/server/chunks/config-CEYPfvQh.js.map +1 -0
- package/build/server/chunks/dev-DjANv7AF.js +4389 -0
- package/build/server/chunks/dev-DjANv7AF.js.map +1 -0
- package/build/server/chunks/docker-sGFTjRfy.js +20 -0
- package/build/server/chunks/docker-sGFTjRfy.js.map +1 -0
- package/build/server/chunks/endpoints-L7Wjvq44.js +340 -0
- package/build/server/chunks/endpoints-L7Wjvq44.js.map +1 -0
- package/build/server/chunks/environment-BnT49Gi3.js +36 -0
- package/build/server/chunks/environment-BnT49Gi3.js.map +1 -0
- package/build/server/chunks/error.svelte-PJnhZZCy.js +16 -0
- package/build/server/chunks/error.svelte-PJnhZZCy.js.map +1 -0
- package/build/server/chunks/exports-D1quPX8S.js +124 -0
- package/build/server/chunks/exports-D1quPX8S.js.map +1 -0
- package/build/server/chunks/helpers-5jd3ccud.js +226 -0
- package/build/server/chunks/helpers-5jd3ccud.js.map +1 -0
- package/build/server/chunks/hooks.server-Al9-eO5K.js +82 -0
- package/build/server/chunks/hooks.server-Al9-eO5K.js.map +1 -0
- package/build/server/chunks/http-D5xo_m60.js +31 -0
- package/build/server/chunks/http-D5xo_m60.js.map +1 -0
- package/build/server/chunks/internal-CJBOAkaQ.js +1544 -0
- package/build/server/chunks/internal-CJBOAkaQ.js.map +1 -0
- package/build/server/chunks/serial-queue-D9FEpYVv.js +22 -0
- package/build/server/chunks/serial-queue-D9FEpYVv.js.map +1 -0
- package/build/server/chunks/setup-deploy-UKTSVAC0.js +529 -0
- package/build/server/chunks/setup-deploy-UKTSVAC0.js.map +1 -0
- package/build/server/chunks/src-FpMyngcw.js +14064 -0
- package/build/server/chunks/src-FpMyngcw.js.map +1 -0
- package/build/server/chunks/state-BI-lJPhE.js +203 -0
- package/build/server/chunks/state-BI-lJPhE.js.map +1 -0
- package/build/server/chunks/utils-BSRjJDrZ.js +150 -0
- package/build/server/chunks/utils-BSRjJDrZ.js.map +1 -0
- package/build/server/chunks/voice-state.svelte-CQp8u0bn.js +437 -0
- package/build/server/chunks/voice-state.svelte-CQp8u0bn.js.map +1 -0
- package/build/server/index.js +4359 -0
- package/build/server/index.js.map +1 -0
- package/build/server/manifest.js +570 -0
- package/build/server/manifest.js.map +1 -0
- package/build/shims.js +32 -0
- package/package.json +61 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
+
import { _ as isSetupComplete, ak as resolveStackDir, a5 as performSetup, m as checkDocker } from './src-FpMyngcw.js';
|
|
3
|
+
import { b as getState, r as resetState } from './endpoints-L7Wjvq44.js';
|
|
4
|
+
import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-5jd3ccud.js';
|
|
5
|
+
import { s as startDeploy, r as resetDeployState } from './setup-deploy-UKTSVAC0.js';
|
|
6
|
+
import './utils-BSRjJDrZ.js';
|
|
7
|
+
import './chunk-CLZ62Ad-.js';
|
|
8
|
+
import 'node:module';
|
|
9
|
+
import 'node:fs';
|
|
10
|
+
import 'node:path';
|
|
11
|
+
import 'node:child_process';
|
|
12
|
+
import 'node:os';
|
|
13
|
+
import 'buffer';
|
|
14
|
+
import 'node:url';
|
|
15
|
+
import 'node:crypto';
|
|
16
|
+
import 'events';
|
|
17
|
+
import 'fs';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:stream';
|
|
20
|
+
import 'node:string_decoder';
|
|
21
|
+
import 'path';
|
|
22
|
+
import 'assert';
|
|
23
|
+
import 'zlib';
|
|
24
|
+
import 'node:assert';
|
|
25
|
+
import 'node:fs/promises';
|
|
26
|
+
|
|
27
|
+
//#region src/routes/api/setup/complete/+server.ts
|
|
28
|
+
var POST = async (event) => {
|
|
29
|
+
if (isSetupComplete(resolveStackDir())) {
|
|
30
|
+
const authError = requireAdmin(event, getRequestId(event));
|
|
31
|
+
if (authError) return authError;
|
|
32
|
+
}
|
|
33
|
+
const { request } = event;
|
|
34
|
+
let body;
|
|
35
|
+
try {
|
|
36
|
+
body = await request.json();
|
|
37
|
+
} catch {
|
|
38
|
+
return json({
|
|
39
|
+
ok: false,
|
|
40
|
+
error: "invalid_json",
|
|
41
|
+
message: "Request body must be valid JSON"
|
|
42
|
+
}, { status: 400 });
|
|
43
|
+
}
|
|
44
|
+
const dryRun = body.dryRun === true;
|
|
45
|
+
let result;
|
|
46
|
+
try {
|
|
47
|
+
result = await performSetup(body);
|
|
48
|
+
} catch (err) {
|
|
49
|
+
const msg = String(err);
|
|
50
|
+
if (/ENOSPC/i.test(msg)) return json({
|
|
51
|
+
ok: false,
|
|
52
|
+
error: "no_space",
|
|
53
|
+
message: "Your disk is full. Free up some space and try again."
|
|
54
|
+
}, { status: 500 });
|
|
55
|
+
if (/EACCES|EPERM/i.test(msg)) return json({
|
|
56
|
+
ok: false,
|
|
57
|
+
error: "permission_denied",
|
|
58
|
+
message: "OpenPalm couldn't write to ~/.openpalm. Check that your user owns that directory."
|
|
59
|
+
}, { status: 500 });
|
|
60
|
+
if (/ENOTDIR|EISDIR/i.test(msg)) return json({
|
|
61
|
+
ok: false,
|
|
62
|
+
error: "bad_path",
|
|
63
|
+
message: "An OpenPalm config path is wrong. Try a fresh install."
|
|
64
|
+
}, { status: 500 });
|
|
65
|
+
return json({
|
|
66
|
+
ok: false,
|
|
67
|
+
error: "setup_failed",
|
|
68
|
+
message: msg
|
|
69
|
+
}, { status: 500 });
|
|
70
|
+
}
|
|
71
|
+
if (!result.ok) return json(result, { status: 400 });
|
|
72
|
+
resetState();
|
|
73
|
+
const state = getState();
|
|
74
|
+
resetDeployState();
|
|
75
|
+
let dockerCheck = null;
|
|
76
|
+
if (!dryRun) {
|
|
77
|
+
dockerCheck = await checkDocker();
|
|
78
|
+
if (dockerCheck.ok) startDeploy(state);
|
|
79
|
+
}
|
|
80
|
+
const headers = new Headers({ "content-type": "application/json" });
|
|
81
|
+
if (typeof body.security?.uiLoginPassword === "string" && body.security.uiLoginPassword || getUiLoginPassword()) {
|
|
82
|
+
const sessionToken = createSession();
|
|
83
|
+
headers.set("set-cookie", `op_session=${sessionToken}; Path=/; HttpOnly; SameSite=Strict`);
|
|
84
|
+
}
|
|
85
|
+
return new Response(JSON.stringify({
|
|
86
|
+
ok: true,
|
|
87
|
+
dockerAvailable: dockerCheck?.ok ?? false,
|
|
88
|
+
dryRun
|
|
89
|
+
}), {
|
|
90
|
+
status: 200,
|
|
91
|
+
headers
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export { POST };
|
|
96
|
+
//# sourceMappingURL=_server.ts-Dbly1Fe-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Dbly1Fe-.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { J as isSetupComplete, T as checkDocker, jt as resolveStackDir, r as performSetup } from \"../../../../../chunks/src.js\";\nimport { c as getState, l as resetState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, m as createSession, o as getRequestId, s as getUiLoginPassword } from \"../../../../../chunks/helpers.js\";\nimport { n as resetDeployState, r as startDeploy } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst msg = String(err);\n\t\tif (/ENOSPC/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"no_space\",\n\t\t\tmessage: \"Your disk is full. Free up some space and try again.\"\n\t\t}, { status: 500 });\n\t\tif (/EACCES|EPERM/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"permission_denied\",\n\t\t\tmessage: \"OpenPalm couldn't write to ~/.openpalm. Check that your user owns that directory.\"\n\t\t}, { status: 500 });\n\t\tif (/ENOTDIR|EISDIR/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"bad_path\",\n\t\t\tmessage: \"An OpenPalm config path is wrong. Try a fresh install.\"\n\t\t}, { status: 500 });\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"setup_failed\",\n\t\t\tmessage: msg\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", `op_session=${sessionToken}; Path=/; HttpOnly; SameSite=Strict`);\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { y as createLogger, Y as isAllowedService, m as checkDocker, t as composeRestart, k as buildComposeOptions } from './src-FpMyngcw.js';
|
|
2
|
+
import { b as getState } from './endpoints-L7Wjvq44.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, h as jsonResponse } from './helpers-5jd3ccud.js';
|
|
4
|
+
import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
|
|
5
|
+
import './chunk-CLZ62Ad-.js';
|
|
6
|
+
import 'node:module';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import 'node:child_process';
|
|
10
|
+
import 'node:os';
|
|
11
|
+
import 'buffer';
|
|
12
|
+
import 'node:url';
|
|
13
|
+
import 'node:crypto';
|
|
14
|
+
import 'events';
|
|
15
|
+
import 'fs';
|
|
16
|
+
import 'node:events';
|
|
17
|
+
import 'node:stream';
|
|
18
|
+
import 'node:string_decoder';
|
|
19
|
+
import 'path';
|
|
20
|
+
import 'assert';
|
|
21
|
+
import 'zlib';
|
|
22
|
+
import 'node:assert';
|
|
23
|
+
import 'node:fs/promises';
|
|
24
|
+
|
|
25
|
+
//#region src/routes/admin/containers/restart/+server.ts
|
|
26
|
+
var logger = createLogger("containers-restart");
|
|
27
|
+
var POST = async (event) => {
|
|
28
|
+
const requestId = getRequestId(event);
|
|
29
|
+
logger.info("container restart request", { requestId });
|
|
30
|
+
const authError = requireAdmin(event, requestId);
|
|
31
|
+
if (authError) return authError;
|
|
32
|
+
return withSerialQueue("admin:containers:restart", async () => {
|
|
33
|
+
const state = getState();
|
|
34
|
+
const result = await parseJsonBody(event.request);
|
|
35
|
+
if ("error" in result) return jsonBodyError(result, requestId);
|
|
36
|
+
const body = result.data;
|
|
37
|
+
const service = typeof body.service === "string" ? body.service : "";
|
|
38
|
+
if (!isAllowedService(service, state.configDir)) return errorResponse(400, "invalid_service", "Service is not in allowlist", { service }, requestId);
|
|
39
|
+
if ((await checkDocker()).ok) {
|
|
40
|
+
const result = await composeRestart([service], buildComposeOptions(state));
|
|
41
|
+
if (result.ok) state.services[service] = "running";
|
|
42
|
+
else return errorResponse(500, "docker_error", `Failed to restart service: ${result.stderr}`, { service }, requestId);
|
|
43
|
+
} else state.services[service] = "running";
|
|
44
|
+
return jsonResponse(200, {
|
|
45
|
+
ok: true,
|
|
46
|
+
service,
|
|
47
|
+
status: state.services[service]
|
|
48
|
+
}, requestId);
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export { POST };
|
|
53
|
+
//# sourceMappingURL=_server.ts-DffjWMNC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-DffjWMNC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { M as composeRestart, Nt as createLogger, T as checkDocker, q as isAllowedService, w as buildComposeOptions } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { E as detectHostOpenCode } from './src-FpMyngcw.js';
|
|
2
|
+
import { d as getRequestId, r as requireAdmin, h as jsonResponse } from './helpers-5jd3ccud.js';
|
|
3
|
+
import './chunk-CLZ62Ad-.js';
|
|
4
|
+
import 'node:module';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:child_process';
|
|
8
|
+
import 'node:os';
|
|
9
|
+
import 'buffer';
|
|
10
|
+
import 'node:url';
|
|
11
|
+
import 'node:crypto';
|
|
12
|
+
import 'events';
|
|
13
|
+
import 'fs';
|
|
14
|
+
import 'node:events';
|
|
15
|
+
import 'node:stream';
|
|
16
|
+
import 'node:string_decoder';
|
|
17
|
+
import 'path';
|
|
18
|
+
import 'assert';
|
|
19
|
+
import 'zlib';
|
|
20
|
+
import 'node:assert';
|
|
21
|
+
import 'node:fs/promises';
|
|
22
|
+
import './endpoints-L7Wjvq44.js';
|
|
23
|
+
|
|
24
|
+
//#region src/routes/admin/providers/host-status/+server.ts
|
|
25
|
+
var GET = async (event) => {
|
|
26
|
+
const requestId = getRequestId(event);
|
|
27
|
+
const authError = requireAdmin(event, requestId);
|
|
28
|
+
if (authError) return authError;
|
|
29
|
+
const status = detectHostOpenCode();
|
|
30
|
+
return jsonResponse(200, {
|
|
31
|
+
detected: status.providerCount > 0 || status.credentialCount > 0,
|
|
32
|
+
providerCount: status.providerCount,
|
|
33
|
+
credentialCount: status.credentialCount,
|
|
34
|
+
configPath: status.configPath ?? null,
|
|
35
|
+
authPath: status.authPath ?? null
|
|
36
|
+
}, requestId);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export { GET };
|
|
40
|
+
//# sourceMappingURL=_server.ts-Di-8UJYw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Di-8UJYw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/host-status/_server.ts.js"],"sourcesContent":["import { t as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/providers/host-status/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst status = detectHostOpenCode();\n\treturn jsonResponse(200, {\n\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\tproviderCount: status.providerCount,\n\t\tcredentialCount: status.credentialCount,\n\t\tconfigPath: status.configPath ?? null,\n\t\tauthPath: status.authPath ?? null\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,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,MAAM,GAAG,kBAAkB,EAAE;AACpC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AAClE,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa;AACrC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe;AACzC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;AACvC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI;AAC/B,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { g as getActiveEndpoint } from './endpoints-L7Wjvq44.js';
|
|
2
|
+
import { d as getRequestId, r as requireAdmin } from './helpers-5jd3ccud.js';
|
|
3
|
+
import './src-FpMyngcw.js';
|
|
4
|
+
import './chunk-CLZ62Ad-.js';
|
|
5
|
+
import 'node:module';
|
|
6
|
+
import 'node:fs';
|
|
7
|
+
import 'node:path';
|
|
8
|
+
import 'node:child_process';
|
|
9
|
+
import 'node:os';
|
|
10
|
+
import 'buffer';
|
|
11
|
+
import 'node:url';
|
|
12
|
+
import 'node:crypto';
|
|
13
|
+
import 'events';
|
|
14
|
+
import 'fs';
|
|
15
|
+
import 'node:events';
|
|
16
|
+
import 'node:stream';
|
|
17
|
+
import 'node:string_decoder';
|
|
18
|
+
import 'path';
|
|
19
|
+
import 'assert';
|
|
20
|
+
import 'zlib';
|
|
21
|
+
import 'node:assert';
|
|
22
|
+
import 'node:fs/promises';
|
|
23
|
+
|
|
24
|
+
//#region src/routes/proxy/assistant/[...path]/+server.ts
|
|
25
|
+
/**
|
|
26
|
+
* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.
|
|
27
|
+
*
|
|
28
|
+
* Auth: requires the operator's `op_session` cookie (cookie-only since
|
|
29
|
+
* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback
|
|
30
|
+
* was removed).
|
|
31
|
+
* Forwards the full request body and method unchanged.
|
|
32
|
+
* The target URL and per-endpoint Basic-auth password are resolved per-request
|
|
33
|
+
* from the active endpoint store, so switching endpoints in the UI takes
|
|
34
|
+
* effect immediately without restarting the server.
|
|
35
|
+
*
|
|
36
|
+
* Streaming: the upstream response body is forwarded as-is (no buffering) so
|
|
37
|
+
* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not
|
|
38
|
+
* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run
|
|
39
|
+
* for minutes. Instead the per-request AbortController is wired to the client
|
|
40
|
+
* disconnect signal (`event.request.signal`); when the browser aborts (tab
|
|
41
|
+
* close, navigation away), we propagate the abort to upstream.
|
|
42
|
+
*/
|
|
43
|
+
function buildForwardHeaders(incomingContentType, username, password) {
|
|
44
|
+
const headers = {};
|
|
45
|
+
if (incomingContentType) headers["content-type"] = incomingContentType;
|
|
46
|
+
if (password) headers["authorization"] = `Basic ${btoa(`${username || "openpalm"}:${password}`)}`;
|
|
47
|
+
return headers;
|
|
48
|
+
}
|
|
49
|
+
function buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {
|
|
50
|
+
const headers = new Headers();
|
|
51
|
+
headers.set("content-type", upstream.headers.get("content-type") ?? "application/json");
|
|
52
|
+
const cacheControl = upstream.headers.get("cache-control");
|
|
53
|
+
if (cacheControl) headers.set("cache-control", cacheControl);
|
|
54
|
+
const transferEncoding = upstream.headers.get("transfer-encoding");
|
|
55
|
+
if (transferEncoding) headers.set("transfer-encoding", transferEncoding);
|
|
56
|
+
headers.set("x-request-id", requestId);
|
|
57
|
+
headers.set("x-endpoint-id", endpointId);
|
|
58
|
+
headers.set("x-endpoint-label", encodeURIComponent(endpointLabel));
|
|
59
|
+
return headers;
|
|
60
|
+
}
|
|
61
|
+
var handler = async (event) => {
|
|
62
|
+
const requestId = getRequestId(event);
|
|
63
|
+
const authError = requireAdmin(event, requestId);
|
|
64
|
+
if (authError) return authError;
|
|
65
|
+
const endpoint = getActiveEndpoint();
|
|
66
|
+
const { path } = event.params;
|
|
67
|
+
const targetUrl = `${endpoint.url}/${path}${event.url.search}`;
|
|
68
|
+
const method = event.request.method;
|
|
69
|
+
const contentType = event.request.headers.get("content-type");
|
|
70
|
+
const body = method !== "GET" && method !== "HEAD" ? await event.request.arrayBuffer() : void 0;
|
|
71
|
+
const controller = new AbortController();
|
|
72
|
+
const onClientAbort = () => controller.abort();
|
|
73
|
+
event.request.signal.addEventListener("abort", onClientAbort, { once: true });
|
|
74
|
+
try {
|
|
75
|
+
const upstream = await fetch(targetUrl, {
|
|
76
|
+
method,
|
|
77
|
+
headers: buildForwardHeaders(contentType, endpoint.username, endpoint.password),
|
|
78
|
+
body,
|
|
79
|
+
signal: controller.signal
|
|
80
|
+
});
|
|
81
|
+
return new Response(upstream.body, {
|
|
82
|
+
status: upstream.status,
|
|
83
|
+
headers: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)
|
|
84
|
+
});
|
|
85
|
+
} catch (e) {
|
|
86
|
+
event.request.signal.removeEventListener("abort", onClientAbort);
|
|
87
|
+
console.warn("[proxy/assistant] Upstream request failed:", e);
|
|
88
|
+
return new Response(JSON.stringify({
|
|
89
|
+
error: "endpoint_unreachable",
|
|
90
|
+
message: `Assistant endpoint "${endpoint.label}" is not reachable`,
|
|
91
|
+
endpointId: endpoint.id,
|
|
92
|
+
endpointLabel: endpoint.label,
|
|
93
|
+
url: endpoint.url
|
|
94
|
+
}), {
|
|
95
|
+
status: 503,
|
|
96
|
+
headers: {
|
|
97
|
+
"content-type": "application/json",
|
|
98
|
+
"x-request-id": requestId
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
var GET = handler;
|
|
104
|
+
var POST = handler;
|
|
105
|
+
var PUT = handler;
|
|
106
|
+
var DELETE = handler;
|
|
107
|
+
|
|
108
|
+
export { DELETE, GET, POST, PUT };
|
|
109
|
+
//# sourceMappingURL=_server.ts-DsEzCr9k.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-DsEzCr9k.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/proxy/assistant/_...path_/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/proxy/assistant/[...path]/+server.ts\n/**\n* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.\n*\n* Auth: requires the operator's `op_session` cookie (cookie-only since\n* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback\n* was removed).\n* Forwards the full request body and method unchanged.\n* The target URL and per-endpoint Basic-auth password are resolved per-request\n* from the active endpoint store, so switching endpoints in the UI takes\n* effect immediately without restarting the server.\n*\n* Streaming: the upstream response body is forwarded as-is (no buffering) so\n* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not\n* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run\n* for minutes. Instead the per-request AbortController is wired to the client\n* disconnect signal (`event.request.signal`); when the browser aborts (tab\n* close, navigation away), we propagate the abort to upstream.\n*/\nfunction buildForwardHeaders(incomingContentType, username, password) {\n\tconst headers = {};\n\tif (incomingContentType) headers[\"content-type\"] = incomingContentType;\n\tif (password) headers[\"authorization\"] = `Basic ${btoa(`${username || \"openpalm\"}:${password}`)}`;\n\treturn headers;\n}\nfunction buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {\n\tconst headers = new Headers();\n\theaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"application/json\");\n\tconst cacheControl = upstream.headers.get(\"cache-control\");\n\tif (cacheControl) headers.set(\"cache-control\", cacheControl);\n\tconst transferEncoding = upstream.headers.get(\"transfer-encoding\");\n\tif (transferEncoding) headers.set(\"transfer-encoding\", transferEncoding);\n\theaders.set(\"x-request-id\", requestId);\n\theaders.set(\"x-endpoint-id\", endpointId);\n\theaders.set(\"x-endpoint-label\", encodeURIComponent(endpointLabel));\n\treturn headers;\n}\nvar handler = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tconst { path } = event.params;\n\tconst targetUrl = `${endpoint.url}/${path}${event.url.search}`;\n\tconst method = event.request.method;\n\tconst contentType = event.request.headers.get(\"content-type\");\n\tconst body = method !== \"GET\" && method !== \"HEAD\" ? await event.request.arrayBuffer() : void 0;\n\tconst controller = new AbortController();\n\tconst onClientAbort = () => controller.abort();\n\tevent.request.signal.addEventListener(\"abort\", onClientAbort, { once: true });\n\ttry {\n\t\tconst upstream = await fetch(targetUrl, {\n\t\t\tmethod,\n\t\t\theaders: buildForwardHeaders(contentType, endpoint.username, endpoint.password),\n\t\t\tbody,\n\t\t\tsignal: controller.signal\n\t\t});\n\t\treturn new Response(upstream.body, {\n\t\t\tstatus: upstream.status,\n\t\t\theaders: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)\n\t\t});\n\t} catch (e) {\n\t\tevent.request.signal.removeEventListener(\"abort\", onClientAbort);\n\t\tconsole.warn(\"[proxy/assistant] Upstream request failed:\", e);\n\t\treturn new Response(JSON.stringify({\n\t\t\terror: \"endpoint_unreachable\",\n\t\t\tmessage: `Assistant endpoint \"${endpoint.label}\" is not reachable`,\n\t\t\tendpointId: endpoint.id,\n\t\t\tendpointLabel: endpoint.label,\n\t\t\turl: endpoint.url\n\t\t}), {\n\t\t\tstatus: 503,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\nvar GET = handler;\nvar POST = handler;\nvar PUT = handler;\nvar DELETE = handler;\n//#endregion\nexport { DELETE, GET, POST, PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACtE,CAAC,MAAM,OAAO,GAAG,EAAE;AACnB,CAAC,IAAI,mBAAmB,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,mBAAmB;AACvE,CAAC,IAAI,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,IAAI,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC,OAAO,OAAO;AACf;AACA,SAAS,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE;AAC9E,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;AAC9B,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC;AACxF,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AAC3D,CAAC,IAAI,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC;AAC7D,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AACnE,CAAC,IAAI,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;AACzE,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;AACvC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC;AACzC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;AACnE,CAAC,OAAO,OAAO;AACf;AACA,IAAI,OAAO,GAAG,OAAO,KAAK,KAAK;AAC/B,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,iBAAiB,EAAE;AACrC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM;AAC9B,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM;AACpC,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAC9D,CAAC,MAAM,IAAI,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,MAAM;AAChG,CAAC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE;AACzC,CAAC,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE;AAC/C,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC9E,CAAC,IAAI;AACL,EAAE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;AAC1C,GAAG,MAAM;AACT,GAAG,OAAO,EAAE,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;AAClF,GAAG,IAAI;AACP,GAAG,MAAM,EAAE,UAAU,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;AACrC,GAAG,MAAM,EAAE,QAAQ,CAAC,MAAM;AAC1B,GAAG,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK;AACjF,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC;AAClE,EAAE,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,CAAC,CAAC;AAC/D,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AACrC,GAAG,KAAK,EAAE,sBAAsB;AAChC,GAAG,OAAO,EAAE,CAAC,oBAAoB,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;AACrE,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE;AAC1B,GAAG,aAAa,EAAE,QAAQ,CAAC,KAAK;AAChC,GAAG,GAAG,EAAE,QAAQ,CAAC;AACjB,GAAG,CAAC,EAAE;AACN,GAAG,MAAM,EAAE,GAAG;AACd,GAAG,OAAO,EAAE;AACZ,IAAI,cAAc,EAAE,kBAAkB;AACtC,IAAI,cAAc,EAAE;AACpB;AACA,GAAG,CAAC;AACJ,CAAC;AACD,CAAC;AACE,IAAC,GAAG,GAAG;AACP,IAAC,IAAI,GAAG;AACR,IAAC,GAAG,GAAG;AACP,IAAC,MAAM,GAAG;;;;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { a0 as listEnabledAddonIds, $ as listAvailableAddonIds } from './src-FpMyngcw.js';
|
|
2
|
+
import { b as getState } from './endpoints-L7Wjvq44.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, h as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-5jd3ccud.js';
|
|
4
|
+
import { p as performAddonToggle } from './addon-helpers-Bnj3aKJ2.js';
|
|
5
|
+
import './chunk-CLZ62Ad-.js';
|
|
6
|
+
import 'node:module';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import 'node:child_process';
|
|
10
|
+
import 'node:os';
|
|
11
|
+
import 'buffer';
|
|
12
|
+
import 'node:url';
|
|
13
|
+
import 'node:crypto';
|
|
14
|
+
import 'events';
|
|
15
|
+
import 'fs';
|
|
16
|
+
import 'node:events';
|
|
17
|
+
import 'node:stream';
|
|
18
|
+
import 'node:string_decoder';
|
|
19
|
+
import 'path';
|
|
20
|
+
import 'assert';
|
|
21
|
+
import 'zlib';
|
|
22
|
+
import 'node:assert';
|
|
23
|
+
import 'node:fs/promises';
|
|
24
|
+
|
|
25
|
+
//#region src/routes/admin/addons/+server.ts
|
|
26
|
+
function buildAddonList(availableIds, enabledIds) {
|
|
27
|
+
const enabledSet = new Set(enabledIds);
|
|
28
|
+
return availableIds.map((name) => ({
|
|
29
|
+
name,
|
|
30
|
+
enabled: enabledSet.has(name),
|
|
31
|
+
available: true
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
var GET = async (event) => {
|
|
35
|
+
const requestId = getRequestId(event);
|
|
36
|
+
const authErr = requireAdmin(event, requestId);
|
|
37
|
+
if (authErr) return authErr;
|
|
38
|
+
const state = getState();
|
|
39
|
+
return jsonResponse(200, { addons: buildAddonList(listAvailableAddonIds(), listEnabledAddonIds(state.homeDir)) }, requestId);
|
|
40
|
+
};
|
|
41
|
+
var POST = async (event) => {
|
|
42
|
+
const requestId = getRequestId(event);
|
|
43
|
+
const authErr = requireAdmin(event, requestId);
|
|
44
|
+
if (authErr) return authErr;
|
|
45
|
+
const state = getState();
|
|
46
|
+
const result = await parseJsonBody(event.request);
|
|
47
|
+
if ("error" in result) return jsonBodyError(result, requestId);
|
|
48
|
+
const body = result.data;
|
|
49
|
+
const name = typeof body.name === "string" ? body.name.trim() : "";
|
|
50
|
+
if (!name) return errorResponse(400, "bad_request", "name is required", {}, requestId);
|
|
51
|
+
if (!listAvailableAddonIds().includes(name)) return errorResponse(404, "not_found", `Addon "${name}" is not available`, { name }, requestId);
|
|
52
|
+
const toggle = await performAddonToggle(state, name, typeof body.enabled === "boolean" ? body.enabled : void 0, requestId);
|
|
53
|
+
if (!toggle.ok) return errorResponse(500, "internal_error", toggle.error, {}, requestId);
|
|
54
|
+
return jsonResponse(200, {
|
|
55
|
+
ok: true,
|
|
56
|
+
addon: name,
|
|
57
|
+
enabled: toggle.enabled,
|
|
58
|
+
changed: toggle.changed
|
|
59
|
+
}, requestId);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export { GET, POST };
|
|
63
|
+
//# sourceMappingURL=_server.ts-DwXd92Ow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-DwXd92Ow.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_server.ts.js"],"sourcesContent":["import { ot as listAvailableAddonIds, st as listEnabledAddonIds } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.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;;;;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
+
import { _ as isSetupComplete, ak as resolveStackDir, Q as getAddonProfileSelection, b as annotateAddonProfileAvailability, R as getAddonProfiles } from './src-FpMyngcw.js';
|
|
3
|
+
import { b as getState } from './endpoints-L7Wjvq44.js';
|
|
4
|
+
import { r as requireAdmin, d as getRequestId } from './helpers-5jd3ccud.js';
|
|
5
|
+
import './utils-BSRjJDrZ.js';
|
|
6
|
+
import './chunk-CLZ62Ad-.js';
|
|
7
|
+
import 'node:module';
|
|
8
|
+
import 'node:fs';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import 'node:child_process';
|
|
11
|
+
import 'node:os';
|
|
12
|
+
import 'buffer';
|
|
13
|
+
import 'node:url';
|
|
14
|
+
import 'node:crypto';
|
|
15
|
+
import 'events';
|
|
16
|
+
import 'fs';
|
|
17
|
+
import 'node:events';
|
|
18
|
+
import 'node:stream';
|
|
19
|
+
import 'node:string_decoder';
|
|
20
|
+
import 'path';
|
|
21
|
+
import 'assert';
|
|
22
|
+
import 'zlib';
|
|
23
|
+
import 'node:assert';
|
|
24
|
+
import 'node:fs/promises';
|
|
25
|
+
|
|
26
|
+
//#region src/routes/api/setup/voice-profiles/+server.ts
|
|
27
|
+
var GET = async (event) => {
|
|
28
|
+
if (isSetupComplete(resolveStackDir())) {
|
|
29
|
+
const authError = requireAdmin(event, getRequestId(event));
|
|
30
|
+
if (authError) return authError;
|
|
31
|
+
}
|
|
32
|
+
const state = getState();
|
|
33
|
+
return json({
|
|
34
|
+
ok: true,
|
|
35
|
+
profiles: await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, "voice")),
|
|
36
|
+
selectedProfile: getAddonProfileSelection(state.stackDir, "voice")
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export { GET };
|
|
41
|
+
//# sourceMappingURL=_server.ts-DwjjO7L5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-DwjjO7L5.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/voice-profiles/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { J as isSetupComplete, et as annotateAddonProfileAvailability, jt as resolveStackDir, nt as getAddonProfileSelection, rt as getAddonProfiles } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/voice-profiles/+server.ts\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst state = getState();\n\treturn json({\n\t\tok: true,\n\t\tprofiles: await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"voice\")),\n\t\tselectedProfile: getAddonProfileSelection(state.stackDir, \"voice\")\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE;AACzC,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,IAAI,SAAS,EAAE,OAAO,SAAS;AACjC,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5F,EAAE,eAAe,EAAE,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO;AACnE,EAAE,CAAC;AACH;;;;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ai as resolveDataDir, al as seedUiBuild, y as createLogger } from './src-FpMyngcw.js';
|
|
2
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse, h as jsonResponse } from './helpers-5jd3ccud.js';
|
|
3
|
+
import './chunk-CLZ62Ad-.js';
|
|
4
|
+
import 'node:module';
|
|
5
|
+
import 'node:fs';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:child_process';
|
|
8
|
+
import 'node:os';
|
|
9
|
+
import 'buffer';
|
|
10
|
+
import 'node:url';
|
|
11
|
+
import 'node:crypto';
|
|
12
|
+
import 'events';
|
|
13
|
+
import 'fs';
|
|
14
|
+
import 'node:events';
|
|
15
|
+
import 'node:stream';
|
|
16
|
+
import 'node:string_decoder';
|
|
17
|
+
import 'path';
|
|
18
|
+
import 'assert';
|
|
19
|
+
import 'zlib';
|
|
20
|
+
import 'node:assert';
|
|
21
|
+
import 'node:fs/promises';
|
|
22
|
+
import './endpoints-L7Wjvq44.js';
|
|
23
|
+
|
|
24
|
+
//#region src/routes/admin/ui-version/+server.ts
|
|
25
|
+
var logger = createLogger("ui-version");
|
|
26
|
+
var POST = async (event) => {
|
|
27
|
+
const requestId = getRequestId(event);
|
|
28
|
+
const authError = requireAdmin(event, requestId);
|
|
29
|
+
if (authError) return authError;
|
|
30
|
+
let body;
|
|
31
|
+
try {
|
|
32
|
+
body = await event.request.json();
|
|
33
|
+
} catch {
|
|
34
|
+
return errorResponse(400, "invalid_json", "Request body must be valid JSON", {}, requestId);
|
|
35
|
+
}
|
|
36
|
+
const tag = typeof body.tag === "string" ? body.tag.trim() : "";
|
|
37
|
+
if (!tag) return errorResponse(400, "tag_required", "tag is required", {}, requestId);
|
|
38
|
+
if (!/^[a-zA-Z0-9._\-]+$/.test(tag)) return errorResponse(400, "invalid_tag", "Tag must be alphanumeric with . _ or - only", {}, requestId);
|
|
39
|
+
const dataDir = resolveDataDir();
|
|
40
|
+
const repoRef = tag.startsWith("v") ? tag : `v${tag}`;
|
|
41
|
+
try {
|
|
42
|
+
await seedUiBuild(repoRef, dataDir, { forceRemote: true });
|
|
43
|
+
} catch (e) {
|
|
44
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
45
|
+
logger.error("ui-version download failed", {
|
|
46
|
+
requestId,
|
|
47
|
+
error: msg
|
|
48
|
+
});
|
|
49
|
+
return errorResponse(502, "download_failed", msg, { message: msg }, requestId);
|
|
50
|
+
}
|
|
51
|
+
logger.info("ui-version downloaded", {
|
|
52
|
+
requestId,
|
|
53
|
+
tag
|
|
54
|
+
});
|
|
55
|
+
return jsonResponse(200, {
|
|
56
|
+
ok: true,
|
|
57
|
+
tag
|
|
58
|
+
}, requestId);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export { POST };
|
|
62
|
+
//# sourceMappingURL=_server.ts-DyEbcQS0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-DyEbcQS0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/ui-version/_server.ts.js"],"sourcesContent":["import { At as resolveDataDir, Nt as createLogger, Ot as seedUiBuild } from \"../../../../chunks/src.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/ui-version/+server.ts\nvar logger = createLogger(\"ui-version\");\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\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 dataDir = resolveDataDir();\n\tconst repoRef = tag.startsWith(\"v\") ? tag : `v${tag}`;\n\ttry {\n\t\tawait seedUiBuild(repoRef, dataDir, { forceRemote: true });\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"ui-version download failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"download_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"ui-version downloaded\", {\n\t\trequestId,\n\t\ttag\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\ttag\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC;AACpC,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,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7F,CAAC;AACD,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;AAChE,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,CAAC;AACtF,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5I,CAAC,MAAM,OAAO,GAAG,cAAc,EAAE;AACjC,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC,IAAI;AACL,EAAE,MAAM,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;AACxD,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;AAC7C,GAAG,SAAS;AACZ,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;AAChF,CAAC;AACD,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;AACtC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { J as ensureHomeDirs, K as ensureOpenCodeConfig, L as ensureOpenCodeSystemConfig, M as ensureSecrets, m as checkDocker, a6 as performUpgrade, y as createLogger } from './src-FpMyngcw.js';
|
|
2
|
+
import { b as getState } from './endpoints-L7Wjvq44.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse, h as jsonResponse } from './helpers-5jd3ccud.js';
|
|
4
|
+
import './chunk-CLZ62Ad-.js';
|
|
5
|
+
import 'node:module';
|
|
6
|
+
import 'node:fs';
|
|
7
|
+
import 'node:path';
|
|
8
|
+
import 'node:child_process';
|
|
9
|
+
import 'node:os';
|
|
10
|
+
import 'buffer';
|
|
11
|
+
import 'node:url';
|
|
12
|
+
import 'node:crypto';
|
|
13
|
+
import 'events';
|
|
14
|
+
import 'fs';
|
|
15
|
+
import 'node:events';
|
|
16
|
+
import 'node:stream';
|
|
17
|
+
import 'node:string_decoder';
|
|
18
|
+
import 'path';
|
|
19
|
+
import 'assert';
|
|
20
|
+
import 'zlib';
|
|
21
|
+
import 'node:assert';
|
|
22
|
+
import 'node:fs/promises';
|
|
23
|
+
|
|
24
|
+
//#region src/routes/admin/upgrade/+server.ts
|
|
25
|
+
var logger = createLogger("upgrade");
|
|
26
|
+
var POST = async (event) => {
|
|
27
|
+
const requestId = getRequestId(event);
|
|
28
|
+
logger.info("upgrade request received", { requestId });
|
|
29
|
+
const authError = requireAdmin(event, requestId);
|
|
30
|
+
if (authError) return authError;
|
|
31
|
+
const state = getState();
|
|
32
|
+
ensureHomeDirs();
|
|
33
|
+
ensureOpenCodeConfig();
|
|
34
|
+
ensureOpenCodeSystemConfig();
|
|
35
|
+
ensureSecrets(state);
|
|
36
|
+
const dockerCheck = await checkDocker();
|
|
37
|
+
if (!dockerCheck.ok) {
|
|
38
|
+
logger.error("upgrade aborted: docker unavailable", {
|
|
39
|
+
requestId,
|
|
40
|
+
stderr: dockerCheck.stderr
|
|
41
|
+
});
|
|
42
|
+
return errorResponse(503, "docker_unavailable", "Docker is not available", { stderr: dockerCheck.stderr }, requestId);
|
|
43
|
+
}
|
|
44
|
+
let result;
|
|
45
|
+
try {
|
|
46
|
+
result = await performUpgrade(state);
|
|
47
|
+
} catch (e) {
|
|
48
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
49
|
+
logger.error("upgrade failed", {
|
|
50
|
+
requestId,
|
|
51
|
+
error: msg
|
|
52
|
+
});
|
|
53
|
+
return errorResponse(502, "upgrade_failed", msg, { message: msg }, requestId);
|
|
54
|
+
}
|
|
55
|
+
logger.info("upgrade completed", {
|
|
56
|
+
requestId,
|
|
57
|
+
imageTag: result.imageTag,
|
|
58
|
+
assetsUpdated: result.assetsUpdated
|
|
59
|
+
});
|
|
60
|
+
return jsonResponse(200, {
|
|
61
|
+
ok: true,
|
|
62
|
+
imageTag: result.imageTag,
|
|
63
|
+
backupDir: result.backupDir,
|
|
64
|
+
assetsUpdated: result.assetsUpdated,
|
|
65
|
+
restarted: result.restarted
|
|
66
|
+
}, requestId);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export { POST };
|
|
70
|
+
//# sourceMappingURL=_server.ts-HxcM6xQA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-HxcM6xQA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/upgrade/_server.ts.js"],"sourcesContent":["import { C as performUpgrade, Nt as createLogger, T as checkDocker, ht as ensureSecrets, kt as ensureHomeDirs, mt as ensureOpenCodeConfig, pt as ensureOpenCodeSystemConfig } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/upgrade/+server.ts\nvar logger = createLogger(\"upgrade\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"upgrade request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tensureHomeDirs();\n\tensureOpenCodeConfig();\n\tensureOpenCodeSystemConfig();\n\tensureSecrets(state);\n\tconst dockerCheck = await checkDocker();\n\tif (!dockerCheck.ok) {\n\t\tlogger.error(\"upgrade aborted: docker unavailable\", {\n\t\t\trequestId,\n\t\t\tstderr: dockerCheck.stderr\n\t\t});\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 = await performUpgrade(state);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"upgrade failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"upgrade_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"upgrade completed\", {\n\t\trequestId,\n\t\timageTag: result.imageTag,\n\t\tassetsUpdated: result.assetsUpdated\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\timageTag: result.imageTag,\n\t\tbackupDir: result.backupDir,\n\t\tassetsUpdated: result.assetsUpdated,\n\t\trestarted: result.restarted\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC;AACjC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,CAAC;AACvD,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,cAAc,EAAE;AACjB,CAAC,oBAAoB,EAAE;AACvB,CAAC,0BAA0B,EAAE;AAC7B,CAAC,aAAa,CAAC,KAAK,CAAC;AACrB,CAAC,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACxC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;AACtB,EAAE,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;AACtD,GAAG,SAAS;AACZ,GAAG,MAAM,EAAE,WAAW,CAAC;AACvB,GAAG,CAAC;AACJ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AACvH,CAAC;AACD,CAAC,IAAI,MAAM;AACX,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC;AACtC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;AACxD,EAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE;AACjC,GAAG,SAAS;AACZ,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;AAC/E,CAAC;AACD,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAClC,EAAE,SAAS;AACX,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC3B,EAAE,aAAa,EAAE,MAAM,CAAC;AACxB,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC3B,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS;AAC7B,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa;AACrC,EAAE,SAAS,EAAE,MAAM,CAAC;AACpB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|