@openpalm/ui 0.13.0-beta.6 → 0.13.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/4.Cd3Y_8BZ.css +1 -0
- package/build/client/_app/immutable/assets/4.Cd3Y_8BZ.css.br +3 -0
- package/build/client/_app/immutable/assets/4.Cd3Y_8BZ.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.BM7A1dW5.css +1 -0
- package/build/client/_app/immutable/assets/6.BM7A1dW5.css.br +0 -0
- package/build/client/_app/immutable/assets/6.BM7A1dW5.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.DHMKw-HL.css +1 -0
- package/build/client/_app/immutable/assets/7.DHMKw-HL.css.br +0 -0
- package/build/client/_app/immutable/assets/7.DHMKw-HL.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.CmCaAuiy.css +1 -0
- package/build/client/_app/immutable/assets/9.CmCaAuiy.css.br +0 -0
- package/build/client/_app/immutable/assets/9.CmCaAuiy.css.gz +0 -0
- package/build/client/_app/immutable/assets/QuestionCard.CSfD3z_X.css +1 -0
- package/build/client/_app/immutable/assets/QuestionCard.CSfD3z_X.css.br +0 -0
- package/build/client/_app/immutable/assets/QuestionCard.CSfD3z_X.css.gz +0 -0
- package/build/client/_app/immutable/chunks/1F1QVf3N.js +1 -0
- package/build/client/_app/immutable/chunks/1F1QVf3N.js.br +0 -0
- package/build/client/_app/immutable/chunks/1F1QVf3N.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DmFbAjwW.js → 92accNiq.js} +1 -1
- package/build/client/_app/immutable/chunks/92accNiq.js.br +0 -0
- package/build/client/_app/immutable/chunks/92accNiq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B9uMOgDZ.js +3 -0
- package/build/client/_app/immutable/chunks/B9uMOgDZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/B9uMOgDZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{SXdvPq3_.js → BBXQKGHA.js} +1 -1
- package/build/client/_app/immutable/chunks/BBXQKGHA.js.br +1 -0
- package/build/client/_app/immutable/chunks/BBXQKGHA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CUa5ff3d.js → BGx9HO1u.js} +1 -1
- package/build/client/_app/immutable/chunks/BGx9HO1u.js.br +0 -0
- package/build/client/_app/immutable/chunks/BGx9HO1u.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BwKrb5qD.js +1 -0
- package/build/client/_app/immutable/chunks/BwKrb5qD.js.br +2 -0
- package/build/client/_app/immutable/chunks/BwKrb5qD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BDK50g8a.js → ByiipSaR.js} +1 -1
- package/build/client/_app/immutable/chunks/ByiipSaR.js.br +3 -0
- package/build/client/_app/immutable/chunks/ByiipSaR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C092q_Hl.js +1 -0
- package/build/client/_app/immutable/chunks/C092q_Hl.js.br +0 -0
- package/build/client/_app/immutable/chunks/C092q_Hl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D5FtEngX.js → C4qTU5YY.js} +1 -1
- package/build/client/_app/immutable/chunks/C4qTU5YY.js.br +0 -0
- package/build/client/_app/immutable/chunks/C4qTU5YY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C6rMFkms.js +14 -0
- package/build/client/_app/immutable/chunks/C6rMFkms.js.br +0 -0
- package/build/client/_app/immutable/chunks/C6rMFkms.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C7g46Pjm.js +1 -0
- package/build/client/_app/immutable/chunks/C7g46Pjm.js.br +0 -0
- package/build/client/_app/immutable/chunks/C7g46Pjm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{mG6HnNbi.js → CJc9QEdG.js} +1 -1
- package/build/client/_app/immutable/chunks/CJc9QEdG.js.br +2 -0
- package/build/client/_app/immutable/chunks/CJc9QEdG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CR3nChHO.js +3 -0
- package/build/client/_app/immutable/chunks/CR3nChHO.js.br +0 -0
- package/build/client/_app/immutable/chunks/CR3nChHO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXv_deBx.js +1 -0
- package/build/client/_app/immutable/chunks/CXv_deBx.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXv_deBx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CzKYnjEX.js +1 -0
- package/build/client/_app/immutable/chunks/CzKYnjEX.js.br +0 -0
- package/build/client/_app/immutable/chunks/CzKYnjEX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D-DB6zTo.js +9 -0
- package/build/client/_app/immutable/chunks/D-DB6zTo.js.br +0 -0
- package/build/client/_app/immutable/chunks/D-DB6zTo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D3d8Mm8X.js +1 -0
- package/build/client/_app/immutable/chunks/D3d8Mm8X.js.br +1 -0
- package/build/client/_app/immutable/chunks/D3d8Mm8X.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DDSqq1hR.js +1 -0
- package/build/client/_app/immutable/chunks/DDSqq1hR.js.br +0 -0
- package/build/client/_app/immutable/chunks/DDSqq1hR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{NR-JVJz-.js → DTAO9S6h.js} +1 -1
- package/build/client/_app/immutable/chunks/DTAO9S6h.js.br +0 -0
- package/build/client/_app/immutable/chunks/DTAO9S6h.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DTLQuSQp.js +3 -0
- package/build/client/_app/immutable/chunks/DTLQuSQp.js.br +0 -0
- package/build/client/_app/immutable/chunks/DTLQuSQp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{hSjQday7.js → _zkFsY4j.js} +1 -1
- package/build/client/_app/immutable/chunks/_zkFsY4j.js.br +0 -0
- package/build/client/_app/immutable/chunks/_zkFsY4j.js.gz +0 -0
- package/build/client/_app/immutable/chunks/d1cxvUgj.js +1 -0
- package/build/client/_app/immutable/chunks/d1cxvUgj.js.br +0 -0
- package/build/client/_app/immutable/chunks/d1cxvUgj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/qrqTdjh7.js +1 -0
- package/build/client/_app/immutable/chunks/qrqTdjh7.js.br +0 -0
- package/build/client/_app/immutable/chunks/qrqTdjh7.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CXHi3StM.js +2 -0
- package/build/client/_app/immutable/entry/app.CXHi3StM.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CXHi3StM.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.eS_-xLIC.js +1 -0
- package/build/client/_app/immutable/entry/start.eS_-xLIC.js.br +1 -0
- package/build/client/_app/immutable/entry/start.eS_-xLIC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js +1 -0
- package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.B8Ebge5I.js +1 -0
- package/build/client/_app/immutable/nodes/1.B8Ebge5I.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.B8Ebge5I.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.Di4b61Rb.js +1 -0
- package/build/client/_app/immutable/nodes/10.Di4b61Rb.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.Di4b61Rb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.CUlazdDv.js +8 -0
- package/build/client/_app/immutable/nodes/11.CUlazdDv.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.CUlazdDv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.tmtk1Bjc.js +1 -0
- package/build/client/_app/immutable/nodes/2.tmtk1Bjc.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.tmtk1Bjc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.BEaeucAu.js +1 -0
- package/build/client/_app/immutable/nodes/3.BEaeucAu.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.BEaeucAu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DQOL0qY_.js +1 -0
- package/build/client/_app/immutable/nodes/4.DQOL0qY_.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DQOL0qY_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.CIMkqYzP.js → 5.BGqmDWpO.js} +2 -2
- package/build/client/_app/immutable/nodes/5.BGqmDWpO.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BGqmDWpO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js +2 -0
- package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CvaILUo5.js +16 -0
- package/build/client/_app/immutable/nodes/7.CvaILUo5.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CvaILUo5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.BANf4x1v.js +1 -0
- package/build/client/_app/immutable/nodes/8.BANf4x1v.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.BANf4x1v.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DvOR66Q0.js +128 -0
- package/build/client/_app/immutable/nodes/9.DvOR66Q0.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DvOR66Q0.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +1 -1
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-BtezztJz.js → 0-D8UAPThv.js} +13 -7
- package/build/server/chunks/0-D8UAPThv.js.map +1 -0
- package/build/server/chunks/1-bS23Eg-d.js +9 -0
- package/build/server/chunks/{1-CvGA_TOi.js.map → 1-bS23Eg-d.js.map} +1 -1
- package/build/server/chunks/{10-D_ipl62-.js → 10-C5TUqG1t.js} +3 -3
- package/build/server/chunks/{10-D_ipl62-.js.map → 10-C5TUqG1t.js.map} +1 -1
- package/build/server/chunks/11-DSjZgp33.js +9 -0
- package/build/server/chunks/11-DSjZgp33.js.map +1 -0
- package/build/server/chunks/{2-CQSBaE_w.js → 2-KPMSLSlE.js} +2 -2
- package/build/server/chunks/{2-CQSBaE_w.js.map → 2-KPMSLSlE.js.map} +1 -1
- package/build/server/chunks/{3-CZdWulB3.js → 3-D0iTJ9v2.js} +10 -11
- package/build/server/chunks/3-D0iTJ9v2.js.map +1 -0
- package/build/server/chunks/4-CHJRF8qs.js +9 -0
- package/build/server/chunks/4-CHJRF8qs.js.map +1 -0
- package/build/server/chunks/{5-CeJvfCdk.js → 5-CwCiwnFt.js} +3 -3
- package/build/server/chunks/{5-CeJvfCdk.js.map → 5-CwCiwnFt.js.map} +1 -1
- package/build/server/chunks/6-raswytzE.js +9 -0
- package/build/server/chunks/6-raswytzE.js.map +1 -0
- package/build/server/chunks/7-NC4-KlW9.js +9 -0
- package/build/server/chunks/7-NC4-KlW9.js.map +1 -0
- package/build/server/chunks/{8-DiHmrGkL.js → 8-DFD8sNRI.js} +5 -7
- package/build/server/chunks/8-DFD8sNRI.js.map +1 -0
- package/build/server/chunks/9-rIsHxfiY.js +9 -0
- package/build/server/chunks/9-rIsHxfiY.js.map +1 -0
- package/build/server/chunks/{IconActivity-DrgUhxxi.js → ChatMessage-fWnwEF6b.js} +3 -57
- package/build/server/chunks/ChatMessage-fWnwEF6b.js.map +1 -0
- package/build/server/chunks/{ChatNavbar-FJW5r496.js → ChatNavbar-DqdxDR5U.js} +9 -9
- package/build/server/chunks/{ChatNavbar-FJW5r496.js.map → ChatNavbar-DqdxDR5U.js.map} +1 -1
- package/build/server/chunks/IconActivity-BU1QGLAZ.js +58 -0
- package/build/server/chunks/IconActivity-BU1QGLAZ.js.map +1 -0
- package/build/server/chunks/IconMic-CZN60P6B.js +10 -0
- package/build/server/chunks/IconMic-CZN60P6B.js.map +1 -0
- package/build/server/chunks/{IconServer-w-1K5jNR.js → IconServer-BwcRjcsS.js} +5 -5
- package/build/server/chunks/{IconServer-w-1K5jNR.js.map → IconServer-BwcRjcsS.js.map} +1 -1
- package/build/server/chunks/{IconSoundOn-DZGaQz_p.js → IconSoundOn-DTZuBn2-.js} +9 -12
- package/build/server/chunks/IconSoundOn-DTZuBn2-.js.map +1 -0
- package/build/server/chunks/{IconStop-BPbovgch.js → IconStop-BxUfqTaV.js} +173 -214
- package/build/server/chunks/IconStop-BxUfqTaV.js.map +1 -0
- package/build/server/chunks/QuestionCard-DOLuSSbI.js +128 -0
- package/build/server/chunks/QuestionCard-DOLuSSbI.js.map +1 -0
- package/build/server/chunks/Spinner-2WZW6r_I.js +12 -0
- package/build/server/chunks/Spinner-2WZW6r_I.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-B-_IlE2E.js → _layout.svelte-CBBWJ3m3.js} +3 -4
- package/build/server/chunks/{_layout.svelte-B-_IlE2E.js.map → _layout.svelte-CBBWJ3m3.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-K6kU7jIW.js → _page.svelte-CYzntFY4.js} +45 -136
- package/build/server/chunks/_page.svelte-CYzntFY4.js.map +1 -0
- package/build/server/chunks/_page.svelte-CysG6Te2.js +192 -0
- package/build/server/chunks/_page.svelte-CysG6Te2.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CPZBh4-z.js → _page.svelte-D-_cPU8e.js} +3 -3
- package/build/server/chunks/{_page.svelte-CPZBh4-z.js.map → _page.svelte-D-_cPU8e.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CPo3vFZf.js → _page.svelte-D4hOWjfm.js} +64 -353
- package/build/server/chunks/_page.svelte-D4hOWjfm.js.map +1 -0
- package/build/server/chunks/_page.svelte-D9au75wl.js +183 -0
- package/build/server/chunks/_page.svelte-D9au75wl.js.map +1 -0
- package/build/server/chunks/{_page.svelte-GcuuPiXq.js → _page.svelte-DjldYxQn.js} +28 -136
- package/build/server/chunks/_page.svelte-DjldYxQn.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DM96lwQ1.js → _page.svelte-DsJgu4mW.js} +3 -3
- package/build/server/chunks/{_page.svelte-DM96lwQ1.js.map → _page.svelte-DsJgu4mW.js.map} +1 -1
- package/build/server/chunks/_server.ts-1qbl_1NY.js +87 -0
- package/build/server/chunks/_server.ts-1qbl_1NY.js.map +1 -0
- package/build/server/chunks/{_server.ts-BLXzfOzW.js → _server.ts-2VPdIZFH.js} +7 -7
- package/build/server/chunks/{_server.ts-BLXzfOzW.js.map → _server.ts-2VPdIZFH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-513m4Yqs.js → _server.ts-68MuZYx_.js} +8 -8
- package/build/server/chunks/{_server.ts-513m4Yqs.js.map → _server.ts-68MuZYx_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BaVwMXGu.js → _server.ts-8AfutA1j.js} +7 -7
- package/build/server/chunks/{_server.ts-BaVwMXGu.js.map → _server.ts-8AfutA1j.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cp8YnPjm.js → _server.ts-B-5y1hA4.js} +9 -9
- package/build/server/chunks/{_server.ts-Cp8YnPjm.js.map → _server.ts-B-5y1hA4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CVvUFmDd.js → _server.ts-B1CunPF7.js} +7 -7
- package/build/server/chunks/{_server.ts-CVvUFmDd.js.map → _server.ts-B1CunPF7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cgdl0C1I.js → _server.ts-B1KGSkdl.js} +7 -7
- package/build/server/chunks/{_server.ts-Cgdl0C1I.js.map → _server.ts-B1KGSkdl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-WZl_x3WY.js → _server.ts-B2NALEcR.js} +7 -7
- package/build/server/chunks/{_server.ts-WZl_x3WY.js.map → _server.ts-B2NALEcR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DnonNBWq.js → _server.ts-B2iUBxXh.js} +9 -9
- package/build/server/chunks/{_server.ts-DnonNBWq.js.map → _server.ts-B2iUBxXh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-rVmsBymo.js → _server.ts-BN8EkPAZ.js} +8 -8
- package/build/server/chunks/{_server.ts-rVmsBymo.js.map → _server.ts-BN8EkPAZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cf_ZLxIl.js → _server.ts-BQJfEfl9.js} +12 -13
- package/build/server/chunks/_server.ts-BQJfEfl9.js.map +1 -0
- package/build/server/chunks/{_server.ts-CPiybiLB.js → _server.ts-BQSMacks.js} +10 -10
- package/build/server/chunks/{_server.ts-CPiybiLB.js.map → _server.ts-BQSMacks.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DwGTXfsS.js → _server.ts-BYt64wi5.js} +3 -3
- package/build/server/chunks/{_server.ts-DwGTXfsS.js.map → _server.ts-BYt64wi5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ykET4T6s.js → _server.ts-Ba0MJSs9.js} +9 -9
- package/build/server/chunks/_server.ts-Ba0MJSs9.js.map +1 -0
- package/build/server/chunks/{_server.ts-CMOAhXEC.js → _server.ts-BdIM_pWg.js} +9 -9
- package/build/server/chunks/{_server.ts-CMOAhXEC.js.map → _server.ts-BdIM_pWg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DbvC6vbj.js → _server.ts-BfxTJHa-.js} +7 -7
- package/build/server/chunks/{_server.ts-DbvC6vbj.js.map → _server.ts-BfxTJHa-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dw7F066C.js → _server.ts-BiVyFRNv.js} +7 -7
- package/build/server/chunks/{_server.ts-Dw7F066C.js.map → _server.ts-BiVyFRNv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-WLMG4R7D.js → _server.ts-BrgEQhDo.js} +7 -7
- package/build/server/chunks/{_server.ts-WLMG4R7D.js.map → _server.ts-BrgEQhDo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bwt_pOeg.js → _server.ts-BtZN_8lV.js} +7 -7
- package/build/server/chunks/{_server.ts-Bwt_pOeg.js.map → _server.ts-BtZN_8lV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFrPK6QO.js → _server.ts-Bx0PXf1w.js} +7 -7
- package/build/server/chunks/{_server.ts-CFrPK6QO.js.map → _server.ts-Bx0PXf1w.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DpnNS7XE.js → _server.ts-Byaj9iKd.js} +7 -7
- package/build/server/chunks/{_server.ts-DpnNS7XE.js.map → _server.ts-Byaj9iKd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DbWhKo2R.js → _server.ts-C1kDLq6m.js} +7 -7
- package/build/server/chunks/{_server.ts-DbWhKo2R.js.map → _server.ts-C1kDLq6m.js.map} +1 -1
- package/build/server/chunks/{_server.ts-JhxhiGGc.js → _server.ts-C28zIW49.js} +7 -7
- package/build/server/chunks/{_server.ts-JhxhiGGc.js.map → _server.ts-C28zIW49.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dim_lnRX.js → _server.ts-C2F80x6V.js} +8 -8
- package/build/server/chunks/{_server.ts-Dim_lnRX.js.map → _server.ts-C2F80x6V.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Blmg0cXL.js → _server.ts-C70sKEjH.js} +8 -8
- package/build/server/chunks/{_server.ts-Blmg0cXL.js.map → _server.ts-C70sKEjH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-iFah_o1y.js → _server.ts-C754EzJA.js} +7 -7
- package/build/server/chunks/{_server.ts-iFah_o1y.js.map → _server.ts-C754EzJA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D3G8ICxb.js → _server.ts-C8n83Xl1.js} +7 -7
- package/build/server/chunks/{_server.ts-D3G8ICxb.js.map → _server.ts-C8n83Xl1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BvtdTKYv.js → _server.ts-CC6Bt-9t.js} +8 -8
- package/build/server/chunks/{_server.ts-BvtdTKYv.js.map → _server.ts-CC6Bt-9t.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DgoPOMEf.js → _server.ts-CJ76gcOX.js} +7 -7
- package/build/server/chunks/{_server.ts-DgoPOMEf.js.map → _server.ts-CJ76gcOX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CZMdC1Kd.js → _server.ts-CMW6wbwP.js} +7 -7
- package/build/server/chunks/{_server.ts-CZMdC1Kd.js.map → _server.ts-CMW6wbwP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-m7rCPG1J.js → _server.ts-CNjG4x1a.js} +8 -8
- package/build/server/chunks/{_server.ts-m7rCPG1J.js.map → _server.ts-CNjG4x1a.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CjfZfEOL.js → _server.ts-CRl7GqvU.js} +7 -7
- package/build/server/chunks/{_server.ts-CjfZfEOL.js.map → _server.ts-CRl7GqvU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DMUseo0C.js → _server.ts-CUBWjRlp.js} +8 -8
- package/build/server/chunks/{_server.ts-DMUseo0C.js.map → _server.ts-CUBWjRlp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DjIJCqkv.js → _server.ts-CYoKjlbj.js} +7 -7
- package/build/server/chunks/{_server.ts-DjIJCqkv.js.map → _server.ts-CYoKjlbj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DgtgUx0V.js → _server.ts-CafJDVBQ.js} +3 -3
- package/build/server/chunks/{_server.ts-DgtgUx0V.js.map → _server.ts-CafJDVBQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4Pel5kC.js → _server.ts-Cd9hDiKk.js} +7 -7
- package/build/server/chunks/{_server.ts-C4Pel5kC.js.map → _server.ts-Cd9hDiKk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BfL_49xD.js → _server.ts-CgQfVR3g.js} +8 -8
- package/build/server/chunks/{_server.ts-BfL_49xD.js.map → _server.ts-CgQfVR3g.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CzEoO4z1.js → _server.ts-CilbVIRO.js} +3 -3
- package/build/server/chunks/{_server.ts-CzEoO4z1.js.map → _server.ts-CilbVIRO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BXPj75Y1.js → _server.ts-Ck25Xm32.js} +8 -8
- package/build/server/chunks/{_server.ts-BXPj75Y1.js.map → _server.ts-Ck25Xm32.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGTCLl7g.js → _server.ts-Cp-_qWC_.js} +8 -8
- package/build/server/chunks/{_server.ts-CGTCLl7g.js.map → _server.ts-Cp-_qWC_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ygmDTh5G.js → _server.ts-CuEFmJ07.js} +8 -8
- package/build/server/chunks/{_server.ts-ygmDTh5G.js.map → _server.ts-CuEFmJ07.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B_dmjFtu.js → _server.ts-D5vc4lGC.js} +8 -8
- package/build/server/chunks/_server.ts-D5vc4lGC.js.map +1 -0
- package/build/server/chunks/{_server.ts-CqK78x99.js → _server.ts-DDLE66QT.js} +8 -8
- package/build/server/chunks/{_server.ts-CqK78x99.js.map → _server.ts-DDLE66QT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CfLVH8TI.js → _server.ts-DEF1ChPD.js} +7 -7
- package/build/server/chunks/{_server.ts-CfLVH8TI.js.map → _server.ts-DEF1ChPD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CU4SIH7_.js → _server.ts-DHUtPRWK.js} +5 -5
- package/build/server/chunks/{_server.ts-CU4SIH7_.js.map → _server.ts-DHUtPRWK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-w4ncTcy1.js → _server.ts-DHoTyKXL.js} +15 -11
- package/build/server/chunks/_server.ts-DHoTyKXL.js.map +1 -0
- package/build/server/chunks/{_server.ts-CtGn47WI.js → _server.ts-DSB9Fzwa.js} +5 -5
- package/build/server/chunks/{_server.ts-CtGn47WI.js.map → _server.ts-DSB9Fzwa.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D3FpBEaY.js → _server.ts-DW36Vbiq.js} +9 -9
- package/build/server/chunks/_server.ts-DW36Vbiq.js.map +1 -0
- package/build/server/chunks/{_server.ts-B5wBYGeP.js → _server.ts-DWG4CKWG.js} +7 -7
- package/build/server/chunks/{_server.ts-B5wBYGeP.js.map → _server.ts-DWG4CKWG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BcqSTHN5.js → _server.ts-DXxQIT2o.js} +8 -8
- package/build/server/chunks/{_server.ts-BcqSTHN5.js.map → _server.ts-DXxQIT2o.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BcO0Zf4D.js → _server.ts-Da8_J1a4.js} +8 -8
- package/build/server/chunks/{_server.ts-BcO0Zf4D.js.map → _server.ts-Da8_J1a4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BrQJNRtC.js → _server.ts-DcH5edss.js} +7 -7
- package/build/server/chunks/{_server.ts-BrQJNRtC.js.map → _server.ts-DcH5edss.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CsI99fk3.js → _server.ts-DiHLYNbQ.js} +8 -8
- package/build/server/chunks/{_server.ts-CsI99fk3.js.map → _server.ts-DiHLYNbQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dy7MOoFx.js → _server.ts-Dio2CslE.js} +8 -8
- package/build/server/chunks/_server.ts-Dio2CslE.js.map +1 -0
- package/build/server/chunks/{_server.ts-CZ3VVtAj.js → _server.ts-Dlt1obi9.js} +7 -7
- package/build/server/chunks/{_server.ts-CZ3VVtAj.js.map → _server.ts-Dlt1obi9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-YcvtqJwd.js → _server.ts-Ds0U_zKR.js} +8 -8
- package/build/server/chunks/{_server.ts-YcvtqJwd.js.map → _server.ts-Ds0U_zKR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CuLEqJd2.js → _server.ts-DsVsFcf8.js} +16 -11
- package/build/server/chunks/_server.ts-DsVsFcf8.js.map +1 -0
- package/build/server/chunks/{_server.ts-V-MiUhz4.js → _server.ts-Du3PIYf8.js} +7 -7
- package/build/server/chunks/{_server.ts-V-MiUhz4.js.map → _server.ts-Du3PIYf8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-s2Seq_VN.js → _server.ts-Duzj6Wm_.js} +7 -19
- package/build/server/chunks/_server.ts-Duzj6Wm_.js.map +1 -0
- package/build/server/chunks/{_server.ts-Df7bUUvM.js → _server.ts-DyaoaWIS.js} +8 -8
- package/build/server/chunks/{_server.ts-Df7bUUvM.js.map → _server.ts-DyaoaWIS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dixj3o5E.js → _server.ts-EYtSo6HZ.js} +7 -7
- package/build/server/chunks/{_server.ts-Dixj3o5E.js.map → _server.ts-EYtSo6HZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CoVlX74M.js → _server.ts-JvnkkOhX.js} +8 -8
- package/build/server/chunks/{_server.ts-CoVlX74M.js.map → _server.ts-JvnkkOhX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-MBgNxLF2.js → _server.ts-N0u5ruZe.js} +7 -7
- package/build/server/chunks/{_server.ts-MBgNxLF2.js.map → _server.ts-N0u5ruZe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bnzq20kw.js → _server.ts-NdCztCBP.js} +7 -7
- package/build/server/chunks/{_server.ts-Bnzq20kw.js.map → _server.ts-NdCztCBP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNOepqUw.js → _server.ts-OGUKP5Tu.js} +7 -7
- package/build/server/chunks/{_server.ts-BNOepqUw.js.map → _server.ts-OGUKP5Tu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DZrKSBmK.js → _server.ts-Q1KEyBck.js} +7 -7
- package/build/server/chunks/{_server.ts-DZrKSBmK.js.map → _server.ts-Q1KEyBck.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B2BUFCOJ.js → _server.ts-TIRuudir.js} +3 -3
- package/build/server/chunks/{_server.ts-B2BUFCOJ.js.map → _server.ts-TIRuudir.js.map} +1 -1
- package/build/server/chunks/{_server.ts-HHMqD_RA.js → _server.ts-WTZtC5sX.js} +12 -7
- package/build/server/chunks/_server.ts-WTZtC5sX.js.map +1 -0
- package/build/server/chunks/{_server.ts-Bvb9c_At.js → _server.ts-WsWoJE5V.js} +9 -9
- package/build/server/chunks/{_server.ts-Bvb9c_At.js.map → _server.ts-WsWoJE5V.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Do0cbyyq.js → _server.ts-X8GX4ChJ.js} +8 -8
- package/build/server/chunks/_server.ts-X8GX4ChJ.js.map +1 -0
- package/build/server/chunks/{_server.ts-BCrEvrVb.js → _server.ts-XIc2PDRd.js} +8 -8
- package/build/server/chunks/{_server.ts-BCrEvrVb.js.map → _server.ts-XIc2PDRd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CPNIDSmd.js → _server.ts-YsFgaaVd.js} +7 -7
- package/build/server/chunks/{_server.ts-CPNIDSmd.js.map → _server.ts-YsFgaaVd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BFRCkpIB.js → _server.ts-bOcb37D9.js} +8 -8
- package/build/server/chunks/{_server.ts-BFRCkpIB.js.map → _server.ts-bOcb37D9.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D3CUgai-.js → _server.ts-e_8LykNe.js} +8 -8
- package/build/server/chunks/{_server.ts-D3CUgai-.js.map → _server.ts-e_8LykNe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DVNN4NHW.js → _server.ts-hLimfy8i.js} +7 -7
- package/build/server/chunks/{_server.ts-DVNN4NHW.js.map → _server.ts-hLimfy8i.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BJGOO9Nn.js → _server.ts-khI1sqja.js} +3 -3
- package/build/server/chunks/{_server.ts-BJGOO9Nn.js.map → _server.ts-khI1sqja.js.map} +1 -1
- package/build/server/chunks/{_server.ts-6QSsgi7N.js → _server.ts-p1Z3DBlr.js} +7 -7
- package/build/server/chunks/{_server.ts-6QSsgi7N.js.map → _server.ts-p1Z3DBlr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BQdhHsGb.js → _server.ts-uzB454LO.js} +8 -8
- package/build/server/chunks/{_server.ts-BQdhHsGb.js.map → _server.ts-uzB454LO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D3EHXo-L.js → _server.ts-wKSTgSwf.js} +7 -7
- package/build/server/chunks/{_server.ts-D3EHXo-L.js.map → _server.ts-wKSTgSwf.js.map} +1 -1
- package/build/server/chunks/addon-helpers-DaC3GR9u.js +153 -0
- package/build/server/chunks/addon-helpers-DaC3GR9u.js.map +1 -0
- package/build/server/chunks/{admin-update-lock-ZHLAwYiV.js → admin-update-lock-Bu3VvAoN.js} +3 -3
- package/build/server/chunks/{admin-update-lock-ZHLAwYiV.js.map → admin-update-lock-Bu3VvAoN.js.map} +1 -1
- package/build/server/chunks/{akm-DU_4Aa4m.js → akm-DsJ8_uuW.js} +3 -3
- package/build/server/chunks/{akm-DU_4Aa4m.js.map → akm-DsJ8_uuW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CT0jVfA6.js → bring-up-BBKMJltU.js} +30 -228
- package/build/server/chunks/bring-up-BBKMJltU.js.map +1 -0
- package/build/server/chunks/{catalog-B4QoA_I8.js → catalog-8d-U0FbY.js} +5 -5
- package/build/server/chunks/{catalog-B4QoA_I8.js.map → catalog-8d-U0FbY.js.map} +1 -1
- package/build/server/chunks/{client-Dn-H0hgG.js → client-CHoZA_w9.js} +2 -2
- package/build/server/chunks/{client-Dn-H0hgG.js.map → client-CHoZA_w9.js.map} +1 -1
- package/build/server/chunks/{compose-args2-BFOGDQne.js → compose-args2-C9sLS6QR.js} +3 -3
- package/build/server/chunks/compose-args2-C9sLS6QR.js.map +1 -0
- package/build/server/chunks/{config-DoYNsM1_.js → config-ChxZZk6h.js} +2 -2
- package/build/server/chunks/{config-DoYNsM1_.js.map → config-ChxZZk6h.js.map} +1 -1
- package/build/server/chunks/{constants-1vPYIIwP.js → constants-C8L-P-CF.js} +2 -2
- package/build/server/chunks/{constants-1vPYIIwP.js.map → constants-C8L-P-CF.js.map} +1 -1
- package/build/server/chunks/{docker2-BYFlumV1.js → docker2-DGq6J3Kp.js} +3 -3
- package/build/server/chunks/docker2-DGq6J3Kp.js.map +1 -0
- package/build/server/chunks/{docker3-CtXDh00O.js → docker3-DFlJ-o_d.js} +2 -2
- package/build/server/chunks/{docker3-CtXDh00O.js.map → docker3-DFlJ-o_d.js.map} +1 -1
- package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
- package/build/server/chunks/{error.svelte-DWK4R1_M.js → error.svelte-BXxIEYd4.js} +4 -4
- package/build/server/chunks/{error.svelte-DWK4R1_M.js.map → error.svelte-BXxIEYd4.js.map} +1 -1
- package/build/server/chunks/features-D8Ez2vwC.js +101 -0
- package/build/server/chunks/features-D8Ez2vwC.js.map +1 -0
- package/build/server/chunks/{helpers-DxodR6tq.js → helpers-BrD1e__f.js} +17 -22
- package/build/server/chunks/helpers-BrD1e__f.js.map +1 -0
- package/build/server/chunks/{hooks.server-Bzj8OieV.js → hooks.server-Blba-Qw7.js} +12 -12
- package/build/server/chunks/hooks.server-Blba-Qw7.js.map +1 -0
- package/build/server/chunks/{http-CfHMreaI.js → http-B4Us23Mo.js} +3 -3
- package/build/server/chunks/http-B4Us23Mo.js.map +1 -0
- package/build/server/chunks/{internal-BcbUGF7Z.js → internal-CSnzBDeT.js} +8 -4
- package/build/server/chunks/{internal-BcbUGF7Z.js.map → internal-CSnzBDeT.js.map} +1 -1
- package/build/server/chunks/{landing-DhaVkN2f.js → landing-DxFOhZxH.js} +10 -12
- package/build/server/chunks/landing-DxFOhZxH.js.map +1 -0
- package/build/server/chunks/{network-preset-CJ1RRnki.js → network-preset-BvVAoagy.js} +14 -13
- package/build/server/chunks/network-preset-BvVAoagy.js.map +1 -0
- package/build/server/chunks/opencode-target-D4BxXYHJ.js +203 -0
- package/build/server/chunks/opencode-target-D4BxXYHJ.js.map +1 -0
- package/build/server/chunks/{paths-Bgos728b.js → paths-6f-5gYkd.js} +2 -2
- package/build/server/chunks/{paths-Bgos728b.js.map → paths-6f-5gYkd.js.map} +1 -1
- package/build/server/chunks/{runtime-context.svelte-C5zNEC6u.js → runtime-context.svelte-CRT-b6Ae.js} +8 -11
- package/build/server/chunks/runtime-context.svelte-CRT-b6Ae.js.map +1 -0
- package/build/server/chunks/{session-cookie-C8DcD6bt.js → session-cookie-5J3xCH94.js} +2 -2
- package/build/server/chunks/{session-cookie-C8DcD6bt.js.map → session-cookie-5J3xCH94.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-D9j0EGGd.js → setup-deploy-DUbX3fHm.js} +2 -2
- package/build/server/chunks/{setup-deploy-D9j0EGGd.js.map → setup-deploy-DUbX3fHm.js.map} +1 -1
- package/build/server/chunks/{src-DbArH65P.js → src-B2wHibme.js} +118 -143
- package/build/server/chunks/src-B2wHibme.js.map +1 -0
- package/build/server/chunks/{state-Bq8fep3F.js → state-JIy0tegD.js} +2 -2
- package/build/server/chunks/{state-Bq8fep3F.js.map → state-JIy0tegD.js.map} +1 -1
- package/build/server/chunks/{state2-Cna2OZrd.js → state2-Br2snAqo.js} +2 -2
- package/build/server/chunks/{state2-Cna2OZrd.js.map → state2-Br2snAqo.js.map} +1 -1
- package/build/server/chunks/voice-state.svelte-DU9g_xEh.js +1610 -0
- package/build/server/chunks/voice-state.svelte-DU9g_xEh.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +98 -140
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -3
- package/build/client/_app/immutable/assets/4.B2m7mOkq.css +0 -1
- package/build/client/_app/immutable/assets/4.B2m7mOkq.css.br +0 -0
- package/build/client/_app/immutable/assets/4.B2m7mOkq.css.gz +0 -0
- package/build/client/_app/immutable/assets/6.CmRPKjbq.css +0 -1
- package/build/client/_app/immutable/assets/6.CmRPKjbq.css.br +0 -0
- package/build/client/_app/immutable/assets/6.CmRPKjbq.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.BTWb8aLW.css +0 -1
- package/build/client/_app/immutable/assets/7.BTWb8aLW.css.br +0 -0
- package/build/client/_app/immutable/assets/7.BTWb8aLW.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css +0 -1
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css.br +0 -0
- package/build/client/_app/immutable/assets/9.D8zTZB7v.css.gz +0 -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/BX_cLEyR.js +0 -1
- package/build/client/_app/immutable/chunks/BX_cLEyR.js.br +0 -0
- package/build/client/_app/immutable/chunks/BX_cLEyR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ByFgZDEl.js +0 -1
- package/build/client/_app/immutable/chunks/ByFgZDEl.js.br +0 -0
- package/build/client/_app/immutable/chunks/ByFgZDEl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BzIvC31O.js +0 -3
- 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/C718MJXm.js +0 -5
- package/build/client/_app/immutable/chunks/C718MJXm.js.br +0 -0
- package/build/client/_app/immutable/chunks/C718MJXm.js.gz +0 -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/Cnz20Kyu.js +0 -3
- package/build/client/_app/immutable/chunks/Cnz20Kyu.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cnz20Kyu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CoOosFtk.js +0 -3
- package/build/client/_app/immutable/chunks/CoOosFtk.js.br +0 -0
- package/build/client/_app/immutable/chunks/CoOosFtk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D5FtEngX.js.br +0 -0
- package/build/client/_app/immutable/chunks/D5FtEngX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DBHgGGCD.js +0 -1
- package/build/client/_app/immutable/chunks/DBHgGGCD.js.br +0 -0
- package/build/client/_app/immutable/chunks/DBHgGGCD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DBaSfL95.js +0 -1
- package/build/client/_app/immutable/chunks/DBaSfL95.js.br +0 -0
- package/build/client/_app/immutable/chunks/DBaSfL95.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DfZbBavE.js +0 -1
- package/build/client/_app/immutable/chunks/DfZbBavE.js.br +0 -1
- package/build/client/_app/immutable/chunks/DfZbBavE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DmFbAjwW.js.br +0 -3
- package/build/client/_app/immutable/chunks/DmFbAjwW.js.gz +0 -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 +0 -14
- 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.br +0 -0
- package/build/client/_app/immutable/chunks/SXdvPq3_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/c0lkYAgh.js +0 -5
- 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.br +0 -0
- package/build/client/_app/immutable/chunks/hSjQday7.js.gz +0 -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/chunks/ra5AJhOl.js +0 -1
- package/build/client/_app/immutable/chunks/ra5AJhOl.js.br +0 -2
- package/build/client/_app/immutable/chunks/ra5AJhOl.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.SHrJgM4c.js +0 -2
- package/build/client/_app/immutable/entry/app.SHrJgM4c.js.br +0 -0
- package/build/client/_app/immutable/entry/app.SHrJgM4c.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CM0OuHkF.js +0 -1
- package/build/client/_app/immutable/entry/start.CM0OuHkF.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CM0OuHkF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js +0 -1
- package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BRotfm1G.js +0 -1
- package/build/client/_app/immutable/nodes/1.BRotfm1G.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.BRotfm1G.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.CtHRQW64.js +0 -1
- package/build/client/_app/immutable/nodes/10.CtHRQW64.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.CtHRQW64.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.DViPDhJG.js +0 -8
- package/build/client/_app/immutable/nodes/11.DViPDhJG.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DViPDhJG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.C-PzaHZx.js +0 -1
- 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 +0 -1
- 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.B1PIKbh6.js +0 -6
- package/build/client/_app/immutable/nodes/4.B1PIKbh6.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.B1PIKbh6.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CIMkqYzP.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CIMkqYzP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.U9QsdKdj.js +0 -2
- package/build/client/_app/immutable/nodes/6.U9QsdKdj.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.U9QsdKdj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js +0 -14
- package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.NHp_bSVx.js +0 -1
- 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.zlIImD-K.js +0 -128
- package/build/client/_app/immutable/nodes/9.zlIImD-K.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.zlIImD-K.js.gz +0 -0
- package/build/server/chunks/0-BtezztJz.js.map +0 -1
- package/build/server/chunks/1-CvGA_TOi.js +0 -9
- package/build/server/chunks/11-Bp7zXIv8.js +0 -9
- package/build/server/chunks/11-Bp7zXIv8.js.map +0 -1
- package/build/server/chunks/3-CZdWulB3.js.map +0 -1
- package/build/server/chunks/4-4bobZFC9.js +0 -9
- package/build/server/chunks/4-4bobZFC9.js.map +0 -1
- package/build/server/chunks/6-sGxxEzTB.js +0 -9
- package/build/server/chunks/6-sGxxEzTB.js.map +0 -1
- package/build/server/chunks/7-mi0k2tJn.js +0 -9
- package/build/server/chunks/7-mi0k2tJn.js.map +0 -1
- package/build/server/chunks/8-DiHmrGkL.js.map +0 -1
- package/build/server/chunks/9-DB22e_yA.js +0 -9
- package/build/server/chunks/9-DB22e_yA.js.map +0 -1
- package/build/server/chunks/IconActivity-DrgUhxxi.js.map +0 -1
- package/build/server/chunks/IconMic-BbjkE_nG.js +0 -18
- package/build/server/chunks/IconMic-BbjkE_nG.js.map +0 -1
- package/build/server/chunks/IconSoundOn-DZGaQz_p.js.map +0 -1
- package/build/server/chunks/IconStop-BPbovgch.js.map +0 -1
- package/build/server/chunks/_page.svelte-CB1qUSpk.js +0 -95
- package/build/server/chunks/_page.svelte-CB1qUSpk.js.map +0 -1
- package/build/server/chunks/_page.svelte-CPo3vFZf.js.map +0 -1
- package/build/server/chunks/_page.svelte-F3gki1Uz.js +0 -155
- package/build/server/chunks/_page.svelte-F3gki1Uz.js.map +0 -1
- package/build/server/chunks/_page.svelte-GcuuPiXq.js.map +0 -1
- package/build/server/chunks/_page.svelte-K6kU7jIW.js.map +0 -1
- package/build/server/chunks/_server.ts-BQZ6mdSh.js +0 -93
- package/build/server/chunks/_server.ts-BQZ6mdSh.js.map +0 -1
- package/build/server/chunks/_server.ts-B_dmjFtu.js.map +0 -1
- package/build/server/chunks/_server.ts-BmRwgrKB.js +0 -67
- package/build/server/chunks/_server.ts-BmRwgrKB.js.map +0 -1
- package/build/server/chunks/_server.ts-CT0jVfA6.js.map +0 -1
- package/build/server/chunks/_server.ts-Cf_ZLxIl.js.map +0 -1
- package/build/server/chunks/_server.ts-CixURe5F.js +0 -49
- package/build/server/chunks/_server.ts-CixURe5F.js.map +0 -1
- package/build/server/chunks/_server.ts-CuLEqJd2.js.map +0 -1
- package/build/server/chunks/_server.ts-CvkF5YMt.js +0 -97
- package/build/server/chunks/_server.ts-CvkF5YMt.js.map +0 -1
- package/build/server/chunks/_server.ts-CyIO3STA.js +0 -73
- package/build/server/chunks/_server.ts-CyIO3STA.js.map +0 -1
- package/build/server/chunks/_server.ts-CzIZ-UYy.js +0 -113
- package/build/server/chunks/_server.ts-CzIZ-UYy.js.map +0 -1
- package/build/server/chunks/_server.ts-D3FpBEaY.js.map +0 -1
- package/build/server/chunks/_server.ts-Do0cbyyq.js.map +0 -1
- package/build/server/chunks/_server.ts-Dy7MOoFx.js.map +0 -1
- package/build/server/chunks/_server.ts-HHMqD_RA.js.map +0 -1
- package/build/server/chunks/_server.ts-s2Seq_VN.js.map +0 -1
- package/build/server/chunks/_server.ts-w4ncTcy1.js.map +0 -1
- package/build/server/chunks/_server.ts-ykET4T6s.js.map +0 -1
- package/build/server/chunks/addon-helpers-tZ_tAgFZ.js +0 -64
- package/build/server/chunks/addon-helpers-tZ_tAgFZ.js.map +0 -1
- package/build/server/chunks/compose-args2-BFOGDQne.js.map +0 -1
- package/build/server/chunks/connections-api-DlEoE3-k.js +0 -35
- package/build/server/chunks/connections-api-DlEoE3-k.js.map +0 -1
- package/build/server/chunks/docker2-BYFlumV1.js.map +0 -1
- package/build/server/chunks/endpoints-IFTldlrt.js +0 -473
- package/build/server/chunks/endpoints-IFTldlrt.js.map +0 -1
- package/build/server/chunks/features-BW-bVsl8.js +0 -118
- package/build/server/chunks/features-BW-bVsl8.js.map +0 -1
- package/build/server/chunks/helpers-DxodR6tq.js.map +0 -1
- package/build/server/chunks/hooks.server-Bzj8OieV.js.map +0 -1
- package/build/server/chunks/http-CfHMreaI.js.map +0 -1
- package/build/server/chunks/landing-DhaVkN2f.js.map +0 -1
- package/build/server/chunks/network-preset-CJ1RRnki.js.map +0 -1
- package/build/server/chunks/runtime-context.svelte-C5zNEC6u.js.map +0 -1
- package/build/server/chunks/speakable-text-BflxDDdY.js +0 -65
- package/build/server/chunks/speakable-text-BflxDDdY.js.map +0 -1
- package/build/server/chunks/src-DbArH65P.js.map +0 -1
- package/build/server/chunks/voice-state.svelte-2hAkP5Di.js +0 -539
- package/build/server/chunks/voice-state.svelte-2hAkP5Di.js.map +0 -1
- /package/build/client/_app/immutable/assets/{IconActivity.BdXOPwBm.css → ChatMessage.BdXOPwBm.css} +0 -0
- /package/build/client/_app/immutable/assets/{IconActivity.BdXOPwBm.css.br → ChatMessage.BdXOPwBm.css.br} +0 -0
- /package/build/client/_app/immutable/assets/{IconActivity.BdXOPwBm.css.gz → ChatMessage.BdXOPwBm.css.gz} +0 -0
- /package/build/client/_app/immutable/chunks/{DD22UF1L.js → DD22UF1L2.js} +0 -0
- /package/build/client/_app/immutable/chunks/{DD22UF1L.js.br → DD22UF1L2.js.br} +0 -0
- /package/build/client/_app/immutable/chunks/{DD22UF1L.js.gz → DD22UF1L2.js.gz} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"akm-DU_4Aa4m.js","sources":["../../../.svelte-kit/adapter-node/chunks/akm.js"],"sourcesContent":["import { o as lookupEmbeddingDims } from \"./provider-constants.js\";\nimport { O as buildAkmEndpoint, k as fetchProviderModels, m as detectLocalProviders } from \"./src.js\";\n//#region src/lib/server/akm.ts\nvar EMBEDDING_MODEL_HINT_RE = /(?:^|[-/_.])(embed|embedding|bge|gte|e5|nomic|mxbai|arctic-embed|minilm)/i;\nvar PREFERRED_EMBEDDING_MODELS = {\n\tollama: [\n\t\t\"mxbai-embed-large:latest\",\n\t\t\"mxbai-embed-large\",\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"nomic-embed-text:latest\",\n\t\t\"nomic-embed-text\",\n\t\t\"snowflake-arctic-embed\",\n\t\t\"all-minilm\"\n\t],\n\t\"model-runner\": [\"ai/mxbai-embed-large-v1\"],\n\tlmstudio: [\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"mxbai-embed-large\",\n\t\t\"nomic-embed-text\"\n\t]\n};\nfunction safeParseJsonObject(s) {\n\ttry {\n\t\tconst v = JSON.parse(s);\n\t\treturn v && typeof v === \"object\" ? v : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction isEmbeddingModel(provider, model) {\n\treturn lookupEmbeddingDims(provider, model) > 0 || EMBEDDING_MODEL_HINT_RE.test(model);\n}\nfunction compareModelPreference(provider, left, right) {\n\tconst preferred = PREFERRED_EMBEDDING_MODELS[provider] ?? [];\n\tconst leftIdx = preferred.indexOf(left);\n\tconst rightIdx = preferred.indexOf(right);\n\tif (leftIdx >= 0 || rightIdx >= 0) {\n\t\tif (leftIdx < 0) return 1;\n\t\tif (rightIdx < 0) return -1;\n\t\treturn leftIdx - rightIdx;\n\t}\n\tconst dimDelta = lookupEmbeddingDims(provider, right) - lookupEmbeddingDims(provider, left);\n\tif (dimDelta !== 0) return dimDelta;\n\treturn left.localeCompare(right);\n}\nfunction bestEmbeddingModel(provider, models) {\n\tconst candidates = models.filter((model) => isEmbeddingModel(provider, model));\n\tif (candidates.length === 0) return null;\n\treturn [...candidates].sort((left, right) => compareModelPreference(provider, left, right))[0] ?? null;\n}\nfunction detectionPriority(left, right) {\n\tconst order = [\n\t\t\"ollama\",\n\t\t\"model-runner\",\n\t\t\"lmstudio\"\n\t];\n\treturn order.indexOf(left.provider) - order.indexOf(right.provider);\n}\nfunction describeUpstreamError(status, raw) {\n\ttry {\n\t\tconst parsed = JSON.parse(raw);\n\t\tconst error = parsed.error;\n\t\tif (typeof error === \"string\" && error) return `Embedding request failed (${status}): ${error}`;\n\t\tif (error && typeof error === \"object\" && typeof error.message === \"string\") return `Embedding request failed (${status}): ${error.message}`;\n\t\tif (typeof parsed.message === \"string\" && parsed.message) return `Embedding request failed (${status}): ${parsed.message}`;\n\t} catch {}\n\treturn `Embedding request failed (${status}).`;\n}\nasync function testEmbeddingSettings(input) {\n\tconst endpoint = input.endpoint.trim();\n\tconst model = input.model.trim();\n\tif (!endpoint) return {\n\t\tok: false,\n\t\tmessage: \"Endpoint is required.\"\n\t};\n\tif (!model) return {\n\t\tok: false,\n\t\tmessage: \"Model is required.\"\n\t};\n\tconst headers = { \"content-type\": \"application/json\" };\n\tconst apiKey = input.apiKey?.trim() ?? \"\";\n\tif (apiKey) headers.authorization = `Bearer ${apiKey}`;\n\ttry {\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel,\n\t\t\t\tinput: [\"OpenPalm embedding settings test\"]\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(1e4)\n\t\t});\n\t\tconst raw = await response.text();\n\t\tif (!response.ok) return {\n\t\t\tok: false,\n\t\t\tmessage: describeUpstreamError(response.status, raw)\n\t\t};\n\t\tconst parsed = safeParseJsonObject(raw);\n\t\tconst first = (Array.isArray(parsed?.data) ? parsed.data : [])[0];\n\t\tconst embedding = first && typeof first === \"object\" ? first.embedding : void 0;\n\t\tif (!Array.isArray(embedding) || embedding.length === 0 || !embedding.every((value) => typeof value === \"number\")) return {\n\t\t\tok: false,\n\t\t\tmessage: \"Endpoint responded, but not with an OpenAI-compatible embeddings payload.\"\n\t\t};\n\t\tconst dimension = embedding.length;\n\t\tconst configuredDimension = typeof input.dimension === \"number\" && input.dimension > 0 ? input.dimension : null;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tdimension,\n\t\t\tmessage: configuredDimension && configuredDimension !== dimension ? `Embedding endpoint is working. Returned ${dimension} dimensions; the form has been updated to match.` : `Embedding endpoint is working. Returned ${dimension} dimensions.`,\n\t\t\tprovider: input.provider\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error && error.name === \"TimeoutError\" ? \"Embedding request timed out after 10 seconds.\" : error instanceof Error ? `Embedding request failed: ${error.message}` : \"Embedding request failed.\"\n\t\t};\n\t}\n}\nasync function detectEmbeddingSettings(state) {\n\tconst detected = (await detectLocalProviders()).filter((provider) => provider.available && provider.url).sort(detectionPriority);\n\tfor (const provider of detected) {\n\t\tconst modelsResult = await fetchProviderModels(provider.provider, \"\", provider.url, state.homeDir);\n\t\tif (modelsResult.status !== \"ok\") continue;\n\t\tconst model = bestEmbeddingModel(provider.provider, modelsResult.models);\n\t\tif (!model) continue;\n\t\tconst endpoint = buildAkmEndpoint(provider.provider, provider.url, \"/embeddings\");\n\t\tconst probe = await testEmbeddingSettings({\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider\n\t\t});\n\t\tif (!probe.ok) continue;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider,\n\t\t\tdimension: probe.dimension,\n\t\t\tmessage: `Detected ${provider.provider} embedding model ${model}.`\n\t\t};\n\t}\n\treturn {\n\t\tok: false,\n\t\tmessage: \"No working local embedding endpoint was detected. Tried common runtimes such as Ollama, Docker Model Runner, and LM Studio.\"\n\t};\n}\n//#endregion\nexport { safeParseJsonObject as n, testEmbeddingSettings as r, detectEmbeddingSettings as t };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"akm-DsJ8_uuW.js","sources":["../../../.svelte-kit/adapter-node/chunks/akm.js"],"sourcesContent":["import { o as lookupEmbeddingDims } from \"./provider-constants.js\";\nimport { D as fetchProviderModels, E as buildAkmEndpoint, f as detectLocalProviders } from \"./src.js\";\n//#region src/lib/server/akm.ts\nvar EMBEDDING_MODEL_HINT_RE = /(?:^|[-/_.])(embed|embedding|bge|gte|e5|nomic|mxbai|arctic-embed|minilm)/i;\nvar PREFERRED_EMBEDDING_MODELS = {\n\tollama: [\n\t\t\"mxbai-embed-large:latest\",\n\t\t\"mxbai-embed-large\",\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"nomic-embed-text:latest\",\n\t\t\"nomic-embed-text\",\n\t\t\"snowflake-arctic-embed\",\n\t\t\"all-minilm\"\n\t],\n\t\"model-runner\": [\"ai/mxbai-embed-large-v1\"],\n\tlmstudio: [\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"mxbai-embed-large\",\n\t\t\"nomic-embed-text\"\n\t]\n};\nfunction safeParseJsonObject(s) {\n\ttry {\n\t\tconst v = JSON.parse(s);\n\t\treturn v && typeof v === \"object\" ? v : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction isEmbeddingModel(provider, model) {\n\treturn lookupEmbeddingDims(provider, model) > 0 || EMBEDDING_MODEL_HINT_RE.test(model);\n}\nfunction compareModelPreference(provider, left, right) {\n\tconst preferred = PREFERRED_EMBEDDING_MODELS[provider] ?? [];\n\tconst leftIdx = preferred.indexOf(left);\n\tconst rightIdx = preferred.indexOf(right);\n\tif (leftIdx >= 0 || rightIdx >= 0) {\n\t\tif (leftIdx < 0) return 1;\n\t\tif (rightIdx < 0) return -1;\n\t\treturn leftIdx - rightIdx;\n\t}\n\tconst dimDelta = lookupEmbeddingDims(provider, right) - lookupEmbeddingDims(provider, left);\n\tif (dimDelta !== 0) return dimDelta;\n\treturn left.localeCompare(right);\n}\nfunction bestEmbeddingModel(provider, models) {\n\tconst candidates = models.filter((model) => isEmbeddingModel(provider, model));\n\tif (candidates.length === 0) return null;\n\treturn [...candidates].sort((left, right) => compareModelPreference(provider, left, right))[0] ?? null;\n}\nfunction detectionPriority(left, right) {\n\tconst order = [\n\t\t\"ollama\",\n\t\t\"model-runner\",\n\t\t\"lmstudio\"\n\t];\n\treturn order.indexOf(left.provider) - order.indexOf(right.provider);\n}\nfunction describeUpstreamError(status, raw) {\n\ttry {\n\t\tconst parsed = JSON.parse(raw);\n\t\tconst error = parsed.error;\n\t\tif (typeof error === \"string\" && error) return `Embedding request failed (${status}): ${error}`;\n\t\tif (error && typeof error === \"object\" && typeof error.message === \"string\") return `Embedding request failed (${status}): ${error.message}`;\n\t\tif (typeof parsed.message === \"string\" && parsed.message) return `Embedding request failed (${status}): ${parsed.message}`;\n\t} catch {}\n\treturn `Embedding request failed (${status}).`;\n}\nasync function testEmbeddingSettings(input) {\n\tconst endpoint = input.endpoint.trim();\n\tconst model = input.model.trim();\n\tif (!endpoint) return {\n\t\tok: false,\n\t\tmessage: \"Endpoint is required.\"\n\t};\n\tif (!model) return {\n\t\tok: false,\n\t\tmessage: \"Model is required.\"\n\t};\n\tconst headers = { \"content-type\": \"application/json\" };\n\tconst apiKey = input.apiKey?.trim() ?? \"\";\n\tif (apiKey) headers.authorization = `Bearer ${apiKey}`;\n\ttry {\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel,\n\t\t\t\tinput: [\"OpenPalm embedding settings test\"]\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(1e4)\n\t\t});\n\t\tconst raw = await response.text();\n\t\tif (!response.ok) return {\n\t\t\tok: false,\n\t\t\tmessage: describeUpstreamError(response.status, raw)\n\t\t};\n\t\tconst parsed = safeParseJsonObject(raw);\n\t\tconst first = (Array.isArray(parsed?.data) ? parsed.data : [])[0];\n\t\tconst embedding = first && typeof first === \"object\" ? first.embedding : void 0;\n\t\tif (!Array.isArray(embedding) || embedding.length === 0 || !embedding.every((value) => typeof value === \"number\")) return {\n\t\t\tok: false,\n\t\t\tmessage: \"Endpoint responded, but not with an OpenAI-compatible embeddings payload.\"\n\t\t};\n\t\tconst dimension = embedding.length;\n\t\tconst configuredDimension = typeof input.dimension === \"number\" && input.dimension > 0 ? input.dimension : null;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tdimension,\n\t\t\tmessage: configuredDimension && configuredDimension !== dimension ? `Embedding endpoint is working. Returned ${dimension} dimensions; the form has been updated to match.` : `Embedding endpoint is working. Returned ${dimension} dimensions.`,\n\t\t\tprovider: input.provider\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error && error.name === \"TimeoutError\" ? \"Embedding request timed out after 10 seconds.\" : error instanceof Error ? `Embedding request failed: ${error.message}` : \"Embedding request failed.\"\n\t\t};\n\t}\n}\nasync function detectEmbeddingSettings(state) {\n\tconst detected = (await detectLocalProviders()).filter((provider) => provider.available && provider.url).sort(detectionPriority);\n\tfor (const provider of detected) {\n\t\tconst modelsResult = await fetchProviderModels(provider.provider, \"\", provider.url, state.homeDir);\n\t\tif (modelsResult.status !== \"ok\") continue;\n\t\tconst model = bestEmbeddingModel(provider.provider, modelsResult.models);\n\t\tif (!model) continue;\n\t\tconst endpoint = buildAkmEndpoint(provider.provider, provider.url, \"/embeddings\");\n\t\tconst probe = await testEmbeddingSettings({\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider\n\t\t});\n\t\tif (!probe.ok) continue;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider,\n\t\t\tdimension: probe.dimension,\n\t\t\tmessage: `Detected ${provider.provider} embedding model ${model}.`\n\t\t};\n\t}\n\treturn {\n\t\tok: false,\n\t\tmessage: \"No working local embedding endpoint was detected. Tried common runtimes such as Ollama, Docker Model Runner, and LM Studio.\"\n\t};\n}\n//#endregion\nexport { safeParseJsonObject as n, testEmbeddingSettings as r, detectEmbeddingSettings as t };\n"],"names":[],"mappings":";;;AAEA;AACA,IAAI,uBAAuB,GAAG,2EAA2E;AACzG,IAAI,0BAA0B,GAAG;AACjC,CAAC,MAAM,EAAE;AACT,EAAE,0BAA0B;AAC5B,EAAE,mBAAmB;AACrB,EAAE,sBAAsB;AACxB,EAAE,yBAAyB;AAC3B,EAAE,kBAAkB;AACpB,EAAE,wBAAwB;AAC1B,EAAE;AACF,EAAE;AACF,CAAC,cAAc,EAAE,CAAC,yBAAyB,CAAC;AAC5C,CAAC,QAAQ,EAAE;AACX,EAAE,sBAAsB;AACxB,EAAE,mBAAmB;AACrB,EAAE;AACF;AACA,CAAC;AACD,SAAS,mBAAmB,CAAC,CAAC,EAAE;AAChC,CAAC,IAAI;AACL,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACzB,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI;AAC9C,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI;AACb,CAAC;AACD;AACA,SAAS,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE;AAC3C,CAAC,OAAO,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;AACvF;AACA,SAAS,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;AACvD,CAAC,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC7D,CAAC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;AACxC,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;AAC1C,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE;AACpC,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC;AAC3B,EAAE,IAAI,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE;AAC7B,EAAE,OAAO,OAAO,GAAG,QAAQ;AAC3B,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC;AAC5F,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE,OAAO,QAAQ;AACpC,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACjC;AACA,SAAS,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE;AAC9C,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/E,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;AACzC,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;AACvG;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE;AACxC,CAAC,MAAM,KAAK,GAAG;AACf,EAAE,QAAQ;AACV,EAAE,cAAc;AAChB,EAAE;AACF,EAAE;AACF,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;AACpE;AACA,SAAS,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE;AAC5C,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAChC,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAC5B,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjG,EAAE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9I,EAAE,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAC5H,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,EAAE,CAAC;AAC/C;AACA,eAAe,qBAAqB,CAAC,KAAK,EAAE;AAC5C,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;AACvC,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;AACjC,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO;AACvB,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE;AACF,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO;AACpB,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE;AACF,CAAC,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACvD,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AAC1C,CAAC,IAAI,MAAM,EAAE,OAAO,CAAC,aAAa,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,IAAI;AACL,EAAE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;AACzC,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,OAAO;AACV,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,KAAK;AACT,IAAI,KAAK,EAAE,CAAC,kCAAkC;AAC9C,IAAI,CAAC;AACL,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC;AACJ,EAAE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG;AACtD,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC;AACzC,EAAE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;AACnE,EAAE,MAAM,SAAS,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;AACjF,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,OAAO;AAC5H,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG;AACH,EAAE,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM;AACpC,EAAE,MAAM,mBAAmB,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI;AACjH,EAAE,OAAO;AACT,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,mBAAmB,IAAI,mBAAmB,KAAK,SAAS,GAAG,CAAC,wCAAwC,EAAE,SAAS,CAAC,gDAAgD,CAAC,GAAG,CAAC,wCAAwC,EAAE,SAAS,CAAC,YAAY,CAAC;AAClP,GAAG,QAAQ,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO;AACT,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,GAAG,+CAA+C,GAAG,KAAK,YAAY,KAAK,GAAG,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG;AAChM,GAAG;AACH,CAAC;AACD;AACA,eAAe,uBAAuB,CAAC,KAAK,EAAE;AAC9C,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAM,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;AACjI,CAAC,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE;AAClC,EAAE,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;AACpG,EAAE,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,EAAE;AACpC,EAAE,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC;AAC1E,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,EAAE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;AACnF,EAAE,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC5C,GAAG,QAAQ;AACX,GAAG,KAAK;AACR,GAAG,QAAQ,EAAE,QAAQ,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;AACjB,EAAE,OAAO;AACT,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,QAAQ;AACX,GAAG,KAAK;AACR,GAAG,QAAQ,EAAE,QAAQ,CAAC,QAAQ;AAC9B,GAAG,SAAS,EAAE,KAAK,CAAC,SAAS;AAC7B,GAAG,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AACpE,GAAG;AACH,CAAC;AACD,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE;AACF;;;;"}
|
|
@@ -1,31 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { g as getState } from './state-Bq8fep3F.js';
|
|
3
|
-
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-DxodR6tq.js';
|
|
4
|
-
import { w as withAdminUpdateLock } from './admin-update-lock-ZHLAwYiV.js';
|
|
1
|
+
import { c as annotateAddonProfileAvailability, a2 as getAddonProfiles, a1 as getAddonProfileSelection, b as addonProfileId, aV as setAddonProfileSelection, ah as listEnabledAddonIds, aU as setAddonEnabled, m as buildComposeOptions, a0 as getAddonProfileAvailability, W as dockerHasNvidiaRuntime, R as detectRootlessDocker, Z as execFileNoThrow, aW as stackDirFor, C as composeStop, e as applyStack } from './src-B2wHibme.js';
|
|
5
2
|
import { existsSync } from 'node:fs';
|
|
6
3
|
import { join } from 'node:path';
|
|
7
4
|
import { connect } from 'node:net';
|
|
8
|
-
import './chunk-DOvWTNp_.js';
|
|
9
|
-
import 'node:module';
|
|
10
|
-
import './network-preset-CJ1RRnki.js';
|
|
11
|
-
import './dist-DtzrgNJ1.js';
|
|
12
|
-
import 'node:child_process';
|
|
13
|
-
import 'buffer';
|
|
14
|
-
import 'node:url';
|
|
15
|
-
import 'node:os';
|
|
16
|
-
import 'node:crypto';
|
|
17
|
-
import 'events';
|
|
18
|
-
import 'fs';
|
|
19
|
-
import 'node:events';
|
|
20
|
-
import 'node:stream';
|
|
21
|
-
import 'node:string_decoder';
|
|
22
|
-
import 'path';
|
|
23
|
-
import 'assert';
|
|
24
|
-
import 'zlib';
|
|
25
|
-
import 'node:assert';
|
|
26
|
-
import 'node:fs/promises';
|
|
27
|
-
import './endpoints-IFTldlrt.js';
|
|
28
|
-
import './features-BW-bVsl8.js';
|
|
29
5
|
|
|
30
6
|
//#region src/lib/server/voice-errors.ts
|
|
31
7
|
/**
|
|
@@ -53,10 +29,11 @@ function translateDockerError(stderr) {
|
|
|
53
29
|
//#endregion
|
|
54
30
|
//#region src/lib/server/voice/bring-up.ts
|
|
55
31
|
/**
|
|
56
|
-
* Voice addon bring-up engine — the Docker/compose infrastructure behind
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
32
|
+
* Voice addon bring-up engine — the Docker/compose infrastructure behind the
|
|
33
|
+
* voice addon toggle (POST /api/host/addons(/voice) via
|
|
34
|
+
* $lib/server/addon-helpers.performVoiceEngage). Kept out of the route so the
|
|
35
|
+
* HTTP handler stays a thin request-validation + delegation layer (the
|
|
36
|
+
* thin-route-over-service pattern used across the host-admin API).
|
|
60
37
|
*
|
|
61
38
|
* Responsibilities:
|
|
62
39
|
* - Docker image inspection + resolution (dockerImagePresent / resolveServiceImage)
|
|
@@ -123,14 +100,28 @@ function resolveDefaultProfile(profiles) {
|
|
|
123
100
|
if (firstAvailable) return firstAvailable.id;
|
|
124
101
|
return profiles[0].id;
|
|
125
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* The Capabilities-facing view of the voice addon: annotated hardware
|
|
105
|
+
* profiles, the current selection (falling back to the host-appropriate
|
|
106
|
+
* default), and the in-flight background job when one exists. Served by
|
|
107
|
+
* GET /api/host/addons(/voice) so the Add-ons drawer can render the
|
|
108
|
+
* hardware-profile picker and poll bring-up progress.
|
|
109
|
+
*/
|
|
110
|
+
async function voiceAddonInfo(homeDir) {
|
|
111
|
+
const profiles = await annotateAddonProfileAvailability(getAddonProfiles(homeDir, VOICE_ADDON));
|
|
112
|
+
const selectedProfile = getAddonProfileSelection(homeDir, "voice") ?? resolveDefaultProfile(profiles);
|
|
113
|
+
const activeJob = getActiveJob(VOICE_ADDON);
|
|
114
|
+
return {
|
|
115
|
+
profiles,
|
|
116
|
+
selectedProfile,
|
|
117
|
+
...activeJob ? { activeJob } : {}
|
|
118
|
+
};
|
|
119
|
+
}
|
|
126
120
|
function voiceHostPort() {
|
|
127
121
|
const raw = process.env.OP_VOICE_PORT_HOST?.trim();
|
|
128
122
|
const n = raw ? Number(raw) : NaN;
|
|
129
123
|
return Number.isFinite(n) && n > 0 ? n : 8880;
|
|
130
124
|
}
|
|
131
|
-
function openpalmVoiceBaseURL() {
|
|
132
|
-
return `http://127.0.0.1:${voiceHostPort()}`;
|
|
133
|
-
}
|
|
134
125
|
/**
|
|
135
126
|
* True when the local docker daemon already has the named image cached.
|
|
136
127
|
* `docker image inspect` exits 0 only when the image is present locally.
|
|
@@ -319,7 +310,7 @@ async function runBringUp(input) {
|
|
|
319
310
|
/**
|
|
320
311
|
* Background variant: runs runBringUp and persists state transitions
|
|
321
312
|
* into the activeJobs map. Returns nothing — the UI polls GET
|
|
322
|
-
* /api/host/
|
|
313
|
+
* /api/host/addons to observe completion.
|
|
323
314
|
*/
|
|
324
315
|
async function runBringUpJob(input) {
|
|
325
316
|
const steps = [...input.baseSteps];
|
|
@@ -357,23 +348,13 @@ async function runBringUpJob(input) {
|
|
|
357
348
|
}
|
|
358
349
|
}
|
|
359
350
|
/**
|
|
360
|
-
* The full
|
|
351
|
+
* The full voice-addon bring-up lifecycle after request validation:
|
|
361
352
|
* auto-stop when disengaging, else resolve profile → enable addon →
|
|
362
353
|
* port pre-flight → image inspect → host fallback overlays → background
|
|
363
|
-
* short-circuit or synchronous compose-up +
|
|
354
|
+
* short-circuit or synchronous compose-up + health wait.
|
|
364
355
|
*/
|
|
365
356
|
async function engageVoiceAddon(input) {
|
|
366
|
-
const { state,
|
|
367
|
-
if (!wantsVoiceAddon) {
|
|
368
|
-
if (listEnabledAddonIds(state.homeDir).includes("voice")) try {
|
|
369
|
-
const voiceServiceNames = getAddonProfiles(state.homeDir, VOICE_ADDON).flatMap((p) => p.services);
|
|
370
|
-
const unique = Array.from(new Set(voiceServiceNames));
|
|
371
|
-
if (unique.length > 0) await composeStop(unique, buildComposeOptions(state));
|
|
372
|
-
} catch (e) {
|
|
373
|
-
console.warn("[voice] composeStop on disengage failed:", e);
|
|
374
|
-
}
|
|
375
|
-
return { status: "disengaged" };
|
|
376
|
-
}
|
|
357
|
+
const { state, requestedProfile } = input;
|
|
377
358
|
const availableProfiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, VOICE_ADDON));
|
|
378
359
|
let activeProfile = null;
|
|
379
360
|
if (requestedProfile) {
|
|
@@ -500,7 +481,7 @@ async function engageVoiceAddon(input) {
|
|
|
500
481
|
status: "background",
|
|
501
482
|
wasAlreadyEnabled,
|
|
502
483
|
steps,
|
|
503
|
-
message: "Voice image is downloading in the background (~2–8 GB). Poll GET /api/host/
|
|
484
|
+
message: "Voice image is downloading in the background (~2–8 GB). Poll GET /api/host/addons for progress; UI auto-refreshes.",
|
|
504
485
|
completion: runBringUpJob({
|
|
505
486
|
state,
|
|
506
487
|
services,
|
|
@@ -533,185 +514,6 @@ async function engageVoiceAddon(input) {
|
|
|
533
514
|
warming: outcome.warming
|
|
534
515
|
};
|
|
535
516
|
}
|
|
536
|
-
//#endregion
|
|
537
|
-
//#region src/routes/api/host/voice/+server.ts
|
|
538
|
-
var REACHABILITY_TIMEOUT_MS = 1500;
|
|
539
|
-
async function probeReachable(baseURL) {
|
|
540
|
-
if (!baseURL) return false;
|
|
541
|
-
const url = `${baseURL.replace(/\/+$/, "")}/v1/models`;
|
|
542
|
-
try {
|
|
543
|
-
return (await fetch(url, {
|
|
544
|
-
method: "GET",
|
|
545
|
-
signal: AbortSignal.timeout(REACHABILITY_TIMEOUT_MS)
|
|
546
|
-
})).status < 500;
|
|
547
|
-
} catch {
|
|
548
|
-
return false;
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
var GET = async (event) => {
|
|
552
|
-
const requestId = getRequestId(event);
|
|
553
|
-
const capabilityError = requireCapability(event, "host:stack:read", requestId);
|
|
554
|
-
if (capabilityError) return capabilityError;
|
|
555
|
-
const authError = requireAdmin(event, requestId);
|
|
556
|
-
if (authError) return authError;
|
|
557
|
-
const state = getState();
|
|
558
|
-
const env = readStackEnv(state.homeDir);
|
|
559
|
-
const ttsBaseURL = env.OP_TTS_BASE_URL ?? "";
|
|
560
|
-
const sttBaseURL = env.OP_STT_BASE_URL ?? "";
|
|
561
|
-
const profiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, VOICE_ADDON));
|
|
562
|
-
const selectedProfile = getAddonProfileSelection(state.homeDir, "voice") ?? resolveDefaultProfile(profiles);
|
|
563
|
-
const [sttReachable, ttsReachable] = await Promise.all([probeReachable(sttBaseURL), probeReachable(ttsBaseURL)]);
|
|
564
|
-
return jsonResponse(200, {
|
|
565
|
-
tts: {
|
|
566
|
-
enabled: true,
|
|
567
|
-
engine: env.OP_TTS_ENGINE ?? "",
|
|
568
|
-
provider: env.OP_TTS_PROVIDER ?? "",
|
|
569
|
-
baseURL: ttsBaseURL,
|
|
570
|
-
model: env.OP_TTS_MODEL ?? "",
|
|
571
|
-
voice: env.OP_TTS_VOICE ?? ""
|
|
572
|
-
},
|
|
573
|
-
stt: {
|
|
574
|
-
enabled: true,
|
|
575
|
-
engine: env.OP_STT_ENGINE ?? "",
|
|
576
|
-
provider: env.OP_STT_PROVIDER ?? "",
|
|
577
|
-
baseURL: sttBaseURL,
|
|
578
|
-
model: env.OP_STT_MODEL ?? "",
|
|
579
|
-
language: env.OP_STT_LANGUAGE ?? ""
|
|
580
|
-
},
|
|
581
|
-
availability: {
|
|
582
|
-
stt: {
|
|
583
|
-
remoteConfigured: Boolean(sttBaseURL),
|
|
584
|
-
remoteReachable: sttReachable
|
|
585
|
-
},
|
|
586
|
-
tts: {
|
|
587
|
-
remoteConfigured: Boolean(ttsBaseURL),
|
|
588
|
-
remoteReachable: ttsReachable
|
|
589
|
-
}
|
|
590
|
-
},
|
|
591
|
-
addon: {
|
|
592
|
-
profiles,
|
|
593
|
-
selectedProfile,
|
|
594
|
-
...getActiveJob("voice") ? { activeJob: getActiveJob(VOICE_ADDON) } : {}
|
|
595
|
-
}
|
|
596
|
-
}, requestId);
|
|
597
|
-
};
|
|
598
|
-
function readSection(raw, kind) {
|
|
599
|
-
if (!raw || typeof raw !== "object") return null;
|
|
600
|
-
const section = {
|
|
601
|
-
enabled: raw.enabled !== false,
|
|
602
|
-
engine: typeof raw.engine === "string" ? raw.engine : void 0,
|
|
603
|
-
provider: typeof raw.provider === "string" ? raw.provider : void 0,
|
|
604
|
-
baseURL: typeof raw.baseURL === "string" ? raw.baseURL : void 0,
|
|
605
|
-
model: typeof raw.model === "string" ? raw.model : void 0
|
|
606
|
-
};
|
|
607
|
-
if (kind === "tts" && typeof raw.voice === "string") section.voice = raw.voice;
|
|
608
|
-
if (kind === "stt" && typeof raw.language === "string") section.language = raw.language;
|
|
609
|
-
return section;
|
|
610
|
-
}
|
|
611
|
-
var OPENPALM_VOICE_TTS_MODEL = "kokoro";
|
|
612
|
-
var OPENPALM_VOICE_STT_MODEL = "whisper-1";
|
|
613
|
-
var OPENPALM_VOICE_DEFAULT_VOICE = "bf_isabella";
|
|
614
|
-
/**
|
|
615
|
-
* For `engine === 'openpalm-voice'`, fill in baseURL/model with the addon's
|
|
616
|
-
* preset values when the user didn't provide them. This is the auto-config
|
|
617
|
-
* that makes "select OpenPalm Voice → Save" Just Work as long as the addon
|
|
618
|
-
* is enabled. The user can still override (e.g. point at a different
|
|
619
|
-
* voice host on the LAN).
|
|
620
|
-
*/
|
|
621
|
-
function applyOpenPalmVoicePreset(section, kind) {
|
|
622
|
-
if (section.engine !== "openpalm-voice") return;
|
|
623
|
-
if (!section.baseURL?.trim()) section.baseURL = openpalmVoiceBaseURL();
|
|
624
|
-
if (!section.model?.trim()) section.model = kind === "tts" ? OPENPALM_VOICE_TTS_MODEL : OPENPALM_VOICE_STT_MODEL;
|
|
625
|
-
if (kind === "tts" && !section.voice?.trim()) section.voice = OPENPALM_VOICE_DEFAULT_VOICE;
|
|
626
|
-
}
|
|
627
|
-
function validateSection(section, kind) {
|
|
628
|
-
if (!section?.engine) return null;
|
|
629
|
-
if (section.engine === "browser" || section.engine === "browser-stt" || section.engine === "browser-tts") return null;
|
|
630
|
-
if (section.engine.startsWith("skip-")) return null;
|
|
631
|
-
if (!section.baseURL?.trim()) return `Remote ${kind.toUpperCase()} requires an endpoint URL.`;
|
|
632
|
-
return null;
|
|
633
|
-
}
|
|
634
|
-
var PUT = async (event) => {
|
|
635
|
-
const requestId = getRequestId(event);
|
|
636
|
-
const capabilityError = requireCapability(event, "host:stack:write", requestId);
|
|
637
|
-
if (capabilityError) return capabilityError;
|
|
638
|
-
const authError = requireAdmin(event, requestId);
|
|
639
|
-
if (authError) return authError;
|
|
640
|
-
const state = getState();
|
|
641
|
-
let body;
|
|
642
|
-
try {
|
|
643
|
-
body = await event.request.json();
|
|
644
|
-
} catch {
|
|
645
|
-
return errorResponse(400, "Bad Request", "Invalid JSON body", {}, requestId);
|
|
646
|
-
}
|
|
647
|
-
if (!body || typeof body !== "object") return errorResponse(400, "Bad Request", "Body must be an object", {}, requestId);
|
|
648
|
-
const b = body;
|
|
649
|
-
const ttsSection = readSection(b.tts, "tts");
|
|
650
|
-
const sttSection = readSection(b.stt, "stt");
|
|
651
|
-
if (ttsSection) applyOpenPalmVoicePreset(ttsSection, "tts");
|
|
652
|
-
if (sttSection) applyOpenPalmVoicePreset(sttSection, "stt");
|
|
653
|
-
const ttsErr = validateSection(ttsSection, "tts");
|
|
654
|
-
if (ttsErr) return errorResponse(400, "invalid_tts", ttsErr, {}, requestId);
|
|
655
|
-
const sttErr = validateSection(sttSection, "stt");
|
|
656
|
-
if (sttErr) return errorResponse(400, "invalid_stt", sttErr, {}, requestId);
|
|
657
|
-
const config = {};
|
|
658
|
-
if (ttsSection) config.tts = {
|
|
659
|
-
enabled: ttsSection.enabled,
|
|
660
|
-
engine: ttsSection.engine,
|
|
661
|
-
provider: ttsSection.provider,
|
|
662
|
-
baseURL: ttsSection.baseURL,
|
|
663
|
-
model: ttsSection.model,
|
|
664
|
-
voice: ttsSection.voice
|
|
665
|
-
};
|
|
666
|
-
if (sttSection) config.stt = {
|
|
667
|
-
enabled: sttSection.enabled,
|
|
668
|
-
engine: sttSection.engine,
|
|
669
|
-
provider: sttSection.provider,
|
|
670
|
-
baseURL: sttSection.baseURL,
|
|
671
|
-
model: sttSection.model,
|
|
672
|
-
language: sttSection.language
|
|
673
|
-
};
|
|
674
|
-
return withAdminUpdateLock(state, requestId, async (_lock, deferReleaseUntil) => {
|
|
675
|
-
writeVoiceVars(config, state.homeDir);
|
|
676
|
-
const result = await engageVoiceAddon({
|
|
677
|
-
state,
|
|
678
|
-
wantsVoiceAddon: ttsSection?.engine === "openpalm-voice" || sttSection?.engine === "openpalm-voice",
|
|
679
|
-
requestedProfile: typeof b.profile === "string" ? b.profile.trim() : ""
|
|
680
|
-
});
|
|
681
|
-
switch (result.status) {
|
|
682
|
-
case "disengaged": return jsonResponse(200, { ok: true }, requestId);
|
|
683
|
-
case "invalid_profile": return errorResponse(400, "invalid_profile", result.message, {}, requestId);
|
|
684
|
-
case "error": return jsonResponse(502, {
|
|
685
|
-
ok: false,
|
|
686
|
-
voiceAddon: {
|
|
687
|
-
wasAlreadyEnabled: result.wasAlreadyEnabled,
|
|
688
|
-
steps: result.steps,
|
|
689
|
-
error: result.error
|
|
690
|
-
}
|
|
691
|
-
}, requestId);
|
|
692
|
-
case "background":
|
|
693
|
-
deferReleaseUntil(result.completion);
|
|
694
|
-
return jsonResponse(202, {
|
|
695
|
-
ok: true,
|
|
696
|
-
voiceAddon: {
|
|
697
|
-
wasAlreadyEnabled: result.wasAlreadyEnabled,
|
|
698
|
-
status: "pulling",
|
|
699
|
-
steps: result.steps,
|
|
700
|
-
message: result.message
|
|
701
|
-
}
|
|
702
|
-
}, requestId);
|
|
703
|
-
case "final": return jsonResponse(result.healthy || result.warming ? 200 : 502, {
|
|
704
|
-
ok: result.healthy || result.warming,
|
|
705
|
-
voiceAddon: {
|
|
706
|
-
wasAlreadyEnabled: result.wasAlreadyEnabled,
|
|
707
|
-
steps: result.steps,
|
|
708
|
-
...result.warming ? { warming: true } : {},
|
|
709
|
-
...result.healthy || result.warming ? {} : { error: "Voice addon is starting but did not become healthy in time." }
|
|
710
|
-
}
|
|
711
|
-
}, requestId);
|
|
712
|
-
}
|
|
713
|
-
});
|
|
714
|
-
};
|
|
715
517
|
|
|
716
|
-
export {
|
|
717
|
-
//# sourceMappingURL=
|
|
518
|
+
export { VOICE_ADDON as V, voiceHostPort as a, engageVoiceAddon as e, voiceAddonInfo as v };
|
|
519
|
+
//# sourceMappingURL=bring-up-BBKMJltU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bring-up-BBKMJltU.js","sources":["../../../.svelte-kit/adapter-node/chunks/bring-up.js"],"sourcesContent":["import { A as setAddonProfileSelection, C as getAddonProfiles, M as getAddonProfileAvailability, N as addonProfileId, O as listEnabledAddonIds, S as getAddonProfileSelection, j as execFileNoThrow, k as setAddonEnabled, t as buildComposeOptions, x as annotateAddonProfileAvailability, xt as stackDirFor } from \"./compose-args.js\";\nimport { t as applyStack, v as composeStop } from \"./docker.js\";\nimport { J as detectRootlessDocker, Y as dockerHasNvidiaRuntime } from \"./src.js\";\nimport { existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { connect } from \"node:net\";\n//#region src/lib/server/voice-errors.ts\n/**\n* Translate raw docker / compose stderr into operator-actionable copy.\n*\n* Lives in $lib/server so the route can import it without violating\n* SvelteKit's +server.ts export rules (handlers + `_`-prefixed only).\n*\n* Pattern matches are intentionally case-insensitive and tolerant of\n* compose-CLI prefix decoration. Order matters: more specific patterns\n* first.\n*/\nfunction translateDockerError(stderr) {\n\tconst raw = (stderr ?? \"\").trim();\n\tif (!raw) return \"Docker reported an unknown error (no stderr).\";\n\tif (/spawn .*docker.*ENOENT|no such file or directory.*docker|docker:\\s*command not found/i.test(raw)) return \"Docker isn't installed on this host. Install Docker Engine or Docker Desktop, then retry.\";\n\tif (/pull access denied|manifest unknown|repository does not exist|not found: manifest unknown/i.test(raw)) return \"The voice image for this profile isn't published yet. Try the CPU profile.\";\n\tif (/failed to resolve reference|dial tcp.*lookup .+docker\\.io|i\\/o timeout.*registry|connection refused.*registry/i.test(raw)) return \"Can't reach Docker Hub. Check your internet connection, corporate firewall, or configure a registry mirror.\";\n\tif (/no space left on device|insufficient.*disk space|ENOSPC|write.*disk full/i.test(raw)) return \"Out of disk space. Free space and try again, or run `docker image prune -a` to reclaim unused images.\";\n\tif (/port is already allocated|bind.*address already in use|address already in use|failed to bind host port/i.test(raw)) return \"Port 8880 is already in use on this host. Free it or change the host port (set OP_VOICE_PORT_HOST).\";\n\tif (/unknown[^\\n]*runtime[^\\n]*nvidia|runtime\\s+\"nvidia\"\\s+not\\s+found|nvidia.*runtime.*not[^a-z]+(found|registered)/i.test(raw)) return \"The NVIDIA Docker runtime isn't registered on this machine. Try the CPU profile, or install nvidia-container-toolkit.\";\n\tif (/invoking the NVIDIA Container Runtime Hook/i.test(raw)) return \"Docker is in CDI mode but no CDI spec is registered. Try the CPU profile.\";\n\treturn raw.length > 300 ? `${raw.slice(0, 297)}…` : raw;\n}\n//#endregion\n//#region src/lib/server/voice/bring-up.ts\n/**\n* Voice addon bring-up engine — the Docker/compose infrastructure behind the\n* voice addon toggle (POST /api/host/addons(/voice) via\n* $lib/server/addon-helpers.performVoiceEngage). Kept out of the route so the\n* HTTP handler stays a thin request-validation + delegation layer (the\n* thin-route-over-service pattern used across the host-admin API).\n*\n* Responsibilities:\n* - Docker image inspection + resolution (dockerImagePresent / resolveServiceImage)\n* - UI-local host probes (TCP port, container health) — the rootless /\n* nvidia-runtime host-fact probes live in lib (control-plane/voice-host-probes.ts)\n* beside hardware-detect.ts, since they inspect the host, not addon/UI state.\n* - Fallback-overlay SELECTION only: voice.compose.cdi.yml and\n* voice.compose.rootless.yml ship as static files in the skeleton's\n* managed system/stack/ tree (packages/skeleton/system/stack/) — nothing\n* here generates compose YAML.\n* - The in-memory background-job registry (activeJobs)\n* - The engageVoiceAddon orchestration that the route delegates to; the\n* actual compose-up + health-wait lifecycle (runBringUp) is a thin\n* shim over `@openpalm/lib`'s single `applyStack` driver (plan 2.2) —\n* this file keeps only job registry + progress-step rendering, plus the\n* \"warming\" re-probe and voice-specific error-copy translation that\n* applyStack's generic result doesn't carry.\n*\n* Everything here is server-only (uses node:child_process / node:net /\n* node:fs) and returns plain data — the route maps the results to HTTP\n* responses.\n*/\nvar VOICE_ADDON = \"voice\";\nvar VOICE_PROBE_TIMEOUT_MS = 18e4;\nvar PORT_PROBE_TIMEOUT_MS = 750;\nvar JOB_RETAIN_MS = 5 * 6e4;\nvar activeJobs = /* @__PURE__ */ new Map();\nfunction setJob(addon, patch) {\n\tconst existing = activeJobs.get(addon);\n\tconst next = existing ? {\n\t\t...existing,\n\t\t...patch\n\t} : {\n\t\tstate: \"pulling\",\n\t\tsteps: [],\n\t\tstartedAt: Date.now(),\n\t\t...patch\n\t};\n\tactiveJobs.set(addon, next);\n\treturn next;\n}\nfunction getActiveJob(addon) {\n\tconst job = activeJobs.get(addon);\n\tif (!job) return void 0;\n\tif (Date.now() - (job.finishedAt ?? job.startedAt) > JOB_RETAIN_MS) {\n\t\tactiveJobs.delete(addon);\n\t\treturn;\n\t}\n\treturn job;\n}\n/**\n* Pick the best profile for this host. Prefers the first available GPU\n* profile (anything that isn't the canonical CPU profile) so operators with NVIDIA/AMD hardware\n* get the accelerated variant auto-selected. Falls back to the labelled\n* default, then first available, then first profile.\n*/\nfunction resolveDefaultProfile(profiles) {\n\tif (profiles.length === 0) return null;\n\tconst availableGpu = profiles.find((p) => p.id !== addonProfileId(\"voice\", \"cpu\") && p.available !== false);\n\tif (availableGpu) return availableGpu.id;\n\tconst labelledDefault = profiles.find((p) => p.default);\n\tif (labelledDefault && labelledDefault.available !== false) return labelledDefault.id;\n\tconst firstAvailable = profiles.find((p) => p.available !== false);\n\tif (firstAvailable) return firstAvailable.id;\n\treturn profiles[0].id;\n}\n/**\n* The Capabilities-facing view of the voice addon: annotated hardware\n* profiles, the current selection (falling back to the host-appropriate\n* default), and the in-flight background job when one exists. Served by\n* GET /api/host/addons(/voice) so the Add-ons drawer can render the\n* hardware-profile picker and poll bring-up progress.\n*/\nasync function voiceAddonInfo(homeDir) {\n\tconst profiles = await annotateAddonProfileAvailability(getAddonProfiles(homeDir, VOICE_ADDON));\n\tconst selectedProfile = getAddonProfileSelection(homeDir, \"voice\") ?? resolveDefaultProfile(profiles);\n\tconst activeJob = getActiveJob(VOICE_ADDON);\n\treturn {\n\t\tprofiles,\n\t\tselectedProfile,\n\t\t...activeJob ? { activeJob } : {}\n\t};\n}\nfunction voiceHostPort() {\n\tconst raw = process.env.OP_VOICE_PORT_HOST?.trim();\n\tconst n = raw ? Number(raw) : NaN;\n\treturn Number.isFinite(n) && n > 0 ? n : 8880;\n}\n/**\n* True when the local docker daemon already has the named image cached.\n* `docker image inspect` exits 0 only when the image is present locally.\n*/\nasync function dockerImagePresent(imageRef) {\n\tif (!imageRef) return true;\n\treturn (await execFileNoThrow(\"docker\", [\n\t\t\"image\",\n\t\t\"inspect\",\n\t\timageRef\n\t], 5e3)).ok;\n}\n/**\n* Heuristic: image tags that include `-cu121` / `-rocm6` / `-cpu` are the\n* multi-GB voice images. Show the \"this may take a few minutes\" toast for\n* first pulls so the operator knows the upcoming compose-up isn't stuck.\n*/\nfunction isLargeImageTag(imageRef) {\n\treturn /(-cu\\d+|-rocm\\d+|-cpu)(\\s|$|@|\\b)/i.test(imageRef);\n}\nfunction resolveProjectName() {\n\treturn process.env.OP_PROJECT_NAME?.trim() || process.env.COMPOSE_PROJECT_NAME?.trim() || \"openpalm\";\n}\n/**\n* Read the resolved image for a service from the merged compose config.\n* Best-effort — returns \"\" on any failure so callers can skip the pre-pull\n* check rather than blocking save.\n*/\nasync function resolveServiceImage(composeFiles, service) {\n\tconst args = [\"compose\"];\n\tfor (const f of composeFiles) args.push(\"-f\", f);\n\targs.push(\"--project-name\", resolveProjectName(), \"config\", \"--format\", \"json\");\n\tconst res = await execFileNoThrow(\"docker\", args, 15e3);\n\tif (!res.ok) return \"\";\n\ttry {\n\t\treturn JSON.parse(res.stdout).services?.[service]?.image ?? \"\";\n\t} catch {\n\t\treturn \"\";\n\t}\n}\n/**\n* Probe a TCP port on 127.0.0.1. Resolves true when the connect succeeds\n* within PORT_PROBE_TIMEOUT_MS — meaning something is already listening.\n*/\nfunction isPortListening(port) {\n\treturn new Promise((resolve) => {\n\t\tconst socket = connect({\n\t\t\thost: \"127.0.0.1\",\n\t\t\tport\n\t\t});\n\t\tlet done = false;\n\t\tconst finish = (listening) => {\n\t\t\tif (done) return;\n\t\t\tdone = true;\n\t\t\ttry {\n\t\t\t\tsocket.destroy();\n\t\t\t} catch {}\n\t\t\tresolve(listening);\n\t\t};\n\t\tsocket.setTimeout(PORT_PROBE_TIMEOUT_MS, () => finish(false));\n\t\tsocket.once(\"connect\", () => finish(true));\n\t\tsocket.once(\"error\", () => finish(false));\n\t});\n}\n/**\n* True when a docker container whose name matches openpalm-voice* is\n* already running and presumably owns the host port. Used by the port\n* pre-flight to avoid false positives when our own voice container is\n* the listener.\n*/\nasync function ourVoiceContainerRunning() {\n\tconst res = await execFileNoThrow(\"docker\", [\n\t\t\"ps\",\n\t\t\"--filter\",\n\t\t\"name=openpalm-voice\",\n\t\t\"--format\",\n\t\t\"{{.Names}}\"\n\t], 5e3);\n\tif (!res.ok) return false;\n\treturn res.stdout.trim().length > 0;\n}\n/**\n* Read the Docker healthcheck state of a container.\n* Returns \"starting\" while compose's start_period grace window is in\n* effect; \"healthy\" / \"unhealthy\" / \"none\" / \"\" otherwise.\n*/\nasync function readContainerHealthStatus(containerNamePrefix) {\n\tconst name = (await execFileNoThrow(\"docker\", [\n\t\t\"ps\",\n\t\t\"--filter\",\n\t\t`name=${containerNamePrefix}`,\n\t\t\"--format\",\n\t\t\"{{.Names}}\"\n\t], 5e3)).stdout.split(\"\\n\").map((s) => s.trim()).find(Boolean);\n\tif (!name) return \"\";\n\treturn (await execFileNoThrow(\"docker\", [\n\t\t\"inspect\",\n\t\tname,\n\t\t\"--format\",\n\t\t\"{{if .State.Health}}{{.State.Health.Status}}{{else}}none{{end}}\"\n\t], 5e3)).stdout.trim();\n}\n/** Path of the static CDI overlay, or null when the managed tree isn't seeded yet. */\nfunction voiceCdiOverlayPath(homeDir) {\n\tconst overlayPath = join(stackDirFor(homeDir), \"voice.compose.cdi.yml\");\n\treturn existsSync(overlayPath) ? overlayPath : null;\n}\n/** Path of the static rootless overlay, or null when the managed tree isn't seeded yet. */\nfunction voiceRootlessOverlayPath(homeDir) {\n\tconst overlayPath = join(stackDirFor(homeDir), \"voice.compose.rootless.yml\");\n\treturn existsSync(overlayPath) ? overlayPath : null;\n}\n/**\n* Stops services from OTHER profiles, then routes the actual compose-up +\n* health-wait through `@openpalm/lib`'s single {@link applyStack} driver\n* (plan 2.2) — this function no longer runs its own composeUp or /health\n* poll. `applyStack`'s health-wait reads the SAME docker HEALTHCHECK every\n* voice compose service already declares (`curl .../health` inside the\n* container, `start_period: 180s`), so it observes exactly what the removed\n* manual HTTP poll observed, just via `docker inspect` instead of a\n* host-side fetch loop.\n*\n* Returns the terminal state. Pushed `steps` get mutated in place so the\n* caller (sync or background) can read progress as it happens.\n*/\nasync function runBringUp(input) {\n\tconst { state, services, activeProfile, extraFiles, availableProfiles, steps } = input;\n\tlet composeOk;\n\tlet composeErr;\n\tlet healthy = false;\n\ttry {\n\t\tconst otherProfileServices = availableProfiles.filter((p) => p.id !== activeProfile).flatMap((p) => p.services).filter((svc) => !services.includes(svc));\n\t\tif (otherProfileServices.length > 0) try {\n\t\t\tawait composeStop(otherProfileServices, buildComposeOptions(state));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[voice] composeStop other profiles failed:\", e);\n\t\t}\n\t\tconst baseOpts = buildComposeOptions(state);\n\t\tconst result = await applyStack({\n\t\t\tkind: \"services\",\n\t\t\tservices\n\t\t}, {\n\t\t\tfiles: [...baseOpts.files, ...extraFiles],\n\t\t\tenvFiles: baseOpts.envFiles,\n\t\t\tprofiles: activeProfile ? [activeProfile] : baseOpts.profiles\n\t\t}, void 0, { healthTimeoutMs: VOICE_PROBE_TIMEOUT_MS });\n\t\tif (result.upFailed) {\n\t\t\tcomposeOk = false;\n\t\t\tcomposeErr = translateDockerError(result.rawStderr || result.error || \"compose up failed\");\n\t\t} else {\n\t\t\tcomposeOk = true;\n\t\t\thealthy = result.ok;\n\t\t}\n\t} catch (e) {\n\t\tcomposeOk = false;\n\t\tcomposeErr = translateDockerError(e instanceof Error ? e.message : String(e));\n\t}\n\tsteps.push({\n\t\tstep: \"compose-up\",\n\t\tok: composeOk,\n\t\t...composeErr ? { detail: composeErr.slice(0, 500) } : {}\n\t});\n\tif (!composeOk) return {\n\t\tcomposeOk,\n\t\tcomposeErr,\n\t\thealthy: false,\n\t\twarming: false,\n\t\tsteps\n\t};\n\tlet warming = false;\n\tif (!healthy) try {\n\t\tif (await readContainerHealthStatus(\"openpalm-voice\") === \"starting\") warming = true;\n\t} catch {}\n\tsteps.push({\n\t\tstep: \"healthy\",\n\t\tok: healthy || warming,\n\t\t...healthy ? {} : warming ? { detail: \"still warming up — refresh in a moment\" } : { detail: `did not become healthy within ${VOICE_PROBE_TIMEOUT_MS / 1e3}s` }\n\t});\n\treturn {\n\t\tcomposeOk,\n\t\thealthy,\n\t\twarming,\n\t\tsteps\n\t};\n}\n/**\n* Background variant: runs runBringUp and persists state transitions\n* into the activeJobs map. Returns nothing — the UI polls GET\n* /api/host/addons to observe completion.\n*/\nasync function runBringUpJob(input) {\n\tconst steps = [...input.baseSteps];\n\ttry {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"starting\",\n\t\t\tsteps\n\t\t});\n\t\tconst outcome = await runBringUp({\n\t\t\t...input,\n\t\t\tsteps\n\t\t});\n\t\tif (!outcome.composeOk) {\n\t\t\tsetJob(VOICE_ADDON, {\n\t\t\t\tstate: \"error\",\n\t\t\t\tsteps: outcome.steps,\n\t\t\t\terror: `Voice addon failed to start: ${outcome.composeErr ?? \"unknown error\"}`,\n\t\t\t\tfinishedAt: Date.now()\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: outcome.healthy ? \"healthy\" : outcome.warming ? \"starting\" : \"error\",\n\t\t\tsteps: outcome.steps,\n\t\t\t...outcome.healthy || outcome.warming ? { error: void 0 } : { error: \"Voice addon is starting but did not become healthy in time.\" },\n\t\t\tfinishedAt: Date.now()\n\t\t});\n\t} catch (e) {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"error\",\n\t\t\tsteps,\n\t\t\terror: e instanceof Error ? e.message : String(e),\n\t\t\tfinishedAt: Date.now()\n\t\t});\n\t}\n}\n/**\n* The full voice-addon bring-up lifecycle after request validation:\n* auto-stop when disengaging, else resolve profile → enable addon →\n* port pre-flight → image inspect → host fallback overlays → background\n* short-circuit or synchronous compose-up + health wait.\n*/\nasync function engageVoiceAddon(input) {\n\tconst { state, wantsVoiceAddon, requestedProfile } = input;\n\tif (!wantsVoiceAddon) {\n\t\tif (listEnabledAddonIds(state.homeDir).includes(\"voice\")) try {\n\t\t\tconst voiceServiceNames = getAddonProfiles(state.homeDir, VOICE_ADDON).flatMap((p) => p.services);\n\t\t\tconst unique = Array.from(new Set(voiceServiceNames));\n\t\t\tif (unique.length > 0) await composeStop(unique, buildComposeOptions(state));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[voice] composeStop on disengage failed:\", e);\n\t\t}\n\t\treturn { status: \"disengaged\" };\n\t}\n\tconst availableProfiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, VOICE_ADDON));\n\tlet activeProfile = null;\n\tif (requestedProfile) {\n\t\tif (!availableProfiles.some((p) => p.id === requestedProfile)) return {\n\t\t\tstatus: \"invalid_profile\",\n\t\t\tmessage: `Unknown voice profile \"${requestedProfile}\". Available: ${availableProfiles.map((p) => p.id).join(\", \") || \"(none)\"}`\n\t\t};\n\t\tactiveProfile = requestedProfile;\n\t\tsetAddonProfileSelection(state.homeDir, VOICE_ADDON, activeProfile);\n\t} else activeProfile = getAddonProfileSelection(state.homeDir, \"voice\") ?? resolveDefaultProfile(availableProfiles);\n\tconst wasAlreadyEnabled = listEnabledAddonIds(state.homeDir).includes(VOICE_ADDON);\n\tconst steps = [];\n\tif (!wasAlreadyEnabled) try {\n\t\tsetAddonEnabled(state.homeDir, VOICE_ADDON, true, state);\n\t\tsteps.push({\n\t\t\tstep: \"enable\",\n\t\t\tok: true\n\t\t});\n\t} catch (e) {\n\t\tconst detail = e instanceof Error ? e.message : String(e);\n\t\tsteps.push({\n\t\t\tstep: \"enable\",\n\t\t\tok: false,\n\t\t\tdetail\n\t\t});\n\t\treturn {\n\t\t\tstatus: \"error\",\n\t\t\twasAlreadyEnabled,\n\t\t\tsteps,\n\t\t\terror: `Could not enable voice addon: ${detail}`\n\t\t};\n\t}\n\telse steps.push({\n\t\tstep: \"enable\",\n\t\tok: true,\n\t\tdetail: \"already enabled\"\n\t});\n\tconst hostPort = voiceHostPort();\n\tconst inVitest = !!process.env.VITEST;\n\tif (inVitest ? false : await isPortListening(hostPort)) {\n\t\tif (!await ourVoiceContainerRunning()) {\n\t\t\tconst msg = translateDockerError(`Bind for 127.0.0.1:${hostPort} failed: port is already allocated`);\n\t\t\tsteps.push({\n\t\t\t\tstep: \"port-check\",\n\t\t\t\tok: false,\n\t\t\t\tdetail: msg\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tstatus: \"error\",\n\t\t\t\twasAlreadyEnabled,\n\t\t\t\tsteps,\n\t\t\t\terror: msg\n\t\t\t};\n\t\t}\n\t\tsteps.push({\n\t\t\tstep: \"port-check\",\n\t\t\tok: true,\n\t\t\tdetail: \"our container is the listener\"\n\t\t});\n\t} else steps.push({\n\t\tstep: \"port-check\",\n\t\tok: true\n\t});\n\tconst profileServices = activeProfile ? availableProfiles.find((p) => p.id === activeProfile)?.services ?? [] : [];\n\tconst services = profileServices.length > 0 ? profileServices : [VOICE_ADDON];\n\tconst composeFilesBase = buildComposeOptions(state).files;\n\tconst primaryService = services[0];\n\tlet backgroundPull = false;\n\tif (primaryService && !inVitest) {\n\t\tconst imageRef = await resolveServiceImage(composeFilesBase, primaryService);\n\t\tif (imageRef && isLargeImageTag(imageRef)) {\n\t\t\tif (!await dockerImagePresent(imageRef)) {\n\t\t\t\tbackgroundPull = true;\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"pulling\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"first-time download — several minutes for several GB\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst extraFiles = [];\n\tconst cdiFallbackSupported = process.platform !== \"win32\";\n\tif (activeProfile === addonProfileId(\"voice\", \"cuda\") && !inVitest && cdiFallbackSupported) {\n\t\tconst runtimeMissing = (await getAddonProfileAvailability({ id: addonProfileId(\"voice\", \"cuda\") })).available === false || !await dockerHasNvidiaRuntime();\n\t\tconst cdiSpecPresent = existsSync(\"/etc/cdi/nvidia.yaml\");\n\t\tif (runtimeMissing && cdiSpecPresent) {\n\t\t\tconst overlay = voiceCdiOverlayPath(state.homeDir);\n\t\t\tif (overlay) {\n\t\t\t\textraFiles.push(overlay);\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"cdi-fallback\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"using CDI device reservation\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tif (!inVitest) try {\n\t\tif (await detectRootlessDocker()) {\n\t\t\tconst overlay = voiceRootlessOverlayPath(state.homeDir);\n\t\t\tif (overlay) {\n\t\t\t\textraFiles.push(overlay);\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"rootless-fallback\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"dropping user: directive for rootless Docker\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\"[voice] rootless detection failed:\", e);\n\t}\n\tif (backgroundPull) {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"pulling\",\n\t\t\tsteps: [...steps],\n\t\t\tstartedAt: Date.now(),\n\t\t\tprofile: activeProfile ?? void 0,\n\t\t\tfinishedAt: void 0,\n\t\t\terror: void 0\n\t\t});\n\t\treturn {\n\t\t\tstatus: \"background\",\n\t\t\twasAlreadyEnabled,\n\t\t\tsteps,\n\t\t\tmessage: \"Voice image is downloading in the background (~2–8 GB). Poll GET /api/host/addons for progress; UI auto-refreshes.\",\n\t\t\tcompletion: runBringUpJob({\n\t\t\t\tstate,\n\t\t\t\tservices,\n\t\t\t\tactiveProfile,\n\t\t\t\textraFiles,\n\t\t\t\tavailableProfiles,\n\t\t\t\tbaseSteps: [...steps]\n\t\t\t})\n\t\t};\n\t}\n\tconst outcome = await runBringUp({\n\t\tstate,\n\t\tservices,\n\t\tactiveProfile,\n\t\textraFiles,\n\t\tavailableProfiles,\n\t\tsteps\n\t});\n\tif (!outcome.composeOk) return {\n\t\tstatus: \"error\",\n\t\twasAlreadyEnabled,\n\t\tsteps: outcome.steps,\n\t\terror: `Voice addon failed to start: ${outcome.composeErr ?? \"unknown error\"}`\n\t};\n\treturn {\n\t\tstatus: \"final\",\n\t\twasAlreadyEnabled,\n\t\tsteps: outcome.steps,\n\t\thealthy: outcome.healthy,\n\t\twarming: outcome.warming\n\t};\n}\n//#endregion\nexport { voiceHostPort as i, engageVoiceAddon as n, voiceAddonInfo as r, VOICE_ADDON as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as authJsonPath } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
1
|
+
import { i as authJsonPath } from './src-B2wHibme.js';
|
|
2
|
+
import { g as getState } from './state-JIy0tegD.js';
|
|
3
3
|
import { b as asRecord, c as asString, a as asNumber, e as asStringRecord, d as asStringArray } from './coercion-TNFJisCC.js';
|
|
4
|
-
import { o as opencodeFetch } from './http-
|
|
5
|
-
import { g as getCurrentConfig } from './config-
|
|
4
|
+
import { o as opencodeFetch } from './http-B4Us23Mo.js';
|
|
5
|
+
import { g as getCurrentConfig } from './config-ChxZZk6h.js';
|
|
6
6
|
import { existsSync, readFileSync } from 'node:fs';
|
|
7
7
|
|
|
8
8
|
//#region src/lib/server/opencode/catalog.ts
|
|
@@ -214,4 +214,4 @@ function asModelRecord(value) {
|
|
|
214
214
|
}
|
|
215
215
|
|
|
216
216
|
export { loadSetupProviderPage as a, loadProviderPage as l };
|
|
217
|
-
//# sourceMappingURL=catalog-
|
|
217
|
+
//# sourceMappingURL=catalog-8d-U0FbY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-B4QoA_I8.js","sources":["../../../.svelte-kit/adapter-node/chunks/catalog.js"],"sourcesContent":["import { ut as authJsonPath } from \"./compose-args.js\";\nimport \"./src.js\";\nimport { t as getState } from \"./state.js\";\nimport { a as asStringRecord, i as asStringArray, n as asRecord, r as asString, t as asNumber } from \"./coercion.js\";\nimport { t as opencodeFetch } from \"./http.js\";\nimport { t as getCurrentConfig } from \"./config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/lib/server/opencode/catalog.ts\n/**\n* Provider catalog assembly.\n*\n* Pulls catalog/auth/config/configured-provider data from the OpenCode server\n* (and the on-disk config), merges them, and emits ProviderView records the\n* UI renders directly.\n*/\n/**\n* Map of provider ID → credential type, as found in OpenCode's auth.json.\n* OpenCode's /provider response only reports env-var-detected providers in\n* `connected`; auth.json-stored credentials (API keys + OAuth tokens) are\n* loaded on-demand and don't appear there. We surface them here so the UI\n* can treat them as connected and show the right badge.\n*/\nfunction readAuthedProviders() {\n\tconst out = /* @__PURE__ */ new Map();\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return out;\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tfor (const [id, entry] of Object.entries(data ?? {})) {\n\t\t\tconst type = entry?.type === \"oauth\" ? \"oauth\" : \"api\";\n\t\t\tout.set(id, type);\n\t\t}\n\t} catch {}\n\treturn out;\n}\nasync function loadProviderPage() {\n\ttry {\n\t\tconst [catalog, auth, ocConfig, configured] = await Promise.all([\n\t\t\topencodeFetch(\"/provider\"),\n\t\t\topencodeFetch(\"/provider/auth\"),\n\t\t\topencodeFetch(\"/config\"),\n\t\t\topencodeFetch(\"/config/providers\")\n\t\t]);\n\t\tconst diskConfig = await getCurrentConfig();\n\t\tconst config = {\n\t\t\t...ocConfig,\n\t\t\tprovider: {\n\t\t\t\t...ocConfig.provider ?? {},\n\t\t\t\t...diskConfig.provider ?? {}\n\t\t\t},\n\t\t\tdisabled_providers: diskConfig.disabled_providers ?? ocConfig.disabled_providers,\n\t\t\tenabled_providers: diskConfig.enabled_providers ?? ocConfig.enabled_providers\n\t\t};\n\t\tconst views = buildProviderViews(catalog, auth, config, configured, readAuthedProviders());\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: views,\n\t\t\tcurrentModel: config.model,\n\t\t\tcurrentSmallModel: config.small_model,\n\t\t\tdefaultModels: catalog.default,\n\t\t\tallowlistActive: Array.isArray(config.enabled_providers) && config.enabled_providers.length > 0,\n\t\t\tproviderCountLabel: `${views.length} providers indexed from OpenCode`,\n\t\t\tstats: {\n\t\t\t\ttotal: views.length,\n\t\t\t\tconnected: views.filter((p) => p.connected).length,\n\t\t\t\tconfigured: views.filter((p) => p.configured).length,\n\t\t\t\tdisabled: views.filter((p) => p.disabled).length\n\t\t\t}\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\terror: error instanceof Error ? error.message : \"Unable to reach the OpenCode server.\",\n\t\t\tproviders: [],\n\t\t\tdefaultModels: {},\n\t\t\tallowlistActive: false,\n\t\t\tproviderCountLabel: \"The OpenCode server is currently unavailable.\",\n\t\t\tstats: {\n\t\t\t\ttotal: 0,\n\t\t\t\tconnected: 0,\n\t\t\t\tconfigured: 0,\n\t\t\t\tdisabled: 0\n\t\t\t}\n\t\t};\n\t}\n}\nasync function loadSetupProviderPage() {\n\ttry {\n\t\tconst [catalog, auth] = await Promise.all([opencodeFetch(\"/provider\"), opencodeFetch(\"/provider/auth\")]);\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: Array.isArray(catalog.all) ? catalog.all : [],\n\t\t\tauth,\n\t\t\tconnected: Array.from(new Set([...catalog.connected ?? [], ...readConnectedProviderIdsFromAuthJson()])),\n\t\t\tselectedModels: readSelectedModels()\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t};\n\t}\n}\nfunction readSelectedModels() {\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}\nfunction readConnectedProviderIdsFromAuthJson() {\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}\nfunction extractAndSortModels(...sources) {\n\tlet entries = {};\n\tfor (const source of sources) {\n\t\tconst record = asModelRecord(source);\n\t\tif (record) {\n\t\t\tentries = record;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn Object.entries(entries).map(([id, model]) => ({\n\t\tid,\n\t\tname: model.name ?? id\n\t})).sort((left, right) => left.name.localeCompare(right.name));\n}\nfunction buildProviderViews(catalog, auth, config, configured, authed) {\n\tconst catalogMap = new Map(catalog.all.map((p) => [p.id, p]));\n\tconst envConnected = new Set(catalog.connected);\n\tconst connected = new Set([...envConnected, ...authed.keys()]);\n\tconst disabled = new Set(config.disabled_providers ?? []);\n\tconst allowlist = config.enabled_providers ? new Set(config.enabled_providers) : void 0;\n\tconst configuredMap = new Map(configured.providers.map((p) => [p.id, p]));\n\tconst providerIds = new Set([\n\t\t...catalog.all.map((p) => p.id),\n\t\t...Object.keys(config.provider ?? {}),\n\t\t...configured.providers.map((p) => p.id)\n\t]);\n\treturn Array.from(providerIds).map((providerId) => {\n\t\tconst entry = catalogMap.get(providerId);\n\t\tconst configEntry = asRecord(config.provider?.[providerId]);\n\t\tconst resolvedEntry = configuredMap.get(providerId);\n\t\tconst rawOptions = {\n\t\t\t...asRecord(resolvedEntry?.options),\n\t\t\t...asRecord(configEntry?.options)\n\t\t};\n\t\tconst authMethods = (auth[providerId] ?? []).map((method, index) => ({\n\t\t\tindex,\n\t\t\ttype: method.type,\n\t\t\tlabel: method.label,\n\t\t\tprompts: method.prompts ?? []\n\t\t}));\n\t\tconst models = extractAndSortModels(resolvedEntry?.models, configEntry?.models, entry?.models);\n\t\tconst currentModelId = splitModel(config.model, providerId);\n\t\tconst currentSmallModelId = splitModel(config.small_model, providerId);\n\t\tconst enabled = allowlist ? allowlist.has(providerId) && !disabled.has(providerId) : !disabled.has(providerId);\n\t\tconst isConnected = connected.has(providerId);\n\t\tconst isEnvConnected = envConnected.has(providerId);\n\t\tconst authedType = authed.get(providerId);\n\t\tconst credentialType = !isConnected ? void 0 : isEnvConnected ? \"env\" : authedType ? authedType : configEntry ? \"config\" : \"custom\";\n\t\treturn {\n\t\t\tid: providerId,\n\t\t\tname: resolvedEntry?.name ?? asString(configEntry?.name) ?? entry?.name ?? providerId,\n\t\t\tsource: resolvedEntry?.source ?? (entry ? configEntry ? \"config\" : \"catalog\" : \"custom\"),\n\t\t\tenv: resolvedEntry?.env ?? asStringArray(configEntry?.env) ?? entry?.env ?? [],\n\t\t\tconnected: isConnected,\n\t\t\tconfigured: Boolean(resolvedEntry || configEntry),\n\t\t\tdisabled: !enabled,\n\t\t\tactiveMainModel: Boolean(currentModelId),\n\t\t\tactiveSmallModel: Boolean(currentSmallModelId),\n\t\t\trecommendedModelId: currentModelId ?? configured.default[providerId] ?? catalog.default[providerId] ?? models[0]?.id ?? \"\",\n\t\t\tmodelCount: models.length,\n\t\t\tmodels,\n\t\t\tauthMethods,\n\t\t\tcredentialType,\n\t\t\toptions: {\n\t\t\t\tbaseURL: asString(rawOptions.baseURL),\n\t\t\t\theaders: asStringRecord(rawOptions.headers),\n\t\t\t\ttimeout: asNumber(rawOptions.timeout),\n\t\t\t\tsetCacheKey: rawOptions.setCacheKey === true,\n\t\t\t\tenterpriseUrl: asString(rawOptions.enterpriseUrl)\n\t\t\t},\n\t\t\tsupportsOauth: authMethods.some((m) => m.type === \"oauth\"),\n\t\t\tsupportsApiAuth: authMethods.some((m) => m.type === \"api\")\n\t\t};\n\t}).sort((left, right) => {\n\t\tif (left.connected !== right.connected) return left.connected ? -1 : 1;\n\t\tif (left.activeMainModel !== right.activeMainModel) return left.activeMainModel ? -1 : 1;\n\t\tif (left.configured !== right.configured) return left.configured ? -1 : 1;\n\t\tif (left.disabled !== right.disabled) return left.disabled ? 1 : -1;\n\t\treturn left.name.localeCompare(right.name);\n\t});\n}\nfunction splitModel(model, providerId) {\n\tif (!model?.startsWith(`${providerId}/`)) return void 0;\n\treturn model.slice(providerId.length + 1);\n}\nfunction asModelRecord(value) {\n\treturn value && typeof value === \"object\" && !Array.isArray(value) ? value : void 0;\n}\n//#endregion\nexport { loadSetupProviderPage as n, loadProviderPage as t };\n"],"names":[],"mappings":";;;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,GAAG;AAC/B,CAAC,MAAM,GAAG,mBAAmB,IAAI,GAAG,EAAE;AACtC,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AACvC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG;AACnC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;AACxD,GAAG,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,KAAK;AACzD,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;AACpB,EAAE;AACF,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,GAAG;AACX;AACA,eAAe,gBAAgB,GAAG;AAClC,CAAC,IAAI;AACL,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAClE,GAAG,aAAa,CAAC,WAAW,CAAC;AAC7B,GAAG,aAAa,CAAC,gBAAgB,CAAC;AAClC,GAAG,aAAa,CAAC,SAAS,CAAC;AAC3B,GAAG,aAAa,CAAC,mBAAmB;AACpC,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM,gBAAgB,EAAE;AAC7C,EAAE,MAAM,MAAM,GAAG;AACjB,GAAG,GAAG,QAAQ;AACd,GAAG,QAAQ,EAAE;AACb,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE;AAC9B,IAAI,GAAG,UAAU,CAAC,QAAQ,IAAI;AAC9B,IAAI;AACJ,GAAG,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB;AACnF,GAAG,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,IAAI,QAAQ,CAAC;AAC/D,GAAG;AACH,EAAE,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;AAC5F,EAAE,OAAO;AACT,GAAG,SAAS,EAAE,IAAI;AAClB,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,YAAY,EAAE,MAAM,CAAC,KAAK;AAC7B,GAAG,iBAAiB,EAAE,MAAM,CAAC,WAAW;AACxC,GAAG,aAAa,EAAE,OAAO,CAAC,OAAO;AACjC,GAAG,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;AAClG,GAAG,kBAAkB,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC;AACxE,GAAG,KAAK,EAAE;AACV,IAAI,KAAK,EAAE,KAAK,CAAC,MAAM;AACvB,IAAI,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;AACtD,IAAI,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM;AACxD,IAAI,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9C;AACA,GAAG;AACH,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO;AACT,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,KAAK,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,sCAAsC;AACzF,GAAG,SAAS,EAAE,EAAE;AAChB,GAAG,aAAa,EAAE,EAAE;AACpB,GAAG,eAAe,EAAE,KAAK;AACzB,GAAG,kBAAkB,EAAE,+CAA+C;AACtE,GAAG,KAAK,EAAE;AACV,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,SAAS,EAAE,CAAC;AAChB,IAAI,UAAU,EAAE,CAAC;AACjB,IAAI,QAAQ,EAAE;AACd;AACA,GAAG;AACH,CAAC;AACD;AACA,eAAe,qBAAqB,GAAG;AACvC,CAAC,IAAI;AACL,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC1G,EAAE,OAAO;AACT,GAAG,SAAS,EAAE,IAAI;AAClB,GAAG,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,GAAG,EAAE;AAC3D,GAAG,IAAI;AACP,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,oCAAoC,EAAE,CAAC,CAAC,CAAC;AAC1G,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG;AACH,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO;AACT,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,SAAS,EAAE;AACd,GAAG;AACH,CAAC;AACD;AACA,SAAS,kBAAkB,GAAG;AAC9B,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,SAAS,oCAAoC,GAAG;AAChD,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;AACA,SAAS,oBAAoB,CAAC,GAAG,OAAO,EAAE;AAC1C,CAAC,IAAI,OAAO,GAAG,EAAE;AACjB,CAAC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;AACtC,EAAE,IAAI,MAAM,EAAE;AACd,GAAG,OAAO,GAAG,MAAM;AACnB,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM;AACtD,EAAE,EAAE;AACJ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI;AACtB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC/D;AACA,SAAS,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;AACvE,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;AAChD,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;AAC1D,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM;AACxF,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;AAC7B,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACjC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;AACvC,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACzC,EAAE,CAAC;AACH,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK;AACpD,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;AAC1C,EAAE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;AAC7D,EAAE,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,UAAU,GAAG;AACrB,GAAG,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;AACtC,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,OAAO;AACnC,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,MAAM;AACvE,GAAG,KAAK;AACR,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI;AACpB,GAAG,KAAK,EAAE,MAAM,CAAC,KAAK;AACtB,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI;AAC9B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,MAAM,GAAG,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AAChG,EAAE,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;AAC7D,EAAE,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC;AACxE,EAAE,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;AAChH,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;AAC/C,EAAE,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AAC3C,EAAE,MAAM,cAAc,GAAG,CAAC,WAAW,GAAG,MAAM,GAAG,cAAc,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ;AACrI,EAAE,OAAO;AACT,GAAG,EAAE,EAAE,UAAU;AACjB,GAAG,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,UAAU;AACxF,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC3F,GAAG,GAAG,EAAE,aAAa,EAAE,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,IAAI,EAAE;AACjF,GAAG,SAAS,EAAE,WAAW;AACzB,GAAG,UAAU,EAAE,OAAO,CAAC,aAAa,IAAI,WAAW,CAAC;AACpD,GAAG,QAAQ,EAAE,CAAC,OAAO;AACrB,GAAG,eAAe,EAAE,OAAO,CAAC,cAAc,CAAC;AAC3C,GAAG,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAAC;AACjD,GAAG,kBAAkB,EAAE,cAAc,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE;AAC7H,GAAG,UAAU,EAAE,MAAM,CAAC,MAAM;AAC5B,GAAG,MAAM;AACT,GAAG,WAAW;AACd,GAAG,cAAc;AACjB,GAAG,OAAO,EAAE;AACZ,IAAI,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;AACzC,IAAI,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC;AAC/C,IAAI,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;AACzC,IAAI,WAAW,EAAE,UAAU,CAAC,WAAW,KAAK,IAAI;AAChD,IAAI,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa;AACpD,IAAI;AACJ,GAAG,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;AAC7D,GAAG,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK;AAC5D,GAAG;AACH,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AAC1B,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC;AACxE,EAAE,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe,EAAE,OAAO,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,CAAC;AAC1F,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,CAAC;AAC3E,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE;AACrE,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;AAC5C,CAAC,CAAC,CAAC;AACH;AACA,SAAS,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE;AACvC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,MAAM;AACxD,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C;AACA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,CAAC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM;AACpF;;;;"}
|
|
1
|
+
{"version":3,"file":"catalog-8d-U0FbY.js","sources":["../../../.svelte-kit/adapter-node/chunks/catalog.js"],"sourcesContent":["import { lt as authJsonPath } from \"./compose-args.js\";\nimport \"./src.js\";\nimport { t as getState } from \"./state.js\";\nimport { a as asStringRecord, i as asStringArray, n as asRecord, r as asString, t as asNumber } from \"./coercion.js\";\nimport { t as opencodeFetch } from \"./http.js\";\nimport { t as getCurrentConfig } from \"./config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/lib/server/opencode/catalog.ts\n/**\n* Provider catalog assembly.\n*\n* Pulls catalog/auth/config/configured-provider data from the OpenCode server\n* (and the on-disk config), merges them, and emits ProviderView records the\n* UI renders directly.\n*/\n/**\n* Map of provider ID → credential type, as found in OpenCode's auth.json.\n* OpenCode's /provider response only reports env-var-detected providers in\n* `connected`; auth.json-stored credentials (API keys + OAuth tokens) are\n* loaded on-demand and don't appear there. We surface them here so the UI\n* can treat them as connected and show the right badge.\n*/\nfunction readAuthedProviders() {\n\tconst out = /* @__PURE__ */ new Map();\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return out;\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tfor (const [id, entry] of Object.entries(data ?? {})) {\n\t\t\tconst type = entry?.type === \"oauth\" ? \"oauth\" : \"api\";\n\t\t\tout.set(id, type);\n\t\t}\n\t} catch {}\n\treturn out;\n}\nasync function loadProviderPage() {\n\ttry {\n\t\tconst [catalog, auth, ocConfig, configured] = await Promise.all([\n\t\t\topencodeFetch(\"/provider\"),\n\t\t\topencodeFetch(\"/provider/auth\"),\n\t\t\topencodeFetch(\"/config\"),\n\t\t\topencodeFetch(\"/config/providers\")\n\t\t]);\n\t\tconst diskConfig = await getCurrentConfig();\n\t\tconst config = {\n\t\t\t...ocConfig,\n\t\t\tprovider: {\n\t\t\t\t...ocConfig.provider ?? {},\n\t\t\t\t...diskConfig.provider ?? {}\n\t\t\t},\n\t\t\tdisabled_providers: diskConfig.disabled_providers ?? ocConfig.disabled_providers,\n\t\t\tenabled_providers: diskConfig.enabled_providers ?? ocConfig.enabled_providers\n\t\t};\n\t\tconst views = buildProviderViews(catalog, auth, config, configured, readAuthedProviders());\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: views,\n\t\t\tcurrentModel: config.model,\n\t\t\tcurrentSmallModel: config.small_model,\n\t\t\tdefaultModels: catalog.default,\n\t\t\tallowlistActive: Array.isArray(config.enabled_providers) && config.enabled_providers.length > 0,\n\t\t\tproviderCountLabel: `${views.length} providers indexed from OpenCode`,\n\t\t\tstats: {\n\t\t\t\ttotal: views.length,\n\t\t\t\tconnected: views.filter((p) => p.connected).length,\n\t\t\t\tconfigured: views.filter((p) => p.configured).length,\n\t\t\t\tdisabled: views.filter((p) => p.disabled).length\n\t\t\t}\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\terror: error instanceof Error ? error.message : \"Unable to reach the OpenCode server.\",\n\t\t\tproviders: [],\n\t\t\tdefaultModels: {},\n\t\t\tallowlistActive: false,\n\t\t\tproviderCountLabel: \"The OpenCode server is currently unavailable.\",\n\t\t\tstats: {\n\t\t\t\ttotal: 0,\n\t\t\t\tconnected: 0,\n\t\t\t\tconfigured: 0,\n\t\t\t\tdisabled: 0\n\t\t\t}\n\t\t};\n\t}\n}\nasync function loadSetupProviderPage() {\n\ttry {\n\t\tconst [catalog, auth] = await Promise.all([opencodeFetch(\"/provider\"), opencodeFetch(\"/provider/auth\")]);\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: Array.isArray(catalog.all) ? catalog.all : [],\n\t\t\tauth,\n\t\t\tconnected: Array.from(new Set([...catalog.connected ?? [], ...readConnectedProviderIdsFromAuthJson()])),\n\t\t\tselectedModels: readSelectedModels()\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t};\n\t}\n}\nfunction readSelectedModels() {\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}\nfunction readConnectedProviderIdsFromAuthJson() {\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}\nfunction extractAndSortModels(...sources) {\n\tlet entries = {};\n\tfor (const source of sources) {\n\t\tconst record = asModelRecord(source);\n\t\tif (record) {\n\t\t\tentries = record;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn Object.entries(entries).map(([id, model]) => ({\n\t\tid,\n\t\tname: model.name ?? id\n\t})).sort((left, right) => left.name.localeCompare(right.name));\n}\nfunction buildProviderViews(catalog, auth, config, configured, authed) {\n\tconst catalogMap = new Map(catalog.all.map((p) => [p.id, p]));\n\tconst envConnected = new Set(catalog.connected);\n\tconst connected = new Set([...envConnected, ...authed.keys()]);\n\tconst disabled = new Set(config.disabled_providers ?? []);\n\tconst allowlist = config.enabled_providers ? new Set(config.enabled_providers) : void 0;\n\tconst configuredMap = new Map(configured.providers.map((p) => [p.id, p]));\n\tconst providerIds = new Set([\n\t\t...catalog.all.map((p) => p.id),\n\t\t...Object.keys(config.provider ?? {}),\n\t\t...configured.providers.map((p) => p.id)\n\t]);\n\treturn Array.from(providerIds).map((providerId) => {\n\t\tconst entry = catalogMap.get(providerId);\n\t\tconst configEntry = asRecord(config.provider?.[providerId]);\n\t\tconst resolvedEntry = configuredMap.get(providerId);\n\t\tconst rawOptions = {\n\t\t\t...asRecord(resolvedEntry?.options),\n\t\t\t...asRecord(configEntry?.options)\n\t\t};\n\t\tconst authMethods = (auth[providerId] ?? []).map((method, index) => ({\n\t\t\tindex,\n\t\t\ttype: method.type,\n\t\t\tlabel: method.label,\n\t\t\tprompts: method.prompts ?? []\n\t\t}));\n\t\tconst models = extractAndSortModels(resolvedEntry?.models, configEntry?.models, entry?.models);\n\t\tconst currentModelId = splitModel(config.model, providerId);\n\t\tconst currentSmallModelId = splitModel(config.small_model, providerId);\n\t\tconst enabled = allowlist ? allowlist.has(providerId) && !disabled.has(providerId) : !disabled.has(providerId);\n\t\tconst isConnected = connected.has(providerId);\n\t\tconst isEnvConnected = envConnected.has(providerId);\n\t\tconst authedType = authed.get(providerId);\n\t\tconst credentialType = !isConnected ? void 0 : isEnvConnected ? \"env\" : authedType ? authedType : configEntry ? \"config\" : \"custom\";\n\t\treturn {\n\t\t\tid: providerId,\n\t\t\tname: resolvedEntry?.name ?? asString(configEntry?.name) ?? entry?.name ?? providerId,\n\t\t\tsource: resolvedEntry?.source ?? (entry ? configEntry ? \"config\" : \"catalog\" : \"custom\"),\n\t\t\tenv: resolvedEntry?.env ?? asStringArray(configEntry?.env) ?? entry?.env ?? [],\n\t\t\tconnected: isConnected,\n\t\t\tconfigured: Boolean(resolvedEntry || configEntry),\n\t\t\tdisabled: !enabled,\n\t\t\tactiveMainModel: Boolean(currentModelId),\n\t\t\tactiveSmallModel: Boolean(currentSmallModelId),\n\t\t\trecommendedModelId: currentModelId ?? configured.default[providerId] ?? catalog.default[providerId] ?? models[0]?.id ?? \"\",\n\t\t\tmodelCount: models.length,\n\t\t\tmodels,\n\t\t\tauthMethods,\n\t\t\tcredentialType,\n\t\t\toptions: {\n\t\t\t\tbaseURL: asString(rawOptions.baseURL),\n\t\t\t\theaders: asStringRecord(rawOptions.headers),\n\t\t\t\ttimeout: asNumber(rawOptions.timeout),\n\t\t\t\tsetCacheKey: rawOptions.setCacheKey === true,\n\t\t\t\tenterpriseUrl: asString(rawOptions.enterpriseUrl)\n\t\t\t},\n\t\t\tsupportsOauth: authMethods.some((m) => m.type === \"oauth\"),\n\t\t\tsupportsApiAuth: authMethods.some((m) => m.type === \"api\")\n\t\t};\n\t}).sort((left, right) => {\n\t\tif (left.connected !== right.connected) return left.connected ? -1 : 1;\n\t\tif (left.activeMainModel !== right.activeMainModel) return left.activeMainModel ? -1 : 1;\n\t\tif (left.configured !== right.configured) return left.configured ? -1 : 1;\n\t\tif (left.disabled !== right.disabled) return left.disabled ? 1 : -1;\n\t\treturn left.name.localeCompare(right.name);\n\t});\n}\nfunction splitModel(model, providerId) {\n\tif (!model?.startsWith(`${providerId}/`)) return void 0;\n\treturn model.slice(providerId.length + 1);\n}\nfunction asModelRecord(value) {\n\treturn value && typeof value === \"object\" && !Array.isArray(value) ? value : void 0;\n}\n//#endregion\nexport { loadSetupProviderPage as n, loadProviderPage as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './exports2-BjzhbhYA.js';
|
|
2
2
|
import './utils-OXHIhUb5.js';
|
|
3
3
|
import { a8 as ssr_context, a0 as run, a2 as setContext, X as noop, E as hasContext, y as getContext, x as getAllContexts, w as getAbortSignal, m as createContext, V as lifecycle_function_unavailable, t as experimental_async_required, B as get_render_context, ac as uneval, I as hydratable_serialization_failed } from './dev-D85DamNs.js';
|
|
4
|
-
import './internal-
|
|
4
|
+
import './internal-CSnzBDeT.js';
|
|
5
5
|
import { a as __exportAll } from './chunk-DOvWTNp_.js';
|
|
6
6
|
|
|
7
7
|
//#region ../../node_modules/.bun/svelte@5.55.9+b050a890ad81aed8/node_modules/svelte/src/internal/server/hydratable.js
|
|
@@ -199,4 +199,4 @@ function goto(url, opts = {}) {
|
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
export { afterNavigate as a, goto as g, onDestroy as o };
|
|
202
|
-
//# sourceMappingURL=client-
|
|
202
|
+
//# sourceMappingURL=client-CHoZA_w9.js.map
|