@openpalm/ui 0.12.52 → 0.13.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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.vqGkbIg9.css +1 -0
- package/build/client/_app/immutable/assets/9.vqGkbIg9.css.br +0 -0
- package/build/client/_app/immutable/assets/9.vqGkbIg9.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/9mRSvTWj.js +1 -0
- package/build/client/_app/immutable/chunks/9mRSvTWj.js.br +0 -0
- package/build/client/_app/immutable/chunks/9mRSvTWj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BApqEZP1.js +3 -0
- package/build/client/_app/immutable/chunks/BApqEZP1.js.br +0 -0
- package/build/client/_app/immutable/chunks/BApqEZP1.js.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/B_Sgy7qx.js +1 -0
- package/build/client/_app/immutable/chunks/B_Sgy7qx.js.br +2 -0
- package/build/client/_app/immutable/chunks/B_Sgy7qx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B_jhBV5Z.js +5 -0
- package/build/client/_app/immutable/chunks/B_jhBV5Z.js.br +0 -0
- package/build/client/_app/immutable/chunks/B_jhBV5Z.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Be7qat4r.js +3 -0
- package/build/client/_app/immutable/chunks/Be7qat4r.js.br +0 -0
- package/build/client/_app/immutable/chunks/Be7qat4r.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BoOBAdGl.js +1 -0
- package/build/client/_app/immutable/chunks/BoOBAdGl.js.br +0 -0
- package/build/client/_app/immutable/chunks/BoOBAdGl.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/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/DBHgGGCD.js +1 -0
- package/build/client/_app/immutable/chunks/DBHgGGCD.js.br +0 -0
- package/build/client/_app/immutable/chunks/DBHgGGCD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DSs95sLz.js +1 -0
- package/build/client/_app/immutable/chunks/DSs95sLz.js.br +0 -0
- package/build/client/_app/immutable/chunks/DSs95sLz.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.DZwy1Y3W.js +2 -0
- package/build/client/_app/immutable/entry/app.DZwy1Y3W.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DZwy1Y3W.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.C0ic7Ewp.js +1 -0
- package/build/client/_app/immutable/entry/start.C0ic7Ewp.js.br +1 -0
- package/build/client/_app/immutable/entry/start.C0ic7Ewp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js +1 -0
- package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.Bxihn5f1.js +1 -0
- package/build/client/_app/immutable/nodes/1.Bxihn5f1.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.Bxihn5f1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.BZ76_WLP.js +1 -0
- package/build/client/_app/immutable/nodes/10.BZ76_WLP.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.BZ76_WLP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.Bzf3G5G0.js +6 -0
- package/build/client/_app/immutable/nodes/11.Bzf3G5G0.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.Bzf3G5G0.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.D-CwW2PH.js +1 -0
- package/build/client/_app/immutable/nodes/4.D-CwW2PH.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.D-CwW2PH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BbStivMI.js +2 -0
- package/build/client/_app/immutable/nodes/5.BbStivMI.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BbStivMI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BKVgKxKO.js +2 -0
- package/build/client/_app/immutable/nodes/6.BKVgKxKO.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BKVgKxKO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.DuXt155R.js +4 -0
- package/build/client/_app/immutable/nodes/7.DuXt155R.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DuXt155R.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.BdeFVi2a.js +126 -0
- package/build/client/_app/immutable/nodes/9.BdeFVi2a.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BdeFVi2a.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-C7zzjezl.js +43 -0
- package/build/server/chunks/0-C7zzjezl.js.map +1 -0
- package/build/server/chunks/1-Ceq9WsUZ.js +9 -0
- package/build/server/chunks/1-Ceq9WsUZ.js.map +1 -0
- package/build/server/chunks/10-DbLLQ-Uy.js +35 -0
- package/build/server/chunks/10-DbLLQ-Uy.js.map +1 -0
- package/build/server/chunks/11-Dryt5Piv.js +9 -0
- package/build/server/chunks/11-Dryt5Piv.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-CAH3EmhU.js +58 -0
- package/build/server/chunks/3-CAH3EmhU.js.map +1 -0
- package/build/server/chunks/4-DxmFWVQJ.js +9 -0
- package/build/server/chunks/4-DxmFWVQJ.js.map +1 -0
- package/build/server/chunks/5-CQ9cELI7.js +9 -0
- package/build/server/chunks/5-CQ9cELI7.js.map +1 -0
- package/build/server/chunks/6-B-hnmc7F.js +9 -0
- package/build/server/chunks/6-B-hnmc7F.js.map +1 -0
- package/build/server/chunks/7-BE6BzHsh.js +9 -0
- package/build/server/chunks/7-BE6BzHsh.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-BWzd_hmh.js +42 -0
- package/build/server/chunks/9-BWzd_hmh.js.map +1 -0
- package/build/server/chunks/ChatNavbar-BonHVqfi.js +243 -0
- package/build/server/chunks/ChatNavbar-BonHVqfi.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-fOHYHe-O.js +180 -0
- package/build/server/chunks/IconServer-fOHYHe-O.js.map +1 -0
- package/build/server/chunks/IconSoundOn-DHtvjphK.js +1116 -0
- package/build/server/chunks/IconSoundOn-DHtvjphK.js.map +1 -0
- package/build/server/chunks/IconStop-C89_dmt4.js +956 -0
- package/build/server/chunks/IconStop-C89_dmt4.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-BLxvGwKC.js +67 -0
- package/build/server/chunks/_layout.svelte-BLxvGwKC.js.map +1 -0
- package/build/server/chunks/_page.svelte-0Rf024eH.js +530 -0
- package/build/server/chunks/_page.svelte-0Rf024eH.js.map +1 -0
- package/build/server/chunks/_page.svelte-BWNjxN63.js +82 -0
- package/build/server/chunks/_page.svelte-BWNjxN63.js.map +1 -0
- package/build/server/chunks/_page.svelte-BXeh8wzh.js +2425 -0
- package/build/server/chunks/_page.svelte-BXeh8wzh.js.map +1 -0
- package/build/server/chunks/_page.svelte-Bovrn7AQ.js +47 -0
- package/build/server/chunks/_page.svelte-Bovrn7AQ.js.map +1 -0
- package/build/server/chunks/_page.svelte-COf36oAu.js +92 -0
- package/build/server/chunks/_page.svelte-COf36oAu.js.map +1 -0
- package/build/server/chunks/_page.svelte-DkZsmNYc.js +24 -0
- package/build/server/chunks/_page.svelte-DkZsmNYc.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/_page.svelte-LsoJ7E5M.js +3516 -0
- package/build/server/chunks/_page.svelte-LsoJ7E5M.js.map +1 -0
- package/build/server/chunks/_server.ts-2-50j5S8.js +93 -0
- package/build/server/chunks/_server.ts-2-50j5S8.js.map +1 -0
- package/build/server/chunks/_server.ts-2Z0JYuCr.js +61 -0
- package/build/server/chunks/_server.ts-2Z0JYuCr.js.map +1 -0
- package/build/server/chunks/_server.ts-42ZGRWhn.js +58 -0
- package/build/server/chunks/_server.ts-42ZGRWhn.js.map +1 -0
- package/build/server/chunks/_server.ts-6EuPIrt7.js +88 -0
- package/build/server/chunks/_server.ts-6EuPIrt7.js.map +1 -0
- package/build/server/chunks/_server.ts-6muCM4Nz.js +44 -0
- package/build/server/chunks/_server.ts-6muCM4Nz.js.map +1 -0
- package/build/server/chunks/_server.ts-B28SfXaZ.js +172 -0
- package/build/server/chunks/_server.ts-B28SfXaZ.js.map +1 -0
- package/build/server/chunks/_server.ts-BA11l9Z1.js +87 -0
- package/build/server/chunks/_server.ts-BA11l9Z1.js.map +1 -0
- package/build/server/chunks/_server.ts-BA7wxHYg.js +61 -0
- package/build/server/chunks/_server.ts-BA7wxHYg.js.map +1 -0
- package/build/server/chunks/_server.ts-BARmSEZ2.js +49 -0
- package/build/server/chunks/_server.ts-BARmSEZ2.js.map +1 -0
- package/build/server/chunks/_server.ts-BBewn2kP.js +106 -0
- package/build/server/chunks/_server.ts-BBewn2kP.js.map +1 -0
- package/build/server/chunks/_server.ts-BEaiuN8Q.js +66 -0
- package/build/server/chunks/_server.ts-BEaiuN8Q.js.map +1 -0
- package/build/server/chunks/_server.ts-BJrYBXpY.js +87 -0
- package/build/server/chunks/_server.ts-BJrYBXpY.js.map +1 -0
- package/build/server/chunks/_server.ts-BJv74_DI.js +52 -0
- package/build/server/chunks/_server.ts-BJv74_DI.js.map +1 -0
- package/build/server/chunks/_server.ts-BKWx8K8U.js +60 -0
- package/build/server/chunks/_server.ts-BKWx8K8U.js.map +1 -0
- package/build/server/chunks/_server.ts-BLn_cTkK.js +58 -0
- package/build/server/chunks/_server.ts-BLn_cTkK.js.map +1 -0
- package/build/server/chunks/_server.ts-BR24J2uB.js +40 -0
- package/build/server/chunks/_server.ts-BR24J2uB.js.map +1 -0
- package/build/server/chunks/_server.ts-BRdjsMSd.js +44 -0
- package/build/server/chunks/_server.ts-BRdjsMSd.js.map +1 -0
- package/build/server/chunks/_server.ts-BTPbwN92.js +92 -0
- package/build/server/chunks/_server.ts-BTPbwN92.js.map +1 -0
- package/build/server/chunks/_server.ts-BUDMOZOz.js +44 -0
- package/build/server/chunks/_server.ts-BUDMOZOz.js.map +1 -0
- package/build/server/chunks/_server.ts-BVMpHE3G.js +38 -0
- package/build/server/chunks/_server.ts-BVMpHE3G.js.map +1 -0
- package/build/server/chunks/_server.ts-BWO1Eoro.js +45 -0
- package/build/server/chunks/_server.ts-BWO1Eoro.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-Ba8xSIQn.js +107 -0
- package/build/server/chunks/_server.ts-Ba8xSIQn.js.map +1 -0
- package/build/server/chunks/_server.ts-BeP_sHqj.js +58 -0
- package/build/server/chunks/_server.ts-BeP_sHqj.js.map +1 -0
- package/build/server/chunks/_server.ts-BhAp0vvt.js +171 -0
- package/build/server/chunks/_server.ts-BhAp0vvt.js.map +1 -0
- package/build/server/chunks/_server.ts-Bi0rRbcw.js +166 -0
- package/build/server/chunks/_server.ts-Bi0rRbcw.js.map +1 -0
- package/build/server/chunks/_server.ts-BjD0Uf0U.js +248 -0
- package/build/server/chunks/_server.ts-BjD0Uf0U.js.map +1 -0
- package/build/server/chunks/_server.ts-BjjicBDy.js +173 -0
- package/build/server/chunks/_server.ts-BjjicBDy.js.map +1 -0
- package/build/server/chunks/_server.ts-BsPu8Fny.js +521 -0
- package/build/server/chunks/_server.ts-BsPu8Fny.js.map +1 -0
- package/build/server/chunks/_server.ts-C-tvKaFE.js +68 -0
- package/build/server/chunks/_server.ts-C-tvKaFE.js.map +1 -0
- package/build/server/chunks/_server.ts-C83FzZfP.js +36 -0
- package/build/server/chunks/_server.ts-C83FzZfP.js.map +1 -0
- package/build/server/chunks/_server.ts-C8eCqXP6.js +96 -0
- package/build/server/chunks/_server.ts-C8eCqXP6.js.map +1 -0
- package/build/server/chunks/_server.ts-C9F005zM.js +45 -0
- package/build/server/chunks/_server.ts-C9F005zM.js.map +1 -0
- package/build/server/chunks/_server.ts-CCmsGl_u.js +111 -0
- package/build/server/chunks/_server.ts-CCmsGl_u.js.map +1 -0
- package/build/server/chunks/_server.ts-CG60Cdqf.js +205 -0
- package/build/server/chunks/_server.ts-CG60Cdqf.js.map +1 -0
- package/build/server/chunks/_server.ts-CGZizh2V.js +105 -0
- package/build/server/chunks/_server.ts-CGZizh2V.js.map +1 -0
- package/build/server/chunks/_server.ts-CIv0zM75.js +70 -0
- package/build/server/chunks/_server.ts-CIv0zM75.js.map +1 -0
- package/build/server/chunks/_server.ts-CJVwtNhA.js +34 -0
- package/build/server/chunks/_server.ts-CJVwtNhA.js.map +1 -0
- package/build/server/chunks/_server.ts-CMAepV0J.js +38 -0
- package/build/server/chunks/_server.ts-CMAepV0J.js.map +1 -0
- package/build/server/chunks/_server.ts-COcv1puW.js +57 -0
- package/build/server/chunks/_server.ts-COcv1puW.js.map +1 -0
- package/build/server/chunks/_server.ts-CQHkw9ni.js +94 -0
- package/build/server/chunks/_server.ts-CQHkw9ni.js.map +1 -0
- package/build/server/chunks/_server.ts-CS2LQKMb.js +44 -0
- package/build/server/chunks/_server.ts-CS2LQKMb.js.map +1 -0
- package/build/server/chunks/_server.ts-CX_CwTW0.js +41 -0
- package/build/server/chunks/_server.ts-CX_CwTW0.js.map +1 -0
- package/build/server/chunks/_server.ts-CcoaYeM8.js +50 -0
- package/build/server/chunks/_server.ts-CcoaYeM8.js.map +1 -0
- package/build/server/chunks/_server.ts-CfuLncMW.js +134 -0
- package/build/server/chunks/_server.ts-CfuLncMW.js.map +1 -0
- package/build/server/chunks/_server.ts-CjPhaG_g.js +68 -0
- package/build/server/chunks/_server.ts-CjPhaG_g.js.map +1 -0
- package/build/server/chunks/_server.ts-CmUo0zla.js +112 -0
- package/build/server/chunks/_server.ts-CmUo0zla.js.map +1 -0
- package/build/server/chunks/_server.ts-CnQ4hgIT.js +41 -0
- package/build/server/chunks/_server.ts-CnQ4hgIT.js.map +1 -0
- package/build/server/chunks/_server.ts-CncBUb14.js +64 -0
- package/build/server/chunks/_server.ts-CncBUb14.js.map +1 -0
- package/build/server/chunks/_server.ts-CnrWBkQ7.js +149 -0
- package/build/server/chunks/_server.ts-CnrWBkQ7.js.map +1 -0
- package/build/server/chunks/_server.ts-CspCDw2x.js +49 -0
- package/build/server/chunks/_server.ts-CspCDw2x.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-D-6mgHZB.js +72 -0
- package/build/server/chunks/_server.ts-D-6mgHZB.js.map +1 -0
- package/build/server/chunks/_server.ts-D-Rf8If2.js +94 -0
- package/build/server/chunks/_server.ts-D-Rf8If2.js.map +1 -0
- package/build/server/chunks/_server.ts-D5F-pzp2.js +45 -0
- package/build/server/chunks/_server.ts-D5F-pzp2.js.map +1 -0
- package/build/server/chunks/_server.ts-D6wuFDe4.js +77 -0
- package/build/server/chunks/_server.ts-D6wuFDe4.js.map +1 -0
- package/build/server/chunks/_server.ts-D7VWMcNm.js +80 -0
- package/build/server/chunks/_server.ts-D7VWMcNm.js.map +1 -0
- package/build/server/chunks/_server.ts-D7X0LmkL.js +65 -0
- package/build/server/chunks/_server.ts-D7X0LmkL.js.map +1 -0
- package/build/server/chunks/_server.ts-D9yQyMbZ.js +141 -0
- package/build/server/chunks/_server.ts-D9yQyMbZ.js.map +1 -0
- package/build/server/chunks/_server.ts-DE-c3Y5D.js +48 -0
- package/build/server/chunks/_server.ts-DE-c3Y5D.js.map +1 -0
- package/build/server/chunks/_server.ts-DH343hlx.js +57 -0
- package/build/server/chunks/_server.ts-DH343hlx.js.map +1 -0
- package/build/server/chunks/_server.ts-DH3Uc_0m.js +57 -0
- package/build/server/chunks/_server.ts-DH3Uc_0m.js.map +1 -0
- package/build/server/chunks/_server.ts-DHeSwA7p.js +55 -0
- package/build/server/chunks/_server.ts-DHeSwA7p.js.map +1 -0
- package/build/server/chunks/_server.ts-DJCIu42O.js +49 -0
- package/build/server/chunks/_server.ts-DJCIu42O.js.map +1 -0
- package/build/server/chunks/_server.ts-DJqSQny9.js +56 -0
- package/build/server/chunks/_server.ts-DJqSQny9.js.map +1 -0
- package/build/server/chunks/_server.ts-DKYXeaKr.js +88 -0
- package/build/server/chunks/_server.ts-DKYXeaKr.js.map +1 -0
- package/build/server/chunks/_server.ts-DM9EsKQc.js +68 -0
- package/build/server/chunks/_server.ts-DM9EsKQc.js.map +1 -0
- package/build/server/chunks/_server.ts-DQozxLn6.js +58 -0
- package/build/server/chunks/_server.ts-DQozxLn6.js.map +1 -0
- package/build/server/chunks/_server.ts-DTQe-U35.js +80 -0
- package/build/server/chunks/_server.ts-DTQe-U35.js.map +1 -0
- package/build/server/chunks/_server.ts-Dcf84tjG.js +42 -0
- package/build/server/chunks/_server.ts-Dcf84tjG.js.map +1 -0
- package/build/server/chunks/_server.ts-DdHx6Xig.js +88 -0
- package/build/server/chunks/_server.ts-DdHx6Xig.js.map +1 -0
- package/build/server/chunks/_server.ts-DdoJFQaX.js +89 -0
- package/build/server/chunks/_server.ts-DdoJFQaX.js.map +1 -0
- package/build/server/chunks/_server.ts-DdocuErM.js +71 -0
- package/build/server/chunks/_server.ts-DdocuErM.js.map +1 -0
- package/build/server/chunks/_server.ts-Ddqhnr_7.js +58 -0
- package/build/server/chunks/_server.ts-Ddqhnr_7.js.map +1 -0
- package/build/server/chunks/_server.ts-Dj6nwJgl.js +42 -0
- package/build/server/chunks/_server.ts-Dj6nwJgl.js.map +1 -0
- package/build/server/chunks/_server.ts-Dl-Rn5Ku.js +68 -0
- package/build/server/chunks/_server.ts-Dl-Rn5Ku.js.map +1 -0
- package/build/server/chunks/_server.ts-DnczK3Pw.js +49 -0
- package/build/server/chunks/_server.ts-DnczK3Pw.js.map +1 -0
- package/build/server/chunks/_server.ts-Dq4RvC5F.js +69 -0
- package/build/server/chunks/_server.ts-Dq4RvC5F.js.map +1 -0
- package/build/server/chunks/_server.ts-DrGzrygC.js +103 -0
- package/build/server/chunks/_server.ts-DrGzrygC.js.map +1 -0
- package/build/server/chunks/_server.ts-Ds62LEMU.js +162 -0
- package/build/server/chunks/_server.ts-Ds62LEMU.js.map +1 -0
- package/build/server/chunks/_server.ts-DsVbuYhj.js +64 -0
- package/build/server/chunks/_server.ts-DsVbuYhj.js.map +1 -0
- package/build/server/chunks/_server.ts-Dy65kWxL.js +84 -0
- package/build/server/chunks/_server.ts-Dy65kWxL.js.map +1 -0
- package/build/server/chunks/_server.ts-Dy9l5NMO.js +715 -0
- package/build/server/chunks/_server.ts-Dy9l5NMO.js.map +1 -0
- package/build/server/chunks/_server.ts-JO0zy17P.js +60 -0
- package/build/server/chunks/_server.ts-JO0zy17P.js.map +1 -0
- package/build/server/chunks/_server.ts-LokXM9hH.js +51 -0
- package/build/server/chunks/_server.ts-LokXM9hH.js.map +1 -0
- package/build/server/chunks/_server.ts-pRYFJihh.js +72 -0
- package/build/server/chunks/_server.ts-pRYFJihh.js.map +1 -0
- package/build/server/chunks/_server.ts-xPuEhFJO.js +56 -0
- package/build/server/chunks/_server.ts-xPuEhFJO.js.map +1 -0
- package/build/server/chunks/addon-helpers-Cgg8lPxe.js +51 -0
- package/build/server/chunks/addon-helpers-Cgg8lPxe.js.map +1 -0
- package/build/server/chunks/akm-5HN45xWY.js +151 -0
- package/build/server/chunks/akm-5HN45xWY.js.map +1 -0
- package/build/server/chunks/catalog-7z8dgrJF.js +217 -0
- package/build/server/chunks/catalog-7z8dgrJF.js.map +1 -0
- package/build/server/chunks/client-D2lMniPd.js +202 -0
- package/build/server/chunks/client-D2lMniPd.js.map +1 -0
- package/build/server/chunks/compose-args2-BFdWixAZ.js +26 -0
- package/build/server/chunks/compose-args2-BFdWixAZ.js.map +1 -0
- package/build/server/chunks/config-I5hb-W80.js +121 -0
- package/build/server/chunks/config-I5hb-W80.js.map +1 -0
- package/build/server/chunks/connections-api-NkotVLIl.js +34 -0
- package/build/server/chunks/connections-api-NkotVLIl.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-HZnACjh6.js +26 -0
- package/build/server/chunks/docker2-HZnACjh6.js.map +1 -0
- package/build/server/chunks/docker3-Dj9Pc_Pt.js +20 -0
- package/build/server/chunks/docker3-Dj9Pc_Pt.js.map +1 -0
- package/build/server/chunks/endpoints-B9ePqrMw.js +377 -0
- package/build/server/chunks/endpoints-B9ePqrMw.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-DGngrZ2V.js +18 -0
- package/build/server/chunks/error.svelte-DGngrZ2V.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-0lgyQreD.js +116 -0
- package/build/server/chunks/features-0lgyQreD.js.map +1 -0
- package/build/server/chunks/helpers-q4Ng8QTq.js +320 -0
- package/build/server/chunks/helpers-q4Ng8QTq.js.map +1 -0
- package/build/server/chunks/hooks.server-BTXqUhpH.js +121 -0
- package/build/server/chunks/hooks.server-BTXqUhpH.js.map +1 -0
- package/build/server/chunks/http-jBNJXVHg.js +31 -0
- package/build/server/chunks/http-jBNJXVHg.js.map +1 -0
- package/build/server/chunks/internal-G-Uk-kCA.js +915 -0
- package/build/server/chunks/internal-G-Uk-kCA.js.map +1 -0
- package/build/server/chunks/landing-BR5KUuDz.js +132 -0
- package/build/server/chunks/landing-BR5KUuDz.js.map +1 -0
- package/build/server/chunks/paths-tzRSDsKc.js +17 -0
- package/build/server/chunks/paths-tzRSDsKc.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-C5zNEC6u.js +72 -0
- package/build/server/chunks/runtime-context.svelte-C5zNEC6u.js.map +1 -0
- package/build/server/chunks/session-cookie-qHDuQboc.js +74 -0
- package/build/server/chunks/session-cookie-qHDuQboc.js.map +1 -0
- package/build/server/chunks/setup-deploy-DleJTifu.js +75 -0
- package/build/server/chunks/setup-deploy-DleJTifu.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-BwQUi60U.js +17213 -0
- package/build/server/chunks/src-BwQUi60U.js.map +1 -0
- package/build/server/chunks/state-Dm7U51xT.js +24 -0
- package/build/server/chunks/state-Dm7U51xT.js.map +1 -0
- package/build/server/chunks/state2-BhKHITEo.js +62 -0
- package/build/server/chunks/state2-BhKHITEo.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-BAiqUOIX.js +1214 -0
- package/build/server/chunks/voice-state.svelte-BAiqUOIX.js.map +1 -0
- package/build/server/index.js +33 -33
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +279 -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.CcyzbXoG.css +0 -1
- package/build/client/_app/immutable/assets/7.CcyzbXoG.css.br +0 -0
- package/build/client/_app/immutable/assets/7.CcyzbXoG.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/BDvA7M6l.js +0 -1
- package/build/client/_app/immutable/chunks/BDvA7M6l.js.br +0 -0
- package/build/client/_app/immutable/chunks/BDvA7M6l.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/BM4jJmEk.js +0 -1
- package/build/client/_app/immutable/chunks/BM4jJmEk.js.br +0 -0
- package/build/client/_app/immutable/chunks/BM4jJmEk.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/C4c5Y6rY.js +0 -5
- package/build/client/_app/immutable/chunks/C4c5Y6rY.js.br +0 -0
- package/build/client/_app/immutable/chunks/C4c5Y6rY.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/C7x_T9zu.js +0 -3
- package/build/client/_app/immutable/chunks/C7x_T9zu.js.br +0 -0
- package/build/client/_app/immutable/chunks/C7x_T9zu.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/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/DoTCwfyJ.js +0 -1
- package/build/client/_app/immutable/chunks/DoTCwfyJ.js.br +0 -2
- package/build/client/_app/immutable/chunks/DoTCwfyJ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DwEShcLP.js +0 -1
- package/build/client/_app/immutable/chunks/DwEShcLP.js.br +0 -0
- package/build/client/_app/immutable/chunks/DwEShcLP.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/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/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.D5lUGJr1.js +0 -2
- package/build/client/_app/immutable/entry/app.D5lUGJr1.js.br +0 -0
- package/build/client/_app/immutable/entry/app.D5lUGJr1.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CKoCEnYJ.js +0 -1
- package/build/client/_app/immutable/entry/start.CKoCEnYJ.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CKoCEnYJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.anwXhDvm.js +0 -1
- package/build/client/_app/immutable/nodes/0.anwXhDvm.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.anwXhDvm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DrRwtvKf.js +0 -1
- package/build/client/_app/immutable/nodes/1.DrRwtvKf.js.br +0 -1
- package/build/client/_app/immutable/nodes/1.DrRwtvKf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.BLqUjjTI.js +0 -1
- package/build/client/_app/immutable/nodes/10.BLqUjjTI.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.BLqUjjTI.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.paHt3QH9.js +0 -124
- package/build/client/_app/immutable/nodes/4.paHt3QH9.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.paHt3QH9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.bKLnh085.js +0 -4
- package/build/client/_app/immutable/nodes/5.bKLnh085.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.bKLnh085.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.DRi42KoD.js +0 -1
- package/build/client/_app/immutable/nodes/6.DRi42KoD.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DRi42KoD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BvgWYGnm.js +0 -2
- package/build/client/_app/immutable/nodes/7.BvgWYGnm.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BvgWYGnm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.BKAKOw6V.js +0 -1
- package/build/client/_app/immutable/nodes/8.BKAKOw6V.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.BKAKOw6V.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DwWxN6-k.js +0 -6
- package/build/client/_app/immutable/nodes/9.DwWxN6-k.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DwWxN6-k.js.gz +0 -0
- package/build/server/chunks/0-BiE1oF-J.js +0 -22
- package/build/server/chunks/0-BiE1oF-J.js.map +0 -1
- package/build/server/chunks/1-B-LNip7q.js +0 -9
- package/build/server/chunks/1-B-LNip7q.js.map +0 -1
- package/build/server/chunks/10-CS2lFzh1.js +0 -69
- package/build/server/chunks/10-CS2lFzh1.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-CliJOxWK.js +0 -9
- package/build/server/chunks/4-CliJOxWK.js.map +0 -1
- package/build/server/chunks/5-DkkL3QsU.js +0 -9
- package/build/server/chunks/5-DkkL3QsU.js.map +0 -1
- package/build/server/chunks/6-B6ZHxJZG.js +0 -9
- package/build/server/chunks/6-B6ZHxJZG.js.map +0 -1
- package/build/server/chunks/7-CIl66k8R.js +0 -9
- package/build/server/chunks/7-CIl66k8R.js.map +0 -1
- package/build/server/chunks/8-Dbz3fLZs.js +0 -35
- package/build/server/chunks/8-Dbz3fLZs.js.map +0 -1
- package/build/server/chunks/9-CnaXNk2w.js +0 -9
- package/build/server/chunks/9-CnaXNk2w.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-DMJf4zcn.js +0 -1295
- package/build/server/chunks/IconMic-DMJf4zcn.js.map +0 -1
- package/build/server/chunks/Navbar-CbBudHU6.js +0 -403
- package/build/server/chunks/Navbar-CbBudHU6.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-B5opDXuf.js +0 -66
- package/build/server/chunks/_layout.svelte-B5opDXuf.js.map +0 -1
- package/build/server/chunks/_page.svelte-1VhBiAl_.js +0 -385
- package/build/server/chunks/_page.svelte-1VhBiAl_.js.map +0 -1
- package/build/server/chunks/_page.svelte-6gpwjZv0.js +0 -122
- package/build/server/chunks/_page.svelte-6gpwjZv0.js.map +0 -1
- package/build/server/chunks/_page.svelte-Bd16jege.js +0 -47
- package/build/server/chunks/_page.svelte-Bd16jege.js.map +0 -1
- package/build/server/chunks/_page.svelte-Boq5WJfs.js +0 -3289
- package/build/server/chunks/_page.svelte-Boq5WJfs.js.map +0 -1
- package/build/server/chunks/_page.svelte-DM-4V1_g.js +0 -79
- package/build/server/chunks/_page.svelte-DM-4V1_g.js.map +0 -1
- package/build/server/chunks/_page.svelte-jdDbUptn.js +0 -89
- package/build/server/chunks/_page.svelte-jdDbUptn.js.map +0 -1
- package/build/server/chunks/_page.svelte-yAnFAnHi.js +0 -74
- package/build/server/chunks/_page.svelte-yAnFAnHi.js.map +0 -1
- package/build/server/chunks/_server.ts-0x3ZsRoq.js +0 -41
- package/build/server/chunks/_server.ts-0x3ZsRoq.js.map +0 -1
- package/build/server/chunks/_server.ts-1fytrAUC.js +0 -105
- package/build/server/chunks/_server.ts-1fytrAUC.js.map +0 -1
- package/build/server/chunks/_server.ts-2trnHYNR.js +0 -103
- package/build/server/chunks/_server.ts-2trnHYNR.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-3IGr8J7j.js +0 -103
- package/build/server/chunks/_server.ts-3IGr8J7j.js.map +0 -1
- package/build/server/chunks/_server.ts-4HApbECL.js +0 -49
- package/build/server/chunks/_server.ts-4HApbECL.js.map +0 -1
- package/build/server/chunks/_server.ts-4cGCnV5A.js +0 -172
- package/build/server/chunks/_server.ts-4cGCnV5A.js.map +0 -1
- package/build/server/chunks/_server.ts-5mKh6tgD.js +0 -56
- package/build/server/chunks/_server.ts-5mKh6tgD.js.map +0 -1
- package/build/server/chunks/_server.ts-B-gZIXCx.js +0 -120
- package/build/server/chunks/_server.ts-B-gZIXCx.js.map +0 -1
- package/build/server/chunks/_server.ts-B1LApKwc.js +0 -48
- package/build/server/chunks/_server.ts-B1LApKwc.js.map +0 -1
- package/build/server/chunks/_server.ts-B5s8k9IW.js +0 -53
- package/build/server/chunks/_server.ts-B5s8k9IW.js.map +0 -1
- package/build/server/chunks/_server.ts-B7oDgVRm.js +0 -208
- package/build/server/chunks/_server.ts-B7oDgVRm.js.map +0 -1
- package/build/server/chunks/_server.ts-BA7OxoAM.js +0 -69
- package/build/server/chunks/_server.ts-BA7OxoAM.js.map +0 -1
- package/build/server/chunks/_server.ts-BCqZP9mX.js +0 -94
- package/build/server/chunks/_server.ts-BCqZP9mX.js.map +0 -1
- package/build/server/chunks/_server.ts-BE9eO04W.js +0 -100
- package/build/server/chunks/_server.ts-BE9eO04W.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-BUf-IIIm.js +0 -85
- package/build/server/chunks/_server.ts-BUf-IIIm.js.map +0 -1
- package/build/server/chunks/_server.ts-BW13CurN.js +0 -43
- package/build/server/chunks/_server.ts-BW13CurN.js.map +0 -1
- package/build/server/chunks/_server.ts-BWh3c-xu.js +0 -44
- package/build/server/chunks/_server.ts-BWh3c-xu.js.map +0 -1
- package/build/server/chunks/_server.ts-BYDgL8Wh.js +0 -68
- package/build/server/chunks/_server.ts-BYDgL8Wh.js.map +0 -1
- package/build/server/chunks/_server.ts-B_9-b1wk.js +0 -82
- package/build/server/chunks/_server.ts-B_9-b1wk.js.map +0 -1
- package/build/server/chunks/_server.ts-Bbc4zzJy.js +0 -39
- package/build/server/chunks/_server.ts-Bbc4zzJy.js.map +0 -1
- package/build/server/chunks/_server.ts-BhmHIGs6.js +0 -45
- package/build/server/chunks/_server.ts-BhmHIGs6.js.map +0 -1
- package/build/server/chunks/_server.ts-BhuoSeRy.js +0 -64
- package/build/server/chunks/_server.ts-BhuoSeRy.js.map +0 -1
- package/build/server/chunks/_server.ts-BnL_ReBS.js +0 -50
- package/build/server/chunks/_server.ts-BnL_ReBS.js.map +0 -1
- package/build/server/chunks/_server.ts-BoOQ7F2z.js +0 -40
- package/build/server/chunks/_server.ts-BoOQ7F2z.js.map +0 -1
- package/build/server/chunks/_server.ts-Bry3Z40C.js +0 -160
- package/build/server/chunks/_server.ts-Bry3Z40C.js.map +0 -1
- package/build/server/chunks/_server.ts-BtVLVJf0.js +0 -80
- package/build/server/chunks/_server.ts-BtVLVJf0.js.map +0 -1
- package/build/server/chunks/_server.ts-BzISiSHa.js +0 -57
- package/build/server/chunks/_server.ts-BzISiSHa.js.map +0 -1
- package/build/server/chunks/_server.ts-C7PeR-ll.js +0 -112
- package/build/server/chunks/_server.ts-C7PeR-ll.js.map +0 -1
- package/build/server/chunks/_server.ts-C8NW6VWR.js +0 -55
- package/build/server/chunks/_server.ts-C8NW6VWR.js.map +0 -1
- package/build/server/chunks/_server.ts-CF0aKxAL.js +0 -59
- package/build/server/chunks/_server.ts-CF0aKxAL.js.map +0 -1
- package/build/server/chunks/_server.ts-CH-OPdXJ.js +0 -56
- package/build/server/chunks/_server.ts-CH-OPdXJ.js.map +0 -1
- package/build/server/chunks/_server.ts-CPsQ5aGi.js +0 -79
- package/build/server/chunks/_server.ts-CPsQ5aGi.js.map +0 -1
- package/build/server/chunks/_server.ts-CQ8JX5O7.js +0 -89
- package/build/server/chunks/_server.ts-CQ8JX5O7.js.map +0 -1
- package/build/server/chunks/_server.ts-CQPRTbTX.js +0 -63
- package/build/server/chunks/_server.ts-CQPRTbTX.js.map +0 -1
- package/build/server/chunks/_server.ts-CTVpEmAc.js +0 -517
- package/build/server/chunks/_server.ts-CTVpEmAc.js.map +0 -1
- package/build/server/chunks/_server.ts-CWVi9VhR.js +0 -76
- package/build/server/chunks/_server.ts-CWVi9VhR.js.map +0 -1
- package/build/server/chunks/_server.ts-CXQd0L0u.js +0 -57
- package/build/server/chunks/_server.ts-CXQd0L0u.js.map +0 -1
- package/build/server/chunks/_server.ts-Cgg_3L-k.js +0 -44
- package/build/server/chunks/_server.ts-Cgg_3L-k.js.map +0 -1
- package/build/server/chunks/_server.ts-ChvbGMR6.js +0 -50
- package/build/server/chunks/_server.ts-ChvbGMR6.js.map +0 -1
- package/build/server/chunks/_server.ts-CnByyw9m.js +0 -35
- package/build/server/chunks/_server.ts-CnByyw9m.js.map +0 -1
- package/build/server/chunks/_server.ts-Ct_0qiMK.js +0 -76
- package/build/server/chunks/_server.ts-Ct_0qiMK.js.map +0 -1
- package/build/server/chunks/_server.ts-Cu1u6Fq3.js +0 -244
- package/build/server/chunks/_server.ts-Cu1u6Fq3.js.map +0 -1
- package/build/server/chunks/_server.ts-Cuq4zRUh.js +0 -66
- package/build/server/chunks/_server.ts-Cuq4zRUh.js.map +0 -1
- package/build/server/chunks/_server.ts-Cx8pH99_.js +0 -43
- package/build/server/chunks/_server.ts-Cx8pH99_.js.map +0 -1
- package/build/server/chunks/_server.ts-D-eORdC8.js +0 -57
- package/build/server/chunks/_server.ts-D-eORdC8.js.map +0 -1
- package/build/server/chunks/_server.ts-D1cvo-nO.js +0 -55
- package/build/server/chunks/_server.ts-D1cvo-nO.js.map +0 -1
- package/build/server/chunks/_server.ts-D4nuqQNX.js +0 -85
- package/build/server/chunks/_server.ts-D4nuqQNX.js.map +0 -1
- package/build/server/chunks/_server.ts-D6aAJoCf.js +0 -70
- package/build/server/chunks/_server.ts-D6aAJoCf.js.map +0 -1
- package/build/server/chunks/_server.ts-D9PUEjiN.js +0 -47
- package/build/server/chunks/_server.ts-D9PUEjiN.js.map +0 -1
- package/build/server/chunks/_server.ts-DAiD8z-P.js +0 -47
- package/build/server/chunks/_server.ts-DAiD8z-P.js.map +0 -1
- package/build/server/chunks/_server.ts-DDKL_uuS.js +0 -203
- package/build/server/chunks/_server.ts-DDKL_uuS.js.map +0 -1
- package/build/server/chunks/_server.ts-DGkgd0uc.js +0 -166
- package/build/server/chunks/_server.ts-DGkgd0uc.js.map +0 -1
- package/build/server/chunks/_server.ts-DHig-2Ii.js +0 -58
- package/build/server/chunks/_server.ts-DHig-2Ii.js.map +0 -1
- package/build/server/chunks/_server.ts-DJdHVo2c.js +0 -36
- package/build/server/chunks/_server.ts-DJdHVo2c.js.map +0 -1
- package/build/server/chunks/_server.ts-DLrsnGKc.js +0 -64
- package/build/server/chunks/_server.ts-DLrsnGKc.js.map +0 -1
- package/build/server/chunks/_server.ts-DRYh6JJM.js +0 -36
- package/build/server/chunks/_server.ts-DRYh6JJM.js.map +0 -1
- package/build/server/chunks/_server.ts-DUbqsB2y.js +0 -43
- package/build/server/chunks/_server.ts-DUbqsB2y.js.map +0 -1
- package/build/server/chunks/_server.ts-DVRwJs1D.js +0 -89
- package/build/server/chunks/_server.ts-DVRwJs1D.js.map +0 -1
- package/build/server/chunks/_server.ts-DYZ1SnMq.js +0 -44
- package/build/server/chunks/_server.ts-DYZ1SnMq.js.map +0 -1
- package/build/server/chunks/_server.ts-DdpgDdUI.js +0 -59
- package/build/server/chunks/_server.ts-DdpgDdUI.js.map +0 -1
- package/build/server/chunks/_server.ts-DhVR_dEn.js +0 -67
- package/build/server/chunks/_server.ts-DhVR_dEn.js.map +0 -1
- package/build/server/chunks/_server.ts-DorWUEnZ.js +0 -762
- package/build/server/chunks/_server.ts-DorWUEnZ.js.map +0 -1
- package/build/server/chunks/_server.ts-DptdgCp1.js +0 -92
- package/build/server/chunks/_server.ts-DptdgCp1.js.map +0 -1
- package/build/server/chunks/_server.ts-DyFhMY-d.js +0 -84
- package/build/server/chunks/_server.ts-DyFhMY-d.js.map +0 -1
- package/build/server/chunks/_server.ts-FBHhAciM.js +0 -149
- package/build/server/chunks/_server.ts-FBHhAciM.js.map +0 -1
- package/build/server/chunks/_server.ts-H0_rl9HF.js +0 -66
- package/build/server/chunks/_server.ts-H0_rl9HF.js.map +0 -1
- package/build/server/chunks/_server.ts-MGCXhBlP.js +0 -52
- package/build/server/chunks/_server.ts-MGCXhBlP.js.map +0 -1
- package/build/server/chunks/_server.ts-OXR06_zO.js +0 -167
- package/build/server/chunks/_server.ts-OXR06_zO.js.map +0 -1
- package/build/server/chunks/_server.ts-QbGAW-It.js +0 -58
- package/build/server/chunks/_server.ts-QbGAW-It.js.map +0 -1
- package/build/server/chunks/_server.ts-TAvt1Rlb.js +0 -57
- package/build/server/chunks/_server.ts-TAvt1Rlb.js.map +0 -1
- package/build/server/chunks/_server.ts-VXMfJF_F.js +0 -62
- package/build/server/chunks/_server.ts-VXMfJF_F.js.map +0 -1
- package/build/server/chunks/_server.ts-XiInWDAF.js +0 -82
- package/build/server/chunks/_server.ts-XiInWDAF.js.map +0 -1
- package/build/server/chunks/_server.ts-d08IyVdj.js +0 -54
- package/build/server/chunks/_server.ts-d08IyVdj.js.map +0 -1
- package/build/server/chunks/_server.ts-dtw_InfP.js +0 -36
- package/build/server/chunks/_server.ts-dtw_InfP.js.map +0 -1
- package/build/server/chunks/_server.ts-eTP3NGlu.js +0 -49
- package/build/server/chunks/_server.ts-eTP3NGlu.js.map +0 -1
- package/build/server/chunks/_server.ts-fm-L_1WH.js +0 -56
- package/build/server/chunks/_server.ts-fm-L_1WH.js.map +0 -1
- package/build/server/chunks/_server.ts-g5H0gdQB.js +0 -70
- package/build/server/chunks/_server.ts-g5H0gdQB.js.map +0 -1
- package/build/server/chunks/_server.ts-gBvSTaRH.js +0 -78
- package/build/server/chunks/_server.ts-gBvSTaRH.js.map +0 -1
- package/build/server/chunks/_server.ts-lMB9A2Vx.js +0 -92
- package/build/server/chunks/_server.ts-lMB9A2Vx.js.map +0 -1
- package/build/server/chunks/_server.ts-tww34LXr.js +0 -42
- package/build/server/chunks/_server.ts-tww34LXr.js.map +0 -1
- package/build/server/chunks/_server.ts-xgg0Rj1C.js +0 -129
- package/build/server/chunks/_server.ts-xgg0Rj1C.js.map +0 -1
- package/build/server/chunks/_server.ts-yO3j4YDH.js +0 -169
- package/build/server/chunks/_server.ts-yO3j4YDH.js.map +0 -1
- package/build/server/chunks/addon-helpers-DnZ1IPC7.js +0 -51
- package/build/server/chunks/addon-helpers-DnZ1IPC7.js.map +0 -1
- package/build/server/chunks/akm-BVM3F-FY.js +0 -151
- package/build/server/chunks/akm-BVM3F-FY.js.map +0 -1
- package/build/server/chunks/catalog-B_9Qf_Tj.js +0 -217
- package/build/server/chunks/catalog-B_9Qf_Tj.js.map +0 -1
- package/build/server/chunks/client-CEfPhREO.js +0 -202
- package/build/server/chunks/client-CEfPhREO.js.map +0 -1
- package/build/server/chunks/config-VJ5wAdKd.js +0 -121
- package/build/server/chunks/config-VJ5wAdKd.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-7rKo0FDm.js +0 -20
- package/build/server/chunks/docker-7rKo0FDm.js.map +0 -1
- package/build/server/chunks/endpoints-DUs5zmwI.js +0 -358
- package/build/server/chunks/endpoints-DUs5zmwI.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-DXUxoirZ.js +0 -18
- package/build/server/chunks/error.svelte-DXUxoirZ.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-GEmeDI6e.js +0 -293
- package/build/server/chunks/helpers-GEmeDI6e.js.map +0 -1
- package/build/server/chunks/hooks.server-CwgeONEs.js +0 -155
- package/build/server/chunks/hooks.server-CwgeONEs.js.map +0 -1
- package/build/server/chunks/http-BzGcbSMh.js +0 -31
- package/build/server/chunks/http-BzGcbSMh.js.map +0 -1
- package/build/server/chunks/internal-CWT3-fy-.js +0 -915
- package/build/server/chunks/internal-CWT3-fy-.js.map +0 -1
- package/build/server/chunks/paths-D8yGDgAD.js +0 -17
- package/build/server/chunks/paths-D8yGDgAD.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-IMj1chTO.js +0 -74
- package/build/server/chunks/session-cookie-IMj1chTO.js.map +0 -1
- package/build/server/chunks/setup-deploy-DhMA_slP.js +0 -75
- package/build/server/chunks/setup-deploy-DhMA_slP.js.map +0 -1
- package/build/server/chunks/src-DBYue8Tb.js +0 -9682
- package/build/server/chunks/src-DBYue8Tb.js.map +0 -1
- package/build/server/chunks/state-Bpt5dC1X.js +0 -24
- package/build/server/chunks/state-Bpt5dC1X.js.map +0 -1
- package/build/server/chunks/state2-D20PkMjF.js +0 -62
- package/build/server/chunks/state2-D20PkMjF.js.map +0 -1
- package/build/server/chunks/theme-state.svelte-DPdcwIRf.js +0 -837
- package/build/server/chunks/theme-state.svelte-DPdcwIRf.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
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { j as json } from './exports-CcmcYU0M.js';
|
|
2
|
+
import { aJ as readVersions, aA as readPinnedVersions, ay as readChannelPreference, ab as getRunningImages, n as buildComposeOptions, at as parseEnvFile, S as SERVICE_VERSION_KEYS, b0 as stripVoiceVariantSuffix, a2 as formatForDisplay, bb as writeVersions, b5 as writeChannelPreference, ar as mergeEnvContent, D as DOCKER_IMAGE_NAMES, t as compareComparableVersions, P as PLATFORM_VERSION } from './src-BwQUi60U.js';
|
|
3
|
+
import { g as getState } from './state-Dm7U51xT.js';
|
|
4
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse } from './helpers-q4Ng8QTq.js';
|
|
5
|
+
import { existsSync, writeFileSync, readFileSync } from 'node:fs';
|
|
6
|
+
import './utils-OXHIhUb5.js';
|
|
7
|
+
import './provider-constants-1s1k8kbj.js';
|
|
8
|
+
import './chunk-CLZ62Ad-.js';
|
|
9
|
+
import 'node:module';
|
|
10
|
+
import 'node:child_process';
|
|
11
|
+
import 'node:path';
|
|
12
|
+
import 'buffer';
|
|
13
|
+
import 'node:url';
|
|
14
|
+
import 'node:os';
|
|
15
|
+
import 'node:crypto';
|
|
16
|
+
import 'events';
|
|
17
|
+
import 'fs';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:stream';
|
|
20
|
+
import 'node:string_decoder';
|
|
21
|
+
import 'path';
|
|
22
|
+
import 'assert';
|
|
23
|
+
import 'zlib';
|
|
24
|
+
import 'node:assert';
|
|
25
|
+
import 'node:fs/promises';
|
|
26
|
+
import './endpoints-B9ePqrMw.js';
|
|
27
|
+
import './features-0lgyQreD.js';
|
|
28
|
+
|
|
29
|
+
//#region src/routes/api/host/versions/+server.ts
|
|
30
|
+
/**
|
|
31
|
+
* GET /api/host/versions — truthful version state (constitution §4.2, §5)
|
|
32
|
+
* PATCH /api/host/versions — write pins to state file
|
|
33
|
+
*
|
|
34
|
+
* GET returns THREE distinct values per component (§5 / Phase 5):
|
|
35
|
+
* running — the digest + tag the currently running container was CREATED FROM
|
|
36
|
+
* (read from `docker inspect`, never from a pin file). Null when not running.
|
|
37
|
+
* pinned — the explicit version lock from state/stack.state.env, or null = track latest.
|
|
38
|
+
* Moving tags ("latest", "next") are normalized to null (they express channel
|
|
39
|
+
* preference, not a lock).
|
|
40
|
+
* available — the resolved latest version on the active channel (silent null on registry down).
|
|
41
|
+
*
|
|
42
|
+
* Backward compatibility for the mixed-version window (old UI + new API or vice versa):
|
|
43
|
+
* - The legacy top-level `versions` field is preserved. Old UIs that read only
|
|
44
|
+
* `body.versions[key]` continue to get the same string they always did (the stored
|
|
45
|
+
* pin value / default). New UIs read `body.components[key].{running,pinned,available}`.
|
|
46
|
+
* - Old UIs cannot see `running` (never could — it's new). They may show a stale pin
|
|
47
|
+
* as "current", which was the pre-Phase-5 behaviour. That is acceptable for the
|
|
48
|
+
* transition window; Phase 6 (UpdatesTab rebuild) is where the new shape is consumed.
|
|
49
|
+
*
|
|
50
|
+
* Registry-down asymmetry (§4, compliance G2):
|
|
51
|
+
* Background "available?" resolution degrades SILENTLY — a registry outage just
|
|
52
|
+
* leaves `available` null; the stack keeps running what it has.
|
|
53
|
+
* A user-pressed update that can't reach the registry FAILS LOUDLY (handled in
|
|
54
|
+
* /api/host/update via applyStack pull-before-up + fatal pull failure).
|
|
55
|
+
*
|
|
56
|
+
* Voice variant on display (§4.2, compliance G3):
|
|
57
|
+
* `running.tag` for the voice service will include the hardware suffix (e.g.
|
|
58
|
+
* "openpalm/voice:0.12.0-cpu"). The `running.plainVersion` field strips it for
|
|
59
|
+
* use in the pinning control. `pinned` never carries the suffix (compose adds it).
|
|
60
|
+
*
|
|
61
|
+
* Service-name vs image-name (§5 truthful state):
|
|
62
|
+
* getRunningImages() keys its result by compose SERVICE name, not image name.
|
|
63
|
+
* OP_PORTAL_VERSION images run under services discord/slack/guardian/api/chat/gateway.
|
|
64
|
+
* OP_VOICE_VERSION may run as voice (cpu), voice-cuda, or voice-rocm.
|
|
65
|
+
* We therefore scan runningImages by matching the image tag against the expected
|
|
66
|
+
* image name, not by looking up the image name as a service name.
|
|
67
|
+
*
|
|
68
|
+
* upToDate field removed (§8, Phase-5-item-3):
|
|
69
|
+
* Tag-string equality cannot determine up-to-date status (tags can point to different
|
|
70
|
+
* digests). Phase 6 decides up-to-date by digest comparison after a pull. The route
|
|
71
|
+
* surfaces running.digest, running.plainVersion, pinned, and available as separate
|
|
72
|
+
* truthful values for Phase 6 to use.
|
|
73
|
+
*/
|
|
74
|
+
var ALLOWED_KEYS = new Set([
|
|
75
|
+
...SERVICE_VERSION_KEYS,
|
|
76
|
+
"OP_AUTO_UPDATE",
|
|
77
|
+
"OP_CHANNEL"
|
|
78
|
+
]);
|
|
79
|
+
function stackEnvPath() {
|
|
80
|
+
return `${getState().stashDir}/env/stack.env`;
|
|
81
|
+
}
|
|
82
|
+
var STABLE_SEMVER = /^v?(\d+\.\d+\.\d+)$/;
|
|
83
|
+
var PRERELEASE_SEMVER = /^v?(\d+\.\d+\.\d+-(?:rc|alpha|beta|next)\.\d+)$/;
|
|
84
|
+
var VOICE_STABLE = /^v?(\d+\.\d+\.\d+)-\w+$/;
|
|
85
|
+
/**
|
|
86
|
+
* Read the Docker Hub namespace from the stack env (OP_IMAGE_NAMESPACE), defaulting to
|
|
87
|
+
* "openpalm". Compose uses the same default: ${OP_IMAGE_NAMESPACE:-openpalm}.
|
|
88
|
+
*/
|
|
89
|
+
function imageNamespace(stackEnvContent) {
|
|
90
|
+
return (stackEnvContent.OP_IMAGE_NAMESPACE ?? process.env.OP_IMAGE_NAMESPACE ?? "openpalm").trim() || "openpalm";
|
|
91
|
+
}
|
|
92
|
+
async function resolveDockerLatestSilent(image, namespace, channel) {
|
|
93
|
+
try {
|
|
94
|
+
const res = await fetch(`https://hub.docker.com/v2/repositories/${namespace}/${image}/tags?page_size=100&ordering=last_updated`, {
|
|
95
|
+
headers: { Accept: "application/json" },
|
|
96
|
+
signal: AbortSignal.timeout(5e3)
|
|
97
|
+
});
|
|
98
|
+
if (!res.ok) return null;
|
|
99
|
+
const data = await res.json();
|
|
100
|
+
const isVoice = image === "voice";
|
|
101
|
+
const candidates = [];
|
|
102
|
+
for (const tag of data.results ?? []) {
|
|
103
|
+
const plain = tag.name.match(STABLE_SEMVER)?.[1];
|
|
104
|
+
if (plain) {
|
|
105
|
+
candidates.push(plain);
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
if (isVoice) {
|
|
109
|
+
const voice = tag.name.match(VOICE_STABLE)?.[1];
|
|
110
|
+
if (voice) {
|
|
111
|
+
candidates.push(voice);
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (channel === "next") {
|
|
116
|
+
const pre = tag.name.match(PRERELEASE_SEMVER)?.[1];
|
|
117
|
+
if (pre) candidates.push(pre);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (candidates.length === 0) return null;
|
|
121
|
+
return candidates.sort(compareComparableVersions).at(-1) ?? null;
|
|
122
|
+
} catch {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
var _availableCache = /* @__PURE__ */ new Map();
|
|
127
|
+
var CACHE_TTL_MS = 5 * 6e4;
|
|
128
|
+
async function resolveAvailableVersions(channel, namespace) {
|
|
129
|
+
const cacheKey = `${channel}:${namespace}`;
|
|
130
|
+
const cached = _availableCache.get(cacheKey);
|
|
131
|
+
if (cached && Date.now() - cached.fetchedAt < CACHE_TTL_MS) return cached.versions;
|
|
132
|
+
const results = await Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {
|
|
133
|
+
const image = DOCKER_IMAGE_NAMES[key];
|
|
134
|
+
return [key, await resolveDockerLatestSilent(image, namespace, channel)];
|
|
135
|
+
}));
|
|
136
|
+
const versions = {};
|
|
137
|
+
for (const [k, v] of results) versions[k] = v;
|
|
138
|
+
_availableCache.set(cacheKey, {
|
|
139
|
+
versions,
|
|
140
|
+
fetchedAt: Date.now()
|
|
141
|
+
});
|
|
142
|
+
return versions;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Find the first running (non-not_installed) container whose image tag contains
|
|
146
|
+
* the given image name (e.g. "/portal:" or "/voice:"). Returns null if none found.
|
|
147
|
+
*/
|
|
148
|
+
function findRunningByImage(runningImages, imageName) {
|
|
149
|
+
const needle = `/${imageName}:`;
|
|
150
|
+
for (const ri of Object.values(runningImages)) if (ri.state !== "not_installed" && ri.tag.includes(needle)) return ri;
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
var GET = async (event) => {
|
|
154
|
+
const requestId = getRequestId(event);
|
|
155
|
+
const capabilityError = requireCapability(event, "host:updates", requestId);
|
|
156
|
+
if (capabilityError) return capabilityError;
|
|
157
|
+
const authError = requireAdmin(event, requestId);
|
|
158
|
+
if (authError) return authError;
|
|
159
|
+
const state = getState();
|
|
160
|
+
if (!state.stackDir) return errorResponse(503, "not_initialized", "Stack directory not configured", {}, requestId);
|
|
161
|
+
const versions = readVersions(state);
|
|
162
|
+
const pinned = readPinnedVersions(state);
|
|
163
|
+
const channel = readChannelPreference(state);
|
|
164
|
+
let runningImages = {};
|
|
165
|
+
try {
|
|
166
|
+
runningImages = await getRunningImages(buildComposeOptions(state));
|
|
167
|
+
} catch {}
|
|
168
|
+
const path = stackEnvPath();
|
|
169
|
+
const env = existsSync(path) ? parseEnvFile(path) : {};
|
|
170
|
+
const available = await resolveAvailableVersions(channel, imageNamespace(env));
|
|
171
|
+
const components = {};
|
|
172
|
+
for (const key of SERVICE_VERSION_KEYS) {
|
|
173
|
+
const imageName = DOCKER_IMAGE_NAMES[key];
|
|
174
|
+
const ri = findRunningByImage(runningImages, imageName);
|
|
175
|
+
let runningEntry = null;
|
|
176
|
+
if (ri) {
|
|
177
|
+
const rawTag = ri.tag.split(":").pop() ?? ri.tag;
|
|
178
|
+
const plainVersion = key === "OP_VOICE_VERSION" ? stripVoiceVariantSuffix(rawTag) : rawTag;
|
|
179
|
+
runningEntry = {
|
|
180
|
+
digest: ri.digest,
|
|
181
|
+
tag: ri.tag,
|
|
182
|
+
plainVersion,
|
|
183
|
+
healthStatus: ri.healthStatus,
|
|
184
|
+
containerState: ri.state
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
components[key] = {
|
|
188
|
+
running: runningEntry,
|
|
189
|
+
pinned: pinned[key],
|
|
190
|
+
available: available[key] ?? null
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
return json({
|
|
194
|
+
components,
|
|
195
|
+
channel,
|
|
196
|
+
platformVersion: formatForDisplay(PLATFORM_VERSION),
|
|
197
|
+
versions,
|
|
198
|
+
autoUpdate: env.OP_AUTO_UPDATE !== "false"
|
|
199
|
+
});
|
|
200
|
+
};
|
|
201
|
+
var PATCH = async (event) => {
|
|
202
|
+
const requestId = getRequestId(event);
|
|
203
|
+
const capabilityError = requireCapability(event, "host:updates", requestId);
|
|
204
|
+
if (capabilityError) return capabilityError;
|
|
205
|
+
const authError = requireAdmin(event, requestId);
|
|
206
|
+
if (authError) return authError;
|
|
207
|
+
const state = getState();
|
|
208
|
+
if (!state.stackDir) return errorResponse(503, "not_initialized", "Stack directory not configured", {}, requestId);
|
|
209
|
+
let body;
|
|
210
|
+
try {
|
|
211
|
+
body = await event.request.json();
|
|
212
|
+
} catch {
|
|
213
|
+
return errorResponse(400, "invalid_body", "Request body must be JSON", {}, requestId);
|
|
214
|
+
}
|
|
215
|
+
const versions = body?.versions;
|
|
216
|
+
if (!versions || typeof versions !== "object") return errorResponse(400, "invalid_body", "Body must include a versions object", {}, requestId);
|
|
217
|
+
const versionUpdates = {};
|
|
218
|
+
const settingUpdates = {};
|
|
219
|
+
let channelUpdate;
|
|
220
|
+
for (const [key, value] of Object.entries(versions)) {
|
|
221
|
+
if (!ALLOWED_KEYS.has(key)) return errorResponse(400, "unknown_version_key", `Unknown key: ${key}`, {}, requestId);
|
|
222
|
+
if (typeof value !== "string") return errorResponse(400, "invalid_version_value", `Value for ${key} must be a string`, {}, requestId);
|
|
223
|
+
if (key === "OP_CHANNEL") channelUpdate = value;
|
|
224
|
+
else if (key === "OP_AUTO_UPDATE") settingUpdates[key] = value;
|
|
225
|
+
else versionUpdates[key] = value;
|
|
226
|
+
}
|
|
227
|
+
if (Object.keys(versionUpdates).length > 0) {
|
|
228
|
+
writeVersions(state, versionUpdates);
|
|
229
|
+
_availableCache.clear();
|
|
230
|
+
}
|
|
231
|
+
if (channelUpdate !== void 0) try {
|
|
232
|
+
writeChannelPreference(state, channelUpdate);
|
|
233
|
+
_availableCache.clear();
|
|
234
|
+
} catch (e) {
|
|
235
|
+
return errorResponse(400, "invalid_channel", e instanceof Error ? e.message : String(e), {}, requestId);
|
|
236
|
+
}
|
|
237
|
+
if (Object.keys(settingUpdates).length > 0) {
|
|
238
|
+
const path = stackEnvPath();
|
|
239
|
+
writeFileSync(path, mergeEnvContent(existsSync(path) ? readFileSync(path, "utf-8") : "", settingUpdates), { mode: 384 });
|
|
240
|
+
}
|
|
241
|
+
return json({
|
|
242
|
+
ok: true,
|
|
243
|
+
versions: readVersions(state)
|
|
244
|
+
});
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
export { GET, PATCH };
|
|
248
|
+
//# sourceMappingURL=_server.ts-BjD0Uf0U.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-BjD0Uf0U.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/versions/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { B as readVersions, F as DOCKER_IMAGE_NAMES, H as writeChannelPreference, I as SERVICE_VERSION_KEYS, R as readChannelPreference, U as writeVersions, V as stripVoiceVariantSuffix, _t as formatForDisplay, gt as compareComparableVersions, ht as PLATFORM_VERSION, t as buildComposeOptions, z as readPinnedVersions } from \"../../../../../chunks/compose-args.js\";\nimport { F as mergeEnvContent, R as parseEnvFile, w as getRunningImages } from \"../../../../../chunks/docker.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync, writeFileSync } from \"node:fs\";\n//#region src/routes/api/host/versions/+server.ts\n/**\n* GET /api/host/versions — truthful version state (constitution §4.2, §5)\n* PATCH /api/host/versions — write pins to state file\n*\n* GET returns THREE distinct values per component (§5 / Phase 5):\n* running — the digest + tag the currently running container was CREATED FROM\n* (read from `docker inspect`, never from a pin file). Null when not running.\n* pinned — the explicit version lock from state/stack.state.env, or null = track latest.\n* Moving tags (\"latest\", \"next\") are normalized to null (they express channel\n* preference, not a lock).\n* available — the resolved latest version on the active channel (silent null on registry down).\n*\n* Backward compatibility for the mixed-version window (old UI + new API or vice versa):\n* - The legacy top-level `versions` field is preserved. Old UIs that read only\n* `body.versions[key]` continue to get the same string they always did (the stored\n* pin value / default). New UIs read `body.components[key].{running,pinned,available}`.\n* - Old UIs cannot see `running` (never could — it's new). They may show a stale pin\n* as \"current\", which was the pre-Phase-5 behaviour. That is acceptable for the\n* transition window; Phase 6 (UpdatesTab rebuild) is where the new shape is consumed.\n*\n* Registry-down asymmetry (§4, compliance G2):\n* Background \"available?\" resolution degrades SILENTLY — a registry outage just\n* leaves `available` null; the stack keeps running what it has.\n* A user-pressed update that can't reach the registry FAILS LOUDLY (handled in\n* /api/host/update via applyStack pull-before-up + fatal pull failure).\n*\n* Voice variant on display (§4.2, compliance G3):\n* `running.tag` for the voice service will include the hardware suffix (e.g.\n* \"openpalm/voice:0.12.0-cpu\"). The `running.plainVersion` field strips it for\n* use in the pinning control. `pinned` never carries the suffix (compose adds it).\n*\n* Service-name vs image-name (§5 truthful state):\n* getRunningImages() keys its result by compose SERVICE name, not image name.\n* OP_PORTAL_VERSION images run under services discord/slack/guardian/api/chat/gateway.\n* OP_VOICE_VERSION may run as voice (cpu), voice-cuda, or voice-rocm.\n* We therefore scan runningImages by matching the image tag against the expected\n* image name, not by looking up the image name as a service name.\n*\n* upToDate field removed (§8, Phase-5-item-3):\n* Tag-string equality cannot determine up-to-date status (tags can point to different\n* digests). Phase 6 decides up-to-date by digest comparison after a pull. The route\n* surfaces running.digest, running.plainVersion, pinned, and available as separate\n* truthful values for Phase 6 to use.\n*/\nvar ALLOWED_KEYS = new Set([\n\t...SERVICE_VERSION_KEYS,\n\t\"OP_AUTO_UPDATE\",\n\t\"OP_CHANNEL\"\n]);\nfunction stackEnvPath() {\n\treturn `${getState().stashDir}/env/stack.env`;\n}\nvar STABLE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+)$/;\nvar PRERELEASE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+-(?:rc|alpha|beta|next)\\.\\d+)$/;\nvar VOICE_STABLE = /^v?(\\d+\\.\\d+\\.\\d+)-\\w+$/;\n/**\n* Read the Docker Hub namespace from the stack env (OP_IMAGE_NAMESPACE), defaulting to\n* \"openpalm\". Compose uses the same default: ${OP_IMAGE_NAMESPACE:-openpalm}.\n*/\nfunction imageNamespace(stackEnvContent) {\n\treturn (stackEnvContent.OP_IMAGE_NAMESPACE ?? process.env.OP_IMAGE_NAMESPACE ?? \"openpalm\").trim() || \"openpalm\";\n}\nasync function resolveDockerLatestSilent(image, namespace, channel) {\n\ttry {\n\t\tconst res = await fetch(`https://hub.docker.com/v2/repositories/${namespace}/${image}/tags?page_size=100&ordering=last_updated`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(5e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\tconst isVoice = image === \"voice\";\n\t\tconst candidates = [];\n\t\tfor (const tag of data.results ?? []) {\n\t\t\tconst plain = tag.name.match(STABLE_SEMVER)?.[1];\n\t\t\tif (plain) {\n\t\t\t\tcandidates.push(plain);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (isVoice) {\n\t\t\t\tconst voice = tag.name.match(VOICE_STABLE)?.[1];\n\t\t\t\tif (voice) {\n\t\t\t\t\tcandidates.push(voice);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (channel === \"next\") {\n\t\t\t\tconst pre = tag.name.match(PRERELEASE_SEMVER)?.[1];\n\t\t\t\tif (pre) candidates.push(pre);\n\t\t\t}\n\t\t}\n\t\tif (candidates.length === 0) return null;\n\t\treturn candidates.sort(compareComparableVersions).at(-1) ?? null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nvar _availableCache = /* @__PURE__ */ new Map();\nvar CACHE_TTL_MS = 5 * 6e4;\nasync function resolveAvailableVersions(channel, namespace) {\n\tconst cacheKey = `${channel}:${namespace}`;\n\tconst cached = _availableCache.get(cacheKey);\n\tif (cached && Date.now() - cached.fetchedAt < CACHE_TTL_MS) return cached.versions;\n\tconst results = await Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {\n\t\tconst image = DOCKER_IMAGE_NAMES[key];\n\t\treturn [key, await resolveDockerLatestSilent(image, namespace, channel)];\n\t}));\n\tconst versions = {};\n\tfor (const [k, v] of results) versions[k] = v;\n\t_availableCache.set(cacheKey, {\n\t\tversions,\n\t\tfetchedAt: Date.now()\n\t});\n\treturn versions;\n}\n/**\n* Find the first running (non-not_installed) container whose image tag contains\n* the given image name (e.g. \"/portal:\" or \"/voice:\"). Returns null if none found.\n*/\nfunction findRunningByImage(runningImages, imageName) {\n\tconst needle = `/${imageName}:`;\n\tfor (const ri of Object.values(runningImages)) if (ri.state !== \"not_installed\" && ri.tag.includes(needle)) return ri;\n\treturn null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tconst versions = readVersions(state);\n\tconst pinned = readPinnedVersions(state);\n\tconst channel = readChannelPreference(state);\n\tlet runningImages = {};\n\ttry {\n\t\trunningImages = await getRunningImages(buildComposeOptions(state));\n\t} catch {}\n\tconst path = stackEnvPath();\n\tconst env = existsSync(path) ? parseEnvFile(path) : {};\n\tconst available = await resolveAvailableVersions(channel, imageNamespace(env));\n\tconst components = {};\n\tfor (const key of SERVICE_VERSION_KEYS) {\n\t\tconst imageName = DOCKER_IMAGE_NAMES[key];\n\t\tconst ri = findRunningByImage(runningImages, imageName);\n\t\tlet runningEntry = null;\n\t\tif (ri) {\n\t\t\tconst rawTag = ri.tag.split(\":\").pop() ?? ri.tag;\n\t\t\tconst plainVersion = key === \"OP_VOICE_VERSION\" ? stripVoiceVariantSuffix(rawTag) : rawTag;\n\t\t\trunningEntry = {\n\t\t\t\tdigest: ri.digest,\n\t\t\t\ttag: ri.tag,\n\t\t\t\tplainVersion,\n\t\t\t\thealthStatus: ri.healthStatus,\n\t\t\t\tcontainerState: ri.state\n\t\t\t};\n\t\t}\n\t\tcomponents[key] = {\n\t\t\trunning: runningEntry,\n\t\t\tpinned: pinned[key],\n\t\t\tavailable: available[key] ?? null\n\t\t};\n\t}\n\treturn json({\n\t\tcomponents,\n\t\tchannel,\n\t\tplatformVersion: formatForDisplay(PLATFORM_VERSION),\n\t\tversions,\n\t\tautoUpdate: env.OP_AUTO_UPDATE !== \"false\"\n\t});\n};\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_body\", \"Request body must be JSON\", {}, requestId);\n\t}\n\tconst versions = body?.versions;\n\tif (!versions || typeof versions !== \"object\") return errorResponse(400, \"invalid_body\", \"Body must include a versions object\", {}, requestId);\n\tconst versionUpdates = {};\n\tconst settingUpdates = {};\n\tlet channelUpdate;\n\tfor (const [key, value] of Object.entries(versions)) {\n\t\tif (!ALLOWED_KEYS.has(key)) return errorResponse(400, \"unknown_version_key\", `Unknown key: ${key}`, {}, requestId);\n\t\tif (typeof value !== \"string\") return errorResponse(400, \"invalid_version_value\", `Value for ${key} must be a string`, {}, requestId);\n\t\tif (key === \"OP_CHANNEL\") channelUpdate = value;\n\t\telse if (key === \"OP_AUTO_UPDATE\") settingUpdates[key] = value;\n\t\telse versionUpdates[key] = value;\n\t}\n\tif (Object.keys(versionUpdates).length > 0) {\n\t\twriteVersions(state, versionUpdates);\n\t\t_availableCache.clear();\n\t}\n\tif (channelUpdate !== void 0) try {\n\t\twriteChannelPreference(state, channelUpdate);\n\t\t_availableCache.clear();\n\t} catch (e) {\n\t\treturn errorResponse(400, \"invalid_channel\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n\tif (Object.keys(settingUpdates).length > 0) {\n\t\tconst path = stackEnvPath();\n\t\twriteFileSync(path, mergeEnvContent(existsSync(path) ? readFileSync(path, \"utf-8\") : \"\", settingUpdates), { mode: 384 });\n\t}\n\treturn json({\n\t\tok: true,\n\t\tversions: readVersions(state)\n\t});\n};\n//#endregion\nexport { GET, PATCH };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { ak as listAvailableAddonIds, aa as getRegistryAddonConfig, aG as readStackSecretEnv, aE as readStackEnv, b8 as writeStackSecretEnv, au as patchSecretsEnvFile, G as createLogger } from './src-BwQUi60U.js';
|
|
2
|
+
import { g as getState } from './state-Dm7U51xT.js';
|
|
3
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-q4Ng8QTq.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-B9ePqrMw.js';
|
|
25
|
+
import './features-0lgyQreD.js';
|
|
26
|
+
|
|
27
|
+
//#region src/routes/api/host/addons/[name]/credentials/+server.ts
|
|
28
|
+
var logger = createLogger("addons.name.credentials");
|
|
29
|
+
/**
|
|
30
|
+
* Parse a `.env.schema` file into structured fields.
|
|
31
|
+
*
|
|
32
|
+
* Schema conventions:
|
|
33
|
+
* - Lines starting with `#` are comments; consecutive comment lines
|
|
34
|
+
* accumulate as the *description* of the next KEY=VALUE line.
|
|
35
|
+
* - `# @sensitive` marks the next field as sensitive (renders as a
|
|
36
|
+
* password input and is masked on GET).
|
|
37
|
+
* - `# ---` resets the accumulator (used as a section separator).
|
|
38
|
+
* - `KEY=DEFAULT` declares the field; default may be empty.
|
|
39
|
+
*/
|
|
40
|
+
function parseEnvSchema(text) {
|
|
41
|
+
const fields = [];
|
|
42
|
+
let commentBuffer = [];
|
|
43
|
+
let sensitive = false;
|
|
44
|
+
for (const rawLine of text.split(/\r?\n/)) {
|
|
45
|
+
const line = rawLine.trim();
|
|
46
|
+
if (!line) continue;
|
|
47
|
+
if (line.startsWith("#")) {
|
|
48
|
+
const body = line.slice(1).trim();
|
|
49
|
+
if (body === "---") {
|
|
50
|
+
commentBuffer = [];
|
|
51
|
+
sensitive = false;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (body.startsWith("@")) {
|
|
55
|
+
if (/\B@sensitive\b/.test(body)) sensitive = true;
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
commentBuffer.push(body);
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
const eq = line.indexOf("=");
|
|
62
|
+
if (eq <= 0) continue;
|
|
63
|
+
const key = line.slice(0, eq).trim();
|
|
64
|
+
if (!key) continue;
|
|
65
|
+
const def = line.slice(eq + 1).trim();
|
|
66
|
+
fields.push({
|
|
67
|
+
key,
|
|
68
|
+
sensitive,
|
|
69
|
+
description: commentBuffer.join(" ").trim(),
|
|
70
|
+
default: def
|
|
71
|
+
});
|
|
72
|
+
commentBuffer = [];
|
|
73
|
+
sensitive = false;
|
|
74
|
+
}
|
|
75
|
+
return fields;
|
|
76
|
+
}
|
|
77
|
+
var GET = async (event) => {
|
|
78
|
+
const requestId = getRequestId(event);
|
|
79
|
+
const capabilityError = requireCapability(event, "host:addons", requestId);
|
|
80
|
+
if (capabilityError) return capabilityError;
|
|
81
|
+
const authErr = requireAdmin(event, requestId);
|
|
82
|
+
if (authErr) return authErr;
|
|
83
|
+
const state = getState();
|
|
84
|
+
const name = event.params.name;
|
|
85
|
+
if (!listAvailableAddonIds().includes(name)) return errorResponse(404, "not_found", `Addon "${name}" is not available`, { name }, requestId);
|
|
86
|
+
let config;
|
|
87
|
+
try {
|
|
88
|
+
config = getRegistryAddonConfig(name);
|
|
89
|
+
} catch (error) {
|
|
90
|
+
logger.error("schema read failed", {
|
|
91
|
+
name,
|
|
92
|
+
error: String(error),
|
|
93
|
+
requestId
|
|
94
|
+
});
|
|
95
|
+
return errorResponse(500, "internal_error", `Addon "${name}" schema is unavailable`, {}, requestId);
|
|
96
|
+
}
|
|
97
|
+
const schemaFields = parseEnvSchema(config.envSchema);
|
|
98
|
+
const secretEnv = readStackSecretEnv(state.homeDir);
|
|
99
|
+
const stackEnv = readStackEnv(state.homeDir);
|
|
100
|
+
return jsonResponse(200, {
|
|
101
|
+
name,
|
|
102
|
+
fields: schemaFields.map((f) => {
|
|
103
|
+
const set = ((f.sensitive ? secretEnv[f.key] : stackEnv[f.key]) ?? "").length > 0;
|
|
104
|
+
return {
|
|
105
|
+
key: f.key,
|
|
106
|
+
sensitive: f.sensitive,
|
|
107
|
+
description: f.description,
|
|
108
|
+
default: f.default,
|
|
109
|
+
set,
|
|
110
|
+
secret: {
|
|
111
|
+
envKey: f.key,
|
|
112
|
+
present: set
|
|
113
|
+
},
|
|
114
|
+
value: ""
|
|
115
|
+
};
|
|
116
|
+
})
|
|
117
|
+
}, requestId);
|
|
118
|
+
};
|
|
119
|
+
var POST = async (event) => {
|
|
120
|
+
const requestId = getRequestId(event);
|
|
121
|
+
const capabilityError = requireCapability(event, "host:addons", requestId);
|
|
122
|
+
if (capabilityError) return capabilityError;
|
|
123
|
+
const authErr = requireAdmin(event, requestId);
|
|
124
|
+
if (authErr) return authErr;
|
|
125
|
+
const state = getState();
|
|
126
|
+
const name = event.params.name;
|
|
127
|
+
if (!listAvailableAddonIds().includes(name)) return errorResponse(404, "not_found", `Addon "${name}" is not available`, { name }, requestId);
|
|
128
|
+
const parsed = await parseJsonBody(event.request);
|
|
129
|
+
if ("error" in parsed) return jsonBodyError(parsed, requestId);
|
|
130
|
+
const valuesRaw = parsed.data.values ?? {};
|
|
131
|
+
let config;
|
|
132
|
+
try {
|
|
133
|
+
config = getRegistryAddonConfig(name);
|
|
134
|
+
} catch (error) {
|
|
135
|
+
logger.error("schema read failed (post)", {
|
|
136
|
+
name,
|
|
137
|
+
error: String(error),
|
|
138
|
+
requestId
|
|
139
|
+
});
|
|
140
|
+
return errorResponse(500, "internal_error", `Addon "${name}" schema is unavailable`, {}, requestId);
|
|
141
|
+
}
|
|
142
|
+
const schemaFields = parseEnvSchema(config.envSchema);
|
|
143
|
+
const sensitiveKeys = new Set(schemaFields.filter((f) => f.sensitive).map((f) => f.key));
|
|
144
|
+
const allowedKeys = new Set(schemaFields.map((f) => f.key));
|
|
145
|
+
const sensitiveUpdates = {};
|
|
146
|
+
const configUpdates = {};
|
|
147
|
+
for (const [k, v] of Object.entries(valuesRaw)) {
|
|
148
|
+
if (!allowedKeys.has(k)) continue;
|
|
149
|
+
const val = typeof v === "string" ? v : "";
|
|
150
|
+
if (sensitiveKeys.has(k)) sensitiveUpdates[k] = val;
|
|
151
|
+
else configUpdates[k] = val;
|
|
152
|
+
}
|
|
153
|
+
if (Object.keys(sensitiveUpdates).length === 0 && Object.keys(configUpdates).length === 0) return errorResponse(400, "bad_request", "no schema-declared keys supplied", {}, requestId);
|
|
154
|
+
try {
|
|
155
|
+
if (Object.keys(sensitiveUpdates).length > 0) writeStackSecretEnv(state, sensitiveUpdates);
|
|
156
|
+
if (Object.keys(configUpdates).length > 0) patchSecretsEnvFile(state.homeDir, configUpdates);
|
|
157
|
+
} catch (err) {
|
|
158
|
+
logger.error("write failed", {
|
|
159
|
+
name,
|
|
160
|
+
error: String(err),
|
|
161
|
+
requestId
|
|
162
|
+
});
|
|
163
|
+
return errorResponse(500, "internal_error", err instanceof Error ? err.message : "write failed", {}, requestId);
|
|
164
|
+
}
|
|
165
|
+
return jsonResponse(200, {
|
|
166
|
+
ok: true,
|
|
167
|
+
name,
|
|
168
|
+
updated: [...Object.keys(sensitiveUpdates), ...Object.keys(configUpdates)].sort()
|
|
169
|
+
}, requestId);
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
export { GET, POST };
|
|
173
|
+
//# sourceMappingURL=_server.ts-BjjicBDy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-BjjicBDy.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/addons/_name_/credentials/_server.ts.js"],"sourcesContent":["import { C as getRegistryAddonConfig, J as patchSecretsEnvFile, Nt as createLogger, Q as readStackSecretEnv, T as listAvailableAddonIds, X as readStackEnv, tt as writeStackSecretEnv } from \"../../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/addons/[name]/credentials/+server.ts\nvar logger = createLogger(\"addons.name.credentials\");\n/**\n* Parse a `.env.schema` file into structured fields.\n*\n* Schema conventions:\n* - Lines starting with `#` are comments; consecutive comment lines\n* accumulate as the *description* of the next KEY=VALUE line.\n* - `# @sensitive` marks the next field as sensitive (renders as a\n* password input and is masked on GET).\n* - `# ---` resets the accumulator (used as a section separator).\n* - `KEY=DEFAULT` declares the field; default may be empty.\n*/\nfunction parseEnvSchema(text) {\n\tconst fields = [];\n\tlet commentBuffer = [];\n\tlet sensitive = false;\n\tfor (const rawLine of text.split(/\\r?\\n/)) {\n\t\tconst line = rawLine.trim();\n\t\tif (!line) continue;\n\t\tif (line.startsWith(\"#\")) {\n\t\t\tconst body = line.slice(1).trim();\n\t\t\tif (body === \"---\") {\n\t\t\t\tcommentBuffer = [];\n\t\t\t\tsensitive = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (body.startsWith(\"@\")) {\n\t\t\t\tif (/\\B@sensitive\\b/.test(body)) sensitive = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcommentBuffer.push(body);\n\t\t\tcontinue;\n\t\t}\n\t\tconst eq = line.indexOf(\"=\");\n\t\tif (eq <= 0) continue;\n\t\tconst key = line.slice(0, eq).trim();\n\t\tif (!key) continue;\n\t\tconst def = line.slice(eq + 1).trim();\n\t\tfields.push({\n\t\t\tkey,\n\t\t\tsensitive,\n\t\t\tdescription: commentBuffer.join(\" \").trim(),\n\t\t\tdefault: def\n\t\t});\n\t\tcommentBuffer = [];\n\t\tsensitive = false;\n\t}\n\treturn fields;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:addons\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"schema read failed\", {\n\t\t\tname,\n\t\t\terror: String(error),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", `Addon \"${name}\" schema is unavailable`, {}, requestId);\n\t}\n\tconst schemaFields = parseEnvSchema(config.envSchema);\n\tconst secretEnv = readStackSecretEnv(state.homeDir);\n\tconst stackEnv = readStackEnv(state.homeDir);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tfields: schemaFields.map((f) => {\n\t\t\tconst set = ((f.sensitive ? secretEnv[f.key] : stackEnv[f.key]) ?? \"\").length > 0;\n\t\t\treturn {\n\t\t\t\tkey: f.key,\n\t\t\t\tsensitive: f.sensitive,\n\t\t\t\tdescription: f.description,\n\t\t\t\tdefault: f.default,\n\t\t\t\tset,\n\t\t\t\tsecret: {\n\t\t\t\t\tenvKey: f.key,\n\t\t\t\t\tpresent: set\n\t\t\t\t},\n\t\t\t\tvalue: \"\"\n\t\t\t};\n\t\t})\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:addons\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst valuesRaw = parsed.data.values ?? {};\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"schema read failed (post)\", {\n\t\t\tname,\n\t\t\terror: String(error),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", `Addon \"${name}\" schema is unavailable`, {}, requestId);\n\t}\n\tconst schemaFields = parseEnvSchema(config.envSchema);\n\tconst sensitiveKeys = new Set(schemaFields.filter((f) => f.sensitive).map((f) => f.key));\n\tconst allowedKeys = new Set(schemaFields.map((f) => f.key));\n\tconst sensitiveUpdates = {};\n\tconst configUpdates = {};\n\tfor (const [k, v] of Object.entries(valuesRaw)) {\n\t\tif (!allowedKeys.has(k)) continue;\n\t\tconst val = typeof v === \"string\" ? v : \"\";\n\t\tif (sensitiveKeys.has(k)) sensitiveUpdates[k] = val;\n\t\telse configUpdates[k] = val;\n\t}\n\tif (Object.keys(sensitiveUpdates).length === 0 && Object.keys(configUpdates).length === 0) return errorResponse(400, \"bad_request\", \"no schema-declared keys supplied\", {}, requestId);\n\ttry {\n\t\tif (Object.keys(sensitiveUpdates).length > 0) writeStackSecretEnv(state, sensitiveUpdates);\n\t\tif (Object.keys(configUpdates).length > 0) patchSecretsEnvFile(state.homeDir, configUpdates);\n\t} catch (err) {\n\t\tlogger.error(\"write failed\", {\n\t\t\tname,\n\t\t\terror: String(err),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", err instanceof Error ? err.message : \"write failed\", {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname,\n\t\tupdated: [...Object.keys(sensitiveUpdates), ...Object.keys(configUpdates)].sort()\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
|