@openpalm/ui 0.13.0-beta.4 → 0.13.0-beta.5
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/{CBV2kBE1.js → B0yXlM3K.js} +1 -1
- package/build/client/_app/immutable/chunks/B0yXlM3K.js.br +0 -0
- package/build/client/_app/immutable/chunks/B0yXlM3K.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BKLMDjUE.js → BlYj4BBX.js} +1 -1
- package/build/client/_app/immutable/chunks/BlYj4BBX.js.br +0 -0
- package/build/client/_app/immutable/chunks/BlYj4BBX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bz3r0btw.js +3 -0
- package/build/client/_app/immutable/chunks/Bz3r0btw.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bz3r0btw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{C5iiO0W9.js → CBM1fLGu.js} +1 -1
- package/build/client/_app/immutable/chunks/CBM1fLGu.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBM1fLGu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DPYXdJcD.js +1 -0
- package/build/client/_app/immutable/chunks/DPYXdJcD.js.br +2 -0
- package/build/client/_app/immutable/chunks/DPYXdJcD.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.DAzfwrA7.js → app.FbKd4aR6.js} +2 -2
- package/build/client/_app/immutable/entry/app.FbKd4aR6.js.br +0 -0
- package/build/client/_app/immutable/entry/app.FbKd4aR6.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.VEjfH6IP.js +1 -0
- package/build/client/_app/immutable/entry/start.VEjfH6IP.js.br +1 -0
- package/build/client/_app/immutable/entry/start.VEjfH6IP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.BYTQ4CJf.js → 1.B_hGEgef.js} +1 -1
- package/build/client/_app/immutable/nodes/1.B_hGEgef.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.B_hGEgef.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{10.CHYaVWP2.js → 10.B8xmblvj.js} +1 -1
- package/build/client/_app/immutable/nodes/10.B8xmblvj.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.B8xmblvj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{11.DXwuRFxA.js → 11.Ti2X5F-7.js} +1 -1
- package/build/client/_app/immutable/nodes/11.Ti2X5F-7.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.Ti2X5F-7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.n8OmCUUb.js → 4.X5um5v0F.js} +1 -1
- package/build/client/_app/immutable/nodes/4.X5um5v0F.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.X5um5v0F.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.DgnQcqeL.js → 5.CNMS0qgk.js} +1 -1
- package/build/client/_app/immutable/nodes/5.CNMS0qgk.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CNMS0qgk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.RedvZarw.js → 6.PLWojxHU.js} +1 -1
- package/build/client/_app/immutable/nodes/6.PLWojxHU.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.PLWojxHU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.BqgE43w1.js → 7.Bba4nkVZ.js} +1 -1
- package/build/client/_app/immutable/nodes/7.Bba4nkVZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.Bba4nkVZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.CQfpYNnj.js → 9.nlW01gWY.js} +1 -1
- package/build/client/_app/immutable/nodes/9.nlW01gWY.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.nlW01gWY.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-CxqNryz-.js → 0-3ZKFLVwz.js} +3 -3
- package/build/server/chunks/{0-CxqNryz-.js.map → 0-3ZKFLVwz.js.map} +1 -1
- package/build/server/chunks/1-BscBEom6.js +9 -0
- package/build/server/chunks/{1-Dxk_eEPL.js.map → 1-BscBEom6.js.map} +1 -1
- package/build/server/chunks/{10-DcTjX0aZ.js → 10-CYYH66rb.js} +3 -3
- package/build/server/chunks/{10-DcTjX0aZ.js.map → 10-CYYH66rb.js.map} +1 -1
- package/build/server/chunks/{11-Ddav4pvQ.js → 11-DSzQavEB.js} +3 -3
- package/build/server/chunks/{11-Ddav4pvQ.js.map → 11-DSzQavEB.js.map} +1 -1
- package/build/server/chunks/{3-xtalXCwW.js → 3-t-iZh03o.js} +6 -6
- package/build/server/chunks/{3-xtalXCwW.js.map → 3-t-iZh03o.js.map} +1 -1
- package/build/server/chunks/{4-CEASlyNx.js → 4-CcOQz4eZ.js} +3 -3
- package/build/server/chunks/{4-CEASlyNx.js.map → 4-CcOQz4eZ.js.map} +1 -1
- package/build/server/chunks/{5-3gkFDIAU.js → 5-DLMaS6eR.js} +3 -3
- package/build/server/chunks/{5-3gkFDIAU.js.map → 5-DLMaS6eR.js.map} +1 -1
- package/build/server/chunks/{6-BSR29JnK.js → 6-BL469LUB.js} +3 -3
- package/build/server/chunks/{6-BSR29JnK.js.map → 6-BL469LUB.js.map} +1 -1
- package/build/server/chunks/{7-gx5m5R1u.js → 7-BLHhygXi.js} +3 -3
- package/build/server/chunks/{7-gx5m5R1u.js.map → 7-BLHhygXi.js.map} +1 -1
- package/build/server/chunks/{9-BKXk6mfI.js → 9-D4ocBCG0.js} +4 -4
- package/build/server/chunks/{9-BKXk6mfI.js.map → 9-D4ocBCG0.js.map} +1 -1
- package/build/server/chunks/{ChatNavbar-D2J3UbpW.js → ChatNavbar-Takv7dQM.js} +5 -5
- package/build/server/chunks/{ChatNavbar-D2J3UbpW.js.map → ChatNavbar-Takv7dQM.js.map} +1 -1
- package/build/server/chunks/{IconServer-jRvjNs7I.js → IconServer-C5rdlJAr.js} +2 -2
- package/build/server/chunks/{IconServer-jRvjNs7I.js.map → IconServer-C5rdlJAr.js.map} +1 -1
- package/build/server/chunks/{_page.svelte--qXsMm-T.js → _page.svelte--MC2pNDj.js} +7 -7
- package/build/server/chunks/{_page.svelte--qXsMm-T.js.map → _page.svelte--MC2pNDj.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BgzOKhmH.js → _page.svelte-BOwGlCzD.js} +3 -3
- package/build/server/chunks/{_page.svelte-BgzOKhmH.js.map → _page.svelte-BOwGlCzD.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-C36XsgXY.js → _page.svelte-BT81Bwrh.js} +3 -3
- package/build/server/chunks/{_page.svelte-C36XsgXY.js.map → _page.svelte-BT81Bwrh.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DGsMxwfZ.js → _page.svelte-BdH2kpT0.js} +4 -4
- package/build/server/chunks/{_page.svelte-DGsMxwfZ.js.map → _page.svelte-BdH2kpT0.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BnZ0Fgkw.js → _page.svelte-BnV94Ogu.js} +6 -6
- package/build/server/chunks/{_page.svelte-BnZ0Fgkw.js.map → _page.svelte-BnV94Ogu.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-Cc-OjlMF.js → _page.svelte-CkYUucmY.js} +7 -7
- package/build/server/chunks/{_page.svelte-Cc-OjlMF.js.map → _page.svelte-CkYUucmY.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DGQP3UIP.js → _page.svelte-f3XZxZcO.js} +3 -3
- package/build/server/chunks/{_page.svelte-DGQP3UIP.js.map → _page.svelte-f3XZxZcO.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DebCCwjH.js → _server.ts-3RgOKIrg.js} +6 -6
- package/build/server/chunks/{_server.ts-DebCCwjH.js.map → _server.ts-3RgOKIrg.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BK4NRqMj.js → _server.ts-5GcuvVnk.js} +7 -7
- package/build/server/chunks/{_server.ts-BK4NRqMj.js.map → _server.ts-5GcuvVnk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-MZYYoM8z.js → _server.ts-A_jvsf54.js} +6 -6
- package/build/server/chunks/{_server.ts-MZYYoM8z.js.map → _server.ts-A_jvsf54.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Kp3wrrbF.js → _server.ts-B01LeWfv.js} +7 -7
- package/build/server/chunks/{_server.ts-Kp3wrrbF.js.map → _server.ts-B01LeWfv.js.map} +1 -1
- package/build/server/chunks/{_server.ts-4NsYfdU1.js → _server.ts-B0oC8HQF.js} +2 -2
- package/build/server/chunks/{_server.ts-4NsYfdU1.js.map → _server.ts-B0oC8HQF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CPYtZ7sE.js → _server.ts-B12WIhKW.js} +6 -6
- package/build/server/chunks/{_server.ts-CPYtZ7sE.js.map → _server.ts-B12WIhKW.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DjAGbGD-.js → _server.ts-B6IuU4lX.js} +6 -6
- package/build/server/chunks/{_server.ts-DjAGbGD-.js.map → _server.ts-B6IuU4lX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C0rcwOPL.js → _server.ts-B8RJmRP7.js} +6 -6
- package/build/server/chunks/{_server.ts-C0rcwOPL.js.map → _server.ts-B8RJmRP7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CsP1RzbQ.js → _server.ts-BAdTYKi0.js} +6 -6
- package/build/server/chunks/{_server.ts-CsP1RzbQ.js.map → _server.ts-BAdTYKi0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eov7yZvT.js → _server.ts-BG1nkyV5.js} +8 -8
- package/build/server/chunks/{_server.ts-eov7yZvT.js.map → _server.ts-BG1nkyV5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BN6ghyoO.js → _server.ts-BMkzMnF3.js} +6 -6
- package/build/server/chunks/{_server.ts-BN6ghyoO.js.map → _server.ts-BMkzMnF3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-eF4CAfpP.js → _server.ts-BTQPdIRj.js} +6 -6
- package/build/server/chunks/{_server.ts-eF4CAfpP.js.map → _server.ts-BTQPdIRj.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CR85H0KR.js → _server.ts-BWdKIMmK.js} +6 -6
- package/build/server/chunks/{_server.ts-CR85H0KR.js.map → _server.ts-BWdKIMmK.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BbyfVT-W.js → _server.ts-B_uD0GmU.js} +6 -6
- package/build/server/chunks/{_server.ts-BbyfVT-W.js.map → _server.ts-B_uD0GmU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CS8n28qm.js → _server.ts-Bba4knHI.js} +6 -6
- package/build/server/chunks/{_server.ts-CS8n28qm.js.map → _server.ts-Bba4knHI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-TTSjZaYY.js → _server.ts-BbvTyvkT.js} +6 -6
- package/build/server/chunks/{_server.ts-TTSjZaYY.js.map → _server.ts-BbvTyvkT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D_93w1gb.js → _server.ts-BbxUaG2z.js} +8 -8
- package/build/server/chunks/{_server.ts-D_93w1gb.js.map → _server.ts-BbxUaG2z.js.map} +1 -1
- package/build/server/chunks/{_server.ts-ClrrzZI6.js → _server.ts-Bd7KmU8k.js} +6 -6
- package/build/server/chunks/{_server.ts-ClrrzZI6.js.map → _server.ts-Bd7KmU8k.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BuGFzejC.js → _server.ts-BfTFlPSX.js} +6 -6
- package/build/server/chunks/{_server.ts-BuGFzejC.js.map → _server.ts-BfTFlPSX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CCdP5Eqx.js → _server.ts-BjfWddPf.js} +6 -6
- package/build/server/chunks/{_server.ts-CCdP5Eqx.js.map → _server.ts-BjfWddPf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-KHK30kUK.js → _server.ts-BjjNc0OV.js} +9 -9
- package/build/server/chunks/{_server.ts-KHK30kUK.js.map → _server.ts-BjjNc0OV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-st_pTUHI.js → _server.ts-Bla3fiCh.js} +6 -6
- package/build/server/chunks/{_server.ts-st_pTUHI.js.map → _server.ts-Bla3fiCh.js.map} +1 -1
- package/build/server/chunks/{_server.ts-0T6OWJc0.js → _server.ts-BnCHdcon.js} +6 -6
- package/build/server/chunks/{_server.ts-0T6OWJc0.js.map → _server.ts-BnCHdcon.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cm3uzCwu.js → _server.ts-BpNKHMXM.js} +7 -7
- package/build/server/chunks/{_server.ts-Cm3uzCwu.js.map → _server.ts-BpNKHMXM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B_c9x_NC.js → _server.ts-BuByt6I7.js} +7 -7
- package/build/server/chunks/{_server.ts-B_c9x_NC.js.map → _server.ts-BuByt6I7.js.map} +1 -1
- package/build/server/chunks/{_server.ts-zDEENUSw.js → _server.ts-BvPCnwm4.js} +6 -6
- package/build/server/chunks/{_server.ts-zDEENUSw.js.map → _server.ts-BvPCnwm4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-LHKCcBS1.js → _server.ts-Bx5L70N3.js} +8 -8
- package/build/server/chunks/{_server.ts-LHKCcBS1.js.map → _server.ts-Bx5L70N3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CRvbt_Ny.js → _server.ts-ByTth5Q4.js} +7 -7
- package/build/server/chunks/{_server.ts-CRvbt_Ny.js.map → _server.ts-ByTth5Q4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-p16c9Uzl.js → _server.ts-C4cnIzbb.js} +6 -6
- package/build/server/chunks/{_server.ts-p16c9Uzl.js.map → _server.ts-C4cnIzbb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DNVQMHzn.js → _server.ts-C7R2xQ_O.js} +6 -6
- package/build/server/chunks/{_server.ts-DNVQMHzn.js.map → _server.ts-C7R2xQ_O.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DuOVzmV5.js → _server.ts-CDC5Za0f.js} +6 -6
- package/build/server/chunks/{_server.ts-DuOVzmV5.js.map → _server.ts-CDC5Za0f.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DM8N7von.js → _server.ts-CGX-Vd-3.js} +6 -6
- package/build/server/chunks/{_server.ts-DM8N7von.js.map → _server.ts-CGX-Vd-3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BRvNe0fS.js → _server.ts-CHBfflb0.js} +6 -6
- package/build/server/chunks/{_server.ts-BRvNe0fS.js.map → _server.ts-CHBfflb0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-V6a8P9IB.js → _server.ts-CLyMgmaf.js} +6 -6
- package/build/server/chunks/{_server.ts-V6a8P9IB.js.map → _server.ts-CLyMgmaf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BvOQbLFG.js → _server.ts-CN26zawm.js} +6 -6
- package/build/server/chunks/{_server.ts-BvOQbLFG.js.map → _server.ts-CN26zawm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CqX61boo.js → _server.ts-COHW_bIw.js} +7 -7
- package/build/server/chunks/{_server.ts-CqX61boo.js.map → _server.ts-COHW_bIw.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CiBxLSg4.js → _server.ts-CQ9bUgsb.js} +6 -6
- package/build/server/chunks/{_server.ts-CiBxLSg4.js.map → _server.ts-CQ9bUgsb.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CFNNoZVF.js → _server.ts-CQGc6Rzk.js} +6 -6
- package/build/server/chunks/{_server.ts-CFNNoZVF.js.map → _server.ts-CQGc6Rzk.js.map} +1 -1
- package/build/server/chunks/{_server.ts-XEVuthfs.js → _server.ts-CR1fXUx_.js} +6 -6
- package/build/server/chunks/{_server.ts-XEVuthfs.js.map → _server.ts-CR1fXUx_.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGggA6h4.js → _server.ts-CV7PsNSs.js} +6 -6
- package/build/server/chunks/{_server.ts-CGggA6h4.js.map → _server.ts-CV7PsNSs.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CWYonOeQ.js → _server.ts-CYEiMdP-.js} +6 -6
- package/build/server/chunks/{_server.ts-CWYonOeQ.js.map → _server.ts-CYEiMdP-.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C6r0d7SR.js → _server.ts-CYhI4sCU.js} +6 -6
- package/build/server/chunks/{_server.ts-C6r0d7SR.js.map → _server.ts-CYhI4sCU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bm2nv-W4.js → _server.ts-CZluUZ23.js} +6 -6
- package/build/server/chunks/{_server.ts-Bm2nv-W4.js.map → _server.ts-CZluUZ23.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C6GZY_v3.js → _server.ts-Cg9mKyvd.js} +6 -6
- package/build/server/chunks/{_server.ts-C6GZY_v3.js.map → _server.ts-Cg9mKyvd.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BEhHNijd.js → _server.ts-Cifj-9A3.js} +6 -6
- package/build/server/chunks/{_server.ts-BEhHNijd.js.map → _server.ts-Cifj-9A3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C31rtz7B.js → _server.ts-CkJ2MAlY.js} +6 -6
- package/build/server/chunks/{_server.ts-C31rtz7B.js.map → _server.ts-CkJ2MAlY.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BrwSj7L5.js → _server.ts-ClGBdG69.js} +6 -6
- package/build/server/chunks/{_server.ts-BrwSj7L5.js.map → _server.ts-ClGBdG69.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D5Xa36tp.js → _server.ts-ClPgPihF.js} +6 -6
- package/build/server/chunks/{_server.ts-D5Xa36tp.js.map → _server.ts-ClPgPihF.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DPfGAMG4.js → _server.ts-CnmdgRQ5.js} +6 -6
- package/build/server/chunks/{_server.ts-DPfGAMG4.js.map → _server.ts-CnmdgRQ5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D8iJaYan.js → _server.ts-CoA6nB9c.js} +4 -4
- package/build/server/chunks/{_server.ts-D8iJaYan.js.map → _server.ts-CoA6nB9c.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CGE7AyDg.js → _server.ts-CqLbFV6m.js} +6 -6
- package/build/server/chunks/{_server.ts-CGE7AyDg.js.map → _server.ts-CqLbFV6m.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Cfm_KDhO.js → _server.ts-CvL5DtEE.js} +6 -6
- package/build/server/chunks/{_server.ts-Cfm_KDhO.js.map → _server.ts-CvL5DtEE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-QSEYZqU0.js → _server.ts-D6UMAxY5.js} +6 -6
- package/build/server/chunks/{_server.ts-QSEYZqU0.js.map → _server.ts-D6UMAxY5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DHjMyNwJ.js → _server.ts-D7hUSvgG.js} +7 -7
- package/build/server/chunks/{_server.ts-DHjMyNwJ.js.map → _server.ts-D7hUSvgG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-qgPpNGL8.js → _server.ts-DC1tK0yE.js} +6 -6
- package/build/server/chunks/{_server.ts-qgPpNGL8.js.map → _server.ts-DC1tK0yE.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bvb6lo7O.js → _server.ts-DIB4OM3y.js} +8 -8
- package/build/server/chunks/{_server.ts-Bvb6lo7O.js.map → _server.ts-DIB4OM3y.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DrxBKPKB.js → _server.ts-DKtsPlqI.js} +2 -2
- package/build/server/chunks/{_server.ts-DrxBKPKB.js.map → _server.ts-DKtsPlqI.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Co4yATq8.js → _server.ts-DMxAUnDp.js} +2 -2
- package/build/server/chunks/{_server.ts-Co4yATq8.js.map → _server.ts-DMxAUnDp.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D0EyuOqv.js → _server.ts-DNzhPgX5.js} +6 -6
- package/build/server/chunks/{_server.ts-D0EyuOqv.js.map → _server.ts-DNzhPgX5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BJqxSP1B.js → _server.ts-DPtqK0c2.js} +2 -2
- package/build/server/chunks/{_server.ts-BJqxSP1B.js.map → _server.ts-DPtqK0c2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C900vqOm.js → _server.ts-DZ3Yyeac.js} +6 -6
- package/build/server/chunks/{_server.ts-C900vqOm.js.map → _server.ts-DZ3Yyeac.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BNoq5yoF.js → _server.ts-D_NDxdhC.js} +6 -6
- package/build/server/chunks/{_server.ts-BNoq5yoF.js.map → _server.ts-D_NDxdhC.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B64JQevs.js → _server.ts-DcWSFqr3.js} +7 -7
- package/build/server/chunks/{_server.ts-B64JQevs.js.map → _server.ts-DcWSFqr3.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DD4ouya8.js → _server.ts-DdL9GP2B.js} +6 -6
- package/build/server/chunks/{_server.ts-DD4ouya8.js.map → _server.ts-DdL9GP2B.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CDJ7WouZ.js → _server.ts-Ddf5c75T.js} +6 -6
- package/build/server/chunks/{_server.ts-CDJ7WouZ.js.map → _server.ts-Ddf5c75T.js.map} +1 -1
- package/build/server/chunks/{_server.ts-yWyCj-R5.js → _server.ts-DfMcCjcV.js} +6 -6
- package/build/server/chunks/{_server.ts-yWyCj-R5.js.map → _server.ts-DfMcCjcV.js.map} +1 -1
- package/build/server/chunks/{_server.ts-jB_3zRrF.js → _server.ts-Dg2Gkcbx.js} +7 -7
- package/build/server/chunks/{_server.ts-jB_3zRrF.js.map → _server.ts-Dg2Gkcbx.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BWcxJLLV.js → _server.ts-DojcmGfa.js} +6 -6
- package/build/server/chunks/{_server.ts-BWcxJLLV.js.map → _server.ts-DojcmGfa.js.map} +1 -1
- package/build/server/chunks/{_server.ts-p4v6noBK.js → _server.ts-DrWTucF0.js} +4 -4
- package/build/server/chunks/{_server.ts-p4v6noBK.js.map → _server.ts-DrWTucF0.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DmNziNap.js → _server.ts-DrdVm_2l.js} +6 -6
- package/build/server/chunks/{_server.ts-DmNziNap.js.map → _server.ts-DrdVm_2l.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CZ83fA4I.js → _server.ts-Drhyf5o4.js} +6 -6
- package/build/server/chunks/{_server.ts-CZ83fA4I.js.map → _server.ts-Drhyf5o4.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Sx6mXrwK.js → _server.ts-DsfNtE_I.js} +6 -6
- package/build/server/chunks/{_server.ts-Sx6mXrwK.js.map → _server.ts-DsfNtE_I.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D2-CHx_d.js → _server.ts-DswOp5MZ.js} +7 -7
- package/build/server/chunks/{_server.ts-D2-CHx_d.js.map → _server.ts-DswOp5MZ.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DObIzyoT.js → _server.ts-Dv1LAL-L.js} +3 -3
- package/build/server/chunks/{_server.ts-DObIzyoT.js.map → _server.ts-Dv1LAL-L.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Ey4BEvRd.js → _server.ts-HoP6PRwU.js} +6 -6
- package/build/server/chunks/{_server.ts-Ey4BEvRd.js.map → _server.ts-HoP6PRwU.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C2qIUpva.js → _server.ts-KVrYcUOG.js} +7 -7
- package/build/server/chunks/{_server.ts-C2qIUpva.js.map → _server.ts-KVrYcUOG.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CtcAZ3lM.js → _server.ts-McJwsQRP.js} +7 -7
- package/build/server/chunks/{_server.ts-CtcAZ3lM.js.map → _server.ts-McJwsQRP.js.map} +1 -1
- package/build/server/chunks/{_server.ts-sdkTYy6A.js → _server.ts-WfJI8r0e.js} +6 -6
- package/build/server/chunks/{_server.ts-sdkTYy6A.js.map → _server.ts-WfJI8r0e.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CMO7LL0e.js → _server.ts-Z6bcCFE1.js} +2 -2
- package/build/server/chunks/{_server.ts-CMO7LL0e.js.map → _server.ts-Z6bcCFE1.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B-9mLZog.js → _server.ts-c6ytwkWX.js} +6 -6
- package/build/server/chunks/{_server.ts-B-9mLZog.js.map → _server.ts-c6ytwkWX.js.map} +1 -1
- package/build/server/chunks/{_server.ts-B3MvWwzq.js → _server.ts-eYI_yBAq.js} +7 -7
- package/build/server/chunks/{_server.ts-B3MvWwzq.js.map → _server.ts-eYI_yBAq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CIReEz3d.js → _server.ts-oDtZo8YM.js} +6 -6
- package/build/server/chunks/{_server.ts-CIReEz3d.js.map → _server.ts-oDtZo8YM.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D3skirMd.js → _server.ts-qkGGHj13.js} +7 -7
- package/build/server/chunks/{_server.ts-D3skirMd.js.map → _server.ts-qkGGHj13.js.map} +1 -1
- package/build/server/chunks/{_server.ts-SxcH-cms.js → _server.ts-rBPifh0g.js} +7 -7
- package/build/server/chunks/{_server.ts-SxcH-cms.js.map → _server.ts-rBPifh0g.js.map} +1 -1
- package/build/server/chunks/{_server.ts-D-Vv5Qkp.js → _server.ts-sD2USOMT.js} +6 -6
- package/build/server/chunks/{_server.ts-D-Vv5Qkp.js.map → _server.ts-sD2USOMT.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Bl1EtTKF.js → _server.ts-z7K-ZCVq.js} +6 -6
- package/build/server/chunks/{_server.ts-Bl1EtTKF.js.map → _server.ts-z7K-ZCVq.js.map} +1 -1
- package/build/server/chunks/{addon-helpers-TpOYibOg.js → addon-helpers-CkCisYhs.js} +3 -3
- package/build/server/chunks/{addon-helpers-TpOYibOg.js.map → addon-helpers-CkCisYhs.js.map} +1 -1
- package/build/server/chunks/{akm-Bvt9WaTk.js → akm-Dv9-jfkS.js} +2 -2
- package/build/server/chunks/{akm-Bvt9WaTk.js.map → akm-Dv9-jfkS.js.map} +1 -1
- package/build/server/chunks/{catalog-w0L1ZRPK.js → catalog-CilTg0Ck.js} +5 -5
- package/build/server/chunks/{catalog-w0L1ZRPK.js.map → catalog-CilTg0Ck.js.map} +1 -1
- package/build/server/chunks/{client-ClRLlB_c.js → client-wd3mkq4X.js} +2 -2
- package/build/server/chunks/{client-ClRLlB_c.js.map → client-wd3mkq4X.js.map} +1 -1
- package/build/server/chunks/{compose-args2-DiDeQtPu.js → compose-args2-Ccr5RMHS.js} +2 -2
- package/build/server/chunks/compose-args2-Ccr5RMHS.js.map +1 -0
- package/build/server/chunks/{config-Jiy06DlE.js → config-C_XJx8-D.js} +2 -2
- package/build/server/chunks/{config-Jiy06DlE.js.map → config-C_XJx8-D.js.map} +1 -1
- package/build/server/chunks/{connections-api-J-nrQ1KK.js → connections-api-mP7OE2x7.js} +2 -2
- package/build/server/chunks/{connections-api-J-nrQ1KK.js.map → connections-api-mP7OE2x7.js.map} +1 -1
- package/build/server/chunks/{docker2-oBEn_Si9.js → docker2-BL8hjShD.js} +2 -2
- package/build/server/chunks/docker2-BL8hjShD.js.map +1 -0
- package/build/server/chunks/{docker3-Dn-Mm2cT.js → docker3-TVLvF3ly.js} +2 -2
- package/build/server/chunks/{docker3-Dn-Mm2cT.js.map → docker3-TVLvF3ly.js.map} +1 -1
- package/build/server/chunks/{endpoints-WTxemTcn.js → endpoints-CnnGlw2U.js} +3 -3
- package/build/server/chunks/{endpoints-WTxemTcn.js.map → endpoints-CnnGlw2U.js.map} +1 -1
- package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
- package/build/server/chunks/{error.svelte-C2CWdm9K.js → error.svelte-BI8mJm7r.js} +4 -4
- package/build/server/chunks/{error.svelte-C2CWdm9K.js.map → error.svelte-BI8mJm7r.js.map} +1 -1
- package/build/server/chunks/{features-BE2x1a_a.js → features-BUWlozR5.js} +3 -3
- package/build/server/chunks/{features-BE2x1a_a.js.map → features-BUWlozR5.js.map} +1 -1
- package/build/server/chunks/{helpers-CfpNg3il.js → helpers-9U7R7yqL.js} +4 -4
- package/build/server/chunks/{helpers-CfpNg3il.js.map → helpers-9U7R7yqL.js.map} +1 -1
- package/build/server/chunks/{hooks.server-DEVjSu3V.js → hooks.server-Bog01Hsc.js} +9 -9
- package/build/server/chunks/{hooks.server-DEVjSu3V.js.map → hooks.server-Bog01Hsc.js.map} +1 -1
- package/build/server/chunks/{http-WP5cji9-.js → http-D2Aul-FP.js} +2 -2
- package/build/server/chunks/{http-WP5cji9-.js.map → http-D2Aul-FP.js.map} +1 -1
- package/build/server/chunks/{internal-D9Kp0SbJ.js → internal-DbH28JEx.js} +3 -3
- package/build/server/chunks/{internal-D9Kp0SbJ.js.map → internal-DbH28JEx.js.map} +1 -1
- package/build/server/chunks/{landing-DKXNel0Q.js → landing-CMnmbyhs.js} +5 -5
- package/build/server/chunks/{landing-DKXNel0Q.js.map → landing-CMnmbyhs.js.map} +1 -1
- package/build/server/chunks/{paths-DRVrMQrI.js → paths-CADLTBzK.js} +2 -2
- package/build/server/chunks/{paths-DRVrMQrI.js.map → paths-CADLTBzK.js.map} +1 -1
- package/build/server/chunks/{session-cookie-CDynAOx3.js → session-cookie-9GKSbczI.js} +2 -2
- package/build/server/chunks/{session-cookie-CDynAOx3.js.map → session-cookie-9GKSbczI.js.map} +1 -1
- package/build/server/chunks/{setup-deploy-CRW2KpZR.js → setup-deploy-32URXYdb.js} +2 -2
- package/build/server/chunks/{setup-deploy-CRW2KpZR.js.map → setup-deploy-32URXYdb.js.map} +1 -1
- package/build/server/chunks/{src-CQ2F7hgb.js → src-AHSKeKr0.js} +4 -4
- package/build/server/chunks/{src-CQ2F7hgb.js.map → src-AHSKeKr0.js.map} +1 -1
- package/build/server/chunks/{state-CsIDHNPN.js → state-CzXOEt0t.js} +2 -2
- package/build/server/chunks/{state-CsIDHNPN.js.map → state-CzXOEt0t.js.map} +1 -1
- package/build/server/chunks/{state2-jnbE3tAu.js → state2-Dk2nfhFB.js} +2 -2
- package/build/server/chunks/{state2-jnbE3tAu.js.map → state2-Dk2nfhFB.js.map} +1 -1
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +97 -97
- package/build/server/manifest.js.map +1 -1
- package/package.json +3 -3
- package/build/client/_app/immutable/chunks/BKLMDjUE.js.br +0 -0
- package/build/client/_app/immutable/chunks/BKLMDjUE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BNJvGRjX.js +0 -3
- package/build/client/_app/immutable/chunks/BNJvGRjX.js.br +0 -0
- package/build/client/_app/immutable/chunks/BNJvGRjX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C5iiO0W9.js.br +0 -0
- package/build/client/_app/immutable/chunks/C5iiO0W9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CBV2kBE1.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBV2kBE1.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ccncQf9O.js +0 -1
- package/build/client/_app/immutable/chunks/ccncQf9O.js.br +0 -2
- package/build/client/_app/immutable/chunks/ccncQf9O.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DAzfwrA7.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DAzfwrA7.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.7FiodlpO.js +0 -1
- package/build/client/_app/immutable/entry/start.7FiodlpO.js.br +0 -1
- package/build/client/_app/immutable/entry/start.7FiodlpO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.RedvZarw.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.RedvZarw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BqgE43w1.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BqgE43w1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.gz +0 -0
- package/build/server/chunks/1-Dxk_eEPL.js +0 -9
- package/build/server/chunks/compose-args2-DiDeQtPu.js.map +0 -1
- package/build/server/chunks/docker2-oBEn_Si9.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { aD as readStackEnv } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-
|
|
1
|
+
import { aD as readStackEnv } from './src-AHSKeKr0.js';
|
|
2
|
+
import { g as getState } from './state-CzXOEt0t.js';
|
|
3
|
+
import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-9U7R7yqL.js';
|
|
4
4
|
import { t as toSpeakableText } from './speakable-text-BflxDDdY.js';
|
|
5
5
|
import './chunk-DOvWTNp_.js';
|
|
6
6
|
import 'node:module';
|
|
@@ -22,8 +22,8 @@ import 'assert';
|
|
|
22
22
|
import 'zlib';
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
|
-
import './endpoints-
|
|
26
|
-
import './features-
|
|
25
|
+
import './endpoints-CnnGlw2U.js';
|
|
26
|
+
import './features-BUWlozR5.js';
|
|
27
27
|
|
|
28
28
|
//#region src/routes/api/speak/+server.ts
|
|
29
29
|
var DEFAULT_MODEL = "kokoro";
|
|
@@ -93,4 +93,4 @@ var POST = async (event) => {
|
|
|
93
93
|
};
|
|
94
94
|
|
|
95
95
|
export { POST };
|
|
96
|
-
//# sourceMappingURL=_server.ts-
|
|
96
|
+
//# sourceMappingURL=_server.ts-CHBfflb0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CHBfflb0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { X as readStackEnv } from \"../../../../chunks/compose-args.js\";\nimport \"../../../../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 toSpeakableText } from \"../../../../chunks/speakable-text.js\";\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 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\tconst speechText = toSpeakableText(text);\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 { aw as readAutomationLogs } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-
|
|
1
|
+
import { aw as readAutomationLogs } from './src-AHSKeKr0.js';
|
|
2
|
+
import { g as getState } from './state-CzXOEt0t.js';
|
|
3
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-9U7R7yqL.js';
|
|
4
4
|
import './chunk-DOvWTNp_.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './network-preset-CJ1RRnki.js';
|
|
@@ -21,8 +21,8 @@ import 'assert';
|
|
|
21
21
|
import 'zlib';
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
|
-
import './endpoints-
|
|
25
|
-
import './features-
|
|
24
|
+
import './endpoints-CnnGlw2U.js';
|
|
25
|
+
import './features-BUWlozR5.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/api/host/automations/[name]/log/+server.ts
|
|
28
28
|
var SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\.ya?ml)?$/;
|
|
@@ -52,4 +52,4 @@ var GET = async (event) => {
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
export { GET };
|
|
55
|
-
//# sourceMappingURL=_server.ts-
|
|
55
|
+
//# sourceMappingURL=_server.ts-CLyMgmaf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CLyMgmaf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_name_/log/_server.ts.js"],"sourcesContent":["import { g as readAutomationLogs } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/[name]/log/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar DEFAULT_LIMIT = 50;\nvar MAX_LIMIT = 500;\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:logs\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tconst limitParam = event.url.searchParams.get(\"limit\");\n\tlet limit = DEFAULT_LIMIT;\n\tif (limitParam !== null) {\n\t\tconst parsed = Number.parseInt(limitParam, 10);\n\t\tif (!Number.isFinite(parsed) || parsed <= 0) return errorResponse(400, \"invalid_input\", \"limit must be a positive integer\", {}, requestId);\n\t\tlimit = Math.min(parsed, MAX_LIMIT);\n\t}\n\treturn jsonResponse(200, {\n\t\tname: taskId,\n\t\tlines: readAutomationLogs(taskId, state.dataDir, limit)\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAClD,IAAI,aAAa,GAAG,EAAE;AACtB,IAAI,SAAS,GAAG,GAAG;AAChB,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC;AACzE,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACvD,CAAC,IAAI,KAAK,GAAG,aAAa;AAC1B,CAAC,IAAI,UAAU,KAAK,IAAI,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,kCAAkC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;AACrC,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK;AACxD,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { b3 as summarizeBackups, aj as listBackupDirs, av as pruneBackupDirs, F as createLogger } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-
|
|
1
|
+
import { b3 as summarizeBackups, aj as listBackupDirs, av as pruneBackupDirs, F as createLogger } from './src-AHSKeKr0.js';
|
|
2
|
+
import { g as getState } from './state-CzXOEt0t.js';
|
|
3
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-9U7R7yqL.js';
|
|
4
4
|
import './chunk-DOvWTNp_.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './network-preset-CJ1RRnki.js';
|
|
@@ -21,8 +21,8 @@ import 'assert';
|
|
|
21
21
|
import 'zlib';
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
|
-
import './endpoints-
|
|
25
|
-
import './features-
|
|
24
|
+
import './endpoints-CnnGlw2U.js';
|
|
25
|
+
import './features-BUWlozR5.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/api/host/backups/+server.ts
|
|
28
28
|
var logger = createLogger("backups-admin");
|
|
@@ -90,4 +90,4 @@ var POST = async (event) => {
|
|
|
90
90
|
};
|
|
91
91
|
|
|
92
92
|
export { GET, POST };
|
|
93
|
-
//# sourceMappingURL=_server.ts-
|
|
93
|
+
//# sourceMappingURL=_server.ts-CN26zawm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CN26zawm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/backups/_server.ts.js"],"sourcesContent":["import { At as pruneBackupDirs, Nt as createLogger, jt as summarizeBackups, kt as listBackupDirs } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/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 capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\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 capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\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":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { l as requireCapability, d as getRequestId, w as withAdminBody, k as jsonResponse } from './helpers-
|
|
2
|
-
import { o as opencodeFetch } from './http-
|
|
1
|
+
import { l as requireCapability, d as getRequestId, w as withAdminBody, k as jsonResponse } from './helpers-9U7R7yqL.js';
|
|
2
|
+
import { o as opencodeFetch } from './http-D2Aul-FP.js';
|
|
3
3
|
import { a as asStringOrEmpty } from './_helpers-CafYq-UD.js';
|
|
4
|
-
import './src-
|
|
4
|
+
import './src-AHSKeKr0.js';
|
|
5
5
|
import './chunk-DOvWTNp_.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './network-preset-CJ1RRnki.js';
|
|
@@ -22,9 +22,9 @@ import 'assert';
|
|
|
22
22
|
import 'zlib';
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
|
-
import './endpoints-
|
|
26
|
-
import './state-
|
|
27
|
-
import './features-
|
|
25
|
+
import './endpoints-CnnGlw2U.js';
|
|
26
|
+
import './state-CzXOEt0t.js';
|
|
27
|
+
import './features-BUWlozR5.js';
|
|
28
28
|
import './coercion-TNFJisCC.js';
|
|
29
29
|
|
|
30
30
|
//#region src/routes/api/host/providers/oauth/finish/+server.ts
|
|
@@ -69,4 +69,4 @@ var POST = async (event) => {
|
|
|
69
69
|
};
|
|
70
70
|
|
|
71
71
|
export { POST };
|
|
72
|
-
//# sourceMappingURL=_server.ts-
|
|
72
|
+
//# sourceMappingURL=_server.ts-COHW_bIw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-COHW_bIw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { a as getRequestId, c as jsonResponse, d as requireCapability, 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/api/host/providers/oauth/finish/+server.ts\n/**\n* POST /api/host/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 = async (event) => {\n\tconst capabilityError = requireCapability(event, \"host:secrets\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\ttry {\n\t\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\t\tconst code = asStringOrEmpty(body.code);\n\t\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\t\tok: false,\n\t\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\t\tselectedProviderId: providerId\n\t\t\t}, requestId);\n\t\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\tmethod: methodIndex,\n\t\t\t\t\tcode\n\t\t\t\t})\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\t\tselectedProviderId: providerId\n\t\t\t}, requestId);\n\t\t} catch (error) {\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: false,\n\t\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\t\tselectedProviderId: void 0\n\t\t\t}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC5D,EAAE,IAAI;AACN,GAAG,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACtD,GAAG,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChE,GAAG,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1C,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACnF,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,OAAO,EAAE,wDAAwD;AACrE,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACrF,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACzB,KAAK,MAAM,EAAE,WAAW;AACxB,KAAK;AACL,KAAK;AACL,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,OAAO,EAAE,6BAA6B;AAC1C,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACtE,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as json } from './exports-CcmcYU0M.js';
|
|
2
|
-
import { g as getOpenCodeClient } from './helpers-
|
|
2
|
+
import { g as getOpenCodeClient } from './helpers-9U7R7yqL.js';
|
|
3
3
|
import './utils-OXHIhUb5.js';
|
|
4
|
-
import './src-
|
|
4
|
+
import './src-AHSKeKr0.js';
|
|
5
5
|
import './chunk-DOvWTNp_.js';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import './network-preset-CJ1RRnki.js';
|
|
@@ -22,9 +22,9 @@ import 'assert';
|
|
|
22
22
|
import 'zlib';
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
|
-
import './endpoints-
|
|
26
|
-
import './state-
|
|
27
|
-
import './features-
|
|
25
|
+
import './endpoints-CnnGlw2U.js';
|
|
26
|
+
import './state-CzXOEt0t.js';
|
|
27
|
+
import './features-BUWlozR5.js';
|
|
28
28
|
|
|
29
29
|
//#region src/routes/api/setup/opencode/provider/[provider]/oauth/callback/+server.ts
|
|
30
30
|
var PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;
|
|
@@ -55,4 +55,4 @@ var POST = async ({ params, request }) => {
|
|
|
55
55
|
};
|
|
56
56
|
|
|
57
57
|
export { POST };
|
|
58
|
-
//# sourceMappingURL=_server.ts-
|
|
58
|
+
//# sourceMappingURL=_server.ts-CQ9bUgsb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CQ9bUgsb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/provider/_provider_/oauth/callback/_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/provider/[provider]/oauth/callback/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar POST = 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 body = await request.json();\n\t\tconst method = Number.isInteger(body.method) ? body.method : 0;\n\t\tconst code = typeof body.code === \"string\" ? body.code.slice(0, 1024) : void 0;\n\t\tconst result = await getOpenCodeClient().completeProviderOAuth(params.provider, method, code);\n\t\tif (!result.ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 400 });\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tcomplete: result.data\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,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,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;AAChF,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;AAC/F,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC9B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,QAAQ,EAAE,MAAM,CAAC;AACpB,GAAG,CAAC;AACJ,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 { am as loadAutomations } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-
|
|
1
|
+
import { am as loadAutomations } from './src-AHSKeKr0.js';
|
|
2
|
+
import { g as getState } from './state-CzXOEt0t.js';
|
|
3
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-9U7R7yqL.js';
|
|
4
4
|
import './chunk-DOvWTNp_.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './network-preset-CJ1RRnki.js';
|
|
@@ -21,8 +21,8 @@ import 'assert';
|
|
|
21
21
|
import 'zlib';
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
|
-
import './endpoints-
|
|
25
|
-
import './features-
|
|
24
|
+
import './endpoints-CnnGlw2U.js';
|
|
25
|
+
import './features-BUWlozR5.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/api/host/automations/+server.ts
|
|
28
28
|
var GET = async (event) => {
|
|
@@ -48,4 +48,4 @@ var GET = async (event) => {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
export { GET };
|
|
51
|
-
//# sourceMappingURL=_server.ts-
|
|
51
|
+
//# sourceMappingURL=_server.ts-CQGc6Rzk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CQGc6Rzk.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_server.ts.js"],"sourcesContent":["import { h as loadAutomations } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:read\", requestId);\n\tif (capabilityError) return capabilityError;\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,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,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,5 +1,5 @@
|
|
|
1
|
-
import { F as createLogger } from './src-
|
|
2
|
-
import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-
|
|
1
|
+
import { F as createLogger } from './src-AHSKeKr0.js';
|
|
2
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-9U7R7yqL.js';
|
|
3
3
|
import './chunk-DOvWTNp_.js';
|
|
4
4
|
import 'node:module';
|
|
5
5
|
import './network-preset-CJ1RRnki.js';
|
|
@@ -20,9 +20,9 @@ import 'assert';
|
|
|
20
20
|
import 'zlib';
|
|
21
21
|
import 'node:assert';
|
|
22
22
|
import 'node:fs/promises';
|
|
23
|
-
import './endpoints-
|
|
24
|
-
import './state-
|
|
25
|
-
import './features-
|
|
23
|
+
import './endpoints-CnnGlw2U.js';
|
|
24
|
+
import './state-CzXOEt0t.js';
|
|
25
|
+
import './features-BUWlozR5.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/api/host/opencode/providers/[id]/auth/+server.ts
|
|
28
28
|
var logger = createLogger("opencode.auth");
|
|
@@ -169,4 +169,4 @@ var DELETE = async (event) => {
|
|
|
169
169
|
};
|
|
170
170
|
|
|
171
171
|
export { DELETE, GET, POST };
|
|
172
|
-
//# sourceMappingURL=_server.ts-
|
|
172
|
+
//# sourceMappingURL=_server.ts-CR1fXUx_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-XEVuthfs.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, i as getOpenCodeClient, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /api/host/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_server.ts-CR1fXUx_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, i as getOpenCodeClient, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /api/host/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C,IAAI,kBAAkB,GAAG,GAAG;AAC5B,IAAI,eAAe,GAAG,gBAAgB;AACtC,IAAI,oBAAoB,GAAG,GAAG;AAC9B,IAAI,sBAAsB,GAAG,GAAG;AAChC,IAAI,mBAAmB,GAAG,mBAAmB;AAC7C,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,kBAAkB,EAAE,OAAO,gCAAgC;AAC7E,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,qCAAqC;AAC7E,CAAC,OAAO,IAAI;AACZ;AACA,IAAI,aAAa,mBAAmB,IAAI,GAAG,EAAE;AAC7C,SAAS,oBAAoB,GAAG;AAChC,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;AACvB,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,aAAa,EAAE,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,oBAAoB,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAC9H;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC;AAC5E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;AAC1D,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,uCAAuC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjH,CAAC,oBAAoB,EAAE;AACvB,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;AAC7C,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,mCAAmC,EAAE,EAAE,EAAE,SAAS,CAAC;AACzG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,yCAAyC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/I,CAAC,IAAI,CAAC,MAAM,iBAAiB,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE;AACpG,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC;AACjC,EAAE,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;AAC/C,GAAG,UAAU,EAAE,OAAO,CAAC,UAAU;AACjC,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,UAAU;AACrB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,oBAAoB,EAAE;AAC5D,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC;AACjC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,OAAO;AAClB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,MAAM,EAAE,SAAS;AACnB,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC;AAC5E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AACnC,CAAC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE;AAC5D,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,sBAAsB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,qBAAqB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvL,CAAC,oBAAoB,EAAE;AACvB,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE;AACzB,EAAE,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;AAC1E,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7G,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC;AACzC,EAAE,IAAI,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,CAAC;AACjF,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC;AAChF,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;AAClB,GAAG,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;AAC/C,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,KAAK,EAAE,MAAM,CAAC;AAClB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AAClF,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;AAC9D,GAAG,UAAU;AACb,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC,IAAI,IAAI,KAAK,OAAO,EAAE;AACvB,EAAE,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,KAAK,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,4CAA4C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7P,EAAE,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC;AACjF,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC;AACtF,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE;AACvC,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE;AAC/B,GAAG,UAAU;AACb,GAAG,WAAW;AACd,GAAG,SAAS,EAAE,IAAI,CAAC,GAAG;AACtB,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;AAC7C,GAAG,UAAU;AACb,GAAG,WAAW;AACd,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,IAAI,EAAE,OAAO;AAChB,GAAG,SAAS;AACZ,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG;AAChB,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM;AACtB,GAAG,YAAY,EAAE,IAAI,CAAC;AACtB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,+BAA+B,EAAE,EAAE,EAAE,SAAS,CAAC;AACzF;AACA;AACA;AACA;AACA;AACG,IAAC,MAAM,GAAG,OAAO,KAAK,KAAK;AAC9B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC;AAC5E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE;AACzC,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,sBAAsB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,qBAAqB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvL,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAChH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;AACjB,EAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;AAC5C,GAAG,UAAU;AACb,GAAG,SAAS;AACZ,GAAG,KAAK,EAAE,MAAM,CAAC;AACjB,GAAG,CAAC;AACJ,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AACjF,CAAC;AACD,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,EAAE;AACtE,EAAE,UAAU;AACZ,EAAE;AACF,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AAClD;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { F as createLogger, p as checkDocker, t as composeDown, n as buildComposeOptions, f as applyUninstall } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-
|
|
1
|
+
import { F as createLogger, p as checkDocker, t as composeDown, n as buildComposeOptions, f as applyUninstall } from './src-AHSKeKr0.js';
|
|
2
|
+
import { g as getState } from './state-CzXOEt0t.js';
|
|
3
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-9U7R7yqL.js';
|
|
4
4
|
import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
|
|
5
5
|
import './chunk-DOvWTNp_.js';
|
|
6
6
|
import 'node:module';
|
|
@@ -22,8 +22,8 @@ import 'assert';
|
|
|
22
22
|
import 'zlib';
|
|
23
23
|
import 'node:assert';
|
|
24
24
|
import 'node:fs/promises';
|
|
25
|
-
import './endpoints-
|
|
26
|
-
import './features-
|
|
25
|
+
import './endpoints-CnnGlw2U.js';
|
|
26
|
+
import './features-BUWlozR5.js';
|
|
27
27
|
|
|
28
28
|
//#region src/routes/api/host/uninstall/+server.ts
|
|
29
29
|
var logger = createLogger("uninstall");
|
|
@@ -65,4 +65,4 @@ var POST = async (event) => {
|
|
|
65
65
|
};
|
|
66
66
|
|
|
67
67
|
export { POST };
|
|
68
|
-
//# sourceMappingURL=_server.ts-
|
|
68
|
+
//# sourceMappingURL=_server.ts-CV7PsNSs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CV7PsNSs.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/uninstall/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, i as applyUninstall, t as buildComposeOptions } from \"../../../../../chunks/compose-args.js\";\nimport { i as checkDocker, l as composeDown } from \"../../../../../chunks/docker.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/api/host/uninstall/+server.ts\nvar logger = createLogger(\"uninstall\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tlogger.info(\"uninstall request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:uninstall\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tconst dockerCheck = await checkDocker();\n\t\t\tif (dockerCheck.ok) await composeDown(buildComposeOptions(state));\n\t\t\tlogger.info(\"stopping containers and applying uninstall\", {\n\t\t\t\trequestId,\n\t\t\t\tdockerAvailable: dockerCheck.ok\n\t\t\t});\n\t\t\tconst result = await applyUninstall(state);\n\t\t\tlogger.info(\"uninstall completed\", {\n\t\t\t\trequestId,\n\t\t\t\tstopped: result.stopped\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\t...result,\n\t\t\t\tdockerAvailable: dockerCheck.ok\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"uninstall failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"uninstall_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC;AACnC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC;AAC7E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,CAAC;AACzD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,iBAAiB,EAAE,YAAY;AACvD,EAAE,IAAI;AACN,GAAG,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC3B,GAAG,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AAC1C,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpE,GAAG,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;AAC7D,IAAI,SAAS;AACb,IAAI,eAAe,EAAE,WAAW,CAAC;AACjC,IAAI,CAAC;AACL,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC;AAC7C,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACtC,IAAI,SAAS;AACb,IAAI,OAAO,EAAE,MAAM,CAAC;AACpB,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,GAAG,MAAM;AACb,IAAI,eAAe,EAAE,WAAW,CAAC;AACjC,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/D,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AACpE,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ad as inspectInstallLock, I as INSTALL_LOCK_STALE_AFTER_MS, b4 as unlockInstallLock, F as createLogger } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-
|
|
1
|
+
import { ad as inspectInstallLock, I as INSTALL_LOCK_STALE_AFTER_MS, b4 as unlockInstallLock, F as createLogger } from './src-AHSKeKr0.js';
|
|
2
|
+
import { g as getState } from './state-CzXOEt0t.js';
|
|
3
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-9U7R7yqL.js';
|
|
4
4
|
import './chunk-DOvWTNp_.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './network-preset-CJ1RRnki.js';
|
|
@@ -21,8 +21,8 @@ import 'assert';
|
|
|
21
21
|
import 'zlib';
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
|
-
import './endpoints-
|
|
25
|
-
import './features-
|
|
24
|
+
import './endpoints-CnnGlw2U.js';
|
|
25
|
+
import './features-BUWlozR5.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/api/host/unlock/+server.ts
|
|
28
28
|
var logger = createLogger("unlock-admin");
|
|
@@ -84,4 +84,4 @@ var POST = async (event) => {
|
|
|
84
84
|
};
|
|
85
85
|
|
|
86
86
|
export { GET, POST };
|
|
87
|
-
//# sourceMappingURL=_server.ts-
|
|
87
|
+
//# sourceMappingURL=_server.ts-CYEiMdP-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CYEiMdP-.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/unlock/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, d as inspectInstallLock, l as INSTALL_LOCK_STALE_AFTER_MS, m as unlockInstallLock } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/unlock/+server.ts\nvar logger = createLogger(\"unlock-admin\");\n/**\n* #500 — \"an operation seems stuck — clear it?\" Reports whether an install lock\n* is present and whether it is stale (so the UI can decide whether to offer the\n* clear action). Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\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\tstaleAfterMs: INSTALL_LOCK_STALE_AFTER_MS,\n\t\t\t...inspectInstallLock(state.dataDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_status_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #500 — clears the install lock ONLY when stale (dead holder PID or older than\n* the 30-minute staleness window). Returns 409 when a live install is still\n* holding the lock so the UI can surface \"an operation is still running\" rather\n* than forcing it. Never blind-removes a live lock.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tlet force = false;\n\ttry {\n\t\tforce = (await event.request.clone().json())?.force === true;\n\t} catch {}\n\ttry {\n\t\tconst result = unlockInstallLock(state.dataDir, { force });\n\t\tif (!result.ok) return errorResponse(409, \"install_in_progress\", \"An install or upgrade still appears to be running. The lock clears itself automatically once it finishes or after 30 minutes. Nothing was changed. Send { \\\"force\\\": true } to clear it anyway if the recorded PID was reused by an unrelated process.\", { status: result.status }, requestId);\n\t\tlogger.info(\"cleared install lock via admin\", {\n\t\t\trequestId,\n\t\t\tremoved: result.removed,\n\t\t\tforced: force && result.status.present && !result.status.stale\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tremoved: result.removed,\n\t\t\tstatus: result.status\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC;AACzC;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC;AAC7E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,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,YAAY,EAAE,2BAA2B;AAC5C,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO;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;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC;AAC7E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,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,KAAK,GAAG,KAAK;AAClB,CAAC,IAAI;AACL,EAAE,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,IAAI;AAC9D,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAC5D,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,wPAAwP,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAClW,EAAE,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;AAChD,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO;AAC1B,GAAG,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAC5D,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO;AAC1B,GAAG,MAAM,EAAE,MAAM,CAAC;AAClB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvG,CAAC;AACD;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { V as disableHostAkmSharing, a8 as getHostAkmSharingStatus, Y as enableHostAkmSharing } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-
|
|
1
|
+
import { V as disableHostAkmSharing, a8 as getHostAkmSharingStatus, Y as enableHostAkmSharing } from './src-AHSKeKr0.js';
|
|
2
|
+
import { g as getState } from './state-CzXOEt0t.js';
|
|
3
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-9U7R7yqL.js';
|
|
4
4
|
import './chunk-DOvWTNp_.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './network-preset-CJ1RRnki.js';
|
|
@@ -21,8 +21,8 @@ import 'assert';
|
|
|
21
21
|
import 'zlib';
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
|
-
import './endpoints-
|
|
25
|
-
import './features-
|
|
24
|
+
import './endpoints-CnnGlw2U.js';
|
|
25
|
+
import './features-BUWlozR5.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/api/host/akm/host-sharing/+server.ts
|
|
28
28
|
var GET = async (event) => {
|
|
@@ -58,4 +58,4 @@ var DELETE = async (event) => {
|
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
export { DELETE, GET, PUT };
|
|
61
|
-
//# sourceMappingURL=_server.ts-
|
|
61
|
+
//# sourceMappingURL=_server.ts-CYhI4sCU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CYhI4sCU.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/akm/host-sharing/_server.ts.js"],"sourcesContent":["import { C as disableHostAkmSharing, T as getHostAkmSharingStatus, w as enableHostAkmSharing } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/akm/host-sharing/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:akm-sharing\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, getHostAkmSharingStatus(getState()), requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:akm-sharing\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst { profilesImported } = enableHostAkmSharing(state);\n\treturn jsonResponse(200, {\n\t\t...getHostAkmSharingStatus(state),\n\t\tprofilesImported\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:akm-sharing\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tdisableHostAkmSharing(state);\n\treturn jsonResponse(200, getHostAkmSharingStatus(state), requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC;AACzE;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,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,EAAE,gBAAgB,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC;AACzD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;AACnC,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,MAAM,GAAG,OAAO,KAAK,KAAK;AAC9B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,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,qBAAqB,CAAC,KAAK,CAAC;AAC7B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;AACpE;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { am as loadAutomations, $ as executeAutomation, m as buildAkmEnv } from './src-
|
|
2
|
-
import { g as getState } from './state-
|
|
3
|
-
import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-
|
|
1
|
+
import { am as loadAutomations, $ as executeAutomation, m as buildAkmEnv } from './src-AHSKeKr0.js';
|
|
2
|
+
import { g as getState } from './state-CzXOEt0t.js';
|
|
3
|
+
import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-9U7R7yqL.js';
|
|
4
4
|
import './chunk-DOvWTNp_.js';
|
|
5
5
|
import 'node:module';
|
|
6
6
|
import './network-preset-CJ1RRnki.js';
|
|
@@ -21,8 +21,8 @@ import 'assert';
|
|
|
21
21
|
import 'zlib';
|
|
22
22
|
import 'node:assert';
|
|
23
23
|
import 'node:fs/promises';
|
|
24
|
-
import './endpoints-
|
|
25
|
-
import './features-
|
|
24
|
+
import './endpoints-CnnGlw2U.js';
|
|
25
|
+
import './features-BUWlozR5.js';
|
|
26
26
|
|
|
27
27
|
//#region src/routes/api/host/automations/[name]/run/+server.ts
|
|
28
28
|
var SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\.ya?ml)?$/;
|
|
@@ -47,4 +47,4 @@ var POST = async (event) => {
|
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
export { POST };
|
|
50
|
-
//# sourceMappingURL=_server.ts-
|
|
50
|
+
//# sourceMappingURL=_server.ts-CZluUZ23.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CZluUZ23.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_name_/run/_server.ts.js"],"sourcesContent":["import { h as loadAutomations, m as executeAutomation, v as buildAkmEnv } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/[name]/run/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:write\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tif (!loadAutomations(state.stashDir).some((c) => c.name === taskId)) return errorResponse(404, \"not_found\", `Automation '${taskId}' is not installed.`, {}, requestId);\n\tconst result = await executeAutomation(taskId, buildAkmEnv(state));\n\treturn jsonResponse(202, {\n\t\tok: result.ok,\n\t\tname: taskId,\n\t\tstatus: result.status,\n\t\terror: result.error ?? null\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAC/C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvK,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;AACf,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI;AACzB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
|