@openpalm/ui 0.13.0-beta.2 → 0.13.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/.openpalm-ui-version +1 -1
- package/build/client/_app/immutable/assets/{11.BF9IcRAW.css → 11.D7iX4s2y.css} +1 -1
- package/build/client/_app/immutable/assets/11.D7iX4s2y.css.br +0 -0
- package/build/client/_app/immutable/assets/11.D7iX4s2y.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.CNzyzDDZ.css +1 -0
- package/build/client/_app/immutable/assets/7.CNzyzDDZ.css.br +0 -0
- package/build/client/_app/immutable/assets/7.CNzyzDDZ.css.gz +0 -0
- package/build/client/_app/immutable/assets/{9.vqGkbIg9.css → 9.DeeTO7Ju.css} +1 -1
- package/build/client/_app/immutable/assets/9.DeeTO7Ju.css.br +0 -0
- package/build/client/_app/immutable/assets/{9.vqGkbIg9.css.gz → 9.DeeTO7Ju.css.gz} +0 -0
- package/build/client/_app/immutable/chunks/{BoOBAdGl.js → BKLMDjUE.js} +1 -1
- package/build/client/_app/immutable/chunks/BKLMDjUE.js.br +0 -0
- package/build/client/_app/immutable/chunks/BKLMDjUE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BNJvGRjX.js +3 -0
- package/build/client/_app/immutable/chunks/BNJvGRjX.js.br +0 -0
- package/build/client/_app/immutable/chunks/BNJvGRjX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{9mRSvTWj.js → C5iiO0W9.js} +1 -1
- package/build/client/_app/immutable/chunks/C5iiO0W9.js.br +0 -0
- package/build/client/_app/immutable/chunks/C5iiO0W9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C718MJXm.js +5 -0
- 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/{DSs95sLz.js → CBV2kBE1.js} +1 -1
- package/build/client/_app/immutable/chunks/CBV2kBE1.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBV2kBE1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DD22UF1L.js +1 -0
- package/build/client/_app/immutable/chunks/DD22UF1L.js.br +0 -0
- package/build/client/_app/immutable/chunks/DD22UF1L.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BApqEZP1.js → DWtm_qwJ.js} +1 -1
- package/build/client/_app/immutable/chunks/DWtm_qwJ.js.br +0 -0
- package/build/client/_app/immutable/chunks/DWtm_qwJ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ccncQf9O.js +1 -0
- package/build/client/_app/immutable/chunks/ccncQf9O.js.br +2 -0
- package/build/client/_app/immutable/chunks/ccncQf9O.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.DZwy1Y3W.js → app.DAzfwrA7.js} +2 -2
- package/build/client/_app/immutable/entry/app.DAzfwrA7.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DAzfwrA7.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.7FiodlpO.js +1 -0
- package/build/client/_app/immutable/entry/start.7FiodlpO.js.br +1 -0
- package/build/client/_app/immutable/entry/start.7FiodlpO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.Bxihn5f1.js → 1.BYTQ4CJf.js} +1 -1
- package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.br +2 -0
- package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{10.BZ76_WLP.js → 10.CHYaVWP2.js} +1 -1
- package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.DXwuRFxA.js +8 -0
- package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.D-CwW2PH.js → 4.n8OmCUUb.js} +1 -1
- package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.BbStivMI.js → 5.DgnQcqeL.js} +1 -1
- package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.BKVgKxKO.js → 6.RedvZarw.js} +1 -1
- package/build/client/_app/immutable/nodes/6.RedvZarw.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.RedvZarw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BqgE43w1.js +14 -0
- package/build/client/_app/immutable/nodes/7.BqgE43w1.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BqgE43w1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.BdeFVi2a.js → 9.CQfpYNnj.js} +65 -65
- package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CQfpYNnj.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-C7zzjezl.js → 0-CxqNryz-.js} +5 -5
- package/build/server/chunks/{0-C7zzjezl.js.map → 0-CxqNryz-.js.map} +1 -1
- package/build/server/chunks/1-Dxk_eEPL.js +9 -0
- package/build/server/chunks/{1-Ceq9WsUZ.js.map → 1-Dxk_eEPL.js.map} +1 -1
- package/build/server/chunks/{10-DbLLQ-Uy.js → 10-DcTjX0aZ.js} +3 -3
- package/build/server/chunks/{10-DbLLQ-Uy.js.map → 10-DcTjX0aZ.js.map} +1 -1
- package/build/server/chunks/11-Ddav4pvQ.js +9 -0
- package/build/server/chunks/11-Ddav4pvQ.js.map +1 -0
- package/build/server/chunks/{3-CAH3EmhU.js → 3-xtalXCwW.js} +8 -8
- package/build/server/chunks/{3-CAH3EmhU.js.map → 3-xtalXCwW.js.map} +1 -1
- package/build/server/chunks/4-CEASlyNx.js +9 -0
- package/build/server/chunks/{4-DxmFWVQJ.js.map → 4-CEASlyNx.js.map} +1 -1
- package/build/server/chunks/{5-CQ9cELI7.js → 5-3gkFDIAU.js} +3 -3
- package/build/server/chunks/{5-CQ9cELI7.js.map → 5-3gkFDIAU.js.map} +1 -1
- package/build/server/chunks/{6-B-hnmc7F.js → 6-BSR29JnK.js} +3 -3
- package/build/server/chunks/{6-B-hnmc7F.js.map → 6-BSR29JnK.js.map} +1 -1
- package/build/server/chunks/7-gx5m5R1u.js +9 -0
- package/build/server/chunks/{7-BE6BzHsh.js.map → 7-gx5m5R1u.js.map} +1 -1
- package/build/server/chunks/{9-BWzd_hmh.js → 9-BKXk6mfI.js} +7 -7
- package/build/server/chunks/9-BKXk6mfI.js.map +1 -0
- package/build/server/chunks/{ChatNavbar-BonHVqfi.js → ChatNavbar-D2J3UbpW.js} +5 -5
- package/build/server/chunks/{ChatNavbar-BonHVqfi.js.map → ChatNavbar-D2J3UbpW.js.map} +1 -1
- package/build/server/chunks/{IconActivity-BVrMC8FH.js → IconActivity-DrgUhxxi.js} +2 -2
- package/build/server/chunks/{IconActivity-BVrMC8FH.js.map → IconActivity-DrgUhxxi.js.map} +1 -1
- package/build/server/chunks/{IconServer-fOHYHe-O.js → IconServer-jRvjNs7I.js} +2 -2
- package/build/server/chunks/{IconServer-fOHYHe-O.js.map → IconServer-jRvjNs7I.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BWNjxN63.js → _page.svelte--qXsMm-T.js} +23 -10
- package/build/server/chunks/_page.svelte--qXsMm-T.js.map +1 -0
- package/build/server/chunks/{_page.svelte-Bovrn7AQ.js → _page.svelte-BgzOKhmH.js} +4 -4
- package/build/server/chunks/{_page.svelte-Bovrn7AQ.js.map → _page.svelte-BgzOKhmH.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-LsoJ7E5M.js → _page.svelte-BnZ0Fgkw.js} +13 -10
- package/build/server/chunks/_page.svelte-BnZ0Fgkw.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BXeh8wzh.js → _page.svelte-C36XsgXY.js} +146 -13
- package/build/server/chunks/_page.svelte-C36XsgXY.js.map +1 -0
- package/build/server/chunks/{_page.svelte-COf36oAu.js → _page.svelte-Cc-OjlMF.js} +8 -8
- package/build/server/chunks/{_page.svelte-COf36oAu.js.map → _page.svelte-Cc-OjlMF.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DkZsmNYc.js → _page.svelte-DGQP3UIP.js} +3 -3
- package/build/server/chunks/{_page.svelte-DkZsmNYc.js.map → _page.svelte-DGQP3UIP.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-0Rf024eH.js → _page.svelte-DGsMxwfZ.js} +6 -6
- package/build/server/chunks/{_page.svelte-0Rf024eH.js.map → _page.svelte-DGsMxwfZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DTQe-U35.js → _server.ts-0T6OWJc0.js} +8 -8
- package/build/server/chunks/{_server.ts-DTQe-U35.js.map → _server.ts-0T6OWJc0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BeP_sHqj.js → _server.ts-4NsYfdU1.js} +4 -4
- package/build/server/chunks/{_server.ts-BeP_sHqj.js.map → _server.ts-4NsYfdU1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-6mgHZB.js → _server.ts-B-9mLZog.js} +8 -8
- package/build/server/chunks/{_server.ts-D-6mgHZB.js.map → _server.ts-B-9mLZog.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DdocuErM.js → _server.ts-B3MvWwzq.js} +9 -9
- package/build/server/chunks/{_server.ts-DdocuErM.js.map → _server.ts-B3MvWwzq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CjPhaG_g.js → _server.ts-B64JQevs.js} +13 -9
- package/build/server/chunks/_server.ts-B64JQevs.js.map +1 -0
- package/build/server/chunks/{_server.ts-C83FzZfP.js → _server.ts-BEhHNijd.js} +8 -8
- package/build/server/chunks/{_server.ts-C83FzZfP.js.map → _server.ts-BEhHNijd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bi0rRbcw.js → _server.ts-BJqxSP1B.js} +4 -4
- package/build/server/chunks/{_server.ts-Bi0rRbcw.js.map → _server.ts-BJqxSP1B.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DE-c3Y5D.js → _server.ts-BK4NRqMj.js} +9 -9
- package/build/server/chunks/{_server.ts-DE-c3Y5D.js.map → _server.ts-BK4NRqMj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CQHkw9ni.js → _server.ts-BN6ghyoO.js} +8 -8
- package/build/server/chunks/{_server.ts-CQHkw9ni.js.map → _server.ts-BN6ghyoO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dy9l5NMO.js → _server.ts-BNoq5yoF.js} +8 -8
- package/build/server/chunks/{_server.ts-Dy9l5NMO.js.map → _server.ts-BNoq5yoF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C8eCqXP6.js → _server.ts-BRvNe0fS.js} +8 -8
- package/build/server/chunks/{_server.ts-C8eCqXP6.js.map → _server.ts-BRvNe0fS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BVMpHE3G.js → _server.ts-BWcxJLLV.js} +8 -8
- package/build/server/chunks/{_server.ts-BVMpHE3G.js.map → _server.ts-BWcxJLLV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xPuEhFJO.js → _server.ts-B_c9x_NC.js} +9 -9
- package/build/server/chunks/{_server.ts-xPuEhFJO.js.map → _server.ts-B_c9x_NC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D7X0LmkL.js → _server.ts-BbyfVT-W.js} +8 -8
- package/build/server/chunks/{_server.ts-D7X0LmkL.js.map → _server.ts-BbyfVT-W.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DH3Uc_0m.js → _server.ts-Bl1EtTKF.js} +8 -8
- package/build/server/chunks/{_server.ts-DH3Uc_0m.js.map → _server.ts-Bl1EtTKF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CcoaYeM8.js → _server.ts-Bm2nv-W4.js} +8 -8
- package/build/server/chunks/{_server.ts-CcoaYeM8.js.map → _server.ts-Bm2nv-W4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C9F005zM.js → _server.ts-BrwSj7L5.js} +8 -8
- package/build/server/chunks/{_server.ts-C9F005zM.js.map → _server.ts-BrwSj7L5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BARmSEZ2.js → _server.ts-BuGFzejC.js} +8 -8
- package/build/server/chunks/{_server.ts-BARmSEZ2.js.map → _server.ts-BuGFzejC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-2-50j5S8.js → _server.ts-BvOQbLFG.js} +8 -8
- package/build/server/chunks/{_server.ts-2-50j5S8.js.map → _server.ts-BvOQbLFG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DdoJFQaX.js → _server.ts-Bvb6lo7O.js} +10 -10
- package/build/server/chunks/{_server.ts-DdoJFQaX.js.map → _server.ts-Bvb6lo7O.js.map} +1 -1
- package/build/server/chunks/{_server.ts-JO0zy17P.js → _server.ts-C0rcwOPL.js} +19 -12
- package/build/server/chunks/_server.ts-C0rcwOPL.js.map +1 -0
- package/build/server/chunks/{_server.ts-COcv1puW.js → _server.ts-C2qIUpva.js} +9 -9
- package/build/server/chunks/{_server.ts-COcv1puW.js.map → _server.ts-C2qIUpva.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dl-Rn5Ku.js → _server.ts-C31rtz7B.js} +8 -8
- package/build/server/chunks/{_server.ts-Dl-Rn5Ku.js.map → _server.ts-C31rtz7B.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BsPu8Fny.js → _server.ts-C6GZY_v3.js} +8 -8
- package/build/server/chunks/{_server.ts-BsPu8Fny.js.map → _server.ts-C6GZY_v3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-2Z0JYuCr.js → _server.ts-C6r0d7SR.js} +8 -8
- package/build/server/chunks/{_server.ts-2Z0JYuCr.js.map → _server.ts-C6r0d7SR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-6EuPIrt7.js → _server.ts-C900vqOm.js} +8 -8
- package/build/server/chunks/{_server.ts-6EuPIrt7.js.map → _server.ts-C900vqOm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ddqhnr_7.js → _server.ts-CCdP5Eqx.js} +8 -8
- package/build/server/chunks/{_server.ts-Ddqhnr_7.js.map → _server.ts-CCdP5Eqx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BEaiuN8Q.js → _server.ts-CDJ7WouZ.js} +8 -8
- package/build/server/chunks/{_server.ts-BEaiuN8Q.js.map → _server.ts-CDJ7WouZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-LokXM9hH.js → _server.ts-CFNNoZVF.js} +8 -8
- package/build/server/chunks/{_server.ts-LokXM9hH.js.map → _server.ts-CFNNoZVF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BjjicBDy.js → _server.ts-CGE7AyDg.js} +8 -8
- package/build/server/chunks/{_server.ts-BjjicBDy.js.map → _server.ts-CGE7AyDg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C-tvKaFE.js → _server.ts-CGggA6h4.js} +8 -8
- package/build/server/chunks/{_server.ts-C-tvKaFE.js.map → _server.ts-CGggA6h4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CCmsGl_u.js → _server.ts-CIReEz3d.js} +8 -8
- package/build/server/chunks/{_server.ts-CCmsGl_u.js.map → _server.ts-CIReEz3d.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DJqSQny9.js → _server.ts-CMO7LL0e.js} +4 -4
- package/build/server/chunks/{_server.ts-DJqSQny9.js.map → _server.ts-CMO7LL0e.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D6wuFDe4.js → _server.ts-CPYtZ7sE.js} +16 -10
- package/build/server/chunks/_server.ts-CPYtZ7sE.js.map +1 -0
- package/build/server/chunks/{_server.ts-DdHx6Xig.js → _server.ts-CR85H0KR.js} +8 -8
- package/build/server/chunks/{_server.ts-DdHx6Xig.js.map → _server.ts-CR85H0KR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DsVbuYhj.js → _server.ts-CRvbt_Ny.js} +9 -9
- package/build/server/chunks/{_server.ts-DsVbuYhj.js.map → _server.ts-CRvbt_Ny.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BTPbwN92.js → _server.ts-CS8n28qm.js} +8 -8
- package/build/server/chunks/{_server.ts-BTPbwN92.js.map → _server.ts-CS8n28qm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BA11l9Z1.js → _server.ts-CWYonOeQ.js} +8 -8
- package/build/server/chunks/{_server.ts-BA11l9Z1.js.map → _server.ts-CWYonOeQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CfuLncMW.js → _server.ts-CZ83fA4I.js} +8 -8
- package/build/server/chunks/{_server.ts-CfuLncMW.js.map → _server.ts-CZ83fA4I.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BUDMOZOz.js → _server.ts-Cfm_KDhO.js} +9 -9
- package/build/server/chunks/{_server.ts-BUDMOZOz.js.map → _server.ts-Cfm_KDhO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-42ZGRWhn.js → _server.ts-CiBxLSg4.js} +8 -8
- package/build/server/chunks/{_server.ts-42ZGRWhn.js.map → _server.ts-CiBxLSg4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D9yQyMbZ.js → _server.ts-ClrrzZI6.js} +8 -8
- package/build/server/chunks/{_server.ts-D9yQyMbZ.js.map → _server.ts-ClrrzZI6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BKWx8K8U.js → _server.ts-Cm3uzCwu.js} +16 -10
- package/build/server/chunks/_server.ts-Cm3uzCwu.js.map +1 -0
- package/build/server/chunks/{_server.ts-Dcf84tjG.js → _server.ts-Co4yATq8.js} +4 -4
- package/build/server/chunks/{_server.ts-Dcf84tjG.js.map → _server.ts-Co4yATq8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-pRYFJihh.js → _server.ts-CqX61boo.js} +9 -9
- package/build/server/chunks/{_server.ts-pRYFJihh.js.map → _server.ts-CqX61boo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DKYXeaKr.js → _server.ts-CsP1RzbQ.js} +8 -8
- package/build/server/chunks/{_server.ts-DKYXeaKr.js.map → _server.ts-CsP1RzbQ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dy65kWxL.js → _server.ts-CtcAZ3lM.js} +9 -9
- package/build/server/chunks/{_server.ts-Dy65kWxL.js.map → _server.ts-CtcAZ3lM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGZizh2V.js → _server.ts-D-Vv5Qkp.js} +8 -8
- package/build/server/chunks/{_server.ts-CGZizh2V.js.map → _server.ts-D-Vv5Qkp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BLn_cTkK.js → _server.ts-D0EyuOqv.js} +8 -8
- package/build/server/chunks/{_server.ts-BLn_cTkK.js.map → _server.ts-D0EyuOqv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BR24J2uB.js → _server.ts-D2-CHx_d.js} +9 -9
- package/build/server/chunks/{_server.ts-BR24J2uB.js.map → _server.ts-D2-CHx_d.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DH343hlx.js → _server.ts-D3skirMd.js} +9 -9
- package/build/server/chunks/{_server.ts-DH343hlx.js.map → _server.ts-D3skirMd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BjD0Uf0U.js → _server.ts-D5Xa36tp.js} +8 -8
- package/build/server/chunks/{_server.ts-BjD0Uf0U.js.map → _server.ts-D5Xa36tp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DnczK3Pw.js → _server.ts-D8iJaYan.js} +6 -6
- package/build/server/chunks/{_server.ts-DnczK3Pw.js.map → _server.ts-D8iJaYan.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D5F-pzp2.js → _server.ts-DD4ouya8.js} +8 -8
- package/build/server/chunks/{_server.ts-D5F-pzp2.js.map → _server.ts-DD4ouya8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CIv0zM75.js → _server.ts-DHjMyNwJ.js} +9 -9
- package/build/server/chunks/{_server.ts-CIv0zM75.js.map → _server.ts-DHjMyNwJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BhAp0vvt.js → _server.ts-DM8N7von.js} +8 -8
- package/build/server/chunks/{_server.ts-BhAp0vvt.js.map → _server.ts-DM8N7von.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BJv74_DI.js → _server.ts-DNVQMHzn.js} +8 -8
- package/build/server/chunks/{_server.ts-BJv74_DI.js.map → _server.ts-DNVQMHzn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CX_CwTW0.js → _server.ts-DObIzyoT.js} +5 -5
- package/build/server/chunks/{_server.ts-CX_CwTW0.js.map → _server.ts-DObIzyoT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CMAepV0J.js → _server.ts-DPfGAMG4.js} +8 -8
- package/build/server/chunks/{_server.ts-CMAepV0J.js.map → _server.ts-DPfGAMG4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ds62LEMU.js → _server.ts-D_93w1gb.js} +10 -10
- package/build/server/chunks/{_server.ts-Ds62LEMU.js.map → _server.ts-D_93w1gb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CmUo0zla.js → _server.ts-DebCCwjH.js} +9 -9
- package/build/server/chunks/_server.ts-DebCCwjH.js.map +1 -0
- package/build/server/chunks/_server.ts-DjAGbGD-.js +964 -0
- package/build/server/chunks/_server.ts-DjAGbGD-.js.map +1 -0
- package/build/server/chunks/{_server.ts-DrGzrygC.js → _server.ts-DmNziNap.js} +9 -9
- package/build/server/chunks/{_server.ts-DrGzrygC.js.map → _server.ts-DmNziNap.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CJVwtNhA.js → _server.ts-DrxBKPKB.js} +4 -4
- package/build/server/chunks/{_server.ts-CJVwtNhA.js.map → _server.ts-DrxBKPKB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BJrYBXpY.js → _server.ts-DuOVzmV5.js} +8 -8
- package/build/server/chunks/{_server.ts-BJrYBXpY.js.map → _server.ts-DuOVzmV5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-6muCM4Nz.js → _server.ts-Ey4BEvRd.js} +9 -9
- package/build/server/chunks/{_server.ts-6muCM4Nz.js.map → _server.ts-Ey4BEvRd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dj6nwJgl.js → _server.ts-KHK30kUK.js} +11 -11
- package/build/server/chunks/{_server.ts-Dj6nwJgl.js.map → _server.ts-KHK30kUK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CnQ4hgIT.js → _server.ts-Kp3wrrbF.js} +9 -9
- package/build/server/chunks/{_server.ts-CnQ4hgIT.js.map → _server.ts-Kp3wrrbF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-Rf8If2.js → _server.ts-LHKCcBS1.js} +12 -10
- package/build/server/chunks/_server.ts-LHKCcBS1.js.map +1 -0
- package/build/server/chunks/{_server.ts-DQozxLn6.js → _server.ts-MZYYoM8z.js} +8 -8
- package/build/server/chunks/{_server.ts-DQozxLn6.js.map → _server.ts-MZYYoM8z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CnrWBkQ7.js → _server.ts-QSEYZqU0.js} +11 -9
- package/build/server/chunks/_server.ts-QSEYZqU0.js.map +1 -0
- package/build/server/chunks/{_server.ts-CspCDw2x.js → _server.ts-Sx6mXrwK.js} +8 -8
- package/build/server/chunks/{_server.ts-CspCDw2x.js.map → _server.ts-Sx6mXrwK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CS2LQKMb.js → _server.ts-SxcH-cms.js} +9 -9
- package/build/server/chunks/{_server.ts-CS2LQKMb.js.map → _server.ts-SxcH-cms.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dq4RvC5F.js → _server.ts-TTSjZaYY.js} +8 -8
- package/build/server/chunks/{_server.ts-Dq4RvC5F.js.map → _server.ts-TTSjZaYY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DHeSwA7p.js → _server.ts-V6a8P9IB.js} +8 -8
- package/build/server/chunks/{_server.ts-DHeSwA7p.js.map → _server.ts-V6a8P9IB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B28SfXaZ.js → _server.ts-XEVuthfs.js} +8 -8
- package/build/server/chunks/{_server.ts-B28SfXaZ.js.map → _server.ts-XEVuthfs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BRdjsMSd.js → _server.ts-eF4CAfpP.js} +8 -8
- package/build/server/chunks/{_server.ts-BRdjsMSd.js.map → _server.ts-eF4CAfpP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CG60Cdqf.js → _server.ts-eov7yZvT.js} +10 -10
- package/build/server/chunks/{_server.ts-CG60Cdqf.js.map → _server.ts-eov7yZvT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D7VWMcNm.js → _server.ts-jB_3zRrF.js} +9 -9
- package/build/server/chunks/{_server.ts-D7VWMcNm.js.map → _server.ts-jB_3zRrF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ba8xSIQn.js → _server.ts-p16c9Uzl.js} +8 -8
- package/build/server/chunks/{_server.ts-Ba8xSIQn.js.map → _server.ts-p16c9Uzl.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DJCIu42O.js → _server.ts-p4v6noBK.js} +6 -6
- package/build/server/chunks/{_server.ts-DJCIu42O.js.map → _server.ts-p4v6noBK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BWO1Eoro.js → _server.ts-qgPpNGL8.js} +8 -8
- package/build/server/chunks/{_server.ts-BWO1Eoro.js.map → _server.ts-qgPpNGL8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DM9EsKQc.js → _server.ts-sdkTYy6A.js} +8 -8
- package/build/server/chunks/{_server.ts-DM9EsKQc.js.map → _server.ts-sdkTYy6A.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BBewn2kP.js → _server.ts-st_pTUHI.js} +8 -8
- package/build/server/chunks/{_server.ts-BBewn2kP.js.map → _server.ts-st_pTUHI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BA7wxHYg.js → _server.ts-yWyCj-R5.js} +8 -8
- package/build/server/chunks/{_server.ts-BA7wxHYg.js.map → _server.ts-yWyCj-R5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CncBUb14.js → _server.ts-zDEENUSw.js} +8 -8
- package/build/server/chunks/{_server.ts-CncBUb14.js.map → _server.ts-zDEENUSw.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-Cgg8lPxe.js → addon-helpers-TpOYibOg.js} +3 -3
- package/build/server/chunks/{addon-helpers-Cgg8lPxe.js.map → addon-helpers-TpOYibOg.js.map} +1 -1
- package/build/server/chunks/{akm-5HN45xWY.js → akm-Bvt9WaTk.js} +3 -3
- package/build/server/chunks/{akm-5HN45xWY.js.map → akm-Bvt9WaTk.js.map} +1 -1
- package/build/server/chunks/{catalog-7z8dgrJF.js → catalog-w0L1ZRPK.js} +5 -5
- package/build/server/chunks/{catalog-7z8dgrJF.js.map → catalog-w0L1ZRPK.js.map} +1 -1
- package/build/server/chunks/chunk-DOvWTNp_.js +37 -0
- package/build/server/chunks/chunk-DOvWTNp_.js.map +1 -0
- package/build/server/chunks/{client-D2lMniPd.js → client-ClRLlB_c.js} +3 -3
- package/build/server/chunks/{client-D2lMniPd.js.map → client-ClRLlB_c.js.map} +1 -1
- package/build/server/chunks/{compose-args2-BFdWixAZ.js → compose-args2-DiDeQtPu.js} +4 -4
- package/build/server/chunks/compose-args2-DiDeQtPu.js.map +1 -0
- package/build/server/chunks/{config-I5hb-W80.js → config-Jiy06DlE.js} +2 -2
- package/build/server/chunks/{config-I5hb-W80.js.map → config-Jiy06DlE.js.map} +1 -1
- package/build/server/chunks/{connections-api-NkotVLIl.js → connections-api-J-nrQ1KK.js} +2 -2
- package/build/server/chunks/{connections-api-NkotVLIl.js.map → connections-api-J-nrQ1KK.js.map} +1 -1
- package/build/server/chunks/{constants-B7J5DDaI.js → constants-1vPYIIwP.js} +2 -2
- package/build/server/chunks/{constants-B7J5DDaI.js.map → constants-1vPYIIwP.js.map} +1 -1
- package/build/server/chunks/{docker2-HZnACjh6.js → docker2-oBEn_Si9.js} +4 -4
- package/build/server/chunks/docker2-oBEn_Si9.js.map +1 -0
- package/build/server/chunks/{docker3-Dj9Pc_Pt.js → docker3-Dn-Mm2cT.js} +2 -2
- package/build/server/chunks/{docker3-Dj9Pc_Pt.js.map → docker3-Dn-Mm2cT.js.map} +1 -1
- package/build/server/chunks/{endpoints-B9ePqrMw.js → endpoints-WTxemTcn.js} +87 -12
- package/build/server/chunks/endpoints-WTxemTcn.js.map +1 -0
- package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
- package/build/server/chunks/{error.svelte-DGngrZ2V.js → error.svelte-C2CWdm9K.js} +5 -5
- package/build/server/chunks/{error.svelte-DGngrZ2V.js.map → error.svelte-C2CWdm9K.js.map} +1 -1
- package/build/server/chunks/{features-0lgyQreD.js → features-BE2x1a_a.js} +5 -3
- package/build/server/chunks/features-BE2x1a_a.js.map +1 -0
- package/build/server/chunks/{helpers-q4Ng8QTq.js → helpers-CfpNg3il.js} +15 -10
- package/build/server/chunks/helpers-CfpNg3il.js.map +1 -0
- package/build/server/chunks/{hooks.server-BTXqUhpH.js → hooks.server-DEVjSu3V.js} +18 -22
- package/build/server/chunks/hooks.server-DEVjSu3V.js.map +1 -0
- package/build/server/chunks/{http-jBNJXVHg.js → http-WP5cji9-.js} +3 -6
- package/build/server/chunks/http-WP5cji9-.js.map +1 -0
- package/build/server/chunks/{internal-G-Uk-kCA.js → internal-D9Kp0SbJ.js} +3 -3
- package/build/server/chunks/{internal-G-Uk-kCA.js.map → internal-D9Kp0SbJ.js.map} +1 -1
- package/build/server/chunks/{landing-BR5KUuDz.js → landing-DKXNel0Q.js} +5 -5
- package/build/server/chunks/{landing-BR5KUuDz.js.map → landing-DKXNel0Q.js.map} +1 -1
- package/build/server/chunks/network-preset-CJ1RRnki.js +431 -0
- package/build/server/chunks/network-preset-CJ1RRnki.js.map +1 -0
- package/build/server/chunks/{paths-tzRSDsKc.js → paths-DRVrMQrI.js} +2 -2
- package/build/server/chunks/{paths-tzRSDsKc.js.map → paths-DRVrMQrI.js.map} +1 -1
- package/build/server/chunks/{session-cookie-qHDuQboc.js → session-cookie-CDynAOx3.js} +2 -2
- package/build/server/chunks/{session-cookie-qHDuQboc.js.map → session-cookie-CDynAOx3.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-DleJTifu.js → setup-deploy-CRW2KpZR.js} +2 -2
- package/build/server/chunks/{setup-deploy-DleJTifu.js.map → setup-deploy-CRW2KpZR.js.map} +1 -1
- package/build/server/chunks/{src-BwQUi60U.js → src-CQ2F7hgb.js} +2621 -157
- package/build/server/chunks/src-CQ2F7hgb.js.map +1 -0
- package/build/server/chunks/{state-Dm7U51xT.js → state-CsIDHNPN.js} +2 -2
- package/build/server/chunks/{state-Dm7U51xT.js.map → state-CsIDHNPN.js.map} +1 -1
- package/build/server/chunks/{state2-BhKHITEo.js → state2-jnbE3tAu.js} +2 -2
- package/build/server/chunks/{state2-BhKHITEo.js.map → state2-jnbE3tAu.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/build/server/manifest.js +103 -96
- package/build/server/manifest.js.map +1 -1
- package/package.json +4 -3
- package/build/client/_app/immutable/assets/11.BF9IcRAW.css.br +0 -0
- package/build/client/_app/immutable/assets/11.BF9IcRAW.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.CEu3B1cr.css +0 -1
- package/build/client/_app/immutable/assets/7.CEu3B1cr.css.br +0 -0
- package/build/client/_app/immutable/assets/7.CEu3B1cr.css.gz +0 -0
- package/build/client/_app/immutable/assets/9.vqGkbIg9.css.br +0 -0
- package/build/client/_app/immutable/chunks/9mRSvTWj.js.br +0 -0
- package/build/client/_app/immutable/chunks/9mRSvTWj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BApqEZP1.js.br +0 -0
- package/build/client/_app/immutable/chunks/BApqEZP1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B_Sgy7qx.js +0 -1
- package/build/client/_app/immutable/chunks/B_Sgy7qx.js.br +0 -2
- package/build/client/_app/immutable/chunks/B_Sgy7qx.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B_jhBV5Z.js +0 -5
- package/build/client/_app/immutable/chunks/B_jhBV5Z.js.br +0 -0
- package/build/client/_app/immutable/chunks/B_jhBV5Z.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Be7qat4r.js +0 -3
- package/build/client/_app/immutable/chunks/Be7qat4r.js.br +0 -0
- package/build/client/_app/immutable/chunks/Be7qat4r.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BoOBAdGl.js.br +0 -0
- package/build/client/_app/immutable/chunks/BoOBAdGl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DSs95sLz.js.br +0 -0
- package/build/client/_app/immutable/chunks/DSs95sLz.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DZwy1Y3W.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DZwy1Y3W.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.C0ic7Ewp.js +0 -1
- package/build/client/_app/immutable/entry/start.C0ic7Ewp.js.br +0 -1
- package/build/client/_app/immutable/entry/start.C0ic7Ewp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.Bxihn5f1.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.Bxihn5f1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.BZ76_WLP.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.BZ76_WLP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.Bzf3G5G0.js +0 -6
- package/build/client/_app/immutable/nodes/11.Bzf3G5G0.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.Bzf3G5G0.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.D-CwW2PH.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.D-CwW2PH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BbStivMI.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BbStivMI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BKVgKxKO.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BKVgKxKO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.DuXt155R.js +0 -4
- package/build/client/_app/immutable/nodes/7.DuXt155R.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DuXt155R.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.BdeFVi2a.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BdeFVi2a.js.gz +0 -0
- package/build/server/chunks/1-Ceq9WsUZ.js +0 -9
- package/build/server/chunks/11-Dryt5Piv.js +0 -9
- package/build/server/chunks/11-Dryt5Piv.js.map +0 -1
- package/build/server/chunks/4-DxmFWVQJ.js +0 -9
- package/build/server/chunks/7-BE6BzHsh.js +0 -9
- package/build/server/chunks/9-BWzd_hmh.js.map +0 -1
- package/build/server/chunks/_page.svelte-BWNjxN63.js.map +0 -1
- package/build/server/chunks/_page.svelte-BXeh8wzh.js.map +0 -1
- package/build/server/chunks/_page.svelte-LsoJ7E5M.js.map +0 -1
- package/build/server/chunks/_server.ts-BKWx8K8U.js.map +0 -1
- package/build/server/chunks/_server.ts-CjPhaG_g.js.map +0 -1
- package/build/server/chunks/_server.ts-CmUo0zla.js.map +0 -1
- package/build/server/chunks/_server.ts-CnrWBkQ7.js.map +0 -1
- package/build/server/chunks/_server.ts-D-Rf8If2.js.map +0 -1
- package/build/server/chunks/_server.ts-D6wuFDe4.js.map +0 -1
- package/build/server/chunks/_server.ts-JO0zy17P.js.map +0 -1
- package/build/server/chunks/chunk-CLZ62Ad-.js +0 -18
- package/build/server/chunks/chunk-CLZ62Ad-.js.map +0 -1
- package/build/server/chunks/compose-args2-BFdWixAZ.js.map +0 -1
- package/build/server/chunks/docker2-HZnACjh6.js.map +0 -1
- package/build/server/chunks/endpoints-B9ePqrMw.js.map +0 -1
- package/build/server/chunks/features-0lgyQreD.js.map +0 -1
- package/build/server/chunks/helpers-q4Ng8QTq.js.map +0 -1
- package/build/server/chunks/hooks.server-BTXqUhpH.js.map +0 -1
- package/build/server/chunks/http-jBNJXVHg.js.map +0 -1
- package/build/server/chunks/provider-constants-1s1k8kbj.js +0 -68
- package/build/server/chunks/provider-constants-1s1k8kbj.js.map +0 -1
- package/build/server/chunks/src-BwQUi60U.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants-B7J5DDaI.js","sources":["../../../.svelte-kit/adapter-node/chunks/constants.js"],"sourcesContent":["import \"./provider-constants.js\";\n//#region src/lib/client/constants.ts\nvar PROVIDERS = [\n\t{\n\t\tid: \"ollama\",\n\t\tname: \"Ollama\",\n\t\tkind: \"local\",\n\t\tgroup: \"recommended\",\n\t\torder: 1,\n\t\ticon: \"🦙\",\n\t\tdesc: \"Run open models on your hardware\",\n\t\tneedsKey: false,\n\t\tplaceholder: \"\",\n\t\tbaseUrl: \"http://localhost:11434\",\n\t\tllmModel: \"llama3.2\",\n\t\tembModel: \"nomic-embed-text\",\n\t\tembDims: 768,\n\t\tcanDetect: true\n\t},\n\t{\n\t\tid: \"huggingface\",\n\t\tname: \"Hugging Face\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"recommended\",\n\t\torder: 2,\n\t\ticon: \"🤗\",\n\t\tdesc: \"10,000+ open models via Inference Providers\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"hf_...\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tllmModel: \"Qwen/Qwen3-32B\",\n\t\tembModel: \"intfloat/multilingual-e5-large\",\n\t\tembDims: 1024,\n\t\tkeyPrefix: \"hf_\"\n\t},\n\t{\n\t\tid: \"openai\",\n\t\tname: \"OpenAI\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"recommended\",\n\t\torder: 3,\n\t\ticon: \"◐\",\n\t\tdesc: \"GPT and o-series reasoning models\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"sk-...\",\n\t\tbaseUrl: \"https://api.openai.com\",\n\t\tllmModel: \"gpt-4o\",\n\t\tembModel: \"text-embedding-3-small\",\n\t\tembDims: 1536\n\t},\n\t{\n\t\tid: \"google\",\n\t\tname: \"Google\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"recommended\",\n\t\torder: 4,\n\t\ticon: \"◆\",\n\t\tdesc: \"Gemini models with large context\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"AIza...\",\n\t\tbaseUrl: \"https://generativelanguage.googleapis.com\",\n\t\tllmModel: \"gemini-2.5-flash\",\n\t\tembModel: \"\",\n\t\tembDims: 0,\n\t\tkeyPrefix: \"AI\"\n\t},\n\t{\n\t\tid: \"model-runner\",\n\t\tname: \"Docker Model Runner\",\n\t\tkind: \"local\",\n\t\tgroup: \"local\",\n\t\torder: 1,\n\t\ticon: \"🐳\",\n\t\tdesc: \"Docker-managed model runtime\",\n\t\tneedsKey: false,\n\t\tplaceholder: \"\",\n\t\tbaseUrl: \"http://localhost:12434\",\n\t\tllmModel: \"ai/llama3.2\",\n\t\tembModel: \"ai/mxbai-embed-large-v1\",\n\t\tembDims: 1024,\n\t\tcanDetect: true\n\t},\n\t{\n\t\tid: \"lmstudio\",\n\t\tname: \"LM Studio\",\n\t\tkind: \"local\",\n\t\tgroup: \"local\",\n\t\torder: 2,\n\t\ticon: \"🔬\",\n\t\tdesc: \"Desktop app for local inference\",\n\t\tneedsKey: false,\n\t\tplaceholder: \"\",\n\t\tbaseUrl: \"http://localhost:1234\",\n\t\tllmModel: \"loaded-model\",\n\t\tembModel: \"\",\n\t\tembDims: 0,\n\t\tcanDetect: true\n\t},\n\t{\n\t\tid: \"groq\",\n\t\tname: \"Groq\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"cloud\",\n\t\torder: 1,\n\t\ticon: \"⚡\",\n\t\tdesc: \"Ultra-fast inference\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"gsk_...\",\n\t\tbaseUrl: \"https://api.groq.com/openai\",\n\t\tllmModel: \"llama-3.3-70b-versatile\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"mistral\",\n\t\tname: \"Mistral\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"cloud\",\n\t\torder: 2,\n\t\ticon: \"◆\",\n\t\tdesc: \"Mistral & Codestral models\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"...\",\n\t\tbaseUrl: \"https://api.mistral.ai\",\n\t\tllmModel: \"mistral-large-latest\",\n\t\tembModel: \"mistral-embed\",\n\t\tembDims: 1024\n\t},\n\t{\n\t\tid: \"together\",\n\t\tname: \"Together AI\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"cloud\",\n\t\torder: 3,\n\t\ticon: \"✦\",\n\t\tdesc: \"Open models at scale\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"...\",\n\t\tbaseUrl: \"https://api.together.xyz\",\n\t\tllmModel: \"meta-llama/Llama-3.3-70B-Instruct-Turbo\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"deepseek\",\n\t\tname: \"DeepSeek\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"advanced\",\n\t\torder: 1,\n\t\ticon: \"◎\",\n\t\tdesc: \"DeepSeek chat & reasoning\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"sk-...\",\n\t\tbaseUrl: \"https://api.deepseek.com\",\n\t\tllmModel: \"deepseek-chat\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"xai\",\n\t\tname: \"xAI (Grok)\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"advanced\",\n\t\torder: 2,\n\t\ticon: \"✦\",\n\t\tdesc: \"Grok models\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"xai-...\",\n\t\tbaseUrl: \"https://api.x.ai\",\n\t\tllmModel: \"grok-2\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"openai-compatible\",\n\t\tname: \"Custom API server\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"advanced\",\n\t\torder: 3,\n\t\ticon: \"~\",\n\t\tdesc: \"Connect any AI server that uses the standard OpenAI API format.\",\n\t\tneedsKey: false,\n\t\tneedsUrl: true,\n\t\toptionalKey: true,\n\t\tplaceholder: \"API key (optional)\",\n\t\tbaseUrl: \"\",\n\t\tllmModel: \"\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t}\n];\nvar HOST_ONLY_LOCAL_PROVIDER_IDS = [\"llamacpp\", \"localai\"];\n/** Provider connIds whose models run on the user's own machine. */\nvar LOCAL_PROVIDER_IDS = new Set([...PROVIDERS.filter((p) => p.kind === \"local\").map((p) => p.id), ...HOST_ONLY_LOCAL_PROVIDER_IDS]);\n/** Curated, human-facing labels for well-known cloud provider connIds. */\nvar FRIENDLY_PROVIDER_NAMES = {\n\topenai: \"ChatGPT (OpenAI)\",\n\tgoogle: \"Gemini (Google)\",\n\t\"github-copilot\": \"GitHub Copilot\",\n\tgroq: \"Groq\",\n\tanthropic: \"Claude (Anthropic)\",\n\tmistral: \"Mistral\",\n\tcohere: \"Cohere\"\n};\n/**\n* Human-facing display name for a provider connId. Prefers a curated friendly\n* name, then (for local runtimes) the caller's `localLabel`, then a name from\n* `extraProviders` (e.g. live OpenCode providers) or the static PROVIDERS\n* catalog, finally falling back to the raw connId.\n*/\nfunction friendlyProviderName(connId, opts = {}) {\n\tif (!connId) return \"\";\n\tconst friendly = FRIENDLY_PROVIDER_NAMES[connId];\n\tif (friendly) return friendly;\n\tif (opts.localLabel && LOCAL_PROVIDER_IDS.has(connId)) return opts.localLabel;\n\tconst dynamic = opts.extraProviders?.find((p) => p.id === connId)?.name;\n\tif (dynamic) return dynamic;\n\treturn PROVIDERS.find((p) => p.id === connId)?.name ?? connId;\n}\n/** Provider IDs excluded from the setup wizard's OAuth provider list. */\nvar WIZARD_EXCLUDED_PROVIDERS = new Set([\"anthropic\"]);\nvar PORTALS = [\n\t{\n\t\tid: \"api\",\n\t\tname: \"API\",\n\t\ticon: \"🔌\",\n\t\tdesc: \"OpenAI-compatible REST API endpoint\",\n\t\tlocked: true\n\t},\n\t{\n\t\tid: \"discord\",\n\t\tname: \"Discord\",\n\t\ticon: \"🎮\",\n\t\tdesc: \"Connect to a Discord server\",\n\t\tcredentials: [{\n\t\t\tkey: \"botToken\",\n\t\t\tlabel: \"Bot Token\",\n\t\t\tplaceholder: \"Paste Discord bot token\",\n\t\t\trequired: true\n\t\t}, {\n\t\t\tkey: \"applicationId\",\n\t\t\tlabel: \"Application ID\",\n\t\t\tplaceholder: \"Discord application ID\",\n\t\t\tsecret: false\n\t\t}]\n\t},\n\t{\n\t\tid: \"slack\",\n\t\tname: \"Slack\",\n\t\ticon: \"💼\",\n\t\tdesc: \"Access via Slack bot\",\n\t\tcredentials: [{\n\t\t\tkey: \"slackBotToken\",\n\t\t\tlabel: \"Bot Token\",\n\t\t\tplaceholder: \"xoxb-...\",\n\t\t\trequired: true\n\t\t}, {\n\t\t\tkey: \"slackAppToken\",\n\t\t\tlabel: \"App Token\",\n\t\t\tplaceholder: \"xapp-...\",\n\t\t\trequired: true\n\t\t}]\n\t}\n];\nvar LOCAL_PROVIDERS = [\n\t{\n\t\tid: \"ollama\",\n\t\tname: \"Ollama\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"http://localhost:11434\"\n\t},\n\t{\n\t\tid: \"model-runner\",\n\t\tname: \"Docker Model Runner\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"http://localhost:12434\"\n\t},\n\t{\n\t\tid: \"lmstudio\",\n\t\tname: \"LM Studio\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"http://localhost:1234\"\n\t},\n\t{\n\t\tid: \"openai-compatible\",\n\t\tname: \"Custom API server\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"\"\n\t}\n];\n//#endregion\nexport { PROVIDERS as a, PORTALS as i, LOCAL_PROVIDERS as n, WIZARD_EXCLUDED_PROVIDERS as o, LOCAL_PROVIDER_IDS as r, friendlyProviderName as s, FRIENDLY_PROVIDER_NAMES as t };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants-1vPYIIwP.js","sources":["../../../.svelte-kit/adapter-node/chunks/constants.js"],"sourcesContent":["import \"./provider-constants.js\";\n//#region src/lib/client/constants.ts\nvar PROVIDERS = [\n\t{\n\t\tid: \"ollama\",\n\t\tname: \"Ollama\",\n\t\tkind: \"local\",\n\t\tgroup: \"recommended\",\n\t\torder: 1,\n\t\ticon: \"🦙\",\n\t\tdesc: \"Run open models on your hardware\",\n\t\tneedsKey: false,\n\t\tplaceholder: \"\",\n\t\tbaseUrl: \"http://localhost:11434\",\n\t\tllmModel: \"llama3.2\",\n\t\tembModel: \"nomic-embed-text\",\n\t\tembDims: 768,\n\t\tcanDetect: true\n\t},\n\t{\n\t\tid: \"huggingface\",\n\t\tname: \"Hugging Face\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"recommended\",\n\t\torder: 2,\n\t\ticon: \"🤗\",\n\t\tdesc: \"10,000+ open models via Inference Providers\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"hf_...\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tllmModel: \"Qwen/Qwen3-32B\",\n\t\tembModel: \"intfloat/multilingual-e5-large\",\n\t\tembDims: 1024,\n\t\tkeyPrefix: \"hf_\"\n\t},\n\t{\n\t\tid: \"openai\",\n\t\tname: \"OpenAI\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"recommended\",\n\t\torder: 3,\n\t\ticon: \"◐\",\n\t\tdesc: \"GPT and o-series reasoning models\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"sk-...\",\n\t\tbaseUrl: \"https://api.openai.com\",\n\t\tllmModel: \"gpt-4o\",\n\t\tembModel: \"text-embedding-3-small\",\n\t\tembDims: 1536\n\t},\n\t{\n\t\tid: \"google\",\n\t\tname: \"Google\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"recommended\",\n\t\torder: 4,\n\t\ticon: \"◆\",\n\t\tdesc: \"Gemini models with large context\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"AIza...\",\n\t\tbaseUrl: \"https://generativelanguage.googleapis.com\",\n\t\tllmModel: \"gemini-2.5-flash\",\n\t\tembModel: \"\",\n\t\tembDims: 0,\n\t\tkeyPrefix: \"AI\"\n\t},\n\t{\n\t\tid: \"model-runner\",\n\t\tname: \"Docker Model Runner\",\n\t\tkind: \"local\",\n\t\tgroup: \"local\",\n\t\torder: 1,\n\t\ticon: \"🐳\",\n\t\tdesc: \"Docker-managed model runtime\",\n\t\tneedsKey: false,\n\t\tplaceholder: \"\",\n\t\tbaseUrl: \"http://localhost:12434\",\n\t\tllmModel: \"ai/llama3.2\",\n\t\tembModel: \"ai/mxbai-embed-large-v1\",\n\t\tembDims: 1024,\n\t\tcanDetect: true\n\t},\n\t{\n\t\tid: \"lmstudio\",\n\t\tname: \"LM Studio\",\n\t\tkind: \"local\",\n\t\tgroup: \"local\",\n\t\torder: 2,\n\t\ticon: \"🔬\",\n\t\tdesc: \"Desktop app for local inference\",\n\t\tneedsKey: false,\n\t\tplaceholder: \"\",\n\t\tbaseUrl: \"http://localhost:1234\",\n\t\tllmModel: \"loaded-model\",\n\t\tembModel: \"\",\n\t\tembDims: 0,\n\t\tcanDetect: true\n\t},\n\t{\n\t\tid: \"groq\",\n\t\tname: \"Groq\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"cloud\",\n\t\torder: 1,\n\t\ticon: \"⚡\",\n\t\tdesc: \"Ultra-fast inference\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"gsk_...\",\n\t\tbaseUrl: \"https://api.groq.com/openai\",\n\t\tllmModel: \"llama-3.3-70b-versatile\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"mistral\",\n\t\tname: \"Mistral\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"cloud\",\n\t\torder: 2,\n\t\ticon: \"◆\",\n\t\tdesc: \"Mistral & Codestral models\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"...\",\n\t\tbaseUrl: \"https://api.mistral.ai\",\n\t\tllmModel: \"mistral-large-latest\",\n\t\tembModel: \"mistral-embed\",\n\t\tembDims: 1024\n\t},\n\t{\n\t\tid: \"together\",\n\t\tname: \"Together AI\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"cloud\",\n\t\torder: 3,\n\t\ticon: \"✦\",\n\t\tdesc: \"Open models at scale\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"...\",\n\t\tbaseUrl: \"https://api.together.xyz\",\n\t\tllmModel: \"meta-llama/Llama-3.3-70B-Instruct-Turbo\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"deepseek\",\n\t\tname: \"DeepSeek\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"advanced\",\n\t\torder: 1,\n\t\ticon: \"◎\",\n\t\tdesc: \"DeepSeek chat & reasoning\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"sk-...\",\n\t\tbaseUrl: \"https://api.deepseek.com\",\n\t\tllmModel: \"deepseek-chat\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"xai\",\n\t\tname: \"xAI (Grok)\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"advanced\",\n\t\torder: 2,\n\t\ticon: \"✦\",\n\t\tdesc: \"Grok models\",\n\t\tneedsKey: true,\n\t\tplaceholder: \"xai-...\",\n\t\tbaseUrl: \"https://api.x.ai\",\n\t\tllmModel: \"grok-2\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t},\n\t{\n\t\tid: \"openai-compatible\",\n\t\tname: \"Custom API server\",\n\t\tkind: \"cloud\",\n\t\tgroup: \"advanced\",\n\t\torder: 3,\n\t\ticon: \"~\",\n\t\tdesc: \"Connect any AI server that uses the standard OpenAI API format.\",\n\t\tneedsKey: false,\n\t\tneedsUrl: true,\n\t\toptionalKey: true,\n\t\tplaceholder: \"API key (optional)\",\n\t\tbaseUrl: \"\",\n\t\tllmModel: \"\",\n\t\tembModel: \"\",\n\t\tembDims: 0\n\t}\n];\nvar HOST_ONLY_LOCAL_PROVIDER_IDS = [\"llamacpp\", \"localai\"];\n/** Provider connIds whose models run on the user's own machine. */\nvar LOCAL_PROVIDER_IDS = new Set([...PROVIDERS.filter((p) => p.kind === \"local\").map((p) => p.id), ...HOST_ONLY_LOCAL_PROVIDER_IDS]);\n/** Curated, human-facing labels for well-known cloud provider connIds. */\nvar FRIENDLY_PROVIDER_NAMES = {\n\topenai: \"ChatGPT (OpenAI)\",\n\tgoogle: \"Gemini (Google)\",\n\t\"github-copilot\": \"GitHub Copilot\",\n\tgroq: \"Groq\",\n\tanthropic: \"Claude (Anthropic)\",\n\tmistral: \"Mistral\",\n\tcohere: \"Cohere\"\n};\n/**\n* Human-facing display name for a provider connId. Prefers a curated friendly\n* name, then (for local runtimes) the caller's `localLabel`, then a name from\n* `extraProviders` (e.g. live OpenCode providers) or the static PROVIDERS\n* catalog, finally falling back to the raw connId.\n*/\nfunction friendlyProviderName(connId, opts = {}) {\n\tif (!connId) return \"\";\n\tconst friendly = FRIENDLY_PROVIDER_NAMES[connId];\n\tif (friendly) return friendly;\n\tif (opts.localLabel && LOCAL_PROVIDER_IDS.has(connId)) return opts.localLabel;\n\tconst dynamic = opts.extraProviders?.find((p) => p.id === connId)?.name;\n\tif (dynamic) return dynamic;\n\treturn PROVIDERS.find((p) => p.id === connId)?.name ?? connId;\n}\n/** Provider IDs excluded from the setup wizard's OAuth provider list. */\nvar WIZARD_EXCLUDED_PROVIDERS = new Set([\"anthropic\"]);\nvar PORTALS = [\n\t{\n\t\tid: \"api\",\n\t\tname: \"API\",\n\t\ticon: \"🔌\",\n\t\tdesc: \"OpenAI-compatible REST API endpoint\",\n\t\tlocked: true\n\t},\n\t{\n\t\tid: \"discord\",\n\t\tname: \"Discord\",\n\t\ticon: \"🎮\",\n\t\tdesc: \"Connect to a Discord server\",\n\t\tcredentials: [{\n\t\t\tkey: \"botToken\",\n\t\t\tlabel: \"Bot Token\",\n\t\t\tplaceholder: \"Paste Discord bot token\",\n\t\t\trequired: true\n\t\t}, {\n\t\t\tkey: \"applicationId\",\n\t\t\tlabel: \"Application ID\",\n\t\t\tplaceholder: \"Discord application ID\",\n\t\t\tsecret: false\n\t\t}]\n\t},\n\t{\n\t\tid: \"slack\",\n\t\tname: \"Slack\",\n\t\ticon: \"💼\",\n\t\tdesc: \"Access via Slack bot\",\n\t\tcredentials: [{\n\t\t\tkey: \"slackBotToken\",\n\t\t\tlabel: \"Bot Token\",\n\t\t\tplaceholder: \"xoxb-...\",\n\t\t\trequired: true\n\t\t}, {\n\t\t\tkey: \"slackAppToken\",\n\t\t\tlabel: \"App Token\",\n\t\t\tplaceholder: \"xapp-...\",\n\t\t\trequired: true\n\t\t}]\n\t}\n];\nvar LOCAL_PROVIDERS = [\n\t{\n\t\tid: \"ollama\",\n\t\tname: \"Ollama\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"http://localhost:11434\"\n\t},\n\t{\n\t\tid: \"model-runner\",\n\t\tname: \"Docker Model Runner\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"http://localhost:12434\"\n\t},\n\t{\n\t\tid: \"lmstudio\",\n\t\tname: \"LM Studio\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"http://localhost:1234\"\n\t},\n\t{\n\t\tid: \"openai-compatible\",\n\t\tname: \"Custom API server\",\n\t\tenv: [],\n\t\tmodels: {},\n\t\tlocalUrl: \"\"\n\t}\n];\n//#endregion\nexport { PROVIDERS as a, PORTALS as i, LOCAL_PROVIDERS as n, WIZARD_EXCLUDED_PROVIDERS as o, LOCAL_PROVIDER_IDS as r, friendlyProviderName as s, FRIENDLY_PROVIDER_NAMES as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import './
|
|
3
|
-
import './chunk-CLZ62Ad-.js';
|
|
1
|
+
import { u as composeDownProject, N as detectExistingProject, aT as resolveComposeProjectName } from './src-CQ2F7hgb.js';
|
|
2
|
+
import './chunk-DOvWTNp_.js';
|
|
4
3
|
import 'node:module';
|
|
4
|
+
import './network-preset-CJ1RRnki.js';
|
|
5
5
|
import 'node:fs';
|
|
6
6
|
import 'node:child_process';
|
|
7
7
|
import 'node:path';
|
|
@@ -23,4 +23,4 @@ import 'node:fs/promises';
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
export { composeDownProject, detectExistingProject, resolveComposeProjectName };
|
|
26
|
-
//# sourceMappingURL=docker2-
|
|
26
|
+
//# sourceMappingURL=docker2-oBEn_Si9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker2-oBEn_Si9.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { y as composeRestart$1, w as composePreflight, aT as resolveComposeProjectName } from './src-CQ2F7hgb.js';
|
|
2
2
|
|
|
3
3
|
//#region src/lib/server/docker.ts
|
|
4
4
|
async function runPreflight(options) {
|
|
@@ -17,4 +17,4 @@ async function composeRestart(services, options) {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export { composeRestart as c };
|
|
20
|
-
//# sourceMappingURL=docker3-
|
|
20
|
+
//# sourceMappingURL=docker3-Dn-Mm2cT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker3-
|
|
1
|
+
{"version":3,"file":"docker3-Dn-Mm2cT.js","sources":["../../../.svelte-kit/adapter-node/chunks/docker3.js"],"sourcesContent":["import { h as composeRestart$1, j as resolveComposeProjectName, p as composePreflight } from \"./docker.js\";\nimport \"./src.js\";\n//#region src/lib/server/docker.ts\nasync function runPreflight(options) {\n\tif (options.files.length === 0 || process.env.OP_SKIP_COMPOSE_PREFLIGHT) return;\n\tconst result = await composePreflight(options);\n\tif (!result.ok) {\n\t\tconst project = resolveComposeProjectName();\n\t\tconst fileArgs = options.files.map((f) => `-f ${f}`).join(\" \");\n\t\tconst envArgs = (options.envFiles ?? []).map((f) => `--env-file ${f}`).join(\" \");\n\t\tthrow new Error(`Compose preflight failed: ${result.stderr}\\nResolved command: docker compose ${fileArgs} --project-name ${project} ${envArgs} config --quiet`);\n\t}\n}\nasync function composeRestart(services, options) {\n\tawait runPreflight(options);\n\treturn composeRestart$1(services, options);\n}\n//#endregion\nexport { composeRestart as t };\n"],"names":[],"mappings":";;AAEA;AACA,eAAe,YAAY,CAAC,OAAO,EAAE;AACrC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE;AAC1E,CAAC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC;AAC/C,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;AACjB,EAAE,MAAM,OAAO,GAAG,yBAAyB,EAAE;AAC7C,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAChE,EAAE,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAClF,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,0BAA0B,EAAE,MAAM,CAAC,MAAM,CAAC,mCAAmC,EAAE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;AACjK,CAAC;AACD;AACA,eAAe,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;AACjD,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC;AAC5B,CAAC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC3C;;;;"}
|
|
@@ -1,9 +1,39 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { g as getState } from './state-
|
|
1
|
+
import { aD as readStackEnv, aA as readSecret } from './src-CQ2F7hgb.js';
|
|
2
|
+
import { g as getState } from './state-CsIDHNPN.js';
|
|
3
3
|
import { existsSync, readFileSync, mkdirSync, writeFileSync, chmodSync, unlinkSync } from 'node:fs';
|
|
4
4
|
import { dirname } from 'node:path';
|
|
5
5
|
import { randomUUID } from 'node:crypto';
|
|
6
6
|
|
|
7
|
+
//#region src/lib/server/basic-auth.ts
|
|
8
|
+
/**
|
|
9
|
+
* Shared HTTP Basic-auth encoding for host-UI → OpenCode/guardian calls.
|
|
10
|
+
*
|
|
11
|
+
* PR #564 P2-1: every host forwarder MUST send the exact same UTF-8 byte
|
|
12
|
+
* sequence the assistant and guardian expect. Two divergences caused correct
|
|
13
|
+
* passwords to 401 from the host:
|
|
14
|
+
* - `btoa()` is Latin-1-only and throws / corrupts on non-Latin-1 bytes
|
|
15
|
+
* (accents, CJK, emoji). Encode UTF-8 first (matches the guardian's
|
|
16
|
+
* `Buffer.from(..., 'utf-8')`).
|
|
17
|
+
* - the file-backed password was `.trim()`-ed, stripping surrounding spaces,
|
|
18
|
+
* while the assistant entrypoint (`$(cat)`) and the guardian strip only
|
|
19
|
+
* trailing newlines. Use `stripTrailingNewlines` so a password like
|
|
20
|
+
* `"päss 🔒 "` authenticates identically everywhere.
|
|
21
|
+
*/
|
|
22
|
+
/** OpenCode's server default Basic-auth username (the shipped assistant compose never overrides it). */
|
|
23
|
+
var DEFAULT_OPENCODE_USERNAME$1 = "opencode";
|
|
24
|
+
/** UTF-8-safe Basic auth header — identical byte sequence to the guardian's encoder. */
|
|
25
|
+
function basicAuthHeader(username, password) {
|
|
26
|
+
return `Basic ${Buffer.from(`${username}:${password}`, "utf-8").toString("base64")}`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Strip only trailing newlines from a file-backed secret, matching the
|
|
30
|
+
* assistant entrypoint's `$(cat file)` and the guardian's reader. Surrounding
|
|
31
|
+
* spaces/tabs are preserved so the bytes match across every consumer.
|
|
32
|
+
*/
|
|
33
|
+
function stripTrailingNewlines(value) {
|
|
34
|
+
return value.replace(/\n+$/, "");
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
7
37
|
//#region src/lib/server/endpoints.ts
|
|
8
38
|
/**
|
|
9
39
|
* Assistant connections — list of OpenCode servers the UI can target, with
|
|
@@ -35,6 +65,14 @@ function kindOf(entry) {
|
|
|
35
65
|
return entry.kind ?? "remote-opencode";
|
|
36
66
|
}
|
|
37
67
|
var DEFAULT_ID = "default";
|
|
68
|
+
/**
|
|
69
|
+
* OpenCode's server default Basic-auth username. The shipped assistant compose
|
|
70
|
+
* never overrides OPENCODE_SERVER_USERNAME, and the guardian's upstream auth
|
|
71
|
+
* sends `opencode:<password>`, so every host-UI forwarder must default here or
|
|
72
|
+
* a correct password 401s (PR #564 r3566888629). User-added connections may
|
|
73
|
+
* still carry an explicit username.
|
|
74
|
+
*/
|
|
75
|
+
var DEFAULT_OPENCODE_USERNAME = DEFAULT_OPENCODE_USERNAME$1;
|
|
38
76
|
var LOCAL_ELECTRON_ID = "local-electron";
|
|
39
77
|
var remoteStatusCache = null;
|
|
40
78
|
function endpointsPath() {
|
|
@@ -109,7 +147,7 @@ function localEndpoint() {
|
|
|
109
147
|
id: LOCAL_ELECTRON_ID,
|
|
110
148
|
label: "OpenPalm Admin",
|
|
111
149
|
url: normalizeBrowserFacingUrl(rt.url),
|
|
112
|
-
username: rt.username ||
|
|
150
|
+
username: rt.username || DEFAULT_OPENCODE_USERNAME,
|
|
113
151
|
...rt.password ? { password: rt.password } : {},
|
|
114
152
|
kind: "local-opencode",
|
|
115
153
|
isDefault: false,
|
|
@@ -170,8 +208,9 @@ function writeFile(data) {
|
|
|
170
208
|
function defaultEndpoint() {
|
|
171
209
|
const persisted = readStackEnv(getState().homeDir);
|
|
172
210
|
const url = process.env.OP_OPENCODE_URL ?? process.env.OP_ASSISTANT_URL ?? `http://127.0.0.1:${process.env.OP_ASSISTANT_PORT ?? persisted.OP_ASSISTANT_PORT ?? "3800"}`;
|
|
173
|
-
const username = process.env.OPENCODE_SERVER_USERNAME ||
|
|
174
|
-
const
|
|
211
|
+
const username = process.env.OPENCODE_SERVER_USERNAME || DEFAULT_OPENCODE_USERNAME;
|
|
212
|
+
const presetPassword = /^(true|1|yes)$/i.test((persisted.OPENCODE_AUTH ?? process.env.OPENCODE_AUTH ?? "").trim()) ? ((raw) => raw ? stripTrailingNewlines(raw) : void 0)(readSecret(getState().homeDir, "op_opencode_password") ?? void 0) || process.env.OP_OPENCODE_PASSWORD : void 0;
|
|
213
|
+
const password = process.env.OPENCODE_SERVER_PASSWORD || presetPassword || void 0;
|
|
175
214
|
return {
|
|
176
215
|
id: DEFAULT_ID,
|
|
177
216
|
label: "Local Assistant",
|
|
@@ -205,6 +244,10 @@ function validateEndpointUrl(input) {
|
|
|
205
244
|
ok: false,
|
|
206
245
|
reason: "missing_host"
|
|
207
246
|
};
|
|
247
|
+
if (u.search || u.hash) return {
|
|
248
|
+
ok: false,
|
|
249
|
+
reason: "unexpected_query_or_fragment"
|
|
250
|
+
};
|
|
208
251
|
return {
|
|
209
252
|
ok: true,
|
|
210
253
|
url: u.toString().replace(/\/$/, "")
|
|
@@ -271,17 +314,45 @@ function setActiveConnectionId(id) {
|
|
|
271
314
|
writeFile(data);
|
|
272
315
|
return getActiveConnection();
|
|
273
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* User-addable connection kinds (#486 D2). `local-opencode` is reserved for
|
|
319
|
+
* synthesized entries (the env-derived default, the Electron local-runtime
|
|
320
|
+
* entry) and is never accepted from a write path.
|
|
321
|
+
*/
|
|
322
|
+
var USER_ADDABLE_CONNECTION_KINDS = ["remote-opencode", "openpalm-client-api"];
|
|
323
|
+
/**
|
|
324
|
+
* Normalize a guardian ('openpalm-client-api'-kind) connection URL so it
|
|
325
|
+
* always ends in `/oc` — the guardian's direct-ingress base path
|
|
326
|
+
* (#486 D2). Operates on an ALREADY `normalizeEndpointUrl`-ed string (no
|
|
327
|
+
* trailing slash), so only the `/oc` suffix logic is needed here.
|
|
328
|
+
*
|
|
329
|
+
* `packages/client/src/lib/connections/url-policy.ts` carries a deliberate
|
|
330
|
+
* CLIENT-side twin (`normalizeGuardianUrl`) with the same rule — the client
|
|
331
|
+
* artifact may not import host code and vice versa, so this is the same
|
|
332
|
+
* accepted duplication as `validateConnectionUrl`/`validateEndpointUrl`.
|
|
333
|
+
* Both are pinned by their own tests.
|
|
334
|
+
*/
|
|
335
|
+
function normalizeGuardianOcUrl(url) {
|
|
336
|
+
return url.endsWith("/oc") ? url : `${url}/oc`;
|
|
337
|
+
}
|
|
338
|
+
function assertAddableKind(kind) {
|
|
339
|
+
if (kind === void 0) return;
|
|
340
|
+
if (!USER_ADDABLE_CONNECTION_KINDS.includes(kind)) throw new Error("Invalid connection kind");
|
|
341
|
+
}
|
|
274
342
|
function addConnection(input) {
|
|
275
343
|
const label = input.label.trim();
|
|
276
344
|
if (!label) throw new Error("Label is required");
|
|
277
|
-
|
|
345
|
+
let url = normalizeEndpointUrl(input.url);
|
|
278
346
|
if (!url) throw new Error("URL must be a valid http(s) URL");
|
|
347
|
+
assertAddableKind(input.kind);
|
|
348
|
+
if (input.kind === "openpalm-client-api") url = normalizeGuardianOcUrl(url);
|
|
279
349
|
const data = readFile();
|
|
280
350
|
const entry = {
|
|
281
351
|
id: randomUUID(),
|
|
282
352
|
label,
|
|
283
353
|
url,
|
|
284
|
-
...input.password ? { password: input.password } : {}
|
|
354
|
+
...input.password ? { password: input.password } : {},
|
|
355
|
+
...input.kind ? { kind: input.kind } : {}
|
|
285
356
|
};
|
|
286
357
|
data.endpoints.push(entry);
|
|
287
358
|
writeFile(data);
|
|
@@ -290,6 +361,7 @@ function addConnection(input) {
|
|
|
290
361
|
function updateConnection(id, patch) {
|
|
291
362
|
if (id === DEFAULT_ID) throw new Error("Cannot edit the default endpoint");
|
|
292
363
|
if (id === LOCAL_ELECTRON_ID) throw new Error("Cannot edit the local Electron OpenCode entry (it is ephemeral and per-launch)");
|
|
364
|
+
assertAddableKind(patch.kind);
|
|
293
365
|
const data = readFile();
|
|
294
366
|
const idx = data.endpoints.findIndex((e) => e.id === id);
|
|
295
367
|
if (idx === -1) throw new Error(`Endpoint not found: ${id}`);
|
|
@@ -306,6 +378,8 @@ function updateConnection(id, patch) {
|
|
|
306
378
|
}
|
|
307
379
|
if (patch.password === null) delete next.password;
|
|
308
380
|
else if (typeof patch.password === "string") next.password = patch.password;
|
|
381
|
+
if (patch.kind !== void 0) next.kind = patch.kind;
|
|
382
|
+
if (next.kind === "openpalm-client-api") next.url = normalizeGuardianOcUrl(next.url);
|
|
309
383
|
data.endpoints[idx] = next;
|
|
310
384
|
writeFile(data);
|
|
311
385
|
return next;
|
|
@@ -323,11 +397,12 @@ function deleteConnection(id) {
|
|
|
323
397
|
async function probeEndpoint(endpoint) {
|
|
324
398
|
const headers = new Headers();
|
|
325
399
|
if (endpoint.password) {
|
|
326
|
-
const username = endpoint.username ??
|
|
327
|
-
headers.set("authorization",
|
|
400
|
+
const username = endpoint.username ?? DEFAULT_OPENCODE_USERNAME;
|
|
401
|
+
headers.set("authorization", basicAuthHeader(username, endpoint.password));
|
|
328
402
|
}
|
|
403
|
+
const probeUrl = endpoint.kind === "openpalm-client-api" ? `${endpoint.url}/session` : endpoint.url;
|
|
329
404
|
try {
|
|
330
|
-
const response = await fetch(
|
|
405
|
+
const response = await fetch(probeUrl, {
|
|
331
406
|
method: "GET",
|
|
332
407
|
headers,
|
|
333
408
|
redirect: "manual",
|
|
@@ -373,5 +448,5 @@ async function listRemoteStatuses() {
|
|
|
373
448
|
return statuses.map((status) => ({ ...status }));
|
|
374
449
|
}
|
|
375
450
|
|
|
376
|
-
export { addConnection as a,
|
|
377
|
-
//# sourceMappingURL=endpoints-
|
|
451
|
+
export { USER_ADDABLE_CONNECTION_KINDS as U, addConnection as a, basicAuthHeader as b, listRemoteStatuses as c, deleteConnection as d, getActiveConnection as g, listConnections as l, setActiveConnectionId as s, updateConnection as u, validateEndpointUrl as v };
|
|
452
|
+
//# sourceMappingURL=endpoints-WTxemTcn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoints-WTxemTcn.js","sources":["../../../.svelte-kit/adapter-node/chunks/endpoints.js"],"sourcesContent":["import { X as readStackEnv, at as readSecret } from \"./compose-args.js\";\nimport \"./src.js\";\nimport { t as getState } from \"./state.js\";\nimport { chmodSync, existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { randomUUID } from \"node:crypto\";\n//#region src/lib/server/basic-auth.ts\n/**\n* Shared HTTP Basic-auth encoding for host-UI → OpenCode/guardian calls.\n*\n* PR #564 P2-1: every host forwarder MUST send the exact same UTF-8 byte\n* sequence the assistant and guardian expect. Two divergences caused correct\n* passwords to 401 from the host:\n* - `btoa()` is Latin-1-only and throws / corrupts on non-Latin-1 bytes\n* (accents, CJK, emoji). Encode UTF-8 first (matches the guardian's\n* `Buffer.from(..., 'utf-8')`).\n* - the file-backed password was `.trim()`-ed, stripping surrounding spaces,\n* while the assistant entrypoint (`$(cat)`) and the guardian strip only\n* trailing newlines. Use `stripTrailingNewlines` so a password like\n* `\"päss 🔒 \"` authenticates identically everywhere.\n*/\n/** OpenCode's server default Basic-auth username (the shipped assistant compose never overrides it). */\nvar DEFAULT_OPENCODE_USERNAME$1 = \"opencode\";\n/** UTF-8-safe Basic auth header — identical byte sequence to the guardian's encoder. */\nfunction basicAuthHeader(username, password) {\n\treturn `Basic ${Buffer.from(`${username}:${password}`, \"utf-8\").toString(\"base64\")}`;\n}\n/**\n* Strip only trailing newlines from a file-backed secret, matching the\n* assistant entrypoint's `$(cat file)` and the guardian's reader. Surrounding\n* spaces/tabs are preserved so the bytes match across every consumer.\n*/\nfunction stripTrailingNewlines(value) {\n\treturn value.replace(/\\n+$/, \"\");\n}\n//#endregion\n//#region src/lib/server/endpoints.ts\n/**\n* Assistant connections — list of OpenCode servers the UI can target, with\n* one marked active. The internal model uses \"connection\" language (plan\n* ui-runtime-modes-plan.md §6.6, Phase 2 / #486); the on-disk file keeps its\n* historical name and schema keys — `endpoints.json` with\n* `{ activeId, endpoints }` — and is NEVER renamed or migrated.\n*\n* The \"default\" entry is synthesized from environment (OP_OPENCODE_URL /\n* OP_ASSISTANT_URL / OP_ASSISTANT_PORT) and cannot be deleted. User-added\n* connections are persisted to a JSON file in the config directory (it's\n* user-owned configuration, not service state — see Phase 5 / D4 in\n* docs/technical/auth-and-proxy-refactor-plan.md).\n*\n* File: ${configDir}/endpoints.json (mode 0600)\n* Shape: { activeId: string | null, endpoints: ConnectionEntry[] }\n* - activeId === null or \"default\" → use the env-derived default\n* - activeId === \"<id>\" → use the matching user entry (falls back to default if not found)\n*\n* Legacy path: ${dataDir}/admin/endpoints.json. Old installs are\n* migrated lazily on first read by maybeMigrateLegacyEndpointsFile().\n*/\n/**\n* Read-time kind defaulting (plan §6.6): a user-persisted record without a\n* `kind` key is a remote OpenCode connection — that is the only thing the\n* pre-Phase-2 UI let users add. Explicit kinds pass through untouched.\n*/\nfunction kindOf(entry) {\n\treturn entry.kind ?? \"remote-opencode\";\n}\nvar DEFAULT_ID = \"default\";\n/**\n* OpenCode's server default Basic-auth username. The shipped assistant compose\n* never overrides OPENCODE_SERVER_USERNAME, and the guardian's upstream auth\n* sends `opencode:<password>`, so every host-UI forwarder must default here or\n* a correct password 401s (PR #564 r3566888629). User-added connections may\n* still carry an explicit username.\n*/\nvar DEFAULT_OPENCODE_USERNAME = DEFAULT_OPENCODE_USERNAME$1;\nvar LOCAL_ELECTRON_ID = \"local-electron\";\nvar remoteStatusCache = null;\nfunction endpointsPath() {\n\treturn `${getState().configDir}/endpoints.json`;\n}\n/**\n* Legacy path used before Phase 5 of the auth/proxy refactor.\n* See docs/technical/auth-and-proxy-refactor-plan.md § Phase 5 / D4.\n*/\nfunction legacyEndpointsPath() {\n\treturn `${getState().dataDir}/admin/endpoints.json`;\n}\n/**\n* One-shot lazy migration from the legacy data/ path to the new config/ path.\n*\n* Phase 5 of docs/technical/auth-and-proxy-refactor-plan.md (D6 step 3):\n* - If the new path already exists → no-op (already migrated).\n* - If the legacy path doesn't exist → no-op (fresh install).\n* - Otherwise copy contents to the new path (mode 0600), then unlink legacy.\n*\n* If the migration fails partway, the legacy file is left in place so reads\n* fall back to it for the remainder of this session. Idempotent across\n* process restarts because the existence check makes it a no-op after the\n* first successful run.\n*/\nfunction maybeMigrateLegacyEndpointsFile() {\n\tconst newPath = endpointsPath();\n\tif (existsSync(newPath)) return;\n\tconst oldPath = legacyEndpointsPath();\n\tif (!existsSync(oldPath)) return;\n\ttry {\n\t\tmkdirSync(dirname(newPath), { recursive: true });\n\t\twriteFileSync(newPath, readFileSync(oldPath), { mode: 384 });\n\t\ttry {\n\t\t\tchmodSync(newPath, 384);\n\t\t} catch {}\n\t\tunlinkSync(oldPath);\n\t} catch (e) {\n\t\tconsole.warn(\"[endpoints] Failed to migrate legacy endpoints.json from data/ to config/. Leaving the old file in place; reads will fall back to it for this session.\", e);\n\t}\n}\nfunction localRuntimePath() {\n\treturn `${getState().dataDir}/local-opencode.runtime.json`;\n}\n/**\n* Read the Electron-written runtime.json each time it's needed. The file is\n* 0600 and is rewritten on each Electron launch (random password per launch),\n* so callers must NOT cache the result.\n*/\nfunction readLocalRuntime() {\n\tconst path = localRuntimePath();\n\tif (!existsSync(path)) return null;\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tif (!parsed || typeof parsed.url !== \"string\" || !parsed.url) return null;\n\t\treturn {\n\t\t\turl: parsed.url,\n\t\t\tusername: typeof parsed.username === \"string\" ? parsed.username : void 0,\n\t\t\tpassword: typeof parsed.password === \"string\" ? parsed.password : void 0,\n\t\t\tpid: typeof parsed.pid === \"number\" ? parsed.pid : void 0,\n\t\t\tstartedAt: typeof parsed.startedAt === \"string\" ? parsed.startedAt : void 0\n\t\t};\n\t} catch (e) {\n\t\tconsole.warn(\"[endpoints] Failed to parse local-opencode.runtime.json:\", e);\n\t\treturn null;\n\t}\n}\nfunction localEndpoint() {\n\tconst rt = readLocalRuntime();\n\tif (!rt) return null;\n\treturn {\n\t\tid: LOCAL_ELECTRON_ID,\n\t\tlabel: \"OpenPalm Admin\",\n\t\turl: normalizeBrowserFacingUrl(rt.url),\n\t\tusername: rt.username || DEFAULT_OPENCODE_USERNAME,\n\t\t...rt.password ? { password: rt.password } : {},\n\t\tkind: \"local-opencode\",\n\t\tisDefault: false,\n\t\tisLocal: true\n\t};\n}\nfunction normalizeBrowserFacingUrl(raw) {\n\ttry {\n\t\tconst url = new URL(raw);\n\t\tconst host = url.hostname.toLowerCase().replace(/^\\[|\\]$/g, \"\");\n\t\tif (host === \"0.0.0.0\" || host === \"::\") url.hostname = \"127.0.0.1\";\n\t\treturn url.toString().replace(/\\/$/, \"\");\n\t} catch {\n\t\treturn raw;\n\t}\n}\nfunction readFile() {\n\tmaybeMigrateLegacyEndpointsFile();\n\tlet path = endpointsPath();\n\tif (!existsSync(path)) {\n\t\tconst legacy = legacyEndpointsPath();\n\t\tif (!existsSync(legacy)) return {\n\t\t\tactiveId: null,\n\t\t\tendpoints: []\n\t\t};\n\t\tpath = legacy;\n\t}\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn {\n\t\t\tactiveId: typeof parsed.activeId === \"string\" ? parsed.activeId : null,\n\t\t\tendpoints: Array.isArray(parsed.endpoints) ? parsed.endpoints.filter(isValidEntry) : []\n\t\t};\n\t} catch (e) {\n\t\tconsole.warn(\"[endpoints] Failed to parse endpoints.json, resetting:\", e);\n\t\treturn {\n\t\t\tactiveId: null,\n\t\t\tendpoints: []\n\t\t};\n\t}\n}\nfunction isValidEntry(e) {\n\tif (!e || typeof e !== \"object\") return false;\n\tconst o = e;\n\treturn typeof o.id === \"string\" && typeof o.label === \"string\" && typeof o.url === \"string\";\n}\nfunction writeFile(data) {\n\tconst path = endpointsPath();\n\tmkdirSync(dirname(path), { recursive: true });\n\twriteFileSync(path, JSON.stringify(data, null, 2), {\n\t\tencoding: \"utf-8\",\n\t\tmode: 384\n\t});\n\ttry {\n\t\tchmodSync(path, 384);\n\t} catch {}\n}\nfunction defaultEndpoint() {\n\tconst persisted = readStackEnv(getState().homeDir);\n\tconst url = process.env.OP_OPENCODE_URL ?? process.env.OP_ASSISTANT_URL ?? `http://127.0.0.1:${process.env.OP_ASSISTANT_PORT ?? persisted.OP_ASSISTANT_PORT ?? \"3800\"}`;\n\tconst username = process.env.OPENCODE_SERVER_USERNAME || DEFAULT_OPENCODE_USERNAME;\n\tconst presetPassword = /^(true|1|yes)$/i.test((persisted.OPENCODE_AUTH ?? process.env.OPENCODE_AUTH ?? \"\").trim()) ? ((raw) => raw ? stripTrailingNewlines(raw) : void 0)(readSecret(getState().homeDir, \"op_opencode_password\") ?? void 0) || process.env.OP_OPENCODE_PASSWORD : void 0;\n\tconst password = process.env.OPENCODE_SERVER_PASSWORD || presetPassword || void 0;\n\treturn {\n\t\tid: DEFAULT_ID,\n\t\tlabel: \"Local Assistant\",\n\t\turl: normalizeBrowserFacingUrl(url),\n\t\tusername,\n\t\tpassword,\n\t\tkind: \"local-opencode\",\n\t\tisDefault: true\n\t};\n}\n/**\n* Discriminated validator that callers (admin routes) use to surface\n* specific error messages. Plain HTTP is allowed for any host — OpenPalm is\n* LAN-first, so remote instances on a private network are reached over http://.\n*/\nfunction validateEndpointUrl(input) {\n\tlet u;\n\ttry {\n\t\tu = new URL(input.trim());\n\t} catch {\n\t\treturn {\n\t\t\tok: false,\n\t\t\treason: \"invalid_url\"\n\t\t};\n\t}\n\tif (u.protocol !== \"http:\" && u.protocol !== \"https:\") return {\n\t\tok: false,\n\t\treason: \"invalid_scheme\"\n\t};\n\tif (!u.hostname) return {\n\t\tok: false,\n\t\treason: \"missing_host\"\n\t};\n\tif (u.search || u.hash) return {\n\t\tok: false,\n\t\treason: \"unexpected_query_or_fragment\"\n\t};\n\treturn {\n\t\tok: true,\n\t\turl: u.toString().replace(/\\/$/, \"\")\n\t};\n}\n/**\n* Validate a URL string — must be http(s) with a host. Returns the normalized\n* URL or null. For finer-grained errors, use `validateEndpointUrl`.\n*/\nfunction normalizeEndpointUrl(input) {\n\tconst result = validateEndpointUrl(input);\n\treturn result.ok ? result.url : null;\n}\n/**\n* Returns: [local-electron (if Electron is running it), default, ...user entries].\n* The local-electron entry is synthesized at call time from\n* state/local-opencode.runtime.json — never persisted to endpoints.json.\n*/\nfunction listConnections() {\n\tconst { endpoints } = readFile();\n\tconst local = localEndpoint();\n\treturn [\n\t\t...local ? [local] : [],\n\t\tdefaultEndpoint(),\n\t\t...endpoints.map((e) => ({\n\t\t\t...e,\n\t\t\tkind: kindOf(e),\n\t\t\tisDefault: false\n\t\t}))\n\t];\n}\n/**\n* Returns the active connection, falling back to the default if no active id\n* is set OR if the active id is `local-electron` but the runtime.json isn't\n* there (e.g. the Electron child died). Re-reads runtime.json each call so a\n* password rotated by a new Electron launch is picked up immediately.\n*/\nfunction getActiveConnection() {\n\tconst { activeId, endpoints } = readFile();\n\tif (activeId === LOCAL_ELECTRON_ID) {\n\t\tconst local = localEndpoint();\n\t\tif (local) return local;\n\t\treturn defaultEndpoint();\n\t}\n\tif (!activeId || activeId === DEFAULT_ID) return defaultEndpoint();\n\tconst found = endpoints.find((e) => e.id === activeId);\n\tif (!found) return defaultEndpoint();\n\treturn {\n\t\t...found,\n\t\tkind: kindOf(found),\n\t\tisDefault: false\n\t};\n}\nfunction setActiveConnectionId(id) {\n\tconst data = readFile();\n\tif (!id || id === DEFAULT_ID) data.activeId = null;\n\telse if (id === LOCAL_ELECTRON_ID) {\n\t\tif (!localEndpoint()) throw new Error(\"Local OpenCode is not running (Electron only)\");\n\t\tdata.activeId = LOCAL_ELECTRON_ID;\n\t} else {\n\t\tif (!data.endpoints.some((e) => e.id === id)) throw new Error(`Endpoint not found: ${id}`);\n\t\tdata.activeId = id;\n\t}\n\twriteFile(data);\n\treturn getActiveConnection();\n}\n/**\n* User-addable connection kinds (#486 D2). `local-opencode` is reserved for\n* synthesized entries (the env-derived default, the Electron local-runtime\n* entry) and is never accepted from a write path.\n*/\nvar USER_ADDABLE_CONNECTION_KINDS = [\"remote-opencode\", \"openpalm-client-api\"];\n/**\n* Normalize a guardian ('openpalm-client-api'-kind) connection URL so it\n* always ends in `/oc` — the guardian's direct-ingress base path\n* (#486 D2). Operates on an ALREADY `normalizeEndpointUrl`-ed string (no\n* trailing slash), so only the `/oc` suffix logic is needed here.\n*\n* `packages/client/src/lib/connections/url-policy.ts` carries a deliberate\n* CLIENT-side twin (`normalizeGuardianUrl`) with the same rule — the client\n* artifact may not import host code and vice versa, so this is the same\n* accepted duplication as `validateConnectionUrl`/`validateEndpointUrl`.\n* Both are pinned by their own tests.\n*/\nfunction normalizeGuardianOcUrl(url) {\n\treturn url.endsWith(\"/oc\") ? url : `${url}/oc`;\n}\nfunction assertAddableKind(kind) {\n\tif (kind === void 0) return;\n\tif (!USER_ADDABLE_CONNECTION_KINDS.includes(kind)) throw new Error(\"Invalid connection kind\");\n}\nfunction addConnection(input) {\n\tconst label = input.label.trim();\n\tif (!label) throw new Error(\"Label is required\");\n\tlet url = normalizeEndpointUrl(input.url);\n\tif (!url) throw new Error(\"URL must be a valid http(s) URL\");\n\tassertAddableKind(input.kind);\n\tif (input.kind === \"openpalm-client-api\") url = normalizeGuardianOcUrl(url);\n\tconst data = readFile();\n\tconst entry = {\n\t\tid: randomUUID(),\n\t\tlabel,\n\t\turl,\n\t\t...input.password ? { password: input.password } : {},\n\t\t...input.kind ? { kind: input.kind } : {}\n\t};\n\tdata.endpoints.push(entry);\n\twriteFile(data);\n\treturn entry;\n}\nfunction updateConnection(id, patch) {\n\tif (id === DEFAULT_ID) throw new Error(\"Cannot edit the default endpoint\");\n\tif (id === LOCAL_ELECTRON_ID) throw new Error(\"Cannot edit the local Electron OpenCode entry (it is ephemeral and per-launch)\");\n\tassertAddableKind(patch.kind);\n\tconst data = readFile();\n\tconst idx = data.endpoints.findIndex((e) => e.id === id);\n\tif (idx === -1) throw new Error(`Endpoint not found: ${id}`);\n\tconst next = { ...data.endpoints[idx] };\n\tif (patch.label !== void 0) {\n\t\tconst label = patch.label.trim();\n\t\tif (!label) throw new Error(\"Label cannot be empty\");\n\t\tnext.label = label;\n\t}\n\tif (patch.url !== void 0) {\n\t\tconst url = normalizeEndpointUrl(patch.url);\n\t\tif (!url) throw new Error(\"URL must be a valid http(s) URL\");\n\t\tnext.url = url;\n\t}\n\tif (patch.password === null) delete next.password;\n\telse if (typeof patch.password === \"string\") next.password = patch.password;\n\tif (patch.kind !== void 0) next.kind = patch.kind;\n\tif (next.kind === \"openpalm-client-api\") next.url = normalizeGuardianOcUrl(next.url);\n\tdata.endpoints[idx] = next;\n\twriteFile(data);\n\treturn next;\n}\nfunction deleteConnection(id) {\n\tif (id === DEFAULT_ID) throw new Error(\"Cannot delete the default endpoint\");\n\tif (id === LOCAL_ELECTRON_ID) throw new Error(\"Cannot delete the local Electron OpenCode entry (managed by Electron lifecycle)\");\n\tconst data = readFile();\n\tconst idx = data.endpoints.findIndex((e) => e.id === id);\n\tif (idx === -1) throw new Error(`Endpoint not found: ${id}`);\n\tdata.endpoints.splice(idx, 1);\n\tif (data.activeId === id) data.activeId = null;\n\twriteFile(data);\n}\nasync function probeEndpoint(endpoint) {\n\tconst headers = new Headers();\n\tif (endpoint.password) {\n\t\tconst username = endpoint.username ?? DEFAULT_OPENCODE_USERNAME;\n\t\theaders.set(\"authorization\", basicAuthHeader(username, endpoint.password));\n\t}\n\tconst probeUrl = endpoint.kind === \"openpalm-client-api\" ? `${endpoint.url}/session` : endpoint.url;\n\ttry {\n\t\tconst response = await fetch(probeUrl, {\n\t\t\tmethod: \"GET\",\n\t\t\theaders,\n\t\t\tredirect: \"manual\",\n\t\t\tsignal: AbortSignal.timeout(2e3)\n\t\t});\n\t\tif (response.status === 401 || response.status === 403) return {\n\t\t\tid: endpoint.id,\n\t\t\tname: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tstate: \"unauthorized\",\n\t\t\tdetail: `HTTP ${response.status}`\n\t\t};\n\t\tif (response.ok || response.status >= 300 && response.status < 400) return {\n\t\t\tid: endpoint.id,\n\t\t\tname: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tstate: \"accessible\"\n\t\t};\n\t\treturn {\n\t\t\tid: endpoint.id,\n\t\t\tname: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tstate: \"unreachable\",\n\t\t\tdetail: `HTTP ${response.status}`\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tid: endpoint.id,\n\t\t\tname: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tstate: \"unreachable\",\n\t\t\tdetail: error instanceof Error ? error.message : String(error)\n\t\t};\n\t}\n}\nasync function listRemoteStatuses() {\n\tif (remoteStatusCache && remoteStatusCache.expiresAt > Date.now()) return remoteStatusCache.value.map((status) => ({ ...status }));\n\tconst statuses = await Promise.all(listConnections().map((endpoint) => probeEndpoint(endpoint)));\n\tremoteStatusCache = {\n\t\tvalue: statuses,\n\t\texpiresAt: Date.now() + 5e3\n\t};\n\treturn statuses.map((status) => ({ ...status }));\n}\n//#endregion\nexport { listConnections as a, updateConnection as c, getActiveConnection as i, validateEndpointUrl as l, addConnection as n, listRemoteStatuses as o, deleteConnection as r, setActiveConnectionId as s, USER_ADDABLE_CONNECTION_KINDS as t, basicAuthHeader as u };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-BYp8JQYM.js","sources":["../../../.svelte-kit/adapter-node/chunks/environment.js"],"sourcesContent":["//#region ../../node_modules/.bun/@sveltejs+kit@2.61.0+a890f0b024b6eaa9/node_modules/@sveltejs/kit/src/runtime/app/paths/internal/server.js\nvar base = \"\";\nvar assets = base;\nvar app_dir = \"_app\";\nvar initial = {\n\tbase,\n\tassets\n};\n/**\n* `base` could be overridden during rendering to be relative;\n* this one's the original non-relative base path\n*/\nvar initial_base = initial.base;\n/**\n* @param {{ base: string, assets: string }} paths\n*/\nfunction override(paths) {\n\tbase = paths.base;\n\tassets = paths.assets;\n}\nfunction reset() {\n\tbase = initial.base;\n\tassets = initial.assets;\n}\n/** @param {string} path */\nfunction set_assets(path) {\n\tassets = initial.assets = path;\n}\n/**\n* `$env/dynamic/public`\n* @type {Record<string, string>}\n*/\nvar public_env = {};\n/** @type {(environment: Record<string, string>) => void} */\nfunction set_private_env(environment) {}\n/** @type {(environment: Record<string, string>) => void} */\nfunction set_public_env(environment) {\n\tpublic_env = environment;\n}\n//#endregion\n//#region \\0virtual:__sveltekit/environment\nvar version = \"0.13.0-beta.
|
|
1
|
+
{"version":3,"file":"environment-BYp8JQYM.js","sources":["../../../.svelte-kit/adapter-node/chunks/environment.js"],"sourcesContent":["//#region ../../node_modules/.bun/@sveltejs+kit@2.61.0+a890f0b024b6eaa9/node_modules/@sveltejs/kit/src/runtime/app/paths/internal/server.js\nvar base = \"\";\nvar assets = base;\nvar app_dir = \"_app\";\nvar initial = {\n\tbase,\n\tassets\n};\n/**\n* `base` could be overridden during rendering to be relative;\n* this one's the original non-relative base path\n*/\nvar initial_base = initial.base;\n/**\n* @param {{ base: string, assets: string }} paths\n*/\nfunction override(paths) {\n\tbase = paths.base;\n\tassets = paths.assets;\n}\nfunction reset() {\n\tbase = initial.base;\n\tassets = initial.assets;\n}\n/** @param {string} path */\nfunction set_assets(path) {\n\tassets = initial.assets = path;\n}\n/**\n* `$env/dynamic/public`\n* @type {Record<string, string>}\n*/\nvar public_env = {};\n/** @type {(environment: Record<string, string>) => void} */\nfunction set_private_env(environment) {}\n/** @type {(environment: Record<string, string>) => void} */\nfunction set_public_env(environment) {\n\tpublic_env = environment;\n}\n//#endregion\n//#region \\0virtual:__sveltekit/environment\nvar version = \"0.13.0-beta.4\";\nvar prerendering = false;\nfunction set_building() {}\nfunction set_prerendering() {\n\tprerendering = true;\n}\n//#endregion\nexport { public_env as a, app_dir as c, initial_base as d, override as f, version as i, assets as l, set_assets as m, set_building as n, set_private_env as o, reset as p, set_prerendering as r, set_public_env as s, prerendering as t, base as u };\n"],"names":[],"mappings":"AAAA;AACG,IAAC,IAAI,GAAG;AACR,IAAC,MAAM,GAAG;AACV,IAAC,OAAO,GAAG;AACd,IAAI,OAAO,GAAG;AACd,CAAC,IAAI;AACL,CAAC;AACD,CAAC;AACD;AACA;AACA;AACA;AACG,IAAC,YAAY,GAAG,OAAO,CAAC;AAC3B;AACA;AACA;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AAClB,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;AACtB;AACA,SAAS,KAAK,GAAG;AACjB,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;AACpB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AACxB;AAKA;AACA;AACA;AACA;AACG,IAAC,UAAU,GAAG;AACjB;AACA,SAAS,eAAe,CAAC,WAAW,EAAE,CAAC;AACvC;AACA,SAAS,cAAc,CAAC,WAAW,EAAE;AACrC,CAAC,UAAU,GAAG,WAAW;AACzB;;;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { s as escape_html } from './dev-D85DamNs.js';
|
|
2
|
-
import { p as page } from './state2-
|
|
2
|
+
import { p as page } from './state2-jnbE3tAu.js';
|
|
3
3
|
import 'node:module';
|
|
4
|
-
import './client-
|
|
4
|
+
import './client-ClRLlB_c.js';
|
|
5
5
|
import './exports2-BjzhbhYA.js';
|
|
6
6
|
import './utils-OXHIhUb5.js';
|
|
7
|
-
import './internal-
|
|
8
|
-
import './chunk-
|
|
7
|
+
import './internal-D9Kp0SbJ.js';
|
|
8
|
+
import './chunk-DOvWTNp_.js';
|
|
9
9
|
|
|
10
10
|
//#region ../../node_modules/.bun/@sveltejs+kit@2.61.0+a890f0b024b6eaa9/node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte
|
|
11
11
|
function Error($$renderer, $$props) {
|
|
@@ -15,4 +15,4 @@ function Error($$renderer, $$props) {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export { Error as default };
|
|
18
|
-
//# sourceMappingURL=error.svelte-
|
|
18
|
+
//# sourceMappingURL=error.svelte-C2CWdm9K.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.svelte-
|
|
1
|
+
{"version":3,"file":"error.svelte-C2CWdm9K.js","sources":["../../../.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js"],"sourcesContent":["import { U as escape_html } from \"../../chunks/dev.js\";\nimport { t as page } from \"../../chunks/state2.js\";\n//#region ../../node_modules/.bun/@sveltejs+kit@2.61.0+a890f0b024b6eaa9/node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte\nfunction Error($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t$$renderer.push(`<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`);\n\t});\n}\n//#endregion\nexport { Error as default };\n"],"names":[],"mappings":";;;;;;;;;AAEA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACpG,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { P as PLATFORM_VERSION } from './src-
|
|
1
|
+
import { aR as resolveClientAppPort, P as PLATFORM_VERSION } from './src-CQ2F7hgb.js';
|
|
2
2
|
|
|
3
3
|
var package_default = {
|
|
4
|
-
version: "0.13.0-beta.
|
|
4
|
+
version: "0.13.0-beta.4"};
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region src/lib/server/features.ts
|
|
7
7
|
/**
|
|
@@ -95,6 +95,7 @@ function routesForMode(mode) {
|
|
|
95
95
|
function computeServerRuntimeContext(event) {
|
|
96
96
|
const hostMode = resolveHostMode();
|
|
97
97
|
const isHostCapable = hostMode === "electron-host" || hostMode === "host-ui";
|
|
98
|
+
const clientAppUrl = hostMode === "assistant-container" ? void 0 : `http://127.0.0.1:${resolveClientAppPort(process.env)}`;
|
|
98
99
|
return {
|
|
99
100
|
version: 2,
|
|
100
101
|
hostMode,
|
|
@@ -103,6 +104,7 @@ function computeServerRuntimeContext(event) {
|
|
|
103
104
|
uiVersion: package_default.version,
|
|
104
105
|
skeletonVersion: process.env.OP_SKELETON_VERSION?.trim() || PLATFORM_VERSION,
|
|
105
106
|
activeConnectionMode: hostMode === "assistant-container" ? "single" : "multi",
|
|
107
|
+
...clientAppUrl !== void 0 ? { clientAppUrl } : {},
|
|
106
108
|
routes: routesForMode(hostMode),
|
|
107
109
|
security: {
|
|
108
110
|
hostAdminLoopbackOnly: true,
|
|
@@ -113,4 +115,4 @@ function computeServerRuntimeContext(event) {
|
|
|
113
115
|
}
|
|
114
116
|
|
|
115
117
|
export { computeServerRuntimeContext as c };
|
|
116
|
-
//# sourceMappingURL=features-
|
|
118
|
+
//# sourceMappingURL=features-BE2x1a_a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features-BE2x1a_a.js","sources":["../../../.svelte-kit/adapter-node/chunks/features.js"],"sourcesContent":["import { ht as PLATFORM_VERSION } from \"./compose-args.js\";\nimport { t as resolveClientAppPort } from \"./src.js\";\nvar package_default = {\n\tname: \"@openpalm/ui\",\n\tdescription: \"SvelteKit web UI and API for OpenPalm stack management\",\n\tversion: \"0.13.0-beta.4\",\n\tlicense: \"MPL-2.0\",\n\ttype: \"module\",\n\t\"//minHarnessContract\": \"Minimum native Electron harness contract this UI build requires (design §5.3). The harness refuses to self-update onto a build whose minHarnessContract exceeds the contract it provides and prompts an app re-download instead. Bump ONLY when the UI starts depending on a new IPC method / spawn env key; keep in lockstep with packages/electron/src/harness-contract.ts HARNESS_CONTRACT_VERSION.\",\n\tminHarnessContract: 1,\n\trepository: {\n\t\t\"type\": \"git\",\n\t\t\"url\": \"https://github.com/itlackey/openpalm.git\",\n\t\t\"directory\": \"packages/ui\"\n\t},\n\tpublishConfig: { \"access\": \"public\" },\n\tfiles: [\"build\"],\n\tscripts: {\n\t\t\"dev\": \"PORT=${PORT:-5173} vite dev\",\n\t\t\"ux:audit\": \"NODE_PATH=\\\"$PWD/node_modules\\\" bun \\\"${AKM_HOME:-$HOME/akm}/skills/web-ux/ux-dom-audit/scripts/audit.ts\\\" e2e/ux-audit.config.json\",\n\t\t\"ux:audit:wizard\": \"NODE_PATH=\\\"$PWD/node_modules\\\" bun \\\"${AKM_HOME:-$HOME/akm}/skills/web-ux/ux-dom-audit/scripts/audit.ts\\\" e2e/ux-audit.wizard.config.json\",\n\t\t\"dev:local\": \"PORT=${PORT:-5173} OP_OPENCODE_URL=${OP_OPENCODE_URL:-http://localhost:3800} vite dev\",\n\t\t\"build\": \"svelte-kit sync && vite build && node scripts/stamp-version.mjs\",\n\t\t\"clean:build\": \"rm -rf .svelte-kit build\",\n\t\t\"preview\": \"vite preview\",\n\t\t\"check\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json\",\n\t\t\"test:e2e\": \"playwright test\",\n\t\t\"test\": \"npm run test:unit -- --run && npm run test:e2e\",\n\t\t\"test:unit\": \"vitest\",\n\t\t\"test:browsers\": \"playwright install --with-deps chromium\",\n\t\t\"lint\": \"eslint .\",\n\t\t\"format\": \"prettier --write .\",\n\t\t\"start\": \"node build/index.js\"\n\t},\n\tdevDependencies: {\n\t\t\"@axe-core/playwright\": \"^4.11.3\",\n\t\t\"@eslint/compat\": \"^2.0.2\",\n\t\t\"@eslint/js\": \"^10.0.1\",\n\t\t\"@openpalm/lib\": \"workspace:*\",\n\t\t\"@openpalm/ui-kit\": \"workspace:*\",\n\t\t\"@playwright/test\": \"^1.58.1\",\n\t\t\"@sveltejs/adapter-node\": \"^5.5.4\",\n\t\t\"@sveltejs/kit\": \"^2.53.3\",\n\t\t\"@sveltejs/vite-plugin-svelte\": \"^7.1.2\",\n\t\t\"@types/markdown-it\": \"^14.1.2\",\n\t\t\"@types/node\": \"^25.9.1\",\n\t\t\"@vitest/browser-playwright\": \"^4.0.18\",\n\t\t\"@vitest/coverage-v8\": \"^4.0.18\",\n\t\t\"croner\": \"^10.0.1\",\n\t\t\"dotenv\": \"^17.4.2\",\n\t\t\"eslint\": \"^10.4.0\",\n\t\t\"eslint-config-prettier\": \"^10.1.8\",\n\t\t\"eslint-plugin-svelte\": \"^3.14.0\",\n\t\t\"globals\": \"^17.3.0\",\n\t\t\"markdown-it\": \"^14.1.1\",\n\t\t\"playwright\": \"^1.58.1\",\n\t\t\"prettier\": \"^3.8.1\",\n\t\t\"prettier-plugin-svelte\": \"^4.0.1\",\n\t\t\"svelte\": \"^5.53.5\",\n\t\t\"svelte-check\": \"^4.1.1\",\n\t\t\"typescript\": \"^6.0.3\",\n\t\t\"typescript-eslint\": \"^8.54.0\",\n\t\t\"uqr\": \"0.1.3\",\n\t\t\"vite\": \"^8.0.14\",\n\t\t\"vite-plugin-devtools-json\": \"^1.0.0\",\n\t\t\"vitest\": \"^4.0.18\",\n\t\t\"vitest-browser-svelte\": \"^2.0.2\",\n\t\t\"yaml\": \"^2.8.0\"\n\t}\n};\n//#endregion\n//#region src/lib/server/features.ts\n/**\n* Server runtime context — RuntimeContext v2 (plan ui-runtime-modes-plan.md\n* §6.1, issue #509). Computed server-side on every request via\n* +layout.server.ts and served publicly at GET /api/runtime (the\n* contract-version handshake for remote/hosted clients).\n*\n* hostMode resolution (Phase 1):\n* OP_UI_HOST_MODE (explicit) → that mode\n* else OP_INSIDE_ELECTRON=1 → 'electron-host' (legacy, injected by\n* packages/electron/src/main.ts)\n* else OP_ENABLE_ADMIN=1 → 'host-ui' (legacy, local dev / openpalm admin)\n* else → 'pwa-static' baseline\n*/\nvar HOST_MODES = [\n\t\"electron-host\",\n\t\"host-ui\",\n\t\"assistant-container\",\n\t\"pwa-static\"\n];\nfunction isUiHostMode(value) {\n\treturn HOST_MODES.includes(value);\n}\nfunction resolveHostMode() {\n\tconst explicit = process.env.OP_UI_HOST_MODE?.trim() ?? \"\";\n\tif (isUiHostMode(explicit)) return explicit;\n\tif (process.env.OP_INSIDE_ELECTRON === \"1\") return \"electron-host\";\n\tif (process.env.OP_ENABLE_ADMIN === \"1\") return \"host-ui\";\n\treturn \"pwa-static\";\n}\n/** Capabilities of a host-capable process (electron-host / host-ui). Note:\n* never 'connections:single' — that marker is the assistant-container\n* branch key in resolveCapabilities() (plan §6.2). */\nvar HOST_MODE_CAPABILITIES = [\n\t\"chat\",\n\t\"connections:read\",\n\t\"connections:manage\",\n\t\"connections:switch\",\n\t\"assistant-settings:read\",\n\t\"assistant-settings:write\",\n\t...[\n\t\t\"host:setup\",\n\t\t\"host:stack:read\",\n\t\t\"host:stack:write\",\n\t\t\"host:containers\",\n\t\t\"host:addons\",\n\t\t\"host:updates\",\n\t\t\"host:logs\",\n\t\t\"host:secrets\",\n\t\t\"host:recovery\",\n\t\t\"host:akm-sharing\"\n\t]\n];\nvar SERVER_CAPABILITIES = {\n\t\"electron-host\": HOST_MODE_CAPABILITIES,\n\t\"host-ui\": HOST_MODE_CAPABILITIES,\n\t\"assistant-container\": [\n\t\t\"connections:single\",\n\t\t\"chat\",\n\t\t\"assistant-settings:read\",\n\t\t\"assistant-settings:write\"\n\t],\n\t\"pwa-static\": [\n\t\t\"chat\",\n\t\t\"connections:read\",\n\t\t\"connections:manage\",\n\t\t\"connections:switch\",\n\t\t\"pwa:install\"\n\t]\n};\n/** Route pointers per mode — current-truth URLs. Phase 2 (#486) moved\n* connections to /connections; Phase 4 moved the host dashboard to /host\n* (/admin/* is a dead namespace — router 404, no alias). */\nfunction routesForMode(mode) {\n\tswitch (mode) {\n\t\tcase \"electron-host\":\n\t\tcase \"host-ui\": return {\n\t\t\tchat: \"/chat\",\n\t\t\tconnections: \"/connections\",\n\t\t\thost: \"/host\",\n\t\t\tsetup: \"/setup\"\n\t\t};\n\t\tcase \"assistant-container\": return { chat: \"/chat\" };\n\t\tcase \"pwa-static\": return {\n\t\t\tchat: \"/chat\",\n\t\t\tconnections: \"/connections\"\n\t\t};\n\t}\n}\nfunction computeServerRuntimeContext(event) {\n\tconst hostMode = resolveHostMode();\n\tconst isHostCapable = hostMode === \"electron-host\" || hostMode === \"host-ui\";\n\tconst clientAppUrl = hostMode === \"assistant-container\" ? void 0 : `http://127.0.0.1:${resolveClientAppPort(process.env)}`;\n\treturn {\n\t\tversion: 2,\n\t\thostMode,\n\t\tserverCapabilities: [...SERVER_CAPABILITIES[hostMode]],\n\t\tpublicBaseUrl: event.url?.origin ?? \"\",\n\t\tuiVersion: package_default.version,\n\t\tskeletonVersion: process.env.OP_SKELETON_VERSION?.trim() || PLATFORM_VERSION,\n\t\tactiveConnectionMode: hostMode === \"assistant-container\" ? \"single\" : \"multi\",\n\t\t...clientAppUrl !== void 0 ? { clientAppUrl } : {},\n\t\troutes: routesForMode(hostMode),\n\t\tsecurity: {\n\t\t\thostAdminLoopbackOnly: true,\n\t\t\trequiresHttpsForRemoteConnections: hostMode === \"pwa-static\",\n\t\t\tcsrfMode: isHostCapable ? \"loopback-origin\" : hostMode === \"assistant-container\" ? \"same-site\" : \"bearer-token\"\n\t\t}\n\t};\n}\n//#endregion\nexport { computeServerRuntimeContext as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { aA as readSecret, aX as resolveOpenPalmHome, G as createOpenCodeClient } from './src-CQ2F7hgb.js';
|
|
2
|
+
import { h as isRemoteSetupAllowed } from './network-preset-CJ1RRnki.js';
|
|
3
|
+
import { g as getActiveConnection } from './endpoints-WTxemTcn.js';
|
|
4
|
+
import { c as computeServerRuntimeContext } from './features-BE2x1a_a.js';
|
|
4
5
|
import { timingSafeEqual, createHmac, createHash } from 'node:crypto';
|
|
5
6
|
|
|
6
7
|
//#region src/lib/server/session-store.ts
|
|
@@ -209,7 +210,9 @@ async function parseJsonBody(request, maxBytes = 1048576) {
|
|
|
209
210
|
try {
|
|
210
211
|
const contentLength = request.headers.get("content-length");
|
|
211
212
|
if (contentLength && parseInt(contentLength, 10) > maxBytes) return { error: "too_large" };
|
|
212
|
-
|
|
213
|
+
const parsed = await request.json();
|
|
214
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) return { error: "invalid_json" };
|
|
215
|
+
return { data: parsed };
|
|
213
216
|
} catch (e) {
|
|
214
217
|
console.warn("[helpers] Failed to parse JSON request body", e);
|
|
215
218
|
return { error: "invalid_json" };
|
|
@@ -236,7 +239,7 @@ function jsonBodyError(err, requestId) {
|
|
|
236
239
|
async function withAdminBody(event, handler) {
|
|
237
240
|
const requestId = getRequestId(event);
|
|
238
241
|
const { security } = computeServerRuntimeContext(event);
|
|
239
|
-
const originError = checkOriginHeader(event.request, security.csrfMode);
|
|
242
|
+
const originError = checkOriginHeader(event.request, security.csrfMode, requestId);
|
|
240
243
|
if (originError) return originError;
|
|
241
244
|
const authError = requireAdmin(event, requestId);
|
|
242
245
|
if (authError) return authError;
|
|
@@ -265,13 +268,14 @@ function isSameSite(request, origin) {
|
|
|
265
268
|
if (!requestHost) return false;
|
|
266
269
|
return requestHost === origin.hostname.toLowerCase();
|
|
267
270
|
}
|
|
268
|
-
function checkHostHeader(request) {
|
|
271
|
+
function checkHostHeader(request, requestId) {
|
|
269
272
|
const host = request.headers.get("host") ?? "";
|
|
270
273
|
if (isLoopbackHost(host) || isRemoteSetupAllowed()) return null;
|
|
271
274
|
return new Response(JSON.stringify({
|
|
272
275
|
error: "invalid_host",
|
|
273
276
|
host: host.trim().replace(/\.$/, ""),
|
|
274
|
-
message: "Request rejected: Host header does not match allowed hosts. The UI binds to loopback (127.0.0.1) only; reach it via localhost or an SSH tunnel/reverse proxy, or set OP_ALLOW_REMOTE_SETUP=1 to allow remote access."
|
|
277
|
+
message: "Request rejected: Host header does not match allowed hosts. The UI binds to loopback (127.0.0.1) only; reach it via localhost or an SSH tunnel/reverse proxy, or set OP_ALLOW_REMOTE_SETUP=1 to allow remote access.",
|
|
278
|
+
...requestId ? { requestId } : {}
|
|
275
279
|
}), {
|
|
276
280
|
status: 400,
|
|
277
281
|
headers: { "content-type": "application/json" }
|
|
@@ -285,7 +289,7 @@ function checkHostHeader(request) {
|
|
|
285
289
|
* @param request Incoming Request
|
|
286
290
|
* @returns A 403 Response if the origin is rejected; null if allowed
|
|
287
291
|
*/
|
|
288
|
-
function checkOriginHeader(request, csrfMode = "loopback-origin") {
|
|
292
|
+
function checkOriginHeader(request, csrfMode = "loopback-origin", requestId) {
|
|
289
293
|
const method = request.method.toUpperCase();
|
|
290
294
|
if (method === "GET" || method === "HEAD" || method === "OPTIONS") return null;
|
|
291
295
|
const origin = request.headers.get("origin");
|
|
@@ -308,7 +312,8 @@ function checkOriginHeader(request, csrfMode = "loopback-origin") {
|
|
|
308
312
|
} catch {}
|
|
309
313
|
return new Response(JSON.stringify({
|
|
310
314
|
error: "forbidden_origin",
|
|
311
|
-
origin
|
|
315
|
+
origin,
|
|
316
|
+
...requestId ? { requestId } : {}
|
|
312
317
|
}), {
|
|
313
318
|
status: 403,
|
|
314
319
|
headers: { "content-type": "application/json" }
|
|
@@ -317,4 +322,4 @@ function checkOriginHeader(request, csrfMode = "loopback-origin") {
|
|
|
317
322
|
Number(process.env.PORT ?? 3880);
|
|
318
323
|
|
|
319
324
|
export { SESSION_TTL_SECONDS as S, checkOriginHeader as a, createSession as b, checkHostHeader as c, getRequestId as d, errorResponse as e, getUiLoginPassword as f, getOpenCodeClient as g, invalidateSession as h, identifyCallerByToken as i, jsonBodyError as j, jsonResponse as k, requireCapability as l, parseJsonBody as p, requireAdmin as r, safeTokenCompare as s, touchSession as t, withAdminBody as w };
|
|
320
|
-
//# sourceMappingURL=helpers-
|
|
325
|
+
//# sourceMappingURL=helpers-CfpNg3il.js.map
|