@openpalm/ui 0.12.51 → 0.13.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/0.CNWpIzQn.css +1 -0
- package/build/client/_app/immutable/assets/0.CNWpIzQn.css.br +0 -0
- package/build/client/_app/immutable/assets/0.CNWpIzQn.css.gz +0 -0
- package/build/client/_app/immutable/assets/10.vLP66eby.css +1 -0
- package/build/client/_app/immutable/assets/10.vLP66eby.css.br +0 -0
- package/build/client/_app/immutable/assets/10.vLP66eby.css.gz +0 -0
- package/build/client/_app/immutable/assets/11.BF9IcRAW.css +1 -0
- package/build/client/_app/immutable/assets/11.BF9IcRAW.css.br +0 -0
- package/build/client/_app/immutable/assets/11.BF9IcRAW.css.gz +0 -0
- package/build/client/_app/immutable/assets/5.CTNuT1CQ.css +1 -0
- package/build/client/_app/immutable/assets/5.CTNuT1CQ.css.br +0 -0
- package/build/client/_app/immutable/assets/5.CTNuT1CQ.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.D_kTgQ70.css +1 -0
- package/build/client/_app/immutable/assets/6.D_kTgQ70.css.br +0 -0
- package/build/client/_app/immutable/assets/6.D_kTgQ70.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.CEu3B1cr.css +1 -0
- package/build/client/_app/immutable/assets/7.CEu3B1cr.css.br +0 -0
- package/build/client/_app/immutable/assets/7.CEu3B1cr.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.B0-fGtW-.css +1 -0
- package/build/client/_app/immutable/assets/9.B0-fGtW-.css.br +0 -0
- package/build/client/_app/immutable/assets/9.B0-fGtW-.css.gz +0 -0
- package/build/client/_app/immutable/assets/ChatNavbar.C7LJB8r7.css +1 -0
- package/build/client/_app/immutable/assets/ChatNavbar.C7LJB8r7.css.br +0 -0
- package/build/client/_app/immutable/assets/ChatNavbar.C7LJB8r7.css.gz +0 -0
- package/build/client/_app/immutable/assets/Drawer.C9zcL24P.css +1 -0
- package/build/client/_app/immutable/assets/Drawer.C9zcL24P.css.br +0 -0
- package/build/client/_app/immutable/assets/Drawer.C9zcL24P.css.gz +0 -0
- package/build/client/_app/immutable/assets/IconActivity.BdXOPwBm.css +1 -0
- package/build/client/_app/immutable/assets/IconActivity.BdXOPwBm.css.br +0 -0
- package/build/client/_app/immutable/assets/IconActivity.BdXOPwBm.css.gz +0 -0
- package/build/client/_app/immutable/assets/Spinner.DfNgj4dl.css +1 -0
- package/build/client/_app/immutable/assets/Spinner.DfNgj4dl.css.br +2 -0
- package/build/client/_app/immutable/assets/Spinner.DfNgj4dl.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BDK50g8a.js +1 -0
- package/build/client/_app/immutable/chunks/BDK50g8a.js.br +0 -0
- package/build/client/_app/immutable/chunks/BDK50g8a.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BLc6D58Y.js +3 -0
- package/build/client/_app/immutable/chunks/BLc6D58Y.js.br +0 -0
- package/build/client/_app/immutable/chunks/BLc6D58Y.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BMyudKzg.js +1 -0
- package/build/client/_app/immutable/chunks/BMyudKzg.js.br +0 -0
- package/build/client/_app/immutable/chunks/BMyudKzg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BNkLu9ey.js +3 -0
- package/build/client/_app/immutable/chunks/BNkLu9ey.js.br +0 -0
- package/build/client/_app/immutable/chunks/BNkLu9ey.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BkqRukKX.js +1 -0
- package/build/client/_app/immutable/chunks/BkqRukKX.js.br +2 -0
- package/build/client/_app/immutable/chunks/BkqRukKX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BzIvC31O.js +3 -0
- package/build/client/_app/immutable/chunks/BzIvC31O.js.br +0 -0
- package/build/client/_app/immutable/chunks/BzIvC31O.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CUa5ff3d.js +1 -0
- package/build/client/_app/immutable/chunks/CUa5ff3d.js.br +0 -0
- package/build/client/_app/immutable/chunks/CUa5ff3d.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CvItGqWG.js +1 -0
- package/build/client/_app/immutable/chunks/CvItGqWG.js.br +0 -0
- package/build/client/_app/immutable/chunks/CvItGqWG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D1nSxXur.js +5 -0
- package/build/client/_app/immutable/chunks/D1nSxXur.js.br +0 -0
- package/build/client/_app/immutable/chunks/D1nSxXur.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D5FtEngX.js +1 -0
- package/build/client/_app/immutable/chunks/D5FtEngX.js.br +0 -0
- package/build/client/_app/immutable/chunks/D5FtEngX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DIM-KrDw.js +1 -0
- package/build/client/_app/immutable/chunks/DIM-KrDw.js.br +0 -0
- package/build/client/_app/immutable/chunks/DIM-KrDw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Db8xkqW6.js +1 -0
- package/build/client/_app/immutable/chunks/Db8xkqW6.js.br +0 -0
- package/build/client/_app/immutable/chunks/Db8xkqW6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DfZbBavE.js +1 -0
- package/build/client/_app/immutable/chunks/DfZbBavE.js.br +1 -0
- package/build/client/_app/immutable/chunks/DfZbBavE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DmFbAjwW.js +1 -0
- package/build/client/_app/immutable/chunks/DmFbAjwW.js.br +3 -0
- package/build/client/_app/immutable/chunks/DmFbAjwW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/NR-JVJz-.js +1 -0
- package/build/client/_app/immutable/chunks/NR-JVJz-.js.br +0 -0
- package/build/client/_app/immutable/chunks/NR-JVJz-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/R6GPcDBF.js +14 -0
- package/build/client/_app/immutable/chunks/R6GPcDBF.js.br +0 -0
- package/build/client/_app/immutable/chunks/R6GPcDBF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/SXdvPq3_.js +1 -0
- package/build/client/_app/immutable/chunks/SXdvPq3_.js.br +0 -0
- package/build/client/_app/immutable/chunks/SXdvPq3_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/c0lkYAgh.js +5 -0
- package/build/client/_app/immutable/chunks/c0lkYAgh.js.br +0 -0
- package/build/client/_app/immutable/chunks/c0lkYAgh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/hSjQday7.js +1 -0
- package/build/client/_app/immutable/chunks/hSjQday7.js.br +0 -0
- package/build/client/_app/immutable/chunks/hSjQday7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/mG6HnNbi.js +1 -0
- package/build/client/_app/immutable/chunks/mG6HnNbi.js.br +0 -0
- package/build/client/_app/immutable/chunks/mG6HnNbi.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.ByeYK7_P.js +2 -0
- package/build/client/_app/immutable/entry/app.ByeYK7_P.js.br +0 -0
- package/build/client/_app/immutable/entry/app.ByeYK7_P.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.kykyp6T0.js +1 -0
- package/build/client/_app/immutable/entry/start.kykyp6T0.js.br +1 -0
- package/build/client/_app/immutable/entry/start.kykyp6T0.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.CLEDwEKf.js +1 -0
- package/build/client/_app/immutable/nodes/0.CLEDwEKf.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.CLEDwEKf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DOwkg43h.js +1 -0
- package/build/client/_app/immutable/nodes/1.DOwkg43h.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DOwkg43h.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.Cs6atPP0.js +1 -0
- package/build/client/_app/immutable/nodes/10.Cs6atPP0.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.Cs6atPP0.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.D1ux0xRH.js +6 -0
- package/build/client/_app/immutable/nodes/11.D1ux0xRH.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.D1ux0xRH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.C-PzaHZx.js +1 -0
- package/build/client/_app/immutable/nodes/2.C-PzaHZx.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.C-PzaHZx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.26Z_fr6N.js +1 -0
- package/build/client/_app/immutable/nodes/3.26Z_fr6N.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.26Z_fr6N.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.vRThg0Ke.js +1 -0
- package/build/client/_app/immutable/nodes/4.vRThg0Ke.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.vRThg0Ke.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.y3u2P8a-.js +2 -0
- package/build/client/_app/immutable/nodes/5.y3u2P8a-.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.y3u2P8a-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.Vtev5Cm4.js +2 -0
- package/build/client/_app/immutable/nodes/6.Vtev5Cm4.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Vtev5Cm4.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.DQ9bZrdN.js +4 -0
- package/build/client/_app/immutable/nodes/7.DQ9bZrdN.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DQ9bZrdN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.NHp_bSVx.js +1 -0
- package/build/client/_app/immutable/nodes/8.NHp_bSVx.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.NHp_bSVx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.2IPaJ-1P.js +126 -0
- package/build/client/_app/immutable/nodes/9.2IPaJ-1P.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.2IPaJ-1P.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -2
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/0-D6JYWBmc.js +43 -0
- package/build/server/chunks/0-D6JYWBmc.js.map +1 -0
- package/build/server/chunks/1-QFaO6yhK.js +9 -0
- package/build/server/chunks/1-QFaO6yhK.js.map +1 -0
- package/build/server/chunks/10-BHQuL7xa.js +35 -0
- package/build/server/chunks/10-BHQuL7xa.js.map +1 -0
- package/build/server/chunks/11-nYH7HWHs.js +9 -0
- package/build/server/chunks/11-nYH7HWHs.js.map +1 -0
- package/build/server/chunks/2-CQSBaE_w.js +9 -0
- package/build/server/chunks/2-CQSBaE_w.js.map +1 -0
- package/build/server/chunks/3-DflhJGSw.js +58 -0
- package/build/server/chunks/3-DflhJGSw.js.map +1 -0
- package/build/server/chunks/4-dgm3mFwb.js +9 -0
- package/build/server/chunks/4-dgm3mFwb.js.map +1 -0
- package/build/server/chunks/5-_ostMB1h.js +9 -0
- package/build/server/chunks/5-_ostMB1h.js.map +1 -0
- package/build/server/chunks/6-Bz787Ixu.js +9 -0
- package/build/server/chunks/6-Bz787Ixu.js.map +1 -0
- package/build/server/chunks/7-Cs4tQiJY.js +9 -0
- package/build/server/chunks/7-Cs4tQiJY.js.map +1 -0
- package/build/server/chunks/8-DiHmrGkL.js +30 -0
- package/build/server/chunks/8-DiHmrGkL.js.map +1 -0
- package/build/server/chunks/9-DPtmsJHR.js +42 -0
- package/build/server/chunks/9-DPtmsJHR.js.map +1 -0
- package/build/server/chunks/ChatNavbar-ZxJwQIGL.js +243 -0
- package/build/server/chunks/ChatNavbar-ZxJwQIGL.js.map +1 -0
- package/build/server/chunks/IconActivity-BVrMC8FH.js +5486 -0
- package/build/server/chunks/IconActivity-BVrMC8FH.js.map +1 -0
- package/build/server/chunks/IconAgent-DeBWj6Gr.js +16 -0
- package/build/server/chunks/IconAgent-DeBWj6Gr.js.map +1 -0
- package/build/server/chunks/IconDone-CHBJ36xT.js +10 -0
- package/build/server/chunks/IconDone-CHBJ36xT.js.map +1 -0
- package/build/server/chunks/IconInfo-DA5uGQyP.js +10 -0
- package/build/server/chunks/IconInfo-DA5uGQyP.js.map +1 -0
- package/build/server/chunks/IconLock-Bz5zHCBQ.js +10 -0
- package/build/server/chunks/IconLock-Bz5zHCBQ.js.map +1 -0
- package/build/server/chunks/IconLogo-BRmPVDI_.js +10 -0
- package/build/server/chunks/IconLogo-BRmPVDI_.js.map +1 -0
- package/build/server/chunks/IconMic-BbjkE_nG.js +18 -0
- package/build/server/chunks/IconMic-BbjkE_nG.js.map +1 -0
- package/build/server/chunks/IconServer-ByAeszv0.js +180 -0
- package/build/server/chunks/IconServer-ByAeszv0.js.map +1 -0
- package/build/server/chunks/IconStop-DFbhUtaJ.js +1122 -0
- package/build/server/chunks/IconStop-DFbhUtaJ.js.map +1 -0
- package/build/server/chunks/_helpers-CafYq-UD.js +74 -0
- package/build/server/chunks/_helpers-CafYq-UD.js.map +1 -0
- package/build/server/chunks/_layout.svelte-DFMW9sdO.js +65 -0
- package/build/server/chunks/_layout.svelte-DFMW9sdO.js.map +1 -0
- package/build/server/chunks/_page.svelte-BLGF_oAz.js +92 -0
- package/build/server/chunks/_page.svelte-BLGF_oAz.js.map +1 -0
- package/build/server/chunks/_page.svelte-CKJNzmVG.js +530 -0
- package/build/server/chunks/_page.svelte-CKJNzmVG.js.map +1 -0
- package/build/server/chunks/_page.svelte-CborsVrn.js +2425 -0
- package/build/server/chunks/_page.svelte-CborsVrn.js.map +1 -0
- package/build/server/chunks/_page.svelte-CknIT-b6.js +24 -0
- package/build/server/chunks/_page.svelte-CknIT-b6.js.map +1 -0
- package/build/server/chunks/_page.svelte-Cz3JYioD.js +82 -0
- package/build/server/chunks/_page.svelte-Cz3JYioD.js.map +1 -0
- package/build/server/chunks/_page.svelte-DDFJprLE.js +47 -0
- package/build/server/chunks/_page.svelte-DDFJprLE.js.map +1 -0
- package/build/server/chunks/_page.svelte-DojSR6TL.js +3500 -0
- package/build/server/chunks/_page.svelte-DojSR6TL.js.map +1 -0
- package/build/server/chunks/_page.svelte-Du3fWBth.js +5 -0
- package/build/server/chunks/_page.svelte-Du3fWBth.js.map +1 -0
- package/build/server/chunks/_server.ts-1VKTjr08.js +71 -0
- package/build/server/chunks/_server.ts-1VKTjr08.js.map +1 -0
- package/build/server/chunks/_server.ts-1Vco45Qu.js +58 -0
- package/build/server/chunks/_server.ts-1Vco45Qu.js.map +1 -0
- package/build/server/chunks/_server.ts-4SFWMa3H.js +49 -0
- package/build/server/chunks/_server.ts-4SFWMa3H.js.map +1 -0
- package/build/server/chunks/_server.ts-4eT-crTl.js +66 -0
- package/build/server/chunks/_server.ts-4eT-crTl.js.map +1 -0
- package/build/server/chunks/_server.ts-9TnX_Hfn.js +41 -0
- package/build/server/chunks/_server.ts-9TnX_Hfn.js.map +1 -0
- package/build/server/chunks/_server.ts-B0jGXHG1.js +38 -0
- package/build/server/chunks/_server.ts-B0jGXHG1.js.map +1 -0
- package/build/server/chunks/_server.ts-B46NQmKl.js +45 -0
- package/build/server/chunks/_server.ts-B46NQmKl.js.map +1 -0
- package/build/server/chunks/_server.ts-B7jtS1rc.js +42 -0
- package/build/server/chunks/_server.ts-B7jtS1rc.js.map +1 -0
- package/build/server/chunks/_server.ts-B8p1cZWN.js +77 -0
- package/build/server/chunks/_server.ts-B8p1cZWN.js.map +1 -0
- package/build/server/chunks/_server.ts-B9GH6f46.js +45 -0
- package/build/server/chunks/_server.ts-B9GH6f46.js.map +1 -0
- package/build/server/chunks/_server.ts-BFOoXmaJ.js +88 -0
- package/build/server/chunks/_server.ts-BFOoXmaJ.js.map +1 -0
- package/build/server/chunks/_server.ts-BG50sNod.js +94 -0
- package/build/server/chunks/_server.ts-BG50sNod.js.map +1 -0
- package/build/server/chunks/_server.ts-BG89__4Y.js +48 -0
- package/build/server/chunks/_server.ts-BG89__4Y.js.map +1 -0
- package/build/server/chunks/_server.ts-BI2IrCte.js +44 -0
- package/build/server/chunks/_server.ts-BI2IrCte.js.map +1 -0
- package/build/server/chunks/_server.ts-BLxV2y7p.js +70 -0
- package/build/server/chunks/_server.ts-BLxV2y7p.js.map +1 -0
- package/build/server/chunks/_server.ts-BRiu2AFG.js +89 -0
- package/build/server/chunks/_server.ts-BRiu2AFG.js.map +1 -0
- package/build/server/chunks/_server.ts-BUE0dmBz.js +58 -0
- package/build/server/chunks/_server.ts-BUE0dmBz.js.map +1 -0
- package/build/server/chunks/_server.ts-BV6i7XBr.js +92 -0
- package/build/server/chunks/_server.ts-BV6i7XBr.js.map +1 -0
- package/build/server/chunks/_server.ts-BYUzlpfe.js +172 -0
- package/build/server/chunks/_server.ts-BYUzlpfe.js.map +1 -0
- package/build/server/chunks/_server.ts-B_R9VtOW.js +152 -0
- package/build/server/chunks/_server.ts-B_R9VtOW.js.map +1 -0
- package/build/server/chunks/_server.ts-Bbtu4jaC.js +205 -0
- package/build/server/chunks/_server.ts-Bbtu4jaC.js.map +1 -0
- package/build/server/chunks/_server.ts-BeCTOV2T.js +57 -0
- package/build/server/chunks/_server.ts-BeCTOV2T.js.map +1 -0
- package/build/server/chunks/_server.ts-Bfkzx4ao.js +248 -0
- package/build/server/chunks/_server.ts-Bfkzx4ao.js.map +1 -0
- package/build/server/chunks/_server.ts-Bj17GHeW.js +44 -0
- package/build/server/chunks/_server.ts-Bj17GHeW.js.map +1 -0
- package/build/server/chunks/_server.ts-BjEVNsPT.js +50 -0
- package/build/server/chunks/_server.ts-BjEVNsPT.js.map +1 -0
- package/build/server/chunks/_server.ts-Bu-Ie_Mc.js +96 -0
- package/build/server/chunks/_server.ts-Bu-Ie_Mc.js.map +1 -0
- package/build/server/chunks/_server.ts-BvwD-tU2.js +49 -0
- package/build/server/chunks/_server.ts-BvwD-tU2.js.map +1 -0
- package/build/server/chunks/_server.ts-C0Zlu5Xy.js +107 -0
- package/build/server/chunks/_server.ts-C0Zlu5Xy.js.map +1 -0
- package/build/server/chunks/_server.ts-C1k-QptM.js +68 -0
- package/build/server/chunks/_server.ts-C1k-QptM.js.map +1 -0
- package/build/server/chunks/_server.ts-C43E5b3d.js +521 -0
- package/build/server/chunks/_server.ts-C43E5b3d.js.map +1 -0
- package/build/server/chunks/_server.ts-C5NMGLvR.js +68 -0
- package/build/server/chunks/_server.ts-C5NMGLvR.js.map +1 -0
- package/build/server/chunks/_server.ts-C7uAOfo3.js +94 -0
- package/build/server/chunks/_server.ts-C7uAOfo3.js.map +1 -0
- package/build/server/chunks/_server.ts-C7wn5VUY.js +111 -0
- package/build/server/chunks/_server.ts-C7wn5VUY.js.map +1 -0
- package/build/server/chunks/_server.ts-CFz_IeN4.js +56 -0
- package/build/server/chunks/_server.ts-CFz_IeN4.js.map +1 -0
- package/build/server/chunks/_server.ts-CHuyT9rF.js +69 -0
- package/build/server/chunks/_server.ts-CHuyT9rF.js.map +1 -0
- package/build/server/chunks/_server.ts-CKcFu8B-.js +171 -0
- package/build/server/chunks/_server.ts-CKcFu8B-.js.map +1 -0
- package/build/server/chunks/_server.ts-CMwOXeFC.js +80 -0
- package/build/server/chunks/_server.ts-CMwOXeFC.js.map +1 -0
- package/build/server/chunks/_server.ts-CP02aPdv.js +64 -0
- package/build/server/chunks/_server.ts-CP02aPdv.js.map +1 -0
- package/build/server/chunks/_server.ts-CQIXn8xb.js +64 -0
- package/build/server/chunks/_server.ts-CQIXn8xb.js.map +1 -0
- package/build/server/chunks/_server.ts-CTKwaXm1.js +93 -0
- package/build/server/chunks/_server.ts-CTKwaXm1.js.map +1 -0
- package/build/server/chunks/_server.ts-CUPbFKq2.js +106 -0
- package/build/server/chunks/_server.ts-CUPbFKq2.js.map +1 -0
- package/build/server/chunks/_server.ts-CXt9azl0.js +105 -0
- package/build/server/chunks/_server.ts-CXt9azl0.js.map +1 -0
- package/build/server/chunks/_server.ts-CYY3W2qh.js +715 -0
- package/build/server/chunks/_server.ts-CYY3W2qh.js.map +1 -0
- package/build/server/chunks/_server.ts-C_qRsJI2.js +68 -0
- package/build/server/chunks/_server.ts-C_qRsJI2.js.map +1 -0
- package/build/server/chunks/_server.ts-CbkJG3Yk.js +72 -0
- package/build/server/chunks/_server.ts-CbkJG3Yk.js.map +1 -0
- package/build/server/chunks/_server.ts-Cg_4-N8w.js +34 -0
- package/build/server/chunks/_server.ts-Cg_4-N8w.js.map +1 -0
- package/build/server/chunks/_server.ts-Chf0EFLa.js +60 -0
- package/build/server/chunks/_server.ts-Chf0EFLa.js.map +1 -0
- package/build/server/chunks/_server.ts-Ci1n4eQ3.js +52 -0
- package/build/server/chunks/_server.ts-Ci1n4eQ3.js.map +1 -0
- package/build/server/chunks/_server.ts-ClO4pSRG.js +51 -0
- package/build/server/chunks/_server.ts-ClO4pSRG.js.map +1 -0
- package/build/server/chunks/_server.ts-Cp6d9DIG.js +103 -0
- package/build/server/chunks/_server.ts-Cp6d9DIG.js.map +1 -0
- package/build/server/chunks/_server.ts-CtiJiKFW.js +58 -0
- package/build/server/chunks/_server.ts-CtiJiKFW.js.map +1 -0
- package/build/server/chunks/_server.ts-CtsLQpY2.js +19 -0
- package/build/server/chunks/_server.ts-CtsLQpY2.js.map +1 -0
- package/build/server/chunks/_server.ts-CyzJdUdD.js +88 -0
- package/build/server/chunks/_server.ts-CyzJdUdD.js.map +1 -0
- package/build/server/chunks/_server.ts-D1mP7Ux6.js +173 -0
- package/build/server/chunks/_server.ts-D1mP7Ux6.js.map +1 -0
- package/build/server/chunks/_server.ts-D2dBUHv-.js +61 -0
- package/build/server/chunks/_server.ts-D2dBUHv-.js.map +1 -0
- package/build/server/chunks/_server.ts-D81J9NzU.js +44 -0
- package/build/server/chunks/_server.ts-D81J9NzU.js.map +1 -0
- package/build/server/chunks/_server.ts-DJFB76Z4.js +36 -0
- package/build/server/chunks/_server.ts-DJFB76Z4.js.map +1 -0
- package/build/server/chunks/_server.ts-DJxUVpVr.js +55 -0
- package/build/server/chunks/_server.ts-DJxUVpVr.js.map +1 -0
- package/build/server/chunks/_server.ts-DK409rto.js +45 -0
- package/build/server/chunks/_server.ts-DK409rto.js.map +1 -0
- package/build/server/chunks/_server.ts-DPw-9Fvz.js +88 -0
- package/build/server/chunks/_server.ts-DPw-9Fvz.js.map +1 -0
- package/build/server/chunks/_server.ts-DTOMs2Oo.js +57 -0
- package/build/server/chunks/_server.ts-DTOMs2Oo.js.map +1 -0
- package/build/server/chunks/_server.ts-DVXK2VD6.js +60 -0
- package/build/server/chunks/_server.ts-DVXK2VD6.js.map +1 -0
- package/build/server/chunks/_server.ts-DW3mRh_v.js +72 -0
- package/build/server/chunks/_server.ts-DW3mRh_v.js.map +1 -0
- package/build/server/chunks/_server.ts-Db2X5ulY.js +41 -0
- package/build/server/chunks/_server.ts-Db2X5ulY.js.map +1 -0
- package/build/server/chunks/_server.ts-DhfQc2ah.js +134 -0
- package/build/server/chunks/_server.ts-DhfQc2ah.js.map +1 -0
- package/build/server/chunks/_server.ts-DjFDthjg.js +44 -0
- package/build/server/chunks/_server.ts-DjFDthjg.js.map +1 -0
- package/build/server/chunks/_server.ts-Dk7RL-D7.js +61 -0
- package/build/server/chunks/_server.ts-Dk7RL-D7.js.map +1 -0
- package/build/server/chunks/_server.ts-DrHEkbDq.js +84 -0
- package/build/server/chunks/_server.ts-DrHEkbDq.js.map +1 -0
- package/build/server/chunks/_server.ts-DvKpBV-Y.js +42 -0
- package/build/server/chunks/_server.ts-DvKpBV-Y.js.map +1 -0
- package/build/server/chunks/_server.ts-FhE6fUSD.js +40 -0
- package/build/server/chunks/_server.ts-FhE6fUSD.js.map +1 -0
- package/build/server/chunks/_server.ts-GuptvcVQ.js +49 -0
- package/build/server/chunks/_server.ts-GuptvcVQ.js.map +1 -0
- package/build/server/chunks/_server.ts-HN1FxysS.js +68 -0
- package/build/server/chunks/_server.ts-HN1FxysS.js.map +1 -0
- package/build/server/chunks/_server.ts-HlB5nMY9.js +149 -0
- package/build/server/chunks/_server.ts-HlB5nMY9.js.map +1 -0
- package/build/server/chunks/_server.ts-MvwnQkPT.js +49 -0
- package/build/server/chunks/_server.ts-MvwnQkPT.js.map +1 -0
- package/build/server/chunks/_server.ts-Q1zB1kiD.js +87 -0
- package/build/server/chunks/_server.ts-Q1zB1kiD.js.map +1 -0
- package/build/server/chunks/_server.ts-Rv6Qmjnm.js +65 -0
- package/build/server/chunks/_server.ts-Rv6Qmjnm.js.map +1 -0
- package/build/server/chunks/_server.ts-S90K5IJI.js +57 -0
- package/build/server/chunks/_server.ts-S90K5IJI.js.map +1 -0
- package/build/server/chunks/_server.ts-Y4JoeA12.js +141 -0
- package/build/server/chunks/_server.ts-Y4JoeA12.js.map +1 -0
- package/build/server/chunks/_server.ts-at5EQV31.js +162 -0
- package/build/server/chunks/_server.ts-at5EQV31.js.map +1 -0
- package/build/server/chunks/_server.ts-c64R3qMS.js +112 -0
- package/build/server/chunks/_server.ts-c64R3qMS.js.map +1 -0
- package/build/server/chunks/_server.ts-nasuSdo-.js +80 -0
- package/build/server/chunks/_server.ts-nasuSdo-.js.map +1 -0
- package/build/server/chunks/_server.ts-rPbq-4rb.js +87 -0
- package/build/server/chunks/_server.ts-rPbq-4rb.js.map +1 -0
- package/build/server/chunks/_server.ts-tchYVZRL.js +166 -0
- package/build/server/chunks/_server.ts-tchYVZRL.js.map +1 -0
- package/build/server/chunks/_server.ts-uqxkiRQ1.js +38 -0
- package/build/server/chunks/_server.ts-uqxkiRQ1.js.map +1 -0
- package/build/server/chunks/_server.ts-y3HSMNEG.js +56 -0
- package/build/server/chunks/_server.ts-y3HSMNEG.js.map +1 -0
- package/build/server/chunks/_server.ts-y7XlQItn.js +58 -0
- package/build/server/chunks/_server.ts-y7XlQItn.js.map +1 -0
- package/build/server/chunks/addon-helpers-Cpj40OF3.js +51 -0
- package/build/server/chunks/addon-helpers-Cpj40OF3.js.map +1 -0
- package/build/server/chunks/akm-D8uSJNzt.js +151 -0
- package/build/server/chunks/akm-D8uSJNzt.js.map +1 -0
- package/build/server/chunks/catalog-C9ClLZ62.js +217 -0
- package/build/server/chunks/catalog-C9ClLZ62.js.map +1 -0
- package/build/server/chunks/client-utk4T8Jl.js +202 -0
- package/build/server/chunks/client-utk4T8Jl.js.map +1 -0
- package/build/server/chunks/compose-args2-cix5m26E.js +26 -0
- package/build/server/chunks/compose-args2-cix5m26E.js.map +1 -0
- package/build/server/chunks/config-BV78mCrh.js +121 -0
- package/build/server/chunks/config-BV78mCrh.js.map +1 -0
- package/build/server/chunks/connections-api-CpQ5k7QC.js +34 -0
- package/build/server/chunks/connections-api-CpQ5k7QC.js.map +1 -0
- package/build/server/chunks/constants-B7J5DDaI.js +298 -0
- package/build/server/chunks/constants-B7J5DDaI.js.map +1 -0
- package/build/server/chunks/docker2-DqIy9JYf.js +26 -0
- package/build/server/chunks/docker2-DqIy9JYf.js.map +1 -0
- package/build/server/chunks/docker3-DvrSgFLt.js +20 -0
- package/build/server/chunks/docker3-DvrSgFLt.js.map +1 -0
- package/build/server/chunks/endpoints-CU3ehglV.js +377 -0
- package/build/server/chunks/endpoints-CU3ehglV.js.map +1 -0
- package/build/server/chunks/environment-BYp8JQYM.js +38 -0
- package/build/server/chunks/environment-BYp8JQYM.js.map +1 -0
- package/build/server/chunks/error.svelte-B9DQG_Wh.js +18 -0
- package/build/server/chunks/error.svelte-B9DQG_Wh.js.map +1 -0
- package/build/server/chunks/exports-CcmcYU0M.js +124 -0
- package/build/server/chunks/exports-CcmcYU0M.js.map +1 -0
- package/build/server/chunks/exports2-BjzhbhYA.js +691 -0
- package/build/server/chunks/exports2-BjzhbhYA.js.map +1 -0
- package/build/server/chunks/features-DLGlNjZX.js +116 -0
- package/build/server/chunks/features-DLGlNjZX.js.map +1 -0
- package/build/server/chunks/format-date-gcou_Av8.js +950 -0
- package/build/server/chunks/format-date-gcou_Av8.js.map +1 -0
- package/build/server/chunks/helpers-7BvhniSt.js +320 -0
- package/build/server/chunks/helpers-7BvhniSt.js.map +1 -0
- package/build/server/chunks/hooks.server-CwIkB_d8.js +115 -0
- package/build/server/chunks/hooks.server-CwIkB_d8.js.map +1 -0
- package/build/server/chunks/http-D0qKwTqb.js +31 -0
- package/build/server/chunks/http-D0qKwTqb.js.map +1 -0
- package/build/server/chunks/internal-CVxYC2gp.js +915 -0
- package/build/server/chunks/internal-CVxYC2gp.js.map +1 -0
- package/build/server/chunks/landing-BAWznbys.js +95 -0
- package/build/server/chunks/landing-BAWznbys.js.map +1 -0
- package/build/server/chunks/paths-lkOb-n87.js +17 -0
- package/build/server/chunks/paths-lkOb-n87.js.map +1 -0
- package/build/server/chunks/provider-constants-1s1k8kbj.js +68 -0
- package/build/server/chunks/provider-constants-1s1k8kbj.js.map +1 -0
- package/build/server/chunks/runtime-context.svelte-FZapSP7A.js +24 -0
- package/build/server/chunks/runtime-context.svelte-FZapSP7A.js.map +1 -0
- package/build/server/chunks/session-cookie-WuIYBiMY.js +74 -0
- package/build/server/chunks/session-cookie-WuIYBiMY.js.map +1 -0
- package/build/server/chunks/setup-deploy-DaMn6d6g.js +75 -0
- package/build/server/chunks/setup-deploy-DaMn6d6g.js.map +1 -0
- package/build/server/chunks/speakable-text-BflxDDdY.js +65 -0
- package/build/server/chunks/speakable-text-BflxDDdY.js.map +1 -0
- package/build/server/chunks/src-CS2sSYOR.js +17213 -0
- package/build/server/chunks/src-CS2sSYOR.js.map +1 -0
- package/build/server/chunks/state-BRh7vs9j.js +24 -0
- package/build/server/chunks/state-BRh7vs9j.js.map +1 -0
- package/build/server/chunks/state2-COVNCCTq.js +62 -0
- package/build/server/chunks/state2-COVNCCTq.js.map +1 -0
- package/build/server/chunks/utils-OXHIhUb5.js +150 -0
- package/build/server/chunks/utils-OXHIhUb5.js.map +1 -0
- package/build/server/chunks/voice-state.svelte-bOoc1Vo0.js +1214 -0
- package/build/server/chunks/voice-state.svelte-bOoc1Vo0.js.map +1 -0
- package/build/server/index.js +33 -33
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +272 -243
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -2
- package/build/client/_app/immutable/assets/0.C-UsFwN5.css +0 -1
- package/build/client/_app/immutable/assets/0.C-UsFwN5.css.br +0 -0
- package/build/client/_app/immutable/assets/0.C-UsFwN5.css.gz +0 -0
- package/build/client/_app/immutable/assets/10.p7qpuBHR.css +0 -1
- package/build/client/_app/immutable/assets/10.p7qpuBHR.css.br +0 -2
- package/build/client/_app/immutable/assets/10.p7qpuBHR.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.DKS7ivN-.css +0 -1
- package/build/client/_app/immutable/assets/4.DKS7ivN-.css.br +0 -0
- package/build/client/_app/immutable/assets/4.DKS7ivN-.css.gz +0 -0
- package/build/client/_app/immutable/assets/5.B9kVBENv.css +0 -1
- package/build/client/_app/immutable/assets/5.B9kVBENv.css.br +0 -0
- package/build/client/_app/immutable/assets/5.B9kVBENv.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.C0_Oskm7.css +0 -1
- package/build/client/_app/immutable/assets/7.C0_Oskm7.css.br +0 -0
- package/build/client/_app/immutable/assets/7.C0_Oskm7.css.gz +0 -0
- package/build/client/_app/immutable/assets/8.DdhLOSFx.css +0 -1
- package/build/client/_app/immutable/assets/8.DdhLOSFx.css.br +0 -0
- package/build/client/_app/immutable/assets/8.DdhLOSFx.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.4QFZFijM.css +0 -1
- package/build/client/_app/immutable/assets/9.4QFZFijM.css.br +0 -0
- package/build/client/_app/immutable/assets/9.4QFZFijM.css.gz +0 -0
- package/build/client/_app/immutable/assets/IconClock.CudG-UM6.css +0 -1
- package/build/client/_app/immutable/assets/IconClock.CudG-UM6.css.br +0 -0
- package/build/client/_app/immutable/assets/IconClock.CudG-UM6.css.gz +0 -0
- package/build/client/_app/immutable/assets/Navbar.D3rckLpW.css +0 -1
- package/build/client/_app/immutable/assets/Navbar.D3rckLpW.css.br +0 -0
- package/build/client/_app/immutable/assets/Navbar.D3rckLpW.css.gz +0 -0
- package/build/client/_app/immutable/assets/Spinner.CCwieGti.css +0 -1
- package/build/client/_app/immutable/assets/Spinner.CCwieGti.css.br +0 -0
- package/build/client/_app/immutable/assets/Spinner.CCwieGti.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B6a5LPQe.js +0 -3
- package/build/client/_app/immutable/chunks/B6a5LPQe.js.br +0 -0
- package/build/client/_app/immutable/chunks/B6a5LPQe.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BFVV1YJb.js +0 -1
- package/build/client/_app/immutable/chunks/BFVV1YJb.js.br +0 -0
- package/build/client/_app/immutable/chunks/BFVV1YJb.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BeDFZ0w6.js +0 -1
- package/build/client/_app/immutable/chunks/BeDFZ0w6.js.br +0 -0
- package/build/client/_app/immutable/chunks/BeDFZ0w6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BiuKIdz2.js +0 -1
- package/build/client/_app/immutable/chunks/BiuKIdz2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BiuKIdz2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C3n4za32.js +0 -1
- package/build/client/_app/immutable/chunks/C3n4za32.js.br +0 -0
- package/build/client/_app/immutable/chunks/C3n4za32.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C4j7gGnm.js +0 -14
- package/build/client/_app/immutable/chunks/C4j7gGnm.js.br +0 -0
- package/build/client/_app/immutable/chunks/C4j7gGnm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C8Qdq8nY.js +0 -1
- package/build/client/_app/immutable/chunks/C8Qdq8nY.js.br +0 -0
- package/build/client/_app/immutable/chunks/C8Qdq8nY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DI0CI0UJ.js +0 -1
- package/build/client/_app/immutable/chunks/DI0CI0UJ.js.br +0 -2
- package/build/client/_app/immutable/chunks/DI0CI0UJ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DOah_AX9.js +0 -1
- package/build/client/_app/immutable/chunks/DOah_AX9.js.br +0 -2
- package/build/client/_app/immutable/chunks/DOah_AX9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DS38YEEh.js +0 -3
- package/build/client/_app/immutable/chunks/DS38YEEh.js.br +0 -0
- package/build/client/_app/immutable/chunks/DS38YEEh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DWwJdNrB.js +0 -1
- package/build/client/_app/immutable/chunks/DWwJdNrB.js.br +0 -1
- package/build/client/_app/immutable/chunks/DWwJdNrB.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DoqDEOzg.js +0 -1
- package/build/client/_app/immutable/chunks/DoqDEOzg.js.br +0 -0
- package/build/client/_app/immutable/chunks/DoqDEOzg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/HbvxHNCX.js +0 -1
- package/build/client/_app/immutable/chunks/HbvxHNCX.js.br +0 -0
- package/build/client/_app/immutable/chunks/HbvxHNCX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/d5pHSbNd.js +0 -1
- package/build/client/_app/immutable/chunks/d5pHSbNd.js.br +0 -0
- package/build/client/_app/immutable/chunks/d5pHSbNd.js.gz +0 -0
- package/build/client/_app/immutable/chunks/jopA0ZFl.js +0 -1
- package/build/client/_app/immutable/chunks/jopA0ZFl.js.br +0 -0
- package/build/client/_app/immutable/chunks/jopA0ZFl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/mVxTG_mC.js +0 -1
- package/build/client/_app/immutable/chunks/mVxTG_mC.js.br +0 -3
- package/build/client/_app/immutable/chunks/mVxTG_mC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/p-DX0ixp.js +0 -5
- package/build/client/_app/immutable/chunks/p-DX0ixp.js.br +0 -0
- package/build/client/_app/immutable/chunks/p-DX0ixp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/zMaWNBEE.js +0 -1
- package/build/client/_app/immutable/chunks/zMaWNBEE.js.br +0 -0
- package/build/client/_app/immutable/chunks/zMaWNBEE.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DehYJGqJ.js +0 -2
- package/build/client/_app/immutable/entry/app.DehYJGqJ.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DehYJGqJ.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.wiUeco_y.js +0 -1
- package/build/client/_app/immutable/entry/start.wiUeco_y.js.br +0 -0
- package/build/client/_app/immutable/entry/start.wiUeco_y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.Cnp9ux9m.js +0 -1
- package/build/client/_app/immutable/nodes/0.Cnp9ux9m.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Cnp9ux9m.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BemXOvxs.js +0 -1
- package/build/client/_app/immutable/nodes/1.BemXOvxs.js.br +0 -1
- package/build/client/_app/immutable/nodes/1.BemXOvxs.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.ZllEmpUV.js +0 -1
- package/build/client/_app/immutable/nodes/10.ZllEmpUV.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.ZllEmpUV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.Di1bEoG2.js +0 -1
- package/build/client/_app/immutable/nodes/2.Di1bEoG2.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.Di1bEoG2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.DNLsgB0V.js +0 -1
- package/build/client/_app/immutable/nodes/3.DNLsgB0V.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DNLsgB0V.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DYNAraCN.js +0 -124
- package/build/client/_app/immutable/nodes/4.DYNAraCN.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DYNAraCN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CKpwzpJZ.js +0 -4
- package/build/client/_app/immutable/nodes/5.CKpwzpJZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CKpwzpJZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.D5-ZIRjO.js +0 -1
- package/build/client/_app/immutable/nodes/6.D5-ZIRjO.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.D5-ZIRjO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BvOE8CuZ.js +0 -2
- package/build/client/_app/immutable/nodes/7.BvOE8CuZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BvOE8CuZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.BBUAt98J.js +0 -1
- package/build/client/_app/immutable/nodes/8.BBUAt98J.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.BBUAt98J.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DOXxvfJX.js +0 -6
- package/build/client/_app/immutable/nodes/9.DOXxvfJX.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DOXxvfJX.js.gz +0 -0
- package/build/server/chunks/0-Cgrn5hhk.js +0 -22
- package/build/server/chunks/0-Cgrn5hhk.js.map +0 -1
- package/build/server/chunks/1-CZn9SJHY.js +0 -9
- package/build/server/chunks/1-CZn9SJHY.js.map +0 -1
- package/build/server/chunks/10-CtFpKzhY.js +0 -69
- package/build/server/chunks/10-CtFpKzhY.js.map +0 -1
- package/build/server/chunks/2-BcxV9Utx.js +0 -9
- package/build/server/chunks/2-BcxV9Utx.js.map +0 -1
- package/build/server/chunks/3-EodZ49YI.js +0 -23
- package/build/server/chunks/3-EodZ49YI.js.map +0 -1
- package/build/server/chunks/4-BFceMUCr.js +0 -9
- package/build/server/chunks/4-BFceMUCr.js.map +0 -1
- package/build/server/chunks/5-DMSVfHW6.js +0 -9
- package/build/server/chunks/5-DMSVfHW6.js.map +0 -1
- package/build/server/chunks/6-DfKN8DgI.js +0 -9
- package/build/server/chunks/6-DfKN8DgI.js.map +0 -1
- package/build/server/chunks/7-DH54977X.js +0 -9
- package/build/server/chunks/7-DH54977X.js.map +0 -1
- package/build/server/chunks/8-DU3RlvqB.js +0 -35
- package/build/server/chunks/8-DU3RlvqB.js.map +0 -1
- package/build/server/chunks/9-CJj3CrWs.js +0 -9
- package/build/server/chunks/9-CJj3CrWs.js.map +0 -1
- package/build/server/chunks/IconAlert-eLDsz7qz.js +0 -5496
- package/build/server/chunks/IconAlert-eLDsz7qz.js.map +0 -1
- package/build/server/chunks/IconDone-YB1DYJFs.js +0 -10
- package/build/server/chunks/IconDone-YB1DYJFs.js.map +0 -1
- package/build/server/chunks/IconInfo-yYiI9uGe.js +0 -10
- package/build/server/chunks/IconInfo-yYiI9uGe.js.map +0 -1
- package/build/server/chunks/IconLock-DHiqGiiZ.js +0 -10
- package/build/server/chunks/IconLock-DHiqGiiZ.js.map +0 -1
- package/build/server/chunks/IconLogo-Iv-7q8aY.js +0 -10
- package/build/server/chunks/IconLogo-Iv-7q8aY.js.map +0 -1
- package/build/server/chunks/IconMic-DLx3WSIu.js +0 -1291
- package/build/server/chunks/IconMic-DLx3WSIu.js.map +0 -1
- package/build/server/chunks/Navbar-CY_SCLFB.js +0 -403
- package/build/server/chunks/Navbar-CY_SCLFB.js.map +0 -1
- package/build/server/chunks/Spinner-jfNKSy3m.js +0 -12
- package/build/server/chunks/Spinner-jfNKSy3m.js.map +0 -1
- package/build/server/chunks/_helpers-B_lb4-jB.js +0 -74
- package/build/server/chunks/_helpers-B_lb4-jB.js.map +0 -1
- package/build/server/chunks/_layout.svelte-D8yNnetP.js +0 -66
- package/build/server/chunks/_layout.svelte-D8yNnetP.js.map +0 -1
- package/build/server/chunks/_page.svelte-1DSc9sIW.js +0 -74
- package/build/server/chunks/_page.svelte-1DSc9sIW.js.map +0 -1
- package/build/server/chunks/_page.svelte-BCIeT4bO.js +0 -3289
- package/build/server/chunks/_page.svelte-BCIeT4bO.js.map +0 -1
- package/build/server/chunks/_page.svelte-BfI94K0U.js +0 -122
- package/build/server/chunks/_page.svelte-BfI94K0U.js.map +0 -1
- package/build/server/chunks/_page.svelte-C3Ojg16l.js +0 -47
- package/build/server/chunks/_page.svelte-C3Ojg16l.js.map +0 -1
- package/build/server/chunks/_page.svelte-DAu9fGOD.js +0 -356
- package/build/server/chunks/_page.svelte-DAu9fGOD.js.map +0 -1
- package/build/server/chunks/_page.svelte-DCHynIvB.js +0 -79
- package/build/server/chunks/_page.svelte-DCHynIvB.js.map +0 -1
- package/build/server/chunks/_page.svelte-Dqk_OD73.js +0 -89
- package/build/server/chunks/_page.svelte-Dqk_OD73.js.map +0 -1
- package/build/server/chunks/_server.ts-0Vg6AJPt.js +0 -92
- package/build/server/chunks/_server.ts-0Vg6AJPt.js.map +0 -1
- package/build/server/chunks/_server.ts-1gIYETOG.js +0 -53
- package/build/server/chunks/_server.ts-1gIYETOG.js.map +0 -1
- package/build/server/chunks/_server.ts-2cFkndKX.js +0 -70
- package/build/server/chunks/_server.ts-2cFkndKX.js.map +0 -1
- package/build/server/chunks/_server.ts-33LuQvHu.js +0 -19
- package/build/server/chunks/_server.ts-33LuQvHu.js.map +0 -1
- package/build/server/chunks/_server.ts-B1moS46A.js +0 -45
- package/build/server/chunks/_server.ts-B1moS46A.js.map +0 -1
- package/build/server/chunks/_server.ts-B3MxMbHf.js +0 -64
- package/build/server/chunks/_server.ts-B3MxMbHf.js.map +0 -1
- package/build/server/chunks/_server.ts-B8ETN5kp.js +0 -517
- package/build/server/chunks/_server.ts-B8ETN5kp.js.map +0 -1
- package/build/server/chunks/_server.ts-BCRrWDdm.js +0 -59
- package/build/server/chunks/_server.ts-BCRrWDdm.js.map +0 -1
- package/build/server/chunks/_server.ts-BF8BIeRx.js +0 -129
- package/build/server/chunks/_server.ts-BF8BIeRx.js.map +0 -1
- package/build/server/chunks/_server.ts-BICdc86-.js +0 -78
- package/build/server/chunks/_server.ts-BICdc86-.js.map +0 -1
- package/build/server/chunks/_server.ts-BL9qmwrJ.js +0 -152
- package/build/server/chunks/_server.ts-BL9qmwrJ.js.map +0 -1
- package/build/server/chunks/_server.ts-BLozviCa.js +0 -105
- package/build/server/chunks/_server.ts-BLozviCa.js.map +0 -1
- package/build/server/chunks/_server.ts-BNpMpfbh.js +0 -149
- package/build/server/chunks/_server.ts-BNpMpfbh.js.map +0 -1
- package/build/server/chunks/_server.ts-BNxDIQAc.js +0 -160
- package/build/server/chunks/_server.ts-BNxDIQAc.js.map +0 -1
- package/build/server/chunks/_server.ts-BVJhOHAZ.js +0 -57
- package/build/server/chunks/_server.ts-BVJhOHAZ.js.map +0 -1
- package/build/server/chunks/_server.ts-BX5MvUV2.js +0 -82
- package/build/server/chunks/_server.ts-BX5MvUV2.js.map +0 -1
- package/build/server/chunks/_server.ts-Bc8yiTeq.js +0 -69
- package/build/server/chunks/_server.ts-Bc8yiTeq.js.map +0 -1
- package/build/server/chunks/_server.ts-BhgsoGpy.js +0 -62
- package/build/server/chunks/_server.ts-BhgsoGpy.js.map +0 -1
- package/build/server/chunks/_server.ts-BjSC3Crp.js +0 -103
- package/build/server/chunks/_server.ts-BjSC3Crp.js.map +0 -1
- package/build/server/chunks/_server.ts-Bl4VSlUo.js +0 -203
- package/build/server/chunks/_server.ts-Bl4VSlUo.js.map +0 -1
- package/build/server/chunks/_server.ts-Bs5cXrgG.js +0 -36
- package/build/server/chunks/_server.ts-Bs5cXrgG.js.map +0 -1
- package/build/server/chunks/_server.ts-Bt03j03I.js +0 -36
- package/build/server/chunks/_server.ts-Bt03j03I.js.map +0 -1
- package/build/server/chunks/_server.ts-Bt5bqJxH.js +0 -76
- package/build/server/chunks/_server.ts-Bt5bqJxH.js.map +0 -1
- package/build/server/chunks/_server.ts-Byf8QxAm.js +0 -57
- package/build/server/chunks/_server.ts-Byf8QxAm.js.map +0 -1
- package/build/server/chunks/_server.ts-ByhIQ3aO.js +0 -47
- package/build/server/chunks/_server.ts-ByhIQ3aO.js.map +0 -1
- package/build/server/chunks/_server.ts-C09yQI2v.js +0 -50
- package/build/server/chunks/_server.ts-C09yQI2v.js.map +0 -1
- package/build/server/chunks/_server.ts-C2LdQElH.js +0 -66
- package/build/server/chunks/_server.ts-C2LdQElH.js.map +0 -1
- package/build/server/chunks/_server.ts-C34ptFRI.js +0 -54
- package/build/server/chunks/_server.ts-C34ptFRI.js.map +0 -1
- package/build/server/chunks/_server.ts-C6TD8kSk.js +0 -44
- package/build/server/chunks/_server.ts-C6TD8kSk.js.map +0 -1
- package/build/server/chunks/_server.ts-C6ZTHZuH.js +0 -56
- package/build/server/chunks/_server.ts-C6ZTHZuH.js.map +0 -1
- package/build/server/chunks/_server.ts-C6qZPflw.js +0 -41
- package/build/server/chunks/_server.ts-C6qZPflw.js.map +0 -1
- package/build/server/chunks/_server.ts-C7jQrkiM.js +0 -120
- package/build/server/chunks/_server.ts-C7jQrkiM.js.map +0 -1
- package/build/server/chunks/_server.ts-CFjNoMgW.js +0 -49
- package/build/server/chunks/_server.ts-CFjNoMgW.js.map +0 -1
- package/build/server/chunks/_server.ts-COlWg-KN.js +0 -58
- package/build/server/chunks/_server.ts-COlWg-KN.js.map +0 -1
- package/build/server/chunks/_server.ts-CQUOqnix.js +0 -66
- package/build/server/chunks/_server.ts-CQUOqnix.js.map +0 -1
- package/build/server/chunks/_server.ts-CbTXB4zQ.js +0 -85
- package/build/server/chunks/_server.ts-CbTXB4zQ.js.map +0 -1
- package/build/server/chunks/_server.ts-Ch_BIGij.js +0 -92
- package/build/server/chunks/_server.ts-Ch_BIGij.js.map +0 -1
- package/build/server/chunks/_server.ts-ClfK8dTq.js +0 -40
- package/build/server/chunks/_server.ts-ClfK8dTq.js.map +0 -1
- package/build/server/chunks/_server.ts-ClthZEFZ.js +0 -36
- package/build/server/chunks/_server.ts-ClthZEFZ.js.map +0 -1
- package/build/server/chunks/_server.ts-CoeqCjOS.js +0 -84
- package/build/server/chunks/_server.ts-CoeqCjOS.js.map +0 -1
- package/build/server/chunks/_server.ts-CudpSCuq.js +0 -103
- package/build/server/chunks/_server.ts-CudpSCuq.js.map +0 -1
- package/build/server/chunks/_server.ts-CweZ_2Ka.js +0 -70
- package/build/server/chunks/_server.ts-CweZ_2Ka.js.map +0 -1
- package/build/server/chunks/_server.ts-CxydSIrH.js +0 -42
- package/build/server/chunks/_server.ts-CxydSIrH.js.map +0 -1
- package/build/server/chunks/_server.ts-Cyub8n-5.js +0 -44
- package/build/server/chunks/_server.ts-Cyub8n-5.js.map +0 -1
- package/build/server/chunks/_server.ts-CzmF1JGr.js +0 -63
- package/build/server/chunks/_server.ts-CzmF1JGr.js.map +0 -1
- package/build/server/chunks/_server.ts-D-7FqErp.js +0 -208
- package/build/server/chunks/_server.ts-D-7FqErp.js.map +0 -1
- package/build/server/chunks/_server.ts-D2ayVrtV.js +0 -35
- package/build/server/chunks/_server.ts-D2ayVrtV.js.map +0 -1
- package/build/server/chunks/_server.ts-D5d5Ai45.js +0 -56
- package/build/server/chunks/_server.ts-D5d5Ai45.js.map +0 -1
- package/build/server/chunks/_server.ts-D8IzPOEK.js +0 -85
- package/build/server/chunks/_server.ts-D8IzPOEK.js.map +0 -1
- package/build/server/chunks/_server.ts-DBSn4Gb6.js +0 -49
- package/build/server/chunks/_server.ts-DBSn4Gb6.js.map +0 -1
- package/build/server/chunks/_server.ts-DEieV6Jw.js +0 -43
- package/build/server/chunks/_server.ts-DEieV6Jw.js.map +0 -1
- package/build/server/chunks/_server.ts-DFbWfrL9.js +0 -67
- package/build/server/chunks/_server.ts-DFbWfrL9.js.map +0 -1
- package/build/server/chunks/_server.ts-DFqHg2Ht.js +0 -94
- package/build/server/chunks/_server.ts-DFqHg2Ht.js.map +0 -1
- package/build/server/chunks/_server.ts-DL04u4ie.js +0 -59
- package/build/server/chunks/_server.ts-DL04u4ie.js.map +0 -1
- package/build/server/chunks/_server.ts-DPbQT8Pw.js +0 -79
- package/build/server/chunks/_server.ts-DPbQT8Pw.js.map +0 -1
- package/build/server/chunks/_server.ts-DQOcjyqr.js +0 -52
- package/build/server/chunks/_server.ts-DQOcjyqr.js.map +0 -1
- package/build/server/chunks/_server.ts-DTh4mJ7C.js +0 -89
- package/build/server/chunks/_server.ts-DTh4mJ7C.js.map +0 -1
- package/build/server/chunks/_server.ts-DTwdzGLv.js +0 -48
- package/build/server/chunks/_server.ts-DTwdzGLv.js.map +0 -1
- package/build/server/chunks/_server.ts-D_zhSEAX.js +0 -56
- package/build/server/chunks/_server.ts-D_zhSEAX.js.map +0 -1
- package/build/server/chunks/_server.ts-Db_-LqfJ.js +0 -244
- package/build/server/chunks/_server.ts-Db_-LqfJ.js.map +0 -1
- package/build/server/chunks/_server.ts-DgnY_kk9.js +0 -43
- package/build/server/chunks/_server.ts-DgnY_kk9.js.map +0 -1
- package/build/server/chunks/_server.ts-Dp-M-qYf.js +0 -39
- package/build/server/chunks/_server.ts-Dp-M-qYf.js.map +0 -1
- package/build/server/chunks/_server.ts-Dp8R00NF.js +0 -167
- package/build/server/chunks/_server.ts-Dp8R00NF.js.map +0 -1
- package/build/server/chunks/_server.ts-Dwi62jBH.js +0 -55
- package/build/server/chunks/_server.ts-Dwi62jBH.js.map +0 -1
- package/build/server/chunks/_server.ts-DxPPZbk0.js +0 -762
- package/build/server/chunks/_server.ts-DxPPZbk0.js.map +0 -1
- package/build/server/chunks/_server.ts-E_FGVBJQ.js +0 -76
- package/build/server/chunks/_server.ts-E_FGVBJQ.js.map +0 -1
- package/build/server/chunks/_server.ts-GRGhe_9u.js +0 -80
- package/build/server/chunks/_server.ts-GRGhe_9u.js.map +0 -1
- package/build/server/chunks/_server.ts-I7AOxkUv.js +0 -172
- package/build/server/chunks/_server.ts-I7AOxkUv.js.map +0 -1
- package/build/server/chunks/_server.ts-Lm2k__lp.js +0 -57
- package/build/server/chunks/_server.ts-Lm2k__lp.js.map +0 -1
- package/build/server/chunks/_server.ts-LpqGWBGf.js +0 -68
- package/build/server/chunks/_server.ts-LpqGWBGf.js.map +0 -1
- package/build/server/chunks/_server.ts-OuMfyqbK.js +0 -44
- package/build/server/chunks/_server.ts-OuMfyqbK.js.map +0 -1
- package/build/server/chunks/_server.ts-PAwOtE1N.js +0 -112
- package/build/server/chunks/_server.ts-PAwOtE1N.js.map +0 -1
- package/build/server/chunks/_server.ts-PQR7rD7X.js +0 -64
- package/build/server/chunks/_server.ts-PQR7rD7X.js.map +0 -1
- package/build/server/chunks/_server.ts-RMOM33-7.js +0 -55
- package/build/server/chunks/_server.ts-RMOM33-7.js.map +0 -1
- package/build/server/chunks/_server.ts-WeGNeoTr.js +0 -43
- package/build/server/chunks/_server.ts-WeGNeoTr.js.map +0 -1
- package/build/server/chunks/_server.ts-Y4ykTmGx.js +0 -166
- package/build/server/chunks/_server.ts-Y4ykTmGx.js.map +0 -1
- package/build/server/chunks/_server.ts-Zvy5IRGD.js +0 -82
- package/build/server/chunks/_server.ts-Zvy5IRGD.js.map +0 -1
- package/build/server/chunks/_server.ts-iLNBPfy0.js +0 -47
- package/build/server/chunks/_server.ts-iLNBPfy0.js.map +0 -1
- package/build/server/chunks/_server.ts-j7LP7ugw.js +0 -89
- package/build/server/chunks/_server.ts-j7LP7ugw.js.map +0 -1
- package/build/server/chunks/_server.ts-tHdveSZl.js +0 -100
- package/build/server/chunks/_server.ts-tHdveSZl.js.map +0 -1
- package/build/server/chunks/_server.ts-tPvbvgV_.js +0 -50
- package/build/server/chunks/_server.ts-tPvbvgV_.js.map +0 -1
- package/build/server/chunks/_server.ts-u5l5oF5s.js +0 -169
- package/build/server/chunks/_server.ts-u5l5oF5s.js.map +0 -1
- package/build/server/chunks/_server.ts-whWggGP6.js +0 -58
- package/build/server/chunks/_server.ts-whWggGP6.js.map +0 -1
- package/build/server/chunks/_server.ts-y5zwjb1Y.js +0 -57
- package/build/server/chunks/_server.ts-y5zwjb1Y.js.map +0 -1
- package/build/server/chunks/addon-helpers-D5FxFtnl.js +0 -51
- package/build/server/chunks/addon-helpers-D5FxFtnl.js.map +0 -1
- package/build/server/chunks/akm-Bpp1kjYZ.js +0 -151
- package/build/server/chunks/akm-Bpp1kjYZ.js.map +0 -1
- package/build/server/chunks/catalog-DabIknB2.js +0 -217
- package/build/server/chunks/catalog-DabIknB2.js.map +0 -1
- package/build/server/chunks/client-CcgALx2z.js +0 -202
- package/build/server/chunks/client-CcgALx2z.js.map +0 -1
- package/build/server/chunks/config-C4Mb_Dmt.js +0 -121
- package/build/server/chunks/config-C4Mb_Dmt.js.map +0 -1
- package/build/server/chunks/dist-DOFcG0Zp.js +0 -6617
- package/build/server/chunks/dist-DOFcG0Zp.js.map +0 -1
- package/build/server/chunks/docker-CJyb9Y6R.js +0 -20
- package/build/server/chunks/docker-CJyb9Y6R.js.map +0 -1
- package/build/server/chunks/endpoints-CxHHWeBz.js +0 -358
- package/build/server/chunks/endpoints-CxHHWeBz.js.map +0 -1
- package/build/server/chunks/environment-DqfL567G.js +0 -38
- package/build/server/chunks/environment-DqfL567G.js.map +0 -1
- package/build/server/chunks/error.svelte-CdezevWX.js +0 -18
- package/build/server/chunks/error.svelte-CdezevWX.js.map +0 -1
- package/build/server/chunks/exports-D1quPX8S.js +0 -124
- package/build/server/chunks/exports-D1quPX8S.js.map +0 -1
- package/build/server/chunks/exports2-DECEtwH0.js +0 -691
- package/build/server/chunks/exports2-DECEtwH0.js.map +0 -1
- package/build/server/chunks/features-h0rPqe2e.js +0 -15
- package/build/server/chunks/features-h0rPqe2e.js.map +0 -1
- package/build/server/chunks/features.svelte-DsfDrPnq.js +0 -11
- package/build/server/chunks/features.svelte-DsfDrPnq.js.map +0 -1
- package/build/server/chunks/helpers-CkhM6czg.js +0 -293
- package/build/server/chunks/helpers-CkhM6czg.js.map +0 -1
- package/build/server/chunks/hooks.server-CFTYjaVy.js +0 -155
- package/build/server/chunks/hooks.server-CFTYjaVy.js.map +0 -1
- package/build/server/chunks/http-zX6if5Eq.js +0 -31
- package/build/server/chunks/http-zX6if5Eq.js.map +0 -1
- package/build/server/chunks/internal-DfljBIKo.js +0 -915
- package/build/server/chunks/internal-DfljBIKo.js.map +0 -1
- package/build/server/chunks/paths-C_pbfQFE.js +0 -17
- package/build/server/chunks/paths-C_pbfQFE.js.map +0 -1
- package/build/server/chunks/provider-constants-DPrj3yBX.js +0 -63
- package/build/server/chunks/provider-constants-DPrj3yBX.js.map +0 -1
- package/build/server/chunks/session-cookie-P9GNpA5Y.js +0 -74
- package/build/server/chunks/session-cookie-P9GNpA5Y.js.map +0 -1
- package/build/server/chunks/setup-deploy-QhBTcEuB.js +0 -75
- package/build/server/chunks/setup-deploy-QhBTcEuB.js.map +0 -1
- package/build/server/chunks/src-KraOt0_c.js +0 -9682
- package/build/server/chunks/src-KraOt0_c.js.map +0 -1
- package/build/server/chunks/state-ByHu_9PU.js +0 -24
- package/build/server/chunks/state-ByHu_9PU.js.map +0 -1
- package/build/server/chunks/state2-CmPLrPN5.js +0 -62
- package/build/server/chunks/state2-CmPLrPN5.js.map +0 -1
- package/build/server/chunks/theme-state.svelte-BCebCO8r.js +0 -681
- package/build/server/chunks/theme-state.svelte-BCebCO8r.js.map +0 -1
- package/build/server/chunks/utils-BSRjJDrZ.js +0 -150
- package/build/server/chunks/utils-BSRjJDrZ.js.map +0 -1
- /package/build/client/_app/immutable/assets/{6.BXlLAfIE.css → 4.BXlLAfIE.css} +0 -0
- /package/build/client/_app/immutable/assets/{6.BXlLAfIE.css.br → 4.BXlLAfIE.css.br} +0 -0
- /package/build/client/_app/immutable/assets/{6.BXlLAfIE.css.gz → 4.BXlLAfIE.css.gz} +0 -0
- /package/build/client/_app/immutable/assets/{IconSoundOn.BsTA83Hx.css → IconStop.BsTA83Hx.css} +0 -0
- /package/build/client/_app/immutable/assets/{IconSoundOn.BsTA83Hx.css.br → IconStop.BsTA83Hx.css.br} +0 -0
- /package/build/client/_app/immutable/assets/{IconSoundOn.BsTA83Hx.css.gz → IconStop.BsTA83Hx.css.gz} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-CYY3W2qh.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/voice/_server.ts.js"],"sourcesContent":["import { A as getAddonProfileAvailability, D as setAddonEnabled, Dt as stackDirFor, E as listEnabledAddonIds, O as setAddonProfileSelection, X as readStackEnv, b as getAddonProfileSelection, j as addonProfileId, k as execFileNoThrow, t as buildComposeOptions, x as getAddonProfiles, y as annotateAddonProfileAvailability } from \"../../../../../chunks/compose-args.js\";\nimport { t as applyStack, v as composeStop } from \"../../../../../chunks/docker.js\";\nimport { J as dockerHasNvidiaRuntime, l as writeVoiceVars, q as detectRootlessDocker } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\nimport { existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { connect } from \"node:net\";\n//#region src/lib/server/voice-errors.ts\n/**\n* Translate raw docker / compose stderr into operator-actionable copy.\n*\n* Lives in $lib/server so the route can import it without violating\n* SvelteKit's +server.ts export rules (handlers + `_`-prefixed only).\n*\n* Pattern matches are intentionally case-insensitive and tolerant of\n* compose-CLI prefix decoration. Order matters: more specific patterns\n* first.\n*/\nfunction translateDockerError(stderr) {\n\tconst raw = (stderr ?? \"\").trim();\n\tif (!raw) return \"Docker reported an unknown error (no stderr).\";\n\tif (/spawn .*docker.*ENOENT|no such file or directory.*docker|docker:\\s*command not found/i.test(raw)) return \"Docker isn't installed on this host. Install Docker Engine or Docker Desktop, then retry.\";\n\tif (/pull access denied|manifest unknown|repository does not exist|not found: manifest unknown/i.test(raw)) return \"The voice image for this profile isn't published yet. Try the CPU profile.\";\n\tif (/failed to resolve reference|dial tcp.*lookup .+docker\\.io|i\\/o timeout.*registry|connection refused.*registry/i.test(raw)) return \"Can't reach Docker Hub. Check your internet connection, corporate firewall, or configure a registry mirror.\";\n\tif (/no space left on device|insufficient.*disk space|ENOSPC|write.*disk full/i.test(raw)) return \"Out of disk space. Free space and try again, or run `docker image prune -a` to reclaim unused images.\";\n\tif (/port is already allocated|bind.*address already in use|address already in use|failed to bind host port/i.test(raw)) return \"Port 8880 is already in use on this host. Free it or change the host port (set OP_VOICE_PORT_HOST).\";\n\tif (/unknown[^\\n]*runtime[^\\n]*nvidia|runtime\\s+\"nvidia\"\\s+not\\s+found|nvidia.*runtime.*not[^a-z]+(found|registered)/i.test(raw)) return \"The NVIDIA Docker runtime isn't registered on this machine. Try the CPU profile, or install nvidia-container-toolkit.\";\n\tif (/invoking the NVIDIA Container Runtime Hook/i.test(raw)) return \"Docker is in CDI mode but no CDI spec is registered. Try the CPU profile.\";\n\treturn raw.length > 300 ? `${raw.slice(0, 297)}…` : raw;\n}\n//#endregion\n//#region src/lib/server/voice/bring-up.ts\n/**\n* Voice addon bring-up engine — the Docker/compose infrastructure behind\n* PUT /admin/voice. Extracted from the route so the HTTP handler stays a\n* thin request-validation + delegation layer (mirrors the\n* lib/server/endpoints.ts ↔ admin/endpoints/+server.ts split).\n*\n* Responsibilities:\n* - Docker image inspection + resolution (dockerImagePresent / resolveServiceImage)\n* - UI-local host probes (TCP port, container health) — the rootless /\n* nvidia-runtime host-fact probes live in lib (control-plane/voice-host-probes.ts)\n* beside hardware-detect.ts, since they inspect the host, not addon/UI state.\n* - Fallback-overlay SELECTION only: voice.compose.cdi.yml and\n* voice.compose.rootless.yml ship as static files in the skeleton's\n* managed system/stack/ tree (packages/skeleton/system/stack/) — nothing\n* here generates compose YAML.\n* - The in-memory background-job registry (activeJobs)\n* - The engageVoiceAddon orchestration that the route delegates to; the\n* actual compose-up + health-wait lifecycle (runBringUp) is a thin\n* shim over `@openpalm/lib`'s single `applyStack` driver (plan 2.2) —\n* this file keeps only job registry + progress-step rendering, plus the\n* \"warming\" re-probe and voice-specific error-copy translation that\n* applyStack's generic result doesn't carry.\n*\n* Everything here is server-only (uses node:child_process / node:net /\n* node:fs) and returns plain data — the route maps the results to HTTP\n* responses.\n*/\nvar VOICE_ADDON = \"voice\";\nvar VOICE_PROBE_TIMEOUT_MS = 18e4;\nvar PORT_PROBE_TIMEOUT_MS = 750;\nvar JOB_RETAIN_MS = 5 * 6e4;\nvar activeJobs = /* @__PURE__ */ new Map();\nfunction setJob(addon, patch) {\n\tconst existing = activeJobs.get(addon);\n\tconst next = existing ? {\n\t\t...existing,\n\t\t...patch\n\t} : {\n\t\tstate: \"pulling\",\n\t\tsteps: [],\n\t\tstartedAt: Date.now(),\n\t\t...patch\n\t};\n\tactiveJobs.set(addon, next);\n\treturn next;\n}\nfunction getActiveJob(addon) {\n\tconst job = activeJobs.get(addon);\n\tif (!job) return void 0;\n\tif (Date.now() - (job.finishedAt ?? job.startedAt) > JOB_RETAIN_MS) {\n\t\tactiveJobs.delete(addon);\n\t\treturn;\n\t}\n\treturn job;\n}\n/**\n* Pick the best profile for this host. Prefers the first available GPU\n* profile (anything that isn't the canonical CPU profile) so operators with NVIDIA/AMD hardware\n* get the accelerated variant auto-selected. Falls back to the labelled\n* default, then first available, then first profile.\n*/\nfunction resolveDefaultProfile(profiles) {\n\tif (profiles.length === 0) return null;\n\tconst availableGpu = profiles.find((p) => p.id !== addonProfileId(\"voice\", \"cpu\") && p.available !== false);\n\tif (availableGpu) return availableGpu.id;\n\tconst labelledDefault = profiles.find((p) => p.default);\n\tif (labelledDefault && labelledDefault.available !== false) return labelledDefault.id;\n\tconst firstAvailable = profiles.find((p) => p.available !== false);\n\tif (firstAvailable) return firstAvailable.id;\n\treturn profiles[0].id;\n}\nfunction voiceHostPort() {\n\tconst raw = process.env.OP_VOICE_PORT_HOST?.trim();\n\tconst n = raw ? Number(raw) : NaN;\n\treturn Number.isFinite(n) && n > 0 ? n : 8880;\n}\nfunction openpalmVoiceBaseURL() {\n\treturn `http://127.0.0.1:${voiceHostPort()}`;\n}\n/**\n* True when the local docker daemon already has the named image cached.\n* `docker image inspect` exits 0 only when the image is present locally.\n*/\nasync function dockerImagePresent(imageRef) {\n\tif (!imageRef) return true;\n\treturn (await execFileNoThrow(\"docker\", [\n\t\t\"image\",\n\t\t\"inspect\",\n\t\timageRef\n\t], 5e3)).ok;\n}\n/**\n* Heuristic: image tags that include `-cu121` / `-rocm6` / `-cpu` are the\n* multi-GB voice images. Show the \"this may take a few minutes\" toast for\n* first pulls so the operator knows the upcoming compose-up isn't stuck.\n*/\nfunction isLargeImageTag(imageRef) {\n\treturn /(-cu\\d+|-rocm\\d+|-cpu)(\\s|$|@|\\b)/i.test(imageRef);\n}\nfunction resolveProjectName() {\n\treturn process.env.OP_PROJECT_NAME?.trim() || process.env.COMPOSE_PROJECT_NAME?.trim() || \"openpalm\";\n}\n/**\n* Read the resolved image for a service from the merged compose config.\n* Best-effort — returns \"\" on any failure so callers can skip the pre-pull\n* check rather than blocking save.\n*/\nasync function resolveServiceImage(composeFiles, service) {\n\tconst args = [\"compose\"];\n\tfor (const f of composeFiles) args.push(\"-f\", f);\n\targs.push(\"--project-name\", resolveProjectName(), \"config\", \"--format\", \"json\");\n\tconst res = await execFileNoThrow(\"docker\", args, 15e3);\n\tif (!res.ok) return \"\";\n\ttry {\n\t\treturn JSON.parse(res.stdout).services?.[service]?.image ?? \"\";\n\t} catch {\n\t\treturn \"\";\n\t}\n}\n/**\n* Probe a TCP port on 127.0.0.1. Resolves true when the connect succeeds\n* within PORT_PROBE_TIMEOUT_MS — meaning something is already listening.\n*/\nfunction isPortListening(port) {\n\treturn new Promise((resolve) => {\n\t\tconst socket = connect({\n\t\t\thost: \"127.0.0.1\",\n\t\t\tport\n\t\t});\n\t\tlet done = false;\n\t\tconst finish = (listening) => {\n\t\t\tif (done) return;\n\t\t\tdone = true;\n\t\t\ttry {\n\t\t\t\tsocket.destroy();\n\t\t\t} catch {}\n\t\t\tresolve(listening);\n\t\t};\n\t\tsocket.setTimeout(PORT_PROBE_TIMEOUT_MS, () => finish(false));\n\t\tsocket.once(\"connect\", () => finish(true));\n\t\tsocket.once(\"error\", () => finish(false));\n\t});\n}\n/**\n* True when a docker container whose name matches openpalm-voice* is\n* already running and presumably owns the host port. Used by the port\n* pre-flight to avoid false positives when our own voice container is\n* the listener.\n*/\nasync function ourVoiceContainerRunning() {\n\tconst res = await execFileNoThrow(\"docker\", [\n\t\t\"ps\",\n\t\t\"--filter\",\n\t\t\"name=openpalm-voice\",\n\t\t\"--format\",\n\t\t\"{{.Names}}\"\n\t], 5e3);\n\tif (!res.ok) return false;\n\treturn res.stdout.trim().length > 0;\n}\n/**\n* Read the Docker healthcheck state of a container.\n* Returns \"starting\" while compose's start_period grace window is in\n* effect; \"healthy\" / \"unhealthy\" / \"none\" / \"\" otherwise.\n*/\nasync function readContainerHealthStatus(containerNamePrefix) {\n\tconst name = (await execFileNoThrow(\"docker\", [\n\t\t\"ps\",\n\t\t\"--filter\",\n\t\t`name=${containerNamePrefix}`,\n\t\t\"--format\",\n\t\t\"{{.Names}}\"\n\t], 5e3)).stdout.split(\"\\n\").map((s) => s.trim()).find(Boolean);\n\tif (!name) return \"\";\n\treturn (await execFileNoThrow(\"docker\", [\n\t\t\"inspect\",\n\t\tname,\n\t\t\"--format\",\n\t\t\"{{if .State.Health}}{{.State.Health.Status}}{{else}}none{{end}}\"\n\t], 5e3)).stdout.trim();\n}\n/** Path of the static CDI overlay, or null when the managed tree isn't seeded yet. */\nfunction voiceCdiOverlayPath(homeDir) {\n\tconst overlayPath = join(stackDirFor(homeDir), \"voice.compose.cdi.yml\");\n\treturn existsSync(overlayPath) ? overlayPath : null;\n}\n/** Path of the static rootless overlay, or null when the managed tree isn't seeded yet. */\nfunction voiceRootlessOverlayPath(homeDir) {\n\tconst overlayPath = join(stackDirFor(homeDir), \"voice.compose.rootless.yml\");\n\treturn existsSync(overlayPath) ? overlayPath : null;\n}\n/**\n* Stops services from OTHER profiles, then routes the actual compose-up +\n* health-wait through `@openpalm/lib`'s single {@link applyStack} driver\n* (plan 2.2) — this function no longer runs its own composeUp or /health\n* poll. `applyStack`'s health-wait reads the SAME docker HEALTHCHECK every\n* voice compose service already declares (`curl .../health` inside the\n* container, `start_period: 180s`), so it observes exactly what the removed\n* manual HTTP poll observed, just via `docker inspect` instead of a\n* host-side fetch loop.\n*\n* Returns the terminal state. Pushed `steps` get mutated in place so the\n* caller (sync or background) can read progress as it happens.\n*/\nasync function runBringUp(input) {\n\tconst { state, services, activeProfile, extraFiles, availableProfiles, steps } = input;\n\tlet composeOk;\n\tlet composeErr;\n\tlet healthy = false;\n\ttry {\n\t\tconst otherProfileServices = availableProfiles.filter((p) => p.id !== activeProfile).flatMap((p) => p.services).filter((svc) => !services.includes(svc));\n\t\tif (otherProfileServices.length > 0) try {\n\t\t\tawait composeStop(otherProfileServices, buildComposeOptions(state));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[voice] composeStop other profiles failed:\", e);\n\t\t}\n\t\tconst baseOpts = buildComposeOptions(state);\n\t\tconst result = await applyStack({\n\t\t\tkind: \"services\",\n\t\t\tservices\n\t\t}, {\n\t\t\tfiles: [...baseOpts.files, ...extraFiles],\n\t\t\tenvFiles: baseOpts.envFiles,\n\t\t\tprofiles: activeProfile ? [activeProfile] : baseOpts.profiles\n\t\t}, void 0, { healthTimeoutMs: VOICE_PROBE_TIMEOUT_MS });\n\t\tif (result.upFailed) {\n\t\t\tcomposeOk = false;\n\t\t\tcomposeErr = translateDockerError(result.rawStderr || result.error || \"compose up failed\");\n\t\t} else {\n\t\t\tcomposeOk = true;\n\t\t\thealthy = result.ok;\n\t\t}\n\t} catch (e) {\n\t\tcomposeOk = false;\n\t\tcomposeErr = translateDockerError(e instanceof Error ? e.message : String(e));\n\t}\n\tsteps.push({\n\t\tstep: \"compose-up\",\n\t\tok: composeOk,\n\t\t...composeErr ? { detail: composeErr.slice(0, 500) } : {}\n\t});\n\tif (!composeOk) return {\n\t\tcomposeOk,\n\t\tcomposeErr,\n\t\thealthy: false,\n\t\twarming: false,\n\t\tsteps\n\t};\n\tlet warming = false;\n\tif (!healthy) try {\n\t\tif (await readContainerHealthStatus(\"openpalm-voice\") === \"starting\") warming = true;\n\t} catch {}\n\tsteps.push({\n\t\tstep: \"healthy\",\n\t\tok: healthy || warming,\n\t\t...healthy ? {} : warming ? { detail: \"still warming up — refresh in a moment\" } : { detail: `did not become healthy within ${VOICE_PROBE_TIMEOUT_MS / 1e3}s` }\n\t});\n\treturn {\n\t\tcomposeOk,\n\t\thealthy,\n\t\twarming,\n\t\tsteps\n\t};\n}\n/**\n* Background variant: runs runBringUp and persists state transitions\n* into the activeJobs map. Returns nothing — the UI polls GET\n* /admin/voice to observe completion.\n*/\nasync function runBringUpJob(input) {\n\tconst steps = [...input.baseSteps];\n\ttry {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"starting\",\n\t\t\tsteps\n\t\t});\n\t\tconst outcome = await runBringUp({\n\t\t\t...input,\n\t\t\tsteps\n\t\t});\n\t\tif (!outcome.composeOk) {\n\t\t\tsetJob(VOICE_ADDON, {\n\t\t\t\tstate: \"error\",\n\t\t\t\tsteps: outcome.steps,\n\t\t\t\terror: `Voice addon failed to start: ${outcome.composeErr ?? \"unknown error\"}`,\n\t\t\t\tfinishedAt: Date.now()\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: outcome.healthy ? \"healthy\" : outcome.warming ? \"starting\" : \"error\",\n\t\t\tsteps: outcome.steps,\n\t\t\t...outcome.healthy || outcome.warming ? { error: void 0 } : { error: \"Voice addon is starting but did not become healthy in time.\" },\n\t\t\tfinishedAt: Date.now()\n\t\t});\n\t} catch (e) {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"error\",\n\t\t\tsteps,\n\t\t\terror: e instanceof Error ? e.message : String(e),\n\t\t\tfinishedAt: Date.now()\n\t\t});\n\t}\n}\n/**\n* The full PUT /admin/voice bring-up lifecycle after request validation:\n* auto-stop when disengaging, else resolve profile → enable addon →\n* port pre-flight → image inspect → host fallback overlays → background\n* short-circuit or synchronous compose-up + /health poll.\n*/\nasync function engageVoiceAddon(input) {\n\tconst { state, wantsVoiceAddon, requestedProfile } = input;\n\tif (!wantsVoiceAddon) {\n\t\tif (listEnabledAddonIds(state.homeDir).includes(\"voice\")) try {\n\t\t\tconst voiceServiceNames = getAddonProfiles(state.homeDir, VOICE_ADDON).flatMap((p) => p.services);\n\t\t\tconst unique = Array.from(new Set(voiceServiceNames));\n\t\t\tif (unique.length > 0) await composeStop(unique, buildComposeOptions(state));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[voice] composeStop on disengage failed:\", e);\n\t\t}\n\t\treturn { status: \"disengaged\" };\n\t}\n\tconst availableProfiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, VOICE_ADDON));\n\tlet activeProfile = null;\n\tif (requestedProfile) {\n\t\tif (!availableProfiles.some((p) => p.id === requestedProfile)) return {\n\t\t\tstatus: \"invalid_profile\",\n\t\t\tmessage: `Unknown voice profile \"${requestedProfile}\". Available: ${availableProfiles.map((p) => p.id).join(\", \") || \"(none)\"}`\n\t\t};\n\t\tactiveProfile = requestedProfile;\n\t\tsetAddonProfileSelection(state.homeDir, VOICE_ADDON, activeProfile);\n\t} else activeProfile = getAddonProfileSelection(state.homeDir, \"voice\") ?? resolveDefaultProfile(availableProfiles);\n\tconst wasAlreadyEnabled = listEnabledAddonIds(state.homeDir).includes(VOICE_ADDON);\n\tconst steps = [];\n\tif (!wasAlreadyEnabled) try {\n\t\tsetAddonEnabled(state.homeDir, VOICE_ADDON, true, state);\n\t\tsteps.push({\n\t\t\tstep: \"enable\",\n\t\t\tok: true\n\t\t});\n\t} catch (e) {\n\t\tconst detail = e instanceof Error ? e.message : String(e);\n\t\tsteps.push({\n\t\t\tstep: \"enable\",\n\t\t\tok: false,\n\t\t\tdetail\n\t\t});\n\t\treturn {\n\t\t\tstatus: \"error\",\n\t\t\twasAlreadyEnabled,\n\t\t\tsteps,\n\t\t\terror: `Could not enable voice addon: ${detail}`\n\t\t};\n\t}\n\telse steps.push({\n\t\tstep: \"enable\",\n\t\tok: true,\n\t\tdetail: \"already enabled\"\n\t});\n\tconst hostPort = voiceHostPort();\n\tconst inVitest = !!process.env.VITEST;\n\tif (inVitest ? false : await isPortListening(hostPort)) {\n\t\tif (!await ourVoiceContainerRunning()) {\n\t\t\tconst msg = translateDockerError(`Bind for 127.0.0.1:${hostPort} failed: port is already allocated`);\n\t\t\tsteps.push({\n\t\t\t\tstep: \"port-check\",\n\t\t\t\tok: false,\n\t\t\t\tdetail: msg\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tstatus: \"error\",\n\t\t\t\twasAlreadyEnabled,\n\t\t\t\tsteps,\n\t\t\t\terror: msg\n\t\t\t};\n\t\t}\n\t\tsteps.push({\n\t\t\tstep: \"port-check\",\n\t\t\tok: true,\n\t\t\tdetail: \"our container is the listener\"\n\t\t});\n\t} else steps.push({\n\t\tstep: \"port-check\",\n\t\tok: true\n\t});\n\tconst profileServices = activeProfile ? availableProfiles.find((p) => p.id === activeProfile)?.services ?? [] : [];\n\tconst services = profileServices.length > 0 ? profileServices : [VOICE_ADDON];\n\tconst composeFilesBase = buildComposeOptions(state).files;\n\tconst primaryService = services[0];\n\tlet backgroundPull = false;\n\tif (primaryService && !inVitest) {\n\t\tconst imageRef = await resolveServiceImage(composeFilesBase, primaryService);\n\t\tif (imageRef && isLargeImageTag(imageRef)) {\n\t\t\tif (!await dockerImagePresent(imageRef)) {\n\t\t\t\tbackgroundPull = true;\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"pulling\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"first-time download — several minutes for several GB\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst extraFiles = [];\n\tconst cdiFallbackSupported = process.platform !== \"win32\";\n\tif (activeProfile === addonProfileId(\"voice\", \"cuda\") && !inVitest && cdiFallbackSupported) {\n\t\tconst runtimeMissing = (await getAddonProfileAvailability({ id: addonProfileId(\"voice\", \"cuda\") })).available === false || !await dockerHasNvidiaRuntime();\n\t\tconst cdiSpecPresent = existsSync(\"/etc/cdi/nvidia.yaml\");\n\t\tif (runtimeMissing && cdiSpecPresent) {\n\t\t\tconst overlay = voiceCdiOverlayPath(state.homeDir);\n\t\t\tif (overlay) {\n\t\t\t\textraFiles.push(overlay);\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"cdi-fallback\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"using CDI device reservation\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tif (!inVitest) try {\n\t\tif (await detectRootlessDocker()) {\n\t\t\tconst overlay = voiceRootlessOverlayPath(state.homeDir);\n\t\t\tif (overlay) {\n\t\t\t\textraFiles.push(overlay);\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"rootless-fallback\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"dropping user: directive for rootless Docker\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\"[voice] rootless detection failed:\", e);\n\t}\n\tif (backgroundPull) {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"pulling\",\n\t\t\tsteps: [...steps],\n\t\t\tstartedAt: Date.now(),\n\t\t\tprofile: activeProfile ?? void 0,\n\t\t\tfinishedAt: void 0,\n\t\t\terror: void 0\n\t\t});\n\t\trunBringUpJob({\n\t\t\tstate,\n\t\t\tservices,\n\t\t\tactiveProfile,\n\t\t\textraFiles,\n\t\t\tavailableProfiles,\n\t\t\tbaseSteps: [...steps]\n\t\t});\n\t\treturn {\n\t\t\tstatus: \"background\",\n\t\t\twasAlreadyEnabled,\n\t\t\tsteps,\n\t\t\tmessage: \"Voice image is downloading in the background (~2–8 GB). Poll GET /admin/voice for progress; UI auto-refreshes.\"\n\t\t};\n\t}\n\tconst outcome = await runBringUp({\n\t\tstate,\n\t\tservices,\n\t\tactiveProfile,\n\t\textraFiles,\n\t\tavailableProfiles,\n\t\tsteps\n\t});\n\tif (!outcome.composeOk) return {\n\t\tstatus: \"error\",\n\t\twasAlreadyEnabled,\n\t\tsteps: outcome.steps,\n\t\terror: `Voice addon failed to start: ${outcome.composeErr ?? \"unknown error\"}`\n\t};\n\treturn {\n\t\tstatus: \"final\",\n\t\twasAlreadyEnabled,\n\t\tsteps: outcome.steps,\n\t\thealthy: outcome.healthy,\n\t\twarming: outcome.warming\n\t};\n}\n//#endregion\n//#region src/routes/api/host/voice/+server.ts\nvar REACHABILITY_TIMEOUT_MS = 1500;\nasync function probeReachable(baseURL) {\n\tif (!baseURL) return false;\n\tconst url = `${baseURL.replace(/\\/+$/, \"\")}/v1/models`;\n\ttry {\n\t\treturn (await fetch(url, {\n\t\t\tmethod: \"GET\",\n\t\t\tsignal: AbortSignal.timeout(REACHABILITY_TIMEOUT_MS)\n\t\t})).status < 500;\n\t} catch {\n\t\treturn false;\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst env = readStackEnv(state.homeDir);\n\tconst ttsBaseURL = env.OP_TTS_BASE_URL ?? \"\";\n\tconst sttBaseURL = env.OP_STT_BASE_URL ?? \"\";\n\tconst profiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, VOICE_ADDON));\n\tconst selectedProfile = getAddonProfileSelection(state.homeDir, \"voice\") ?? resolveDefaultProfile(profiles);\n\tconst [sttReachable, ttsReachable] = await Promise.all([probeReachable(sttBaseURL), probeReachable(ttsBaseURL)]);\n\treturn jsonResponse(200, {\n\t\ttts: {\n\t\t\tenabled: true,\n\t\t\tengine: env.OP_TTS_ENGINE ?? \"\",\n\t\t\tprovider: env.OP_TTS_PROVIDER ?? \"\",\n\t\t\tbaseURL: ttsBaseURL,\n\t\t\tmodel: env.OP_TTS_MODEL ?? \"\",\n\t\t\tvoice: env.OP_TTS_VOICE ?? \"\"\n\t\t},\n\t\tstt: {\n\t\t\tenabled: true,\n\t\t\tengine: env.OP_STT_ENGINE ?? \"\",\n\t\t\tprovider: env.OP_STT_PROVIDER ?? \"\",\n\t\t\tbaseURL: sttBaseURL,\n\t\t\tmodel: env.OP_STT_MODEL ?? \"\",\n\t\t\tlanguage: env.OP_STT_LANGUAGE ?? \"\"\n\t\t},\n\t\tavailability: {\n\t\t\tstt: {\n\t\t\t\tremoteConfigured: Boolean(sttBaseURL),\n\t\t\t\tremoteReachable: sttReachable\n\t\t\t},\n\t\t\ttts: {\n\t\t\t\tremoteConfigured: Boolean(ttsBaseURL),\n\t\t\t\tremoteReachable: ttsReachable\n\t\t\t}\n\t\t},\n\t\taddon: {\n\t\t\tprofiles,\n\t\t\tselectedProfile,\n\t\t\t...getActiveJob(\"voice\") ? { activeJob: getActiveJob(VOICE_ADDON) } : {}\n\t\t}\n\t}, requestId);\n};\nfunction readSection(raw, kind) {\n\tif (!raw || typeof raw !== \"object\") return null;\n\tconst section = {\n\t\tenabled: raw.enabled !== false,\n\t\tengine: typeof raw.engine === \"string\" ? raw.engine : void 0,\n\t\tprovider: typeof raw.provider === \"string\" ? raw.provider : void 0,\n\t\tbaseURL: typeof raw.baseURL === \"string\" ? raw.baseURL : void 0,\n\t\tmodel: typeof raw.model === \"string\" ? raw.model : void 0\n\t};\n\tif (kind === \"tts\" && typeof raw.voice === \"string\") section.voice = raw.voice;\n\tif (kind === \"stt\" && typeof raw.language === \"string\") section.language = raw.language;\n\treturn section;\n}\nvar OPENPALM_VOICE_TTS_MODEL = \"kokoro\";\nvar OPENPALM_VOICE_STT_MODEL = \"whisper-1\";\nvar OPENPALM_VOICE_DEFAULT_VOICE = \"bf_isabella\";\n/**\n* For `engine === 'openpalm-voice'`, fill in baseURL/model with the addon's\n* preset values when the user didn't provide them. This is the auto-config\n* that makes \"select OpenPalm Voice → Save\" Just Work as long as the addon\n* is enabled. The user can still override (e.g. point at a different\n* voice host on the LAN).\n*/\nfunction applyOpenPalmVoicePreset(section, kind) {\n\tif (section.engine !== \"openpalm-voice\") return;\n\tif (!section.baseURL?.trim()) section.baseURL = openpalmVoiceBaseURL();\n\tif (!section.model?.trim()) section.model = kind === \"tts\" ? OPENPALM_VOICE_TTS_MODEL : OPENPALM_VOICE_STT_MODEL;\n\tif (kind === \"tts\" && !section.voice?.trim()) section.voice = OPENPALM_VOICE_DEFAULT_VOICE;\n}\nfunction validateSection(section, kind) {\n\tif (!section?.engine) return null;\n\tif (section.engine === \"browser\" || section.engine === \"browser-stt\" || section.engine === \"browser-tts\") return null;\n\tif (section.engine.startsWith(\"skip-\")) return null;\n\tif (!section.baseURL?.trim()) return `Remote ${kind.toUpperCase()} requires an endpoint URL.`;\n\treturn null;\n}\nvar PUT = (event) => {\n\treturn withSerialQueue(\"admin:voice:put\", () => handlePut(event));\n};\nasync function handlePut(event) {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:write\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"Bad Request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tif (!body || typeof body !== \"object\") return errorResponse(400, \"Bad Request\", \"Body must be an object\", {}, requestId);\n\tconst b = body;\n\tconst ttsSection = readSection(b.tts, \"tts\");\n\tconst sttSection = readSection(b.stt, \"stt\");\n\tif (ttsSection) applyOpenPalmVoicePreset(ttsSection, \"tts\");\n\tif (sttSection) applyOpenPalmVoicePreset(sttSection, \"stt\");\n\tconst ttsErr = validateSection(ttsSection, \"tts\");\n\tif (ttsErr) return errorResponse(400, \"invalid_tts\", ttsErr, {}, requestId);\n\tconst sttErr = validateSection(sttSection, \"stt\");\n\tif (sttErr) return errorResponse(400, \"invalid_stt\", sttErr, {}, requestId);\n\tconst config = {};\n\tif (ttsSection) config.tts = {\n\t\tenabled: ttsSection.enabled,\n\t\tengine: ttsSection.engine,\n\t\tprovider: ttsSection.provider,\n\t\tbaseURL: ttsSection.baseURL,\n\t\tmodel: ttsSection.model,\n\t\tvoice: ttsSection.voice\n\t};\n\tif (sttSection) config.stt = {\n\t\tenabled: sttSection.enabled,\n\t\tengine: sttSection.engine,\n\t\tprovider: sttSection.provider,\n\t\tbaseURL: sttSection.baseURL,\n\t\tmodel: sttSection.model,\n\t\tlanguage: sttSection.language\n\t};\n\twriteVoiceVars(config, state.homeDir);\n\tconst result = await engageVoiceAddon({\n\t\tstate,\n\t\twantsVoiceAddon: ttsSection?.engine === \"openpalm-voice\" || sttSection?.engine === \"openpalm-voice\",\n\t\trequestedProfile: typeof b.profile === \"string\" ? b.profile.trim() : \"\"\n\t});\n\tswitch (result.status) {\n\t\tcase \"disengaged\": return jsonResponse(200, { ok: true }, requestId);\n\t\tcase \"invalid_profile\": return errorResponse(400, \"invalid_profile\", result.message, {}, requestId);\n\t\tcase \"error\": return jsonResponse(502, {\n\t\t\tok: false,\n\t\t\tvoiceAddon: {\n\t\t\t\twasAlreadyEnabled: result.wasAlreadyEnabled,\n\t\t\t\tsteps: result.steps,\n\t\t\t\terror: result.error\n\t\t\t}\n\t\t}, requestId);\n\t\tcase \"background\": return jsonResponse(202, {\n\t\t\tok: true,\n\t\t\tvoiceAddon: {\n\t\t\t\twasAlreadyEnabled: result.wasAlreadyEnabled,\n\t\t\t\tstatus: \"pulling\",\n\t\t\t\tsteps: result.steps,\n\t\t\t\tmessage: result.message\n\t\t\t}\n\t\t}, requestId);\n\t\tcase \"final\": return jsonResponse(result.healthy || result.warming ? 200 : 502, {\n\t\t\tok: result.healthy || result.warming,\n\t\t\tvoiceAddon: {\n\t\t\t\twasAlreadyEnabled: result.wasAlreadyEnabled,\n\t\t\t\tsteps: result.steps,\n\t\t\t\t...result.warming ? { warming: true } : {},\n\t\t\t\t...result.healthy || result.warming ? {} : { error: \"Voice addon is starting but did not become healthy in time.\" }\n\t\t\t}\n\t\t}, requestId);\n\t}\n}\n//#endregion\nexport { GET, PUT };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { G as createLogger, p as checkDocker, u as composeDown, n as buildComposeOptions, f as applyUninstall } from './src-CS2sSYOR.js';
|
|
2
|
+
import { g as getState } from './state-BRh7vs9j.js';
|
|
3
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-7BvhniSt.js';
|
|
4
|
+
import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
|
|
5
|
+
import './provider-constants-1s1k8kbj.js';
|
|
6
|
+
import './chunk-CLZ62Ad-.js';
|
|
7
|
+
import 'node:module';
|
|
8
|
+
import 'node:fs';
|
|
9
|
+
import 'node:child_process';
|
|
10
|
+
import 'node:path';
|
|
11
|
+
import 'buffer';
|
|
12
|
+
import 'node:url';
|
|
13
|
+
import 'node:os';
|
|
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
|
+
import './endpoints-CU3ehglV.js';
|
|
26
|
+
import './features-DLGlNjZX.js';
|
|
27
|
+
|
|
28
|
+
//#region src/routes/api/host/uninstall/+server.ts
|
|
29
|
+
var logger = createLogger("uninstall");
|
|
30
|
+
var POST = async (event) => {
|
|
31
|
+
const requestId = getRequestId(event);
|
|
32
|
+
const capabilityError = requireCapability(event, "host:recovery", requestId);
|
|
33
|
+
if (capabilityError) return capabilityError;
|
|
34
|
+
logger.info("uninstall request received", { requestId });
|
|
35
|
+
const authError = requireAdmin(event, requestId);
|
|
36
|
+
if (authError) return authError;
|
|
37
|
+
return withSerialQueue("admin:uninstall", async () => {
|
|
38
|
+
try {
|
|
39
|
+
const state = getState();
|
|
40
|
+
const dockerCheck = await checkDocker();
|
|
41
|
+
if (dockerCheck.ok) await composeDown(buildComposeOptions(state));
|
|
42
|
+
logger.info("stopping containers and applying uninstall", {
|
|
43
|
+
requestId,
|
|
44
|
+
dockerAvailable: dockerCheck.ok
|
|
45
|
+
});
|
|
46
|
+
const result = await applyUninstall(state);
|
|
47
|
+
logger.info("uninstall completed", {
|
|
48
|
+
requestId,
|
|
49
|
+
stopped: result.stopped
|
|
50
|
+
});
|
|
51
|
+
return jsonResponse(200, {
|
|
52
|
+
ok: true,
|
|
53
|
+
...result,
|
|
54
|
+
dockerAvailable: dockerCheck.ok
|
|
55
|
+
}, requestId);
|
|
56
|
+
} catch (err) {
|
|
57
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
58
|
+
logger.error("uninstall failed", {
|
|
59
|
+
requestId,
|
|
60
|
+
error: msg
|
|
61
|
+
});
|
|
62
|
+
return errorResponse(500, "uninstall_failed", msg, {}, requestId);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export { POST };
|
|
68
|
+
//# sourceMappingURL=_server.ts-C_qRsJI2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-C_qRsJI2.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/uninstall/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, i as applyUninstall, t as buildComposeOptions } from \"../../../../../chunks/compose-args.js\";\nimport { i as checkDocker, l as composeDown } from \"../../../../../chunks/docker.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/api/host/uninstall/+server.ts\nvar logger = createLogger(\"uninstall\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tlogger.info(\"uninstall request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:uninstall\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tconst dockerCheck = await checkDocker();\n\t\t\tif (dockerCheck.ok) await composeDown(buildComposeOptions(state));\n\t\t\tlogger.info(\"stopping containers and applying uninstall\", {\n\t\t\t\trequestId,\n\t\t\t\tdockerAvailable: dockerCheck.ok\n\t\t\t});\n\t\t\tconst result = await applyUninstall(state);\n\t\t\tlogger.info(\"uninstall completed\", {\n\t\t\t\trequestId,\n\t\t\t\tstopped: result.stopped\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\t...result,\n\t\t\t\tdockerAvailable: dockerCheck.ok\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"uninstall failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"uninstall_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC;AACnC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC;AAC7E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,CAAC;AACzD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,iBAAiB,EAAE,YAAY;AACvD,EAAE,IAAI;AACN,GAAG,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC3B,GAAG,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AAC1C,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpE,GAAG,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;AAC7D,IAAI,SAAS;AACb,IAAI,eAAe,EAAE,WAAW,CAAC;AACjC,IAAI,CAAC;AACL,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC;AAC7C,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACtC,IAAI,SAAS;AACb,IAAI,OAAO,EAAE,MAAM,CAAC;AACpB,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,GAAG,MAAM;AACb,IAAI,eAAe,EAAE,WAAW,CAAC;AACjC,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/D,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AACpE,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { p as checkDocker, y as composePs, n as buildComposeOptions, o as buildManagedServices } from './src-CS2sSYOR.js';
|
|
2
|
+
import { g as getState } from './state-BRh7vs9j.js';
|
|
3
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-7BvhniSt.js';
|
|
4
|
+
import './provider-constants-1s1k8kbj.js';
|
|
5
|
+
import './chunk-CLZ62Ad-.js';
|
|
6
|
+
import 'node:module';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:child_process';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import 'buffer';
|
|
11
|
+
import 'node:url';
|
|
12
|
+
import 'node:os';
|
|
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
|
+
import './endpoints-CU3ehglV.js';
|
|
25
|
+
import './features-DLGlNjZX.js';
|
|
26
|
+
|
|
27
|
+
//#region src/routes/api/host/containers/list/+server.ts
|
|
28
|
+
var GET = async (event) => {
|
|
29
|
+
const requestId = getRequestId(event);
|
|
30
|
+
const capabilityError = requireCapability(event, "host:containers", requestId);
|
|
31
|
+
if (capabilityError) return capabilityError;
|
|
32
|
+
const authError = requireAdmin(event, requestId);
|
|
33
|
+
if (authError) return authError;
|
|
34
|
+
const state = getState();
|
|
35
|
+
const dockerCheck = await checkDocker();
|
|
36
|
+
let dockerContainers = null;
|
|
37
|
+
if (dockerCheck.ok) {
|
|
38
|
+
const ps = await composePs(buildComposeOptions(state));
|
|
39
|
+
if (ps.ok && ps.stdout.trim()) try {
|
|
40
|
+
dockerContainers = ps.stdout.trim().split("\n").filter((l) => l.startsWith("{")).map((l) => JSON.parse(l));
|
|
41
|
+
} catch (e) {
|
|
42
|
+
console.warn("[containers.list] Failed to parse docker compose ps output", e);
|
|
43
|
+
dockerContainers = null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (dockerContainers) {
|
|
47
|
+
const dockerStateByService = /* @__PURE__ */ new Map();
|
|
48
|
+
for (const c of dockerContainers) if (c.Service && c.State) dockerStateByService.set(c.Service, c.State);
|
|
49
|
+
for (const service of Object.keys(state.services)) {
|
|
50
|
+
const dockerState = dockerStateByService.get(service);
|
|
51
|
+
if (dockerState) state.services[service] = dockerState === "running" ? "running" : "stopped";
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
let managedServices;
|
|
55
|
+
try {
|
|
56
|
+
managedServices = await buildManagedServices(state);
|
|
57
|
+
} catch {
|
|
58
|
+
managedServices = Object.keys(state.services);
|
|
59
|
+
}
|
|
60
|
+
const managedSet = new Set(managedServices);
|
|
61
|
+
const containers = {};
|
|
62
|
+
for (const [name, status] of Object.entries(state.services)) if (managedSet.has(name)) containers[name] = status;
|
|
63
|
+
return jsonResponse(200, {
|
|
64
|
+
containers,
|
|
65
|
+
dockerContainers,
|
|
66
|
+
dockerAvailable: dockerCheck.ok,
|
|
67
|
+
managedServices
|
|
68
|
+
}, requestId);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export { GET };
|
|
72
|
+
//# sourceMappingURL=_server.ts-CbkJG3Yk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-CbkJG3Yk.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/containers/list/_server.ts.js"],"sourcesContent":["import { o as buildManagedServices, t as buildComposeOptions } from \"../../../../../../chunks/compose-args.js\";\nimport { i as checkDocker, m as composePs } from \"../../../../../../chunks/docker.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/containers/list/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst dockerCheck = await checkDocker();\n\tlet dockerContainers = null;\n\tif (dockerCheck.ok) {\n\t\tconst ps = await composePs(buildComposeOptions(state));\n\t\tif (ps.ok && ps.stdout.trim()) try {\n\t\t\tdockerContainers = ps.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[containers.list] Failed to parse docker compose ps output\", e);\n\t\t\tdockerContainers = null;\n\t\t}\n\t}\n\tif (dockerContainers) {\n\t\tconst dockerStateByService = /* @__PURE__ */ new Map();\n\t\tfor (const c of dockerContainers) if (c.Service && c.State) dockerStateByService.set(c.Service, c.State);\n\t\tfor (const service of Object.keys(state.services)) {\n\t\t\tconst dockerState = dockerStateByService.get(service);\n\t\t\tif (dockerState) state.services[service] = dockerState === \"running\" ? \"running\" : \"stopped\";\n\t\t}\n\t}\n\tlet managedServices;\n\ttry {\n\t\tmanagedServices = await buildManagedServices(state);\n\t} catch {\n\t\tmanagedServices = Object.keys(state.services);\n\t}\n\tconst managedSet = new Set(managedServices);\n\tconst containers = {};\n\tfor (const [name, status] of Object.entries(state.services)) if (managedSet.has(name)) containers[name] = status;\n\treturn jsonResponse(200, {\n\t\tcontainers,\n\t\tdockerContainers,\n\t\tdockerAvailable: dockerCheck.ok,\n\t\tmanagedServices\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACxC,CAAC,IAAI,gBAAgB,GAAG,IAAI;AAC5B,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE;AACrB,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACxD,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AACrC,GAAG,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7G,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;AACd,GAAG,OAAO,CAAC,IAAI,CAAC,4DAA4D,EAAE,CAAC,CAAC;AAChF,GAAG,gBAAgB,GAAG,IAAI;AAC1B,EAAE;AACF,CAAC;AACD,CAAC,IAAI,gBAAgB,EAAE;AACvB,EAAE,MAAM,oBAAoB,mBAAmB,IAAI,GAAG,EAAE;AACxD,EAAE,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;AAC1G,EAAE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AACrD,GAAG,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;AACxD,GAAG,IAAI,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,KAAK,SAAS,GAAG,SAAS,GAAG,SAAS;AAC/F,EAAE;AACF,CAAC;AACD,CAAC,IAAI,eAAe;AACpB,CAAC,IAAI;AACL,EAAE,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AACrD,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/C,CAAC;AACD,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC;AAC5C,CAAC,MAAM,UAAU,GAAG,EAAE;AACtB,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM;AACjH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,UAAU;AACZ,EAAE,gBAAgB;AAClB,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE;AACjC,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { j as json } from './exports-CcmcYU0M.js';
|
|
2
|
+
import { ah as isSetupComplete, aV as resolveOpenPalmHome } from './src-CS2sSYOR.js';
|
|
3
|
+
import './utils-OXHIhUb5.js';
|
|
4
|
+
import './provider-constants-1s1k8kbj.js';
|
|
5
|
+
import './chunk-CLZ62Ad-.js';
|
|
6
|
+
import 'node:module';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:child_process';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import 'buffer';
|
|
11
|
+
import 'node:url';
|
|
12
|
+
import 'node:os';
|
|
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/api/setup/status/+server.ts
|
|
26
|
+
var GET = () => {
|
|
27
|
+
return json({
|
|
28
|
+
ok: true,
|
|
29
|
+
setupComplete: isSetupComplete(resolveOpenPalmHome())
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { GET };
|
|
34
|
+
//# sourceMappingURL=_server.ts-Cg_4-N8w.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Cg_4-N8w.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Tt as resolveOpenPalmHome } from \"../../../../../chunks/compose-args.js\";\nimport { z as isSetupComplete } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/status/+server.ts\nvar GET = () => {\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: isSetupComplete(resolveOpenPalmHome())\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,eAAe,CAAC,mBAAmB,EAAE;AACtD,EAAE,CAAC;AACH;;;;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { g as getActiveConnection } from './endpoints-CU3ehglV.js';
|
|
2
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-7BvhniSt.js';
|
|
3
|
+
import './src-CS2sSYOR.js';
|
|
4
|
+
import './provider-constants-1s1k8kbj.js';
|
|
5
|
+
import './chunk-CLZ62Ad-.js';
|
|
6
|
+
import 'node:module';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:child_process';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import 'buffer';
|
|
11
|
+
import 'node:url';
|
|
12
|
+
import 'node:os';
|
|
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
|
+
import './state-BRh7vs9j.js';
|
|
25
|
+
import './features-DLGlNjZX.js';
|
|
26
|
+
|
|
27
|
+
//#region src/routes/api/host/health/+server.ts
|
|
28
|
+
var GET = async (event) => {
|
|
29
|
+
const requestId = getRequestId(event);
|
|
30
|
+
const capabilityError = requireCapability(event, "host:stack:read", requestId);
|
|
31
|
+
if (capabilityError) return capabilityError;
|
|
32
|
+
const authError = requireAdmin(event, requestId);
|
|
33
|
+
if (authError) return authError;
|
|
34
|
+
const endpoint = getActiveConnection();
|
|
35
|
+
let opencode = false;
|
|
36
|
+
try {
|
|
37
|
+
const headers = {};
|
|
38
|
+
if (endpoint.password) {
|
|
39
|
+
const user = endpoint.username || "openpalm";
|
|
40
|
+
headers.authorization = `Basic ${btoa(`${user}:${endpoint.password}`)}`;
|
|
41
|
+
}
|
|
42
|
+
opencode = (await fetch(`${endpoint.url}/health`, {
|
|
43
|
+
headers,
|
|
44
|
+
signal: AbortSignal.timeout(2e3)
|
|
45
|
+
})).ok;
|
|
46
|
+
} catch {}
|
|
47
|
+
return jsonResponse(200, {
|
|
48
|
+
ok: true,
|
|
49
|
+
opencode,
|
|
50
|
+
endpoint: {
|
|
51
|
+
id: endpoint.id,
|
|
52
|
+
label: endpoint.label,
|
|
53
|
+
url: endpoint.url,
|
|
54
|
+
isDefault: endpoint.isDefault
|
|
55
|
+
}
|
|
56
|
+
}, requestId);
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export { GET };
|
|
60
|
+
//# sourceMappingURL=_server.ts-Chf0EFLa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Chf0EFLa.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/health/_server.ts.js"],"sourcesContent":["import { r as getActiveConnection } from \"../../../../../chunks/endpoints.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveConnection();\n\tlet opencode = false;\n\ttry {\n\t\tconst headers = {};\n\t\tif (endpoint.password) {\n\t\t\tconst user = endpoint.username || \"openpalm\";\n\t\t\theaders.authorization = `Basic ${btoa(`${user}:${endpoint.password}`)}`;\n\t\t}\n\t\topencode = (await fetch(`${endpoint.url}/health`, {\n\t\t\theaders,\n\t\t\tsignal: AbortSignal.timeout(2e3)\n\t\t})).ok;\n\t} catch {}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\topencode,\n\t\tendpoint: {\n\t\t\tid: endpoint.id,\n\t\t\tlabel: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tisDefault: endpoint.isDefault\n\t\t}\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,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,mBAAmB,EAAE;AACvC,CAAC,IAAI,QAAQ,GAAG,KAAK;AACrB,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACzB,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU;AAC/C,GAAG,OAAO,CAAC,aAAa,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,EAAE;AACF,EAAE,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpD,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC,EAAE,EAAE;AACR,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ,EAAE;AACZ,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE;AAClB,GAAG,KAAK,EAAE,QAAQ,CAAC,KAAK;AACxB,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;AACpB,GAAG,SAAS,EAAE,QAAQ,CAAC;AACvB;AACA,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { j as json } from './exports-CcmcYU0M.js';
|
|
2
|
+
import { g as getOpenCodeClient } from './helpers-7BvhniSt.js';
|
|
3
|
+
import './utils-OXHIhUb5.js';
|
|
4
|
+
import './src-CS2sSYOR.js';
|
|
5
|
+
import './provider-constants-1s1k8kbj.js';
|
|
6
|
+
import './chunk-CLZ62Ad-.js';
|
|
7
|
+
import 'node:module';
|
|
8
|
+
import 'node:fs';
|
|
9
|
+
import 'node:child_process';
|
|
10
|
+
import 'node:path';
|
|
11
|
+
import 'buffer';
|
|
12
|
+
import 'node:url';
|
|
13
|
+
import 'node:os';
|
|
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
|
+
import './endpoints-CU3ehglV.js';
|
|
26
|
+
import './state-BRh7vs9j.js';
|
|
27
|
+
import './features-DLGlNjZX.js';
|
|
28
|
+
|
|
29
|
+
//#region src/routes/api/setup/opencode/auth/[provider]/+server.ts
|
|
30
|
+
var PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;
|
|
31
|
+
var PUT = async ({ params, request }) => {
|
|
32
|
+
if (!PROVIDER_ID_RE.test(params.provider)) return json({
|
|
33
|
+
ok: false,
|
|
34
|
+
message: "Invalid provider"
|
|
35
|
+
}, { status: 400 });
|
|
36
|
+
try {
|
|
37
|
+
const { key } = await request.json();
|
|
38
|
+
if (!(await getOpenCodeClient().setProviderApiKey(params.provider, typeof key === "string" ? key : "")).ok) return json({
|
|
39
|
+
ok: false,
|
|
40
|
+
message: "Failed to set provider credentials"
|
|
41
|
+
}, { status: 400 });
|
|
42
|
+
return json({ ok: true });
|
|
43
|
+
} catch {
|
|
44
|
+
return json({
|
|
45
|
+
ok: false,
|
|
46
|
+
message: "Failed to set provider credentials"
|
|
47
|
+
}, { status: 500 });
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { PUT };
|
|
52
|
+
//# sourceMappingURL=_server.ts-Ci1n4eQ3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Ci1n4eQ3.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/auth/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../chunks/exports.js\";\nimport { i as getOpenCodeClient } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/auth/[provider]/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar PUT = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst { key } = await request.json();\n\t\tif (!(await getOpenCodeClient().setProviderApiKey(params.provider, typeof key === \"string\" ? key : \"\")).ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 400 });\n\t\treturn json({ ok: true });\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AACzC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACtC,EAAE,IAAI,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC1H,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ao as loadAutomations } from './src-CS2sSYOR.js';
|
|
2
|
+
import { g as getState } from './state-BRh7vs9j.js';
|
|
3
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-7BvhniSt.js';
|
|
4
|
+
import './provider-constants-1s1k8kbj.js';
|
|
5
|
+
import './chunk-CLZ62Ad-.js';
|
|
6
|
+
import 'node:module';
|
|
7
|
+
import 'node:fs';
|
|
8
|
+
import 'node:child_process';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import 'buffer';
|
|
11
|
+
import 'node:url';
|
|
12
|
+
import 'node:os';
|
|
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
|
+
import './endpoints-CU3ehglV.js';
|
|
25
|
+
import './features-DLGlNjZX.js';
|
|
26
|
+
|
|
27
|
+
//#region src/routes/api/host/automations/+server.ts
|
|
28
|
+
var GET = async (event) => {
|
|
29
|
+
const requestId = getRequestId(event);
|
|
30
|
+
const capabilityError = requireCapability(event, "host:stack:read", requestId);
|
|
31
|
+
if (capabilityError) return capabilityError;
|
|
32
|
+
const authErr = requireAdmin(event, requestId);
|
|
33
|
+
if (authErr) return authErr;
|
|
34
|
+
return jsonResponse(200, { automations: loadAutomations(getState().stashDir).map((c) => ({
|
|
35
|
+
name: c.name,
|
|
36
|
+
description: c.description,
|
|
37
|
+
schedule: c.schedule,
|
|
38
|
+
timezone: c.timezone,
|
|
39
|
+
enabled: c.enabled,
|
|
40
|
+
action: {
|
|
41
|
+
type: c.action.type,
|
|
42
|
+
content: c.action.content,
|
|
43
|
+
agent: c.action.agent
|
|
44
|
+
},
|
|
45
|
+
on_failure: c.on_failure,
|
|
46
|
+
fileName: c.fileName
|
|
47
|
+
})) }, requestId);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export { GET };
|
|
51
|
+
//# sourceMappingURL=_server.ts-ClO4pSRG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-ClO4pSRG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_server.ts.js"],"sourcesContent":["import { m as loadAutomations } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\treturn jsonResponse(200, { automations: loadAutomations(getState().stashDir).map((c) => ({\n\t\tname: c.name,\n\t\tdescription: c.description,\n\t\tschedule: c.schedule,\n\t\ttimezone: c.timezone,\n\t\tenabled: c.enabled,\n\t\taction: {\n\t\t\ttype: c.action.type,\n\t\t\tcontent: c.action.content,\n\t\t\tagent: c.action.agent\n\t\t},\n\t\ton_failure: c.on_failure,\n\t\tfileName: c.fileName\n\t})) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC1F,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;AACd,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;AAC5B,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;AACpB,EAAE,MAAM,EAAE;AACV,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;AACtB,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;AAC5B,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;AACnB,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;AAC1B,EAAE,QAAQ,EAAE,CAAC,CAAC;AACd,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB;;;;"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { j as json } from './exports-CcmcYU0M.js';
|
|
2
|
+
import { a as PROVIDER_KEY_MAP } from './provider-constants-1s1k8kbj.js';
|
|
3
|
+
import { ah as isSetupComplete, aV as resolveOpenPalmHome, Q as detectGpu, T as detectLocalProviders, R as detectHostOpenCode, aK as recommendSetup, j as authJsonPath } from './src-CS2sSYOR.js';
|
|
4
|
+
import { g as getState } from './state-BRh7vs9j.js';
|
|
5
|
+
import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-7BvhniSt.js';
|
|
6
|
+
import { a as LOCAL_PROVIDER_IDS } from './constants-B7J5DDaI.js';
|
|
7
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
8
|
+
import './utils-OXHIhUb5.js';
|
|
9
|
+
import './chunk-CLZ62Ad-.js';
|
|
10
|
+
import 'node:module';
|
|
11
|
+
import 'node:child_process';
|
|
12
|
+
import 'node:path';
|
|
13
|
+
import 'buffer';
|
|
14
|
+
import 'node:url';
|
|
15
|
+
import 'node:os';
|
|
16
|
+
import 'node:crypto';
|
|
17
|
+
import 'events';
|
|
18
|
+
import 'fs';
|
|
19
|
+
import 'node:events';
|
|
20
|
+
import 'node:stream';
|
|
21
|
+
import 'node:string_decoder';
|
|
22
|
+
import 'path';
|
|
23
|
+
import 'assert';
|
|
24
|
+
import 'zlib';
|
|
25
|
+
import 'node:assert';
|
|
26
|
+
import 'node:fs/promises';
|
|
27
|
+
import './endpoints-CU3ehglV.js';
|
|
28
|
+
import './features-DLGlNjZX.js';
|
|
29
|
+
|
|
30
|
+
//#region src/routes/api/setup/recommend/+server.ts
|
|
31
|
+
/**
|
|
32
|
+
* Providers to exclude from the detected "cloud" list: everything that runs on
|
|
33
|
+
* this computer (LOCAL_PROVIDER_IDS) plus `openai-compatible`. Custom
|
|
34
|
+
* openai-compatible endpoints are detected separately as host providers, so
|
|
35
|
+
* counting them as cloud would double-count them here — this is a server-side
|
|
36
|
+
* recommendation concern only, which is why it stays a superset rather than
|
|
37
|
+
* being folded into the shared LOCAL_PROVIDER_IDS.
|
|
38
|
+
*/
|
|
39
|
+
var CLOUD_EXCLUDED_PROVIDER_IDS = new Set([...LOCAL_PROVIDER_IDS, "openai-compatible"]);
|
|
40
|
+
/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */
|
|
41
|
+
function authJsonConnected() {
|
|
42
|
+
try {
|
|
43
|
+
const path = authJsonPath(getState());
|
|
44
|
+
if (!existsSync(path)) return [];
|
|
45
|
+
const data = JSON.parse(readFileSync(path, "utf-8"));
|
|
46
|
+
return Object.keys(data ?? {});
|
|
47
|
+
} catch {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Fallback: providers whose API-key env var is present in the process env. */
|
|
52
|
+
function envKeyConnected() {
|
|
53
|
+
const out = [];
|
|
54
|
+
for (const [provider, envVar] of Object.entries(PROVIDER_KEY_MAP)) if (process.env[envVar]) out.push(provider);
|
|
55
|
+
return out;
|
|
56
|
+
}
|
|
57
|
+
/** Cloud providers = OpenCode connected[] ∪ auth.json credentials, minus locals.
|
|
58
|
+
* Falls back to env-key detection when OpenCode is unavailable. */
|
|
59
|
+
async function detectCloudProviders() {
|
|
60
|
+
let connected;
|
|
61
|
+
try {
|
|
62
|
+
const client = getOpenCodeClient();
|
|
63
|
+
if (await client.isAvailable()) {
|
|
64
|
+
const catalog = await client.proxy("/provider");
|
|
65
|
+
const raw = catalog.ok ? catalog.data : {};
|
|
66
|
+
connected = Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()]));
|
|
67
|
+
} else connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));
|
|
68
|
+
} catch {
|
|
69
|
+
connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));
|
|
70
|
+
}
|
|
71
|
+
return connected.filter((id) => !CLOUD_EXCLUDED_PROVIDER_IDS.has(id));
|
|
72
|
+
}
|
|
73
|
+
var GET = async (event) => {
|
|
74
|
+
if (isSetupComplete(resolveOpenPalmHome())) {
|
|
75
|
+
const authError = requireAdmin(event, getRequestId(event));
|
|
76
|
+
if (authError) return authError;
|
|
77
|
+
}
|
|
78
|
+
const [cloudProviders, gpu, localDetections, hostOpenCode] = await Promise.all([
|
|
79
|
+
detectCloudProviders(),
|
|
80
|
+
detectGpu(),
|
|
81
|
+
detectLocalProviders(),
|
|
82
|
+
Promise.resolve(detectHostOpenCode())
|
|
83
|
+
]);
|
|
84
|
+
const hostProviders = localDetections.filter((p) => p.available).map((p) => ({
|
|
85
|
+
provider: p.provider,
|
|
86
|
+
url: p.url
|
|
87
|
+
}));
|
|
88
|
+
return json({
|
|
89
|
+
ok: true,
|
|
90
|
+
recommendation: recommendSetup({
|
|
91
|
+
cloudProviders,
|
|
92
|
+
hostProviders,
|
|
93
|
+
gpu,
|
|
94
|
+
hostCredentialCount: hostOpenCode.credentialCount
|
|
95
|
+
}),
|
|
96
|
+
gpu,
|
|
97
|
+
cloudProviders,
|
|
98
|
+
hostProviders
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
export { GET };
|
|
103
|
+
//# sourceMappingURL=_server.ts-Cp6d9DIG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Cp6d9DIG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/recommend/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { i as PROVIDER_KEY_MAP } from \"../../../../../chunks/provider-constants.js\";\nimport { Tt as resolveOpenPalmHome, dt as authJsonPath } from \"../../../../../chunks/compose-args.js\";\nimport { d as detectGpu, f as detectLocalProviders, o as detectHostOpenCode, u as recommendSetup, z as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, i as getOpenCodeClient, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { r as LOCAL_PROVIDER_IDS } from \"../../../../../chunks/constants.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/recommend/+server.ts\n/**\n* Providers to exclude from the detected \"cloud\" list: everything that runs on\n* this computer (LOCAL_PROVIDER_IDS) plus `openai-compatible`. Custom\n* openai-compatible endpoints are detected separately as host providers, so\n* counting them as cloud would double-count them here — this is a server-side\n* recommendation concern only, which is why it stays a superset rather than\n* being folded into the shared LOCAL_PROVIDER_IDS.\n*/\nvar CLOUD_EXCLUDED_PROVIDER_IDS = new Set([...LOCAL_PROVIDER_IDS, \"openai-compatible\"]);\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\n/** Fallback: providers whose API-key env var is present in the process env. */\nfunction envKeyConnected() {\n\tconst out = [];\n\tfor (const [provider, envVar] of Object.entries(PROVIDER_KEY_MAP)) if (process.env[envVar]) out.push(provider);\n\treturn out;\n}\n/** Cloud providers = OpenCode connected[] ∪ auth.json credentials, minus locals.\n* Falls back to env-key detection when OpenCode is unavailable. */\nasync function detectCloudProviders() {\n\tlet connected;\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (await client.isAvailable()) {\n\t\t\tconst catalog = await client.proxy(\"/provider\");\n\t\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\t\tconnected = Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()]));\n\t\t} else connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t} catch {\n\t\tconnected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t}\n\treturn connected.filter((id) => !CLOUD_EXCLUDED_PROVIDER_IDS.has(id));\n}\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveOpenPalmHome())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst [cloudProviders, gpu, localDetections, hostOpenCode] = await Promise.all([\n\t\tdetectCloudProviders(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tPromise.resolve(detectHostOpenCode())\n\t]);\n\tconst hostProviders = localDetections.filter((p) => p.available).map((p) => ({\n\t\tprovider: p.provider,\n\t\turl: p.url\n\t}));\n\treturn json({\n\t\tok: true,\n\t\trecommendation: recommendSetup({\n\t\t\tcloudProviders,\n\t\t\thostProviders,\n\t\t\tgpu,\n\t\t\thostCredentialCount: hostOpenCode.credentialCount\n\t\t}),\n\t\tgpu,\n\t\tcloudProviders,\n\t\thostProviders\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|