@openpalm/ui 0.12.6 → 0.12.7
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/chunks/{CRSbY4Kh.js → BWVZ2TVD.js} +1 -1
- package/build/client/_app/immutable/chunks/BWVZ2TVD.js.br +0 -0
- package/build/client/_app/immutable/chunks/BWVZ2TVD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B-mBBr5-.js → BzyHWA5G.js} +1 -1
- package/build/client/_app/immutable/chunks/BzyHWA5G.js.br +0 -0
- package/build/client/_app/immutable/chunks/BzyHWA5G.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DQDnMiRB.js → Dx77FoFU.js} +2 -2
- package/build/client/_app/immutable/chunks/Dx77FoFU.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dx77FoFU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{QZhQ9jgL.js → bH8yojp3.js} +1 -1
- package/build/client/_app/immutable/chunks/bH8yojp3.js.br +0 -0
- package/build/client/_app/immutable/chunks/bH8yojp3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/qinjWOf_.js +1 -0
- package/build/client/_app/immutable/chunks/qinjWOf_.js.br +2 -0
- package/build/client/_app/immutable/chunks/qinjWOf_.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.CjeyRTKT.js → app.B_UESbBc.js} +2 -2
- package/build/client/_app/immutable/entry/app.B_UESbBc.js.br +0 -0
- package/build/client/_app/immutable/entry/app.B_UESbBc.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BBf7r6Ed.js +1 -0
- package/build/client/_app/immutable/entry/start.BBf7r6Ed.js.br +1 -0
- package/build/client/_app/immutable/entry/start.BBf7r6Ed.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.CsV7DNn1.js → 1.BPI9WMCM.js} +1 -1
- package/build/client/_app/immutable/nodes/1.BPI9WMCM.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.BPI9WMCM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.KMrAUs2s.js → 4.kga7H-qM.js} +7 -7
- package/build/client/_app/immutable/nodes/4.kga7H-qM.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.kga7H-qM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.BtCa1kCv.js → 5.a01_QK-Y.js} +1 -1
- package/build/client/_app/immutable/nodes/5.a01_QK-Y.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.a01_QK-Y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.BVzjd6cM.js → 6.DiCmpX_E.js} +1 -1
- package/build/client/_app/immutable/nodes/6.DiCmpX_E.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DiCmpX_E.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.vH7ptLBA.js → 7.BLmmfliC.js} +1 -1
- package/build/client/_app/immutable/nodes/7.BLmmfliC.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BLmmfliC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.DbovpYj-.js → 8.Ok0ArxPA.js} +1 -1
- package/build/client/_app/immutable/nodes/8.Ok0ArxPA.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Ok0ArxPA.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/1-BKKGpDL-.js +9 -0
- package/build/server/chunks/{1-tqcyjyYn.js.map → 1-BKKGpDL-.js.map} +1 -1
- package/build/server/chunks/{10-ClWWC_db.js → 10-D03X_7-l.js} +5 -5
- package/build/server/chunks/{10-ClWWC_db.js.map → 10-D03X_7-l.js.map} +1 -1
- package/build/server/chunks/4-DK624eV1.js +9 -0
- package/build/server/chunks/{4-D45BCCjA.js.map → 4-DK624eV1.js.map} +1 -1
- package/build/server/chunks/{5-DKkkz5Zu.js → 5-Dguhb8w9.js} +3 -3
- package/build/server/chunks/{5-DKkkz5Zu.js.map → 5-Dguhb8w9.js.map} +1 -1
- package/build/server/chunks/{6-BmCqItlR.js → 6-B2r3PAaV.js} +3 -3
- package/build/server/chunks/{6-BmCqItlR.js.map → 6-B2r3PAaV.js.map} +1 -1
- package/build/server/chunks/7-BFJqpOL0.js +9 -0
- package/build/server/chunks/{7-BCjeTrAw.js.map → 7-BFJqpOL0.js.map} +1 -1
- package/build/server/chunks/{8-BQYJohzV.js → 8-C5xuqVfE.js} +3 -3
- package/build/server/chunks/{8-BQYJohzV.js.map → 8-C5xuqVfE.js.map} +1 -1
- package/build/server/chunks/{ChatMessage-sBxcrkH1.js → ChatMessage-BW8LVLk6.js} +2 -2
- package/build/server/chunks/{ChatMessage-sBxcrkH1.js.map → ChatMessage-BW8LVLk6.js.map} +1 -1
- package/build/server/chunks/{Navbar-DocCJCkJ.js → Navbar-DfPUzeK0.js} +3 -3
- package/build/server/chunks/{Navbar-DocCJCkJ.js.map → Navbar-DfPUzeK0.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-MZeeV3UU.js → _page.svelte-BZL7tih7.js} +6 -6
- package/build/server/chunks/{_page.svelte-MZeeV3UU.js.map → _page.svelte-BZL7tih7.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BwkM4u_N.js → _page.svelte-ClbKAMyo.js} +5 -5
- package/build/server/chunks/{_page.svelte-BwkM4u_N.js.map → _page.svelte-ClbKAMyo.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BjO6HPPf.js → _page.svelte-DFzgmYgw.js} +3 -3
- package/build/server/chunks/{_page.svelte-BjO6HPPf.js.map → _page.svelte-DFzgmYgw.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BY9Xi4AF.js → _page.svelte-DNEC3f8D.js} +16 -13
- package/build/server/chunks/_page.svelte-DNEC3f8D.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BW1I5ypa.js → _page.svelte-iT7HjGI6.js} +5 -5
- package/build/server/chunks/{_page.svelte-BW1I5ypa.js.map → _page.svelte-iT7HjGI6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B5mSiQLP.js → _server.ts--3dXbe7F.js} +6 -6
- package/build/server/chunks/{_server.ts-B5mSiQLP.js.map → _server.ts--3dXbe7F.js.map} +1 -1
- package/build/server/chunks/{_server.ts-z3FqDVpm.js → _server.ts--x_Ox5Lx.js} +5 -5
- package/build/server/chunks/{_server.ts-z3FqDVpm.js.map → _server.ts--x_Ox5Lx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BRMEdAL7.js → _server.ts-7sbxcOHi.js} +5 -5
- package/build/server/chunks/{_server.ts-BRMEdAL7.js.map → _server.ts-7sbxcOHi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C3bsXngt.js → _server.ts-B2a_UVfF.js} +5 -5
- package/build/server/chunks/{_server.ts-C3bsXngt.js.map → _server.ts-B2a_UVfF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bi-lppMP.js → _server.ts-B4tsze4e.js} +5 -5
- package/build/server/chunks/{_server.ts-Bi-lppMP.js.map → _server.ts-B4tsze4e.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BT_5f2pb.js → _server.ts-BBPPO8LA.js} +5 -5
- package/build/server/chunks/{_server.ts-BT_5f2pb.js.map → _server.ts-BBPPO8LA.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DC_Vh8E6.js → _server.ts-BHQdT49p.js} +5 -5
- package/build/server/chunks/{_server.ts-DC_Vh8E6.js.map → _server.ts-BHQdT49p.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B0USMUoE.js → _server.ts-BIqRqV5K.js} +5 -5
- package/build/server/chunks/{_server.ts-B0USMUoE.js.map → _server.ts-BIqRqV5K.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPEInT5Z.js → _server.ts-BL1a7w8x.js} +5 -5
- package/build/server/chunks/{_server.ts-DPEInT5Z.js.map → _server.ts-BL1a7w8x.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bk8_1LiE.js → _server.ts-BLUGSTbb.js} +5 -5
- package/build/server/chunks/{_server.ts-Bk8_1LiE.js.map → _server.ts-BLUGSTbb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-SOuORDIo.js → _server.ts-BLeQoL81.js} +5 -5
- package/build/server/chunks/{_server.ts-SOuORDIo.js.map → _server.ts-BLeQoL81.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D69kt8gW.js → _server.ts-BMl200pm.js} +6 -6
- package/build/server/chunks/{_server.ts-D69kt8gW.js.map → _server.ts-BMl200pm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DL0R4W6K.js → _server.ts-BRbd1WB6.js} +5 -5
- package/build/server/chunks/{_server.ts-DL0R4W6K.js.map → _server.ts-BRbd1WB6.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DsJ0wRlK.js → _server.ts-BSkichZm.js} +8 -8
- package/build/server/chunks/{_server.ts-DsJ0wRlK.js.map → _server.ts-BSkichZm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-fM6Gkpfd.js → _server.ts-BUewbX_m.js} +6 -6
- package/build/server/chunks/{_server.ts-fM6Gkpfd.js.map → _server.ts-BUewbX_m.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bd3yJr4m.js → _server.ts-BVZsP2Zn.js} +5 -5
- package/build/server/chunks/{_server.ts-Bd3yJr4m.js.map → _server.ts-BVZsP2Zn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CP-vg4Mu.js → _server.ts-BXLfuAUx.js} +5 -5
- package/build/server/chunks/{_server.ts-CP-vg4Mu.js.map → _server.ts-BXLfuAUx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CVuztMSL.js → _server.ts-BYKn_W3C.js} +5 -5
- package/build/server/chunks/{_server.ts-CVuztMSL.js.map → _server.ts-BYKn_W3C.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DfNcqz8C.js → _server.ts-BYg436Zy.js} +5 -5
- package/build/server/chunks/{_server.ts-DfNcqz8C.js.map → _server.ts-BYg436Zy.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CaJXmvRh.js → _server.ts-BZuh7f0g.js} +6 -6
- package/build/server/chunks/{_server.ts-CaJXmvRh.js.map → _server.ts-BZuh7f0g.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BS4JFPG5.js → _server.ts-Bb6tIhp8.js} +2 -2
- package/build/server/chunks/{_server.ts-BS4JFPG5.js.map → _server.ts-Bb6tIhp8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DGWQtatZ.js → _server.ts-Bl-5dDM7.js} +5 -5
- package/build/server/chunks/{_server.ts-DGWQtatZ.js.map → _server.ts-Bl-5dDM7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BYY93Gcc.js → _server.ts-BmUQoU9j.js} +5 -5
- package/build/server/chunks/{_server.ts-BYY93Gcc.js.map → _server.ts-BmUQoU9j.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BbArt_tL.js → _server.ts-BmkKZuFw.js} +5 -5
- package/build/server/chunks/{_server.ts-BbArt_tL.js.map → _server.ts-BmkKZuFw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Nx5G7kN_.js → _server.ts-BoqzrIwT.js} +5 -5
- package/build/server/chunks/{_server.ts-Nx5G7kN_.js.map → _server.ts-BoqzrIwT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CX3Pbgq3.js → _server.ts-BovpxaxI.js} +5 -5
- package/build/server/chunks/{_server.ts-CX3Pbgq3.js.map → _server.ts-BovpxaxI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DM3isq5U.js → _server.ts-BsoQb22J.js} +6 -6
- package/build/server/chunks/{_server.ts-DM3isq5U.js.map → _server.ts-BsoQb22J.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CBPnXtls.js → _server.ts-Bxo6Ziog.js} +5 -5
- package/build/server/chunks/{_server.ts-CBPnXtls.js.map → _server.ts-Bxo6Ziog.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bo6s1ApS.js → _server.ts-BzCJGVxd.js} +2 -2
- package/build/server/chunks/{_server.ts-Bo6s1ApS.js.map → _server.ts-BzCJGVxd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CVxVsVXt.js → _server.ts-C-gAyI12.js} +29 -28
- package/build/server/chunks/_server.ts-C-gAyI12.js.map +1 -0
- package/build/server/chunks/{_server.ts-SF6pSx63.js → _server.ts-C1iKmorm.js} +5 -5
- package/build/server/chunks/{_server.ts-SF6pSx63.js.map → _server.ts-C1iKmorm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DccTW04Z.js → _server.ts-C5U2sP0v.js} +5 -5
- package/build/server/chunks/{_server.ts-DccTW04Z.js.map → _server.ts-C5U2sP0v.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B8O9kJIV.js → _server.ts-C7Lid3rY.js} +5 -5
- package/build/server/chunks/{_server.ts-B8O9kJIV.js.map → _server.ts-C7Lid3rY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CTGWKDqf.js → _server.ts-CBDQh3oB.js} +5 -5
- package/build/server/chunks/{_server.ts-CTGWKDqf.js.map → _server.ts-CBDQh3oB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CLZTQAem.js → _server.ts-CDJb8u6T.js} +4 -4
- package/build/server/chunks/{_server.ts-CLZTQAem.js.map → _server.ts-CDJb8u6T.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ByQUGvJ2.js → _server.ts-CK_sC0WR.js} +7 -7
- package/build/server/chunks/{_server.ts-ByQUGvJ2.js.map → _server.ts-CK_sC0WR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-KVlAwfa7.js → _server.ts-CQHUyJ88.js} +6 -6
- package/build/server/chunks/{_server.ts-KVlAwfa7.js.map → _server.ts-CQHUyJ88.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DJX0LiE-.js → _server.ts-CS_QhbpE.js} +7 -7
- package/build/server/chunks/{_server.ts-DJX0LiE-.js.map → _server.ts-CS_QhbpE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B2ePIe7k.js → _server.ts-CUg7JTi8.js} +5 -5
- package/build/server/chunks/{_server.ts-B2ePIe7k.js.map → _server.ts-CUg7JTi8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ib6n7JpR.js → _server.ts-CZRNe4sB.js} +5 -5
- package/build/server/chunks/{_server.ts-ib6n7JpR.js.map → _server.ts-CZRNe4sB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-00h626-G.js → _server.ts-CcAgwk38.js} +7 -7
- package/build/server/chunks/{_server.ts-00h626-G.js.map → _server.ts-CcAgwk38.js.map} +1 -1
- package/build/server/chunks/{_server.ts-OaY_Oi6x.js → _server.ts-Cd7MsOvn.js} +5 -5
- package/build/server/chunks/{_server.ts-OaY_Oi6x.js.map → _server.ts-Cd7MsOvn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CV72vnaf.js → _server.ts-Chpwcj2F.js} +6 -6
- package/build/server/chunks/{_server.ts-CV72vnaf.js.map → _server.ts-Chpwcj2F.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DLtfdvdM.js → _server.ts-ClNRi7Fk.js} +5 -5
- package/build/server/chunks/{_server.ts-DLtfdvdM.js.map → _server.ts-ClNRi7Fk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CQ9c5VQq.js → _server.ts-ClZQ8p0s.js} +7 -7
- package/build/server/chunks/{_server.ts-CQ9c5VQq.js.map → _server.ts-ClZQ8p0s.js.map} +1 -1
- package/build/server/chunks/{_server.ts-f8-Db9lI.js → _server.ts-Ct6UMvxY.js} +5 -5
- package/build/server/chunks/{_server.ts-f8-Db9lI.js.map → _server.ts-Ct6UMvxY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNXbXpJ7.js → _server.ts-CtRb0YG7.js} +5 -5
- package/build/server/chunks/{_server.ts-BNXbXpJ7.js.map → _server.ts-CtRb0YG7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BygTeTVH.js → _server.ts-Cv9SGZ8H.js} +5 -5
- package/build/server/chunks/{_server.ts-BygTeTVH.js.map → _server.ts-Cv9SGZ8H.js.map} +1 -1
- package/build/server/chunks/{_server.ts-2U69xsqn.js → _server.ts-DBNf4ax8.js} +6 -6
- package/build/server/chunks/{_server.ts-2U69xsqn.js.map → _server.ts-DBNf4ax8.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CPhe1fct.js → _server.ts-DEBzl6wJ.js} +7 -7
- package/build/server/chunks/{_server.ts-CPhe1fct.js.map → _server.ts-DEBzl6wJ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DLgRTupQ.js → _server.ts-DI4a5jXI.js} +5 -5
- package/build/server/chunks/{_server.ts-DLgRTupQ.js.map → _server.ts-DI4a5jXI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D6gXnT0S.js → _server.ts-DKBQpj1z.js} +6 -6
- package/build/server/chunks/{_server.ts-D6gXnT0S.js.map → _server.ts-DKBQpj1z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B0Zn6ksk.js → _server.ts-DKaB5vC3.js} +2 -2
- package/build/server/chunks/{_server.ts-B0Zn6ksk.js.map → _server.ts-DKaB5vC3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CuYxH3uM.js → _server.ts-DLik5y6z.js} +5 -5
- package/build/server/chunks/{_server.ts-CuYxH3uM.js.map → _server.ts-DLik5y6z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DoZLeC7k.js → _server.ts-DO3iItjK.js} +5 -5
- package/build/server/chunks/{_server.ts-DoZLeC7k.js.map → _server.ts-DO3iItjK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DkPleuhw.js → _server.ts-DT13Lylg.js} +7 -7
- package/build/server/chunks/{_server.ts-DkPleuhw.js.map → _server.ts-DT13Lylg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CCP8qBay.js → _server.ts-DTAA1c4A.js} +5 -5
- package/build/server/chunks/{_server.ts-CCP8qBay.js.map → _server.ts-DTAA1c4A.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BYntUWuo.js → _server.ts-DTvJT_A4.js} +6 -6
- package/build/server/chunks/{_server.ts-BYntUWuo.js.map → _server.ts-DTvJT_A4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-8dbeS-B9.js → _server.ts-DVf1Ga8y.js} +5 -5
- package/build/server/chunks/{_server.ts-8dbeS-B9.js.map → _server.ts-DVf1Ga8y.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DurWW9F4.js → _server.ts-DVnLgY88.js} +5 -5
- package/build/server/chunks/{_server.ts-DurWW9F4.js.map → _server.ts-DVnLgY88.js.map} +1 -1
- package/build/server/chunks/{_server.ts-t98jwIra.js → _server.ts-DYn_V6uH.js} +4 -4
- package/build/server/chunks/{_server.ts-t98jwIra.js.map → _server.ts-DYn_V6uH.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CpyY-cWr.js → _server.ts-Da_a2QPS.js} +5 -5
- package/build/server/chunks/{_server.ts-CpyY-cWr.js.map → _server.ts-Da_a2QPS.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B6kClDcC.js → _server.ts-DefdeZ-L.js} +5 -5
- package/build/server/chunks/{_server.ts-B6kClDcC.js.map → _server.ts-DefdeZ-L.js.map} +1 -1
- package/build/server/chunks/{_server.ts-dfDPdIru.js → _server.ts-DnMCLWoD.js} +5 -5
- package/build/server/chunks/{_server.ts-dfDPdIru.js.map → _server.ts-DnMCLWoD.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DTM2mODf.js → _server.ts-Do3Mzbgh.js} +5 -5
- package/build/server/chunks/{_server.ts-DTM2mODf.js.map → _server.ts-Do3Mzbgh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DDpDu1Zf.js → _server.ts-DprQaM9h.js} +5 -5
- package/build/server/chunks/{_server.ts-DDpDu1Zf.js.map → _server.ts-DprQaM9h.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ZnjMekBF.js → _server.ts-Dqtay2vV.js} +5 -5
- package/build/server/chunks/{_server.ts-ZnjMekBF.js.map → _server.ts-Dqtay2vV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ChWPLbia.js → _server.ts-DsAtWxIB.js} +5 -5
- package/build/server/chunks/{_server.ts-ChWPLbia.js.map → _server.ts-DsAtWxIB.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BbHE4obG.js → _server.ts-DtksQCAE.js} +5 -5
- package/build/server/chunks/{_server.ts-BbHE4obG.js.map → _server.ts-DtksQCAE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B6fdoTeE.js → _server.ts-DxXISWsG.js} +7 -7
- package/build/server/chunks/_server.ts-DxXISWsG.js.map +1 -0
- package/build/server/chunks/{_server.ts-DHBcE-xZ.js → _server.ts-DxhcX_Kn.js} +6 -6
- package/build/server/chunks/{_server.ts-DHBcE-xZ.js.map → _server.ts-DxhcX_Kn.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DoltyIQF.js → _server.ts-Dy8ob-Yi.js} +5 -5
- package/build/server/chunks/{_server.ts-DoltyIQF.js.map → _server.ts-Dy8ob-Yi.js.map} +1 -1
- package/build/server/chunks/{_server.ts-sBc-WN6M.js → _server.ts-LYCSOMBR.js} +2 -2
- package/build/server/chunks/{_server.ts-sBc-WN6M.js.map → _server.ts-LYCSOMBR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DEwkX3ls.js → _server.ts-LpU_EEPq.js} +6 -6
- package/build/server/chunks/{_server.ts-DEwkX3ls.js.map → _server.ts-LpU_EEPq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CMC-D6G8.js → _server.ts-PHq2fuFm.js} +5 -5
- package/build/server/chunks/{_server.ts-CMC-D6G8.js.map → _server.ts-PHq2fuFm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BTkI0MYh.js → _server.ts-VqtImWWs.js} +5 -5
- package/build/server/chunks/{_server.ts-BTkI0MYh.js.map → _server.ts-VqtImWWs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DGS3HL5L.js → _server.ts-Z0qgxs3B.js} +5 -5
- package/build/server/chunks/{_server.ts-DGS3HL5L.js.map → _server.ts-Z0qgxs3B.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ddq07WNJ.js → _server.ts-Zgs9trH1.js} +5 -5
- package/build/server/chunks/{_server.ts-Ddq07WNJ.js.map → _server.ts-Zgs9trH1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B0-1jdCf.js → _server.ts-_zcta9sI.js} +5 -5
- package/build/server/chunks/{_server.ts-B0-1jdCf.js.map → _server.ts-_zcta9sI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cc5hNlzC.js → _server.ts-bHy1WRna.js} +2 -2
- package/build/server/chunks/{_server.ts-Cc5hNlzC.js.map → _server.ts-bHy1WRna.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DMHPUxEu.js → _server.ts-cTKQhGdU.js} +5 -5
- package/build/server/chunks/{_server.ts-DMHPUxEu.js.map → _server.ts-cTKQhGdU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-w0HFBqit.js → _server.ts-caqg6Qpw.js} +6 -6
- package/build/server/chunks/{_server.ts-w0HFBqit.js.map → _server.ts-caqg6Qpw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DStYEikA.js → _server.ts-jOZIah2P.js} +5 -5
- package/build/server/chunks/{_server.ts-DStYEikA.js.map → _server.ts-jOZIah2P.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DjMVgo8F.js → _server.ts-k-TQPRld.js} +5 -5
- package/build/server/chunks/{_server.ts-DjMVgo8F.js.map → _server.ts-k-TQPRld.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CsVvCVw7.js → _server.ts-kHCwWhe3.js} +5 -5
- package/build/server/chunks/{_server.ts-CsVvCVw7.js.map → _server.ts-kHCwWhe3.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-Bo4hdZTj.js → addon-helpers-B7HFQ3RL.js} +3 -3
- package/build/server/chunks/{addon-helpers-Bo4hdZTj.js.map → addon-helpers-B7HFQ3RL.js.map} +1 -1
- package/build/server/chunks/{akm-DbPcENjV.js → akm-CPP2Trqo.js} +2 -2
- package/build/server/chunks/{akm-DbPcENjV.js.map → akm-CPP2Trqo.js.map} +1 -1
- package/build/server/chunks/{catalog--Wa5WAM4.js → catalog-CD15uSXA.js} +5 -5
- package/build/server/chunks/{catalog--Wa5WAM4.js.map → catalog-CD15uSXA.js.map} +1 -1
- package/build/server/chunks/{client-BILypdph.js → client-Dg5O4lJC.js} +2 -2
- package/build/server/chunks/{client-BILypdph.js.map → client-Dg5O4lJC.js.map} +1 -1
- package/build/server/chunks/{config-CfZrAmt4.js → config-BsGMOYU-.js} +2 -2
- package/build/server/chunks/{config-CfZrAmt4.js.map → config-BsGMOYU-.js.map} +1 -1
- package/build/server/chunks/{docker-C_kgiGOO.js → docker-CnfQsoh1.js} +2 -2
- package/build/server/chunks/{docker-C_kgiGOO.js.map → docker-CnfQsoh1.js.map} +1 -1
- package/build/server/chunks/{endpoints-DNux-fut.js → endpoints-TKIfBd1B.js} +2 -2
- package/build/server/chunks/{endpoints-DNux-fut.js.map → endpoints-TKIfBd1B.js.map} +1 -1
- package/build/server/chunks/{environment-Doz0aMGk.js → environment-CiTFe9kz.js} +2 -2
- package/build/server/chunks/{environment-Doz0aMGk.js.map → environment-CiTFe9kz.js.map} +1 -1
- package/build/server/chunks/{error.svelte-ESC3aLu5.js → error.svelte-v0KZsl-y.js} +4 -4
- package/build/server/chunks/{error.svelte-ESC3aLu5.js.map → error.svelte-v0KZsl-y.js.map} +1 -1
- package/build/server/chunks/{helpers-CIHSEiCi.js → helpers-C5ooRtVL.js} +3 -3
- package/build/server/chunks/{helpers-CIHSEiCi.js.map → helpers-C5ooRtVL.js.map} +1 -1
- package/build/server/chunks/{hooks.server-SolNV84_.js → hooks.server-B3Votrxb.js} +7 -7
- package/build/server/chunks/{hooks.server-SolNV84_.js.map → hooks.server-B3Votrxb.js.map} +1 -1
- package/build/server/chunks/{http-29NeXi8J.js → http-BKevFr5r.js} +2 -2
- package/build/server/chunks/{http-29NeXi8J.js.map → http-BKevFr5r.js.map} +1 -1
- package/build/server/chunks/{internal-AjT2L6Re.js → internal-_63MR9tl.js} +3 -3
- package/build/server/chunks/{internal-AjT2L6Re.js.map → internal-_63MR9tl.js.map} +1 -1
- package/build/server/chunks/{migration-status-eArABSVL.js → migration-status-DB5P8Vs9.js} +2 -2
- package/build/server/chunks/{migration-status-eArABSVL.js.map → migration-status-DB5P8Vs9.js.map} +1 -1
- package/build/server/chunks/{session-cookie-5PNazqrm.js → session-cookie-Bc9kWbaM.js} +2 -2
- package/build/server/chunks/{session-cookie-5PNazqrm.js.map → session-cookie-Bc9kWbaM.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-pyw7oUsn.js → setup-deploy-CghSd9qZ.js} +2 -2
- package/build/server/chunks/{setup-deploy-pyw7oUsn.js.map → setup-deploy-CghSd9qZ.js.map} +1 -1
- package/build/server/chunks/{src-C5kkVuFB.js → src-DKq8HP_s.js} +7 -8
- package/build/server/chunks/src-DKq8HP_s.js.map +1 -0
- package/build/server/chunks/{state-BAMdGxdT.js → state-B1kC-_xl.js} +2 -2
- package/build/server/chunks/{state-BAMdGxdT.js.map → state-B1kC-_xl.js.map} +1 -1
- package/build/server/chunks/{state2-BVeJ-USX.js → state2-DRC_p4SM.js} +2 -2
- package/build/server/chunks/{state2-BVeJ-USX.js.map → state2-DRC_p4SM.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/build/server/manifest.js +93 -93
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -2
- package/build/client/_app/immutable/chunks/B-mBBr5-.js.br +0 -0
- package/build/client/_app/immutable/chunks/B-mBBr5-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CRSbY4Kh.js.br +0 -0
- package/build/client/_app/immutable/chunks/CRSbY4Kh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CwsyZWHi.js +0 -1
- package/build/client/_app/immutable/chunks/CwsyZWHi.js.br +0 -2
- package/build/client/_app/immutable/chunks/CwsyZWHi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DQDnMiRB.js.br +0 -0
- package/build/client/_app/immutable/chunks/DQDnMiRB.js.gz +0 -0
- package/build/client/_app/immutable/chunks/QZhQ9jgL.js.br +0 -0
- package/build/client/_app/immutable/chunks/QZhQ9jgL.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CjeyRTKT.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CjeyRTKT.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.B0-iB266.js +0 -1
- package/build/client/_app/immutable/entry/start.B0-iB266.js.br +0 -0
- package/build/client/_app/immutable/entry/start.B0-iB266.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CsV7DNn1.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.CsV7DNn1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.KMrAUs2s.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.KMrAUs2s.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BtCa1kCv.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BtCa1kCv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BVzjd6cM.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BVzjd6cM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.vH7ptLBA.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.vH7ptLBA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.DbovpYj-.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.DbovpYj-.js.gz +0 -0
- package/build/server/chunks/1-tqcyjyYn.js +0 -9
- package/build/server/chunks/4-D45BCCjA.js +0 -9
- package/build/server/chunks/7-BCjeTrAw.js +0 -9
- package/build/server/chunks/_page.svelte-BY9Xi4AF.js.map +0 -1
- package/build/server/chunks/_server.ts-B6fdoTeE.js.map +0 -1
- package/build/server/chunks/_server.ts-CVxVsVXt.js.map +0 -1
- package/build/server/chunks/src-C5kkVuFB.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-C1iKmorm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/auth/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../chunks/exports.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/auth/[provider]/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar PUT = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst { key } = await request.json();\n\t\tif (!(await getOpenCodeClient().setProviderApiKey(params.provider, typeof key === \"string\" ? key : \"\")).ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 400 });\n\t\treturn json({ ok: true });\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AACzC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACtC,EAAE,IAAI,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC1H,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { aq as loadAutomations } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-
|
|
1
|
+
import { aq as loadAutomations } from './src-DKq8HP_s.js';
|
|
2
|
+
import { g as getState } from './state-B1kC-_xl.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-C5ooRtVL.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-TKIfBd1B.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/automations/+server.ts
|
|
28
28
|
var GET = async (event) => {
|
|
@@ -46,4 +46,4 @@ var GET = async (event) => {
|
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
export { GET };
|
|
49
|
-
//# sourceMappingURL=_server.ts-
|
|
49
|
+
//# sourceMappingURL=_server.ts-C5U2sP0v.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-C5U2sP0v.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_server.ts.js"],"sourcesContent":["import { f as loadAutomations } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\treturn jsonResponse(200, { automations: loadAutomations(getState().stashDir).map((c) => ({\n\t\tname: c.name,\n\t\tdescription: c.description,\n\t\tschedule: c.schedule,\n\t\ttimezone: c.timezone,\n\t\tenabled: c.enabled,\n\t\taction: {\n\t\t\ttype: c.action.type,\n\t\t\tcontent: c.action.content,\n\t\t\tagent: c.action.agent\n\t\t},\n\t\ton_failure: c.on_failure,\n\t\tfileName: c.fileName\n\t})) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,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,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC1F,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;AACd,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;AAC5B,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;AACpB,EAAE,MAAM,EAAE;AACV,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;AACtB,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;AAC5B,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;AACnB,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;AAC1B,EAAE,QAAQ,EAAE,CAAC,CAAC;AACd,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { s as setActiveId } from './endpoints-
|
|
2
|
-
import { w as withAdminBody, e as errorResponse, k as jsonResponse } from './helpers-
|
|
3
|
-
import './state-
|
|
4
|
-
import './src-
|
|
1
|
+
import { s as setActiveId } from './endpoints-TKIfBd1B.js';
|
|
2
|
+
import { w as withAdminBody, e as errorResponse, k as jsonResponse } from './helpers-C5ooRtVL.js';
|
|
3
|
+
import './state-B1kC-_xl.js';
|
|
4
|
+
import './src-DKq8HP_s.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -46,4 +46,4 @@ var POST = async (event) => withAdminBody(event, async ({ requestId, body }) =>
|
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
export { POST };
|
|
49
|
-
//# sourceMappingURL=_server.ts-
|
|
49
|
+
//# sourceMappingURL=_server.ts-C7Lid3rY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-C7Lid3rY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/active/_server.ts.js"],"sourcesContent":["import { o as setActiveId } from \"../../../../../chunks/endpoints.js\";\nimport { i as errorResponse, l as jsonResponse, p as withAdminBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/active/+server.ts\nvar POST = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst id = typeof body.id === \"string\" ? body.id : \"\";\n\tif (!id) return errorResponse(400, \"invalid_request\", \"id is required\", {}, requestId);\n\ttry {\n\t\tconst active = setActiveId(id);\n\t\treturn jsonResponse(200, {\n\t\t\tactiveId: active.id,\n\t\t\tendpoint: {\n\t\t\t\tid: active.id,\n\t\t\t\tlabel: active.label,\n\t\t\t\turl: active.url,\n\t\t\t\tisDefault: active.isDefault,\n\t\t\t\thasPassword: Boolean(active.password)\n\t\t\t}\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(404, \"not_found\", e instanceof Error ? e.message : \"failed to set active endpoint\", {}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAChF,CAAC,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE;AACtD,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;AAChC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE;AACtB,GAAG,QAAQ,EAAE;AACb,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE;AACjB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK;AACvB,IAAI,GAAG,EAAE,MAAM,CAAC,GAAG;AACnB,IAAI,SAAS,EAAE,MAAM,CAAC,SAAS;AAC/B,IAAI,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;AACxC;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,+BAA+B,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC;AACD,CAAC;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { G as createLogger, o as checkDocker, m as buildComposeOptions, w as composePull, n as buildManagedServices, F as composeUp } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-
|
|
1
|
+
import { G as createLogger, o as checkDocker, m as buildComposeOptions, w as composePull, n as buildManagedServices, F as composeUp } from './src-DKq8HP_s.js';
|
|
2
|
+
import { g as getState } from './state-B1kC-_xl.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-C5ooRtVL.js';
|
|
4
4
|
import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
@@ -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-TKIfBd1B.js';
|
|
27
27
|
|
|
28
28
|
//#region src/routes/admin/containers/pull/+server.ts
|
|
29
29
|
var logger = createLogger("containers-pull");
|
|
@@ -73,4 +73,4 @@ var POST = async (event) => {
|
|
|
73
73
|
};
|
|
74
74
|
|
|
75
75
|
export { POST };
|
|
76
|
-
//# sourceMappingURL=_server.ts-
|
|
76
|
+
//# sourceMappingURL=_server.ts-CBDQh3oB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CBDQh3oB.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/pull/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, U as buildManagedServices, bn as createLogger, ft as composeUp, st as composePull, tt as checkDocker } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/pull/+server.ts\nvar logger = createLogger(\"containers-pull\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"pull request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:pull\", async () => {\n\t\tconst state = getState();\n\t\tconst dockerCheck = await checkDocker();\n\t\tif (!dockerCheck.ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t\tconst composeOpts = buildComposeOptions(state);\n\t\tlogger.info(\"pulling images\", { requestId });\n\t\tconst pullResult = await composePull(composeOpts);\n\t\tif (!pullResult.ok) {\n\t\t\tlogger.error(\"image pull failed\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: pullResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"pull_failed\", \"Failed to pull images\", { stderr: pullResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"recreating containers\", { requestId });\n\t\tconst managedServices = await buildManagedServices(state);\n\t\tconst upResult = await composeUp({\n\t\t\t...composeOpts,\n\t\t\tservices: managedServices,\n\t\t\tforceRecreate: true\n\t\t});\n\t\tif (!upResult.ok) {\n\t\t\tlogger.error(\"compose up failed after pull\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: upResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"up_failed\", \"Images pulled but failed to recreate containers\", { stderr: upResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"pull completed\", {\n\t\t\trequestId,\n\t\t\tstarted: managedServices\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tpulled: pullResult.stdout,\n\t\t\tstarted: managedServices\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACzC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAChD,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC;AAC9C,EAAE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;AACnD,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;AACtB,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;AACrC,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,UAAU,CAAC;AACvB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC9G,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,EAAE,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC3D,EAAE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC;AACnC,GAAG,GAAG,WAAW;AACjB,GAAG,QAAQ,EAAE,eAAe;AAC5B,GAAG,aAAa,EAAE;AAClB,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;AAChD,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,QAAQ,CAAC;AACrB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,iDAAiD,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AACpI,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAChC,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { g as getDeployState } from './setup-deploy-
|
|
2
|
+
import { g as getState } from './state-B1kC-_xl.js';
|
|
3
|
+
import { g as getDeployState } from './setup-deploy-CghSd9qZ.js';
|
|
4
4
|
import './utils-BSRjJDrZ.js';
|
|
5
|
-
import './src-
|
|
5
|
+
import './src-DKq8HP_s.js';
|
|
6
6
|
import './chunk-CLZ62Ad-.js';
|
|
7
7
|
import 'node:module';
|
|
8
8
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -47,4 +47,4 @@ var GET = () => {
|
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
export { GET };
|
|
50
|
-
//# sourceMappingURL=_server.ts-
|
|
50
|
+
//# sourceMappingURL=_server.ts-CDJb8u6T.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CDJb8u6T.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/deploy-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { t as getDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/deploy-status/+server.ts\nfunction resolvePorts() {\n\treturn {\n\t\tadmin: Number(process.env.OP_HOST_UI_PORT) || 3880,\n\t\tassistant: Number(process.env.OP_HOST_ASSISTANT_PORT) || 3800\n\t};\n}\nvar GET = () => {\n\tconst state = getDeployState(getState());\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: state.setupComplete,\n\t\tdeploying: state.deploying,\n\t\tdeployStatus: state.deployStatus,\n\t\tdeployError: state.deployError,\n\t\timageWarning: state.imageWarning,\n\t\tphase: state.phase,\n\t\tports: resolvePorts()\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,SAAS,YAAY,GAAG;AACxB,CAAC,OAAO;AACR,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI;AACpD,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI;AAC3D,EAAE;AACF;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;AACzC,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa;AACpC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;AAC5B,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;AAClC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW;AAChC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;AAClC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;AACpB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAE,CAAC;AACH;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as json } from './exports-D1quPX8S.js';
|
|
2
|
-
import { a as loadSetupProviderPage } from './catalog
|
|
2
|
+
import { a as loadSetupProviderPage } from './catalog-CD15uSXA.js';
|
|
3
3
|
import './utils-BSRjJDrZ.js';
|
|
4
|
-
import './src-
|
|
4
|
+
import './src-DKq8HP_s.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -23,11 +23,11 @@ import 'zlib';
|
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
25
|
import 'node:os';
|
|
26
|
-
import './state-
|
|
26
|
+
import './state-B1kC-_xl.js';
|
|
27
27
|
import './coercion-TNFJisCC.js';
|
|
28
|
-
import './http-
|
|
29
|
-
import './endpoints-
|
|
30
|
-
import './config-
|
|
28
|
+
import './http-BKevFr5r.js';
|
|
29
|
+
import './endpoints-TKIfBd1B.js';
|
|
30
|
+
import './config-BsGMOYU-.js';
|
|
31
31
|
|
|
32
32
|
//#region src/routes/api/setup/opencode/providers/+server.ts
|
|
33
33
|
var GET = async () => {
|
|
@@ -38,4 +38,4 @@ var GET = async () => {
|
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export { GET };
|
|
41
|
-
//# sourceMappingURL=_server.ts-
|
|
41
|
+
//# sourceMappingURL=_server.ts-CK_sC0WR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CK_sC0WR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { n as loadSetupProviderPage } from \"../../../../../../chunks/catalog.js\";\n//#region src/routes/api/setup/opencode/providers/+server.ts\nvar GET = async () => {\n\treturn json({\n\t\tok: true,\n\t\t...await loadSetupProviderPage()\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,GAAG,MAAM,qBAAqB;AAChC,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-C5ooRtVL.js';
|
|
2
|
+
import { o as opencodeFetch } from './http-BKevFr5r.js';
|
|
3
3
|
import { a as asStringOrEmpty } from './_helpers-B_lb4-jB.js';
|
|
4
|
-
import './src-
|
|
4
|
+
import './src-DKq8HP_s.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-TKIfBd1B.js';
|
|
27
|
+
import './state-B1kC-_xl.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-CQHUyJ88.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CQHUyJ88.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p 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,9 +1,9 @@
|
|
|
1
|
-
import { ad as importHostOpenCode, Q as detectHostOpenCode, i as authJsonPath, o as checkDocker, m as buildComposeOptions } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-
|
|
1
|
+
import { ad as importHostOpenCode, Q as detectHostOpenCode, i as authJsonPath, o as checkDocker, m as buildComposeOptions } from './src-DKq8HP_s.js';
|
|
2
|
+
import { g as getState } from './state-B1kC-_xl.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-C5ooRtVL.js';
|
|
4
4
|
import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
|
|
5
|
-
import { o as opencodeFetch } from './http-
|
|
6
|
-
import { c as composeRestart } from './docker-
|
|
5
|
+
import { o as opencodeFetch } from './http-BKevFr5r.js';
|
|
6
|
+
import { c as composeRestart } from './docker-CnfQsoh1.js';
|
|
7
7
|
import { existsSync, readFileSync } from 'node:fs';
|
|
8
8
|
import './chunk-CLZ62Ad-.js';
|
|
9
9
|
import 'node:module';
|
|
@@ -25,7 +25,7 @@ import 'zlib';
|
|
|
25
25
|
import 'node:assert';
|
|
26
26
|
import 'node:fs/promises';
|
|
27
27
|
import 'node:os';
|
|
28
|
-
import './endpoints-
|
|
28
|
+
import './endpoints-TKIfBd1B.js';
|
|
29
29
|
|
|
30
30
|
//#region src/routes/admin/providers/import-host/+server.ts
|
|
31
31
|
/**
|
|
@@ -157,4 +157,4 @@ var POST = async (event) => {
|
|
|
157
157
|
};
|
|
158
158
|
|
|
159
159
|
export { POST };
|
|
160
|
-
//# sourceMappingURL=_server.ts-
|
|
160
|
+
//# sourceMappingURL=_server.ts-CS_QhbpE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CS_QhbpE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/import-host/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, Zt as authJsonPath, a as importHostOpenCode, i as detectHostOpenCode, tt as checkDocker } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/admin/providers/import-host/+server.ts\n/**\n* POST /admin/providers/import-host\n*\n* Copies host OpenCode config + auth into OP_HOME, then pushes each\n* imported credential to the running OpenCode server so the providers\n* appear connected immediately (no restart required).\n*\n* - opencode.json: stripped of plugin/mcp/permission keys, merged with\n* existing OP_HOME config. Provider conflicts preserved by default.\n* - auth.json: byte-copied and chmodded 0o600. Never logged.\n* - Live push: best-effort PUT to OpenCode /auth/{id} per credential.\n* If OpenCode is unreachable, the file copy still applies and OpenCode\n* will pick up the credentials on next restart.\n* - Service restart: assistant is restarted after the import so opencode.json\n* provider blocks are re-read (live push only updates the auth store, not\n* config).\n*\n* Body (optional JSON):\n* { overwriteConflicts?: boolean } — default false\n*\n* Auth: admin token required.\n*/\n/**\n* Restart services that hold provider state in startup config.\n* Best-effort: the file-level import is the durable part; this is the polish\n* that makes the change visible without the user having to bounce things by hand.\n* OpenCode caches opencode.json provider blocks at startup, so imported\n* provider config needs a fresh assistant process.\n*/\nasync function restartProviderConsumers() {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(getState());\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Push each auth.json entry to OpenCode's /auth/{id} so the running process sees them. */\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch {\n\t\treturn {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: 0,\n\t\tfailed: []\n\t};\n\tlet pushed = 0;\n\tconst failed = [];\n\tfor (const [providerId, value] of Object.entries(raw)) try {\n\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: JSON.stringify(value)\n\t\t});\n\t\tpushed++;\n\t} catch {\n\t\tfailed.push(providerId);\n\t}\n\treturn {\n\t\tpushed,\n\t\tfailed\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:providers:import-host\", async () => {\n\t\tconst state = getState();\n\t\tlet overwriteConflicts = false;\n\t\tif ((event.request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\t\tconst parsed = await parseJsonBody(event.request);\n\t\t\tif (!(\"error\" in parsed)) overwriteConflicts = parsed.data.overwriteConflicts === true;\n\t\t}\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = importHostOpenCode(state, { overwriteConflicts });\n\t\t} catch (err) {\n\t\t\treturn errorResponse(500, \"import_failed\", err instanceof Error ? err.message : \"Import failed\", {}, requestId);\n\t\t}\n\t\tconst hostStatus = detectHostOpenCode();\n\t\tlet livePush = {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t\tconst importedAuthPath = authJsonPath(state);\n\t\tif (existsSync(importedAuthPath)) livePush = await pushAuthToOpenCode(importedAuthPath);\n\t\telse if (hostStatus.authPath) livePush = await pushAuthToOpenCode(hostStatus.authPath);\n\t\tconst restart = await restartProviderConsumers();\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\timported: result.imported,\n\t\t\tconflicts: result.conflicts,\n\t\t\tlivePushed: livePush.pushed,\n\t\t\tlivePushFailed: livePush.failed,\n\t\t\trestarted: restart.restarted,\n\t\t\trestartFailed: restart.failed\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a_ as summarizeBackups, an as listBackupDirs, ay as pruneBackupDirs, G 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 { a_ as summarizeBackups, an as listBackupDirs, ay as pruneBackupDirs, G as createLogger } from './src-DKq8HP_s.js';
|
|
2
|
+
import { g as getState } from './state-B1kC-_xl.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-C5ooRtVL.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-TKIfBd1B.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/backups/+server.ts
|
|
28
28
|
var logger = createLogger("backups-admin");
|
|
@@ -86,4 +86,4 @@ var POST = async (event) => {
|
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
export { GET, POST };
|
|
89
|
-
//# sourceMappingURL=_server.ts-
|
|
89
|
+
//# sourceMappingURL=_server.ts-CUg7JTi8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CUg7JTi8.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/backups/_server.ts.js"],"sourcesContent":["import { _n as pruneBackupDirs, bn as createLogger, gn as listBackupDirs, vn as summarizeBackups } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/backups/+server.ts\nvar logger = createLogger(\"backups-admin\");\n/**\n* #499 — backup visibility. Returns count, total size, last-backup time and a\n* per-backup list (newest first) so the UI can surface the recovery net.\n* Read-only.\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\t...summarizeBackups(state.homeDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_list_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #499 — drives the EXISTING confirm-gated prune. The UI must pass an explicit\n* `keep` count (the confirmation is the UI's modal); this NEVER auto-prunes and\n* keeps the newest `keep` snapshots, deleting only the older ones.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst keep = Number(body.keep);\n\tif (!Number.isInteger(keep) || keep < 0) return errorResponse(400, \"invalid_keep\", \"`keep` must be a non-negative integer\", {}, requestId);\n\tconst state = getState();\n\ttry {\n\t\tif (listBackupDirs(state.homeDir).slice(keep).length === 0) return jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted: [],\n\t\t\tkept: keep\n\t\t}, requestId);\n\t\tconst deleted = pruneBackupDirs(state.homeDir, keep);\n\t\tlogger.info(\"pruned backups via admin\", {\n\t\t\trequestId,\n\t\t\tdeleted: deleted.length,\n\t\t\tkept: keep\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted,\n\t\t\tkept: keep\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_prune_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\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,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO;AACpC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;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,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,IAAI,GAAG,EAAE;AACX,CAAC;AACD,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,uCAAuC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3I,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACvF,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,EAAE;AACd,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACtD,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM;AAC1B,GAAG,IAAI,EAAE;AACT,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,IAAI,EAAE;AACT,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;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { d as deleteEndpoint, v as validateEndpointUrl, u as updateEndpoint } from './endpoints-
|
|
2
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, w as withAdminBody } from './helpers-
|
|
3
|
-
import './state-
|
|
4
|
-
import './src-
|
|
1
|
+
import { d as deleteEndpoint, v as validateEndpointUrl, u as updateEndpoint } from './endpoints-TKIfBd1B.js';
|
|
2
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, w as withAdminBody } from './helpers-C5ooRtVL.js';
|
|
3
|
+
import './state-B1kC-_xl.js';
|
|
4
|
+
import './src-DKq8HP_s.js';
|
|
5
5
|
import './chunk-CLZ62Ad-.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './provider-constants-DPrj3yBX.js';
|
|
@@ -70,4 +70,4 @@ var DELETE = async (event) => {
|
|
|
70
70
|
};
|
|
71
71
|
|
|
72
72
|
export { DELETE, PATCH };
|
|
73
|
-
//# sourceMappingURL=_server.ts-
|
|
73
|
+
//# sourceMappingURL=_server.ts-CZRNe4sB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CZRNe4sB.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_id_/_server.ts.js"],"sourcesContent":["import { c as validateEndpointUrl, n as deleteEndpoint, s as updateEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/[id]/+server.ts\nvar PATCH = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst id = event.params.id;\n\tconst patch = {};\n\tif (typeof body.label === \"string\") patch.label = body.label;\n\tif (typeof body.url === \"string\") {\n\t\tconst urlCheck = validateEndpointUrl(body.url);\n\t\tif (!urlCheck.ok) {\n\t\t\tif (urlCheck.reason === \"http_not_allowed\") return errorResponse(400, \"http_not_allowed\", \"Plain HTTP is only allowed for loopback addresses. Use https:// for remote OpenPalm instances.\", {}, requestId);\n\t\t\treturn errorResponse(400, \"invalid_endpoint\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\t}\n\t\tpatch.url = urlCheck.url;\n\t}\n\tif (body.password === null) patch.password = null;\n\telse if (typeof body.password === \"string\") patch.password = body.password;\n\ttry {\n\t\tconst entry = updateEndpoint(id, patch);\n\t\treturn jsonResponse(200, { endpoint: {\n\t\t\tid: entry.id,\n\t\t\tlabel: entry.label,\n\t\t\turl: entry.url,\n\t\t\tisDefault: false,\n\t\t\thasPassword: Boolean(entry.password)\n\t\t} }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to update endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n});\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst id = event.params.id;\n\ttry {\n\t\tdeleteEndpoint(id);\n\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to delete endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, PATCH };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { aE as readStackEnv } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-
|
|
4
|
-
import { o as opencodeFetch } from './http-
|
|
5
|
-
import { g as getCurrentConfig } from './config-
|
|
1
|
+
import { aE as readStackEnv } from './src-DKq8HP_s.js';
|
|
2
|
+
import { g as getState } from './state-B1kC-_xl.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-C5ooRtVL.js';
|
|
4
|
+
import { o as opencodeFetch } from './http-BKevFr5r.js';
|
|
5
|
+
import { g as getCurrentConfig } from './config-BsGMOYU-.js';
|
|
6
6
|
import { existsSync, readFileSync } from 'node:fs';
|
|
7
7
|
import { join } from 'node:path';
|
|
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-TKIfBd1B.js';
|
|
28
28
|
import './coercion-TNFJisCC.js';
|
|
29
29
|
|
|
30
30
|
//#region src/lib/server/speech-prep.ts
|
|
@@ -205,4 +205,4 @@ var POST = async (event) => {
|
|
|
205
205
|
};
|
|
206
206
|
|
|
207
207
|
export { POST };
|
|
208
|
-
//# sourceMappingURL=_server.ts-
|
|
208
|
+
//# sourceMappingURL=_server.ts-CcAgwk38.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-00h626-G.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Vt 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\", \"openpalm.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().stackDir);\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-CcAgwk38.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Vt 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\", \"openpalm.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().stackDir);\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,6 +1,6 @@
|
|
|
1
|
-
import { o as checkDocker, v as composePs, m as buildComposeOptions, n as buildManagedServices } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-
|
|
1
|
+
import { o as checkDocker, v as composePs, m as buildComposeOptions, n as buildManagedServices } from './src-DKq8HP_s.js';
|
|
2
|
+
import { g as getState } from './state-B1kC-_xl.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-C5ooRtVL.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-TKIfBd1B.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/admin/containers/list/+server.ts
|
|
28
28
|
var GET = async (event) => {
|
|
@@ -67,4 +67,4 @@ var GET = async (event) => {
|
|
|
67
67
|
};
|
|
68
68
|
|
|
69
69
|
export { GET };
|
|
70
|
-
//# sourceMappingURL=_server.ts-
|
|
70
|
+
//# sourceMappingURL=_server.ts-Cd7MsOvn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-Cd7MsOvn.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/list/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, U as buildManagedServices, ot as composePs, tt as checkDocker } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/list/+server.ts\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\tconst dockerCheck = await checkDocker();\n\tlet dockerContainers = null;\n\tif (dockerCheck.ok) {\n\t\tconst ps = await composePs(buildComposeOptions(state));\n\t\tif (ps.ok && ps.stdout.trim()) try {\n\t\t\tdockerContainers = ps.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[containers.list] Failed to parse docker compose ps output\", e);\n\t\t\tdockerContainers = null;\n\t\t}\n\t}\n\tif (dockerContainers) {\n\t\tconst dockerStateByService = /* @__PURE__ */ new Map();\n\t\tfor (const c of dockerContainers) if (c.Service && c.State) dockerStateByService.set(c.Service, c.State);\n\t\tfor (const service of Object.keys(state.services)) {\n\t\t\tconst dockerState = dockerStateByService.get(service);\n\t\t\tif (dockerState) state.services[service] = dockerState === \"running\" ? \"running\" : \"stopped\";\n\t\t}\n\t}\n\tlet managedServices;\n\ttry {\n\t\tmanagedServices = await buildManagedServices(state);\n\t} catch {\n\t\tmanagedServices = Object.keys(state.services);\n\t}\n\tconst managedSet = new Set(managedServices);\n\tconst containers = {};\n\tfor (const [name, status] of Object.entries(state.services)) if (managedSet.has(name)) containers[name] = status;\n\treturn jsonResponse(200, {\n\t\tcontainers,\n\t\tdockerContainers,\n\t\tdockerAvailable: dockerCheck.ok,\n\t\tmanagedServices\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;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,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACxC,CAAC,IAAI,gBAAgB,GAAG,IAAI;AAC5B,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE;AACrB,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACxD,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AACrC,GAAG,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7G,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;AACd,GAAG,OAAO,CAAC,IAAI,CAAC,4DAA4D,EAAE,CAAC,CAAC;AAChF,GAAG,gBAAgB,GAAG,IAAI;AAC1B,EAAE;AACF,CAAC;AACD,CAAC,IAAI,gBAAgB,EAAE;AACvB,EAAE,MAAM,oBAAoB,mBAAmB,IAAI,GAAG,EAAE;AACxD,EAAE,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC;AAC1G,EAAE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AACrD,GAAG,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;AACxD,GAAG,IAAI,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,KAAK,SAAS,GAAG,SAAS,GAAG,SAAS;AAC/F,EAAE;AACF,CAAC;AACD,CAAC,IAAI,eAAe;AACpB,CAAC,IAAI;AACL,EAAE,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AACrD,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/C,CAAC;AACD,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC;AAC5C,CAAC,MAAM,UAAU,GAAG,EAAE;AACtB,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM;AACjH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,UAAU;AACZ,EAAE,gBAAgB;AAClB,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE;AACjC,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|