@openpalm/ui 0.11.0-rc.16 → 0.11.0-rc.18
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/4.CLTnoKrH.css +1 -0
- package/build/client/_app/immutable/assets/4.CLTnoKrH.css.br +0 -0
- package/build/client/_app/immutable/assets/4.CLTnoKrH.css.gz +0 -0
- package/build/client/_app/immutable/assets/{7.c1OWE2A8.css → 7.DKl0e2Fb.css} +1 -1
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.br +0 -0
- package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.gz +0 -0
- package/build/client/_app/immutable/assets/8.CY2RMSue.css +1 -0
- package/build/client/_app/immutable/assets/8.CY2RMSue.css.br +4 -0
- package/build/client/_app/immutable/assets/8.CY2RMSue.css.gz +0 -0
- package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css +1 -0
- package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css.br +0 -0
- package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css.gz +0 -0
- package/build/client/_app/immutable/chunks/6MWqMcPj.js +3 -0
- package/build/client/_app/immutable/chunks/6MWqMcPj.js.br +0 -0
- package/build/client/_app/immutable/chunks/6MWqMcPj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BEG6kjxo.js +1 -0
- package/build/client/_app/immutable/chunks/BEG6kjxo.js.br +2 -0
- package/build/client/_app/immutable/chunks/BEG6kjxo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ClJ0e619.js +5 -0
- package/build/client/_app/immutable/chunks/ClJ0e619.js.br +0 -0
- package/build/client/_app/immutable/chunks/ClJ0e619.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BuFlayix.js → CymRgjIC.js} +1 -1
- package/build/client/_app/immutable/chunks/CymRgjIC.js.br +0 -0
- package/build/client/_app/immutable/chunks/CymRgjIC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CAubmX5S.js → DQ-_WW-P.js} +1 -1
- package/build/client/_app/immutable/chunks/DQ-_WW-P.js.br +0 -0
- package/build/client/_app/immutable/chunks/DQ-_WW-P.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.CJNvPvFW.js → app.ZFsJHpgm.js} +2 -2
- package/build/client/_app/immutable/entry/app.ZFsJHpgm.js.br +0 -0
- package/build/client/_app/immutable/entry/app.ZFsJHpgm.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.Bb2Dg17A.js +1 -0
- package/build/client/_app/immutable/entry/start.Bb2Dg17A.js.br +0 -0
- package/build/client/_app/immutable/entry/start.Bb2Dg17A.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.PeLinghQ.js → 1.p0a-6xRh.js} +1 -1
- package/build/client/_app/immutable/nodes/1.p0a-6xRh.js.br +1 -0
- package/build/client/_app/immutable/nodes/1.p0a-6xRh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js +1 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.DlOTtTTT.js +19 -0
- package/build/client/_app/immutable/nodes/4.DlOTtTTT.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DlOTtTTT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BERyIpWQ.js +4 -0
- package/build/client/_app/immutable/nodes/5.BERyIpWQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BERyIpWQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.rQVZSkqN.js +1 -0
- package/build/client/_app/immutable/nodes/6.rQVZSkqN.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.rQVZSkqN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.C8WhBp0k.js +15 -0
- package/build/client/_app/immutable/nodes/7.C8WhBp0k.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.C8WhBp0k.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.DmEHzlZO.js +1 -0
- package/build/client/_app/immutable/nodes/8.DmEHzlZO.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DmEHzlZO.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-CuM5FLbQ.js → 0-CTzT7i_m.js} +2 -2
- package/build/server/chunks/{0-CuM5FLbQ.js.map → 0-CTzT7i_m.js.map} +1 -1
- package/build/server/chunks/1-BJ6QSHDy.js +9 -0
- package/build/server/chunks/{1-igjiofM3.js.map → 1-BJ6QSHDy.js.map} +1 -1
- package/build/server/chunks/{3-gylRjzeN.js → 3-COIGgysA.js} +2 -2
- package/build/server/chunks/{3-gylRjzeN.js.map → 3-COIGgysA.js.map} +1 -1
- package/build/server/chunks/4-p48m7JXw.js +9 -0
- package/build/server/chunks/4-p48m7JXw.js.map +1 -0
- package/build/server/chunks/5-zn-Jbh7Z.js +9 -0
- package/build/server/chunks/5-zn-Jbh7Z.js.map +1 -0
- package/build/server/chunks/6-CJxJ9Yeh.js +9 -0
- package/build/server/chunks/6-CJxJ9Yeh.js.map +1 -0
- package/build/server/chunks/7-BnuUDTsp.js +9 -0
- package/build/server/chunks/7-BnuUDTsp.js.map +1 -0
- package/build/server/chunks/8-Cko994_N.js +35 -0
- package/build/server/chunks/8-Cko994_N.js.map +1 -0
- package/build/server/chunks/{8-CmPpxrjv.js → 9-B8DzptsC.js} +4 -4
- package/build/server/chunks/{8-CmPpxrjv.js.map → 9-B8DzptsC.js.map} +1 -1
- package/build/server/chunks/{AuthGate-CUCB24XJ.js → Navbar-lB4kFS7g.js} +358 -118
- package/build/server/chunks/Navbar-lB4kFS7g.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-BnCuSUPN.js → _layout.svelte-COQuY-BN.js} +2 -2
- package/build/server/chunks/{_layout.svelte-BnCuSUPN.js.map → _layout.svelte-COQuY-BN.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-D2EUxxQd.js → _page.svelte-BuUe4hhV.js} +66 -72
- package/build/server/chunks/_page.svelte-BuUe4hhV.js.map +1 -0
- package/build/server/chunks/_page.svelte-Bv7qRPVj.js +37 -0
- package/build/server/chunks/_page.svelte-Bv7qRPVj.js.map +1 -0
- package/build/server/chunks/_page.svelte-CVpGxOAl.js +27 -0
- package/build/server/chunks/_page.svelte-CVpGxOAl.js.map +1 -0
- package/build/server/chunks/_page.svelte-DWCKWYAF.js +70 -0
- package/build/server/chunks/_page.svelte-DWCKWYAF.js.map +1 -0
- package/build/server/chunks/{_page.svelte-msBK2Ff8.js → _page.svelte-tPiVZDZQ.js} +94 -177
- package/build/server/chunks/_page.svelte-tPiVZDZQ.js.map +1 -0
- package/build/server/chunks/{_server.ts-C_fNO73y.js → _server.ts-8iOMau6K.js} +8 -8
- package/build/server/chunks/{_server.ts-C_fNO73y.js.map → _server.ts-8iOMau6K.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DTyZan5L.js → _server.ts-B2RCiGeA.js} +8 -8
- package/build/server/chunks/{_server.ts-DTyZan5L.js.map → _server.ts-B2RCiGeA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DMKIHwKi.js → _server.ts-B8sdNvW5.js} +8 -8
- package/build/server/chunks/{_server.ts-DMKIHwKi.js.map → _server.ts-B8sdNvW5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CcTt5aAs.js → _server.ts-BAsbrtjL.js} +6 -6
- package/build/server/chunks/{_server.ts-CcTt5aAs.js.map → _server.ts-BAsbrtjL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-dhkEt2p6.js → _server.ts-BCcQdRne.js} +8 -8
- package/build/server/chunks/{_server.ts-dhkEt2p6.js.map → _server.ts-BCcQdRne.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dq82kHyx.js → _server.ts-BD0Jit8e.js} +8 -8
- package/build/server/chunks/{_server.ts-Dq82kHyx.js.map → _server.ts-BD0Jit8e.js.map} +1 -1
- package/build/server/chunks/{_server.ts-rXhjnBtw.js → _server.ts-BD6Urice.js} +8 -8
- package/build/server/chunks/{_server.ts-rXhjnBtw.js.map → _server.ts-BD6Urice.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BwHojI4i.js → _server.ts-BG3UvxEU.js} +6 -6
- package/build/server/chunks/{_server.ts-BwHojI4i.js.map → _server.ts-BG3UvxEU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bg8OpPuA.js → _server.ts-BQZSWSLy.js} +9 -9
- package/build/server/chunks/{_server.ts-Bg8OpPuA.js.map → _server.ts-BQZSWSLy.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B4N5gO26.js → _server.ts-BTGThm9P.js} +8 -8
- package/build/server/chunks/{_server.ts-B4N5gO26.js.map → _server.ts-BTGThm9P.js.map} +1 -1
- package/build/server/chunks/{_server.ts-fsEmx9mw.js → _server.ts-BVCET3CA.js} +8 -8
- package/build/server/chunks/{_server.ts-fsEmx9mw.js.map → _server.ts-BVCET3CA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CMvY0ZDz.js → _server.ts-BVYIqRK2.js} +7 -7
- package/build/server/chunks/{_server.ts-CMvY0ZDz.js.map → _server.ts-BVYIqRK2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DqVJ1NqI.js → _server.ts-BYTWLTxk.js} +8 -8
- package/build/server/chunks/{_server.ts-DqVJ1NqI.js.map → _server.ts-BYTWLTxk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CSgPjCYv.js → _server.ts-BZ8wMJ7l.js} +8 -8
- package/build/server/chunks/{_server.ts-CSgPjCYv.js.map → _server.ts-BZ8wMJ7l.js.map} +1 -1
- package/build/server/chunks/{_server.ts-5CjguYY3.js → _server.ts-Ban3zjRc.js} +8 -8
- package/build/server/chunks/{_server.ts-5CjguYY3.js.map → _server.ts-Ban3zjRc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DWLkr6Qg.js → _server.ts-BaxB3oQq.js} +8 -8
- package/build/server/chunks/{_server.ts-DWLkr6Qg.js.map → _server.ts-BaxB3oQq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DdlF1vjy.js → _server.ts-Bj_nJzpo.js} +8 -8
- package/build/server/chunks/{_server.ts-DdlF1vjy.js.map → _server.ts-Bj_nJzpo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-wZ88P3nX.js → _server.ts-BkGQezlX.js} +10 -10
- package/build/server/chunks/{_server.ts-wZ88P3nX.js.map → _server.ts-BkGQezlX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D2wlMMJl.js → _server.ts-BlMOxGWA.js} +8 -8
- package/build/server/chunks/{_server.ts-D2wlMMJl.js.map → _server.ts-BlMOxGWA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bd_I8GjG.js → _server.ts-BrExNZ-2.js} +8 -8
- package/build/server/chunks/{_server.ts-Bd_I8GjG.js.map → _server.ts-BrExNZ-2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-b3mVtmkb.js → _server.ts-C1CpbG3_.js} +8 -8
- package/build/server/chunks/{_server.ts-b3mVtmkb.js.map → _server.ts-C1CpbG3_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DbO3cg55.js → _server.ts-C44tS0KC.js} +8 -8
- package/build/server/chunks/{_server.ts-DbO3cg55.js.map → _server.ts-C44tS0KC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xO4nhxDx.js → _server.ts-C5uu6b2a.js} +8 -8
- package/build/server/chunks/{_server.ts-xO4nhxDx.js.map → _server.ts-C5uu6b2a.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DnKTcT9x.js → _server.ts-C5wVttUW.js} +7 -7
- package/build/server/chunks/{_server.ts-DnKTcT9x.js.map → _server.ts-C5wVttUW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B6FENZO7.js → _server.ts-C7D2sok_.js} +8 -8
- package/build/server/chunks/{_server.ts-B6FENZO7.js.map → _server.ts-C7D2sok_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D_dO8hvJ.js → _server.ts-C8YMhHYj.js} +8 -8
- package/build/server/chunks/{_server.ts-D_dO8hvJ.js.map → _server.ts-C8YMhHYj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CqHMhINi.js → _server.ts-CC-mpNNj.js} +8 -8
- package/build/server/chunks/{_server.ts-CqHMhINi.js.map → _server.ts-CC-mpNNj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CLiYOnOv.js → _server.ts-CG1nihTT.js} +8 -8
- package/build/server/chunks/{_server.ts-CLiYOnOv.js.map → _server.ts-CG1nihTT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BaxRyhZ8.js → _server.ts-CH8VLn03.js} +8 -8
- package/build/server/chunks/{_server.ts-BaxRyhZ8.js.map → _server.ts-CH8VLn03.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CDtOOD3Q.js → _server.ts-COORKWSc.js} +8 -8
- package/build/server/chunks/{_server.ts-CDtOOD3Q.js.map → _server.ts-COORKWSc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-UF_kxNaU.js → _server.ts-CPzbkayh.js} +8 -8
- package/build/server/chunks/{_server.ts-UF_kxNaU.js.map → _server.ts-CPzbkayh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BYdXdnje.js → _server.ts-CQPWD_WN.js} +8 -8
- package/build/server/chunks/{_server.ts-BYdXdnje.js.map → _server.ts-CQPWD_WN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bq2S1OMq.js → _server.ts-CSs35mBJ.js} +8 -8
- package/build/server/chunks/{_server.ts-Bq2S1OMq.js.map → _server.ts-CSs35mBJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtZuKotA.js → _server.ts-CsUi6NWt.js} +31 -8
- package/build/server/chunks/_server.ts-CsUi6NWt.js.map +1 -0
- package/build/server/chunks/{_server.ts-I0iKpsyr.js → _server.ts-Cw2YXWgK.js} +9 -9
- package/build/server/chunks/{_server.ts-I0iKpsyr.js.map → _server.ts-Cw2YXWgK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CfLbEufw.js → _server.ts-D0FZ3wh5.js} +8 -8
- package/build/server/chunks/{_server.ts-CfLbEufw.js.map → _server.ts-D0FZ3wh5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eK_9jY-9.js → _server.ts-D4zkfcxH.js} +8 -8
- package/build/server/chunks/{_server.ts-eK_9jY-9.js.map → _server.ts-D4zkfcxH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DmyOp1yq.js → _server.ts-D5Q5mczv.js} +8 -8
- package/build/server/chunks/{_server.ts-DmyOp1yq.js.map → _server.ts-D5Q5mczv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-P4pmd9NX.js → _server.ts-D9HJ0cWI.js} +8 -8
- package/build/server/chunks/{_server.ts-P4pmd9NX.js.map → _server.ts-D9HJ0cWI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C1y3X6iK.js → _server.ts-DAb50kOu.js} +9 -9
- package/build/server/chunks/{_server.ts-C1y3X6iK.js.map → _server.ts-DAb50kOu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bdry_CdG.js → _server.ts-DFL8Mq_R.js} +8 -8
- package/build/server/chunks/{_server.ts-Bdry_CdG.js.map → _server.ts-DFL8Mq_R.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BmZlEy27.js → _server.ts-DLHN_6MC.js} +8 -8
- package/build/server/chunks/{_server.ts-BmZlEy27.js.map → _server.ts-DLHN_6MC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BclZ3UFT.js → _server.ts-DQE5fd19.js} +8 -8
- package/build/server/chunks/{_server.ts-BclZ3UFT.js.map → _server.ts-DQE5fd19.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BR9OrjcE.js → _server.ts-DQcL5wr_.js} +8 -8
- package/build/server/chunks/{_server.ts-BR9OrjcE.js.map → _server.ts-DQcL5wr_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C1DcK_rP.js → _server.ts-DRxZJQd6.js} +10 -10
- package/build/server/chunks/{_server.ts-C1DcK_rP.js.map → _server.ts-DRxZJQd6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DVekHgMN.js → _server.ts-DXOh4EZe.js} +9 -9
- package/build/server/chunks/{_server.ts-DVekHgMN.js.map → _server.ts-DXOh4EZe.js.map} +1 -1
- package/build/server/chunks/{_server.ts-De7IOs2z.js → _server.ts-DbMkM72G.js} +7 -7
- package/build/server/chunks/{_server.ts-De7IOs2z.js.map → _server.ts-DbMkM72G.js.map} +1 -1
- package/build/server/chunks/{_server.ts-yimewsjO.js → _server.ts-DcQTtmS3.js} +8 -8
- package/build/server/chunks/{_server.ts-yimewsjO.js.map → _server.ts-DcQTtmS3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-otJRaSSq.js → _server.ts-DgIgXukK.js} +9 -9
- package/build/server/chunks/{_server.ts-otJRaSSq.js.map → _server.ts-DgIgXukK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CAKTZL2t.js → _server.ts-DjlikYHH.js} +9 -9
- package/build/server/chunks/{_server.ts-CAKTZL2t.js.map → _server.ts-DjlikYHH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-l4CK3c4j.js → _server.ts-DjnK1iz8.js} +8 -8
- package/build/server/chunks/{_server.ts-l4CK3c4j.js.map → _server.ts-DjnK1iz8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3tjtq2m.js → _server.ts-DrM8VAOS.js} +8 -8
- package/build/server/chunks/{_server.ts-B3tjtq2m.js.map → _server.ts-DrM8VAOS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-EZS5Qan4.js → _server.ts-DtC0SjIr.js} +8 -8
- package/build/server/chunks/{_server.ts-EZS5Qan4.js.map → _server.ts-DtC0SjIr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8JtVHLy.js → _server.ts-DuBJyo4e.js} +8 -8
- package/build/server/chunks/{_server.ts-B8JtVHLy.js.map → _server.ts-DuBJyo4e.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C-lN2ZUO.js → _server.ts-EBySP1Ew.js} +6 -6
- package/build/server/chunks/{_server.ts-C-lN2ZUO.js.map → _server.ts-EBySP1Ew.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CLBKpKeH.js → _server.ts-IkgMCbAi.js} +10 -10
- package/build/server/chunks/{_server.ts-CLBKpKeH.js.map → _server.ts-IkgMCbAi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bl0YOh50.js → _server.ts-Me1rXUGo.js} +8 -8
- package/build/server/chunks/{_server.ts-Bl0YOh50.js.map → _server.ts-Me1rXUGo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BjrO7pvn.js → _server.ts-Mycnkmlz.js} +9 -9
- package/build/server/chunks/{_server.ts-BjrO7pvn.js.map → _server.ts-Mycnkmlz.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CrU9r7-F.js → _server.ts-N6WIc0vw.js} +8 -8
- package/build/server/chunks/{_server.ts-CrU9r7-F.js.map → _server.ts-N6WIc0vw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CJL8da0o.js → _server.ts-XOLGzzNk.js} +8 -8
- package/build/server/chunks/{_server.ts-CJL8da0o.js.map → _server.ts-XOLGzzNk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C5s-OXCm.js → _server.ts-ZE9PYnxj.js} +8 -8
- package/build/server/chunks/{_server.ts-C5s-OXCm.js.map → _server.ts-ZE9PYnxj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-sjM5kn.js → _server.ts-__xVWUvt.js} +8 -8
- package/build/server/chunks/{_server.ts-D-sjM5kn.js.map → _server.ts-__xVWUvt.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DzWtvjem.js → _server.ts-_o3Yebl6.js} +8 -8
- package/build/server/chunks/{_server.ts-DzWtvjem.js.map → _server.ts-_o3Yebl6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CQqURrHY.js → _server.ts-ccd1enMp.js} +8 -8
- package/build/server/chunks/{_server.ts-CQqURrHY.js.map → _server.ts-ccd1enMp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DWN6TJv0.js → _server.ts-iAOP7FW1.js} +5 -5
- package/build/server/chunks/{_server.ts-DWN6TJv0.js.map → _server.ts-iAOP7FW1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CG409cWi.js → _server.ts-l3A6IOvJ.js} +8 -8
- package/build/server/chunks/{_server.ts-CG409cWi.js.map → _server.ts-l3A6IOvJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BkoJOqrr.js → _server.ts-pLeJl6U2.js} +7 -7
- package/build/server/chunks/{_server.ts-BkoJOqrr.js.map → _server.ts-pLeJl6U2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Da9y6lio.js → _server.ts-sEc4S_v5.js} +10 -10
- package/build/server/chunks/{_server.ts-Da9y6lio.js.map → _server.ts-sEc4S_v5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DclRsTpW.js → _server.ts-vp9n_72N.js} +8 -8
- package/build/server/chunks/{_server.ts-DclRsTpW.js.map → _server.ts-vp9n_72N.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D7L27_xI.js → _server.ts-ypkZ9bJf.js} +5 -5
- package/build/server/chunks/{_server.ts-D7L27_xI.js.map → _server.ts-ypkZ9bJf.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-BpnH-GEc.js → addon-helpers-B0E6L7iO.js} +2 -2
- package/build/server/chunks/{addon-helpers-BpnH-GEc.js.map → addon-helpers-B0E6L7iO.js.map} +1 -1
- package/build/server/chunks/{state-C2hkWBTS.js → client-BoEGJzYk.js} +18 -54
- package/build/server/chunks/client-BoEGJzYk.js.map +1 -0
- package/build/server/chunks/{config-0LFudKuE.js → config-2pnPob92.js} +2 -2
- package/build/server/chunks/{config-0LFudKuE.js.map → config-2pnPob92.js.map} +1 -1
- package/build/server/chunks/{docker-B23w4kr6.js → docker-D17EjIlp.js} +2 -2
- package/build/server/chunks/{docker-B23w4kr6.js.map → docker-D17EjIlp.js.map} +1 -1
- package/build/server/chunks/{endpoints-Drq_J-2Z.js → endpoints-DoIeO5WL.js} +2 -2
- package/build/server/chunks/{endpoints-Drq_J-2Z.js.map → endpoints-DoIeO5WL.js.map} +1 -1
- package/build/server/chunks/{environment-Dg_p6tVG.js → environment-B033HICs.js} +2 -2
- package/build/server/chunks/{environment-Dg_p6tVG.js.map → environment-B033HICs.js.map} +1 -1
- package/build/server/chunks/{error.svelte-CwLepqCx.js → error.svelte-BZj_44PV.js} +5 -4
- package/build/server/chunks/{error.svelte-CwLepqCx.js.map → error.svelte-BZj_44PV.js.map} +1 -1
- package/build/server/chunks/{helpers-CX6xRBmt.js → helpers-CeQwqpAT.js} +14 -4
- package/build/server/chunks/helpers-CeQwqpAT.js.map +1 -0
- package/build/server/chunks/{hooks.server-BEVMYNQ4.js → hooks.server-2io-2N7D.js} +14 -8
- package/build/server/chunks/hooks.server-2io-2N7D.js.map +1 -0
- package/build/server/chunks/{http-VqOG8hyj.js → http-CHmjTVGA.js} +2 -2
- package/build/server/chunks/{http-VqOG8hyj.js.map → http-CHmjTVGA.js.map} +1 -1
- package/build/server/chunks/{internal-Cp3QkP7z.js → internal-XQrKrAX-.js} +3 -3
- package/build/server/chunks/{internal-Cp3QkP7z.js.map → internal-XQrKrAX-.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-B4oSSFYi.js → setup-deploy-53S0fflh.js} +2 -2
- package/build/server/chunks/{setup-deploy-B4oSSFYi.js.map → setup-deploy-53S0fflh.js.map} +1 -1
- package/build/server/chunks/{src-BkvQ5Uuf.js → src-D9YnoOnU.js} +3793 -3438
- package/build/server/chunks/src-D9YnoOnU.js.map +1 -0
- package/build/server/chunks/state-C0rbnIhQ.js +62 -0
- package/build/server/chunks/state-C0rbnIhQ.js.map +1 -0
- package/build/server/chunks/{theme-state.svelte-CWo8vi7P.js → theme-state.svelte-CE13yM0n.js} +3 -28
- package/build/server/chunks/theme-state.svelte-CE13yM0n.js.map +1 -0
- package/build/server/index.js +2 -2
- package/build/server/manifest.js +88 -80
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/assets/4.Cztzqv5R.css +0 -1
- package/build/client/_app/immutable/assets/4.Cztzqv5R.css.br +0 -0
- package/build/client/_app/immutable/assets/4.Cztzqv5R.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.c1OWE2A8.css.br +0 -0
- package/build/client/_app/immutable/assets/7.c1OWE2A8.css.gz +0 -0
- package/build/client/_app/immutable/assets/AuthGate.DfqHSVDp.css +0 -1
- package/build/client/_app/immutable/assets/AuthGate.DfqHSVDp.css.br +0 -0
- package/build/client/_app/immutable/assets/AuthGate.DfqHSVDp.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BSMdfeMN.js +0 -1
- package/build/client/_app/immutable/chunks/BSMdfeMN.js.br +0 -0
- package/build/client/_app/immutable/chunks/BSMdfeMN.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BjEia4SW.js +0 -5
- package/build/client/_app/immutable/chunks/BjEia4SW.js.br +0 -0
- package/build/client/_app/immutable/chunks/BjEia4SW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BuFlayix.js.br +0 -0
- package/build/client/_app/immutable/chunks/BuFlayix.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CAubmX5S.js.br +0 -0
- package/build/client/_app/immutable/chunks/CAubmX5S.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CJNvPvFW.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CJNvPvFW.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DwmqlUlw.js +0 -1
- package/build/client/_app/immutable/entry/start.DwmqlUlw.js.br +0 -0
- package/build/client/_app/immutable/entry/start.DwmqlUlw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.PeLinghQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.PeLinghQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.DHPuQEyR.js +0 -1
- package/build/client/_app/immutable/nodes/3.DHPuQEyR.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DHPuQEyR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.COvuzhaR.js +0 -19
- package/build/client/_app/immutable/nodes/4.COvuzhaR.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.COvuzhaR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CwQtqrUQ.js +0 -4
- package/build/client/_app/immutable/nodes/5.CwQtqrUQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CwQtqrUQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.C5VVUmgG.js +0 -1
- package/build/client/_app/immutable/nodes/6.C5VVUmgG.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.C5VVUmgG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.1EAyMveL.js +0 -15
- package/build/client/_app/immutable/nodes/7.1EAyMveL.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.1EAyMveL.js.gz +0 -0
- package/build/server/chunks/1-igjiofM3.js +0 -9
- package/build/server/chunks/4-C2Mmtu1u.js +0 -9
- package/build/server/chunks/4-C2Mmtu1u.js.map +0 -1
- package/build/server/chunks/5-ohTh1gNU.js +0 -9
- package/build/server/chunks/5-ohTh1gNU.js.map +0 -1
- package/build/server/chunks/6-CZ1tE6rz.js +0 -9
- package/build/server/chunks/6-CZ1tE6rz.js.map +0 -1
- package/build/server/chunks/7-CI-hsKrQ.js +0 -9
- package/build/server/chunks/7-CI-hsKrQ.js.map +0 -1
- package/build/server/chunks/AuthGate-CUCB24XJ.js.map +0 -1
- package/build/server/chunks/_page.svelte-D2EUxxQd.js.map +0 -1
- package/build/server/chunks/_page.svelte-IYpnCiW7.js +0 -107
- package/build/server/chunks/_page.svelte-IYpnCiW7.js.map +0 -1
- package/build/server/chunks/_page.svelte-msBK2Ff8.js.map +0 -1
- package/build/server/chunks/_page.svelte-waB4Hz3U.js +0 -67
- package/build/server/chunks/_page.svelte-waB4Hz3U.js.map +0 -1
- package/build/server/chunks/_server.ts-CtZuKotA.js.map +0 -1
- package/build/server/chunks/helpers-CX6xRBmt.js.map +0 -1
- package/build/server/chunks/hooks.server-BEVMYNQ4.js.map +0 -1
- package/build/server/chunks/src-BkvQ5Uuf.js.map +0 -1
- package/build/server/chunks/state-C2hkWBTS.js.map +0 -1
- package/build/server/chunks/theme-state.svelte-CWo8vi7P.js.map +0 -1
- /package/build/client/_app/immutable/assets/{8.cpz_TytB.css → 9.cpz_TytB.css} +0 -0
- /package/build/client/_app/immutable/assets/{8.cpz_TytB.css.br → 9.cpz_TytB.css.br} +0 -0
- /package/build/client/_app/immutable/assets/{8.cpz_TytB.css.gz → 9.cpz_TytB.css.gz} +0 -0
- /package/build/client/_app/immutable/nodes/{8.2jRmEBBC.js → 9.C1MP3zci.js} +0 -0
- /package/build/client/_app/immutable/nodes/{8.2jRmEBBC.js.br → 9.C1MP3zci.js.br} +0 -0
- /package/build/client/_app/immutable/nodes/{8.2jRmEBBC.js.gz → 9.C1MP3zci.js.gz} +0 -0
|
@@ -1,31 +1,219 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { o as onDestroy,
|
|
3
|
-
import { g as fetchEndpoints,
|
|
1
|
+
import { o as derived, r as escape_html, p as ensure_array_like, e as attr_class, d as attr, a8 as stringify, f as attr_style } from './dev-B6xUe35c.js';
|
|
2
|
+
import { o as onDestroy, g as goto } from './client-BoEGJzYk.js';
|
|
3
|
+
import { g as fetchEndpoints, m as setActiveEndpoint, l as listSessions, k as getSessionMessages, c as createSession, s as sendChatMessage, v as voiceState, p as speakText, q as stopSpeaking, d as destroyVoice, t as themeService } from './theme-state.svelte-CE13yM0n.js';
|
|
4
|
+
import { p as page } from './state-C0rbnIhQ.js';
|
|
4
5
|
import { S as Spinner } from './Spinner-Bk6e83RX.js';
|
|
5
6
|
|
|
6
|
-
//#region src/lib/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
//#region src/lib/format-date.ts
|
|
8
|
+
var TIME_FMT = new Intl.DateTimeFormat(void 0, {
|
|
9
|
+
hour: "numeric",
|
|
10
|
+
minute: "2-digit"
|
|
11
|
+
});
|
|
12
|
+
var DATE_TIME_FMT = new Intl.DateTimeFormat(void 0, {
|
|
13
|
+
year: "numeric",
|
|
14
|
+
month: "short",
|
|
15
|
+
day: "numeric",
|
|
16
|
+
hour: "numeric",
|
|
17
|
+
minute: "2-digit"
|
|
18
|
+
});
|
|
19
|
+
/** Time of day, e.g. "3:42 PM" (locale-aware). Empty string for a falsy input. */
|
|
20
|
+
function formatTime(ts) {
|
|
21
|
+
if (!ts) return "";
|
|
22
|
+
return TIME_FMT.format(ts);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Absolute date + time, e.g. "Jun 7, 2026, 3:42 PM". Use for tooltips / full
|
|
26
|
+
* context where a relative label alone is ambiguous. Empty for a falsy input.
|
|
27
|
+
*/
|
|
28
|
+
function formatDateTime(ts) {
|
|
29
|
+
if (!ts) return "";
|
|
30
|
+
return DATE_TIME_FMT.format(ts);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Compact relative time, e.g. "just now", "5m ago", "yesterday", "3w ago".
|
|
34
|
+
* Empty string for a falsy input. No date-fns dependency — that would be ~30 KB
|
|
35
|
+
* for these few cases.
|
|
36
|
+
*/
|
|
37
|
+
function formatRelativeTime(ts) {
|
|
38
|
+
if (!ts) return "";
|
|
39
|
+
const diffSec = Math.max(0, (Date.now() - ts) / 1e3);
|
|
40
|
+
if (diffSec < 60) return "just now";
|
|
41
|
+
const min = Math.floor(diffSec / 60);
|
|
42
|
+
if (min < 60) return `${min}m ago`;
|
|
43
|
+
const hr = Math.floor(min / 60);
|
|
44
|
+
if (hr < 24) return `${hr}h ago`;
|
|
45
|
+
const day = Math.floor(hr / 24);
|
|
46
|
+
if (day === 1) return "yesterday";
|
|
47
|
+
if (day < 7) return `${day}d ago`;
|
|
48
|
+
const wk = Math.floor(day / 7);
|
|
49
|
+
if (wk < 5) return `${wk}w ago`;
|
|
50
|
+
const mo = Math.floor(day / 30);
|
|
51
|
+
if (mo < 12) return `${mo}mo ago`;
|
|
52
|
+
return `${Math.floor(day / 365)}y ago`;
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/lib/components/common/IconButton.svelte
|
|
56
|
+
function IconButton($$renderer, $$props) {
|
|
57
|
+
/** Icon contents (an inline <svg> or spinner). */
|
|
58
|
+
/** Optional visible label; when present the button grows from a square to a pill. */
|
|
59
|
+
/** Render as an anchor instead of a button when a destination is given. */
|
|
60
|
+
/** "On"/active look (used by ToggleButton and active states). */
|
|
61
|
+
/** Colour of the selected state. */
|
|
62
|
+
/** Mirrors the toggle state for assistive tech (set by ToggleButton). */
|
|
63
|
+
let { icon, label, title, ariaLabel, disabled = false, href, onclick, type = "button", selected = false, tone = "primary", ariaPressed } = $$props;
|
|
64
|
+
if (href) {
|
|
65
|
+
$$renderer.push("<!--[0-->");
|
|
66
|
+
$$renderer.push(`<a${attr_class("icon-btn svelte-vx1yib", void 0, {
|
|
67
|
+
"has-label": label,
|
|
68
|
+
"selected": selected,
|
|
69
|
+
"tone-danger": tone === "danger"
|
|
70
|
+
})}${attr("href", href)}${attr("title", title ?? ariaLabel ?? label)}${attr("aria-label", ariaLabel ?? label)}${attr("aria-disabled", disabled || void 0)}>`);
|
|
71
|
+
icon($$renderer);
|
|
72
|
+
$$renderer.push(`<!----> `);
|
|
73
|
+
if (label) {
|
|
13
74
|
$$renderer.push("<!--[0-->");
|
|
14
|
-
$$renderer.push(`<
|
|
15
|
-
} else
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
75
|
+
$$renderer.push(`<span class="icon-btn-label svelte-vx1yib">${escape_html(label)}</span>`);
|
|
76
|
+
} else $$renderer.push("<!--[-1-->");
|
|
77
|
+
$$renderer.push(`<!--]--></a>`);
|
|
78
|
+
} else {
|
|
79
|
+
$$renderer.push("<!--[-1-->");
|
|
80
|
+
$$renderer.push(`<button${attr_class("icon-btn svelte-vx1yib", void 0, {
|
|
81
|
+
"has-label": label,
|
|
82
|
+
"selected": selected,
|
|
83
|
+
"tone-danger": tone === "danger"
|
|
84
|
+
})}${attr("type", type)}${attr("disabled", disabled, true)}${attr("title", title ?? ariaLabel ?? label)}${attr("aria-label", ariaLabel ?? label)}${attr("aria-pressed", ariaPressed)}>`);
|
|
85
|
+
icon($$renderer);
|
|
86
|
+
$$renderer.push(`<!----> `);
|
|
87
|
+
if (label) {
|
|
88
|
+
$$renderer.push("<!--[0-->");
|
|
89
|
+
$$renderer.push(`<span class="icon-btn-label svelte-vx1yib">${escape_html(label)}</span>`);
|
|
90
|
+
} else $$renderer.push("<!--[-1-->");
|
|
19
91
|
$$renderer.push(`<!--]--></button>`);
|
|
92
|
+
}
|
|
93
|
+
$$renderer.push(`<!--]-->`);
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
96
|
+
//#region src/lib/components/common/ToggleButton.svelte
|
|
97
|
+
function ToggleButton($$renderer, $$props) {
|
|
98
|
+
/** Icon shown when off (and when on, if no selectedIcon is given). */
|
|
99
|
+
/** Optional distinct icon shown when on. */
|
|
100
|
+
/** Colour of the on state. */
|
|
101
|
+
let { pressed, onToggle, icon, selectedIcon, label, title, ariaLabel, disabled = false, tone = "primary" } = $$props;
|
|
102
|
+
IconButton($$renderer, {
|
|
103
|
+
icon: pressed && selectedIcon ? selectedIcon : icon,
|
|
104
|
+
label,
|
|
105
|
+
title,
|
|
106
|
+
ariaLabel,
|
|
107
|
+
disabled,
|
|
108
|
+
tone,
|
|
109
|
+
selected: pressed,
|
|
110
|
+
ariaPressed: pressed,
|
|
111
|
+
onclick: onToggle
|
|
20
112
|
});
|
|
21
113
|
}
|
|
22
114
|
//#endregion
|
|
23
115
|
//#region src/lib/components/chrome/ModeSwitch.svelte
|
|
116
|
+
function advancedIcon($$renderer) {
|
|
117
|
+
$$renderer.push(`<svg aria-hidden="true" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><path d="m7 9 3 3-3 3"></path><line x1="13" y1="15" x2="17" y2="15"></line></svg>`);
|
|
118
|
+
}
|
|
24
119
|
function ModeSwitch($$renderer, $$props) {
|
|
25
120
|
$$renderer.component(($$renderer) => {
|
|
26
121
|
const pathname = derived(() => page.url?.pathname ?? "");
|
|
27
122
|
const onAdvanced = derived(() => pathname() === "/advanced" || pathname().startsWith("/advanced/"));
|
|
28
|
-
|
|
123
|
+
function toggle() {
|
|
124
|
+
goto(onAdvanced() ? "/chat" : "/advanced");
|
|
125
|
+
}
|
|
126
|
+
ToggleButton($$renderer, {
|
|
127
|
+
pressed: onAdvanced(),
|
|
128
|
+
onToggle: toggle,
|
|
129
|
+
ariaLabel: "Advanced mode",
|
|
130
|
+
title: "Advanced mode (embedded OpenCode)",
|
|
131
|
+
icon: advancedIcon
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
//#endregion
|
|
136
|
+
//#region src/lib/components/common/Drawer.svelte
|
|
137
|
+
function Drawer($$renderer, $$props) {
|
|
138
|
+
$$renderer.component(($$renderer) => {
|
|
139
|
+
/** Optional content rendered at the start of the header (e.g. a back button). */
|
|
140
|
+
/** Drawer width (CSS length). */
|
|
141
|
+
let { open, title, onClose, children, footer, headerStart, width = "32rem" } = $$props;
|
|
142
|
+
if (open) {
|
|
143
|
+
$$renderer.push("<!--[0-->");
|
|
144
|
+
$$renderer.push(`<div class="drawer-scrim svelte-1u2o1qj"></div> <div class="drawer svelte-1u2o1qj"${attr_style(`--drawer-width: ${stringify(width)}`)} role="dialog" aria-modal="true"${attr("aria-label", title)} tabindex="-1"><header class="drawer-header svelte-1u2o1qj">`);
|
|
145
|
+
if (headerStart) {
|
|
146
|
+
$$renderer.push("<!--[0-->");
|
|
147
|
+
headerStart($$renderer);
|
|
148
|
+
$$renderer.push(`<!---->`);
|
|
149
|
+
} else $$renderer.push("<!--[-1-->");
|
|
150
|
+
$$renderer.push(`<!--]--> <h3 class="drawer-title svelte-1u2o1qj">${escape_html(title)}</h3> <button class="drawer-close svelte-1u2o1qj" aria-label="Close"><svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg></button></header> <div class="drawer-body svelte-1u2o1qj">`);
|
|
151
|
+
children($$renderer);
|
|
152
|
+
$$renderer.push(`<!----></div> `);
|
|
153
|
+
if (footer) {
|
|
154
|
+
$$renderer.push("<!--[0-->");
|
|
155
|
+
$$renderer.push(`<footer class="drawer-footer svelte-1u2o1qj">`);
|
|
156
|
+
footer($$renderer);
|
|
157
|
+
$$renderer.push(`<!----></footer>`);
|
|
158
|
+
} else $$renderer.push("<!--[-1-->");
|
|
159
|
+
$$renderer.push(`<!--]--></div>`);
|
|
160
|
+
} else $$renderer.push("<!--[-1-->");
|
|
161
|
+
$$renderer.push(`<!--]-->`);
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
//#endregion
|
|
165
|
+
//#region src/lib/components/chrome/SettingsDrawer.svelte
|
|
166
|
+
function gearIcon($$renderer) {
|
|
167
|
+
$$renderer.push(`<svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg>`);
|
|
168
|
+
}
|
|
169
|
+
function SettingsDrawer($$renderer, $$props) {
|
|
170
|
+
$$renderer.component(($$renderer) => {
|
|
171
|
+
let { showManageAssistant = true } = $$props;
|
|
172
|
+
let open = false;
|
|
173
|
+
function setTheme(event) {
|
|
174
|
+
const next = event.currentTarget.value;
|
|
175
|
+
if (next === "light" || next === "dark" || next === "system") themeService.setPreference(next);
|
|
176
|
+
}
|
|
177
|
+
IconButton($$renderer, {
|
|
178
|
+
icon: gearIcon,
|
|
179
|
+
ariaLabel: "Settings",
|
|
180
|
+
title: "Settings",
|
|
181
|
+
selected: open,
|
|
182
|
+
ariaPressed: open,
|
|
183
|
+
onclick: () => open = true
|
|
184
|
+
});
|
|
185
|
+
$$renderer.push(`<!----> `);
|
|
186
|
+
Drawer($$renderer, {
|
|
187
|
+
open,
|
|
188
|
+
title: "Settings",
|
|
189
|
+
onClose: () => open = false,
|
|
190
|
+
width: "24rem",
|
|
191
|
+
children: ($$renderer) => {
|
|
192
|
+
$$renderer.push(`<div class="settings-drawer svelte-4kbm5j"><label class="field svelte-4kbm5j" for="theme-preference"><span class="field-label svelte-4kbm5j">Theme</span> `);
|
|
193
|
+
$$renderer.select({
|
|
194
|
+
id: "theme-preference",
|
|
195
|
+
class: "field-select",
|
|
196
|
+
value: themeService.preference,
|
|
197
|
+
onchange: setTheme
|
|
198
|
+
}, ($$renderer) => {
|
|
199
|
+
$$renderer.option({ value: "system" }, ($$renderer) => {
|
|
200
|
+
$$renderer.push(`System`);
|
|
201
|
+
});
|
|
202
|
+
$$renderer.option({ value: "light" }, ($$renderer) => {
|
|
203
|
+
$$renderer.push(`Light`);
|
|
204
|
+
});
|
|
205
|
+
$$renderer.option({ value: "dark" }, ($$renderer) => {
|
|
206
|
+
$$renderer.push(`Dark`);
|
|
207
|
+
});
|
|
208
|
+
}, "svelte-4kbm5j");
|
|
209
|
+
$$renderer.push(`</label> <nav class="settings-links svelte-4kbm5j" aria-label="Settings links">`);
|
|
210
|
+
if (showManageAssistant) {
|
|
211
|
+
$$renderer.push("<!--[0-->");
|
|
212
|
+
$$renderer.push(`<a class="settings-link svelte-4kbm5j" href="/admin">Manage this assistant...</a>`);
|
|
213
|
+
} else $$renderer.push("<!--[-1-->");
|
|
214
|
+
$$renderer.push(`<!--]--> <a class="settings-link svelte-4kbm5j" href="/admin/endpoints">Manage assistant connections...</a></nav></div>`);
|
|
215
|
+
}});
|
|
216
|
+
$$renderer.push(`<!---->`);
|
|
29
217
|
});
|
|
30
218
|
}
|
|
31
219
|
//#endregion
|
|
@@ -533,30 +721,97 @@ var EndpointsService = class {
|
|
|
533
721
|
};
|
|
534
722
|
var endpointsService = new EndpointsService();
|
|
535
723
|
//#endregion
|
|
536
|
-
//#region src/lib/
|
|
537
|
-
function
|
|
724
|
+
//#region src/lib/assistant-endpoint.ts
|
|
725
|
+
function isLocalAssistantUrl(url) {
|
|
726
|
+
if (!url) return true;
|
|
727
|
+
try {
|
|
728
|
+
const host = new URL(url).hostname;
|
|
729
|
+
return host === "localhost" || host === "127.0.0.1" || host === "::1" || host === "host.docker.internal";
|
|
730
|
+
} catch {
|
|
731
|
+
return true;
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
//#endregion
|
|
735
|
+
//#region src/lib/components/chat/EndpointList.svelte
|
|
736
|
+
function EndpointList($$renderer, $$props) {
|
|
538
737
|
$$renderer.component(($$renderer) => {
|
|
539
|
-
|
|
540
|
-
let
|
|
541
|
-
let isOpen = false;
|
|
738
|
+
/** Called after the active endpoint changes (e.g. to close the drawer). */
|
|
739
|
+
let { onChosen } = $$props;
|
|
542
740
|
const active = derived(() => endpointsService.active);
|
|
543
741
|
const endpoints = derived(() => endpointsService.endpoints);
|
|
544
|
-
const
|
|
545
|
-
|
|
742
|
+
const showManageAssistant = derived(() => isLocalAssistantUrl(active()?.url));
|
|
743
|
+
let switching = false;
|
|
744
|
+
$$renderer.push(`<div class="endpoint-list svelte-dlw00e">`);
|
|
745
|
+
if (endpointsService.error) {
|
|
746
|
+
$$renderer.push("<!--[0-->");
|
|
747
|
+
$$renderer.push(`<p class="list-error svelte-dlw00e" role="alert">${escape_html(endpointsService.error)}</p>`);
|
|
748
|
+
} else $$renderer.push("<!--[-1-->");
|
|
749
|
+
$$renderer.push(`<!--]--> <div class="group" role="group" aria-label="Assistant endpoints"><!--[-->`);
|
|
546
750
|
const each_array = ensure_array_like(endpoints());
|
|
547
751
|
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
548
752
|
let ep = each_array[$$index];
|
|
549
|
-
$$renderer.push(`<button type="button"${attr_class("
|
|
753
|
+
$$renderer.push(`<button type="button"${attr_class("list-item svelte-dlw00e", void 0, { "active": ep.id === active()?.id })}${attr("aria-current", ep.id === active()?.id ? "true" : void 0)}${attr("disabled", switching, true)}><span class="item-text svelte-dlw00e"><span class="item-label svelte-dlw00e">${escape_html(ep.label)}`);
|
|
754
|
+
if (ep.id === active()?.id) {
|
|
755
|
+
$$renderer.push("<!--[0-->");
|
|
756
|
+
$$renderer.push(`<span class="sr-only svelte-dlw00e">(current)</span>`);
|
|
757
|
+
} else $$renderer.push("<!--[-1-->");
|
|
758
|
+
$$renderer.push(`<!--]--></span> <span class="item-url svelte-dlw00e">${escape_html(ep.url)}</span></span></button>`);
|
|
550
759
|
}
|
|
551
|
-
$$renderer.push(`<!--]
|
|
760
|
+
$$renderer.push(`<!--]--></div> <div class="divider svelte-dlw00e"></div> `);
|
|
761
|
+
if (showManageAssistant()) {
|
|
762
|
+
$$renderer.push("<!--[0-->");
|
|
763
|
+
$$renderer.push(`<a class="list-item link svelte-dlw00e" href="/admin">Manage this assistant…</a>`);
|
|
764
|
+
} else $$renderer.push("<!--[-1-->");
|
|
765
|
+
$$renderer.push(`<!--]--> <a class="list-item link svelte-dlw00e" href="/admin/endpoints">Manage assistant connections…</a></div>`);
|
|
552
766
|
});
|
|
553
767
|
}
|
|
554
768
|
//#endregion
|
|
555
|
-
//#region src/lib/components/chat/
|
|
556
|
-
function
|
|
769
|
+
//#region src/lib/components/chat/EndpointSwitcher.svelte
|
|
770
|
+
function EndpointSwitcher($$renderer, $$props) {
|
|
771
|
+
$$renderer.component(($$renderer) => {
|
|
772
|
+
let open = false;
|
|
773
|
+
const active = derived(() => endpointsService.active);
|
|
774
|
+
$$renderer.push(`<button type="button" class="trigger svelte-48xr05" aria-haspopup="dialog"${attr("aria-expanded", open)}${attr("aria-label", active() ? `Assistant endpoint: ${active().label}` : "Assistant endpoints")}${attr("title", active() ? `Connected to: ${active().label} (${active().url})` : "Assistant endpoints")}${attr("disabled", endpointsService.loading, true)}><svg class="trigger-icon svelte-48xr05" aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg> <span class="dot svelte-48xr05" aria-hidden="true"></span> <span class="label svelte-48xr05">${escape_html(active()?.label ?? "Endpoint…")}</span> <span class="caret svelte-48xr05" aria-hidden="true">▾</span></button> `);
|
|
775
|
+
Drawer($$renderer, {
|
|
776
|
+
open,
|
|
777
|
+
title: "Assistant endpoint",
|
|
778
|
+
onClose: () => open = false,
|
|
779
|
+
width: "26rem",
|
|
780
|
+
children: ($$renderer) => {
|
|
781
|
+
EndpointList($$renderer, { onChosen: () => open = false });
|
|
782
|
+
}});
|
|
783
|
+
$$renderer.push(`<!---->`);
|
|
784
|
+
});
|
|
785
|
+
}
|
|
786
|
+
//#endregion
|
|
787
|
+
//#region src/lib/session-title.ts
|
|
788
|
+
var DEFAULT_TITLE_RE = /^New session - (\d{4}-\d{2}-\d{2}T[0-9:.]+Z?)$/;
|
|
789
|
+
/** Resolve a session's display title. */
|
|
790
|
+
function resolveSessionTitle(title) {
|
|
791
|
+
const trimmed = (title ?? "").trim();
|
|
792
|
+
if (!trimmed) return "Untitled session";
|
|
793
|
+
const match = DEFAULT_TITLE_RE.exec(trimmed);
|
|
794
|
+
if (match) {
|
|
795
|
+
const ts = Date.parse(match[1]);
|
|
796
|
+
if (!Number.isNaN(ts)) return formatDateTime(ts);
|
|
797
|
+
}
|
|
798
|
+
return trimmed;
|
|
799
|
+
}
|
|
800
|
+
//#endregion
|
|
801
|
+
//#region src/lib/components/chat/SessionTitle.svelte
|
|
802
|
+
function SessionTitle($$renderer, $$props) {
|
|
803
|
+
$$renderer.component(($$renderer) => {
|
|
804
|
+
let { title } = $$props;
|
|
805
|
+
const display = derived(() => resolveSessionTitle(title));
|
|
806
|
+
$$renderer.push(`<!---->${escape_html(display())}`);
|
|
807
|
+
});
|
|
808
|
+
}
|
|
809
|
+
//#endregion
|
|
810
|
+
//#region src/lib/components/chat/SessionList.svelte
|
|
811
|
+
function SessionList($$renderer, $$props) {
|
|
557
812
|
$$renderer.component(($$renderer) => {
|
|
558
|
-
|
|
559
|
-
let
|
|
813
|
+
/** Called after a session is opened or started (e.g. to close the drawer). */
|
|
814
|
+
let { onChosen } = $$props;
|
|
560
815
|
const SESSION_LIST_CAP = 50;
|
|
561
816
|
const active = derived(() => endpointsService.active);
|
|
562
817
|
const endpointState = derived(() => active() ? chat.byEndpoint.get(active().id) ?? null : null);
|
|
@@ -564,72 +819,72 @@ function SessionPicker($$renderer, $$props) {
|
|
|
564
819
|
const loading = derived(() => endpointState()?.sessionsLoading ?? false);
|
|
565
820
|
const error = derived(() => endpointState()?.sessionsError ?? "");
|
|
566
821
|
const activeSessionId = derived(() => chat.activeSessionId);
|
|
567
|
-
const activeSummary = derived(() => sessions().find((s) => s.id === activeSessionId()) ?? null);
|
|
568
|
-
const triggerLabel = derived(() => activeSummary() ? activeSummary().title || `Untitled · ${formatRelative(activeSummary().updatedAt)}` : "New session");
|
|
569
|
-
/**
|
|
570
|
-
* Live-updates indicator. True when the chat service's SSE stream to
|
|
571
|
-
* `/proxy/assistant/event` is connected — out-of-band session changes
|
|
572
|
-
* (CLI, other clients) will flow through. Shown as a tiny dot so the
|
|
573
|
-
* operator can tell at a glance whether the picker is reactive or
|
|
574
|
-
* snapshot.
|
|
575
|
-
*/
|
|
576
|
-
const liveConnected = derived(() => chat.liveConnected);
|
|
577
822
|
const visibleSessions = derived(() => sessions().slice(0, SESSION_LIST_CAP));
|
|
578
823
|
const overflowCount = derived(() => Math.max(0, sessions().length - SESSION_LIST_CAP));
|
|
579
|
-
|
|
580
|
-
* Tiny relative-time helper. No date-fns dep — that would be ~30 KB for
|
|
581
|
-
* 4 cases.
|
|
582
|
-
*/
|
|
583
|
-
function formatRelative(ts) {
|
|
584
|
-
if (!ts) return "";
|
|
585
|
-
const diffSec = Math.max(0, (Date.now() - ts) / 1e3);
|
|
586
|
-
if (diffSec < 60) return "just now";
|
|
587
|
-
const min = Math.floor(diffSec / 60);
|
|
588
|
-
if (min < 60) return `${min}m ago`;
|
|
589
|
-
const hr = Math.floor(min / 60);
|
|
590
|
-
if (hr < 24) return `${hr}h ago`;
|
|
591
|
-
const day = Math.floor(hr / 24);
|
|
592
|
-
if (day === 1) return "yesterday";
|
|
593
|
-
if (day < 7) return `${day}d ago`;
|
|
594
|
-
const wk = Math.floor(day / 7);
|
|
595
|
-
if (wk < 5) return `${wk}w ago`;
|
|
596
|
-
const mo = Math.floor(day / 30);
|
|
597
|
-
if (mo < 12) return `${mo}mo ago`;
|
|
598
|
-
return `${Math.floor(day / 365)}y ago`;
|
|
599
|
-
}
|
|
600
|
-
$$renderer.push(`<div class="picker svelte-cihcnl"><button type="button" class="trigger svelte-cihcnl" id="session-trigger"${attr("popovertarget", menuId)} aria-haspopup="menu"${attr("aria-expanded", isOpen)}${attr("aria-controls", menuId)} aria-label="Sessions"${attr("title", triggerLabel())}><svg class="trigger-icon svelte-cihcnl" aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z"></path><path d="M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"></path></svg> <span${attr_class("dot svelte-cihcnl", void 0, { "connected": liveConnected() })} aria-hidden="true"${attr("title", liveConnected() ? "Live updates connected" : "Live updates disconnected")}></span> <span class="label svelte-cihcnl">${escape_html(triggerLabel())}</span> <span class="caret svelte-cihcnl" aria-hidden="true">▾</span></button> <div${attr("id", menuId)} class="menu svelte-cihcnl" popover="auto" role="menu" tabindex="-1"><div class="menu-header svelte-cihcnl">Sessions on ${escape_html(active()?.label ?? "this endpoint")}</div> `);
|
|
824
|
+
$$renderer.push(`<div class="session-body svelte-1o6rxhb">`);
|
|
601
825
|
if (chat.sending) {
|
|
602
826
|
$$renderer.push("<!--[0-->");
|
|
603
|
-
$$renderer.push(`<div class="notice svelte-
|
|
827
|
+
$$renderer.push(`<div class="notice svelte-1o6rxhb">Wait for the current reply to finish before switching.</div>`);
|
|
604
828
|
} else $$renderer.push("<!--[-1-->");
|
|
605
|
-
$$renderer.push(`<!--]-->
|
|
829
|
+
$$renderer.push(`<!--]--> `);
|
|
606
830
|
if (loading()) {
|
|
607
831
|
$$renderer.push("<!--[0-->");
|
|
608
|
-
$$renderer.push(`<div class="empty svelte-
|
|
832
|
+
$$renderer.push(`<div class="empty svelte-1o6rxhb">`);
|
|
609
833
|
Spinner($$renderer, { size: 12 });
|
|
610
|
-
$$renderer.push(
|
|
834
|
+
$$renderer.push(`<!----><span>Loading sessions…</span></div>`);
|
|
611
835
|
} else if (error()) {
|
|
612
836
|
$$renderer.push("<!--[1-->");
|
|
613
|
-
$$renderer.push(`<div class="error svelte-
|
|
837
|
+
$$renderer.push(`<div class="list-error svelte-1o6rxhb"><span class="svelte-1o6rxhb">${escape_html(error())}</span> <button type="button" class="retry-btn svelte-1o6rxhb">Retry</button></div>`);
|
|
614
838
|
} else if (sessions().length === 0) {
|
|
615
839
|
$$renderer.push("<!--[2-->");
|
|
616
|
-
$$renderer.push(`<div class="empty svelte-
|
|
840
|
+
$$renderer.push(`<div class="empty svelte-1o6rxhb">No sessions yet. Start the first one.</div>`);
|
|
617
841
|
} else {
|
|
618
842
|
$$renderer.push("<!--[-1-->");
|
|
619
|
-
$$renderer.push(`<div class="session-list svelte-
|
|
843
|
+
$$renderer.push(`<div class="session-list svelte-1o6rxhb" role="group" aria-label="Sessions"><!--[-->`);
|
|
620
844
|
const each_array = ensure_array_like(visibleSessions());
|
|
621
845
|
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
622
846
|
let s = each_array[$$index];
|
|
623
|
-
$$renderer.push(`<button type="button"${attr_class("
|
|
847
|
+
$$renderer.push(`<button type="button"${attr_class("list-item session-item svelte-1o6rxhb", void 0, { "active": s.id === activeSessionId() })}${attr("aria-current", s.id === activeSessionId() ? "true" : void 0)}${attr("disabled", chat.sending, true)}${attr("title", formatDateTime(s.updatedAt))}><span class="item-text svelte-1o6rxhb"><span class="item-label svelte-1o6rxhb">`);
|
|
848
|
+
SessionTitle($$renderer, { title: s.title });
|
|
849
|
+
$$renderer.push(`<!---->`);
|
|
850
|
+
if (s.id === activeSessionId()) {
|
|
851
|
+
$$renderer.push("<!--[0-->");
|
|
852
|
+
$$renderer.push(`<span class="sr-only svelte-1o6rxhb">(current)</span>`);
|
|
853
|
+
} else $$renderer.push("<!--[-1-->");
|
|
854
|
+
$$renderer.push(`<!--]--></span> <span class="item-meta svelte-1o6rxhb">${escape_html(formatRelativeTime(s.updatedAt))}</span></span></button>`);
|
|
624
855
|
}
|
|
625
856
|
$$renderer.push(`<!--]--></div> `);
|
|
626
857
|
if (overflowCount() > 0) {
|
|
627
858
|
$$renderer.push("<!--[0-->");
|
|
628
|
-
$$renderer.push(`<button type="button" class="show-all svelte-
|
|
859
|
+
$$renderer.push(`<button type="button" class="show-all svelte-1o6rxhb">Show all (${escape_html(overflowCount())} more)</button>`);
|
|
629
860
|
} else $$renderer.push("<!--[-1-->");
|
|
630
861
|
$$renderer.push(`<!--]-->`);
|
|
631
862
|
}
|
|
632
|
-
$$renderer.push(`<!--]
|
|
863
|
+
$$renderer.push(`<!--]--> <div class="divider svelte-1o6rxhb"></div> <button type="button" class="list-item new-btn svelte-1o6rxhb"${attr("disabled", chat.sending, true)}><span class="check svelte-1o6rxhb" aria-hidden="true">+</span> <span class="item-text svelte-1o6rxhb"><span class="item-label svelte-1o6rxhb">New session</span></span></button></div>`);
|
|
864
|
+
});
|
|
865
|
+
}
|
|
866
|
+
//#endregion
|
|
867
|
+
//#region src/lib/components/chat/SessionPicker.svelte
|
|
868
|
+
function SessionPicker($$renderer, $$props) {
|
|
869
|
+
$$renderer.component(($$renderer) => {
|
|
870
|
+
let open = false;
|
|
871
|
+
const active = derived(() => endpointsService.active);
|
|
872
|
+
const endpointState = derived(() => active() ? chat.byEndpoint.get(active().id) ?? null : null);
|
|
873
|
+
const sessions = derived(() => endpointState()?.sessions ?? []);
|
|
874
|
+
const activeSessionId = derived(() => chat.activeSessionId);
|
|
875
|
+
const liveConnected = derived(() => chat.liveConnected);
|
|
876
|
+
const activeSummary = derived(() => sessions().find((s) => s.id === activeSessionId()) ?? null);
|
|
877
|
+
const triggerLabel = derived(() => activeSummary() ? resolveSessionTitle(activeSummary().title) : "New session");
|
|
878
|
+
$$renderer.push(`<button type="button" class="trigger svelte-cihcnl" aria-haspopup="dialog"${attr("aria-expanded", open)} aria-label="Sessions"${attr("title", triggerLabel())}><svg class="trigger-icon svelte-cihcnl" aria-hidden="true" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 9a2 2 0 0 1-2 2H6l-4 4V4c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2z"></path><path d="M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1"></path></svg> <span${attr_class("dot svelte-cihcnl", void 0, { "connected": liveConnected() })} aria-hidden="true"${attr("title", liveConnected() ? "Live updates connected" : "Live updates disconnected")}></span> <span class="label svelte-cihcnl">${escape_html(triggerLabel())}</span> <span class="caret svelte-cihcnl" aria-hidden="true">▾</span></button> `);
|
|
879
|
+
Drawer($$renderer, {
|
|
880
|
+
open,
|
|
881
|
+
title: `Sessions on ${stringify(active()?.label ?? "this endpoint")}`,
|
|
882
|
+
onClose: () => open = false,
|
|
883
|
+
width: "26rem",
|
|
884
|
+
children: ($$renderer) => {
|
|
885
|
+
SessionList($$renderer, { onChosen: () => open = false });
|
|
886
|
+
}});
|
|
887
|
+
$$renderer.push(`<!---->`);
|
|
633
888
|
});
|
|
634
889
|
}
|
|
635
890
|
//#endregion
|
|
@@ -638,7 +893,11 @@ function VoiceControl($$renderer, $$props) {
|
|
|
638
893
|
$$renderer.component(($$renderer) => {
|
|
639
894
|
const MAX_INTERIM_CHARS = 48;
|
|
640
895
|
let mounted = false;
|
|
896
|
+
let removeGlobalMicToggle = null;
|
|
641
897
|
onDestroy(() => {
|
|
898
|
+
window.openpalm?.setTrayMicRecording?.(false);
|
|
899
|
+
removeGlobalMicToggle?.();
|
|
900
|
+
removeGlobalMicToggle = null;
|
|
642
901
|
destroyVoice();
|
|
643
902
|
});
|
|
644
903
|
let supported = derived(() => mounted);
|
|
@@ -696,68 +955,49 @@ function VoiceControl($$renderer, $$props) {
|
|
|
696
955
|
}
|
|
697
956
|
//#endregion
|
|
698
957
|
//#region src/lib/components/chrome/Navbar.svelte
|
|
958
|
+
function chatIcon($$renderer) {
|
|
959
|
+
$$renderer.push(`<svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>`);
|
|
960
|
+
}
|
|
699
961
|
function Navbar($$renderer, $$props) {
|
|
700
962
|
$$renderer.component(($$renderer) => {
|
|
701
963
|
const pathname = derived(() => page.url?.pathname ?? "");
|
|
702
964
|
const onAdmin = derived(() => pathname() === "/admin" || pathname().startsWith("/admin/"));
|
|
703
|
-
const onChatSurface = derived(() => pathname() === "/chat" || pathname().startsWith("/chat/")
|
|
704
|
-
|
|
965
|
+
const onChatSurface = derived(() => pathname() === "/chat" || pathname().startsWith("/chat/"));
|
|
966
|
+
const onAdvancedSurface = derived(() => pathname() === "/advanced" || pathname().startsWith("/advanced/"));
|
|
705
967
|
const isLocalAssistant = derived(() => {
|
|
706
|
-
|
|
707
|
-
if (!url) return true;
|
|
708
|
-
try {
|
|
709
|
-
const host = new URL(url).hostname;
|
|
710
|
-
return host === "localhost" || host === "127.0.0.1" || host === "::1" || host === "host.docker.internal";
|
|
711
|
-
} catch {
|
|
712
|
-
return true;
|
|
713
|
-
}
|
|
968
|
+
return isLocalAssistantUrl(endpointsService.active?.url);
|
|
714
969
|
});
|
|
715
|
-
$$renderer.push(`<header class="navbar svelte-66bgq1"><div class="navbar-inner svelte-66bgq1"><a class="navbar-brand svelte-66bgq1" href="/chat" aria-label="OpenPalm — go to chat"><span class="brand-icon svelte-66bgq1" aria-hidden="true"><img src="/logo-128.png" alt="" class="svelte-66bgq1"/></span> <span class="brand-text svelte-66bgq1">OpenPalm</span></a>
|
|
716
|
-
if (onChatSurface()) {
|
|
717
|
-
$$renderer.push("<!--[0-->");
|
|
718
|
-
ModeSwitch($$renderer);
|
|
719
|
-
} else $$renderer.push("<!--[-1-->");
|
|
720
|
-
$$renderer.push(`<!--]--> <div class="navbar-actions svelte-66bgq1">`);
|
|
970
|
+
$$renderer.push(`<header class="navbar svelte-66bgq1"><div class="navbar-inner svelte-66bgq1"><a class="navbar-brand svelte-66bgq1" href="/chat" aria-label="OpenPalm — go to chat"><span class="brand-icon svelte-66bgq1" aria-hidden="true"><img src="/logo-128.png" alt="" class="svelte-66bgq1"/></span> <span class="brand-text svelte-66bgq1">OpenPalm</span></a> <div class="navbar-actions svelte-66bgq1">`);
|
|
721
971
|
if (onAdmin()) {
|
|
722
972
|
$$renderer.push("<!--[0-->");
|
|
723
|
-
$$renderer
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
973
|
+
IconButton($$renderer, {
|
|
974
|
+
href: "/chat",
|
|
975
|
+
ariaLabel: "Back to chat",
|
|
976
|
+
title: "Chat",
|
|
977
|
+
icon: chatIcon
|
|
978
|
+
});
|
|
727
979
|
} else $$renderer.push("<!--[-1-->");
|
|
728
980
|
$$renderer.push(`<!--]--> `);
|
|
729
|
-
|
|
730
|
-
$$renderer.push(`<!----> `);
|
|
731
|
-
SessionPicker($$renderer);
|
|
732
|
-
$$renderer.push(`<!----> <button type="button" class="newchat-btn svelte-66bgq1"${attr("disabled", startingNew, true)} aria-label="Start a new chat" title="New chat"><svg aria-hidden="true" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-66bgq1"><path d="M12 5v14"></path><path d="M5 12h14"></path></svg></button> `);
|
|
733
|
-
ThemeToggle($$renderer);
|
|
981
|
+
SettingsDrawer($$renderer, { showManageAssistant: isLocalAssistant() });
|
|
734
982
|
$$renderer.push(`<!----> `);
|
|
735
|
-
|
|
736
|
-
$$renderer.push(`<!----></div></div></header>`);
|
|
737
|
-
});
|
|
738
|
-
}
|
|
739
|
-
//#endregion
|
|
740
|
-
//#region src/lib/components/common/AuthGate.svelte
|
|
741
|
-
function AuthGate($$renderer, $$props) {
|
|
742
|
-
$$renderer.component(($$renderer) => {
|
|
743
|
-
let { onSuccess, loading, error } = $$props;
|
|
744
|
-
let tokenInput = "";
|
|
745
|
-
$$renderer.push(`<main class="auth-gate svelte-zhbyfn" aria-label="Admin login gate"><section class="auth-card svelte-zhbyfn"><div class="auth-brand svelte-zhbyfn"><span class="brand-icon svelte-zhbyfn"><img src="/logo-128.png" alt="OpenPalm Logo" class="svelte-zhbyfn"/></span> <div><h1 class="svelte-zhbyfn">OpenPalm Console</h1> <p class="svelte-zhbyfn">Enter your admin password to unlock the control plane.</p></div></div> <form class="auth-form svelte-zhbyfn"><label for="admin-token" class="svelte-zhbyfn">Admin Password</label> <input type="text" name="username" autocomplete="username" value="admin" class="sr-only svelte-zhbyfn" tabindex="-1" aria-hidden="true"/> <div class="token-input-wrapper svelte-zhbyfn"><input id="admin-token" name="admin-token"${attr("type", "password")}${attr("value", tokenInput)} placeholder="Enter admin password" autocomplete="current-password" class="svelte-zhbyfn"/> <button type="button" class="btn-toggle svelte-zhbyfn"${attr("aria-label", "Show token")}>`);
|
|
746
|
-
$$renderer.push("<!--[-1-->");
|
|
747
|
-
$$renderer.push(`<svg aria-hidden="true" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>`);
|
|
748
|
-
$$renderer.push(`<!--]--></button></div> `);
|
|
749
|
-
if (error) {
|
|
983
|
+
if (onChatSurface()) {
|
|
750
984
|
$$renderer.push("<!--[0-->");
|
|
751
|
-
$$renderer.push(`<
|
|
985
|
+
$$renderer.push(`<span class="chat-selectors svelte-66bgq1">`);
|
|
986
|
+
EndpointSwitcher($$renderer);
|
|
987
|
+
$$renderer.push(`<!----> `);
|
|
988
|
+
SessionPicker($$renderer);
|
|
989
|
+
$$renderer.push(`<!----></span>`);
|
|
752
990
|
} else $$renderer.push("<!--[-1-->");
|
|
753
|
-
$$renderer.push(`<!--]-->
|
|
754
|
-
if (
|
|
991
|
+
$$renderer.push(`<!--]--> `);
|
|
992
|
+
if (onChatSurface() || onAdvancedSurface()) {
|
|
755
993
|
$$renderer.push("<!--[0-->");
|
|
756
|
-
|
|
994
|
+
ModeSwitch($$renderer);
|
|
757
995
|
} else $$renderer.push("<!--[-1-->");
|
|
758
|
-
$$renderer.push(`<!--]-->
|
|
996
|
+
$$renderer.push(`<!--]--> `);
|
|
997
|
+
VoiceControl($$renderer);
|
|
998
|
+
$$renderer.push(`<!----></div></div></header>`);
|
|
759
999
|
});
|
|
760
1000
|
}
|
|
761
1001
|
|
|
762
|
-
export {
|
|
763
|
-
//# sourceMappingURL=
|
|
1002
|
+
export { EndpointList as E, IconButton as I, Navbar as N, SessionList as S, chat as c, endpointsService as e, formatTime as f };
|
|
1003
|
+
//# sourceMappingURL=Navbar-lB4kFS7g.js.map
|