@openpalm/ui 0.12.50 → 0.12.52
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.2S7Y5od3.css → 4.DKS7ivN-.css} +1 -1
- package/build/client/_app/immutable/assets/4.DKS7ivN-.css.br +0 -0
- package/build/client/_app/immutable/assets/4.DKS7ivN-.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.CcyzbXoG.css +1 -0
- package/build/client/_app/immutable/assets/7.CcyzbXoG.css.br +0 -0
- package/build/client/_app/immutable/assets/7.CcyzbXoG.css.gz +0 -0
- package/build/client/_app/immutable/assets/IconClock.CudG-UM6.css +1 -0
- package/build/client/_app/immutable/assets/IconClock.CudG-UM6.css.br +0 -0
- package/build/client/_app/immutable/assets/IconClock.CudG-UM6.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BDvA7M6l.js +1 -0
- package/build/client/_app/immutable/chunks/BDvA7M6l.js.br +0 -0
- package/build/client/_app/immutable/chunks/BDvA7M6l.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DsC4kR0j.js → BM4jJmEk.js} +1 -1
- package/build/client/_app/immutable/chunks/BM4jJmEk.js.br +0 -0
- package/build/client/_app/immutable/chunks/BM4jJmEk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C4c5Y6rY.js +5 -0
- package/build/client/_app/immutable/chunks/C4c5Y6rY.js.br +0 -0
- package/build/client/_app/immutable/chunks/C4c5Y6rY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C4j7gGnm.js +14 -0
- package/build/client/_app/immutable/chunks/C4j7gGnm.js.br +0 -0
- package/build/client/_app/immutable/chunks/C4j7gGnm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C7x_T9zu.js +3 -0
- package/build/client/_app/immutable/chunks/C7x_T9zu.js.br +0 -0
- package/build/client/_app/immutable/chunks/C7x_T9zu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DoTCwfyJ.js +1 -0
- package/build/client/_app/immutable/chunks/DoTCwfyJ.js.br +2 -0
- package/build/client/_app/immutable/chunks/DoTCwfyJ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{aCnE6_tC.js → DwEShcLP.js} +1 -1
- package/build/client/_app/immutable/chunks/DwEShcLP.js.br +0 -0
- package/build/client/_app/immutable/chunks/DwEShcLP.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.BFdaM-OC.js → app.D5lUGJr1.js} +2 -2
- package/build/client/_app/immutable/entry/app.D5lUGJr1.js.br +0 -0
- package/build/client/_app/immutable/entry/app.D5lUGJr1.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CKoCEnYJ.js +1 -0
- package/build/client/_app/immutable/entry/start.CKoCEnYJ.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CKoCEnYJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.C-cj1xnK.js → 0.anwXhDvm.js} +1 -1
- package/build/client/_app/immutable/nodes/0.anwXhDvm.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.anwXhDvm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.KX3Ouskb.js → 1.DrRwtvKf.js} +1 -1
- package/build/client/_app/immutable/nodes/1.DrRwtvKf.js.br +1 -0
- package/build/client/_app/immutable/nodes/1.DrRwtvKf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{10.DaI768ue.js → 10.BLqUjjTI.js} +1 -1
- package/build/client/_app/immutable/nodes/10.BLqUjjTI.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.BLqUjjTI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.paHt3QH9.js +124 -0
- package/build/client/_app/immutable/nodes/4.paHt3QH9.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.paHt3QH9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.Cqj1Uy4b.js → 5.bKLnh085.js} +1 -1
- package/build/client/_app/immutable/nodes/5.bKLnh085.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.bKLnh085.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.CG5aMbsS.js → 6.DRi42KoD.js} +1 -1
- package/build/client/_app/immutable/nodes/6.DRi42KoD.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DRi42KoD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BvgWYGnm.js +2 -0
- package/build/client/_app/immutable/nodes/7.BvgWYGnm.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BvgWYGnm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.DPvOTkXF.js → 8.BKAKOw6V.js} +1 -1
- package/build/client/_app/immutable/nodes/8.BKAKOw6V.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.BKAKOw6V.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.CGqEpaze.js → 9.DwWxN6-k.js} +1 -1
- package/build/client/_app/immutable/nodes/9.DwWxN6-k.js.br +0 -0
- package/build/client/_app/immutable/nodes/{9.CGqEpaze.js.gz → 9.DwWxN6-k.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-BLQ3qoWN.js → 0-BiE1oF-J.js} +3 -3
- package/build/server/chunks/{0-BLQ3qoWN.js.map → 0-BiE1oF-J.js.map} +1 -1
- package/build/server/chunks/1-B-LNip7q.js +9 -0
- package/build/server/chunks/{1-CVrKLjbA.js.map → 1-B-LNip7q.js.map} +1 -1
- package/build/server/chunks/{10-Ce8EZ3XD.js → 10-CS2lFzh1.js} +6 -6
- package/build/server/chunks/{10-Ce8EZ3XD.js.map → 10-CS2lFzh1.js.map} +1 -1
- package/build/server/chunks/4-CliJOxWK.js +9 -0
- package/build/server/chunks/4-CliJOxWK.js.map +1 -0
- package/build/server/chunks/{5-BVHXxvQI.js → 5-DkkL3QsU.js} +3 -3
- package/build/server/chunks/{5-BVHXxvQI.js.map → 5-DkkL3QsU.js.map} +1 -1
- package/build/server/chunks/6-B6ZHxJZG.js +9 -0
- package/build/server/chunks/{6-__nfGbmK.js.map → 6-B6ZHxJZG.js.map} +1 -1
- package/build/server/chunks/7-CIl66k8R.js +9 -0
- package/build/server/chunks/7-CIl66k8R.js.map +1 -0
- package/build/server/chunks/{8-BZ3hpqr-.js → 8-Dbz3fLZs.js} +3 -3
- package/build/server/chunks/{8-BZ3hpqr-.js.map → 8-Dbz3fLZs.js.map} +1 -1
- package/build/server/chunks/{9-hjBfpj1A.js → 9-CnaXNk2w.js} +3 -3
- package/build/server/chunks/{9-hjBfpj1A.js.map → 9-CnaXNk2w.js.map} +1 -1
- package/build/server/chunks/{ChatMessage-6KR_zJHH.js → IconAlert-eLDsz7qz.js} +53 -172
- package/build/server/chunks/IconAlert-eLDsz7qz.js.map +1 -0
- package/build/server/chunks/{IconMic-D7z31i-c.js → IconMic-DMJf4zcn.js} +27 -2
- package/build/server/chunks/IconMic-DMJf4zcn.js.map +1 -0
- package/build/server/chunks/{Navbar-DUlMyfJm.js → Navbar-CbBudHU6.js} +6 -6
- package/build/server/chunks/{Navbar-DUlMyfJm.js.map → Navbar-CbBudHU6.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-CtPb7AoM.js → _layout.svelte-B5opDXuf.js} +2 -2
- package/build/server/chunks/{_layout.svelte-CtPb7AoM.js.map → _layout.svelte-B5opDXuf.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BNYhhZ7t.js → _page.svelte-1VhBiAl_.js} +157 -40
- package/build/server/chunks/_page.svelte-1VhBiAl_.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DZthwDry.js → _page.svelte-6gpwjZv0.js} +3 -3
- package/build/server/chunks/{_page.svelte-DZthwDry.js.map → _page.svelte-6gpwjZv0.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-tvMBqXuw.js → _page.svelte-Bd16jege.js} +3 -3
- package/build/server/chunks/{_page.svelte-tvMBqXuw.js.map → _page.svelte-Bd16jege.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Dxaw9uJe.js → _page.svelte-Boq5WJfs.js} +92 -16
- package/build/server/chunks/_page.svelte-Boq5WJfs.js.map +1 -0
- package/build/server/chunks/{_page.svelte-C6EaFxLq.js → _page.svelte-DM-4V1_g.js} +8 -8
- package/build/server/chunks/{_page.svelte-C6EaFxLq.js.map → _page.svelte-DM-4V1_g.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BYdCbFxZ.js → _page.svelte-jdDbUptn.js} +8 -8
- package/build/server/chunks/{_page.svelte-BYdCbFxZ.js.map → _page.svelte-jdDbUptn.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DG-bVTzV.js → _page.svelte-yAnFAnHi.js} +2 -2
- package/build/server/chunks/{_page.svelte-DG-bVTzV.js.map → _page.svelte-yAnFAnHi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DeZK1m8O.js → _server.ts-0x3ZsRoq.js} +7 -7
- package/build/server/chunks/{_server.ts-DeZK1m8O.js.map → _server.ts-0x3ZsRoq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BmWqHM7V.js → _server.ts-1fytrAUC.js} +5 -5
- package/build/server/chunks/{_server.ts-BmWqHM7V.js.map → _server.ts-1fytrAUC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DZUVpKi8.js → _server.ts-2trnHYNR.js} +5 -5
- package/build/server/chunks/{_server.ts-DZUVpKi8.js.map → _server.ts-2trnHYNR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CbvVdN_e.js → _server.ts-3IGr8J7j.js} +5 -5
- package/build/server/chunks/{_server.ts-CbvVdN_e.js.map → _server.ts-3IGr8J7j.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dz0r-R97.js → _server.ts-4HApbECL.js} +5 -5
- package/build/server/chunks/{_server.ts-Dz0r-R97.js.map → _server.ts-4HApbECL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BaAFwTQE.js → _server.ts-4cGCnV5A.js} +6 -6
- package/build/server/chunks/{_server.ts-BaAFwTQE.js.map → _server.ts-4cGCnV5A.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DVF2wxOo.js → _server.ts-5mKh6tgD.js} +5 -5
- package/build/server/chunks/{_server.ts-DVF2wxOo.js.map → _server.ts-5mKh6tgD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPF3aMB-.js → _server.ts-B-gZIXCx.js} +5 -5
- package/build/server/chunks/{_server.ts-DPF3aMB-.js.map → _server.ts-B-gZIXCx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DBQin7Nq.js → _server.ts-B1LApKwc.js} +5 -5
- package/build/server/chunks/{_server.ts-DBQin7Nq.js.map → _server.ts-B1LApKwc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ds3z4PGJ.js → _server.ts-B5s8k9IW.js} +5 -5
- package/build/server/chunks/{_server.ts-Ds3z4PGJ.js.map → _server.ts-B5s8k9IW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D5GaGe4q.js → _server.ts-B7oDgVRm.js} +7 -7
- package/build/server/chunks/{_server.ts-D5GaGe4q.js.map → _server.ts-B7oDgVRm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BJTHAeIZ.js → _server.ts-BA7OxoAM.js} +6 -6
- package/build/server/chunks/{_server.ts-BJTHAeIZ.js.map → _server.ts-BA7OxoAM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DVGWhcUO.js → _server.ts-BCqZP9mX.js} +7 -7
- package/build/server/chunks/{_server.ts-DVGWhcUO.js.map → _server.ts-BCqZP9mX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DHDXUYeD.js → _server.ts-BE9eO04W.js} +5 -5
- package/build/server/chunks/{_server.ts-DHDXUYeD.js.map → _server.ts-BE9eO04W.js.map} +1 -1
- package/build/server/chunks/{_server.ts-rmvy1g6m.js → _server.ts-BUf-IIIm.js} +5 -5
- package/build/server/chunks/{_server.ts-rmvy1g6m.js.map → _server.ts-BUf-IIIm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-yfpXYRHf.js → _server.ts-BW13CurN.js} +5 -5
- package/build/server/chunks/{_server.ts-yfpXYRHf.js.map → _server.ts-BW13CurN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DmLb4m64.js → _server.ts-BWh3c-xu.js} +5 -5
- package/build/server/chunks/{_server.ts-DmLb4m64.js.map → _server.ts-BWh3c-xu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CuqA65YO.js → _server.ts-BYDgL8Wh.js} +6 -6
- package/build/server/chunks/{_server.ts-CuqA65YO.js.map → _server.ts-BYDgL8Wh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGpLph00.js → _server.ts-B_9-b1wk.js} +5 -5
- package/build/server/chunks/{_server.ts-CGpLph00.js.map → _server.ts-B_9-b1wk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cr48FbKi.js → _server.ts-Bbc4zzJy.js} +6 -6
- package/build/server/chunks/{_server.ts-Cr48FbKi.js.map → _server.ts-Bbc4zzJy.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C2XqG-Q2.js → _server.ts-BhmHIGs6.js} +5 -5
- package/build/server/chunks/{_server.ts-C2XqG-Q2.js.map → _server.ts-BhmHIGs6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C9MzpQd4.js → _server.ts-BhuoSeRy.js} +5 -5
- package/build/server/chunks/{_server.ts-C9MzpQd4.js.map → _server.ts-BhuoSeRy.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ByGXYk2l.js → _server.ts-BnL_ReBS.js} +4 -4
- package/build/server/chunks/{_server.ts-ByGXYk2l.js.map → _server.ts-BnL_ReBS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D0N4sB9X.js → _server.ts-BoOQ7F2z.js} +8 -8
- package/build/server/chunks/{_server.ts-D0N4sB9X.js.map → _server.ts-BoOQ7F2z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DqPWs5R1.js → _server.ts-Bry3Z40C.js} +7 -7
- package/build/server/chunks/{_server.ts-DqPWs5R1.js.map → _server.ts-Bry3Z40C.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BwJrHUUB.js → _server.ts-BtVLVJf0.js} +6 -6
- package/build/server/chunks/{_server.ts-BwJrHUUB.js.map → _server.ts-BtVLVJf0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DYv9BDaZ.js → _server.ts-BzISiSHa.js} +5 -5
- package/build/server/chunks/{_server.ts-DYv9BDaZ.js.map → _server.ts-BzISiSHa.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B4AANoeg.js → _server.ts-C7PeR-ll.js} +5 -5
- package/build/server/chunks/{_server.ts-B4AANoeg.js.map → _server.ts-C7PeR-ll.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DN4MrDts.js → _server.ts-C8NW6VWR.js} +6 -6
- package/build/server/chunks/{_server.ts-DN4MrDts.js.map → _server.ts-C8NW6VWR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Y75fVVpr.js → _server.ts-CF0aKxAL.js} +2 -2
- package/build/server/chunks/{_server.ts-Y75fVVpr.js.map → _server.ts-CF0aKxAL.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CTqLfvnu.js → _server.ts-CH-OPdXJ.js} +5 -5
- package/build/server/chunks/{_server.ts-CTqLfvnu.js.map → _server.ts-CH-OPdXJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BgYB-mao.js → _server.ts-CPsQ5aGi.js} +5 -5
- package/build/server/chunks/{_server.ts-BgYB-mao.js.map → _server.ts-CPsQ5aGi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BOQtqfyz.js → _server.ts-CQ8JX5O7.js} +5 -5
- package/build/server/chunks/{_server.ts-BOQtqfyz.js.map → _server.ts-CQ8JX5O7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DdJ6JtrY.js → _server.ts-CQPRTbTX.js} +5 -5
- package/build/server/chunks/{_server.ts-DdJ6JtrY.js.map → _server.ts-CQPRTbTX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-IFkzxUJw.js → _server.ts-CTVpEmAc.js} +5 -5
- package/build/server/chunks/{_server.ts-IFkzxUJw.js.map → _server.ts-CTVpEmAc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C6Afnups.js → _server.ts-CWVi9VhR.js} +5 -5
- package/build/server/chunks/{_server.ts-C6Afnups.js.map → _server.ts-CWVi9VhR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BeSZIZc7.js → _server.ts-CXQd0L0u.js} +2 -2
- package/build/server/chunks/{_server.ts-BeSZIZc7.js.map → _server.ts-CXQd0L0u.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BAebWsB3.js → _server.ts-Cgg_3L-k.js} +6 -6
- package/build/server/chunks/{_server.ts-BAebWsB3.js.map → _server.ts-Cgg_3L-k.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B63mNhnv.js → _server.ts-ChvbGMR6.js} +4 -4
- package/build/server/chunks/{_server.ts-B63mNhnv.js.map → _server.ts-ChvbGMR6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CF1wRhsj.js → _server.ts-CnByyw9m.js} +2 -2
- package/build/server/chunks/{_server.ts-CF1wRhsj.js.map → _server.ts-CnByyw9m.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DFDjhrqJ.js → _server.ts-Ct_0qiMK.js} +6 -6
- package/build/server/chunks/{_server.ts-DFDjhrqJ.js.map → _server.ts-Ct_0qiMK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-TITk8Kne.js → _server.ts-Cu1u6Fq3.js} +5 -5
- package/build/server/chunks/{_server.ts-TITk8Kne.js.map → _server.ts-Cu1u6Fq3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B5XmZ4Yc.js → _server.ts-Cuq4zRUh.js} +5 -5
- package/build/server/chunks/{_server.ts-B5XmZ4Yc.js.map → _server.ts-Cuq4zRUh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BAERQjfu.js → _server.ts-Cx8pH99_.js} +5 -5
- package/build/server/chunks/{_server.ts-BAERQjfu.js.map → _server.ts-Cx8pH99_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ByyrlTLw.js → _server.ts-D-eORdC8.js} +6 -6
- package/build/server/chunks/{_server.ts-ByyrlTLw.js.map → _server.ts-D-eORdC8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DNXIRmXr.js → _server.ts-D1cvo-nO.js} +5 -5
- package/build/server/chunks/{_server.ts-DNXIRmXr.js.map → _server.ts-D1cvo-nO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CnFqYcci.js → _server.ts-D4nuqQNX.js} +7 -7
- package/build/server/chunks/{_server.ts-CnFqYcci.js.map → _server.ts-D4nuqQNX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-EVOFhq9N.js → _server.ts-D6aAJoCf.js} +5 -5
- package/build/server/chunks/{_server.ts-EVOFhq9N.js.map → _server.ts-D6aAJoCf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BtoFmiAP.js → _server.ts-D9PUEjiN.js} +5 -5
- package/build/server/chunks/{_server.ts-BtoFmiAP.js.map → _server.ts-D9PUEjiN.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CuYYPS6N.js → _server.ts-DAiD8z-P.js} +5 -5
- package/build/server/chunks/{_server.ts-CuYYPS6N.js.map → _server.ts-DAiD8z-P.js.map} +1 -1
- package/build/server/chunks/{_server.ts-xK5YGdBR.js → _server.ts-DDKL_uuS.js} +7 -7
- package/build/server/chunks/{_server.ts-xK5YGdBR.js.map → _server.ts-DDKL_uuS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CC5bii6D.js → _server.ts-DGkgd0uc.js} +5 -5
- package/build/server/chunks/{_server.ts-CC5bii6D.js.map → _server.ts-DGkgd0uc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BtkQ0nbr.js → _server.ts-DHig-2Ii.js} +5 -5
- package/build/server/chunks/{_server.ts-BtkQ0nbr.js.map → _server.ts-DHig-2Ii.js.map} +1 -1
- package/build/server/chunks/{_server.ts-FTC-tgFz.js → _server.ts-DJdHVo2c.js} +5 -5
- package/build/server/chunks/{_server.ts-FTC-tgFz.js.map → _server.ts-DJdHVo2c.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BMvXBmzA.js → _server.ts-DLrsnGKc.js} +6 -6
- package/build/server/chunks/{_server.ts-BMvXBmzA.js.map → _server.ts-DLrsnGKc.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DIeOLqyQ.js → _server.ts-DRYh6JJM.js} +5 -5
- package/build/server/chunks/{_server.ts-DIeOLqyQ.js.map → _server.ts-DRYh6JJM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CTwc4hbs.js → _server.ts-DUbqsB2y.js} +2 -2
- package/build/server/chunks/{_server.ts-CTwc4hbs.js.map → _server.ts-DUbqsB2y.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DxQNKsI_.js → _server.ts-DVRwJs1D.js} +5 -5
- package/build/server/chunks/{_server.ts-DxQNKsI_.js.map → _server.ts-DVRwJs1D.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D58sAuTL.js → _server.ts-DYZ1SnMq.js} +5 -5
- package/build/server/chunks/{_server.ts-D58sAuTL.js.map → _server.ts-DYZ1SnMq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Q-E1sg4x.js → _server.ts-DdpgDdUI.js} +5 -5
- package/build/server/chunks/{_server.ts-Q-E1sg4x.js.map → _server.ts-DdpgDdUI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CNeu1Nsk.js → _server.ts-DhVR_dEn.js} +5 -5
- package/build/server/chunks/{_server.ts-CNeu1Nsk.js.map → _server.ts-DhVR_dEn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BO-JdDjO.js → _server.ts-DorWUEnZ.js} +5 -5
- package/build/server/chunks/{_server.ts-BO-JdDjO.js.map → _server.ts-DorWUEnZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C4tg4iFm.js → _server.ts-DptdgCp1.js} +5 -5
- package/build/server/chunks/{_server.ts-C4tg4iFm.js.map → _server.ts-DptdgCp1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BU0eUW3G.js → _server.ts-DyFhMY-d.js} +5 -5
- package/build/server/chunks/{_server.ts-BU0eUW3G.js.map → _server.ts-DyFhMY-d.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CNRGIyf0.js → _server.ts-FBHhAciM.js} +5 -5
- package/build/server/chunks/{_server.ts-CNRGIyf0.js.map → _server.ts-FBHhAciM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-iORf1RrR.js → _server.ts-H0_rl9HF.js} +6 -6
- package/build/server/chunks/{_server.ts-iORf1RrR.js.map → _server.ts-H0_rl9HF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-rBEZAYpQ.js → _server.ts-MGCXhBlP.js} +5 -5
- package/build/server/chunks/{_server.ts-rBEZAYpQ.js.map → _server.ts-MGCXhBlP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DEH-K579.js → _server.ts-OXR06_zO.js} +2 -2
- package/build/server/chunks/{_server.ts-DEH-K579.js.map → _server.ts-OXR06_zO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DTLI_nBN.js → _server.ts-QbGAW-It.js} +5 -5
- package/build/server/chunks/{_server.ts-DTLI_nBN.js.map → _server.ts-QbGAW-It.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dwh0tCGZ.js → _server.ts-TAvt1Rlb.js} +5 -5
- package/build/server/chunks/{_server.ts-Dwh0tCGZ.js.map → _server.ts-TAvt1Rlb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BXL1W-kB.js → _server.ts-VXMfJF_F.js} +5 -5
- package/build/server/chunks/{_server.ts-BXL1W-kB.js.map → _server.ts-VXMfJF_F.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eBK0_Hbz.js → _server.ts-XiInWDAF.js} +5 -5
- package/build/server/chunks/{_server.ts-eBK0_Hbz.js.map → _server.ts-XiInWDAF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BfNAQOYe.js → _server.ts-d08IyVdj.js} +6 -6
- package/build/server/chunks/{_server.ts-BfNAQOYe.js.map → _server.ts-d08IyVdj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-g_vUepsn.js → _server.ts-dtw_InfP.js} +5 -5
- package/build/server/chunks/{_server.ts-g_vUepsn.js.map → _server.ts-dtw_InfP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CB_BFb7e.js → _server.ts-eTP3NGlu.js} +5 -5
- package/build/server/chunks/{_server.ts-CB_BFb7e.js.map → _server.ts-eTP3NGlu.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C1cynJOZ.js → _server.ts-fm-L_1WH.js} +5 -5
- package/build/server/chunks/{_server.ts-C1cynJOZ.js.map → _server.ts-fm-L_1WH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B1hkm3X2.js → _server.ts-g5H0gdQB.js} +5 -5
- package/build/server/chunks/{_server.ts-B1hkm3X2.js.map → _server.ts-g5H0gdQB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DtJDd_qD.js → _server.ts-gBvSTaRH.js} +5 -5
- package/build/server/chunks/{_server.ts-DtJDd_qD.js.map → _server.ts-gBvSTaRH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-wXXPxMsg.js → _server.ts-lMB9A2Vx.js} +5 -5
- package/build/server/chunks/{_server.ts-wXXPxMsg.js.map → _server.ts-lMB9A2Vx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Dg4a0yw1.js → _server.ts-tww34LXr.js} +5 -5
- package/build/server/chunks/{_server.ts-Dg4a0yw1.js.map → _server.ts-tww34LXr.js.map} +1 -1
- package/build/server/chunks/{_server.ts-qx3jlXPK.js → _server.ts-xgg0Rj1C.js} +5 -5
- package/build/server/chunks/{_server.ts-qx3jlXPK.js.map → _server.ts-xgg0Rj1C.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B75mdbmi.js → _server.ts-yO3j4YDH.js} +5 -5
- package/build/server/chunks/{_server.ts-B75mdbmi.js.map → _server.ts-yO3j4YDH.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-DpXntTl4.js → addon-helpers-DnZ1IPC7.js} +3 -3
- package/build/server/chunks/{addon-helpers-DpXntTl4.js.map → addon-helpers-DnZ1IPC7.js.map} +1 -1
- package/build/server/chunks/{akm-6CeMy4Ox.js → akm-BVM3F-FY.js} +2 -2
- package/build/server/chunks/{akm-6CeMy4Ox.js.map → akm-BVM3F-FY.js.map} +1 -1
- package/build/server/chunks/{catalog-DPsuf1zj.js → catalog-B_9Qf_Tj.js} +5 -5
- package/build/server/chunks/{catalog-DPsuf1zj.js.map → catalog-B_9Qf_Tj.js.map} +1 -1
- package/build/server/chunks/{client-ffdGZ3sp.js → client-CEfPhREO.js} +2 -2
- package/build/server/chunks/{client-ffdGZ3sp.js.map → client-CEfPhREO.js.map} +1 -1
- package/build/server/chunks/{config-Dqq9cLxx.js → config-VJ5wAdKd.js} +2 -2
- package/build/server/chunks/{config-Dqq9cLxx.js.map → config-VJ5wAdKd.js.map} +1 -1
- package/build/server/chunks/{docker-BSUpGiXy.js → docker-7rKo0FDm.js} +2 -2
- package/build/server/chunks/{docker-BSUpGiXy.js.map → docker-7rKo0FDm.js.map} +1 -1
- package/build/server/chunks/{endpoints-l4xlthcJ.js → endpoints-DUs5zmwI.js} +2 -2
- package/build/server/chunks/{endpoints-l4xlthcJ.js.map → endpoints-DUs5zmwI.js.map} +1 -1
- package/build/server/chunks/environment-DqfL567G.js.map +1 -1
- package/build/server/chunks/{error.svelte-B_Ffh5ZD.js → error.svelte-DXUxoirZ.js} +4 -4
- package/build/server/chunks/{error.svelte-B_Ffh5ZD.js.map → error.svelte-DXUxoirZ.js.map} +1 -1
- package/build/server/chunks/{helpers-BM-xWM7P.js → helpers-GEmeDI6e.js} +5 -6
- package/build/server/chunks/helpers-GEmeDI6e.js.map +1 -0
- package/build/server/chunks/{hooks.server-CP637JxQ.js → hooks.server-CwgeONEs.js} +6 -6
- package/build/server/chunks/hooks.server-CwgeONEs.js.map +1 -0
- package/build/server/chunks/{http-C4A6p54g.js → http-BzGcbSMh.js} +2 -2
- package/build/server/chunks/{http-C4A6p54g.js.map → http-BzGcbSMh.js.map} +1 -1
- package/build/server/chunks/{internal-Bt4slJwb.js → internal-CWT3-fy-.js} +3 -3
- package/build/server/chunks/{internal-Bt4slJwb.js.map → internal-CWT3-fy-.js.map} +1 -1
- package/build/server/chunks/{paths-C4UGwNn5.js → paths-D8yGDgAD.js} +2 -2
- package/build/server/chunks/{paths-C4UGwNn5.js.map → paths-D8yGDgAD.js.map} +1 -1
- package/build/server/chunks/{session-cookie-BKu1-pgJ.js → session-cookie-IMj1chTO.js} +2 -2
- package/build/server/chunks/{session-cookie-BKu1-pgJ.js.map → session-cookie-IMj1chTO.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-BeHZenlf.js → setup-deploy-DhMA_slP.js} +2 -2
- package/build/server/chunks/{setup-deploy-BeHZenlf.js.map → setup-deploy-DhMA_slP.js.map} +1 -1
- package/build/server/chunks/{src-DiiTRPTT.js → src-DBYue8Tb.js} +2 -2
- package/build/server/chunks/{src-DiiTRPTT.js.map → src-DBYue8Tb.js.map} +1 -1
- package/build/server/chunks/{state-ClKZUXL6.js → state-Bpt5dC1X.js} +2 -2
- package/build/server/chunks/{state-ClKZUXL6.js.map → state-Bpt5dC1X.js.map} +1 -1
- package/build/server/chunks/{state2-3Dq4C83o.js → state2-D20PkMjF.js} +2 -2
- package/build/server/chunks/{state2-3Dq4C83o.js.map → state2-D20PkMjF.js.map} +1 -1
- package/build/server/chunks/{theme-state.svelte-DshW_ZYI.js → theme-state.svelte-DPdcwIRf.js} +240 -2
- package/build/server/chunks/theme-state.svelte-DPdcwIRf.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +92 -92
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/assets/4.2S7Y5od3.css.br +0 -0
- package/build/client/_app/immutable/assets/4.2S7Y5od3.css.gz +0 -0
- package/build/client/_app/immutable/assets/7.2p9IYK2G.css +0 -1
- package/build/client/_app/immutable/assets/7.2p9IYK2G.css.br +0 -0
- package/build/client/_app/immutable/assets/7.2p9IYK2G.css.gz +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.Bir85vV2.css +0 -1
- package/build/client/_app/immutable/assets/ChatMessage.Bir85vV2.css.br +0 -0
- package/build/client/_app/immutable/assets/ChatMessage.Bir85vV2.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BZAs55y_.js +0 -5
- package/build/client/_app/immutable/chunks/BZAs55y_.js.br +0 -0
- package/build/client/_app/immutable/chunks/BZAs55y_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CDBZFq_t.js +0 -3
- package/build/client/_app/immutable/chunks/CDBZFq_t.js.br +0 -0
- package/build/client/_app/immutable/chunks/CDBZFq_t.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CKVZpD28.js +0 -15
- package/build/client/_app/immutable/chunks/CKVZpD28.js.br +0 -0
- package/build/client/_app/immutable/chunks/CKVZpD28.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DsC4kR0j.js.br +0 -0
- package/build/client/_app/immutable/chunks/DsC4kR0j.js.gz +0 -0
- package/build/client/_app/immutable/chunks/H2DLFDya.js +0 -1
- package/build/client/_app/immutable/chunks/H2DLFDya.js.br +0 -2
- package/build/client/_app/immutable/chunks/H2DLFDya.js.gz +0 -0
- package/build/client/_app/immutable/chunks/YN5ShA1l.js +0 -1
- package/build/client/_app/immutable/chunks/YN5ShA1l.js.br +0 -0
- package/build/client/_app/immutable/chunks/YN5ShA1l.js.gz +0 -0
- package/build/client/_app/immutable/chunks/aCnE6_tC.js.br +0 -0
- package/build/client/_app/immutable/chunks/aCnE6_tC.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.BFdaM-OC.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BFdaM-OC.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DhXDSrhM.js +0 -1
- package/build/client/_app/immutable/entry/start.DhXDSrhM.js.br +0 -1
- package/build/client/_app/immutable/entry/start.DhXDSrhM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.C-cj1xnK.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.C-cj1xnK.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.KX3Ouskb.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.KX3Ouskb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.DaI768ue.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.DaI768ue.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BDopUiq2.js +0 -123
- package/build/client/_app/immutable/nodes/4.BDopUiq2.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BDopUiq2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.Cqj1Uy4b.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.Cqj1Uy4b.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.CG5aMbsS.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.CG5aMbsS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.C7GW-yrC.js +0 -1
- package/build/client/_app/immutable/nodes/7.C7GW-yrC.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.C7GW-yrC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.DPvOTkXF.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DPvOTkXF.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CGqEpaze.js.br +0 -0
- package/build/server/chunks/1-CVrKLjbA.js +0 -9
- package/build/server/chunks/4-D-_xIXLF.js +0 -9
- package/build/server/chunks/4-D-_xIXLF.js.map +0 -1
- package/build/server/chunks/6-__nfGbmK.js +0 -9
- package/build/server/chunks/7-B0qs4G8k.js +0 -9
- package/build/server/chunks/7-B0qs4G8k.js.map +0 -1
- package/build/server/chunks/ChatMessage-6KR_zJHH.js.map +0 -1
- package/build/server/chunks/IconMic-D7z31i-c.js.map +0 -1
- package/build/server/chunks/_page.svelte-BNYhhZ7t.js.map +0 -1
- package/build/server/chunks/_page.svelte-Dxaw9uJe.js.map +0 -1
- package/build/server/chunks/helpers-BM-xWM7P.js.map +0 -1
- package/build/server/chunks/hooks.server-CP637JxQ.js.map +0 -1
- package/build/server/chunks/theme-state.svelte-DshW_ZYI.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-D5GaGe4q.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Ut as readStackEnv } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/lib/server/speech-prep.ts\nfunction personaPath() {\n\treturn join(getState().configDir, \"assistant\", \"persona.md\");\n}\nfunction readPersona() {\n\tconst path = personaPath();\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\").trim();\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction extractText(response) {\n\treturn (response.parts ?? []).filter((part) => part.type === \"text\" && typeof part.text === \"string\").map((part) => part.text?.trim() ?? \"\").join(\" \").trim();\n}\nfunction buildPrompt(input) {\n\tconst personaBlock = input.persona ? input.persona : \"No persona markdown is configured. Use a neutral, helpful, conversational tone.\";\n\tif (input.mode === \"chat_ack\") return [\n\t\t\"You are preparing a short spoken acknowledgement for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Keep it to one brief sentence.\",\n\t\t\"Sound conversational and aligned with the persona context.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"Do not answer the full request. Just acknowledge that you are working on it.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText\n\t].join(\"\\n\");\n\treturn [\n\t\t\"You are preparing a spoken summary for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Rewrite the final assistant reply into a concise, natural, conversational response.\",\n\t\t\"Preserve the meaning and important caveats.\",\n\t\t\"Keep it brief enough for audio playback.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText,\n\t\t\"\",\n\t\t\"Final assistant reply:\",\n\t\tinput.assistantText ?? \"\"\n\t].join(\"\\n\");\n}\nfunction resolveSpeechModel(config) {\n\tconst small = typeof config.small_model === \"string\" ? config.small_model.trim() : \"\";\n\tif (small) return small;\n\treturn (typeof config.model === \"string\" ? config.model.trim() : \"\") || null;\n}\nasync function loadSpeechConfig() {\n\ttry {\n\t\treturn await opencodeFetch(\"/config\");\n\t} catch {\n\t\treturn getCurrentConfig();\n\t}\n}\nasync function prepareSpeechText(input) {\n\tconst userText = input.userText.trim();\n\tif (!userText) return null;\n\tif (input.mode === \"chat_reply\" && !input.assistantText?.trim()) return null;\n\tconst persona = readPersona();\n\tconst model = resolveSpeechModel(await loadSpeechConfig());\n\tconst prompt = buildPrompt({\n\t\tmode: input.mode,\n\t\tuserText,\n\t\tassistantText: input.assistantText?.trim(),\n\t\tpersona\n\t});\n\tlet sessionId = \"\";\n\ttry {\n\t\tconst created = await opencodeFetch(\"/session\", {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({})\n\t\t});\n\t\tsessionId = typeof created.id === \"string\" ? created.id : \"\";\n\t\tif (!sessionId) return null;\n\t\treturn extractText(await opencodeFetch(`/session/${encodeURIComponent(sessionId)}/message`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tparts: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: prompt\n\t\t\t\t}],\n\t\t\t\t...model ? { model } : {}\n\t\t\t})\n\t\t})) || null;\n\t} finally {\n\t\tif (sessionId) await opencodeFetch(`/session/${encodeURIComponent(sessionId)}`, { method: \"DELETE\" }).catch(() => {});\n\t}\n}\n//#endregion\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().homeDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst mode = b.mode === \"chat_ack\" || b.mode === \"chat_reply\" ? b.mode : null;\n\tconst userText = typeof b.userText === \"string\" ? b.userText.trim() : \"\";\n\tconst assistantText = typeof b.assistantText === \"string\" ? b.assistantText.trim() : \"\";\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tlet speechText = text;\n\tif (mode) try {\n\t\tconst prepared = await prepareSpeechText({\n\t\t\tmode,\n\t\t\tuserText,\n\t\t\tassistantText\n\t\t});\n\t\tif (prepared) speechText = prepared;\n\t} catch (err) {\n\t\tconsole.warn(\"[api/speak] speech prep failed; falling back to raw text\", err);\n\t}\n\tconst upstreamUrl = ttsBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/speech\";\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers[\"authorization\"] = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_server.ts-B7oDgVRm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Ut as readStackEnv } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/lib/server/speech-prep.ts\nfunction personaPath() {\n\treturn join(getState().configDir, \"assistant\", \"persona.md\");\n}\nfunction readPersona() {\n\tconst path = personaPath();\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\").trim();\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction extractText(response) {\n\treturn (response.parts ?? []).filter((part) => part.type === \"text\" && typeof part.text === \"string\").map((part) => part.text?.trim() ?? \"\").join(\" \").trim();\n}\nfunction buildPrompt(input) {\n\tconst personaBlock = input.persona ? input.persona : \"No persona markdown is configured. Use a neutral, helpful, conversational tone.\";\n\tif (input.mode === \"chat_ack\") return [\n\t\t\"You are preparing a short spoken acknowledgement for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Keep it to one brief sentence.\",\n\t\t\"Sound conversational and aligned with the persona context.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"Do not answer the full request. Just acknowledge that you are working on it.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText\n\t].join(\"\\n\");\n\treturn [\n\t\t\"You are preparing a spoken summary for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Rewrite the final assistant reply into a concise, natural, conversational response.\",\n\t\t\"Preserve the meaning and important caveats.\",\n\t\t\"Keep it brief enough for audio playback.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText,\n\t\t\"\",\n\t\t\"Final assistant reply:\",\n\t\tinput.assistantText ?? \"\"\n\t].join(\"\\n\");\n}\nfunction resolveSpeechModel(config) {\n\tconst small = typeof config.small_model === \"string\" ? config.small_model.trim() : \"\";\n\tif (small) return small;\n\treturn (typeof config.model === \"string\" ? config.model.trim() : \"\") || null;\n}\nasync function loadSpeechConfig() {\n\ttry {\n\t\treturn await opencodeFetch(\"/config\");\n\t} catch {\n\t\treturn getCurrentConfig();\n\t}\n}\nasync function prepareSpeechText(input) {\n\tconst userText = input.userText.trim();\n\tif (!userText) return null;\n\tif (input.mode === \"chat_reply\" && !input.assistantText?.trim()) return null;\n\tconst persona = readPersona();\n\tconst model = resolveSpeechModel(await loadSpeechConfig());\n\tconst prompt = buildPrompt({\n\t\tmode: input.mode,\n\t\tuserText,\n\t\tassistantText: input.assistantText?.trim(),\n\t\tpersona\n\t});\n\tlet sessionId = \"\";\n\ttry {\n\t\tconst created = await opencodeFetch(\"/session\", {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({})\n\t\t});\n\t\tsessionId = typeof created.id === \"string\" ? created.id : \"\";\n\t\tif (!sessionId) return null;\n\t\treturn extractText(await opencodeFetch(`/session/${encodeURIComponent(sessionId)}/message`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tparts: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: prompt\n\t\t\t\t}],\n\t\t\t\t...model ? { model } : {}\n\t\t\t})\n\t\t})) || null;\n\t} finally {\n\t\tif (sessionId) await opencodeFetch(`/session/${encodeURIComponent(sessionId)}`, { method: \"DELETE\" }).catch(() => {});\n\t}\n}\n//#endregion\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().homeDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst mode = b.mode === \"chat_ack\" || b.mode === \"chat_reply\" ? b.mode : null;\n\tconst userText = typeof b.userText === \"string\" ? b.userText.trim() : \"\";\n\tconst assistantText = typeof b.assistantText === \"string\" ? b.assistantText.trim() : \"\";\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tlet speechText = text;\n\tif (mode) try {\n\t\tconst prepared = await prepareSpeechText({\n\t\t\tmode,\n\t\t\tuserText,\n\t\t\tassistantText\n\t\t});\n\t\tif (prepared) speechText = prepared;\n\t} catch (err) {\n\t\tconsole.warn(\"[api/speak] speech prep failed; falling back to raw text\", err);\n\t}\n\tconst upstreamUrl = ttsBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/speech\";\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers[\"authorization\"] = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { aM as runAssistantAkmCommand } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-
|
|
4
|
-
import { s as safeParseJsonObject } from './akm-
|
|
1
|
+
import { aM as runAssistantAkmCommand } from './src-DBYue8Tb.js';
|
|
2
|
+
import { g as getState } from './state-Bpt5dC1X.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-GEmeDI6e.js';
|
|
4
|
+
import { s as safeParseJsonObject } from './akm-BVM3F-FY.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -23,7 +23,7 @@ import 'zlib';
|
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
25
|
import 'node:os';
|
|
26
|
-
import './endpoints-
|
|
26
|
+
import './endpoints-DUs5zmwI.js';
|
|
27
27
|
|
|
28
28
|
//#region src/routes/admin/akm/health/+server.ts
|
|
29
29
|
var GET = async (event) => {
|
|
@@ -66,4 +66,4 @@ var GET = async (event) => {
|
|
|
66
66
|
};
|
|
67
67
|
|
|
68
68
|
export { GET };
|
|
69
|
-
//# sourceMappingURL=_server.ts-
|
|
69
|
+
//# sourceMappingURL=_server.ts-BA7OxoAM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BA7OxoAM.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/health/_server.ts.js"],"sourcesContent":["import { i as runAssistantAkmCommand } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { n as safeParseJsonObject } from \"../../../../../chunks/akm.js\";\n//#region src/routes/admin/akm/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tconst state = getState();\n\tconst [health, info] = await Promise.all([runAssistantAkmCommand(state, [\n\t\t\"health\",\n\t\t\"--json\",\n\t\t\"--quiet\"\n\t], 8e3), runAssistantAkmCommand(state, [\n\t\t\"info\",\n\t\t\"--json\",\n\t\t\"--quiet\"\n\t], 8e3)]);\n\tconst parsedHealth = safeParseJsonObject(health.stdout);\n\tconst parsedInfo = safeParseJsonObject(info.stdout);\n\tif (!parsedHealth && !parsedInfo) return jsonResponse(200, {\n\t\tavailable: false,\n\t\treason: \"assistant AKM unavailable\"\n\t}, requestId);\n\tconst checks = Array.isArray(parsedHealth?.hardChecks) ? parsedHealth.hardChecks : [];\n\tconst checkCounts = {\n\t\tpass: 0,\n\t\twarn: 0,\n\t\tfail: 0\n\t};\n\tfor (const c of checks) if (c.status === \"pass\") checkCounts.pass++;\n\telse if (c.status === \"warn\") checkCounts.warn++;\n\telse checkCounts.fail++;\n\treturn jsonResponse(200, {\n\t\tavailable: true,\n\t\tstatus: parsedHealth?.status ?? \"unknown\",\n\t\tok: typeof parsedHealth?.ok === \"boolean\" ? parsedHealth.ok : null,\n\t\tchecks: checkCounts,\n\t\tmetrics: parsedHealth?.metrics ?? null,\n\t\tindex: parsedInfo?.indexStats ?? null\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9C,CAAC,IAAI,MAAM,EAAE,OAAO,MAAM;AAC1B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,KAAK,EAAE;AACzE,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE;AACF,EAAE,EAAE,GAAG,CAAC,EAAE,sBAAsB,CAAC,KAAK,EAAE;AACxC,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE;AACF,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;AACV,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;AACxD,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;AACpD,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5D,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,MAAM,EAAE;AACV,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,UAAU,GAAG,EAAE;AACtF,CAAC,MAAM,WAAW,GAAG;AACrB,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,IAAI,EAAE;AACR,EAAE;AACF,CAAC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE;AACpE,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE;AACjD,MAAM,WAAW,CAAC,IAAI,EAAE;AACxB,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,SAAS;AAC3C,EAAE,EAAE,EAAE,OAAO,YAAY,EAAE,EAAE,KAAK,SAAS,GAAG,YAAY,CAAC,EAAE,GAAG,IAAI;AACpE,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,IAAI,IAAI;AACxC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,IAAI;AACnC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { ab as isSetupComplete, aL as resolveOpenPalmHome, aq as performSetup, aj as mapDockerError, o as checkDocker } from './src-
|
|
3
|
-
import { g as getState, r as resetState } from './state-
|
|
4
|
-
import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-
|
|
5
|
-
import { s as sessionCookieHeader } from './session-cookie-
|
|
6
|
-
import { p as prepareSetupRestorePoint, s as startDeploy, r as resetDeployState } from './setup-deploy-
|
|
2
|
+
import { ab as isSetupComplete, aL as resolveOpenPalmHome, aq as performSetup, aj as mapDockerError, o as checkDocker } from './src-DBYue8Tb.js';
|
|
3
|
+
import { g as getState, r as resetState } from './state-Bpt5dC1X.js';
|
|
4
|
+
import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-GEmeDI6e.js';
|
|
5
|
+
import { s as sessionCookieHeader } from './session-cookie-IMj1chTO.js';
|
|
6
|
+
import { p as prepareSetupRestorePoint, s as startDeploy, r as resetDeployState } from './setup-deploy-DhMA_slP.js';
|
|
7
7
|
import './utils-BSRjJDrZ.js';
|
|
8
8
|
import './chunk-CLZ62Ad-.js';
|
|
9
9
|
import 'node:module';
|
|
@@ -26,7 +26,7 @@ import 'zlib';
|
|
|
26
26
|
import 'node:assert';
|
|
27
27
|
import 'node:fs/promises';
|
|
28
28
|
import 'node:os';
|
|
29
|
-
import './endpoints-
|
|
29
|
+
import './endpoints-DUs5zmwI.js';
|
|
30
30
|
|
|
31
31
|
//#region src/routes/api/setup/complete/+server.ts
|
|
32
32
|
var POST = async (event) => {
|
|
@@ -91,4 +91,4 @@ var POST = async (event) => {
|
|
|
91
91
|
};
|
|
92
92
|
|
|
93
93
|
export { POST };
|
|
94
|
-
//# sourceMappingURL=_server.ts-
|
|
94
|
+
//# sourceMappingURL=_server.ts-BCqZP9mX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BCqZP9mX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Y as checkDocker, cn as resolveOpenPalmHome, ft as isSetupComplete, s as performSetup, ut as mapDockerError } from \"../../../../../chunks/src.js\";\nimport { n as resetState, t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, h as getUiLoginPassword, m as createSession, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\nimport { i as startDeploy, n as prepareSetupRestorePoint, r as resetDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveOpenPalmHome())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tprepareSetupRestorePoint(getState());\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst mapped = mapDockerError(String(err));\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: mapped.code,\n\t\t\tmessage: mapped.message\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t\telse return json({\n\t\t\tok: false,\n\t\t\terror: \"docker_unavailable\",\n\t\t\tmessage: \"Docker isn't running. Start Docker Desktop or OrbStack, then try again.\"\n\t\t}, {\n\t\t\tstatus: 503,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", sessionCookieHeader(sessionToken, event.request));\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
2
|
import { a as PROVIDER_KEY_MAP } from './provider-constants-DPrj3yBX.js';
|
|
3
|
-
import { ab as isSetupComplete, aL as resolveOpenPalmHome, M as detectGpu, O as detectLocalProviders, N as detectHostOpenCode, aF as recommendSetup, i as authJsonPath } from './src-
|
|
4
|
-
import { g as getState } from './state-
|
|
5
|
-
import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-
|
|
3
|
+
import { ab as isSetupComplete, aL as resolveOpenPalmHome, M as detectGpu, O as detectLocalProviders, N as detectHostOpenCode, aF as recommendSetup, i as authJsonPath } from './src-DBYue8Tb.js';
|
|
4
|
+
import { g as getState } from './state-Bpt5dC1X.js';
|
|
5
|
+
import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-GEmeDI6e.js';
|
|
6
6
|
import { existsSync, readFileSync } from 'node:fs';
|
|
7
7
|
import './utils-BSRjJDrZ.js';
|
|
8
8
|
import './chunk-CLZ62Ad-.js';
|
|
@@ -24,7 +24,7 @@ import 'zlib';
|
|
|
24
24
|
import 'node:assert';
|
|
25
25
|
import 'node:fs/promises';
|
|
26
26
|
import 'node:os';
|
|
27
|
-
import './endpoints-
|
|
27
|
+
import './endpoints-DUs5zmwI.js';
|
|
28
28
|
|
|
29
29
|
//#region src/routes/api/setup/recommend/+server.ts
|
|
30
30
|
/** Local providers are detected separately as host providers — exclude from "cloud". */
|
|
@@ -97,4 +97,4 @@ var GET = async (event) => {
|
|
|
97
97
|
};
|
|
98
98
|
|
|
99
99
|
export { GET };
|
|
100
|
-
//# sourceMappingURL=_server.ts-
|
|
100
|
+
//# sourceMappingURL=_server.ts-BE9eO04W.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BE9eO04W.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/recommend/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { i as PROVIDER_KEY_MAP } from \"../../../../../chunks/provider-constants.js\";\nimport { $t as authJsonPath, a as detectHostOpenCode, cn as resolveOpenPalmHome, d as detectLocalProviders, ft as isSetupComplete, l as recommendSetup, u as detectGpu } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, i as getOpenCodeClient, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/recommend/+server.ts\n/** Local providers are detected separately as host providers — exclude from \"cloud\". */\nvar LOCAL_PROVIDER_IDS = new Set([\n\t\"ollama\",\n\t\"lmstudio\",\n\t\"model-runner\",\n\t\"openai-compatible\"\n]);\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\n/** Fallback: providers whose API-key env var is present in the process env. */\nfunction envKeyConnected() {\n\tconst out = [];\n\tfor (const [provider, envVar] of Object.entries(PROVIDER_KEY_MAP)) if (process.env[envVar]) out.push(provider);\n\treturn out;\n}\n/** Cloud providers = OpenCode connected[] ∪ auth.json credentials, minus locals.\n* Falls back to env-key detection when OpenCode is unavailable. */\nasync function detectCloudProviders() {\n\tlet connected;\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (await client.isAvailable()) {\n\t\t\tconst catalog = await client.proxy(\"/provider\");\n\t\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\t\tconnected = Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()]));\n\t\t} else connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t} catch {\n\t\tconnected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t}\n\treturn connected.filter((id) => !LOCAL_PROVIDER_IDS.has(id));\n}\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveOpenPalmHome())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst [cloudProviders, gpu, localDetections, hostOpenCode] = await Promise.all([\n\t\tdetectCloudProviders(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tPromise.resolve(detectHostOpenCode())\n\t]);\n\tconst hostProviders = localDetections.filter((p) => p.available).map((p) => ({\n\t\tprovider: p.provider,\n\t\turl: p.url\n\t}));\n\treturn json({\n\t\tok: true,\n\t\trecommendation: recommendSetup({\n\t\t\tcloudProviders,\n\t\t\thostProviders,\n\t\t\tgpu,\n\t\t\thostCredentialCount: hostOpenCode.credentialCount\n\t\t}),\n\t\tgpu,\n\t\tcloudProviders,\n\t\thostProviders\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ag as listEnabledAddonIds } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, k as jsonResponse } from './helpers-
|
|
1
|
+
import { ag as listEnabledAddonIds } from './src-DBYue8Tb.js';
|
|
2
|
+
import { g as getState } from './state-Bpt5dC1X.js';
|
|
3
|
+
import { d as getRequestId, k as jsonResponse } from './helpers-GEmeDI6e.js';
|
|
4
4
|
import { execFile } from 'node:child_process';
|
|
5
5
|
import { promisify } from 'node:util';
|
|
6
6
|
import './chunk-CLZ62Ad-.js';
|
|
@@ -23,7 +23,7 @@ import 'zlib';
|
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
25
|
import 'node:os';
|
|
26
|
-
import './endpoints-
|
|
26
|
+
import './endpoints-DUs5zmwI.js';
|
|
27
27
|
|
|
28
28
|
//#region src/routes/guardian/health/+server.ts
|
|
29
29
|
var execFileAsync = promisify(execFile);
|
|
@@ -82,4 +82,4 @@ var GET = async (event) => {
|
|
|
82
82
|
};
|
|
83
83
|
|
|
84
84
|
export { GET };
|
|
85
|
-
//# sourceMappingURL=_server.ts-
|
|
85
|
+
//# sourceMappingURL=_server.ts-BUf-IIIm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BUf-IIIm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/guardian/health/_server.ts.js"],"sourcesContent":["import { Dt as listEnabledAddonIds } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse } from \"../../../../chunks/helpers.js\";\nimport { execFile } from \"node:child_process\";\nimport { promisify } from \"node:util\";\n//#region src/routes/guardian/health/+server.ts\nvar execFileAsync = promisify(execFile);\nvar PORTAL_ADDON_IDS = [\n\t\"api\",\n\t\"chat\",\n\t\"discord\",\n\t\"slack\"\n];\n/**\n* Guardian health — queries the running container directly.\n*\n* Guardian has no host port mapping in the 0.11.0+ layout (it's reachable\n* only on the internal portal_net/assistant_net networks). The previous\n* implementation read the UI's in-memory ControlPlaneState, which is stale\n* whenever the stack was started by something other than the UI itself\n* (CLI, docker compose directly, AppImage on a pre-existing stack).\n*\n* `docker container inspect ... --format '{{.State.Health.Status}}'` is the\n* authoritative source: it reads the compose-defined healthcheck the\n* guardian container already runs internally. Same approach as the\n* admin-tools-plugin host-side health-check tool.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\ttry {\n\t\tif (!listEnabledAddonIds(getState().homeDir).some((a) => PORTAL_ADDON_IDS.includes(a))) return jsonResponse(200, {\n\t\t\tstatus: \"not_deployed\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch {}\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\"docker\", [\n\t\t\t\"container\",\n\t\t\t\"inspect\",\n\t\t\t\"openpalm-guardian-1\",\n\t\t\t\"--format\",\n\t\t\t\"{{.State.Health.Status}}\"\n\t\t], { timeout: 5e3 });\n\t\tconst status = stdout.trim();\n\t\tif (status === \"healthy\") return jsonResponse(200, {\n\t\t\tstatus: \"ok\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: status || \"unknown\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: \"unreachable\",\n\t\t\tservice: \"guardian\",\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t}, requestId);\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,IAAI,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;AACvC,IAAI,gBAAgB,GAAG;AACvB,CAAC,KAAK;AACN,CAAC,MAAM;AACP,CAAC,SAAS;AACV,CAAC;AACD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI;AACL,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACnH,GAAG,MAAM,EAAE,cAAc;AACzB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE;AACnD,GAAG,WAAW;AACd,GAAG,SAAS;AACZ,GAAG,qBAAqB;AACxB,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACtB,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE;AAC9B,EAAE,IAAI,MAAM,KAAK,SAAS,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACrD,GAAG,MAAM,EAAE,IAAI;AACf,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,MAAM,IAAI,SAAS;AAC9B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,aAAa;AACxB,GAAG,OAAO,EAAE,UAAU;AACtB,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { aW as validateProposedState, F as createLogger } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-
|
|
1
|
+
import { aW as validateProposedState, F as createLogger } from './src-DBYue8Tb.js';
|
|
2
|
+
import { g as getState } from './state-Bpt5dC1X.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-GEmeDI6e.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -22,7 +22,7 @@ import 'zlib';
|
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
24
|
import 'node:os';
|
|
25
|
-
import './endpoints-
|
|
25
|
+
import './endpoints-DUs5zmwI.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/config/validate/+server.ts
|
|
28
28
|
var logger = createLogger("admin.config.validate");
|
|
@@ -40,4 +40,4 @@ var GET = async (event) => {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
export { GET };
|
|
43
|
-
//# sourceMappingURL=_server.ts-
|
|
43
|
+
//# sourceMappingURL=_server.ts-BW13CurN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BW13CurN.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/config/validate/_server.ts.js"],"sourcesContent":["import { pn as createLogger, x as validateProposedState } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/config/validate/+server.ts\nvar logger = createLogger(\"admin.config.validate\");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst result = await validateProposedState(getState());\n\tif (!result.ok) logger.warn(\"config validation failed\", {\n\t\trequestId,\n\t\terrors: result.errors,\n\t\twarnings: result.warnings\n\t});\n\treturn jsonResponse(200, result, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC;AAC/C,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AACzD,EAAE,SAAS;AACX,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,QAAQ,EAAE,MAAM,CAAC;AACnB,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;AAC5C;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { ab as isSetupComplete, aL as resolveOpenPalmHome, _ as getAddonProfileSelection, b as annotateAddonProfileAvailability, $ as getAddonProfiles } from './src-
|
|
3
|
-
import { g as getState } from './state-
|
|
4
|
-
import { r as requireAdmin, d as getRequestId } from './helpers-
|
|
2
|
+
import { ab as isSetupComplete, aL as resolveOpenPalmHome, _ as getAddonProfileSelection, b as annotateAddonProfileAvailability, $ as getAddonProfiles } from './src-DBYue8Tb.js';
|
|
3
|
+
import { g as getState } from './state-Bpt5dC1X.js';
|
|
4
|
+
import { r as requireAdmin, d as getRequestId } from './helpers-GEmeDI6e.js';
|
|
5
5
|
import './utils-BSRjJDrZ.js';
|
|
6
6
|
import './chunk-CLZ62Ad-.js';
|
|
7
7
|
import 'node:module';
|
|
@@ -24,7 +24,7 @@ import 'zlib';
|
|
|
24
24
|
import 'node:assert';
|
|
25
25
|
import 'node:fs/promises';
|
|
26
26
|
import 'node:os';
|
|
27
|
-
import './endpoints-
|
|
27
|
+
import './endpoints-DUs5zmwI.js';
|
|
28
28
|
|
|
29
29
|
//#region src/routes/api/setup/ollama-profiles/+server.ts
|
|
30
30
|
var GET = async (event) => {
|
|
@@ -41,4 +41,4 @@ var GET = async (event) => {
|
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
export { GET };
|
|
44
|
-
//# sourceMappingURL=_server.ts-
|
|
44
|
+
//# sourceMappingURL=_server.ts-BWh3c-xu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BWh3c-xu.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/ollama-profiles/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Ct as getAddonProfiles, St as getAddonProfileSelection, bt as annotateAddonProfileAvailability, cn as resolveOpenPalmHome, ft as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/ollama-profiles/+server.ts\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveOpenPalmHome())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst state = getState();\n\treturn json({\n\t\tok: true,\n\t\tprofiles: await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"ollama\")),\n\t\tselectedProfile: getAddonProfileSelection(state.stackDir, \"ollama\")\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,IAAI,eAAe,CAAC,mBAAmB,EAAE,CAAC,EAAE;AAC7C,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,IAAI,SAAS,EAAE,OAAO,SAAS;AACjC,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC7F,EAAE,eAAe,EAAE,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ;AACpE,EAAE,CAAC;AACH;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { w as withAdminBody, k as jsonResponse } from './helpers-
|
|
2
|
-
import { o as opencodeFetch } from './http-
|
|
1
|
+
import { w as withAdminBody, k as jsonResponse } from './helpers-GEmeDI6e.js';
|
|
2
|
+
import { o as opencodeFetch } from './http-BzGcbSMh.js';
|
|
3
3
|
import { a as asStringOrEmpty } from './_helpers-B_lb4-jB.js';
|
|
4
|
-
import './src-
|
|
4
|
+
import './src-DBYue8Tb.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -23,8 +23,8 @@ import 'zlib';
|
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
25
|
import 'node:os';
|
|
26
|
-
import './endpoints-
|
|
27
|
-
import './state-
|
|
26
|
+
import './endpoints-DUs5zmwI.js';
|
|
27
|
+
import './state-Bpt5dC1X.js';
|
|
28
28
|
import './coercion-TNFJisCC.js';
|
|
29
29
|
|
|
30
30
|
//#region src/routes/admin/providers/oauth/finish/+server.ts
|
|
@@ -65,4 +65,4 @@ var POST = (event) => withAdminBody(event, async ({ requestId, body }) => {
|
|
|
65
65
|
});
|
|
66
66
|
|
|
67
67
|
export { POST };
|
|
68
|
-
//# sourceMappingURL=_server.ts-
|
|
68
|
+
//# sourceMappingURL=_server.ts-BYDgL8Wh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BYDgL8Wh.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { c as jsonResponse, f as withAdminBody } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/finish/+server.ts\n/**\n* POST /admin/providers/oauth/finish — Complete an OAuth code-mode\n* sign-in by exchanging the operator-pasted authorization code with the\n* assistant OpenCode instance.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tconst code = asStringOrEmpty(body.code);\n\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\tcode\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AACzC,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAClF,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,wDAAwD;AACpE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI;AACJ,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,6BAA6B;AACzC,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { aH as removeTaskFile, aC as readTaskFile, a$ as writeTaskFile, h as assertSafeTaskFilename } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-
|
|
1
|
+
import { aH as removeTaskFile, aC as readTaskFile, a$ as writeTaskFile, h as assertSafeTaskFilename } from './src-DBYue8Tb.js';
|
|
2
|
+
import { g as getState } from './state-Bpt5dC1X.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-GEmeDI6e.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -22,7 +22,7 @@ import 'zlib';
|
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
24
|
import 'node:os';
|
|
25
|
-
import './endpoints-
|
|
25
|
+
import './endpoints-DUs5zmwI.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/automations/[name]/file/+server.ts
|
|
28
28
|
function guard(name, requestId) {
|
|
@@ -79,4 +79,4 @@ var DELETE = async (event) => {
|
|
|
79
79
|
};
|
|
80
80
|
|
|
81
81
|
export { DELETE, GET, PUT };
|
|
82
|
-
//# sourceMappingURL=_server.ts-
|
|
82
|
+
//# sourceMappingURL=_server.ts-B_9-b1wk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-B_9-b1wk.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/file/_server.ts.js"],"sourcesContent":["import { gt as writeTaskFile, ht as removeTaskFile, mt as readTaskFile, pt as assertSafeTaskFilename } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/[name]/file/+server.ts\nfunction guard(name, requestId) {\n\ttry {\n\t\tassertSafeTaskFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst content = readTaskFile(getState().stashDir, name);\n\tif (content === null) return errorResponse(404, \"not_found\", `Task file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tcontent\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst content = result.data.content;\n\tif (typeof content !== \"string\") return errorResponse(400, \"bad_request\", \"content must be a string\", {}, requestId);\n\twriteTaskFile(getState().stashDir, name, content);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tremoveTaskFile(getState().stashDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { g as getState } from './state-
|
|
2
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-
|
|
3
|
-
import { d as detectEmbeddingSettings } from './akm-
|
|
4
|
-
import './src-
|
|
1
|
+
import { g as getState } from './state-Bpt5dC1X.js';
|
|
2
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-GEmeDI6e.js';
|
|
3
|
+
import { d as detectEmbeddingSettings } from './akm-BVM3F-FY.js';
|
|
4
|
+
import './src-DBYue8Tb.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -23,7 +23,7 @@ import 'zlib';
|
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
25
|
import 'node:os';
|
|
26
|
-
import './endpoints-
|
|
26
|
+
import './endpoints-DUs5zmwI.js';
|
|
27
27
|
|
|
28
28
|
//#region src/routes/admin/akm/embedding/detect/+server.ts
|
|
29
29
|
var POST = async (event) => {
|
|
@@ -36,4 +36,4 @@ var POST = async (event) => {
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
export { POST };
|
|
39
|
-
//# sourceMappingURL=_server.ts-
|
|
39
|
+
//# sourceMappingURL=_server.ts-Bbc4zzJy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-Bbc4zzJy.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/embedding/detect/_server.ts.js"],"sourcesContent":["import { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, r as errorResponse, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\nimport { t as detectEmbeddingSettings } from \"../../../../../../chunks/akm.js\";\n//#region src/routes/admin/akm/embedding/detect/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst detected = await detectEmbeddingSettings(getState());\n\tif (!detected.ok) return errorResponse(404, \"embedding_not_detected\", detected.message, {}, requestId);\n\treturn jsonResponse(200, detected, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,CAAC;AAC3D,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AACvG,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC;AAC9C;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { g as getOpenCodeClient } from './helpers-
|
|
2
|
+
import { g as getOpenCodeClient } from './helpers-GEmeDI6e.js';
|
|
3
3
|
import './utils-BSRjJDrZ.js';
|
|
4
|
-
import './src-
|
|
4
|
+
import './src-DBYue8Tb.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -23,8 +23,8 @@ import 'zlib';
|
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
25
|
import 'node:os';
|
|
26
|
-
import './endpoints-
|
|
27
|
-
import './state-
|
|
26
|
+
import './endpoints-DUs5zmwI.js';
|
|
27
|
+
import './state-Bpt5dC1X.js';
|
|
28
28
|
|
|
29
29
|
//#region src/routes/api/setup/opencode/status/+server.ts
|
|
30
30
|
var GET = async () => {
|
|
@@ -42,4 +42,4 @@ var GET = async () => {
|
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
export { GET };
|
|
45
|
-
//# sourceMappingURL=_server.ts-
|
|
45
|
+
//# sourceMappingURL=_server.ts-BhmHIGs6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BhmHIGs6.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { i as getOpenCodeClient } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/status/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: await getOpenCodeClient().isAvailable()\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: false\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,iBAAiB,EAAE,CAAC,WAAW;AACnD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { T as dismissSecretStripNotice, ay as readSecretStripNotice, F as createLogger } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-
|
|
1
|
+
import { T as dismissSecretStripNotice, ay as readSecretStripNotice, F as createLogger } from './src-DBYue8Tb.js';
|
|
2
|
+
import { g as getState } from './state-Bpt5dC1X.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-GEmeDI6e.js';
|
|
4
4
|
import './chunk-CLZ62Ad-.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -22,7 +22,7 @@ import 'zlib';
|
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
24
|
import 'node:os';
|
|
25
|
-
import './endpoints-
|
|
25
|
+
import './endpoints-DUs5zmwI.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/secret-notice/+server.ts
|
|
28
28
|
var logger = createLogger("secret-notice");
|
|
@@ -61,4 +61,4 @@ var DELETE = async (event) => {
|
|
|
61
61
|
};
|
|
62
62
|
|
|
63
63
|
export { DELETE, GET };
|
|
64
|
-
//# sourceMappingURL=_server.ts-
|
|
64
|
+
//# sourceMappingURL=_server.ts-BhuoSeRy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BhuoSeRy.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/secret-notice/_server.ts.js"],"sourcesContent":["import { Mt as readSecretStripNotice, jt as dismissSecretStripNotice, pn as createLogger } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/secret-notice/+server.ts\nvar logger = createLogger(\"secret-notice\");\n/**\n* #502 — one-time notice that secret-looking keys were removed from stack.env.\n* The strip itself is correct per the secret-boundary contract; this surfaces\n* it so the user knows where their value went and how to re-add it.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tnotice: readSecretStripNotice(state)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"secret_notice_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/** Dismiss the one-time notice. */\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\tdismissSecretStripNotice(state);\n\t\tlogger.info(\"secret-strip notice dismissed\", { requestId });\n\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"secret_notice_dismiss_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM,EAAE,qBAAqB,CAAC,KAAK;AACtC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9G,CAAC;AACD;AACA;AACG,IAAC,MAAM,GAAG,OAAO,KAAK,KAAK;AAC9B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,wBAAwB,CAAC,KAAK,CAAC;AACjC,EAAE,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC;AAC7D,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AACnD,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,8BAA8B,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACtH,CAAC;AACD;;;;"}
|