@openpalm/ui 0.11.0-rc.9 → 0.11.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.CFC7xzus.css +1 -0
- package/build/client/_app/immutable/assets/0.CFC7xzus.css.br +0 -0
- package/build/client/_app/immutable/assets/0.CFC7xzus.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.B_s_XYKm.css +1 -0
- package/build/client/_app/immutable/assets/4.B_s_XYKm.css.br +0 -0
- package/build/client/_app/immutable/assets/4.B_s_XYKm.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.Dr3r8AEl.css +1 -0
- package/build/client/_app/immutable/assets/6.Dr3r8AEl.css.br +0 -0
- package/build/client/_app/immutable/assets/6.Dr3r8AEl.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css +1 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.br +0 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.gz +0 -0
- package/build/client/_app/immutable/assets/8.CY2RMSue.css +1 -0
- package/build/client/_app/immutable/assets/8.CY2RMSue.css.br +4 -0
- package/build/client/_app/immutable/assets/8.CY2RMSue.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.Bg2RXe3B.css +1 -0
- package/build/client/_app/immutable/assets/9.Bg2RXe3B.css.br +0 -0
- package/build/client/_app/immutable/assets/9.Bg2RXe3B.css.gz +0 -0
- package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css +1 -0
- package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css.br +0 -0
- package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css.gz +0 -0
- package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css +1 -0
- package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.br +2 -0
- package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.gz +0 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css +1 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css.br +0 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css.gz +0 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.js +3 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.js.br +0 -0
- package/build/client/_app/immutable/chunks/0swOyi-5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BBdT9Cjm.js +1 -0
- package/build/client/_app/immutable/chunks/BBdT9Cjm.js.br +0 -0
- package/build/client/_app/immutable/chunks/BBdT9Cjm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BQ0vnNWj.js +1 -0
- package/build/client/_app/immutable/chunks/BQ0vnNWj.js.br +1 -0
- package/build/client/_app/immutable/chunks/BQ0vnNWj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js +1 -0
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js.br +1 -0
- package/build/client/_app/immutable/chunks/Bmfn2m9N.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BsFaG4Si.js +1 -0
- package/build/client/_app/immutable/chunks/BsFaG4Si.js.br +2 -0
- package/build/client/_app/immutable/chunks/BsFaG4Si.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C5xMso3V.js +1 -0
- package/build/client/_app/immutable/chunks/C5xMso3V.js.br +0 -0
- package/build/client/_app/immutable/chunks/C5xMso3V.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BuFlayix.js → CymRgjIC.js} +1 -1
- package/build/client/_app/immutable/chunks/CymRgjIC.js.br +0 -0
- package/build/client/_app/immutable/chunks/CymRgjIC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DPsWof9T.js +3 -0
- package/build/client/_app/immutable/chunks/DPsWof9T.js.br +0 -0
- package/build/client/_app/immutable/chunks/DPsWof9T.js.gz +0 -0
- package/build/client/_app/immutable/chunks/jhtvkF_A.js +1 -0
- package/build/client/_app/immutable/chunks/jhtvkF_A.js.br +0 -0
- package/build/client/_app/immutable/chunks/jhtvkF_A.js.gz +0 -0
- package/build/client/_app/immutable/chunks/s4upGypb.js +5 -0
- package/build/client/_app/immutable/chunks/s4upGypb.js.br +0 -0
- package/build/client/_app/immutable/chunks/s4upGypb.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.BhaNzXRa.js +2 -0
- package/build/client/_app/immutable/entry/app.BhaNzXRa.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BhaNzXRa.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.mqdezZzO.js +1 -0
- package/build/client/_app/immutable/entry/start.mqdezZzO.js.br +0 -0
- package/build/client/_app/immutable/entry/start.mqdezZzO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.0pi4RS6G.js +1 -0
- package/build/client/_app/immutable/nodes/0.0pi4RS6G.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.0pi4RS6G.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.B8IsMtPo.js +1 -0
- package/build/client/_app/immutable/nodes/1.B8IsMtPo.js.br +1 -0
- package/build/client/_app/immutable/nodes/1.B8IsMtPo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js +1 -0
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js +1 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.Jf5TbLTF.js +19 -0
- package/build/client/_app/immutable/nodes/4.Jf5TbLTF.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.Jf5TbLTF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BXOM2W9q.js +4 -0
- package/build/client/_app/immutable/nodes/5.BXOM2W9q.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BXOM2W9q.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.fVxTNYsE.js +1 -0
- package/build/client/_app/immutable/nodes/6.fVxTNYsE.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.fVxTNYsE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.E4FAL2cc.js +15 -0
- package/build/client/_app/immutable/nodes/7.E4FAL2cc.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.E4FAL2cc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.By5-pJpM.js +1 -0
- package/build/client/_app/immutable/nodes/8.By5-pJpM.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.By5-pJpM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.HfUnLyFj.js +2 -0
- package/build/client/_app/immutable/nodes/9.HfUnLyFj.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.HfUnLyFj.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/client/setup/wizard.css +134 -389
- package/build/client/setup/wizard.css.br +0 -0
- package/build/client/setup/wizard.css.gz +0 -0
- package/build/server/chunks/0-BK7D9z9V.js +9 -0
- package/build/server/chunks/{0-BV-dSgKl.js.map → 0-BK7D9z9V.js.map} +1 -1
- package/build/server/chunks/1-DiEYpQIN.js +9 -0
- package/build/server/chunks/{1-BaC08_Sf.js.map → 1-DiEYpQIN.js.map} +1 -1
- package/build/server/chunks/2-DQWoUtW1.js +9 -0
- package/build/server/chunks/{2-C2y4ydWU.js.map → 2-DQWoUtW1.js.map} +1 -1
- package/build/server/chunks/{3-BgeGdVvT.js → 3-COIGgysA.js} +2 -2
- package/build/server/chunks/{3-BgeGdVvT.js.map → 3-COIGgysA.js.map} +1 -1
- package/build/server/chunks/4-pHqpXb3H.js +9 -0
- package/build/server/chunks/4-pHqpXb3H.js.map +1 -0
- package/build/server/chunks/5-D48D_0uX.js +9 -0
- package/build/server/chunks/5-D48D_0uX.js.map +1 -0
- package/build/server/chunks/6-CQ5NktVc.js +9 -0
- package/build/server/chunks/6-CQ5NktVc.js.map +1 -0
- package/build/server/chunks/7-Cbs2uIrU.js +9 -0
- package/build/server/chunks/7-Cbs2uIrU.js.map +1 -0
- package/build/server/chunks/8-Cp8CGb0N.js +35 -0
- package/build/server/chunks/8-Cp8CGb0N.js.map +1 -0
- package/build/server/chunks/9-BKnkc58p.js +9 -0
- package/build/server/chunks/9-BKnkc58p.js.map +1 -0
- package/build/server/chunks/Navbar-PVEly3CX.js +1003 -0
- package/build/server/chunks/Navbar-PVEly3CX.js.map +1 -0
- package/build/server/chunks/Spinner-Bk6e83RX.js +12 -0
- package/build/server/chunks/Spinner-Bk6e83RX.js.map +1 -0
- package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js +306 -0
- package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-B93aaRP_.js → _layout.svelte-BV7A7zff.js} +2 -2
- package/build/server/chunks/{_layout.svelte-B93aaRP_.js.map → _layout.svelte-BV7A7zff.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-CcloHuB_.js → _layout.svelte-COQuY-BN.js} +8 -8
- package/build/server/chunks/_layout.svelte-COQuY-BN.js.map +1 -0
- package/build/server/chunks/{_page.svelte-24A1xNrb.js → _page.svelte-B1SlSu-R.js} +78 -81
- package/build/server/chunks/_page.svelte-B1SlSu-R.js.map +1 -0
- package/build/server/chunks/_page.svelte-BY2APmQv.js +27 -0
- package/build/server/chunks/_page.svelte-BY2APmQv.js.map +1 -0
- package/build/server/chunks/{_page.svelte-D0gMlmzQ.js → _page.svelte-CDCe-J7o.js} +9 -15
- package/build/server/chunks/_page.svelte-CDCe-J7o.js.map +1 -0
- package/build/server/chunks/_page.svelte-CF6Wb9iE.js +2590 -0
- package/build/server/chunks/_page.svelte-CF6Wb9iE.js.map +1 -0
- package/build/server/chunks/_page.svelte-DadWXVrr.js +70 -0
- package/build/server/chunks/_page.svelte-DadWXVrr.js.map +1 -0
- package/build/server/chunks/_page.svelte-DtrBTed5.js +37 -0
- package/build/server/chunks/_page.svelte-DtrBTed5.js.map +1 -0
- package/build/server/chunks/{_server.ts-UF_kxNaU.js → _server.ts-31Wp0zcV.js} +8 -8
- package/build/server/chunks/{_server.ts-UF_kxNaU.js.map → _server.ts-31Wp0zcV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bdry_CdG.js → _server.ts-8c17N53a.js} +8 -8
- package/build/server/chunks/{_server.ts-Bdry_CdG.js.map → _server.ts-8c17N53a.js.map} +1 -1
- package/build/server/chunks/{_server.ts-rXhjnBtw.js → _server.ts-B0CeVe_2.js} +8 -8
- package/build/server/chunks/{_server.ts-rXhjnBtw.js.map → _server.ts-B0CeVe_2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D_dO8hvJ.js → _server.ts-B2vBBz6Q.js} +8 -8
- package/build/server/chunks/{_server.ts-D_dO8hvJ.js.map → _server.ts-B2vBBz6Q.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C1DcK_rP.js → _server.ts-B3uweiKb.js} +10 -10
- package/build/server/chunks/{_server.ts-C1DcK_rP.js.map → _server.ts-B3uweiKb.js.map} +1 -1
- package/build/server/chunks/_server.ts-B8pCRdwo.js +95 -0
- package/build/server/chunks/_server.ts-B8pCRdwo.js.map +1 -0
- package/build/server/chunks/{_server.ts-CLBKpKeH.js → _server.ts-BBsksu6b.js} +10 -10
- package/build/server/chunks/{_server.ts-CLBKpKeH.js.map → _server.ts-BBsksu6b.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DMKIHwKi.js → _server.ts-BDBz43vs.js} +8 -8
- package/build/server/chunks/{_server.ts-DMKIHwKi.js.map → _server.ts-BDBz43vs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Da9y6lio.js → _server.ts-BLePivrN.js} +10 -10
- package/build/server/chunks/{_server.ts-Da9y6lio.js.map → _server.ts-BLePivrN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DmyOp1yq.js → _server.ts-BMHPNIdu.js} +8 -8
- package/build/server/chunks/{_server.ts-DmyOp1yq.js.map → _server.ts-BMHPNIdu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DdlF1vjy.js → _server.ts-BN3w-iUI.js} +8 -8
- package/build/server/chunks/{_server.ts-DdlF1vjy.js.map → _server.ts-BN3w-iUI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xO4nhxDx.js → _server.ts-BYUfQeRr.js} +10 -9
- package/build/server/chunks/_server.ts-BYUfQeRr.js.map +1 -0
- package/build/server/chunks/{_server.ts-BclZ3UFT.js → _server.ts-BdEX6joM.js} +8 -8
- package/build/server/chunks/{_server.ts-BclZ3UFT.js.map → _server.ts-BdEX6joM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CAKTZL2t.js → _server.ts-Bde_Pi6A.js} +9 -9
- package/build/server/chunks/{_server.ts-CAKTZL2t.js.map → _server.ts-Bde_Pi6A.js.map} +1 -1
- package/build/server/chunks/{_server.ts-otJRaSSq.js → _server.ts-Bh_r4-Vs.js} +9 -9
- package/build/server/chunks/{_server.ts-otJRaSSq.js.map → _server.ts-Bh_r4-Vs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-De7IOs2z.js → _server.ts-Big7vXEo.js} +7 -7
- package/build/server/chunks/{_server.ts-De7IOs2z.js.map → _server.ts-Big7vXEo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CfLbEufw.js → _server.ts-Bl-41j0D.js} +8 -8
- package/build/server/chunks/{_server.ts-CfLbEufw.js.map → _server.ts-Bl-41j0D.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C_fNO73y.js → _server.ts-BnWc1lOg.js} +8 -8
- package/build/server/chunks/{_server.ts-C_fNO73y.js.map → _server.ts-BnWc1lOg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bg8OpPuA.js → _server.ts-BoQ46bw9.js} +9 -9
- package/build/server/chunks/{_server.ts-Bg8OpPuA.js.map → _server.ts-BoQ46bw9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D2wlMMJl.js → _server.ts-BwgtyrgF.js} +11 -11
- package/build/server/chunks/_server.ts-BwgtyrgF.js.map +1 -0
- package/build/server/chunks/{_server.ts-BjrO7pvn.js → _server.ts-By47s5kb.js} +9 -9
- package/build/server/chunks/{_server.ts-BjrO7pvn.js.map → _server.ts-By47s5kb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtZuKotA.js → _server.ts-C-9V_-cK.js} +31 -8
- package/build/server/chunks/_server.ts-C-9V_-cK.js.map +1 -0
- package/build/server/chunks/{_server.ts-B8JtVHLy.js → _server.ts-C-xID91b.js} +8 -8
- package/build/server/chunks/{_server.ts-B8JtVHLy.js.map → _server.ts-C-xID91b.js.map} +1 -1
- package/build/server/chunks/{_server.ts-wZ88P3nX.js → _server.ts-C1GoICVF.js} +10 -10
- package/build/server/chunks/{_server.ts-wZ88P3nX.js.map → _server.ts-C1GoICVF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D7L27_xI.js → _server.ts-C25PdnDT.js} +5 -5
- package/build/server/chunks/{_server.ts-D7L27_xI.js.map → _server.ts-C25PdnDT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dq82kHyx.js → _server.ts-CCwIt_KL.js} +8 -8
- package/build/server/chunks/{_server.ts-Dq82kHyx.js.map → _server.ts-CCwIt_KL.js.map} +1 -1
- package/build/server/chunks/_server.ts-CKNmPEUu.js +101 -0
- package/build/server/chunks/_server.ts-CKNmPEUu.js.map +1 -0
- package/build/server/chunks/{_server.ts-DVekHgMN.js → _server.ts-COMRHDN4.js} +11 -10
- package/build/server/chunks/_server.ts-COMRHDN4.js.map +1 -0
- package/build/server/chunks/{_server.ts-CqHMhINi.js → _server.ts-CU1go_Ga.js} +8 -8
- package/build/server/chunks/{_server.ts-CqHMhINi.js.map → _server.ts-CU1go_Ga.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BaxRyhZ8.js → _server.ts-CbZzxQR_.js} +8 -8
- package/build/server/chunks/{_server.ts-BaxRyhZ8.js.map → _server.ts-CbZzxQR_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DclRsTpW.js → _server.ts-Cm9oppJJ.js} +8 -8
- package/build/server/chunks/{_server.ts-DclRsTpW.js.map → _server.ts-Cm9oppJJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BwHojI4i.js → _server.ts-CmMcnrpu.js} +6 -6
- package/build/server/chunks/{_server.ts-BwHojI4i.js.map → _server.ts-CmMcnrpu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CrU9r7-F.js → _server.ts-CqkM3R41.js} +8 -8
- package/build/server/chunks/{_server.ts-CrU9r7-F.js.map → _server.ts-CqkM3R41.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B6FENZO7.js → _server.ts-Cszg5Fas.js} +8 -8
- package/build/server/chunks/{_server.ts-B6FENZO7.js.map → _server.ts-Cszg5Fas.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bd_I8GjG.js → _server.ts-CxJxINit.js} +8 -8
- package/build/server/chunks/{_server.ts-Bd_I8GjG.js.map → _server.ts-CxJxINit.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DnKTcT9x.js → _server.ts-D-9t8-nD.js} +7 -7
- package/build/server/chunks/{_server.ts-DnKTcT9x.js.map → _server.ts-D-9t8-nD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-EZS5Qan4.js → _server.ts-D1bJgR3K.js} +8 -8
- package/build/server/chunks/{_server.ts-EZS5Qan4.js.map → _server.ts-D1bJgR3K.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BYdXdnje.js → _server.ts-D2DzSUG5.js} +8 -8
- package/build/server/chunks/{_server.ts-BYdXdnje.js.map → _server.ts-D2DzSUG5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eK_9jY-9.js → _server.ts-D2HqJdkr.js} +8 -8
- package/build/server/chunks/{_server.ts-eK_9jY-9.js.map → _server.ts-D2HqJdkr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CSgPjCYv.js → _server.ts-D2QOo_fa.js} +8 -8
- package/build/server/chunks/{_server.ts-CSgPjCYv.js.map → _server.ts-D2QOo_fa.js.map} +1 -1
- package/build/server/chunks/{_server.ts-dhkEt2p6.js → _server.ts-D4Vu3KCM.js} +8 -8
- package/build/server/chunks/{_server.ts-dhkEt2p6.js.map → _server.ts-D4Vu3KCM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CG409cWi.js → _server.ts-D68iKpcP.js} +8 -8
- package/build/server/chunks/{_server.ts-CG409cWi.js.map → _server.ts-D68iKpcP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DTyZan5L.js → _server.ts-D7vymw_o.js} +8 -8
- package/build/server/chunks/{_server.ts-DTyZan5L.js.map → _server.ts-D7vymw_o.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3tjtq2m.js → _server.ts-DL9CCFsk.js} +8 -8
- package/build/server/chunks/{_server.ts-B3tjtq2m.js.map → _server.ts-DL9CCFsk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bq2S1OMq.js → _server.ts-DSBUjxDK.js} +8 -8
- package/build/server/chunks/{_server.ts-Bq2S1OMq.js.map → _server.ts-DSBUjxDK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-fsEmx9mw.js → _server.ts-DSlYMYYk.js} +8 -8
- package/build/server/chunks/{_server.ts-fsEmx9mw.js.map → _server.ts-DSlYMYYk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DzWtvjem.js → _server.ts-DTJuIcDg.js} +8 -8
- package/build/server/chunks/{_server.ts-DzWtvjem.js.map → _server.ts-DTJuIcDg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C1y3X6iK.js → _server.ts-DUmy4wsR.js} +9 -9
- package/build/server/chunks/{_server.ts-C1y3X6iK.js.map → _server.ts-DUmy4wsR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-5CjguYY3.js → _server.ts-DfFo95a7.js} +8 -8
- package/build/server/chunks/{_server.ts-5CjguYY3.js.map → _server.ts-DfFo95a7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DqVJ1NqI.js → _server.ts-Dfx9HNlr.js} +10 -11
- package/build/server/chunks/_server.ts-Dfx9HNlr.js.map +1 -0
- package/build/server/chunks/{_server.ts-yimewsjO.js → _server.ts-DgQDDDEz.js} +8 -8
- package/build/server/chunks/{_server.ts-yimewsjO.js.map → _server.ts-DgQDDDEz.js.map} +1 -1
- package/build/server/chunks/{_server.ts-l4CK3c4j.js → _server.ts-DgZ2d-BT.js} +8 -8
- package/build/server/chunks/{_server.ts-l4CK3c4j.js.map → _server.ts-DgZ2d-BT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CQqURrHY.js → _server.ts-DijnYBzX.js} +8 -8
- package/build/server/chunks/{_server.ts-CQqURrHY.js.map → _server.ts-DijnYBzX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CDtOOD3Q.js → _server.ts-DlzI77bJ.js} +8 -8
- package/build/server/chunks/{_server.ts-CDtOOD3Q.js.map → _server.ts-DlzI77bJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bl0YOh50.js → _server.ts-DnBzi352.js} +8 -8
- package/build/server/chunks/{_server.ts-Bl0YOh50.js.map → _server.ts-DnBzi352.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CLiYOnOv.js → _server.ts-Dnh6b7-J.js} +8 -8
- package/build/server/chunks/{_server.ts-CLiYOnOv.js.map → _server.ts-Dnh6b7-J.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B4N5gO26.js → _server.ts-Dvh0Hoso.js} +8 -8
- package/build/server/chunks/{_server.ts-B4N5gO26.js.map → _server.ts-Dvh0Hoso.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CJL8da0o.js → _server.ts-DwB3oRpy.js} +8 -8
- package/build/server/chunks/{_server.ts-CJL8da0o.js.map → _server.ts-DwB3oRpy.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BkoJOqrr.js → _server.ts-DxGR3bmq.js} +7 -7
- package/build/server/chunks/{_server.ts-BkoJOqrr.js.map → _server.ts-DxGR3bmq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C-lN2ZUO.js → _server.ts-DzbC2VQR.js} +6 -6
- package/build/server/chunks/{_server.ts-C-lN2ZUO.js.map → _server.ts-DzbC2VQR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-P4pmd9NX.js → _server.ts-GxTTkaRQ.js} +8 -8
- package/build/server/chunks/{_server.ts-P4pmd9NX.js.map → _server.ts-GxTTkaRQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-I0iKpsyr.js → _server.ts-K4R4Q6b_.js} +9 -9
- package/build/server/chunks/{_server.ts-I0iKpsyr.js.map → _server.ts-K4R4Q6b_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BR9OrjcE.js → _server.ts-MNOR6YaX.js} +8 -8
- package/build/server/chunks/{_server.ts-BR9OrjcE.js.map → _server.ts-MNOR6YaX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-sjM5kn.js → _server.ts-MtHT_432.js} +8 -8
- package/build/server/chunks/{_server.ts-D-sjM5kn.js.map → _server.ts-MtHT_432.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DbO3cg55.js → _server.ts-Om-m3OOe.js} +8 -8
- package/build/server/chunks/{_server.ts-DbO3cg55.js.map → _server.ts-Om-m3OOe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DWN6TJv0.js → _server.ts-URUUrX13.js} +7 -15
- package/build/server/chunks/_server.ts-URUUrX13.js.map +1 -0
- package/build/server/chunks/{_server.ts-C5s-OXCm.js → _server.ts-__ul4l8J.js} +8 -8
- package/build/server/chunks/_server.ts-__ul4l8J.js.map +1 -0
- package/build/server/chunks/{_server.ts-BmZlEy27.js → _server.ts-oqC79KoF.js} +8 -8
- package/build/server/chunks/{_server.ts-BmZlEy27.js.map → _server.ts-oqC79KoF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-b3mVtmkb.js → _server.ts-w34_y9d_.js} +8 -8
- package/build/server/chunks/{_server.ts-b3mVtmkb.js.map → _server.ts-w34_y9d_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DWLkr6Qg.js → _server.ts-yvQ-qjyI.js} +8 -8
- package/build/server/chunks/{_server.ts-DWLkr6Qg.js.map → _server.ts-yvQ-qjyI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CcTt5aAs.js → _server.ts-zHkS9Tnj.js} +6 -6
- package/build/server/chunks/{_server.ts-CcTt5aAs.js.map → _server.ts-zHkS9Tnj.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-BpnH-GEc.js → addon-helpers-CZyPj8WN.js} +3 -3
- package/build/server/chunks/{addon-helpers-BpnH-GEc.js.map → addon-helpers-CZyPj8WN.js.map} +1 -1
- package/build/server/chunks/{state-D0tEXcn4.js → client-CiyZ88m2.js} +29 -56
- package/build/server/chunks/client-CiyZ88m2.js.map +1 -0
- package/build/server/chunks/{config-0LFudKuE.js → config-BKCgm_AV.js} +2 -2
- package/build/server/chunks/{config-0LFudKuE.js.map → config-BKCgm_AV.js.map} +1 -1
- package/build/server/chunks/{dev-DjANv7AF.js → dev-B6xUe35c.js} +23 -2
- package/build/server/chunks/dev-B6xUe35c.js.map +1 -0
- package/build/server/chunks/{docker-B23w4kr6.js → docker-8AuF7CwZ.js} +2 -2
- package/build/server/chunks/{docker-B23w4kr6.js.map → docker-8AuF7CwZ.js.map} +1 -1
- package/build/server/chunks/{endpoints-Drq_J-2Z.js → endpoints-DaDle7pk.js} +2 -2
- package/build/server/chunks/{endpoints-Drq_J-2Z.js.map → endpoints-DaDle7pk.js.map} +1 -1
- package/build/server/chunks/environment-Cp1uhq6U.js +36 -0
- package/build/server/chunks/environment-Cp1uhq6U.js.map +1 -0
- package/build/server/chunks/{error.svelte-B_yfxYYS.js → error.svelte-m6KMTHAJ.js} +6 -5
- package/build/server/chunks/{error.svelte-B_yfxYYS.js.map → error.svelte-m6KMTHAJ.js.map} +1 -1
- package/build/server/chunks/{helpers-CX6xRBmt.js → helpers-BACi22nU.js} +44 -8
- package/build/server/chunks/helpers-BACi22nU.js.map +1 -0
- package/build/server/chunks/{hooks.server-BEVMYNQ4.js → hooks.server-BdyM6mgJ.js} +23 -8
- package/build/server/chunks/hooks.server-BdyM6mgJ.js.map +1 -0
- package/build/server/chunks/{http-VqOG8hyj.js → http-B8eIxVUs.js} +2 -2
- package/build/server/chunks/{http-VqOG8hyj.js.map → http-B8eIxVUs.js.map} +1 -1
- package/build/server/chunks/{internal-DRqRyEjV.js → internal-BxEwVWRz.js} +4 -4
- package/build/server/chunks/internal-BxEwVWRz.js.map +1 -0
- package/build/server/chunks/session-cookie-CFbH9CoY.js +74 -0
- package/build/server/chunks/session-cookie-CFbH9CoY.js.map +1 -0
- package/build/server/chunks/{setup-deploy-B4oSSFYi.js → setup-deploy-Ck_d_qcE.js} +2 -2
- package/build/server/chunks/{setup-deploy-B4oSSFYi.js.map → setup-deploy-Ck_d_qcE.js.map} +1 -1
- package/build/server/chunks/{src-BkvQ5Uuf.js → src-CQbie-rx.js} +4012 -3472
- package/build/server/chunks/src-CQbie-rx.js.map +1 -0
- package/build/server/chunks/state-oN2SUx4y.js +62 -0
- package/build/server/chunks/state-oN2SUx4y.js.map +1 -0
- package/build/server/chunks/{theme-state.svelte-PtPMmKGN.js → theme-state.svelte-CE13yM0n.js} +18 -27
- package/build/server/chunks/theme-state.svelte-CE13yM0n.js.map +1 -0
- package/build/server/index.js +3 -33
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +102 -80
- package/build/server/manifest.js.map +1 -1
- package/package.json +8 -6
- package/build/client/_app/immutable/assets/0.DS8L5ANe.css +0 -1
- package/build/client/_app/immutable/assets/0.DS8L5ANe.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DS8L5ANe.css.gz +0 -0
- package/build/client/_app/immutable/assets/4.Dj7oigNN.css +0 -1
- package/build/client/_app/immutable/assets/4.Dj7oigNN.css.br +0 -0
- package/build/client/_app/immutable/assets/4.Dj7oigNN.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.COn4HE1H.css +0 -1
- package/build/client/_app/immutable/assets/6.COn4HE1H.css.br +0 -0
- package/build/client/_app/immutable/assets/6.COn4HE1H.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.gblpY08p.css +0 -1
- package/build/client/_app/immutable/assets/7.gblpY08p.css.br +0 -0
- package/build/client/_app/immutable/assets/7.gblpY08p.css.gz +0 -0
- package/build/client/_app/immutable/assets/8.DjrHy5wu.css +0 -1
- package/build/client/_app/immutable/assets/8.DjrHy5wu.css.br +0 -0
- package/build/client/_app/immutable/assets/8.DjrHy5wu.css.gz +0 -0
- package/build/client/_app/immutable/assets/AuthGate.BTdwrgKg.css +0 -1
- package/build/client/_app/immutable/assets/AuthGate.BTdwrgKg.css.br +0 -0
- package/build/client/_app/immutable/assets/AuthGate.BTdwrgKg.css.gz +0 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css +0 -1
- package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css.br +0 -0
- package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B7bBnuEe.js +0 -1
- package/build/client/_app/immutable/chunks/B7bBnuEe.js.br +0 -0
- package/build/client/_app/immutable/chunks/B7bBnuEe.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BW39ik5x.js +0 -1
- package/build/client/_app/immutable/chunks/BW39ik5x.js.br +0 -0
- package/build/client/_app/immutable/chunks/BW39ik5x.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BuFlayix.js.br +0 -0
- package/build/client/_app/immutable/chunks/BuFlayix.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BwTF6U35.js +0 -3
- package/build/client/_app/immutable/chunks/BwTF6U35.js.br +0 -0
- package/build/client/_app/immutable/chunks/BwTF6U35.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cb_i8bV9.js +0 -1
- package/build/client/_app/immutable/chunks/Cb_i8bV9.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cb_i8bV9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DXseS2Vw.js +0 -1
- package/build/client/_app/immutable/chunks/DXseS2Vw.js.br +0 -0
- package/build/client/_app/immutable/chunks/DXseS2Vw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/os2NZ37U.js +0 -1
- package/build/client/_app/immutable/chunks/os2NZ37U.js.br +0 -1
- package/build/client/_app/immutable/chunks/os2NZ37U.js.gz +0 -0
- package/build/client/_app/immutable/chunks/yIwPo_wo.js +0 -5
- package/build/client/_app/immutable/chunks/yIwPo_wo.js.br +0 -0
- package/build/client/_app/immutable/chunks/yIwPo_wo.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.v-Fuqj7D.js +0 -2
- package/build/client/_app/immutable/entry/app.v-Fuqj7D.js.br +0 -0
- package/build/client/_app/immutable/entry/app.v-Fuqj7D.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.h2IOTLqd.js +0 -1
- package/build/client/_app/immutable/entry/start.h2IOTLqd.js.br +0 -0
- package/build/client/_app/immutable/entry/start.h2IOTLqd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BHFOJkcF.js +0 -1
- package/build/client/_app/immutable/nodes/0.BHFOJkcF.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BHFOJkcF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DZaTVyfp.js +0 -1
- package/build/client/_app/immutable/nodes/1.DZaTVyfp.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DZaTVyfp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.ojh8oE7F.js +0 -1
- package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js +0 -1
- package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DXR2B9JX.js +0 -19
- package/build/client/_app/immutable/nodes/4.DXR2B9JX.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DXR2B9JX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DOoWjdno.js +0 -4
- package/build/client/_app/immutable/nodes/5.DOoWjdno.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DOoWjdno.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.Rdn2byIl.js +0 -1
- package/build/client/_app/immutable/nodes/6.Rdn2byIl.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Rdn2byIl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BPYbekMv.js +0 -15
- package/build/client/_app/immutable/nodes/7.BPYbekMv.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BPYbekMv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.DNsQWKjK.js +0 -2
- package/build/client/_app/immutable/nodes/8.DNsQWKjK.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DNsQWKjK.js.gz +0 -0
- package/build/server/chunks/0-BV-dSgKl.js +0 -9
- package/build/server/chunks/1-BaC08_Sf.js +0 -9
- package/build/server/chunks/2-C2y4ydWU.js +0 -9
- package/build/server/chunks/4-aThWANXD.js +0 -9
- package/build/server/chunks/4-aThWANXD.js.map +0 -1
- package/build/server/chunks/5-DLhgTDFN.js +0 -9
- package/build/server/chunks/5-DLhgTDFN.js.map +0 -1
- package/build/server/chunks/6-DwkLbgop.js +0 -9
- package/build/server/chunks/6-DwkLbgop.js.map +0 -1
- package/build/server/chunks/7-D5gXKRbq.js +0 -9
- package/build/server/chunks/7-D5gXKRbq.js.map +0 -1
- package/build/server/chunks/8-b9MOJ1zI.js +0 -9
- package/build/server/chunks/8-b9MOJ1zI.js.map +0 -1
- package/build/server/chunks/AuthGate-DL3Htqtl.js +0 -773
- package/build/server/chunks/AuthGate-DL3Htqtl.js.map +0 -1
- package/build/server/chunks/_layout.svelte-CcloHuB_.js.map +0 -1
- package/build/server/chunks/_page.svelte-24A1xNrb.js.map +0 -1
- package/build/server/chunks/_page.svelte-BNcatsUe.js +0 -414
- package/build/server/chunks/_page.svelte-BNcatsUe.js.map +0 -1
- package/build/server/chunks/_page.svelte-CQXBb6Vv.js +0 -106
- package/build/server/chunks/_page.svelte-CQXBb6Vv.js.map +0 -1
- package/build/server/chunks/_page.svelte-D0gMlmzQ.js.map +0 -1
- package/build/server/chunks/_page.svelte-DJuM-_YW.js +0 -66
- package/build/server/chunks/_page.svelte-DJuM-_YW.js.map +0 -1
- package/build/server/chunks/_server.ts-C5s-OXCm.js.map +0 -1
- package/build/server/chunks/_server.ts-CtZuKotA.js.map +0 -1
- package/build/server/chunks/_server.ts-D2wlMMJl.js.map +0 -1
- package/build/server/chunks/_server.ts-DVekHgMN.js.map +0 -1
- package/build/server/chunks/_server.ts-DWN6TJv0.js.map +0 -1
- package/build/server/chunks/_server.ts-DqVJ1NqI.js.map +0 -1
- package/build/server/chunks/_server.ts-xO4nhxDx.js.map +0 -1
- package/build/server/chunks/dev-DjANv7AF.js.map +0 -1
- package/build/server/chunks/helpers-CX6xRBmt.js.map +0 -1
- package/build/server/chunks/hooks.server-BEVMYNQ4.js.map +0 -1
- package/build/server/chunks/internal-DRqRyEjV.js.map +0 -1
- package/build/server/chunks/src-BkvQ5Uuf.js.map +0 -1
- package/build/server/chunks/state-D0tEXcn4.js.map +0 -1
- package/build/server/chunks/theme-state.svelte-PtPMmKGN.js.map +0 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { E as head, r as escape_html, p as ensure_array_like, e as attr_class, d as attr, o as derived } from './dev-B6xUe35c.js';
|
|
2
|
+
import 'node:module';
|
|
3
|
+
import { N as Navbar, e as endpointsService } from './Navbar-PVEly3CX.js';
|
|
4
|
+
import './client-CiyZ88m2.js';
|
|
5
|
+
import './internal-BxEwVWRz.js';
|
|
6
|
+
import './utils-BSRjJDrZ.js';
|
|
7
|
+
import './chunk-CLZ62Ad-.js';
|
|
8
|
+
import './theme-state.svelte-CE13yM0n.js';
|
|
9
|
+
import './state-oN2SUx4y.js';
|
|
10
|
+
import './Spinner-Bk6e83RX.js';
|
|
11
|
+
|
|
12
|
+
//#region src/routes/admin/endpoints/+page.svelte
|
|
13
|
+
function _page($$renderer, $$props) {
|
|
14
|
+
$$renderer.component(($$renderer) => {
|
|
15
|
+
let deletingId = null;
|
|
16
|
+
const endpoints = derived(() => endpointsService.endpoints);
|
|
17
|
+
const active = derived(() => endpointsService.active);
|
|
18
|
+
head("m7qpzt", $$renderer, ($$renderer) => {
|
|
19
|
+
$$renderer.title(($$renderer) => {
|
|
20
|
+
$$renderer.push(`<title>Assistant Endpoints — OpenPalm</title>`);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
Navbar($$renderer);
|
|
24
|
+
$$renderer.push(`<!----> <main class="page svelte-m7qpzt"><header class="page-header svelte-m7qpzt"><h1 class="svelte-m7qpzt">Assistant Endpoints</h1> <p class="lede svelte-m7qpzt">Connect to local or remote OpenPalm assistants. The <strong>Default</strong> entry comes
|
|
25
|
+
from the environment (set by the launcher) and cannot be deleted. Add more endpoints to
|
|
26
|
+
switch between stacks at any time.</p></header> `);
|
|
27
|
+
if (endpointsService.error) {
|
|
28
|
+
$$renderer.push("<!--[0-->");
|
|
29
|
+
$$renderer.push(`<div class="alert error svelte-m7qpzt" role="alert">${escape_html(endpointsService.error)}</div>`);
|
|
30
|
+
} else $$renderer.push("<!--[-1-->");
|
|
31
|
+
$$renderer.push(`<!--]--> <section class="endpoints-list svelte-m7qpzt" aria-label="Configured endpoints"><!--[-->`);
|
|
32
|
+
const each_array = ensure_array_like(endpoints());
|
|
33
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
34
|
+
let ep = each_array[$$index];
|
|
35
|
+
$$renderer.push(`<article${attr_class("endpoint-card svelte-m7qpzt", void 0, { "active": ep.id === active()?.id })}><div class="endpoint-main svelte-m7qpzt"><div class="endpoint-title svelte-m7qpzt"><span class="endpoint-label svelte-m7qpzt">${escape_html(ep.label)}</span> `);
|
|
36
|
+
if (ep.isDefault) {
|
|
37
|
+
$$renderer.push("<!--[0-->");
|
|
38
|
+
$$renderer.push(`<span class="badge default svelte-m7qpzt">Default</span>`);
|
|
39
|
+
} else $$renderer.push("<!--[-1-->");
|
|
40
|
+
$$renderer.push(`<!--]--> `);
|
|
41
|
+
if (ep.id === active()?.id) {
|
|
42
|
+
$$renderer.push("<!--[0-->");
|
|
43
|
+
$$renderer.push(`<span class="badge active svelte-m7qpzt">Active</span>`);
|
|
44
|
+
} else $$renderer.push("<!--[-1-->");
|
|
45
|
+
$$renderer.push(`<!--]--> `);
|
|
46
|
+
if (ep.hasPassword) {
|
|
47
|
+
$$renderer.push("<!--[0-->");
|
|
48
|
+
$$renderer.push(`<span class="badge password svelte-m7qpzt" title="Server password configured">🔒</span>`);
|
|
49
|
+
} else $$renderer.push("<!--[-1-->");
|
|
50
|
+
$$renderer.push(`<!--]--></div> <div class="endpoint-url svelte-m7qpzt">${escape_html(ep.url)}</div></div> <div class="endpoint-actions svelte-m7qpzt">`);
|
|
51
|
+
if (ep.id !== active()?.id) {
|
|
52
|
+
$$renderer.push("<!--[0-->");
|
|
53
|
+
$$renderer.push(`<button type="button" class="btn btn-primary btn-sm">Use this</button>`);
|
|
54
|
+
} else $$renderer.push("<!--[-1-->");
|
|
55
|
+
$$renderer.push(`<!--]--> `);
|
|
56
|
+
if (!ep.isDefault) {
|
|
57
|
+
$$renderer.push("<!--[0-->");
|
|
58
|
+
$$renderer.push(`<button type="button" class="btn btn-secondary btn-sm">Edit</button> <button type="button" class="btn btn-danger btn-sm svelte-m7qpzt"${attr("disabled", deletingId === ep.id, true)}>${escape_html(deletingId === ep.id ? "Removing…" : "Remove")}</button>`);
|
|
59
|
+
} else $$renderer.push("<!--[-1-->");
|
|
60
|
+
$$renderer.push(`<!--]--></div></article>`);
|
|
61
|
+
}
|
|
62
|
+
$$renderer.push(`<!--]--></section> `);
|
|
63
|
+
$$renderer.push("<!--[0-->");
|
|
64
|
+
$$renderer.push(`<button type="button" class="btn btn-primary">+ Add endpoint</button>`);
|
|
65
|
+
$$renderer.push(`<!--]--></main>`);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { _page as default };
|
|
70
|
+
//# sourceMappingURL=_page.svelte-DadWXVrr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-DadWXVrr.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/endpoints/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, s as head } from \"../../../../chunks/dev.js\";\nimport \"../../../../chunks/index-server.js\";\nimport { i as endpointsService, t as Navbar } from \"../../../../chunks/Navbar.js\";\n//#region src/routes/admin/endpoints/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet deletingId = null;\n\t\tconst endpoints = derived(() => endpointsService.endpoints);\n\t\tconst active = derived(() => endpointsService.active);\n\t\thead(\"m7qpzt\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Assistant Endpoints — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tNavbar($$renderer, {});\n\t\t$$renderer.push(`<!----> <main class=\"page svelte-m7qpzt\"><header class=\"page-header svelte-m7qpzt\"><h1 class=\"svelte-m7qpzt\">Assistant Endpoints</h1> <p class=\"lede svelte-m7qpzt\">Connect to local or remote OpenPalm assistants. The <strong>Default</strong> entry comes\n from the environment (set by the launcher) and cannot be deleted. Add more endpoints to\n switch between stacks at any time.</p></header> `);\n\t\tif (endpointsService.error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"alert error svelte-m7qpzt\" role=\"alert\">${escape_html(endpointsService.error)}</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <section class=\"endpoints-list svelte-m7qpzt\" aria-label=\"Configured endpoints\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(endpoints());\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet ep = each_array[$$index];\n\t\t\t$$renderer.push(`<article${attr_class(\"endpoint-card svelte-m7qpzt\", void 0, { \"active\": ep.id === active()?.id })}><div class=\"endpoint-main svelte-m7qpzt\"><div class=\"endpoint-title svelte-m7qpzt\"><span class=\"endpoint-label svelte-m7qpzt\">${escape_html(ep.label)}</span> `);\n\t\t\tif (ep.isDefault) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge default svelte-m7qpzt\">Default</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (ep.id === active()?.id) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge active svelte-m7qpzt\">Active</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (ep.hasPassword) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge password svelte-m7qpzt\" title=\"Server password configured\">🔒</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> <div class=\"endpoint-url svelte-m7qpzt\">${escape_html(ep.url)}</div></div> <div class=\"endpoint-actions svelte-m7qpzt\">`);\n\t\t\tif (ep.id !== active()?.id) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-primary btn-sm\">Use this</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (!ep.isDefault) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-secondary btn-sm\">Edit</button> <button type=\"button\" class=\"btn btn-danger btn-sm svelte-m7qpzt\"${attr(\"disabled\", deletingId === ep.id, true)}>${escape_html(deletingId === ep.id ? \"Removing…\" : \"Remove\")}</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div></article>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section> `);\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-primary\">+ Add endpoint</button>`);\n\t\t$$renderer.push(`<!--]--></main>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { E as head, d as attr } from './dev-B6xUe35c.js';
|
|
2
|
+
import './client-CiyZ88m2.js';
|
|
3
|
+
import './internal-BxEwVWRz.js';
|
|
4
|
+
import './utils-BSRjJDrZ.js';
|
|
5
|
+
import 'node:module';
|
|
6
|
+
import './chunk-CLZ62Ad-.js';
|
|
7
|
+
|
|
8
|
+
//#region src/lib/components/common/AuthGate.svelte
|
|
9
|
+
function AuthGate($$renderer, $$props) {
|
|
10
|
+
$$renderer.component(($$renderer) => {
|
|
11
|
+
let tokenInput = "";
|
|
12
|
+
$$renderer.push(`<main class="auth-gate svelte-zhbyfn" aria-label="Admin login gate"><section class="auth-card svelte-zhbyfn"><div class="auth-brand svelte-zhbyfn"><span class="brand-icon svelte-zhbyfn"><img src="/logo-128.png" alt="OpenPalm Logo" class="svelte-zhbyfn"/></span> <div><h1 class="svelte-zhbyfn">OpenPalm Console</h1> <p class="svelte-zhbyfn">Enter your admin password to unlock the control plane.</p></div></div> <form class="auth-form svelte-zhbyfn"><label for="admin-token" class="svelte-zhbyfn">Admin Password</label> <input type="text" name="username" autocomplete="username" value="admin" class="sr-only svelte-zhbyfn" tabindex="-1" aria-hidden="true"/> <div class="token-input-wrapper svelte-zhbyfn"><input id="admin-token" name="admin-token"${attr("type", "password")}${attr("value", tokenInput)} placeholder="Enter admin password" autocomplete="current-password" class="svelte-zhbyfn"/> <button type="button" class="btn-toggle svelte-zhbyfn"${attr("aria-label", "Show token")}>`);
|
|
13
|
+
$$renderer.push("<!--[-1-->");
|
|
14
|
+
$$renderer.push(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>`);
|
|
15
|
+
$$renderer.push(`<!--]--></button></div> `);
|
|
16
|
+
$$renderer.push("<!--[-1-->");
|
|
17
|
+
$$renderer.push(`<!--]--> <button class="btn btn-primary" type="submit"${attr("disabled", !tokenInput.trim(), true)}>`);
|
|
18
|
+
$$renderer.push("<!--[-1-->");
|
|
19
|
+
$$renderer.push(`<!--]--> Unlock Console</button></form></section></main>`);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region src/routes/login/+page.svelte
|
|
24
|
+
function _page($$renderer, $$props) {
|
|
25
|
+
$$renderer.component(($$renderer) => {
|
|
26
|
+
let { data } = $$props;
|
|
27
|
+
head("1x05zx6", $$renderer, ($$renderer) => {
|
|
28
|
+
$$renderer.title(($$renderer) => {
|
|
29
|
+
$$renderer.push(`<title>Sign in — OpenPalm</title>`);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
AuthGate($$renderer);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { _page as default };
|
|
37
|
+
//# sourceMappingURL=_page.svelte-DtrBTed5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-DtrBTed5.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, s as head } from \"../../../chunks/dev.js\";\nimport { t as goto } from \"../../../chunks/client.js\";\nimport \"../../../chunks/navigation.js\";\nimport { t as Spinner } from \"../../../chunks/Spinner.js\";\n//#region src/lib/components/common/AuthGate.svelte\nfunction AuthGate($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { onSuccess, loading, error } = $$props;\n\t\tlet tokenInput = \"\";\n\t\t$$renderer.push(`<main class=\"auth-gate svelte-zhbyfn\" aria-label=\"Admin login gate\"><section class=\"auth-card svelte-zhbyfn\"><div class=\"auth-brand svelte-zhbyfn\"><span class=\"brand-icon svelte-zhbyfn\"><img src=\"/logo-128.png\" alt=\"OpenPalm Logo\" class=\"svelte-zhbyfn\"/></span> <div><h1 class=\"svelte-zhbyfn\">OpenPalm Console</h1> <p class=\"svelte-zhbyfn\">Enter your admin password to unlock the control plane.</p></div></div> <form class=\"auth-form svelte-zhbyfn\"><label for=\"admin-token\" class=\"svelte-zhbyfn\">Admin Password</label> <input type=\"text\" name=\"username\" autocomplete=\"username\" value=\"admin\" class=\"sr-only svelte-zhbyfn\" tabindex=\"-1\" aria-hidden=\"true\"/> <div class=\"token-input-wrapper svelte-zhbyfn\"><input id=\"admin-token\" name=\"admin-token\"${attr(\"type\", \"password\")}${attr(\"value\", tokenInput)} placeholder=\"Enter admin password\" autocomplete=\"current-password\" class=\"svelte-zhbyfn\"/> <button type=\"button\" class=\"btn-toggle svelte-zhbyfn\"${attr(\"aria-label\", \"Show token\")}>`);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"></path><circle cx=\"12\" cy=\"12\" r=\"3\"></circle></svg>`);\n\t\t$$renderer.push(`<!--]--></button></div> `);\n\t\tif (error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"auth-error svelte-zhbyfn\" role=\"alert\">${escape_html(error)}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <button class=\"btn btn-primary\" type=\"submit\"${attr(\"disabled\", loading || !tokenInput.trim(), true)}>`);\n\t\tif (loading) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tSpinner($$renderer, {});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> Unlock Console</button></form></section></main>`);\n\t});\n}\n//#endregion\n//#region src/routes/login/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tlet loading = false;\n\t\tlet error = \"\";\n\t\tasync function handleAuthSuccess(token) {\n\t\t\tif (loading) return false;\n\t\t\tconst target = data.redirectTo || \"/chat\";\n\t\t\tloading = true;\n\t\t\terror = \"\";\n\t\t\ttry {\n\t\t\t\tconst res = await fetch(\"/admin/auth/login\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({ password: token }),\n\t\t\t\t\tcredentials: \"include\"\n\t\t\t\t});\n\t\t\t\tif (!res.ok) {\n\t\t\t\t\terror = res.status === 503 ? \"Admin password is not configured yet. Complete setup first.\" : \"Invalid password.\";\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tawait goto(target);\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\terror = \"Unable to reach admin API.\";\n\t\t\t\treturn false;\n\t\t\t} finally {\n\t\t\t\tloading = false;\n\t\t\t}\n\t\t}\n\t\thead(\"1x05zx6\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Sign in — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tAuthGate($$renderer, {\n\t\t\tonSuccess: handleAuthSuccess,\n\t\t\tloading,\n\t\t\terror\n\t\t});\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;;;;AAIA;AACA,SAAS,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;AACvC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AAEtC,EAAE,IAAI,UAAU,GAAG,EAAE;AACrB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,0uBAA0uB,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,kJAAkJ,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5+B,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAC/B,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,gRAAgR,CAAC,CAAC;AACrS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC;AAC7C,EAGS,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,sDAAsD,EAAE,IAAI,CAAC,UAAU,EAAa,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpI,EAGS,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,wDAAwD,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AA4BxB,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,UAAU,KAAK;AAC9C,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,KAAK;AACpC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,iCAAiC,CAAC,CAAC;AACxD,GAAG,CAAC,CAAC;AACL,EAAE,CAAC,CAAC;AACJ,EAAE,QAAQ,CAAC,UAIR,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { i as authJsonPath } from './src-
|
|
3
|
-
import { b as getState } from './endpoints-
|
|
4
|
-
import { g as getOpenCodeClient } from './helpers-
|
|
2
|
+
import { i as authJsonPath } from './src-CQbie-rx.js';
|
|
3
|
+
import { b as getState } from './endpoints-DaDle7pk.js';
|
|
4
|
+
import { g as getOpenCodeClient } from './helpers-BACi22nU.js';
|
|
5
5
|
import { existsSync, readFileSync } from 'node:fs';
|
|
6
6
|
import './utils-BSRjJDrZ.js';
|
|
7
7
|
import './chunk-CLZ62Ad-.js';
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:path';
|
|
10
|
-
import 'node:child_process';
|
|
11
|
-
import 'node:os';
|
|
12
10
|
import 'buffer';
|
|
11
|
+
import 'node:os';
|
|
12
|
+
import 'fs';
|
|
13
|
+
import 'path';
|
|
14
|
+
import 'node:child_process';
|
|
13
15
|
import 'node:url';
|
|
14
16
|
import 'node:crypto';
|
|
15
17
|
import 'events';
|
|
16
|
-
import 'fs';
|
|
17
18
|
import 'node:events';
|
|
18
19
|
import 'node:stream';
|
|
19
20
|
import 'node:string_decoder';
|
|
20
|
-
import 'path';
|
|
21
21
|
import 'assert';
|
|
22
22
|
import 'zlib';
|
|
23
23
|
import 'node:assert';
|
|
@@ -76,4 +76,4 @@ var GET = async () => {
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
export { GET };
|
|
79
|
-
//# sourceMappingURL=_server.ts-
|
|
79
|
+
//# sourceMappingURL=_server.ts-31Wp0zcV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-31Wp0zcV.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { Ot as authJsonPath } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/opencode/providers/+server.ts\nfunction selectedModels() {\n\ttry {\n\t\tconst path = `${getState().configDir}/assistant/opencode.json`;\n\t\tif (!existsSync(path)) return {};\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn {\n\t\t\t...typeof data.model === \"string\" && data.model ? { llm: data.model } : {},\n\t\t\t...typeof data.small_model === \"string\" && data.small_model ? { small: data.small_model } : {}\n\t\t};\n\t} catch {\n\t\treturn {};\n\t}\n}\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\nvar GET = async () => {\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (!await client.isAvailable()) return json({\n\t\t\tok: true,\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t});\n\t\tconst [catalog, auth] = await Promise.all([client.proxy(\"/provider\"), client.getProviderAuth()]);\n\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: true,\n\t\t\tproviders: Array.isArray(raw.all) ? raw.all : [],\n\t\t\tauth,\n\t\t\tconnected: Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()])),\n\t\t\tselectedModels: selectedModels()\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,SAAS,cAAc,GAAG;AAC1B,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC;AAChE,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,OAAO;AACT,GAAG,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;AAC7E,GAAG,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG;AAC/F,GAAG;AACH,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACA;AACA,SAAS,iBAAiB,GAAG;AAC7B,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AACvC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,iBAAiB,EAAE;AACpC,EAAE,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,IAAI,CAAC;AAC/C,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;AAClG,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,EAAE;AAC5C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,IAAI;AAClB,GAAG,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE;AACnD,GAAG,IAAI;AACP,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACnF,GAAG,cAAc,EAAE,cAAc;AACjC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import './src-
|
|
1
|
+
import { k as jsonResponse, d as getRequestId } from './helpers-BACi22nU.js';
|
|
2
|
+
import './src-CQbie-rx.js';
|
|
3
3
|
import './chunk-CLZ62Ad-.js';
|
|
4
4
|
import 'node:module';
|
|
5
5
|
import 'node:fs';
|
|
6
6
|
import 'node:path';
|
|
7
|
-
import 'node:child_process';
|
|
8
|
-
import 'node:os';
|
|
9
7
|
import 'buffer';
|
|
8
|
+
import 'node:os';
|
|
9
|
+
import 'fs';
|
|
10
|
+
import 'path';
|
|
11
|
+
import 'node:child_process';
|
|
10
12
|
import 'node:url';
|
|
11
13
|
import 'node:crypto';
|
|
12
14
|
import 'events';
|
|
13
|
-
import 'fs';
|
|
14
15
|
import 'node:events';
|
|
15
16
|
import 'node:stream';
|
|
16
17
|
import 'node:string_decoder';
|
|
17
|
-
import 'path';
|
|
18
18
|
import 'assert';
|
|
19
19
|
import 'zlib';
|
|
20
20
|
import 'node:assert';
|
|
21
21
|
import 'node:fs/promises';
|
|
22
|
-
import './endpoints-
|
|
22
|
+
import './endpoints-DaDle7pk.js';
|
|
23
23
|
|
|
24
24
|
//#region src/routes/health/+server.ts
|
|
25
25
|
var GET = async (event) => {
|
|
@@ -30,4 +30,4 @@ var GET = async (event) => {
|
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
export { GET };
|
|
33
|
-
//# sourceMappingURL=_server.ts-
|
|
33
|
+
//# sourceMappingURL=_server.ts-8c17N53a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-8c17N53a.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/health/_server.ts.js"],"sourcesContent":["import { o as getRequestId, u as jsonResponse } from \"../../../chunks/helpers.js\";\n//#region src/routes/health/+server.ts\nvar GET = async (event) => {\n\treturn jsonResponse(200, {\n\t\tstatus: \"ok\",\n\t\tservice: \"admin\"\n\t}, getRequestId(event));\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACxB;;;;"}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { g as getOpenCodeClient } from './helpers-
|
|
2
|
+
import { g as getOpenCodeClient } from './helpers-BACi22nU.js';
|
|
3
3
|
import './utils-BSRjJDrZ.js';
|
|
4
|
-
import './src-
|
|
4
|
+
import './src-CQbie-rx.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import 'node:fs';
|
|
8
8
|
import 'node:path';
|
|
9
|
-
import 'node:child_process';
|
|
10
|
-
import 'node:os';
|
|
11
9
|
import 'buffer';
|
|
10
|
+
import 'node:os';
|
|
11
|
+
import 'fs';
|
|
12
|
+
import 'path';
|
|
13
|
+
import 'node:child_process';
|
|
12
14
|
import 'node:url';
|
|
13
15
|
import 'node:crypto';
|
|
14
16
|
import 'events';
|
|
15
|
-
import 'fs';
|
|
16
17
|
import 'node:events';
|
|
17
18
|
import 'node:stream';
|
|
18
19
|
import 'node:string_decoder';
|
|
19
|
-
import 'path';
|
|
20
20
|
import 'assert';
|
|
21
21
|
import 'zlib';
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
|
-
import './endpoints-
|
|
24
|
+
import './endpoints-DaDle7pk.js';
|
|
25
25
|
|
|
26
26
|
//#region src/routes/api/setup/opencode/auth/[provider]/+server.ts
|
|
27
27
|
var PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;
|
|
@@ -46,4 +46,4 @@ var PUT = async ({ params, request }) => {
|
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
export { PUT };
|
|
49
|
-
//# sourceMappingURL=_server.ts-
|
|
49
|
+
//# sourceMappingURL=_server.ts-B0CeVe_2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-B0CeVe_2.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/auth/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../chunks/exports.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/auth/[provider]/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar PUT = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst { key } = await request.json();\n\t\tif (!(await getOpenCodeClient().setProviderApiKey(params.provider, typeof key === \"string\" ? key : \"\")).ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 400 });\n\t\treturn json({ ok: true });\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AACzC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACtC,EAAE,IAAI,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC1H,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse,
|
|
1
|
+
import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse, k as jsonResponse } from './helpers-BACi22nU.js';
|
|
2
2
|
import { b as asRecord } from './coercion-TNFJisCC.js';
|
|
3
|
-
import './src-
|
|
3
|
+
import './src-CQbie-rx.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import 'node:fs';
|
|
7
7
|
import 'node:path';
|
|
8
|
-
import 'node:child_process';
|
|
9
|
-
import 'node:os';
|
|
10
8
|
import 'buffer';
|
|
9
|
+
import 'node:os';
|
|
10
|
+
import 'fs';
|
|
11
|
+
import 'path';
|
|
12
|
+
import 'node:child_process';
|
|
11
13
|
import 'node:url';
|
|
12
14
|
import 'node:crypto';
|
|
13
15
|
import 'events';
|
|
14
|
-
import 'fs';
|
|
15
16
|
import 'node:events';
|
|
16
17
|
import 'node:stream';
|
|
17
18
|
import 'node:string_decoder';
|
|
18
|
-
import 'path';
|
|
19
19
|
import 'assert';
|
|
20
20
|
import 'zlib';
|
|
21
21
|
import 'node:assert';
|
|
22
22
|
import 'node:fs/promises';
|
|
23
|
-
import './endpoints-
|
|
23
|
+
import './endpoints-DaDle7pk.js';
|
|
24
24
|
|
|
25
25
|
//#region src/lib/opencode/provider-models.ts
|
|
26
26
|
function sanitizeOpenCodeModels(models, fallbackProviderId) {
|
|
@@ -53,4 +53,4 @@ var GET = async (event) => {
|
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
export { GET };
|
|
56
|
-
//# sourceMappingURL=_server.ts-
|
|
56
|
+
//# sourceMappingURL=_server.ts-B2vBBz6Q.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-B2vBBz6Q.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/models/_server.ts.js"],"sourcesContent":["import { a as getOpenCodeClient, f as requireAdmin, i as errorResponse, o as getRequestId, u as jsonResponse } from \"../../../../../../../chunks/helpers.js\";\nimport { n as asRecord } from \"../../../../../../../chunks/coercion.js\";\n//#region src/lib/opencode/provider-models.ts\nfunction sanitizeOpenCodeModels(models, fallbackProviderId) {\n\tif (!models || typeof models !== \"object\") return [];\n\treturn Object.values(models).map((value) => asRecord(value)).filter((model) => typeof model?.id === \"string\").map((model) => {\n\t\tconst id = model.id;\n\t\treturn {\n\t\t\tid,\n\t\t\tname: typeof model.name === \"string\" ? model.name : id,\n\t\t\tfamily: typeof model.family === \"string\" ? model.family : \"\",\n\t\t\tproviderID: typeof model.providerID === \"string\" ? model.providerID : fallbackProviderId,\n\t\t\tstatus: typeof model.status === \"string\" ? model.status : \"active\",\n\t\t\tcapabilities: asRecord(model.capabilities) ?? {}\n\t\t};\n\t});\n}\n//#endregion\n//#region src/routes/admin/opencode/providers/[id]/models/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id;\n\tconst result = await getOpenCodeClient().proxy(\"/provider\");\n\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\tconst provider = result.data.all?.find((p) => p.id === providerId);\n\tif (!provider) return errorResponse(404, \"not_found\", `Provider \"${providerId}\" not found`, {}, requestId);\n\tif (!provider.models) return jsonResponse(200, { models: [] }, requestId);\n\treturn jsonResponse(200, { models: sanitizeOpenCodeModels(provider.models, providerId) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE;AAC5D,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,OAAO,EAAE;AACrD,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,OAAO,KAAK,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC9H,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE;AACrB,EAAE,OAAO;AACT,GAAG,EAAE;AACL,GAAG,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE;AACzD,GAAG,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE;AAC/D,GAAG,UAAU,EAAE,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,GAAG,KAAK,CAAC,UAAU,GAAG,kBAAkB;AAC3F,GAAG,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ;AACrE,GAAG,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI;AACjD,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AACnC,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;AAC5D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC;AACnE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3G,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1E,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC;AACrG;;;;"}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError,
|
|
3
|
-
import { b as setProviderOptions, p as patchConfig, a as setProviderEnabled, g as getCurrentConfig, r as registerProvider, s as setMainModel } from './config-
|
|
1
|
+
import { G as detectLocalProviders, y as createLogger } from './src-CQbie-rx.js';
|
|
2
|
+
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, k as jsonResponse, e as errorResponse, g as getOpenCodeClient } from './helpers-BACi22nU.js';
|
|
3
|
+
import { b as setProviderOptions, p as patchConfig, a as setProviderEnabled, g as getCurrentConfig, r as registerProvider, s as setMainModel } from './config-BKCgm_AV.js';
|
|
4
4
|
import { a as asStringOrEmpty, p as parseHeaders, d as updateNumberOption, u as updateBooleanOption, c as parseModels, b as buildModelConfig } from './_helpers-B_lb4-jB.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import 'node:fs';
|
|
8
8
|
import 'node:path';
|
|
9
|
-
import 'node:child_process';
|
|
10
|
-
import 'node:os';
|
|
11
9
|
import 'buffer';
|
|
10
|
+
import 'node:os';
|
|
11
|
+
import 'fs';
|
|
12
|
+
import 'path';
|
|
13
|
+
import 'node:child_process';
|
|
12
14
|
import 'node:url';
|
|
13
15
|
import 'node:crypto';
|
|
14
16
|
import 'events';
|
|
15
|
-
import 'fs';
|
|
16
17
|
import 'node:events';
|
|
17
18
|
import 'node:stream';
|
|
18
19
|
import 'node:string_decoder';
|
|
19
|
-
import 'path';
|
|
20
20
|
import 'assert';
|
|
21
21
|
import 'zlib';
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
|
-
import './endpoints-
|
|
24
|
+
import './endpoints-DaDle7pk.js';
|
|
25
25
|
import './coercion-TNFJisCC.js';
|
|
26
|
-
import './http-
|
|
26
|
+
import './http-B8eIxVUs.js';
|
|
27
27
|
|
|
28
28
|
//#region src/routes/admin/providers/[id]/+server.ts
|
|
29
29
|
var logger = createLogger("admin.providers.patch");
|
|
@@ -197,4 +197,4 @@ var PATCH = async (event) => {
|
|
|
197
197
|
};
|
|
198
198
|
|
|
199
199
|
export { PATCH };
|
|
200
|
-
//# sourceMappingURL=_server.ts-
|
|
200
|
+
//# sourceMappingURL=_server.ts-B3uweiKb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-C1DcK_rP.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_id_/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, s as detectLocalProviders } from \"../../../../../chunks/src.js\";\nimport { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { a as setProviderEnabled, i as setMainModel, n as patchConfig, o as setProviderOptions, r as registerProvider, t as getCurrentConfig } from \"../../../../../chunks/config.js\";\nimport { a as parseModels, i as parseHeaders, n as buildModelConfig, o as updateBooleanOption, s as updateNumberOption, t as asStringOrEmpty } from \"../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/[id]/+server.ts\nvar logger = createLogger(\"admin.providers.patch\");\n/** Allowed format for a custom provider id */\nvar CUSTOM_PROVIDER_ID_PATTERN = /^[a-z0-9_-]+$/;\nvar LOCAL_PROVIDER_LABELS = {\n\tollama: \"Local Ollama\",\n\tlmstudio: \"Local LM Studio\",\n\t\"model-runner\": \"Docker Model Runner\"\n};\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id;\n\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst body = parsed.data;\n\tconst kind = typeof body.kind === \"string\" ? body.kind : \"\";\n\tif (kind === \"options\") try {\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst enterpriseUrl = asStringOrEmpty(body.enterpriseUrl);\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headers));\n\t\tconst nextOptions = {};\n\t\tupdateNumberOption(nextOptions, \"timeout\", asStringOrEmpty(body.timeout));\n\t\tupdateBooleanOption(nextOptions, \"setCacheKey\", body.setCacheKey === \"on\" || body.setCacheKey === true);\n\t\tawait setProviderOptions(providerId, {\n\t\t\tbaseURL: baseURL || void 0,\n\t\t\tenterpriseUrl: enterpriseUrl || void 0,\n\t\t\ttimeout: typeof nextOptions.timeout === \"number\" ? nextOptions.timeout : void 0,\n\t\t\tsetCacheKey: nextOptions.setCacheKey === true,\n\t\t\theaders: headers && Object.keys(headers).length > 0 ? headers : null\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Provider settings saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"toggle\") try {\n\t\tconst nextState = asStringOrEmpty(body.enabled) === \"true\" || body.enabled === true;\n\t\tawait patchConfig(setProviderEnabled(await getCurrentConfig(), providerId, nextState));\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: nextState ? \"Provider enabled for model selection.\" : \"Provider disabled for this workspace.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-local\") try {\n\t\tif (!Object.prototype.hasOwnProperty.call(LOCAL_PROVIDER_LABELS, providerId)) return errorResponse(400, \"bad_request\", \"provider must be one of: ollama, lmstudio, model-runner\", {}, requestId);\n\t\tconst match = (await detectLocalProviders()).find((d) => d.provider === providerId);\n\t\tif (!match || !match.available) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: `No reachable ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} endpoint found.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst existingEntry = ((await getCurrentConfig()).provider ?? {})[providerId];\n\t\tconst existingOptions = existingEntry?.options ?? {};\n\t\tawait registerProvider(providerId, {\n\t\t\tnpm: typeof existingEntry?.npm === \"string\" ? existingEntry.npm : \"@ai-sdk/openai-compatible\",\n\t\t\tname: typeof existingEntry?.name === \"string\" ? existingEntry.name : LOCAL_PROVIDER_LABELS[providerId] ?? providerId,\n\t\t\toptions: {\n\t\t\t\t...existingOptions,\n\t\t\t\tbaseURL: match.url\n\t\t\t}\n\t\t}, true);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: `Registered ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} at ${match.url}.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: err instanceof Error ? err.message : String(err),\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-custom\") try {\n\t\tconst displayName = asStringOrEmpty(body.displayName);\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst apiKey = asStringOrEmpty(body.apiKey);\n\t\tconst confirmOverwrite = asStringOrEmpty(body.confirmOverwrite) === \"true\";\n\t\tif (!CUSTOM_PROVIDER_ID_PATTERN.test(providerId)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Use a lowercase provider id with letters, numbers, hyphens, or underscores.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tif (!displayName || !baseURL) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Display name and base URL are required for a custom provider.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst models = parseModels(asStringOrEmpty(body.modelsJson));\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headersJson));\n\t\tconst entry = {\n\t\t\tnpm: \"@ai-sdk/openai-compatible\",\n\t\t\tname: displayName,\n\t\t\toptions: {\n\t\t\t\tbaseURL,\n\t\t\t\t...Object.keys(headers).length > 0 ? { headers } : {}\n\t\t\t}\n\t\t};\n\t\tif (models.length > 0) entry.models = Object.fromEntries(models.map((m) => [m.id, buildModelConfig(m)]));\n\t\tif ((await registerProvider(providerId, entry, confirmOverwrite)).alreadyExists) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"A provider with this ID already exists. Enable overwrite to replace it.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tif (apiKey) try {\n\t\t\tconst authResult = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\t\tif (!authResult.ok) logger.warn(\"custom provider apiKey save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\tcode: authResult.code,\n\t\t\t\tmessage: authResult.message,\n\t\t\t\trequestId\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tlogger.warn(\"custom provider apiKey threw\", {\n\t\t\t\tproviderId,\n\t\t\t\terror: String(err),\n\t\t\t\trequestId\n\t\t\t});\n\t\t}\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Custom provider saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"set-model\") try {\n\t\tconst modelId = asStringOrEmpty(body.modelId);\n\t\tconst target = asStringOrEmpty(body.target);\n\t\tif (!modelId || target !== \"model\" && target !== \"small_model\") return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider model before saving it.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tawait setMainModel(providerId, modelId, target);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: target === \"model\" ? \"Main model updated for this project.\" : \"Small model updated for lightweight tasks.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", `Unknown kind \"${kind}\". Expected: options, toggle, register-local, register-custom, set-model`, {}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_server.ts-B3uweiKb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_id_/_server.ts.js"],"sourcesContent":["import { Lt as createLogger, l as detectLocalProviders } from \"../../../../../chunks/src.js\";\nimport { a as getOpenCodeClient, d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../../chunks/helpers.js\";\nimport { a as setProviderEnabled, i as setMainModel, n as patchConfig, o as setProviderOptions, r as registerProvider, t as getCurrentConfig } from \"../../../../../chunks/config.js\";\nimport { a as parseModels, i as parseHeaders, n as buildModelConfig, o as updateBooleanOption, s as updateNumberOption, t as asStringOrEmpty } from \"../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/[id]/+server.ts\nvar logger = createLogger(\"admin.providers.patch\");\n/** Allowed format for a custom provider id */\nvar CUSTOM_PROVIDER_ID_PATTERN = /^[a-z0-9_-]+$/;\nvar LOCAL_PROVIDER_LABELS = {\n\tollama: \"Local Ollama\",\n\tlmstudio: \"Local LM Studio\",\n\t\"model-runner\": \"Docker Model Runner\"\n};\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id;\n\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst body = parsed.data;\n\tconst kind = typeof body.kind === \"string\" ? body.kind : \"\";\n\tif (kind === \"options\") try {\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst enterpriseUrl = asStringOrEmpty(body.enterpriseUrl);\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headers));\n\t\tconst nextOptions = {};\n\t\tupdateNumberOption(nextOptions, \"timeout\", asStringOrEmpty(body.timeout));\n\t\tupdateBooleanOption(nextOptions, \"setCacheKey\", body.setCacheKey === \"on\" || body.setCacheKey === true);\n\t\tawait setProviderOptions(providerId, {\n\t\t\tbaseURL: baseURL || void 0,\n\t\t\tenterpriseUrl: enterpriseUrl || void 0,\n\t\t\ttimeout: typeof nextOptions.timeout === \"number\" ? nextOptions.timeout : void 0,\n\t\t\tsetCacheKey: nextOptions.setCacheKey === true,\n\t\t\theaders: headers && Object.keys(headers).length > 0 ? headers : null\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Provider settings saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"toggle\") try {\n\t\tconst nextState = asStringOrEmpty(body.enabled) === \"true\" || body.enabled === true;\n\t\tawait patchConfig(setProviderEnabled(await getCurrentConfig(), providerId, nextState));\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: nextState ? \"Provider enabled for model selection.\" : \"Provider disabled for this workspace.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-local\") try {\n\t\tif (!Object.prototype.hasOwnProperty.call(LOCAL_PROVIDER_LABELS, providerId)) return errorResponse(400, \"bad_request\", \"provider must be one of: ollama, lmstudio, model-runner\", {}, requestId);\n\t\tconst match = (await detectLocalProviders()).find((d) => d.provider === providerId);\n\t\tif (!match || !match.available) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: `No reachable ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} endpoint found.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst existingEntry = ((await getCurrentConfig()).provider ?? {})[providerId];\n\t\tconst existingOptions = existingEntry?.options ?? {};\n\t\tawait registerProvider(providerId, {\n\t\t\tnpm: typeof existingEntry?.npm === \"string\" ? existingEntry.npm : \"@ai-sdk/openai-compatible\",\n\t\t\tname: typeof existingEntry?.name === \"string\" ? existingEntry.name : LOCAL_PROVIDER_LABELS[providerId] ?? providerId,\n\t\t\toptions: {\n\t\t\t\t...existingOptions,\n\t\t\t\tbaseURL: match.url\n\t\t\t}\n\t\t}, true);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: `Registered ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} at ${match.url}.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: err instanceof Error ? err.message : String(err),\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-custom\") try {\n\t\tconst displayName = asStringOrEmpty(body.displayName);\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst apiKey = asStringOrEmpty(body.apiKey);\n\t\tconst confirmOverwrite = asStringOrEmpty(body.confirmOverwrite) === \"true\";\n\t\tif (!CUSTOM_PROVIDER_ID_PATTERN.test(providerId)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Use a lowercase provider id with letters, numbers, hyphens, or underscores.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tif (!displayName || !baseURL) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Display name and base URL are required for a custom provider.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst models = parseModels(asStringOrEmpty(body.modelsJson));\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headersJson));\n\t\tconst entry = {\n\t\t\tnpm: \"@ai-sdk/openai-compatible\",\n\t\t\tname: displayName,\n\t\t\toptions: {\n\t\t\t\tbaseURL,\n\t\t\t\t...Object.keys(headers).length > 0 ? { headers } : {}\n\t\t\t}\n\t\t};\n\t\tif (models.length > 0) entry.models = Object.fromEntries(models.map((m) => [m.id, buildModelConfig(m)]));\n\t\tif ((await registerProvider(providerId, entry, confirmOverwrite)).alreadyExists) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"A provider with this ID already exists. Enable overwrite to replace it.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tif (apiKey) try {\n\t\t\tconst authResult = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\t\tif (!authResult.ok) logger.warn(\"custom provider apiKey save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\tcode: authResult.code,\n\t\t\t\tmessage: authResult.message,\n\t\t\t\trequestId\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tlogger.warn(\"custom provider apiKey threw\", {\n\t\t\t\tproviderId,\n\t\t\t\terror: String(err),\n\t\t\t\trequestId\n\t\t\t});\n\t\t}\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Custom provider saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"set-model\") try {\n\t\tconst modelId = asStringOrEmpty(body.modelId);\n\t\tconst target = asStringOrEmpty(body.target);\n\t\tif (!modelId || target !== \"model\" && target !== \"small_model\") return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider model before saving it.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tawait setMainModel(providerId, modelId, target);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: target === \"model\" ? \"Main model updated for this project.\" : \"Small model updated for lightweight tasks.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", `Unknown kind \"${kind}\". Expected: options, toggle, register-local, register-custom, set-model`, {}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
+
import { a2 as isSetupComplete, ap as resolveStackDir, E as detectGpu, G as detectLocalProviders, aj as recommendSetup, i as authJsonPath, P as PROVIDER_KEY_MAP } from './src-CQbie-rx.js';
|
|
3
|
+
import { b as getState } from './endpoints-DaDle7pk.js';
|
|
4
|
+
import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-BACi22nU.js';
|
|
5
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
6
|
+
import './utils-BSRjJDrZ.js';
|
|
7
|
+
import './chunk-CLZ62Ad-.js';
|
|
8
|
+
import 'node:module';
|
|
9
|
+
import 'node:path';
|
|
10
|
+
import 'buffer';
|
|
11
|
+
import 'node:os';
|
|
12
|
+
import 'fs';
|
|
13
|
+
import 'path';
|
|
14
|
+
import 'node:child_process';
|
|
15
|
+
import 'node:url';
|
|
16
|
+
import 'node:crypto';
|
|
17
|
+
import 'events';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import 'node:stream';
|
|
20
|
+
import 'node:string_decoder';
|
|
21
|
+
import 'assert';
|
|
22
|
+
import 'zlib';
|
|
23
|
+
import 'node:assert';
|
|
24
|
+
import 'node:fs/promises';
|
|
25
|
+
|
|
26
|
+
//#region src/routes/api/setup/recommend/+server.ts
|
|
27
|
+
/** Local providers are detected separately as host providers — exclude from "cloud". */
|
|
28
|
+
var LOCAL_PROVIDER_IDS = new Set([
|
|
29
|
+
"ollama",
|
|
30
|
+
"lmstudio",
|
|
31
|
+
"model-runner",
|
|
32
|
+
"openai-compatible"
|
|
33
|
+
]);
|
|
34
|
+
/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */
|
|
35
|
+
function authJsonConnected() {
|
|
36
|
+
try {
|
|
37
|
+
const path = authJsonPath(getState());
|
|
38
|
+
if (!existsSync(path)) return [];
|
|
39
|
+
const data = JSON.parse(readFileSync(path, "utf-8"));
|
|
40
|
+
return Object.keys(data ?? {});
|
|
41
|
+
} catch {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** Fallback: providers whose API-key env var is present in the process env. */
|
|
46
|
+
function envKeyConnected() {
|
|
47
|
+
const out = [];
|
|
48
|
+
for (const [provider, envVar] of Object.entries(PROVIDER_KEY_MAP)) if (process.env[envVar]) out.push(provider);
|
|
49
|
+
return out;
|
|
50
|
+
}
|
|
51
|
+
/** Cloud providers = OpenCode connected[] ∪ auth.json credentials, minus locals.
|
|
52
|
+
* Falls back to env-key detection when OpenCode is unavailable. */
|
|
53
|
+
async function detectCloudProviders() {
|
|
54
|
+
let connected = [];
|
|
55
|
+
try {
|
|
56
|
+
const client = getOpenCodeClient();
|
|
57
|
+
if (await client.isAvailable()) {
|
|
58
|
+
const catalog = await client.proxy("/provider");
|
|
59
|
+
const raw = catalog.ok ? catalog.data : {};
|
|
60
|
+
connected = Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()]));
|
|
61
|
+
} else connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));
|
|
62
|
+
} catch {
|
|
63
|
+
connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));
|
|
64
|
+
}
|
|
65
|
+
return connected.filter((id) => !LOCAL_PROVIDER_IDS.has(id));
|
|
66
|
+
}
|
|
67
|
+
var GET = async (event) => {
|
|
68
|
+
if (isSetupComplete(resolveStackDir())) {
|
|
69
|
+
const authError = requireAdmin(event, getRequestId(event));
|
|
70
|
+
if (authError) return authError;
|
|
71
|
+
}
|
|
72
|
+
const [cloudProviders, gpu, localDetections] = await Promise.all([
|
|
73
|
+
detectCloudProviders(),
|
|
74
|
+
detectGpu(),
|
|
75
|
+
detectLocalProviders()
|
|
76
|
+
]);
|
|
77
|
+
const hostProviders = localDetections.filter((p) => p.available).map((p) => ({
|
|
78
|
+
provider: p.provider,
|
|
79
|
+
url: p.url
|
|
80
|
+
}));
|
|
81
|
+
return json({
|
|
82
|
+
ok: true,
|
|
83
|
+
recommendation: recommendSetup({
|
|
84
|
+
cloudProviders,
|
|
85
|
+
hostProviders,
|
|
86
|
+
gpu
|
|
87
|
+
}),
|
|
88
|
+
gpu,
|
|
89
|
+
cloudProviders,
|
|
90
|
+
hostProviders
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
export { GET };
|
|
95
|
+
//# sourceMappingURL=_server.ts-B8pCRdwo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-B8pCRdwo.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/recommend/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Ft as resolveStackDir, Ot as authJsonPath, Rt as PROVIDER_KEY_MAP, X as isSetupComplete, c as detectGpu, l as detectLocalProviders, s as recommendSetup } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { a as getOpenCodeClient, f as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/recommend/+server.ts\n/** Local providers are detected separately as host providers — exclude from \"cloud\". */\nvar LOCAL_PROVIDER_IDS = new Set([\n\t\"ollama\",\n\t\"lmstudio\",\n\t\"model-runner\",\n\t\"openai-compatible\"\n]);\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\n/** Fallback: providers whose API-key env var is present in the process env. */\nfunction envKeyConnected() {\n\tconst out = [];\n\tfor (const [provider, envVar] of Object.entries(PROVIDER_KEY_MAP)) if (process.env[envVar]) out.push(provider);\n\treturn out;\n}\n/** Cloud providers = OpenCode connected[] ∪ auth.json credentials, minus locals.\n* Falls back to env-key detection when OpenCode is unavailable. */\nasync function detectCloudProviders() {\n\tlet connected = [];\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (await client.isAvailable()) {\n\t\t\tconst catalog = await client.proxy(\"/provider\");\n\t\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\t\tconnected = Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()]));\n\t\t} else connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t} catch {\n\t\tconnected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t}\n\treturn connected.filter((id) => !LOCAL_PROVIDER_IDS.has(id));\n}\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst [cloudProviders, gpu, localDetections] = await Promise.all([\n\t\tdetectCloudProviders(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders()\n\t]);\n\tconst hostProviders = localDetections.filter((p) => p.available).map((p) => ({\n\t\tprovider: p.provider,\n\t\turl: p.url\n\t}));\n\treturn json({\n\t\tok: true,\n\t\trecommendation: recommendSetup({\n\t\t\tcloudProviders,\n\t\t\thostProviders,\n\t\t\tgpu\n\t\t}),\n\t\tgpu,\n\t\tcloudProviders,\n\t\thostProviders\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|