@openpalm/ui 0.12.52 → 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.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
- /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,92 @@
|
|
|
1
|
+
import { aE as readStackEnv } from './src-CS2sSYOR.js';
|
|
2
|
+
import { g as getState } from './state-BRh7vs9j.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse, 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/transcribe/+server.ts
|
|
28
|
+
var DEFAULT_MODEL = "whisper-1";
|
|
29
|
+
var UPSTREAM_TIMEOUT_MS = 6e4;
|
|
30
|
+
function redactKey(s) {
|
|
31
|
+
return s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, "sk-***").replace(/(hf_[A-Za-z0-9_-]{4,})/gi, "hf_***").replace(/(Bearer\s+)[A-Za-z0-9._-]+/gi, "$1***");
|
|
32
|
+
}
|
|
33
|
+
var POST = async (event) => {
|
|
34
|
+
const requestId = getRequestId(event);
|
|
35
|
+
const authError = requireAdmin(event, requestId);
|
|
36
|
+
if (authError) return authError;
|
|
37
|
+
const stackEnv = readStackEnv(getState().homeDir);
|
|
38
|
+
const sttBaseURL = (stackEnv.OP_STT_BASE_URL || process.env.OP_STT_BASE_URL || "").trim();
|
|
39
|
+
const sttModel = (stackEnv.OP_STT_MODEL || process.env.OP_STT_MODEL || "").trim() || DEFAULT_MODEL;
|
|
40
|
+
const sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE || process.env.OP_STT_LANGUAGE || "").trim();
|
|
41
|
+
const sttApiKey = (process.env.OP_STT_API_KEY ?? "").trim();
|
|
42
|
+
if (!sttBaseURL) return errorResponse(503, "stt_not_configured", "Configure an STT engine in Admin → Voice settings.", {}, requestId);
|
|
43
|
+
let inboundForm;
|
|
44
|
+
try {
|
|
45
|
+
inboundForm = await event.request.formData();
|
|
46
|
+
} catch {
|
|
47
|
+
return errorResponse(400, "bad_request", "Body must be multipart/form-data", {}, requestId);
|
|
48
|
+
}
|
|
49
|
+
const audio = inboundForm.get("audio");
|
|
50
|
+
if (!(audio instanceof Blob)) return errorResponse(400, "bad_request", "Missing \"audio\" field (Blob)", {}, requestId);
|
|
51
|
+
const languageReq = inboundForm.get("language");
|
|
52
|
+
const promptReq = inboundForm.get("prompt");
|
|
53
|
+
const language = typeof languageReq === "string" && languageReq.trim() ? languageReq.trim() : sttLanguageEnv;
|
|
54
|
+
const outForm = new FormData();
|
|
55
|
+
const filename = audio.name || "recording.webm";
|
|
56
|
+
outForm.append("file", audio, filename);
|
|
57
|
+
outForm.append("model", sttModel);
|
|
58
|
+
outForm.append("response_format", "json");
|
|
59
|
+
if (language) outForm.append("language", language);
|
|
60
|
+
if (typeof promptReq === "string" && promptReq.trim()) outForm.append("prompt", promptReq.trim());
|
|
61
|
+
const upstreamUrl = `${sttBaseURL.replace(/\/+$/, "")}/v1/audio/transcriptions`;
|
|
62
|
+
const headers = {};
|
|
63
|
+
if (sttApiKey) headers.authorization = `Bearer ${sttApiKey}`;
|
|
64
|
+
let upstream;
|
|
65
|
+
try {
|
|
66
|
+
upstream = await fetch(upstreamUrl, {
|
|
67
|
+
method: "POST",
|
|
68
|
+
headers,
|
|
69
|
+
body: outForm,
|
|
70
|
+
signal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)
|
|
71
|
+
});
|
|
72
|
+
} catch (err) {
|
|
73
|
+
return errorResponse(502, "upstream_error", `Could not reach STT endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);
|
|
74
|
+
}
|
|
75
|
+
if (!upstream.ok) {
|
|
76
|
+
const snippet = redactKey(await upstream.text().catch(() => "")).slice(0, 500);
|
|
77
|
+
return errorResponse(502, "upstream_error", `STT endpoint returned ${upstream.status}`, {
|
|
78
|
+
upstreamStatus: upstream.status,
|
|
79
|
+
body: snippet
|
|
80
|
+
}, requestId);
|
|
81
|
+
}
|
|
82
|
+
let payload;
|
|
83
|
+
try {
|
|
84
|
+
payload = await upstream.json();
|
|
85
|
+
} catch {
|
|
86
|
+
return errorResponse(502, "upstream_error", "STT endpoint returned a non-JSON response", { upstreamStatus: upstream.status }, requestId);
|
|
87
|
+
}
|
|
88
|
+
return jsonResponse(200, { text: typeof payload?.text === "string" ? payload.text : "" }, requestId);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export { POST };
|
|
92
|
+
//# sourceMappingURL=_server.ts-BV6i7XBr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-BV6i7XBr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { X as readStackEnv } from \"../../../../chunks/compose-args.js\";\nimport \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\n//#region src/routes/api/transcribe/+server.ts\nvar DEFAULT_MODEL = \"whisper-1\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(hf_[A-Za-z0-9_-]{4,})/gi, \"hf_***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().homeDir);\n\tconst sttBaseURL = (stackEnv.OP_STT_BASE_URL || process.env.OP_STT_BASE_URL || \"\").trim();\n\tconst sttModel = (stackEnv.OP_STT_MODEL || process.env.OP_STT_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE || process.env.OP_STT_LANGUAGE || \"\").trim();\n\tconst sttApiKey = (process.env.OP_STT_API_KEY ?? \"\").trim();\n\tif (!sttBaseURL) return errorResponse(503, \"stt_not_configured\", \"Configure an STT engine in Admin → Voice settings.\", {}, requestId);\n\tlet inboundForm;\n\ttry {\n\t\tinboundForm = await event.request.formData();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Body must be multipart/form-data\", {}, requestId);\n\t}\n\tconst audio = inboundForm.get(\"audio\");\n\tif (!(audio instanceof Blob)) return errorResponse(400, \"bad_request\", \"Missing \\\"audio\\\" field (Blob)\", {}, requestId);\n\tconst languageReq = inboundForm.get(\"language\");\n\tconst promptReq = inboundForm.get(\"prompt\");\n\tconst language = typeof languageReq === \"string\" && languageReq.trim() ? languageReq.trim() : sttLanguageEnv;\n\tconst outForm = new FormData();\n\tconst filename = audio.name || \"recording.webm\";\n\toutForm.append(\"file\", audio, filename);\n\toutForm.append(\"model\", sttModel);\n\toutForm.append(\"response_format\", \"json\");\n\tif (language) outForm.append(\"language\", language);\n\tif (typeof promptReq === \"string\" && promptReq.trim()) outForm.append(\"prompt\", promptReq.trim());\n\tconst upstreamUrl = `${sttBaseURL.replace(/\\/+$/, \"\")}/v1/audio/transcriptions`;\n\tconst headers = {};\n\tif (sttApiKey) headers.authorization = `Bearer ${sttApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: outForm,\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach STT endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst snippet = redactKey(await upstream.text().catch(() => \"\")).slice(0, 500);\n\t\treturn errorResponse(502, \"upstream_error\", `STT endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: snippet\n\t\t}, requestId);\n\t}\n\tlet payload;\n\ttry {\n\t\tpayload = await upstream.json();\n\t} catch {\n\t\treturn errorResponse(502, \"upstream_error\", \"STT endpoint returned a non-JSON response\", { upstreamStatus: upstream.status }, requestId);\n\t}\n\treturn jsonResponse(200, { text: typeof payload?.text === \"string\" ? payload.text : \"\" }, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { G as createLogger } from './src-CS2sSYOR.js';
|
|
2
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-7BvhniSt.js';
|
|
3
|
+
import './provider-constants-1s1k8kbj.js';
|
|
4
|
+
import './chunk-CLZ62Ad-.js';
|
|
5
|
+
import 'node:module';
|
|
6
|
+
import 'node:fs';
|
|
7
|
+
import 'node:child_process';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import 'buffer';
|
|
10
|
+
import 'node:url';
|
|
11
|
+
import 'node:os';
|
|
12
|
+
import 'node:crypto';
|
|
13
|
+
import 'events';
|
|
14
|
+
import 'fs';
|
|
15
|
+
import 'node:events';
|
|
16
|
+
import 'node:stream';
|
|
17
|
+
import 'node:string_decoder';
|
|
18
|
+
import 'path';
|
|
19
|
+
import 'assert';
|
|
20
|
+
import 'zlib';
|
|
21
|
+
import 'node:assert';
|
|
22
|
+
import 'node:fs/promises';
|
|
23
|
+
import './endpoints-CU3ehglV.js';
|
|
24
|
+
import './state-BRh7vs9j.js';
|
|
25
|
+
import './features-DLGlNjZX.js';
|
|
26
|
+
|
|
27
|
+
//#region src/routes/api/host/opencode/providers/[id]/auth/+server.ts
|
|
28
|
+
var logger = createLogger("opencode.auth");
|
|
29
|
+
var MAX_API_KEY_LENGTH = 512;
|
|
30
|
+
var API_KEY_PATTERN = /^[\x20-\x7E]+$/;
|
|
31
|
+
var OAUTH_SESSION_TTL_MS = 6e5;
|
|
32
|
+
var MAX_PROVIDER_ID_LENGTH = 128;
|
|
33
|
+
var PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;
|
|
34
|
+
function validateApiKey(key) {
|
|
35
|
+
if (key.length > MAX_API_KEY_LENGTH) return "API key exceeds maximum length";
|
|
36
|
+
if (!API_KEY_PATTERN.test(key)) return "API key contains invalid characters";
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
var oauthSessions = /* @__PURE__ */ new Map();
|
|
40
|
+
function purgeExpiredSessions() {
|
|
41
|
+
const now = Date.now();
|
|
42
|
+
for (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);
|
|
43
|
+
}
|
|
44
|
+
var GET = async (event) => {
|
|
45
|
+
const requestId = getRequestId(event);
|
|
46
|
+
const capabilityError = requireCapability(event, "host:secrets", requestId);
|
|
47
|
+
if (capabilityError) return capabilityError;
|
|
48
|
+
const authError = requireAdmin(event, requestId);
|
|
49
|
+
if (authError) return authError;
|
|
50
|
+
const pollToken = event.url.searchParams.get("pollToken");
|
|
51
|
+
if (!pollToken) return errorResponse(400, "bad_request", "pollToken query parameter is required", {}, requestId);
|
|
52
|
+
purgeExpiredSessions();
|
|
53
|
+
const session = oauthSessions.get(pollToken);
|
|
54
|
+
if (!session) return errorResponse(404, "not_found", "Poll session not found or expired", {}, requestId);
|
|
55
|
+
if (event.params.id !== session.providerId) return errorResponse(400, "bad_request", "Provider ID does not match poll session", {}, requestId);
|
|
56
|
+
if ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {
|
|
57
|
+
oauthSessions.delete(pollToken);
|
|
58
|
+
logger.info("oauth authorization completed", {
|
|
59
|
+
providerId: session.providerId,
|
|
60
|
+
requestId
|
|
61
|
+
});
|
|
62
|
+
return jsonResponse(200, {
|
|
63
|
+
status: "complete",
|
|
64
|
+
message: "Authorization successful"
|
|
65
|
+
}, requestId);
|
|
66
|
+
}
|
|
67
|
+
if (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {
|
|
68
|
+
oauthSessions.delete(pollToken);
|
|
69
|
+
return jsonResponse(200, {
|
|
70
|
+
status: "error",
|
|
71
|
+
message: "Authorization session expired"
|
|
72
|
+
}, requestId);
|
|
73
|
+
}
|
|
74
|
+
return jsonResponse(200, {
|
|
75
|
+
status: "pending",
|
|
76
|
+
message: "Waiting for authorization..."
|
|
77
|
+
}, requestId);
|
|
78
|
+
};
|
|
79
|
+
var POST = async (event) => {
|
|
80
|
+
const requestId = getRequestId(event);
|
|
81
|
+
const capabilityError = requireCapability(event, "host:secrets", requestId);
|
|
82
|
+
if (capabilityError) return capabilityError;
|
|
83
|
+
const authError = requireAdmin(event, requestId);
|
|
84
|
+
if (authError) return authError;
|
|
85
|
+
const result = await parseJsonBody(event.request);
|
|
86
|
+
if ("error" in result) return jsonBodyError(result, requestId);
|
|
87
|
+
const body = result.data;
|
|
88
|
+
const providerId = event.params.id;
|
|
89
|
+
const mode = typeof body.mode === "string" ? body.mode : "";
|
|
90
|
+
if (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, "bad_request", "Invalid provider ID", {}, requestId);
|
|
91
|
+
purgeExpiredSessions();
|
|
92
|
+
if (mode === "api_key") {
|
|
93
|
+
const apiKey = typeof body.apiKey === "string" ? body.apiKey.trim() : "";
|
|
94
|
+
if (!apiKey) return errorResponse(400, "bad_request", "apiKey is required for api_key mode", {}, requestId);
|
|
95
|
+
const keyError = validateApiKey(apiKey);
|
|
96
|
+
if (keyError) return errorResponse(400, "bad_request", keyError, {}, requestId);
|
|
97
|
+
const result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);
|
|
98
|
+
if (!result.ok) {
|
|
99
|
+
logger.warn("provider api key save failed", {
|
|
100
|
+
providerId,
|
|
101
|
+
requestId,
|
|
102
|
+
error: result.code
|
|
103
|
+
});
|
|
104
|
+
return errorResponse(result.status, result.code, result.message, {}, requestId);
|
|
105
|
+
}
|
|
106
|
+
logger.info("provider API key saved to OpenCode auth.json", {
|
|
107
|
+
providerId,
|
|
108
|
+
requestId
|
|
109
|
+
});
|
|
110
|
+
return jsonResponse(200, {
|
|
111
|
+
ok: true,
|
|
112
|
+
mode: "api_key"
|
|
113
|
+
}, requestId);
|
|
114
|
+
}
|
|
115
|
+
if (mode === "oauth") {
|
|
116
|
+
if (typeof body.methodIndex !== "undefined" && (typeof body.methodIndex !== "number" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, "bad_request", "methodIndex must be a non-negative integer", {}, requestId);
|
|
117
|
+
const methodIndex = typeof body.methodIndex === "number" ? body.methodIndex : 0;
|
|
118
|
+
const result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);
|
|
119
|
+
if (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);
|
|
120
|
+
const data = result.data;
|
|
121
|
+
const pollToken = crypto.randomUUID();
|
|
122
|
+
oauthSessions.set(pollToken, {
|
|
123
|
+
providerId,
|
|
124
|
+
methodIndex,
|
|
125
|
+
createdAt: Date.now()
|
|
126
|
+
});
|
|
127
|
+
logger.info("oauth authorization started", {
|
|
128
|
+
providerId,
|
|
129
|
+
methodIndex,
|
|
130
|
+
requestId
|
|
131
|
+
});
|
|
132
|
+
return jsonResponse(200, {
|
|
133
|
+
ok: true,
|
|
134
|
+
mode: "oauth",
|
|
135
|
+
pollToken,
|
|
136
|
+
url: data.url,
|
|
137
|
+
method: data.method,
|
|
138
|
+
instructions: data.instructions
|
|
139
|
+
}, requestId);
|
|
140
|
+
}
|
|
141
|
+
return errorResponse(400, "bad_request", "mode must be api_key or oauth", {}, requestId);
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* DELETE /api/host/opencode/providers/:id/auth — Disconnect a provider by
|
|
145
|
+
* removing its credential from OpenCode's auth.json.
|
|
146
|
+
*/
|
|
147
|
+
var DELETE = async (event) => {
|
|
148
|
+
const requestId = getRequestId(event);
|
|
149
|
+
const capabilityError = requireCapability(event, "host:secrets", requestId);
|
|
150
|
+
if (capabilityError) return capabilityError;
|
|
151
|
+
const authError = requireAdmin(event, requestId);
|
|
152
|
+
if (authError) return authError;
|
|
153
|
+
const providerId = event.params.id ?? "";
|
|
154
|
+
if (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, "bad_request", "Invalid provider ID", {}, requestId);
|
|
155
|
+
const result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: "DELETE" });
|
|
156
|
+
if (!result.ok) {
|
|
157
|
+
logger.warn("provider disconnect failed", {
|
|
158
|
+
providerId,
|
|
159
|
+
requestId,
|
|
160
|
+
error: result.code
|
|
161
|
+
});
|
|
162
|
+
return errorResponse(result.status, result.code, result.message, {}, requestId);
|
|
163
|
+
}
|
|
164
|
+
logger.info("provider credential removed via OpenCode /auth DELETE", {
|
|
165
|
+
providerId,
|
|
166
|
+
requestId
|
|
167
|
+
});
|
|
168
|
+
return jsonResponse(200, { ok: true }, requestId);
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
export { DELETE, GET, POST };
|
|
172
|
+
//# sourceMappingURL=_server.ts-BYUzlpfe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-BYUzlpfe.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, i as getOpenCodeClient, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /api/host/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { j as json } from './exports-CcmcYU0M.js';
|
|
2
|
+
import { spawn } from 'node:child_process';
|
|
3
|
+
import './utils-OXHIhUb5.js';
|
|
4
|
+
|
|
5
|
+
//#region src/routes/api/setup/opencode/ensure/+server.ts
|
|
6
|
+
/**
|
|
7
|
+
* POST /api/setup/opencode/ensure
|
|
8
|
+
*
|
|
9
|
+
* Ensures an OpenCode server is running for the setup wizard.
|
|
10
|
+
* 1. Checks the configured OP_OPENCODE_URL / OP_ASSISTANT_PORT first.
|
|
11
|
+
* 2. If unreachable, starts a dedicated `opencode serve` subprocess via the SDK.
|
|
12
|
+
* 3. Returns { ok, url, started } — client updates its OP_OPENCODE_URL accordingly.
|
|
13
|
+
*
|
|
14
|
+
* No auth required — called during pre-setup wizard initialization.
|
|
15
|
+
*/
|
|
16
|
+
var _url = null;
|
|
17
|
+
var _proc = null;
|
|
18
|
+
var _inFlight = null;
|
|
19
|
+
function killWizardOpencode() {
|
|
20
|
+
const proc = _proc;
|
|
21
|
+
if (proc && proc.exitCode === null && proc.pid) try {
|
|
22
|
+
proc.kill("SIGTERM");
|
|
23
|
+
} catch {}
|
|
24
|
+
_proc = null;
|
|
25
|
+
_url = null;
|
|
26
|
+
}
|
|
27
|
+
if (!globalThis.__opWizardOpencodeReaper) {
|
|
28
|
+
globalThis.__opWizardOpencodeReaper = true;
|
|
29
|
+
process.on("SIGTERM", killWizardOpencode);
|
|
30
|
+
process.on("SIGINT", killWizardOpencode);
|
|
31
|
+
process.on("exit", killWizardOpencode);
|
|
32
|
+
}
|
|
33
|
+
async function checkReachable(url) {
|
|
34
|
+
try {
|
|
35
|
+
return (await fetch(`${url}/provider`, { signal: AbortSignal.timeout(2e3) })).ok;
|
|
36
|
+
} catch {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async function stopWizardOpencode(proc) {
|
|
41
|
+
if (!proc || proc.exitCode !== null || !proc.pid) return;
|
|
42
|
+
try {
|
|
43
|
+
proc.kill("SIGTERM");
|
|
44
|
+
} catch {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
await Promise.race([new Promise((resolve) => proc.once("exit", () => resolve())), new Promise((resolve) => setTimeout(resolve, 2e3))]);
|
|
48
|
+
}
|
|
49
|
+
function spawnOpencodeServer() {
|
|
50
|
+
return new Promise((resolve, reject) => {
|
|
51
|
+
const proc = spawn("opencode", [
|
|
52
|
+
"serve",
|
|
53
|
+
"--hostname=127.0.0.1",
|
|
54
|
+
"--port=0"
|
|
55
|
+
], {
|
|
56
|
+
env: process.env,
|
|
57
|
+
stdio: [
|
|
58
|
+
"ignore",
|
|
59
|
+
"pipe",
|
|
60
|
+
"pipe"
|
|
61
|
+
]
|
|
62
|
+
});
|
|
63
|
+
_proc = proc;
|
|
64
|
+
let resolved = false;
|
|
65
|
+
const timer = setTimeout(() => {
|
|
66
|
+
proc.kill();
|
|
67
|
+
reject(/* @__PURE__ */ new Error("Timed out waiting for OpenCode server to start (15s)"));
|
|
68
|
+
}, 15e3);
|
|
69
|
+
let out = "";
|
|
70
|
+
proc.stdout?.on("data", (chunk) => {
|
|
71
|
+
out += chunk.toString();
|
|
72
|
+
for (const line of out.split("\n")) if (line.includes("server listening")) {
|
|
73
|
+
const m = line.match(/on\s+(https?:\/\/[^\s]+)/);
|
|
74
|
+
if (m) {
|
|
75
|
+
resolved = true;
|
|
76
|
+
clearTimeout(timer);
|
|
77
|
+
resolve(m[1]);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
proc.on("exit", (code) => {
|
|
82
|
+
clearTimeout(timer);
|
|
83
|
+
if (_proc === proc) {
|
|
84
|
+
_proc = null;
|
|
85
|
+
_url = null;
|
|
86
|
+
}
|
|
87
|
+
if (!resolved && code !== 0) reject(/* @__PURE__ */ new Error(`OpenCode exited (code ${code}). Output: ${out.slice(0, 300)}`));
|
|
88
|
+
});
|
|
89
|
+
proc.on("error", (err) => {
|
|
90
|
+
clearTimeout(timer);
|
|
91
|
+
if (_proc === proc) {
|
|
92
|
+
_proc = null;
|
|
93
|
+
_url = null;
|
|
94
|
+
}
|
|
95
|
+
reject(err);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
var POST = async () => {
|
|
100
|
+
const configuredUrl = process.env.OP_OPENCODE_URL ?? process.env.OP_ASSISTANT_URL ?? `http://127.0.0.1:${process.env.OP_ASSISTANT_PORT ?? "3800"}`;
|
|
101
|
+
if (await checkReachable(configuredUrl)) return json({
|
|
102
|
+
ok: true,
|
|
103
|
+
url: configuredUrl,
|
|
104
|
+
started: false
|
|
105
|
+
});
|
|
106
|
+
if (_url && await checkReachable(_url)) return json({
|
|
107
|
+
ok: true,
|
|
108
|
+
url: _url,
|
|
109
|
+
started: false
|
|
110
|
+
});
|
|
111
|
+
if (_inFlight) try {
|
|
112
|
+
return json({
|
|
113
|
+
ok: true,
|
|
114
|
+
...await _inFlight
|
|
115
|
+
});
|
|
116
|
+
} catch (err) {
|
|
117
|
+
return json({
|
|
118
|
+
ok: false,
|
|
119
|
+
error: err instanceof Error ? err.message : "Failed to start OpenCode"
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
try {
|
|
123
|
+
_inFlight = (async () => {
|
|
124
|
+
await stopWizardOpencode(_proc);
|
|
125
|
+
const url = await spawnOpencodeServer();
|
|
126
|
+
_url = url;
|
|
127
|
+
return {
|
|
128
|
+
url,
|
|
129
|
+
started: true
|
|
130
|
+
};
|
|
131
|
+
})();
|
|
132
|
+
const { url, started } = await _inFlight;
|
|
133
|
+
_inFlight = null;
|
|
134
|
+
_url = url;
|
|
135
|
+
return json({
|
|
136
|
+
ok: true,
|
|
137
|
+
url,
|
|
138
|
+
started
|
|
139
|
+
});
|
|
140
|
+
} catch (err) {
|
|
141
|
+
_inFlight = null;
|
|
142
|
+
_proc = null;
|
|
143
|
+
_url = null;
|
|
144
|
+
return json({
|
|
145
|
+
ok: false,
|
|
146
|
+
error: err instanceof Error ? err.message : "Failed to start OpenCode"
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
export { POST };
|
|
152
|
+
//# sourceMappingURL=_server.ts-B_R9VtOW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-B_R9VtOW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/ensure/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { spawn } from \"node:child_process\";\n//#region src/routes/api/setup/opencode/ensure/+server.ts\n/**\n* POST /api/setup/opencode/ensure\n*\n* Ensures an OpenCode server is running for the setup wizard.\n* 1. Checks the configured OP_OPENCODE_URL / OP_ASSISTANT_PORT first.\n* 2. If unreachable, starts a dedicated `opencode serve` subprocess via the SDK.\n* 3. Returns { ok, url, started } — client updates its OP_OPENCODE_URL accordingly.\n*\n* No auth required — called during pre-setup wizard initialization.\n*/\nvar _url = null;\nvar _proc = null;\nvar _inFlight = null;\nfunction killWizardOpencode() {\n\tconst proc = _proc;\n\tif (proc && proc.exitCode === null && proc.pid) try {\n\t\tproc.kill(\"SIGTERM\");\n\t} catch {}\n\t_proc = null;\n\t_url = null;\n}\nif (!globalThis.__opWizardOpencodeReaper) {\n\tglobalThis.__opWizardOpencodeReaper = true;\n\tprocess.on(\"SIGTERM\", killWizardOpencode);\n\tprocess.on(\"SIGINT\", killWizardOpencode);\n\tprocess.on(\"exit\", killWizardOpencode);\n}\nasync function checkReachable(url) {\n\ttry {\n\t\treturn (await fetch(`${url}/provider`, { signal: AbortSignal.timeout(2e3) })).ok;\n\t} catch {\n\t\treturn false;\n\t}\n}\nasync function stopWizardOpencode(proc) {\n\tif (!proc || proc.exitCode !== null || !proc.pid) return;\n\ttry {\n\t\tproc.kill(\"SIGTERM\");\n\t} catch {\n\t\treturn;\n\t}\n\tawait Promise.race([new Promise((resolve) => proc.once(\"exit\", () => resolve())), new Promise((resolve) => setTimeout(resolve, 2e3))]);\n}\nfunction spawnOpencodeServer() {\n\treturn new Promise((resolve, reject) => {\n\t\tconst proc = spawn(\"opencode\", [\n\t\t\t\"serve\",\n\t\t\t\"--hostname=127.0.0.1\",\n\t\t\t\"--port=0\"\n\t\t], {\n\t\t\tenv: process.env,\n\t\t\tstdio: [\n\t\t\t\t\"ignore\",\n\t\t\t\t\"pipe\",\n\t\t\t\t\"pipe\"\n\t\t\t]\n\t\t});\n\t\t_proc = proc;\n\t\tlet resolved = false;\n\t\tconst timer = setTimeout(() => {\n\t\t\tproc.kill();\n\t\t\treject(/* @__PURE__ */ new Error(\"Timed out waiting for OpenCode server to start (15s)\"));\n\t\t}, 15e3);\n\t\tlet out = \"\";\n\t\tproc.stdout?.on(\"data\", (chunk) => {\n\t\t\tout += chunk.toString();\n\t\t\tfor (const line of out.split(\"\\n\")) if (line.includes(\"server listening\")) {\n\t\t\t\tconst m = line.match(/on\\s+(https?:\\/\\/[^\\s]+)/);\n\t\t\t\tif (m) {\n\t\t\t\t\tresolved = true;\n\t\t\t\t\tclearTimeout(timer);\n\t\t\t\t\tresolve(m[1]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tproc.on(\"exit\", (code) => {\n\t\t\tclearTimeout(timer);\n\t\t\tif (_proc === proc) {\n\t\t\t\t_proc = null;\n\t\t\t\t_url = null;\n\t\t\t}\n\t\t\tif (!resolved && code !== 0) reject(/* @__PURE__ */ new Error(`OpenCode exited (code ${code}). Output: ${out.slice(0, 300)}`));\n\t\t});\n\t\tproc.on(\"error\", (err) => {\n\t\t\tclearTimeout(timer);\n\t\t\tif (_proc === proc) {\n\t\t\t\t_proc = null;\n\t\t\t\t_url = null;\n\t\t\t}\n\t\t\treject(err);\n\t\t});\n\t});\n}\nvar POST = async () => {\n\tconst configuredUrl = process.env.OP_OPENCODE_URL ?? process.env.OP_ASSISTANT_URL ?? `http://127.0.0.1:${process.env.OP_ASSISTANT_PORT ?? \"3800\"}`;\n\tif (await checkReachable(configuredUrl)) return json({\n\t\tok: true,\n\t\turl: configuredUrl,\n\t\tstarted: false\n\t});\n\tif (_url && await checkReachable(_url)) return json({\n\t\tok: true,\n\t\turl: _url,\n\t\tstarted: false\n\t});\n\tif (_inFlight) try {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\t...await _inFlight\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: err instanceof Error ? err.message : \"Failed to start OpenCode\"\n\t\t});\n\t}\n\ttry {\n\t\t_inFlight = (async () => {\n\t\t\tawait stopWizardOpencode(_proc);\n\t\t\tconst url = await spawnOpencodeServer();\n\t\t\t_url = url;\n\t\t\treturn {\n\t\t\t\turl,\n\t\t\t\tstarted: true\n\t\t\t};\n\t\t})();\n\t\tconst { url, started } = await _inFlight;\n\t\t_inFlight = null;\n\t\t_url = url;\n\t\treturn json({\n\t\t\tok: true,\n\t\t\turl,\n\t\t\tstarted\n\t\t});\n\t} catch (err) {\n\t\t_inFlight = null;\n\t\t_proc = null;\n\t\t_url = null;\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: err instanceof Error ? err.message : \"Failed to start OpenCode\"\n\t\t});\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|