@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,533 @@
|
|
|
1
|
+
import { B as head, e as attr_class, d as attr, a6 as stringify, p as escape_html, n as ensure_array_like, m as derived } from './dev-DjANv7AF.js';
|
|
2
|
+
import { o as onDestroy } from './state-BI-lJPhE.js';
|
|
3
|
+
import { h as fetchHealth, e as fetchContainers, f as fetchAutomations, j as fetchVersions, i as fetchReleases, a as applyChanges, u as upgradeStack, o as setStackVersion, b as downloadUiVersion } from './voice-state.svelte-CQp8u0bn.js';
|
|
4
|
+
import { A as AuthGate, N as Navbar } from './AuthGate-keg7G6rX.js';
|
|
5
|
+
import './internal-CJBOAkaQ.js';
|
|
6
|
+
import './utils-BSRjJDrZ.js';
|
|
7
|
+
import 'node:module';
|
|
8
|
+
import './chunk-CLZ62Ad-.js';
|
|
9
|
+
import './environment-BnT49Gi3.js';
|
|
10
|
+
|
|
11
|
+
//#region src/lib/components/TabBar.svelte
|
|
12
|
+
function TabBar($$renderer, $$props) {
|
|
13
|
+
$$renderer.component(($$renderer) => {
|
|
14
|
+
let { active} = $$props;
|
|
15
|
+
$$renderer.push(`<div class="tabs svelte-1wwzsr0" role="tablist"><button${attr_class("tab svelte-1wwzsr0", void 0, { "tab-active": active === "overview" })} role="tab"${attr("aria-selected", active === "overview")}><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect></svg> Overview</button> <button${attr_class("tab svelte-1wwzsr0", void 0, { "tab-active": active === "addons" })} role="tab"${attr("aria-selected", active === "addons")}><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2L2 7l10 5 10-5-10-5z"></path><path d="M2 17l10 5 10-5"></path><path d="M2 12l10 5 10-5"></path></svg> Addons</button> <button${attr_class("tab svelte-1wwzsr0", void 0, { "tab-active": active === "automations" })} role="tab"${attr("aria-selected", active === "automations")}><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg> Automations</button> <button${attr_class("tab svelte-1wwzsr0", void 0, { "tab-active": active === "connections" })} role="tab"${attr("aria-selected", active === "connections")}><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg> Connections</button> <button${attr_class("tab svelte-1wwzsr0", void 0, { "tab-active": active === "secrets" })} role="tab"${attr("aria-selected", active === "secrets")}><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg> Secrets</button> <button${attr_class("tab svelte-1wwzsr0", void 0, { "tab-active": active === "voice" })} role="tab"${attr("aria-selected", active === "voice")}><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg> Voice</button> <button${attr_class("tab svelte-1wwzsr0", void 0, { "tab-active": active === "akm" })} role="tab"${attr("aria-selected", active === "akm")}><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg> Knowledge</button> <button${attr_class("tab svelte-1wwzsr0", void 0, { "tab-active": active === "containers" })} role="tab"${attr("aria-selected", active === "containers")}><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg> Containers</button> <button${attr_class("tab svelte-1wwzsr0", void 0, { "tab-active": active === "logs" })} role="tab"${attr("aria-selected", active === "logs")}><svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" y1="19" x2="20" y2="19"></line></svg> Logs</button></div>`);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/lib/components/OverviewTab.svelte
|
|
20
|
+
function OverviewTab($$renderer, $$props) {
|
|
21
|
+
$$renderer.component(($$renderer) => {
|
|
22
|
+
let { adminHealth, operationResult, operationResultType, tokenStored, healthLoading, applyLoading, upgradeLoading, anyDangerousLoading, automationsData, mergedServices, currentImageTag, tagChangeLoading, uiDownloadLoading, uiDownloadReady, inElectron, selectedImageTag, selectedUiTag, releases, releasesLoading, onCheckHealth, onApplyChanges, onUpgradeStack, onDismissResult, onSetImageTag, onDownloadUiVersion, onRestartApp, onSelectedImageTagChange, onSelectedUiTagChange } = $$props;
|
|
23
|
+
let uiBuildReleases = derived(() => releases.filter((r) => r.hasUiBuild));
|
|
24
|
+
let automationCount = derived(() => automationsData?.automations.length ?? 0);
|
|
25
|
+
let enabledAutomationCount = derived(() => automationsData?.automations.filter((a) => a.enabled).length ?? 0);
|
|
26
|
+
let containerCounts = derived(() => {
|
|
27
|
+
if (mergedServices.size === 0) return null;
|
|
28
|
+
return {
|
|
29
|
+
total: mergedServices.size,
|
|
30
|
+
running: [...mergedServices.values()].filter((s) => s === "running").length
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
let guardianContainerStatus = derived(() => {
|
|
34
|
+
const status = mergedServices.get("guardian");
|
|
35
|
+
if (status === "running") return "running";
|
|
36
|
+
if (status === "stopped" || status === "exited" || status === "created") return "stopped";
|
|
37
|
+
if (status) return "stopped";
|
|
38
|
+
return "unknown";
|
|
39
|
+
});
|
|
40
|
+
let assistantStatus = derived(() => {
|
|
41
|
+
const status = mergedServices.get("assistant");
|
|
42
|
+
if (status === "running") return "connected";
|
|
43
|
+
if (status === "stopped" || status === "exited" || status === "created") return "disconnected";
|
|
44
|
+
if (status) return "disconnected";
|
|
45
|
+
return "unknown";
|
|
46
|
+
});
|
|
47
|
+
let healthSummary = derived(() => {
|
|
48
|
+
if (!containerCounts()) return {
|
|
49
|
+
status: "unknown",
|
|
50
|
+
message: "Checking services…"
|
|
51
|
+
};
|
|
52
|
+
if (containerCounts().running === containerCounts().total && containerCounts().total > 0) return {
|
|
53
|
+
status: "ok",
|
|
54
|
+
message: `All ${containerCounts().total} services running`
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
status: "warning",
|
|
58
|
+
message: `${containerCounts().total - containerCounts().running} of ${containerCounts().total} services not running — check the Containers tab`
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
$$renderer.push(`<div${attr_class(`health-summary health-summary--${stringify(healthSummary().status)}`, "svelte-1ob1zsm")} role="status" aria-live="polite"><span class="health-dot svelte-1ob1zsm"></span> <span class="health-msg svelte-1ob1zsm">${escape_html(healthSummary().message)}</span></div> `);
|
|
62
|
+
if (operationResult) {
|
|
63
|
+
$$renderer.push("<!--[0-->");
|
|
64
|
+
$$renderer.push(`<section${attr_class(`output-section output-section--${stringify(operationResultType)}`, "svelte-1ob1zsm")}><div class="output-header svelte-1ob1zsm"><h3 class="svelte-1ob1zsm">Operation Output</h3> <button class="btn-ghost svelte-1ob1zsm" aria-label="Dismiss"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1ob1zsm"><line x1="18" y1="6" x2="6" y2="18" class="svelte-1ob1zsm"></line><line x1="6" y1="6" x2="18" y2="18" class="svelte-1ob1zsm"></line></svg></button></div> <pre class="output-code svelte-1ob1zsm">${escape_html(operationResult)}</pre></section>`);
|
|
65
|
+
} else $$renderer.push("<!--[-1-->");
|
|
66
|
+
$$renderer.push(`<!--]--> <div class="panel-grid svelte-1ob1zsm" role="tabpanel"><div class="panel svelte-1ob1zsm"><div class="panel-header svelte-1ob1zsm"><h2 class="svelte-1ob1zsm">Quick Actions</h2></div> <div class="panel-body svelte-1ob1zsm"><div class="action-list svelte-1ob1zsm"><button class="action-item svelte-1ob1zsm"${attr("disabled", healthLoading, true)}><span class="action-icon action-icon--blue svelte-1ob1zsm">`);
|
|
67
|
+
if (healthLoading) {
|
|
68
|
+
$$renderer.push("<!--[0-->");
|
|
69
|
+
$$renderer.push(`<span class="spinner svelte-1ob1zsm"></span>`);
|
|
70
|
+
} else {
|
|
71
|
+
$$renderer.push("<!--[-1-->");
|
|
72
|
+
$$renderer.push(`<svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1ob1zsm"><path d="M22 12h-4l-3 9L9 3l-3 9H2" class="svelte-1ob1zsm"></path></svg>`);
|
|
73
|
+
}
|
|
74
|
+
$$renderer.push(`<!--]--></span> <div class="action-content svelte-1ob1zsm"><span class="action-title svelte-1ob1zsm">Health Check</span> <span class="action-desc svelte-1ob1zsm">Verify admin and guardian services are reachable</span></div> <span class="action-arrow svelte-1ob1zsm"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1ob1zsm"><polyline points="9 18 15 12 9 6" class="svelte-1ob1zsm"></polyline></svg></span></button> <button class="action-item svelte-1ob1zsm"${attr("disabled", anyDangerousLoading || !tokenStored, true)}><span class="action-icon action-icon--blue svelte-1ob1zsm">`);
|
|
75
|
+
if (applyLoading) {
|
|
76
|
+
$$renderer.push("<!--[0-->");
|
|
77
|
+
$$renderer.push(`<span class="spinner svelte-1ob1zsm"></span>`);
|
|
78
|
+
} else {
|
|
79
|
+
$$renderer.push("<!--[-1-->");
|
|
80
|
+
$$renderer.push(`<svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1ob1zsm"><polyline points="16 16 12 12 8 16" class="svelte-1ob1zsm"></polyline><line x1="12" y1="12" x2="12" y2="21" class="svelte-1ob1zsm"></line><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3" class="svelte-1ob1zsm"></path></svg>`);
|
|
81
|
+
}
|
|
82
|
+
$$renderer.push(`<!--]--></span> <div class="action-content svelte-1ob1zsm"><span class="action-title svelte-1ob1zsm">Apply Config + Restart</span> <span class="action-desc svelte-1ob1zsm">Update configuration and restart running services</span> <span class="action-hint svelte-1ob1zsm">Restarts services with updated compose config.</span></div> <span class="action-arrow svelte-1ob1zsm"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1ob1zsm"><polyline points="9 18 15 12 9 6" class="svelte-1ob1zsm"></polyline></svg></span></button> <a class="action-item svelte-1ob1zsm" href="/setup?rerun=1"><span class="action-icon action-icon--purple svelte-1ob1zsm"><svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1ob1zsm"><circle cx="12" cy="12" r="3" class="svelte-1ob1zsm"></circle><path d="M19.07 4.93a10 10 0 0 1 0 14.14M4.93 4.93a10 10 0 0 0 0 14.14" class="svelte-1ob1zsm"></path></svg></span> <div class="action-content svelte-1ob1zsm"><span class="action-title svelte-1ob1zsm">Update Settings</span> <span class="action-desc svelte-1ob1zsm">Re-run setup wizard to change providers, channels, or options</span></div> <span class="action-arrow svelte-1ob1zsm"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1ob1zsm"><polyline points="9 18 15 12 9 6" class="svelte-1ob1zsm"></polyline></svg></span></a> <a class="action-item svelte-1ob1zsm" href="/advanced"><span class="action-icon action-icon--blue svelte-1ob1zsm"><svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1ob1zsm"><rect x="3" y="3" width="18" height="18" rx="2" ry="2" class="svelte-1ob1zsm"></rect><path d="M9 9h6v6H9z" class="svelte-1ob1zsm"></path></svg></span> <div class="action-content svelte-1ob1zsm"><span class="action-title svelte-1ob1zsm">Advanced Chat (OpenCode)</span> <span class="action-desc svelte-1ob1zsm">Open the full OpenCode UI embedded in OpenPalm — host machine only</span></div> <span class="action-arrow svelte-1ob1zsm"><svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1ob1zsm"><polyline points="9 18 15 12 9 6" class="svelte-1ob1zsm"></polyline></svg></span></a></div></div></div> <div class="panel svelte-1ob1zsm"><div class="panel-header svelte-1ob1zsm"><h2 class="svelte-1ob1zsm">System Information</h2></div> <div class="panel-body svelte-1ob1zsm"><div class="info-grid svelte-1ob1zsm"><div class="info-item svelte-1ob1zsm"><span class="info-label svelte-1ob1zsm">Admin API</span> <span class="info-value svelte-1ob1zsm">`);
|
|
83
|
+
if (adminHealth) {
|
|
84
|
+
$$renderer.push("<!--[0-->");
|
|
85
|
+
$$renderer.push(`<span${attr_class("badge svelte-1ob1zsm", void 0, {
|
|
86
|
+
"badge-success": adminHealth.status === "ok",
|
|
87
|
+
"badge-danger": adminHealth.status !== "ok"
|
|
88
|
+
})}>${escape_html(adminHealth.status)}</span>`);
|
|
89
|
+
} else {
|
|
90
|
+
$$renderer.push("<!--[-1-->");
|
|
91
|
+
$$renderer.push(`<span class="badge badge-idle svelte-1ob1zsm">Unknown</span>`);
|
|
92
|
+
}
|
|
93
|
+
$$renderer.push(`<!--]--></span></div> <div class="info-item svelte-1ob1zsm"><span class="info-label svelte-1ob1zsm">Guardian</span> <span class="info-value svelte-1ob1zsm">`);
|
|
94
|
+
if (guardianContainerStatus() === "running") {
|
|
95
|
+
$$renderer.push("<!--[0-->");
|
|
96
|
+
$$renderer.push(`<span class="badge badge-success svelte-1ob1zsm">Running</span>`);
|
|
97
|
+
} else if (guardianContainerStatus() === "stopped") {
|
|
98
|
+
$$renderer.push("<!--[1-->");
|
|
99
|
+
$$renderer.push(`<span class="badge badge-danger svelte-1ob1zsm">Stopped</span>`);
|
|
100
|
+
} else {
|
|
101
|
+
$$renderer.push("<!--[-1-->");
|
|
102
|
+
$$renderer.push(`<span class="badge badge-idle svelte-1ob1zsm">Unknown</span>`);
|
|
103
|
+
}
|
|
104
|
+
$$renderer.push(`<!--]--></span></div> <div class="info-item svelte-1ob1zsm"><span class="info-label svelte-1ob1zsm">Containers</span> <span class="info-value svelte-1ob1zsm">`);
|
|
105
|
+
if (containerCounts()) {
|
|
106
|
+
$$renderer.push("<!--[0-->");
|
|
107
|
+
if (containerCounts().running === containerCounts().total) {
|
|
108
|
+
$$renderer.push("<!--[0-->");
|
|
109
|
+
$$renderer.push(`<span class="badge badge-success svelte-1ob1zsm">${escape_html(containerCounts().running)} / ${escape_html(containerCounts().total)} running</span>`);
|
|
110
|
+
} else if (containerCounts().running > 0) {
|
|
111
|
+
$$renderer.push("<!--[1-->");
|
|
112
|
+
$$renderer.push(`<span class="badge badge-warning svelte-1ob1zsm">${escape_html(containerCounts().running)} / ${escape_html(containerCounts().total)} running</span>`);
|
|
113
|
+
} else {
|
|
114
|
+
$$renderer.push("<!--[-1-->");
|
|
115
|
+
$$renderer.push(`<span class="badge badge-danger svelte-1ob1zsm">0 / ${escape_html(containerCounts().total)} running</span>`);
|
|
116
|
+
}
|
|
117
|
+
$$renderer.push(`<!--]-->`);
|
|
118
|
+
} else {
|
|
119
|
+
$$renderer.push("<!--[-1-->");
|
|
120
|
+
$$renderer.push(`<span class="badge badge-idle svelte-1ob1zsm">Unknown</span>`);
|
|
121
|
+
}
|
|
122
|
+
$$renderer.push(`<!--]--></span></div> <div class="info-item svelte-1ob1zsm"><span class="info-label svelte-1ob1zsm">Assistant</span> <span class="info-value svelte-1ob1zsm">`);
|
|
123
|
+
if (assistantStatus() === "connected") {
|
|
124
|
+
$$renderer.push("<!--[0-->");
|
|
125
|
+
$$renderer.push(`<span class="badge badge-success svelte-1ob1zsm">Connected</span>`);
|
|
126
|
+
} else if (assistantStatus() === "disconnected") {
|
|
127
|
+
$$renderer.push("<!--[1-->");
|
|
128
|
+
$$renderer.push(`<span class="badge badge-danger svelte-1ob1zsm">Disconnected</span>`);
|
|
129
|
+
} else {
|
|
130
|
+
$$renderer.push("<!--[-1-->");
|
|
131
|
+
$$renderer.push(`<span class="badge badge-idle svelte-1ob1zsm">Unknown</span>`);
|
|
132
|
+
}
|
|
133
|
+
$$renderer.push(`<!--]--></span></div> <div class="info-item svelte-1ob1zsm"><span class="info-label svelte-1ob1zsm">Automations</span> <span class="info-value svelte-1ob1zsm">`);
|
|
134
|
+
if (automationsData) {
|
|
135
|
+
$$renderer.push("<!--[0-->");
|
|
136
|
+
$$renderer.push(`<span class="info-mono svelte-1ob1zsm">${escape_html(enabledAutomationCount())} active / ${escape_html(automationCount())} total</span>`);
|
|
137
|
+
} else {
|
|
138
|
+
$$renderer.push("<!--[-1-->");
|
|
139
|
+
$$renderer.push(`<span class="badge badge-idle svelte-1ob1zsm">Loading</span>`);
|
|
140
|
+
}
|
|
141
|
+
$$renderer.push(`<!--]--></span></div></div></div></div> <div class="panel svelte-1ob1zsm"><div class="panel-header svelte-1ob1zsm"><h2 class="svelte-1ob1zsm">Version Management</h2></div> <div class="panel-body svelte-1ob1zsm"><div class="version-section svelte-1ob1zsm"><div class="version-row svelte-1ob1zsm"><span class="version-label svelte-1ob1zsm">Stack images</span> <code class="version-value version-value--active svelte-1ob1zsm">${escape_html(currentImageTag || "—")}</code></div> <div class="version-input-row svelte-1ob1zsm">`);
|
|
142
|
+
if (releasesLoading) {
|
|
143
|
+
$$renderer.push("<!--[0-->");
|
|
144
|
+
$$renderer.push(`<div class="version-select-skeleton svelte-1ob1zsm"></div>`);
|
|
145
|
+
} else if (releases.length > 0) {
|
|
146
|
+
$$renderer.push("<!--[1-->");
|
|
147
|
+
$$renderer.select({
|
|
148
|
+
class: "version-select",
|
|
149
|
+
value: selectedImageTag,
|
|
150
|
+
onchange: (e) => onSelectedImageTagChange(e.currentTarget.value),
|
|
151
|
+
disabled: tagChangeLoading || anyDangerousLoading
|
|
152
|
+
}, ($$renderer) => {
|
|
153
|
+
$$renderer.option({
|
|
154
|
+
value: "latest",
|
|
155
|
+
class: ""
|
|
156
|
+
}, ($$renderer) => {
|
|
157
|
+
$$renderer.push(`latest`);
|
|
158
|
+
}, "svelte-1ob1zsm");
|
|
159
|
+
$$renderer.push(`<!--[-->`);
|
|
160
|
+
const each_array = ensure_array_like(releases);
|
|
161
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
162
|
+
let r = each_array[$$index];
|
|
163
|
+
$$renderer.option({
|
|
164
|
+
value: r.tag,
|
|
165
|
+
class: ""
|
|
166
|
+
}, ($$renderer) => {
|
|
167
|
+
$$renderer.push(`${escape_html(r.tag)}${escape_html(r.prerelease ? " (pre-release)" : "")}`);
|
|
168
|
+
}, "svelte-1ob1zsm");
|
|
169
|
+
}
|
|
170
|
+
$$renderer.push(`<!--]-->`);
|
|
171
|
+
}, "svelte-1ob1zsm");
|
|
172
|
+
} else {
|
|
173
|
+
$$renderer.push("<!--[-1-->");
|
|
174
|
+
$$renderer.push(`<input class="version-input svelte-1ob1zsm" type="text" placeholder="e.g. 0.11.0 or latest"${attr("value", selectedImageTag)}${attr("disabled", tagChangeLoading || anyDangerousLoading, true)}/>`);
|
|
175
|
+
}
|
|
176
|
+
$$renderer.push(`<!--]--> <button class="btn btn-sm svelte-1ob1zsm"${attr("disabled", !selectedImageTag.trim() || tagChangeLoading || anyDangerousLoading, true)}>`);
|
|
177
|
+
if (tagChangeLoading) {
|
|
178
|
+
$$renderer.push("<!--[0-->");
|
|
179
|
+
$$renderer.push(`<span class="spinner spinner-sm svelte-1ob1zsm"></span> Applying…`);
|
|
180
|
+
} else {
|
|
181
|
+
$$renderer.push("<!--[-1-->");
|
|
182
|
+
$$renderer.push(`Pull & Restart`);
|
|
183
|
+
}
|
|
184
|
+
$$renderer.push(`<!--]--></button></div> <p class="version-hint svelte-1ob1zsm">Pulls the selected images and restarts services.</p></div> <div class="version-divider svelte-1ob1zsm"></div> <div class="version-section svelte-1ob1zsm"><div class="version-row svelte-1ob1zsm"><span class="version-label svelte-1ob1zsm">Upgrade Stack</span></div> <div class="version-input-row svelte-1ob1zsm"><button class="btn btn-sm btn-warning svelte-1ob1zsm"${attr("disabled", anyDangerousLoading || !tokenStored, true)}>`);
|
|
185
|
+
if (upgradeLoading) {
|
|
186
|
+
$$renderer.push("<!--[0-->");
|
|
187
|
+
$$renderer.push(`<span class="spinner spinner-sm svelte-1ob1zsm"></span> Upgrading…`);
|
|
188
|
+
} else {
|
|
189
|
+
$$renderer.push("<!--[-1-->");
|
|
190
|
+
$$renderer.push(`Upgrade to Latest`);
|
|
191
|
+
}
|
|
192
|
+
$$renderer.push(`<!--]--></button></div> <p class="version-hint svelte-1ob1zsm">Downloads the latest assets, pulls images, and restarts services. Backs up current config first.</p></div> <div class="version-divider svelte-1ob1zsm"></div> `);
|
|
193
|
+
if (inElectron) {
|
|
194
|
+
$$renderer.push("<!--[0-->");
|
|
195
|
+
$$renderer.push(`<div class="version-section svelte-1ob1zsm"><div class="version-input-row svelte-1ob1zsm">`);
|
|
196
|
+
if (releasesLoading) {
|
|
197
|
+
$$renderer.push("<!--[0-->");
|
|
198
|
+
$$renderer.push(`<div class="version-select-skeleton svelte-1ob1zsm"></div>`);
|
|
199
|
+
} else if (uiBuildReleases().length > 0) {
|
|
200
|
+
$$renderer.push("<!--[1-->");
|
|
201
|
+
$$renderer.select({
|
|
202
|
+
class: "version-select",
|
|
203
|
+
value: selectedUiTag,
|
|
204
|
+
onchange: (e) => onSelectedUiTagChange(e.currentTarget.value),
|
|
205
|
+
disabled: uiDownloadLoading
|
|
206
|
+
}, ($$renderer) => {
|
|
207
|
+
$$renderer.push(`<!--[-->`);
|
|
208
|
+
const each_array_1 = ensure_array_like(uiBuildReleases());
|
|
209
|
+
for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
|
|
210
|
+
let r = each_array_1[$$index_1];
|
|
211
|
+
$$renderer.option({
|
|
212
|
+
value: r.tag,
|
|
213
|
+
class: ""
|
|
214
|
+
}, ($$renderer) => {
|
|
215
|
+
$$renderer.push(`${escape_html(r.tag)}${escape_html(r.prerelease ? " (pre-release)" : "")}`);
|
|
216
|
+
}, "svelte-1ob1zsm");
|
|
217
|
+
}
|
|
218
|
+
$$renderer.push(`<!--]-->`);
|
|
219
|
+
}, "svelte-1ob1zsm");
|
|
220
|
+
} else {
|
|
221
|
+
$$renderer.push("<!--[-1-->");
|
|
222
|
+
$$renderer.push(`<input class="version-input svelte-1ob1zsm" type="text" placeholder="e.g. 0.11.0-beta.7"${attr("value", selectedUiTag)}${attr("disabled", uiDownloadLoading, true)}/>`);
|
|
223
|
+
}
|
|
224
|
+
$$renderer.push(`<!--]--> <button class="btn btn-sm svelte-1ob1zsm"${attr("disabled", !selectedUiTag.trim() || uiDownloadLoading, true)}>`);
|
|
225
|
+
if (uiDownloadLoading) {
|
|
226
|
+
$$renderer.push("<!--[0-->");
|
|
227
|
+
$$renderer.push(`<span class="spinner spinner-sm svelte-1ob1zsm"></span> Downloading…`);
|
|
228
|
+
} else {
|
|
229
|
+
$$renderer.push("<!--[-1-->");
|
|
230
|
+
$$renderer.push(`Download`);
|
|
231
|
+
}
|
|
232
|
+
$$renderer.push(`<!--]--></button></div> `);
|
|
233
|
+
if (uiDownloadReady) {
|
|
234
|
+
$$renderer.push("<!--[0-->");
|
|
235
|
+
$$renderer.push(`<div class="version-restart-prompt svelte-1ob1zsm">UI updated. <button class="btn btn-sm btn-primary svelte-1ob1zsm">Restart App</button></div>`);
|
|
236
|
+
} else {
|
|
237
|
+
$$renderer.push("<!--[-1-->");
|
|
238
|
+
$$renderer.push(`<p class="version-hint svelte-1ob1zsm">Downloads and replaces the UI from GitHub. Takes effect on restart.</p>`);
|
|
239
|
+
}
|
|
240
|
+
$$renderer.push(`<!--]--></div>`);
|
|
241
|
+
} else $$renderer.push("<!--[-1-->");
|
|
242
|
+
$$renderer.push(`<!--]--></div></div></div>`);
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
//#endregion
|
|
246
|
+
//#region src/routes/admin/+page.svelte
|
|
247
|
+
function _page($$renderer, $$props) {
|
|
248
|
+
$$renderer.component(($$renderer) => {
|
|
249
|
+
let authLocked = true;
|
|
250
|
+
let authLoading = false;
|
|
251
|
+
let authError = "";
|
|
252
|
+
let adminHealth = null;
|
|
253
|
+
let healthLoading = false;
|
|
254
|
+
let applyLoading = false;
|
|
255
|
+
let upgradeLoading = false;
|
|
256
|
+
let operationResult = "";
|
|
257
|
+
let operationResultType = "info";
|
|
258
|
+
let containerData = null;
|
|
259
|
+
let automationsData = null;
|
|
260
|
+
let activeTab = "overview";
|
|
261
|
+
let currentImageTag = "";
|
|
262
|
+
let inElectron = false;
|
|
263
|
+
let tagChangeLoading = false;
|
|
264
|
+
let uiDownloadLoading = false;
|
|
265
|
+
let uiDownloadReady = false;
|
|
266
|
+
let selectedImageTag = "latest";
|
|
267
|
+
let selectedUiTag = "";
|
|
268
|
+
let releases = [];
|
|
269
|
+
let releasesLoading = false;
|
|
270
|
+
const POLL_INTERVAL_MS = 1e4;
|
|
271
|
+
let pollTimer = null;
|
|
272
|
+
function startContainerPolling() {
|
|
273
|
+
stopContainerPolling();
|
|
274
|
+
pollTimer = setInterval(() => {
|
|
275
|
+
if (!authLocked && containerData) loadContainers();
|
|
276
|
+
}, POLL_INTERVAL_MS);
|
|
277
|
+
}
|
|
278
|
+
function stopContainerPolling() {
|
|
279
|
+
if (pollTimer !== null) {
|
|
280
|
+
clearInterval(pollTimer);
|
|
281
|
+
pollTimer = null;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
onDestroy(() => {
|
|
285
|
+
stopContainerPolling();
|
|
286
|
+
});
|
|
287
|
+
let anyDangerousLoading = derived(() => applyLoading || upgradeLoading);
|
|
288
|
+
/** Merged service → state map (used by OverviewTab for health indicators) */
|
|
289
|
+
let mergedServices = derived(() => {
|
|
290
|
+
if (!containerData) return /* @__PURE__ */ new Map();
|
|
291
|
+
const merged = /* @__PURE__ */ new Map();
|
|
292
|
+
if (containerData.containers) for (const [name, state] of Object.entries(containerData.containers)) merged.set(name, state);
|
|
293
|
+
if (containerData.dockerContainers) for (const c of containerData.dockerContainers) merged.set(c.Service, c.State);
|
|
294
|
+
return merged;
|
|
295
|
+
});
|
|
296
|
+
function applyInvalidTokenState() {
|
|
297
|
+
authLocked = true;
|
|
298
|
+
authError = "Invalid password.";
|
|
299
|
+
}
|
|
300
|
+
async function handleAuthSuccess(token) {
|
|
301
|
+
if (authLoading) return false;
|
|
302
|
+
authLoading = true;
|
|
303
|
+
authError = "";
|
|
304
|
+
try {
|
|
305
|
+
if (!(await fetch("/admin/auth/login", {
|
|
306
|
+
method: "POST",
|
|
307
|
+
headers: { "content-type": "application/json" },
|
|
308
|
+
body: JSON.stringify({ password: token }),
|
|
309
|
+
credentials: "include"
|
|
310
|
+
})).ok) {
|
|
311
|
+
applyInvalidTokenState();
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
314
|
+
authLocked = false;
|
|
315
|
+
authError = "";
|
|
316
|
+
startContainerPolling();
|
|
317
|
+
await loadHealth();
|
|
318
|
+
loadContainers();
|
|
319
|
+
loadAutomations();
|
|
320
|
+
loadVersions();
|
|
321
|
+
loadReleases();
|
|
322
|
+
return true;
|
|
323
|
+
} catch (e) {
|
|
324
|
+
console.warn("[page] Auth failed:", e);
|
|
325
|
+
authError = "Unable to reach admin API.";
|
|
326
|
+
return false;
|
|
327
|
+
} finally {
|
|
328
|
+
authLoading = false;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
async function loadHealth() {
|
|
332
|
+
healthLoading = true;
|
|
333
|
+
try {
|
|
334
|
+
const health = await fetchHealth();
|
|
335
|
+
adminHealth = health.admin;
|
|
336
|
+
health.guardian;
|
|
337
|
+
} catch (e) {
|
|
338
|
+
console.warn("[page] Health check failed:", e);
|
|
339
|
+
adminHealth = {
|
|
340
|
+
status: "error",
|
|
341
|
+
service: "admin"
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
healthLoading = false;
|
|
345
|
+
}
|
|
346
|
+
async function loadContainers() {
|
|
347
|
+
try {
|
|
348
|
+
containerData = await fetchContainers();
|
|
349
|
+
} catch (e) {
|
|
350
|
+
containerData = null;
|
|
351
|
+
const err = e;
|
|
352
|
+
if (err.status === 401) {
|
|
353
|
+
applyInvalidTokenState();
|
|
354
|
+
} else `Failed to load containers: ${err.message ?? e}`;
|
|
355
|
+
}
|
|
356
|
+
if (containerData) (/* @__PURE__ */ new Date()).toLocaleTimeString();
|
|
357
|
+
}
|
|
358
|
+
async function loadAutomations() {
|
|
359
|
+
try {
|
|
360
|
+
automationsData = await fetchAutomations();
|
|
361
|
+
} catch (e) {
|
|
362
|
+
automationsData = null;
|
|
363
|
+
const err = e;
|
|
364
|
+
if (err.status === 401) {
|
|
365
|
+
applyInvalidTokenState();
|
|
366
|
+
} else `Failed to load automations: ${err.message ?? e}`;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
async function loadVersions() {
|
|
370
|
+
try {
|
|
371
|
+
const data = await fetchVersions();
|
|
372
|
+
currentImageTag = data.imageTag;
|
|
373
|
+
inElectron = data.inElectron;
|
|
374
|
+
} catch {}
|
|
375
|
+
}
|
|
376
|
+
async function loadReleases() {
|
|
377
|
+
releasesLoading = true;
|
|
378
|
+
try {
|
|
379
|
+
const data = await fetchReleases();
|
|
380
|
+
releases = data.releases;
|
|
381
|
+
const latestUiBuild = data.releases.find((r) => r.hasUiBuild);
|
|
382
|
+
if (latestUiBuild) selectedUiTag = latestUiBuild.tag;
|
|
383
|
+
} catch {}
|
|
384
|
+
releasesLoading = false;
|
|
385
|
+
}
|
|
386
|
+
async function handleApplyChanges() {
|
|
387
|
+
if (anyDangerousLoading()) return;
|
|
388
|
+
applyLoading = true;
|
|
389
|
+
try {
|
|
390
|
+
const result = await applyChanges();
|
|
391
|
+
if (result.overallSuccess) {
|
|
392
|
+
operationResult = result.restarted.length > 0 ? `Changes applied successfully. Restarted: ${result.restarted.join(", ")}.` : "Changes applied successfully.";
|
|
393
|
+
operationResultType = "success";
|
|
394
|
+
} else if (result.failed.length > 0) {
|
|
395
|
+
const failures = result.failed.map((f) => `${f.service}: ${f.reason}`).join("; ");
|
|
396
|
+
const restartedNote = result.restarted.length > 0 ? ` (other services restarted: ${result.restarted.join(", ")})` : "";
|
|
397
|
+
operationResult = `Apply failed for ${result.failed.length} service(s): ${failures}${restartedNote}`;
|
|
398
|
+
operationResultType = "error";
|
|
399
|
+
} else if (!result.dockerAvailable) {
|
|
400
|
+
operationResult = "Config written, but Docker is unavailable — services were not restarted.";
|
|
401
|
+
operationResultType = "error";
|
|
402
|
+
} else {
|
|
403
|
+
operationResult = `Apply failed: ${result.error ?? "unknown error"}`;
|
|
404
|
+
operationResultType = "error";
|
|
405
|
+
}
|
|
406
|
+
} catch (e) {
|
|
407
|
+
const err = e;
|
|
408
|
+
if (err.status === 401) applyInvalidTokenState();
|
|
409
|
+
else {
|
|
410
|
+
operationResult = `Error applying changes: ${err.message ?? e}`;
|
|
411
|
+
operationResultType = "error";
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
applyLoading = false;
|
|
415
|
+
}
|
|
416
|
+
async function handleUpgradeStack() {
|
|
417
|
+
if (anyDangerousLoading()) return;
|
|
418
|
+
upgradeLoading = true;
|
|
419
|
+
try {
|
|
420
|
+
const result = await upgradeStack();
|
|
421
|
+
operationResult = `Upgrade complete (image: ${result.imageTag}). ${result.assetsUpdated.length} asset(s) updated, ${result.restarted.length} service(s) restarted.`;
|
|
422
|
+
operationResultType = "success";
|
|
423
|
+
} catch (e) {
|
|
424
|
+
const err = e;
|
|
425
|
+
if (err.status === 401) applyInvalidTokenState();
|
|
426
|
+
else {
|
|
427
|
+
operationResult = `Error upgrading stack: ${err.message ?? e}`;
|
|
428
|
+
operationResultType = "error";
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
upgradeLoading = false;
|
|
432
|
+
}
|
|
433
|
+
async function handleSetImageTag(tag) {
|
|
434
|
+
if (tagChangeLoading) return;
|
|
435
|
+
tagChangeLoading = true;
|
|
436
|
+
try {
|
|
437
|
+
const result = await setStackVersion(tag);
|
|
438
|
+
currentImageTag = result.imageTag;
|
|
439
|
+
selectedImageTag = result.imageTag;
|
|
440
|
+
operationResult = `Image tag set to ${result.imageTag}. Restarted: ${result.restarted.join(", ") || "none"}.`;
|
|
441
|
+
operationResultType = "success";
|
|
442
|
+
} catch (e) {
|
|
443
|
+
operationResult = `Failed to apply image tag: ${e.message ?? e}`;
|
|
444
|
+
operationResultType = "error";
|
|
445
|
+
}
|
|
446
|
+
tagChangeLoading = false;
|
|
447
|
+
}
|
|
448
|
+
async function handleDownloadUiVersion(tag) {
|
|
449
|
+
if (uiDownloadLoading) return;
|
|
450
|
+
uiDownloadLoading = true;
|
|
451
|
+
uiDownloadReady = false;
|
|
452
|
+
try {
|
|
453
|
+
await downloadUiVersion(tag);
|
|
454
|
+
selectedUiTag = tag;
|
|
455
|
+
uiDownloadReady = true;
|
|
456
|
+
} catch (e) {
|
|
457
|
+
operationResult = `Failed to download UI version: ${e.message ?? e}`;
|
|
458
|
+
operationResultType = "error";
|
|
459
|
+
}
|
|
460
|
+
uiDownloadLoading = false;
|
|
461
|
+
}
|
|
462
|
+
function handleRestartApp() {
|
|
463
|
+
window.openpalm?.restart?.();
|
|
464
|
+
}
|
|
465
|
+
head("1jef3w8", $$renderer, ($$renderer) => {
|
|
466
|
+
$$renderer.title(($$renderer) => {
|
|
467
|
+
$$renderer.push(`<title>OpenPalm Console</title>`);
|
|
468
|
+
});
|
|
469
|
+
});
|
|
470
|
+
if (authLocked) {
|
|
471
|
+
$$renderer.push("<!--[0-->");
|
|
472
|
+
AuthGate($$renderer, {
|
|
473
|
+
onSuccess: handleAuthSuccess,
|
|
474
|
+
loading: authLoading,
|
|
475
|
+
error: authError
|
|
476
|
+
});
|
|
477
|
+
} else {
|
|
478
|
+
$$renderer.push("<!--[-1-->");
|
|
479
|
+
Navbar($$renderer);
|
|
480
|
+
$$renderer.push(`<!----> <main class="svelte-1jef3w8">`);
|
|
481
|
+
TabBar($$renderer, {
|
|
482
|
+
active: activeTab});
|
|
483
|
+
$$renderer.push(`<!----> `);
|
|
484
|
+
{
|
|
485
|
+
$$renderer.push("<!--[0-->");
|
|
486
|
+
OverviewTab($$renderer, {
|
|
487
|
+
adminHealth,
|
|
488
|
+
operationResult,
|
|
489
|
+
operationResultType,
|
|
490
|
+
tokenStored: true,
|
|
491
|
+
healthLoading,
|
|
492
|
+
applyLoading,
|
|
493
|
+
upgradeLoading,
|
|
494
|
+
anyDangerousLoading: anyDangerousLoading(),
|
|
495
|
+
automationsData,
|
|
496
|
+
mergedServices: mergedServices(),
|
|
497
|
+
currentImageTag,
|
|
498
|
+
tagChangeLoading,
|
|
499
|
+
uiDownloadLoading,
|
|
500
|
+
uiDownloadReady,
|
|
501
|
+
inElectron,
|
|
502
|
+
selectedImageTag,
|
|
503
|
+
selectedUiTag,
|
|
504
|
+
releases,
|
|
505
|
+
releasesLoading,
|
|
506
|
+
onCheckHealth: loadHealth,
|
|
507
|
+
onApplyChanges: handleApplyChanges,
|
|
508
|
+
onUpgradeStack: handleUpgradeStack,
|
|
509
|
+
onDismissResult: () => {
|
|
510
|
+
operationResult = "";
|
|
511
|
+
operationResultType = "info";
|
|
512
|
+
},
|
|
513
|
+
onSetImageTag: handleSetImageTag,
|
|
514
|
+
onDownloadUiVersion: handleDownloadUiVersion,
|
|
515
|
+
onRestartApp: handleRestartApp,
|
|
516
|
+
onSelectedImageTagChange: (t) => {
|
|
517
|
+
selectedImageTag = t;
|
|
518
|
+
},
|
|
519
|
+
onSelectedUiTagChange: (t) => {
|
|
520
|
+
selectedUiTag = t;
|
|
521
|
+
}
|
|
522
|
+
});
|
|
523
|
+
}
|
|
524
|
+
$$renderer.push(`<!--]--> `);
|
|
525
|
+
$$renderer.push("<!--[-1-->");
|
|
526
|
+
$$renderer.push(`<!--]--></main>`);
|
|
527
|
+
}
|
|
528
|
+
$$renderer.push(`<!--]-->`);
|
|
529
|
+
});
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
export { _page as default };
|
|
533
|
+
//# sourceMappingURL=_page.svelte-BiKY57wg.js.map
|