watch-tail 0.9.0 → 0.10.0
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/README.md +103 -8
- package/build/client/_app/immutable/assets/0.B5hI3s8c.css +2 -0
- package/build/client/_app/immutable/assets/0.B5hI3s8c.css.br +0 -0
- package/build/client/_app/immutable/assets/0.B5hI3s8c.css.gz +0 -0
- package/build/client/_app/immutable/assets/2.Cn4w1JYv.css +1 -0
- package/build/client/_app/immutable/assets/2.Cn4w1JYv.css.br +0 -0
- package/build/client/_app/immutable/assets/2.Cn4w1JYv.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B2En4t_E.js +3 -0
- package/build/client/_app/immutable/chunks/B2En4t_E.js.br +0 -0
- package/build/client/_app/immutable/chunks/B2En4t_E.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BJ7fEbY9.js +1 -0
- package/build/client/_app/immutable/chunks/BJ7fEbY9.js.br +0 -0
- package/build/client/_app/immutable/chunks/BJ7fEbY9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D7vimbmk.js → BX0v2q9h.js} +1 -1
- package/build/client/_app/immutable/chunks/BX0v2q9h.js.br +0 -0
- package/build/client/_app/immutable/chunks/BX0v2q9h.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DwOZdLDj.js → B_AZHMkI.js} +1 -1
- package/build/client/_app/immutable/chunks/B_AZHMkI.js.br +0 -0
- package/build/client/_app/immutable/chunks/B_AZHMkI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{dqF8mxBW.js → Bb9UOIo-.js} +1 -1
- package/build/client/_app/immutable/chunks/Bb9UOIo-.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bb9UOIo-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{0b2v80OK.js → BdV_pkVs.js} +1 -1
- package/build/client/_app/immutable/chunks/BdV_pkVs.js.br +0 -0
- package/build/client/_app/immutable/chunks/BdV_pkVs.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{C_U_Jvk5.js → BsrUsB47.js} +1 -1
- package/build/client/_app/immutable/chunks/BsrUsB47.js.br +0 -0
- package/build/client/_app/immutable/chunks/BsrUsB47.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DvxMaQv_.js → CHnbfiIG.js} +1 -1
- package/build/client/_app/immutable/chunks/CHnbfiIG.js.br +0 -0
- package/build/client/_app/immutable/chunks/CHnbfiIG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DS3cLPAu.js → CNomy7CF.js} +1 -1
- package/build/client/_app/immutable/chunks/CNomy7CF.js.br +0 -0
- package/build/client/_app/immutable/chunks/CNomy7CF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CPbNf3ya.js +1 -0
- package/build/client/_app/immutable/chunks/CPbNf3ya.js.br +0 -0
- package/build/client/_app/immutable/chunks/CPbNf3ya.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CZ2PC-zH.js +1 -0
- package/build/client/_app/immutable/chunks/CZ2PC-zH.js.br +0 -0
- package/build/client/_app/immutable/chunks/CZ2PC-zH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CljxK204.js +1 -0
- package/build/client/_app/immutable/chunks/CljxK204.js.br +1 -0
- package/build/client/_app/immutable/chunks/CljxK204.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CzU0cUz4.js +1 -0
- package/build/client/_app/immutable/chunks/CzU0cUz4.js.br +0 -0
- package/build/client/_app/immutable/chunks/CzU0cUz4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B5RiPG8Z.js → D6vIi1r5.js} +1 -1
- package/build/client/_app/immutable/chunks/D6vIi1r5.js.br +3 -0
- package/build/client/_app/immutable/chunks/D6vIi1r5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DAxERhtN.js +1 -0
- package/build/client/_app/immutable/chunks/DAxERhtN.js.br +0 -0
- package/build/client/_app/immutable/chunks/DAxERhtN.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DIzgJaYS.js +1 -0
- package/build/client/_app/immutable/chunks/DIzgJaYS.js.br +0 -0
- package/build/client/_app/immutable/chunks/DIzgJaYS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DSHrbzz3.js +1 -0
- package/build/client/_app/immutable/chunks/DSHrbzz3.js.br +0 -0
- package/build/client/_app/immutable/chunks/DSHrbzz3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Dkh4Dwm8.js → DSvLImpl.js} +1 -1
- package/build/client/_app/immutable/chunks/DSvLImpl.js.br +0 -0
- package/build/client/_app/immutable/chunks/DSvLImpl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{b77-bq1n.js → DWBod19x.js} +1 -1
- package/build/client/_app/immutable/chunks/DWBod19x.js.br +0 -0
- package/build/client/_app/immutable/chunks/DWBod19x.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{IlwbfbOu.js → Dicxo5h-.js} +1 -1
- package/build/client/_app/immutable/chunks/Dicxo5h-.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dicxo5h-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DjjHmSG3.js +1 -0
- package/build/client/_app/immutable/chunks/DjjHmSG3.js.br +0 -0
- package/build/client/_app/immutable/chunks/DjjHmSG3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DlDLXtam.js +1 -0
- package/build/client/_app/immutable/chunks/DlDLXtam.js.br +0 -0
- package/build/client/_app/immutable/chunks/DlDLXtam.js.gz +0 -0
- package/build/client/_app/immutable/chunks/EZJqWoh3.js +1 -0
- package/build/client/_app/immutable/chunks/EZJqWoh3.js.br +0 -0
- package/build/client/_app/immutable/chunks/EZJqWoh3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Fg8W5tkO.js +15 -0
- package/build/client/_app/immutable/chunks/Fg8W5tkO.js.br +0 -0
- package/build/client/_app/immutable/chunks/Fg8W5tkO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/LGzrUxfF.js +1 -0
- package/build/client/_app/immutable/chunks/LGzrUxfF.js.br +0 -0
- package/build/client/_app/immutable/chunks/LGzrUxfF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/McME9wI6.js +10 -0
- package/build/client/_app/immutable/chunks/McME9wI6.js.br +0 -0
- package/build/client/_app/immutable/chunks/McME9wI6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/N78Fm5Ux.js +1 -0
- package/build/client/_app/immutable/chunks/N78Fm5Ux.js.br +0 -0
- package/build/client/_app/immutable/chunks/N78Fm5Ux.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DQqLOGLe.js → XrAcf7YH.js} +1 -1
- package/build/client/_app/immutable/chunks/XrAcf7YH.js.br +0 -0
- package/build/client/_app/immutable/chunks/XrAcf7YH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{aI_O2VuQ.js → _PJhUOmT.js} +1 -1
- package/build/client/_app/immutable/chunks/_PJhUOmT.js.br +0 -0
- package/build/client/_app/immutable/chunks/_PJhUOmT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/gXyWwJbW.js +1 -0
- package/build/client/_app/immutable/chunks/gXyWwJbW.js.br +0 -0
- package/build/client/_app/immutable/chunks/gXyWwJbW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DGYKsRyW.js → vMHl7jRw.js} +1 -1
- package/build/client/_app/immutable/chunks/vMHl7jRw.js.br +0 -0
- package/build/client/_app/immutable/chunks/vMHl7jRw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/xJTjOoUQ.js +2 -0
- package/build/client/_app/immutable/chunks/xJTjOoUQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/xJTjOoUQ.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.ycJtqzGh.js +2 -0
- package/build/client/_app/immutable/entry/app.ycJtqzGh.js.br +0 -0
- package/build/client/_app/immutable/entry/app.ycJtqzGh.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DOq0-PiA.js +1 -0
- package/build/client/_app/immutable/entry/start.DOq0-PiA.js.br +0 -0
- package/build/client/_app/immutable/entry/start.DOq0-PiA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.D63E8Q6i.js +1 -0
- package/build/client/_app/immutable/nodes/0.D63E8Q6i.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.D63E8Q6i.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.B63I-h1v.js +1 -0
- package/build/client/_app/immutable/nodes/1.B63I-h1v.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.B63I-h1v.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DXy8PMWZ.js +5 -0
- package/build/client/_app/immutable/nodes/2.DXy8PMWZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DXy8PMWZ.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/handler.js +7 -7
- package/build/index.js +7 -7
- package/build/server/chunks/chunks/{Arc.canvas.js-CN0KDoHG.js → Arc.canvas.js-DqfSjlnB.js} +8 -8
- package/build/server/chunks/chunks/{Arc.canvas.js-CN0KDoHG.js.map → Arc.canvas.js-DqfSjlnB.js.map} +1 -1
- package/build/server/chunks/chunks/{Arc.js-C8EC9NoE.js → Arc.js-DNywwEq7.js} +10 -10
- package/build/server/chunks/chunks/{Arc.js-C8EC9NoE.js.map → Arc.js-DNywwEq7.js.map} +1 -1
- package/build/server/chunks/chunks/{Bar.js-DtAb3LZZ.js → Bar.js-BHJrwOa1.js} +14 -14
- package/build/server/chunks/chunks/{Bar.js-DtAb3LZZ.js.map → Bar.js-BHJrwOa1.js.map} +1 -1
- package/build/server/chunks/chunks/{ChartAnnotations.js-twzDSVzY.js → ChartAnnotations.js-DXt38zkt.js} +18 -18
- package/build/server/chunks/chunks/{ChartAnnotations.js-twzDSVzY.js.map → ChartAnnotations.js-DXt38zkt.js.map} +1 -1
- package/build/server/chunks/chunks/{Circle.html.js-BJywADGK.js → Circle.html.js-KngSXZUe.js} +5 -5
- package/build/server/chunks/chunks/{Circle.html.js-BJywADGK.js.map → Circle.html.js-KngSXZUe.js.map} +1 -1
- package/build/server/chunks/chunks/{ClipPath.canvas.js-9Fc0bTEM.js → ClipPath.canvas.js-BsGsfzQK.js} +4 -4
- package/build/server/chunks/chunks/{ClipPath.canvas.js-9Fc0bTEM.js.map → ClipPath.canvas.js-BsGsfzQK.js.map} +1 -1
- package/build/server/chunks/chunks/{DefaultTooltip.js-C2NWK2AD.js → DefaultTooltip.js-CbyljZUi.js} +8 -8
- package/build/server/chunks/chunks/{DefaultTooltip.js-C2NWK2AD.js.map → DefaultTooltip.js-CbyljZUi.js.map} +1 -1
- package/build/server/chunks/chunks/{EventScatter.js-CO2GonW-.js → EventScatter.js-DHlLEn_7.js} +36 -35
- package/build/server/chunks/chunks/{EventScatter.js-CO2GonW-.js.map → EventScatter.js-DHlLEn_7.js.map} +1 -1
- package/build/server/chunks/chunks/{Labels.js-DB9qoyZ3.js → Labels.js-DhpbhJmV.js} +18 -18
- package/build/server/chunks/chunks/{Labels.js-DB9qoyZ3.js.map → Labels.js-DhpbhJmV.js.map} +1 -1
- package/build/server/chunks/chunks/{Legend.js-B_ArjxQ7.js → Legend.js-D25j2DRt.js} +6 -6
- package/build/server/chunks/chunks/{Legend.js-B_ArjxQ7.js.map → Legend.js-D25j2DRt.js.map} +1 -1
- package/build/server/chunks/chunks/{Line.html.js-B1REcOFe.js → Line.html.js-CKb2T7JC.js} +6 -6
- package/build/server/chunks/chunks/{Line.html.js-B1REcOFe.js.map → Line.html.js-CKb2T7JC.js.map} +1 -1
- package/build/server/chunks/chunks/{Link.canvas.js-nWimAHfH.js → Link.canvas.js-c0r05107.js} +9 -9
- package/build/server/chunks/chunks/{Link.canvas.js-nWimAHfH.js.map → Link.canvas.js-c0r05107.js.map} +1 -1
- package/build/server/chunks/chunks/{Path.canvas.js-5A9wB8zQ.js → Path.canvas.js-opfoYzQB.js} +5 -5
- package/build/server/chunks/chunks/{Path.canvas.js-5A9wB8zQ.js.map → Path.canvas.js-opfoYzQB.js.map} +1 -1
- package/build/server/chunks/chunks/{Points.html.js-B2o3k-ZZ.js → Points.html.js-CJ75UtkE.js} +7 -7
- package/build/server/chunks/chunks/{Points.html.js-B2o3k-ZZ.js.map → Points.html.js-CJ75UtkE.js.map} +1 -1
- package/build/server/chunks/chunks/Points.js-Bx_vB0po.js +14 -0
- package/build/server/chunks/chunks/Points.js-Bx_vB0po.js.map +1 -0
- package/build/server/chunks/chunks/{Points2.js-BVbWugLT.js → Points2.js-Br2MMKbn.js} +4 -4
- package/build/server/chunks/chunks/{Points2.js-BVbWugLT.js.map → Points2.js-Br2MMKbn.js.map} +1 -1
- package/build/server/chunks/chunks/{Rect.html.js-DnQ6ObhQ.js → Rect.html.js-D_-JSZ22.js} +6 -6
- package/build/server/chunks/chunks/{Rect.html.js-DnQ6ObhQ.js.map → Rect.html.js-D_-JSZ22.js.map} +1 -1
- package/build/server/chunks/chunks/{Spline.js-YnAxvrKY.js → Spline.js-DpD4175j.js} +12 -12
- package/build/server/chunks/chunks/{Spline.js-YnAxvrKY.js.map → Spline.js-DpD4175j.js.map} +1 -1
- package/build/server/chunks/chunks/{Text.html.js-LbmYJb11.js → Text.html.js-Clxo39Ky.js} +6 -6
- package/build/server/chunks/chunks/{Text.html.js-LbmYJb11.js.map → Text.html.js-Clxo39Ky.js.map} +1 -1
- package/build/server/chunks/chunks/{TooltipItem.js-Ce-blieA.js → TooltipItem.js-CgYSF3I3.js} +6 -6
- package/build/server/chunks/chunks/{TooltipItem.js-Ce-blieA.js.map → TooltipItem.js-CgYSF3I3.js.map} +1 -1
- package/build/server/chunks/chunks/{Voronoi.js-CalFJAXH.js → Voronoi.js-CX8bqc1A.js} +7 -7
- package/build/server/chunks/chunks/{Voronoi.js-CalFJAXH.js.map → Voronoi.js-CX8bqc1A.js.map} +1 -1
- package/build/server/chunks/chunks/{archive.js-D2jtMmDo.js → archive.js-BRlkdj2X.js} +331 -30
- package/build/server/chunks/chunks/archive.js-BRlkdj2X.js.map +1 -0
- package/build/server/chunks/chunks/{attributes.js-CbKEpZKa.js → attributes.js-ECgqVV_7.js} +2 -2
- package/build/server/chunks/chunks/{attributes.js-CbKEpZKa.js.map → attributes.js-ECgqVV_7.js.map} +1 -1
- package/build/server/chunks/chunks/{band.js-CjzHWr4k.js → band.js-BcI84M0Z.js} +3 -3
- package/build/server/chunks/chunks/{band.js-CjzHWr4k.js.map → band.js-BcI84M0Z.js.map} +1 -1
- package/build/server/chunks/chunks/{common.js-BvQnfkFo.js → common.js-DeZxUyRN.js} +2 -2
- package/build/server/chunks/chunks/{common.js-BvQnfkFo.js.map → common.js-DeZxUyRN.js.map} +1 -1
- package/build/server/chunks/chunks/{events.js-zIVaXIP1.js → events.js-oxLu7lhH.js} +2 -2
- package/build/server/chunks/chunks/{events.js-zIVaXIP1.js.map → events.js-oxLu7lhH.js.map} +1 -1
- package/build/server/chunks/chunks/{group.js-D0SfevId.js → group.js-C8H9Tpr6.js} +2 -2
- package/build/server/chunks/chunks/{group.js-D0SfevId.js.map → group.js-C8H9Tpr6.js.map} +1 -1
- package/build/server/chunks/chunks/{index-server.js-CtH9Hqwf.js → index-server.js-Dsi44azJ.js} +91 -2
- package/build/server/chunks/chunks/index-server.js-Dsi44azJ.js.map +1 -0
- package/build/server/chunks/chunks/{internal2.js-CfVVfAb5.js → internal2.js-Dm0TlpeP.js} +5 -5
- package/build/server/chunks/chunks/{internal2.js-CfVVfAb5.js.map → internal2.js-Dm0TlpeP.js.map} +1 -1
- package/build/server/chunks/chunks/{key.svelte.js-Cq0L6YlN.js → key.svelte.js-C9G4pBhE.js} +4 -4
- package/build/server/chunks/chunks/{key.svelte.js-Cq0L6YlN.js.map → key.svelte.js-C9G4pBhE.js.map} +1 -1
- package/build/server/chunks/chunks/{legacy-client.js-DAqKExQD.js → legacy-client.js-C8Upo6IB.js} +3 -3
- package/build/server/chunks/chunks/legacy-client.js-C8Upo6IB.js.map +1 -0
- package/build/server/chunks/chunks/{level-filter.js-D9MNrew3.js → level-filter.js-H0nc-2BG.js} +2 -2
- package/build/server/chunks/chunks/{level-filter.js-D9MNrew3.js.map → level-filter.js-H0nc-2BG.js.map} +1 -1
- package/build/server/chunks/chunks/{lineRadial.js-B7ZNP_Jp.js → lineRadial.js-B0m9ujVX.js} +2 -2
- package/build/server/chunks/chunks/{lineRadial.js-B7ZNP_Jp.js.map → lineRadial.js-B0m9ujVX.js.map} +1 -1
- package/build/server/chunks/chunks/{linear.js-CHlwr1I4.js → linear.js-CJ07spu6.js} +2 -2
- package/build/server/chunks/chunks/{linear.js-CHlwr1I4.js.map → linear.js-CJ07spu6.js.map} +1 -1
- package/build/server/chunks/chunks/{motion.svelte.js-Crk8ri1u.js → motion.svelte.js-DB7vkWmD.js} +3 -3
- package/build/server/chunks/chunks/{motion.svelte.js-Crk8ri1u.js.map → motion.svelte.js-DB7vkWmD.js.map} +1 -1
- package/build/server/chunks/chunks/{occlusion.js-ot9_OqWn.js → occlusion.js-DtcqoJjc.js} +2 -2
- package/build/server/chunks/chunks/{occlusion.js-ot9_OqWn.js.map → occlusion.js-DtcqoJjc.js.map} +1 -1
- package/build/server/chunks/chunks/{path2.js-DLVU8nc9.js → path2.js-B3tNByoS.js} +2 -2
- package/build/server/chunks/chunks/{path2.js-DLVU8nc9.js.map → path2.js-B3tNByoS.js.map} +1 -1
- package/build/server/chunks/chunks/{rect.svelte.js-_0PgI5fe.js → rect.svelte.js-C6R1SgCx.js} +4 -4
- package/build/server/chunks/chunks/{rect.svelte.js-_0PgI5fe.js.map → rect.svelte.js-C6R1SgCx.js.map} +1 -1
- package/build/server/chunks/chunks/{scales.svelte.js-DeNkKcI-.js → scales.svelte.js-C4lRvUAb.js} +4 -4
- package/build/server/chunks/chunks/{scales.svelte.js-DeNkKcI-.js.map → scales.svelte.js-C4lRvUAb.js.map} +1 -1
- package/build/server/chunks/chunks/{state.js-i-NVNGIq.js → state.js-qsHzjuJU.js} +3 -3
- package/build/server/chunks/chunks/{state.js-i-NVNGIq.js.map → state.js-qsHzjuJU.js.map} +1 -1
- package/build/server/chunks/chunks/text-size.svelte.js-CqGaHRr3.js +310 -0
- package/build/server/chunks/chunks/text-size.svelte.js-CqGaHRr3.js.map +1 -0
- package/build/server/chunks/chunks/{time-range.js-BLMT8aU3.js → time-range.js-__87ZPq6.js} +10 -5
- package/build/server/chunks/chunks/time-range.js-__87ZPq6.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/archive/{_server.ts.js-C4hWyXuu.js → _server.ts.js-C6WY-ljy.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/archive/{_server.ts.js-C4hWyXuu.js.map → _server.ts.js-C6WY-ljy.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/log-groups/{_server.ts.js-D4y43Vwe.js → _server.ts.js-DTcVSbpV.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/log-groups/{_server.ts.js-D4y43Vwe.js.map → _server.ts.js-DTcVSbpV.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/series/{_server.ts.js-DibT3Hjc.js → _server.ts.js-CzJ_bXh8.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/series/{_server.ts.js-DibT3Hjc.js.map → _server.ts.js-CzJ_bXh8.js.map} +1 -1
- package/build/server/chunks/entries/endpoints/api/stream/{_server.ts.js-BxXw5K0R.js → _server.ts.js-U2naV16N.js} +211 -48
- package/build/server/chunks/entries/endpoints/api/stream/_server.ts.js-U2naV16N.js.map +1 -0
- package/build/server/chunks/entries/fallbacks/{error.svelte.js-ylsqA41Y.js → error.svelte.js-ClTGKP0-.js} +6 -6
- package/build/server/chunks/entries/fallbacks/{error.svelte.js-ylsqA41Y.js.map → error.svelte.js-ClTGKP0-.js.map} +1 -1
- package/build/server/chunks/entries/pages/_layout.svelte.js-DNuWb03K.js +622 -0
- package/build/server/chunks/entries/pages/_layout.svelte.js-DNuWb03K.js.map +1 -0
- package/build/server/chunks/entries/pages/{_page.svelte.js-C9-7d7mD.js → _page.svelte.js-CVlL2UsO.js} +329 -188
- package/build/server/chunks/entries/pages/_page.svelte.js-CVlL2UsO.js.map +1 -0
- package/build/server/chunks/{handler-Bqo8aDgP.js → handler-CrpvMheE.js} +3 -3
- package/build/server/chunks/{handler-Bqo8aDgP.js.map → handler-CrpvMheE.js.map} +1 -1
- package/build/server/chunks/{index.js-fPvMujCL.js → index.js-9Dk7Q13E.js} +3 -3
- package/build/server/chunks/{index.js-fPvMujCL.js.map → index.js-9Dk7Q13E.js.map} +1 -1
- package/build/server/chunks/{manifest.js-Bkj-8GaD.js → manifest.js-DIaODzKX.js} +9 -9
- package/build/server/chunks/{manifest.js-Bkj-8GaD.js.map → manifest.js-DIaODzKX.js.map} +1 -1
- package/build/server/chunks/nodes/0.js-CQ960AOW.js +9 -0
- package/build/server/chunks/nodes/0.js-CQ960AOW.js.map +1 -0
- package/build/server/chunks/nodes/1.js-CtTei4sV.js +9 -0
- package/build/server/chunks/nodes/{1.js-DZXnUx67.js.map → 1.js-CtTei4sV.js.map} +1 -1
- package/build/server/chunks/nodes/2.js-BbKDb_M6.js +9 -0
- package/build/server/chunks/nodes/2.js-BbKDb_M6.js.map +1 -0
- package/dist/cli/completions.js +24 -0
- package/dist/cli/index.js +144 -3
- package/dist/cli/mcp/agents.js +344 -0
- package/dist/cli/mcp/backend.js +235 -0
- package/dist/cli/mcp/run.js +245 -0
- package/dist/cli/mcp/stdio.js +103 -0
- package/dist/cli/mcp/tools.js +245 -0
- package/dist/cli/options.js +138 -25
- package/dist/cli/server.js +28 -0
- package/dist/cli/ui.js +20 -1
- package/dist/lib/time-range.js +14 -3
- package/package.json +8 -2
- package/build/client/_app/immutable/assets/0.ChTKqSf6.css +0 -2
- package/build/client/_app/immutable/assets/0.ChTKqSf6.css.br +0 -0
- package/build/client/_app/immutable/assets/0.ChTKqSf6.css.gz +0 -0
- package/build/client/_app/immutable/chunks/0b2v80OK.js.br +0 -0
- package/build/client/_app/immutable/chunks/0b2v80OK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/5EFAIHuJ.js +0 -1
- package/build/client/_app/immutable/chunks/5EFAIHuJ.js.br +0 -0
- package/build/client/_app/immutable/chunks/5EFAIHuJ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B15XBe8D.js +0 -1
- package/build/client/_app/immutable/chunks/B15XBe8D.js.br +0 -0
- package/build/client/_app/immutable/chunks/B15XBe8D.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B5RiPG8Z.js.br +0 -2
- package/build/client/_app/immutable/chunks/B5RiPG8Z.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B_KVdCQT.js +0 -10
- package/build/client/_app/immutable/chunks/B_KVdCQT.js.br +0 -0
- package/build/client/_app/immutable/chunks/B_KVdCQT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BuCpRsEL.js +0 -1
- package/build/client/_app/immutable/chunks/BuCpRsEL.js.br +0 -0
- package/build/client/_app/immutable/chunks/BuCpRsEL.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BvZtsVvW.js +0 -1
- package/build/client/_app/immutable/chunks/BvZtsVvW.js.br +0 -0
- package/build/client/_app/immutable/chunks/BvZtsVvW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C3Y15ONf.js +0 -2
- package/build/client/_app/immutable/chunks/C3Y15ONf.js.br +0 -0
- package/build/client/_app/immutable/chunks/C3Y15ONf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C9GPQYs7.js +0 -1
- package/build/client/_app/immutable/chunks/C9GPQYs7.js.br +0 -0
- package/build/client/_app/immutable/chunks/C9GPQYs7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C_U_Jvk5.js.br +0 -0
- package/build/client/_app/immutable/chunks/C_U_Jvk5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cd7JqZj9.js +0 -1
- package/build/client/_app/immutable/chunks/Cd7JqZj9.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cd7JqZj9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D2PbcyDU.js +0 -1
- package/build/client/_app/immutable/chunks/D2PbcyDU.js.br +0 -0
- package/build/client/_app/immutable/chunks/D2PbcyDU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D7vimbmk.js.br +0 -0
- package/build/client/_app/immutable/chunks/D7vimbmk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DAqXSYzi.js +0 -1
- package/build/client/_app/immutable/chunks/DAqXSYzi.js.br +0 -0
- package/build/client/_app/immutable/chunks/DAqXSYzi.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DGYKsRyW.js.br +0 -0
- package/build/client/_app/immutable/chunks/DGYKsRyW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DPaulGql.js +0 -1
- package/build/client/_app/immutable/chunks/DPaulGql.js.br +0 -1
- package/build/client/_app/immutable/chunks/DPaulGql.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DQqLOGLe.js.br +0 -0
- package/build/client/_app/immutable/chunks/DQqLOGLe.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DS3cLPAu.js.br +0 -0
- package/build/client/_app/immutable/chunks/DS3cLPAu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dkh4Dwm8.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dkh4Dwm8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DnqfXHAL.js +0 -15
- package/build/client/_app/immutable/chunks/DnqfXHAL.js.br +0 -0
- package/build/client/_app/immutable/chunks/DnqfXHAL.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DsYron7_.js +0 -1
- package/build/client/_app/immutable/chunks/DsYron7_.js.br +0 -0
- package/build/client/_app/immutable/chunks/DsYron7_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DuM1cPdZ.js +0 -1
- package/build/client/_app/immutable/chunks/DuM1cPdZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/DuM1cPdZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DvxMaQv_.js.br +0 -0
- package/build/client/_app/immutable/chunks/DvxMaQv_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DwOZdLDj.js.br +0 -0
- package/build/client/_app/immutable/chunks/DwOZdLDj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/IlwbfbOu.js.br +0 -0
- package/build/client/_app/immutable/chunks/IlwbfbOu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/aI_O2VuQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/aI_O2VuQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/b77-bq1n.js.br +0 -0
- package/build/client/_app/immutable/chunks/b77-bq1n.js.gz +0 -0
- package/build/client/_app/immutable/chunks/dqF8mxBW.js.br +0 -0
- package/build/client/_app/immutable/chunks/dqF8mxBW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/gkAHSOnS.js +0 -1
- package/build/client/_app/immutable/chunks/gkAHSOnS.js.br +0 -0
- package/build/client/_app/immutable/chunks/gkAHSOnS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/pqiPC7Y8.js +0 -3
- package/build/client/_app/immutable/chunks/pqiPC7Y8.js.br +0 -0
- package/build/client/_app/immutable/chunks/pqiPC7Y8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ti8ecMFX.js +0 -1
- package/build/client/_app/immutable/chunks/ti8ecMFX.js.br +0 -0
- package/build/client/_app/immutable/chunks/ti8ecMFX.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CTR4aUFT.js +0 -2
- package/build/client/_app/immutable/entry/app.CTR4aUFT.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CTR4aUFT.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CC6Ln8E2.js +0 -1
- package/build/client/_app/immutable/entry/start.CC6Ln8E2.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CC6Ln8E2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.CvUxmLsM.js +0 -1
- package/build/client/_app/immutable/nodes/0.CvUxmLsM.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.CvUxmLsM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CbSHqfEx.js +0 -1
- package/build/client/_app/immutable/nodes/1.CbSHqfEx.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CbSHqfEx.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DcD5v8dU.js +0 -5
- package/build/client/_app/immutable/nodes/2.DcD5v8dU.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DcD5v8dU.js.gz +0 -0
- package/build/server/chunks/chunks/Points.js-D7ozN9W5.js +0 -14
- package/build/server/chunks/chunks/Points.js-D7ozN9W5.js.map +0 -1
- package/build/server/chunks/chunks/archive.js-D2jtMmDo.js.map +0 -1
- package/build/server/chunks/chunks/index-server.js-CtH9Hqwf.js.map +0 -1
- package/build/server/chunks/chunks/legacy-client.js-DAqKExQD.js.map +0 -1
- package/build/server/chunks/chunks/time-range.js-BLMT8aU3.js.map +0 -1
- package/build/server/chunks/entries/endpoints/api/stream/_server.ts.js-BxXw5K0R.js.map +0 -1
- package/build/server/chunks/entries/pages/_layout.svelte.js-D7sAdBVX.js +0 -113
- package/build/server/chunks/entries/pages/_layout.svelte.js-D7sAdBVX.js.map +0 -1
- package/build/server/chunks/entries/pages/_page.svelte.js-C9-7d7mD.js.map +0 -1
- package/build/server/chunks/nodes/0.js-7J6kXnEo.js +0 -9
- package/build/server/chunks/nodes/0.js-7J6kXnEo.js.map +0 -1
- package/build/server/chunks/nodes/1.js-DZXnUx67.js +0 -9
- package/build/server/chunks/nodes/2.js-85y9-1SS.js +0 -9
- package/build/server/chunks/nodes/2.js-85y9-1SS.js.map +0 -1
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import { a5 as attributes, a6 as ensure_array_like, a7 as element, a8 as getContext, a1 as derived, a9 as fallback, aa as to_array } from './index-server.js-Dsi44azJ.js';
|
|
2
|
+
|
|
3
|
+
//#region src/lib/puppy-slots.ts
|
|
4
|
+
/**
|
|
5
|
+
* Where the puppy companion can sit: one of the four screen corners.
|
|
6
|
+
*
|
|
7
|
+
* Pure geometry, so the drag-and-snap behaviour can be tested without a DOM:
|
|
8
|
+
* where each slot puts the puppy, which slot a drop lands in, and where the
|
|
9
|
+
* arrow keys send it.
|
|
10
|
+
*/
|
|
11
|
+
var PUPPY_SLOTS = [
|
|
12
|
+
"top-left",
|
|
13
|
+
"top-right",
|
|
14
|
+
"bottom-left",
|
|
15
|
+
"bottom-right"
|
|
16
|
+
];
|
|
17
|
+
var DEFAULT_PUPPY_SLOT = "bottom-right";
|
|
18
|
+
var PUPPY_SLOT_STORAGE_KEY = "watch-tail:puppy-slot";
|
|
19
|
+
/** Reads a stored slot, falling back to the default for anything unknown. */
|
|
20
|
+
function parsePuppySlot(value) {
|
|
21
|
+
return PUPPY_SLOTS.find((slot) => slot === value) ?? "bottom-right";
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Top-left corner of the puppy in a slot. `margin` keeps it off the edges and
|
|
25
|
+
* `top` is the space reserved above it (the header), so the top slots never
|
|
26
|
+
* cover the header controls.
|
|
27
|
+
*/
|
|
28
|
+
function slotPosition(slot, viewport, puppy, insets) {
|
|
29
|
+
const left = slot.endsWith("left");
|
|
30
|
+
const upper = slot.startsWith("top");
|
|
31
|
+
return {
|
|
32
|
+
x: left ? insets.margin : Math.max(insets.margin, viewport.width - puppy.width - insets.margin),
|
|
33
|
+
y: upper ? insets.top + insets.margin : Math.max(insets.top + insets.margin, viewport.height - puppy.height - insets.margin)
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/lib/puppy.svelte.ts
|
|
38
|
+
var PuppyCompanion = class {
|
|
39
|
+
/** True while the puppy is on screen. */
|
|
40
|
+
shown = false;
|
|
41
|
+
/** Bumped on every wag; the puppy starts a short burst of wagging each time it changes. */
|
|
42
|
+
pulse = 0;
|
|
43
|
+
/** Bumped when the puppy is clicked; each change starts an excited burst of wagging. */
|
|
44
|
+
excitement = 0;
|
|
45
|
+
/** The screen corner the puppy sits in. */
|
|
46
|
+
slot = DEFAULT_PUPPY_SLOT;
|
|
47
|
+
/** Reads the remembered corner; call once on the client. */
|
|
48
|
+
restore() {
|
|
49
|
+
try {
|
|
50
|
+
this.slot = parsePuppySlot(localStorage.getItem(PUPPY_SLOT_STORAGE_KEY));
|
|
51
|
+
} catch {}
|
|
52
|
+
}
|
|
53
|
+
/** Moves the puppy to a corner and remembers it. */
|
|
54
|
+
moveTo(slot) {
|
|
55
|
+
this.slot = slot;
|
|
56
|
+
try {
|
|
57
|
+
localStorage.setItem(PUPPY_SLOT_STORAGE_KEY, slot);
|
|
58
|
+
} catch {}
|
|
59
|
+
}
|
|
60
|
+
/** Shows the puppy, or sends it away again. */
|
|
61
|
+
toggle() {
|
|
62
|
+
this.shown = !this.shown;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Asks for a burst of wagging. A no-op while the puppy is hidden. Callers inside
|
|
66
|
+
* an `$effect` must wrap this in `untrack`, since it reads and writes `pulse`.
|
|
67
|
+
*/
|
|
68
|
+
wag() {
|
|
69
|
+
if (this.shown) this.pulse += 1;
|
|
70
|
+
}
|
|
71
|
+
/** Asks for an excited burst: faster, wider and longer. A no-op while hidden. */
|
|
72
|
+
excite() {
|
|
73
|
+
if (this.shown) this.excitement += 1;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
/** One companion per page: the header, the layout and the panels all share it. */
|
|
77
|
+
var puppy = new PuppyCompanion();
|
|
78
|
+
//#endregion
|
|
79
|
+
//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/utils/defaultAttributes.js
|
|
80
|
+
/**
|
|
81
|
+
* @file
|
|
82
|
+
* @license @lucide/svelte v1.47.0 - ISC
|
|
83
|
+
*
|
|
84
|
+
* This source code is licensed under the ISC license.
|
|
85
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
86
|
+
*/
|
|
87
|
+
var defaultAttributes = {
|
|
88
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
89
|
+
width: 24,
|
|
90
|
+
height: 24,
|
|
91
|
+
viewBox: "0 0 24 24",
|
|
92
|
+
fill: "none",
|
|
93
|
+
stroke: "currentColor",
|
|
94
|
+
"stroke-width": 2,
|
|
95
|
+
"stroke-linecap": "round",
|
|
96
|
+
"stroke-linejoin": "round"
|
|
97
|
+
};
|
|
98
|
+
//#endregion
|
|
99
|
+
//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/utils/mergeClasses.js
|
|
100
|
+
/**
|
|
101
|
+
* @file
|
|
102
|
+
* @license @lucide/svelte v1.47.0 - ISC
|
|
103
|
+
*
|
|
104
|
+
* This source code is licensed under the ISC license.
|
|
105
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
106
|
+
*/
|
|
107
|
+
/**
|
|
108
|
+
* Merges classes into a single string
|
|
109
|
+
*
|
|
110
|
+
* @param {array} classes
|
|
111
|
+
* @returns {string} A string of classes
|
|
112
|
+
*/
|
|
113
|
+
var mergeClasses = (...classes) => classes.filter((className, index, array) => {
|
|
114
|
+
return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
|
|
115
|
+
}).join(" ").trim();
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/utils/buildLucideIconNode.js
|
|
118
|
+
/**
|
|
119
|
+
* @file
|
|
120
|
+
* @license @lucide/svelte v1.47.0 - ISC
|
|
121
|
+
*
|
|
122
|
+
* This source code is licensed under the ISC license.
|
|
123
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
124
|
+
*/
|
|
125
|
+
function isDefined(value) {
|
|
126
|
+
return value !== null && value !== void 0;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Creates a Lucide icon node (an svgson-like format) from a Lucide icon object.
|
|
130
|
+
*
|
|
131
|
+
* @param icon The icon to build.
|
|
132
|
+
* @param params Additional build parameters.
|
|
133
|
+
*/
|
|
134
|
+
function buildLucideIconNode(icon, params = {}) {
|
|
135
|
+
const attributeNames = params.attributeNames ?? {};
|
|
136
|
+
const getAttributeName = (attributeName) => attributeNames[attributeName] ?? attributeName;
|
|
137
|
+
const viewBoxWidth = icon.size ?? icon.width ?? defaultAttributes["width"];
|
|
138
|
+
const viewBoxHeight = icon.size ?? icon.height ?? defaultAttributes["height"];
|
|
139
|
+
const aliasClassNames = icon.aliases?.filter((alias) => typeof alias === "string" && alias.trim() !== "").map((alias) => `lucide-${alias}`) ?? [];
|
|
140
|
+
const iconClassNames = [...icon.name ? [`lucide-${icon.name}`] : [], ...aliasClassNames];
|
|
141
|
+
const classNamesFromClassName = params.className?.split(" ").filter(Boolean) ?? [];
|
|
142
|
+
const className = params.includeDefaultClasses === false ? mergeClasses(...classNamesFromClassName) : mergeClasses("lucide", ...iconClassNames, ...classNamesFromClassName);
|
|
143
|
+
const calculatedStrokeWidth = params.absoluteStrokeWidth ? Number(params.strokeWidth ?? defaultAttributes["stroke-width"]) * Number(icon.size ?? icon.width ?? defaultAttributes["width"]) / Number(params.size ?? params.width ?? defaultAttributes["width"]) : params.strokeWidth ?? defaultAttributes["stroke-width"];
|
|
144
|
+
return [
|
|
145
|
+
"svg",
|
|
146
|
+
{
|
|
147
|
+
...Object.entries(defaultAttributes).reduce((attrs, [attrName, value]) => {
|
|
148
|
+
attrs[getAttributeName(attrName)] = value;
|
|
149
|
+
return attrs;
|
|
150
|
+
}, {}),
|
|
151
|
+
..."color" in params && params.color && { [getAttributeName("stroke")]: params.color },
|
|
152
|
+
..."size" in params && isDefined(params.size) && {
|
|
153
|
+
[getAttributeName("width")]: params.size,
|
|
154
|
+
[getAttributeName("height")]: params.size
|
|
155
|
+
},
|
|
156
|
+
..."width" in params && isDefined(params.width) && { [getAttributeName("width")]: params.width },
|
|
157
|
+
..."height" in params && isDefined(params.height) && { [getAttributeName("height")]: params.height },
|
|
158
|
+
[getAttributeName("stroke-width")]: calculatedStrokeWidth,
|
|
159
|
+
...className && { [getAttributeName("class")]: className },
|
|
160
|
+
[getAttributeName("viewBox")]: `0 0 ${viewBoxWidth} ${viewBoxHeight}`,
|
|
161
|
+
...params.hasA11yProp === false ? { [getAttributeName("aria-hidden")]: "true" } : {},
|
|
162
|
+
..."attributes" in params && params.attributes
|
|
163
|
+
},
|
|
164
|
+
icon.node.map((child) => {
|
|
165
|
+
const [name, attrs, children] = child;
|
|
166
|
+
const nextAttrs = params.nonScalingStroke ? {
|
|
167
|
+
[getAttributeName("vector-effect")]: "non-scaling-stroke",
|
|
168
|
+
...attrs
|
|
169
|
+
} : attrs;
|
|
170
|
+
return children ? [
|
|
171
|
+
name,
|
|
172
|
+
nextAttrs,
|
|
173
|
+
children
|
|
174
|
+
] : [name, nextAttrs];
|
|
175
|
+
})
|
|
176
|
+
];
|
|
177
|
+
}
|
|
178
|
+
//#endregion
|
|
179
|
+
//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/utils/hasA11yProp.js
|
|
180
|
+
/**
|
|
181
|
+
* @file
|
|
182
|
+
* @license @lucide/svelte v1.47.0 - ISC
|
|
183
|
+
*
|
|
184
|
+
* This source code is licensed under the ISC license.
|
|
185
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
186
|
+
*/
|
|
187
|
+
/**
|
|
188
|
+
* Check if a component has an accessibility prop
|
|
189
|
+
*
|
|
190
|
+
* @param {object} props
|
|
191
|
+
* @returns {boolean} Whether the component has an accessibility prop
|
|
192
|
+
*/
|
|
193
|
+
var hasA11yProp = (props) => {
|
|
194
|
+
for (const prop in props) if (prop.startsWith("aria-") || prop === "role" || prop === "title") return true;
|
|
195
|
+
return false;
|
|
196
|
+
};
|
|
197
|
+
//#endregion
|
|
198
|
+
//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/context.js
|
|
199
|
+
/**
|
|
200
|
+
* @file
|
|
201
|
+
* @license @lucide/svelte v1.47.0 - ISC
|
|
202
|
+
*
|
|
203
|
+
* This source code is licensed under the ISC license.
|
|
204
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
205
|
+
*/
|
|
206
|
+
var LucideContext = Symbol("lucide-context");
|
|
207
|
+
var getLucideContext = () => getContext(LucideContext);
|
|
208
|
+
//#endregion
|
|
209
|
+
//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/Icon.svelte
|
|
210
|
+
function Icon($$renderer, $$props) {
|
|
211
|
+
$$renderer.component(($$renderer) => {
|
|
212
|
+
const globalProps = getLucideContext() ?? {};
|
|
213
|
+
const { color = globalProps.color ?? "currentColor", size = globalProps.size ?? 24, width = size, height = size, strokeWidth = globalProps.strokeWidth ?? 2, absoluteStrokeWidth = globalProps.absoluteStrokeWidth ?? false, nonScalingStroke = globalProps.nonScalingStroke ?? false, iconNode = [], icon = {
|
|
214
|
+
node: iconNode,
|
|
215
|
+
aliases: [],
|
|
216
|
+
size: 24
|
|
217
|
+
}, class: propsClass, children, $$slots, $$events, ...props } = $$props;
|
|
218
|
+
const hasAccessibleProp = derived(() => Boolean(children) || hasA11yProp(props));
|
|
219
|
+
const $$d = derived(() => buildLucideIconNode(icon, {
|
|
220
|
+
color,
|
|
221
|
+
width,
|
|
222
|
+
height,
|
|
223
|
+
strokeWidth,
|
|
224
|
+
absoluteStrokeWidth,
|
|
225
|
+
nonScalingStroke,
|
|
226
|
+
className: mergeClasses("lucide-icon", globalProps.class),
|
|
227
|
+
hasA11yProp: hasAccessibleProp(),
|
|
228
|
+
attributes: props
|
|
229
|
+
})), $$derived_array = derived(() => to_array($$d(), 3)), svgAttributes = derived(() => $$derived_array()[1]), builtIconNode = derived(() => fallback($$derived_array()[2], () => [], true));
|
|
230
|
+
const iconAttributes = derived(() => ({
|
|
231
|
+
...svgAttributes(),
|
|
232
|
+
class: [...svgAttributes().class.split(" "), propsClass]
|
|
233
|
+
}));
|
|
234
|
+
$$renderer.push(`<svg${attributes({ ...iconAttributes() }, void 0, void 0, void 0, 3)}><!--[-->`);
|
|
235
|
+
const each_array = ensure_array_like(builtIconNode());
|
|
236
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
237
|
+
let [tag, attrs] = each_array[$$index];
|
|
238
|
+
element($$renderer, tag, () => {
|
|
239
|
+
$$renderer.push(`${attributes({ ...attrs }, void 0, void 0, void 0, 3)}`);
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
$$renderer.push(`<!--]-->`);
|
|
243
|
+
children?.($$renderer);
|
|
244
|
+
$$renderer.push(`<!----></svg>`);
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
//#endregion
|
|
248
|
+
//#region src/lib/text-size.ts
|
|
249
|
+
/**
|
|
250
|
+
* Text sizes offered in the header, for readers who need the interface larger.
|
|
251
|
+
*
|
|
252
|
+
* The actual font sizes live in `text-size.css`: they scale the root element so
|
|
253
|
+
* every rem-based size follows together. Keeping only the ids and labels here
|
|
254
|
+
* leaves one source of truth for what each option looks like.
|
|
255
|
+
*/
|
|
256
|
+
var TEXT_SIZES = [
|
|
257
|
+
{
|
|
258
|
+
id: "small",
|
|
259
|
+
name: "Small"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
id: "default",
|
|
263
|
+
name: "Default"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
id: "large",
|
|
267
|
+
name: "Large"
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
id: "xlarge",
|
|
271
|
+
name: "Extra large"
|
|
272
|
+
}
|
|
273
|
+
];
|
|
274
|
+
var TEXT_SIZE_STORAGE_KEY = "watch-tail:text-size";
|
|
275
|
+
/** Unknown or obsolete preferences fall back to Default. */
|
|
276
|
+
function parseTextSize(value) {
|
|
277
|
+
return TEXT_SIZES.find((size) => size.id === value)?.id ?? "default";
|
|
278
|
+
}
|
|
279
|
+
//#endregion
|
|
280
|
+
//#region src/lib/text-size.svelte.ts
|
|
281
|
+
var BASE_ROOT_FONT_PX = 16;
|
|
282
|
+
function measureRootFontPx() {
|
|
283
|
+
const measured = Number.parseFloat(getComputedStyle(document.documentElement).fontSize);
|
|
284
|
+
return Number.isFinite(measured) && measured > 0 ? measured : BASE_ROOT_FONT_PX;
|
|
285
|
+
}
|
|
286
|
+
var TextSizePreference = class {
|
|
287
|
+
/** Root font size in pixels: 16 until a size is applied on the client. */
|
|
288
|
+
rootFontPx = BASE_ROOT_FONT_PX;
|
|
289
|
+
/**
|
|
290
|
+
* Applies a text size. The data attribute drives the stylesheet and the
|
|
291
|
+
* measured root font size keeps the pixel maths in step; the choice is
|
|
292
|
+
* persisted unless `persist` is false.
|
|
293
|
+
*/
|
|
294
|
+
apply(value, persist = true) {
|
|
295
|
+
const id = parseTextSize(value);
|
|
296
|
+
if (typeof document !== "undefined") {
|
|
297
|
+
document.documentElement.dataset.textSize = id;
|
|
298
|
+
this.rootFontPx = measureRootFontPx();
|
|
299
|
+
}
|
|
300
|
+
if (!persist) return;
|
|
301
|
+
try {
|
|
302
|
+
localStorage.setItem(TEXT_SIZE_STORAGE_KEY, id);
|
|
303
|
+
} catch {}
|
|
304
|
+
}
|
|
305
|
+
};
|
|
306
|
+
/** One preference per page: the header select and the viewer both read it. */
|
|
307
|
+
var textSize = new TextSizePreference();
|
|
308
|
+
|
|
309
|
+
export { Icon as I, TEXT_SIZES as T, parseTextSize as a, puppy as p, slotPosition as s, textSize as t };
|
|
310
|
+
//# sourceMappingURL=text-size.svelte.js-CqGaHRr3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-size.svelte.js-CqGaHRr3.js","sources":["../../../../.svelte-kit/output/server/chunks/text-size.svelte.js"],"sourcesContent":["import { Bt as to_array, It as fallback, a as attributes, c as derived, g as getContext, l as element, u as ensure_array_like } from \"./index-server.js\";\n//#region src/lib/puppy-slots.ts\n/**\n* Where the puppy companion can sit: one of the four screen corners.\n*\n* Pure geometry, so the drag-and-snap behaviour can be tested without a DOM:\n* where each slot puts the puppy, which slot a drop lands in, and where the\n* arrow keys send it.\n*/\nvar PUPPY_SLOTS = [\n\t\"top-left\",\n\t\"top-right\",\n\t\"bottom-left\",\n\t\"bottom-right\"\n];\nvar DEFAULT_PUPPY_SLOT = \"bottom-right\";\nvar PUPPY_SLOT_STORAGE_KEY = \"watch-tail:puppy-slot\";\n/** Reads a stored slot, falling back to the default for anything unknown. */\nfunction parsePuppySlot(value) {\n\treturn PUPPY_SLOTS.find((slot) => slot === value) ?? \"bottom-right\";\n}\n/**\n* Top-left corner of the puppy in a slot. `margin` keeps it off the edges and\n* `top` is the space reserved above it (the header), so the top slots never\n* cover the header controls.\n*/\nfunction slotPosition(slot, viewport, puppy, insets) {\n\tconst left = slot.endsWith(\"left\");\n\tconst upper = slot.startsWith(\"top\");\n\treturn {\n\t\tx: left ? insets.margin : Math.max(insets.margin, viewport.width - puppy.width - insets.margin),\n\t\ty: upper ? insets.top + insets.margin : Math.max(insets.top + insets.margin, viewport.height - puppy.height - insets.margin)\n\t};\n}\n//#endregion\n//#region src/lib/puppy.svelte.ts\nvar PuppyCompanion = class {\n\t/** True while the puppy is on screen. */\n\tshown = false;\n\t/** Bumped on every wag; the puppy starts a short burst of wagging each time it changes. */\n\tpulse = 0;\n\t/** Bumped when the puppy is clicked; each change starts an excited burst of wagging. */\n\texcitement = 0;\n\t/** The screen corner the puppy sits in. */\n\tslot = DEFAULT_PUPPY_SLOT;\n\t/** Reads the remembered corner; call once on the client. */\n\trestore() {\n\t\ttry {\n\t\t\tthis.slot = parsePuppySlot(localStorage.getItem(PUPPY_SLOT_STORAGE_KEY));\n\t\t} catch {}\n\t}\n\t/** Moves the puppy to a corner and remembers it. */\n\tmoveTo(slot) {\n\t\tthis.slot = slot;\n\t\ttry {\n\t\t\tlocalStorage.setItem(PUPPY_SLOT_STORAGE_KEY, slot);\n\t\t} catch {}\n\t}\n\t/** Shows the puppy, or sends it away again. */\n\ttoggle() {\n\t\tthis.shown = !this.shown;\n\t}\n\t/**\n\t* Asks for a burst of wagging. A no-op while the puppy is hidden. Callers inside\n\t* an `$effect` must wrap this in `untrack`, since it reads and writes `pulse`.\n\t*/\n\twag() {\n\t\tif (this.shown) this.pulse += 1;\n\t}\n\t/** Asks for an excited burst: faster, wider and longer. A no-op while hidden. */\n\texcite() {\n\t\tif (this.shown) this.excitement += 1;\n\t}\n};\n/** One companion per page: the header, the layout and the panels all share it. */\nvar puppy = new PuppyCompanion();\n//#endregion\n//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/utils/defaultAttributes.js\n/**\n* @file\n* @license @lucide/svelte v1.47.0 - ISC\n*\n* This source code is licensed under the ISC license.\n* See the LICENSE file in the root directory of this source tree.\n*/\nvar defaultAttributes = {\n\txmlns: \"http://www.w3.org/2000/svg\",\n\twidth: 24,\n\theight: 24,\n\tviewBox: \"0 0 24 24\",\n\tfill: \"none\",\n\tstroke: \"currentColor\",\n\t\"stroke-width\": 2,\n\t\"stroke-linecap\": \"round\",\n\t\"stroke-linejoin\": \"round\"\n};\n//#endregion\n//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/utils/mergeClasses.js\n/**\n* @file\n* @license @lucide/svelte v1.47.0 - ISC\n*\n* This source code is licensed under the ISC license.\n* See the LICENSE file in the root directory of this source tree.\n*/\n/**\n* Merges classes into a single string\n*\n* @param {array} classes\n* @returns {string} A string of classes\n*/\nvar mergeClasses = (...classes) => classes.filter((className, index, array) => {\n\treturn Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\n//#endregion\n//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/utils/buildLucideIconNode.js\n/**\n* @file\n* @license @lucide/svelte v1.47.0 - ISC\n*\n* This source code is licensed under the ISC license.\n* See the LICENSE file in the root directory of this source tree.\n*/\nfunction isDefined(value) {\n\treturn value !== null && value !== void 0;\n}\n/**\n* Creates a Lucide icon node (an svgson-like format) from a Lucide icon object.\n*\n* @param icon The icon to build.\n* @param params Additional build parameters.\n*/\nfunction buildLucideIconNode(icon, params = {}) {\n\tconst attributeNames = params.attributeNames ?? {};\n\tconst getAttributeName = (attributeName) => attributeNames[attributeName] ?? attributeName;\n\tconst viewBoxWidth = icon.size ?? icon.width ?? defaultAttributes[\"width\"];\n\tconst viewBoxHeight = icon.size ?? icon.height ?? defaultAttributes[\"height\"];\n\tconst aliasClassNames = icon.aliases?.filter((alias) => typeof alias === \"string\" && alias.trim() !== \"\").map((alias) => `lucide-${alias}`) ?? [];\n\tconst iconClassNames = [...icon.name ? [`lucide-${icon.name}`] : [], ...aliasClassNames];\n\tconst classNamesFromClassName = params.className?.split(\" \").filter(Boolean) ?? [];\n\tconst className = params.includeDefaultClasses === false ? mergeClasses(...classNamesFromClassName) : mergeClasses(\"lucide\", ...iconClassNames, ...classNamesFromClassName);\n\tconst calculatedStrokeWidth = params.absoluteStrokeWidth ? Number(params.strokeWidth ?? defaultAttributes[\"stroke-width\"]) * Number(icon.size ?? icon.width ?? defaultAttributes[\"width\"]) / Number(params.size ?? params.width ?? defaultAttributes[\"width\"]) : params.strokeWidth ?? defaultAttributes[\"stroke-width\"];\n\treturn [\n\t\t\"svg\",\n\t\t{\n\t\t\t...Object.entries(defaultAttributes).reduce((attrs, [attrName, value]) => {\n\t\t\t\tattrs[getAttributeName(attrName)] = value;\n\t\t\t\treturn attrs;\n\t\t\t}, {}),\n\t\t\t...\"color\" in params && params.color && { [getAttributeName(\"stroke\")]: params.color },\n\t\t\t...\"size\" in params && isDefined(params.size) && {\n\t\t\t\t[getAttributeName(\"width\")]: params.size,\n\t\t\t\t[getAttributeName(\"height\")]: params.size\n\t\t\t},\n\t\t\t...\"width\" in params && isDefined(params.width) && { [getAttributeName(\"width\")]: params.width },\n\t\t\t...\"height\" in params && isDefined(params.height) && { [getAttributeName(\"height\")]: params.height },\n\t\t\t[getAttributeName(\"stroke-width\")]: calculatedStrokeWidth,\n\t\t\t...className && { [getAttributeName(\"class\")]: className },\n\t\t\t[getAttributeName(\"viewBox\")]: `0 0 ${viewBoxWidth} ${viewBoxHeight}`,\n\t\t\t...params.hasA11yProp === false ? { [getAttributeName(\"aria-hidden\")]: \"true\" } : {},\n\t\t\t...\"attributes\" in params && params.attributes\n\t\t},\n\t\ticon.node.map((child) => {\n\t\t\tconst [name, attrs, children] = child;\n\t\t\tconst nextAttrs = params.nonScalingStroke ? {\n\t\t\t\t[getAttributeName(\"vector-effect\")]: \"non-scaling-stroke\",\n\t\t\t\t...attrs\n\t\t\t} : attrs;\n\t\t\treturn children ? [\n\t\t\t\tname,\n\t\t\t\tnextAttrs,\n\t\t\t\tchildren\n\t\t\t] : [name, nextAttrs];\n\t\t})\n\t];\n}\n//#endregion\n//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/utils/hasA11yProp.js\n/**\n* @file\n* @license @lucide/svelte v1.47.0 - ISC\n*\n* This source code is licensed under the ISC license.\n* See the LICENSE file in the root directory of this source tree.\n*/\n/**\n* Check if a component has an accessibility prop\n*\n* @param {object} props\n* @returns {boolean} Whether the component has an accessibility prop\n*/\nvar hasA11yProp = (props) => {\n\tfor (const prop in props) if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") return true;\n\treturn false;\n};\n//#endregion\n//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/context.js\n/**\n* @file\n* @license @lucide/svelte v1.47.0 - ISC\n*\n* This source code is licensed under the ISC license.\n* See the LICENSE file in the root directory of this source tree.\n*/\nvar LucideContext = Symbol(\"lucide-context\");\nvar getLucideContext = () => getContext(LucideContext);\n//#endregion\n//#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/Icon.svelte\nfunction Icon($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst globalProps = getLucideContext() ?? {};\n\t\tconst { color = globalProps.color ?? \"currentColor\", size = globalProps.size ?? 24, width = size, height = size, strokeWidth = globalProps.strokeWidth ?? 2, absoluteStrokeWidth = globalProps.absoluteStrokeWidth ?? false, nonScalingStroke = globalProps.nonScalingStroke ?? false, iconNode = [], icon = {\n\t\t\tnode: iconNode,\n\t\t\taliases: [],\n\t\t\tsize: 24\n\t\t}, class: propsClass, children, $$slots, $$events, ...props } = $$props;\n\t\tconst hasAccessibleProp = derived(() => Boolean(children) || hasA11yProp(props));\n\t\tconst $$d = derived(() => buildLucideIconNode(icon, {\n\t\t\tcolor,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tstrokeWidth,\n\t\t\tabsoluteStrokeWidth,\n\t\t\tnonScalingStroke,\n\t\t\tclassName: mergeClasses(\"lucide-icon\", globalProps.class),\n\t\t\thasA11yProp: hasAccessibleProp(),\n\t\t\tattributes: props\n\t\t})), $$derived_array = derived(() => to_array($$d(), 3)), svgAttributes = derived(() => $$derived_array()[1]), builtIconNode = derived(() => fallback($$derived_array()[2], () => [], true));\n\t\tconst iconAttributes = derived(() => ({\n\t\t\t...svgAttributes(),\n\t\t\tclass: [...svgAttributes().class.split(\" \"), propsClass]\n\t\t}));\n\t\t$$renderer.push(`<svg${attributes({ ...iconAttributes() }, void 0, void 0, void 0, 3)}><!--[-->`);\n\t\tconst each_array = ensure_array_like(builtIconNode());\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet [tag, attrs] = each_array[$$index];\n\t\t\telement($$renderer, tag, () => {\n\t\t\t\t$$renderer.push(`${attributes({ ...attrs }, void 0, void 0, void 0, 3)}`);\n\t\t\t});\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t\tchildren?.($$renderer);\n\t\t$$renderer.push(`<!----></svg>`);\n\t});\n}\n//#endregion\n//#region src/lib/text-size.ts\n/**\n* Text sizes offered in the header, for readers who need the interface larger.\n*\n* The actual font sizes live in `text-size.css`: they scale the root element so\n* every rem-based size follows together. Keeping only the ids and labels here\n* leaves one source of truth for what each option looks like.\n*/\nvar TEXT_SIZES = [\n\t{\n\t\tid: \"small\",\n\t\tname: \"Small\"\n\t},\n\t{\n\t\tid: \"default\",\n\t\tname: \"Default\"\n\t},\n\t{\n\t\tid: \"large\",\n\t\tname: \"Large\"\n\t},\n\t{\n\t\tid: \"xlarge\",\n\t\tname: \"Extra large\"\n\t}\n];\nvar TEXT_SIZE_STORAGE_KEY = \"watch-tail:text-size\";\n/** Unknown or obsolete preferences fall back to Default. */\nfunction parseTextSize(value) {\n\treturn TEXT_SIZES.find((size) => size.id === value)?.id ?? \"default\";\n}\n//#endregion\n//#region src/lib/text-size.svelte.ts\nvar BASE_ROOT_FONT_PX = 16;\nfunction measureRootFontPx() {\n\tconst measured = Number.parseFloat(getComputedStyle(document.documentElement).fontSize);\n\treturn Number.isFinite(measured) && measured > 0 ? measured : BASE_ROOT_FONT_PX;\n}\nvar TextSizePreference = class {\n\t/** Root font size in pixels: 16 until a size is applied on the client. */\n\trootFontPx = BASE_ROOT_FONT_PX;\n\t/**\n\t* Applies a text size. The data attribute drives the stylesheet and the\n\t* measured root font size keeps the pixel maths in step; the choice is\n\t* persisted unless `persist` is false.\n\t*/\n\tapply(value, persist = true) {\n\t\tconst id = parseTextSize(value);\n\t\tif (typeof document !== \"undefined\") {\n\t\t\tdocument.documentElement.dataset.textSize = id;\n\t\t\tthis.rootFontPx = measureRootFontPx();\n\t\t}\n\t\tif (!persist) return;\n\t\ttry {\n\t\t\tlocalStorage.setItem(TEXT_SIZE_STORAGE_KEY, id);\n\t\t} catch {}\n\t}\n};\n/** One preference per page: the header select and the viewer both read it. */\nvar textSize = new TextSizePreference();\n//#endregion\nexport { Icon as a, parseTextSize as i, TEXT_SIZES as n, puppy as o, TEXT_SIZE_STORAGE_KEY as r, slotPosition as s, textSize as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -76,27 +76,32 @@ function formatWindowBound(epochMs, now) {
|
|
|
76
76
|
function describeWindow(ready, now) {
|
|
77
77
|
if (ready === null || ready.startTime === void 0) return {
|
|
78
78
|
mode: "live",
|
|
79
|
-
|
|
79
|
+
preset: null,
|
|
80
|
+
from: null,
|
|
81
|
+
to: null,
|
|
80
82
|
title: "Tailing new events",
|
|
81
83
|
clamped: false
|
|
82
84
|
};
|
|
83
85
|
const clamped = ready.clamped === true;
|
|
84
86
|
if (ready.mode !== "historic" || ready.endTime === null || ready.endTime === void 0) return {
|
|
85
87
|
mode: "live",
|
|
86
|
-
|
|
88
|
+
preset: null,
|
|
89
|
+
from: null,
|
|
90
|
+
to: null,
|
|
87
91
|
title: `Live since ${formatWindowBound(ready.startTime, now)}`,
|
|
88
92
|
clamped
|
|
89
93
|
};
|
|
90
94
|
const from = formatWindowBound(ready.startTime, now);
|
|
91
95
|
const to = formatWindowBound(ready.endTime, now);
|
|
92
|
-
const preset = ready.preset === null || ready.preset === void 0 ? null : presetLabel(ready.preset);
|
|
93
96
|
return {
|
|
94
97
|
mode: "historic",
|
|
95
|
-
|
|
98
|
+
preset: ready.preset === null || ready.preset === void 0 ? null : presetLabel(ready.preset),
|
|
99
|
+
from,
|
|
100
|
+
to,
|
|
96
101
|
title: clamped ? "Historic window, clamped to the last 14 days that CloudWatch Logs keeps" : "Historic window",
|
|
97
102
|
clamped
|
|
98
103
|
};
|
|
99
104
|
}
|
|
100
105
|
|
|
101
106
|
export { HISTORIC_PRESETS as H, PRESET_LABELS as P, presetLabel as a, describeWindow as d, isHistoricPreset as i, presetDurationMs as p, toDateTimeLocal as t };
|
|
102
|
-
//# sourceMappingURL=time-range.js-
|
|
107
|
+
//# sourceMappingURL=time-range.js-__87ZPq6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time-range.js-__87ZPq6.js","sources":["../../../../.svelte-kit/output/server/chunks/time-range.js"],"sourcesContent":["//#region src/lib/time-range.ts\n/**\n* Historic time-range helpers shared by the server and the browser.\n*\n* The preset list lives here so the API and the picker can never drift apart.\n* Everything is pure; nothing here touches the DOM.\n*/\n/** Preset windows offered by the historic range picker. */\nvar HISTORIC_PRESETS = [\n\t\"15m\",\n\t\"1h\",\n\t\"3h\",\n\t\"12h\",\n\t\"24h\",\n\t\"5d\"\n];\n/** Human labels for the preset chips. */\nvar PRESET_LABELS = {\n\t\"15m\": \"15 min\",\n\t\"1h\": \"1 hour\",\n\t\"3h\": \"3 hours\",\n\t\"12h\": \"12 hours\",\n\t\"24h\": \"24 hours\",\n\t\"5d\": \"5 days\"\n};\nvar UNIT_MS = {\n\tms: 1,\n\ts: 1e3,\n\tm: 6e4,\n\th: 36e5,\n\td: 864e5,\n\tw: 6048e5\n};\nvar DURATION_PATTERN = /^(\\d+(?:\\.\\d+)?)\\s*(ms|s|m|h|d|w)$/i;\n/** True when the value is one of the offered presets. */\nfunction isHistoricPreset(value) {\n\treturn HISTORIC_PRESETS.includes(value);\n}\n/** Duration of a preset window in milliseconds. */\nfunction presetDurationMs(preset) {\n\tconst match = DURATION_PATTERN.exec(preset);\n\treturn (match === null ? 0 : Number(match[1])) * (match === null ? 0 : UNIT_MS[match[2].toLowerCase()] ?? 0);\n}\n/** Label for a preset, falling back to the raw value. */\nfunction presetLabel(preset) {\n\treturn isHistoricPreset(preset) ? PRESET_LABELS[preset] : preset;\n}\n/**\n* Converts epoch milliseconds to the `YYYY-MM-DDTHH:mm` string a\n* `datetime-local` input expects, in the browser's local time zone.\n*/\n/** Zero-pads a number for the `datetime-local` format. */\nfunction pad(value) {\n\treturn String(value).padStart(2, \"0\");\n}\nfunction toDateTimeLocal(epochMs) {\n\tconst date = new Date(epochMs);\n\treturn `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad(date.getHours())}:${pad(date.getMinutes())}`;\n}\n/** Formats a window bound for display, for example `14:05` or `10 May 14:05`. */\nfunction formatWindowBound(epochMs, now) {\n\tconst date = new Date(epochMs);\n\tconst time = `${String(date.getHours()).padStart(2, \"0\")}:${String(date.getMinutes()).padStart(2, \"0\")}`;\n\tif (new Date(now).toDateString() === date.toDateString()) return time;\n\treturn `${date.toLocaleDateString(void 0, {\n\t\tday: \"numeric\",\n\t\tmonth: \"short\"\n\t})} ${time}`;\n}\n/**\n* Describes the window reported by the server's `ready` event.\n*\n* Live tails report the lookback window; historic tails report the resolved\n* range, naming the preset when one was used.\n*/\nfunction describeWindow(ready, now) {\n\tif (ready === null || ready.startTime === void 0) return {\n\t\tmode: \"live\",\n\t\tpreset: null,\n\t\tfrom: null,\n\t\tto: null,\n\t\ttitle: \"Tailing new events\",\n\t\tclamped: false\n\t};\n\tconst clamped = ready.clamped === true;\n\tif (ready.mode !== \"historic\" || ready.endTime === null || ready.endTime === void 0) return {\n\t\tmode: \"live\",\n\t\tpreset: null,\n\t\tfrom: null,\n\t\tto: null,\n\t\ttitle: `Live since ${formatWindowBound(ready.startTime, now)}`,\n\t\tclamped\n\t};\n\tconst from = formatWindowBound(ready.startTime, now);\n\tconst to = formatWindowBound(ready.endTime, now);\n\treturn {\n\t\tmode: \"historic\",\n\t\tpreset: ready.preset === null || ready.preset === void 0 ? null : presetLabel(ready.preset),\n\t\tfrom,\n\t\tto,\n\t\ttitle: clamped ? \"Historic window, clamped to the last 14 days that CloudWatch Logs keeps\" : \"Historic window\",\n\t\tclamped\n\t};\n}\n//#endregion\nexport { presetDurationMs as a, isHistoricPreset as i, PRESET_LABELS as n, presetLabel as o, describeWindow as r, toDateTimeLocal as s, HISTORIC_PRESETS as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { p as parseRegionParam, a as apiError, b as readEnv, R as REGION_PARAM_HINT } from '../../../../chunks/env2.js-C5BgBJDY.js';
|
|
2
|
-
import { g as getArchive } from '../../../../chunks/archive.js-
|
|
2
|
+
import { g as getArchive } from '../../../../chunks/archive.js-BRlkdj2X.js';
|
|
3
3
|
import { j as json } from '../../../../chunks/utils.js-BIlHjgGW.js';
|
|
4
4
|
import '../../../../chunks/shared-server.js-Dn5XheXH.js';
|
|
5
5
|
import '@aws-sdk/client-cloudwatch-logs';
|
|
@@ -44,4 +44,4 @@ var GET = async ({ url }) => {
|
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
export { GET };
|
|
47
|
-
//# sourceMappingURL=_server.ts.js-
|
|
47
|
+
//# sourceMappingURL=_server.ts.js-C6WY-ljy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts.js-
|
|
1
|
+
{"version":3,"file":"_server.ts.js-C6WY-ljy.js","sources":["../../../../../../../.svelte-kit/output/server/entries/endpoints/api/archive/_server.ts.js"],"sourcesContent":["import { r as REGION_PARAM_HINT, s as parseRegionParam, t as readEnv, u as apiError } from \"../../../../chunks/env2.js\";\nimport { t as getArchive } from \"../../../../chunks/archive.js\";\nimport { json } from \"@sveltejs/kit\";\n//#region src/routes/api/archive/+server.ts\n/**\n* `GET /api/archive` - what the local DuckDB archive holds.\n*\n* Never fails: an archive that is off by configuration, missing its optional\n* driver or unreadable answers 200 with `available: false` and the reason, so\n* the UI can hide the archive view instead of showing an error.\n*/\nvar GET = async ({ url }) => {\n\tconst parsed = parseRegionParam(url.searchParams.get(\"region\"));\n\tif (!parsed.ok) return apiError(400, REGION_PARAM_HINT, \"invalid-region\");\n\tconst status = await (await getArchive(readEnv(), {\n\t\tregion: parsed.region,\n\t\treadOnly: true\n\t})).status();\n\tconst body = {\n\t\tpath: status.path,\n\t\tavailable: status.available,\n\t\terror: status.error,\n\t\tbytes: status.bytes,\n\t\trows: status.totals.rows,\n\t\tgroups: status.totals.groups,\n\t\tregions: status.totals.regions,\n\t\toldest: status.totals.oldest,\n\t\tnewest: status.totals.newest\n\t};\n\treturn json(body);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK;AAC7B,CAAC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAChE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;AAC1E,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE;AACnD,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,QAAQ,EAAE;AACZ,EAAE,CAAC,EAAE,MAAM,EAAE;AACb,CAAC,MAAM,IAAI,GAAG;AACd,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI;AACnB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS;AAC7B,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK;AACrB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK;AACrB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;AAC9B,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;AAChC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;AAC9B,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;AACxB,EAAE;AACF,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC;AAClB;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { p as parseRegionParam, a as apiError, b as readEnv, r as resolveAwsConfig, d as createLogsClient, e as resolveEffectiveRegion, f as describeAwsError, R as REGION_PARAM_HINT } from '../../../../chunks/env2.js-C5BgBJDY.js';
|
|
2
|
-
import { g as getArchive } from '../../../../chunks/archive.js-
|
|
2
|
+
import { g as getArchive } from '../../../../chunks/archive.js-BRlkdj2X.js';
|
|
3
3
|
import { p as parseSourceParam, S as SOURCE_PARAM_HINT } from '../../../../chunks/source.js-DZEVvuho.js';
|
|
4
4
|
import { j as json } from '../../../../chunks/utils.js-BIlHjgGW.js';
|
|
5
5
|
import { DescribeLogGroupsCommand } from '@aws-sdk/client-cloudwatch-logs';
|
|
@@ -170,4 +170,4 @@ var GET = async ({ url, request }) => {
|
|
|
170
170
|
};
|
|
171
171
|
|
|
172
172
|
export { GET };
|
|
173
|
-
//# sourceMappingURL=_server.ts.js-
|
|
173
|
+
//# sourceMappingURL=_server.ts.js-DTcVSbpV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts.js-D4y43Vwe.js","sources":["../../../../../../../.svelte-kit/output/server/entries/endpoints/api/log-groups/_server.ts.js"],"sourcesContent":["import { c as resolveAwsConfig, i as createLogsClient, l as resolveEffectiveRegion, o as describeAwsError, r as REGION_PARAM_HINT, s as parseRegionParam, t as readEnv, u as apiError } from \"../../../../chunks/env2.js\";\nimport { t as getArchive } from \"../../../../chunks/archive.js\";\nimport { n as parseSourceParam, t as SOURCE_PARAM_HINT } from \"../../../../chunks/source.js\";\nimport { json } from \"@sveltejs/kit\";\nimport { DescribeLogGroupsCommand } from \"@aws-sdk/client-cloudwatch-logs\";\n//#region src/lib/server/log-groups.ts\n/** Page size requested from `DescribeLogGroups` (the API maximum). */\nvar PAGE_SIZE = 50;\nvar DEFAULT_LIMIT = 200;\nvar MIN_LIMIT = 1;\nvar MAX_LIMIT$1 = 1e3;\n/** Clamps the result limit into the supported 1..1000 range. */\nfunction clampLimit(limit) {\n\tif (limit === void 0 || !Number.isFinite(limit)) return DEFAULT_LIMIT;\n\treturn Math.min(Math.max(Math.floor(limit), MIN_LIMIT), MAX_LIMIT$1);\n}\n/** Maps an SDK log group onto the wire type, omitting absent fields. */\nfunction toSummary(group) {\n\tconst summary = { name: group.logGroupName ?? \"\" };\n\tif (group.arn !== void 0) summary.arn = group.arn;\n\tif (group.storedBytes !== void 0) summary.storedBytes = group.storedBytes;\n\tif (group.retentionInDays !== void 0) summary.retentionInDays = group.retentionInDays;\n\tif (group.creationTime !== void 0) summary.creationTime = group.creationTime;\n\treturn summary;\n}\n/** Locale-independent name comparison for a stable sort. */\nfunction byName(a, b) {\n\tif (a.name === b.name) return 0;\n\treturn a.name < b.name ? -1 : 1;\n}\n/**\n* Lists log groups for a region.\n*\n* Pages through `DescribeLogGroups` (50 per page, honouring `nextToken`),\n* filters by prefix on the client too because some emulators ignore\n* `logGroupNamePrefix`, de-duplicates by name, sorts by name and stops at\n* `limit` (default 200, clamped to 1..1000).\n*/\nasync function listLogGroups(client, options = {}) {\n\tconst prefix = options.prefix?.trim() ?? \"\";\n\tconst limit = clampLimit(options.limit);\n\tconst { signal } = options;\n\tconst collected = [];\n\tconst seenNames = /* @__PURE__ */ new Set();\n\tlet nextToken;\n\tdo {\n\t\tif (signal?.aborted) break;\n\t\tconst input = { limit: PAGE_SIZE };\n\t\tif (nextToken !== void 0) input.nextToken = nextToken;\n\t\tif (prefix.length > 0) input.logGroupNamePrefix = prefix;\n\t\tconst response = await client.send(new DescribeLogGroupsCommand(input), { abortSignal: signal });\n\t\tfor (const group of response.logGroups ?? []) {\n\t\t\tconst name = group.logGroupName;\n\t\t\tif (name === void 0 || name.length === 0) continue;\n\t\t\tif (prefix.length > 0 && !name.startsWith(prefix)) continue;\n\t\t\tif (seenNames.has(name)) continue;\n\t\t\tseenNames.add(name);\n\t\t\tcollected.push(toSummary(group));\n\t\t\tif (collected.length >= limit) break;\n\t\t}\n\t\tnextToken = response.nextToken;\n\t} while (nextToken !== void 0 && nextToken.length > 0 && collected.length < limit);\n\treturn collected.toSorted(byName);\n}\n/** Maps archived group rows onto the summary the group list renders. */\nfunction archivedGroupSummaries(rows) {\n\treturn rows.map((row) => {\n\t\tconst summary = {\n\t\t\tname: row.logGroup,\n\t\t\tarchivedEvents: row.events\n\t\t};\n\t\tif (row.oldest !== null) summary.archivedOldest = row.oldest;\n\t\tif (row.newest !== null) summary.archivedNewest = row.newest;\n\t\treturn summary;\n\t});\n}\n/**\n* Lists the log groups the local archive holds.\n*\n* The archive needs no credentials, so this works when CloudWatch is\n* unreachable. Groups are filtered by prefix and clamped to `limit` in process,\n* because the query already returns at most one row per group.\n*/\nfunction listArchivedGroups(rows, options = {}) {\n\tconst prefix = options.prefix?.trim() ?? \"\";\n\tconst limit = clampLimit(options.limit);\n\treturn archivedGroupSummaries(rows).filter((summary) => prefix.length === 0 || summary.name.startsWith(prefix)).slice(0, limit).toSorted(byName);\n}\n//#endregion\n//#region src/routes/api/log-groups/+server.ts\nvar MAX_LIMIT = 1e3;\n/**\n* `GET /api/log-groups?region=&prefix=&limit=&source=` - lists log groups.\n*\n* `source=cloudwatch` (the default) asks CloudWatch Logs for the region; the\n* region is optional there, because the SDK resolves it from the ambient AWS\n* configuration. `source=archive` lists what the local DuckDB file holds for\n* that region and needs no credentials at all. `request.signal` is forwarded to\n* the SDK so a disconnected client cancels the pagination loop.\n*/\nvar GET = async ({ url, request }) => {\n\tconst parsedRegion = parseRegionParam(url.searchParams.get(\"region\"));\n\tif (!parsedRegion.ok) return apiError(400, REGION_PARAM_HINT, \"invalid-region\");\n\tconst env = readEnv();\n\tconst limitRaw = url.searchParams.get(\"limit\")?.trim() ?? \"\";\n\tlet limit;\n\tif (limitRaw.length > 0) {\n\t\tconst parsed = Number(limitRaw);\n\t\tif (!Number.isInteger(parsed) || parsed < 1 || parsed > MAX_LIMIT) return apiError(400, `Invalid limit: expected an integer between 1 and ${MAX_LIMIT}`, \"invalid-limit\");\n\t\tlimit = parsed;\n\t} else {\n\t\tconst configured = Number((env.WATCH_TAIL_LIMIT ?? \"\").trim());\n\t\tif (Number.isInteger(configured) && configured >= 1 && configured <= MAX_LIMIT) limit = configured;\n\t}\n\tconst prefix = url.searchParams.get(\"prefix\")?.trim();\n\tconst source = parseSourceParam(url.searchParams.get(\"source\"));\n\tif (source === null) return apiError(400, SOURCE_PARAM_HINT, \"invalid-source\");\n\tconst config = resolveAwsConfig(env, parsedRegion.region);\n\tif (source === \"archive\") {\n\t\tconst groups = listArchivedGroups(await (await getArchive(env, {\n\t\t\tregion: config.region,\n\t\t\treadOnly: true\n\t\t})).groups(config.region), {\n\t\t\tprefix,\n\t\t\tlimit\n\t\t});\n\t\tconst body = {\n\t\t\tregion: config.region ?? \"\",\n\t\t\tendpoint: null,\n\t\t\tsource,\n\t\t\tgroups\n\t\t};\n\t\treturn json(body);\n\t}\n\tlet client;\n\ttry {\n\t\tclient = createLogsClient(config);\n\t\tconst region = await resolveEffectiveRegion(client, config);\n\t\tconst groups = await listLogGroups(client, {\n\t\t\tprefix: prefix !== void 0 && prefix.length > 0 ? prefix : void 0,\n\t\t\tlimit,\n\t\t\tsignal: request.signal\n\t\t});\n\t\tconst body = {\n\t\t\tregion,\n\t\t\tendpoint: config.endpoint,\n\t\t\tsource,\n\t\t\tgroups\n\t\t};\n\t\treturn json(body);\n\t} catch (error) {\n\t\tif (request.signal.aborted || error instanceof Error && error.name === \"AbortError\") return apiError(499, \"The client closed the request before CloudWatch Logs replied\", \"aborted\");\n\t\tconst described = describeAwsError(error);\n\t\treturn apiError(502, described.message, described.code);\n\t} finally {\n\t\tclient?.destroy();\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_server.ts.js-DTcVSbpV.js","sources":["../../../../../../../.svelte-kit/output/server/entries/endpoints/api/log-groups/_server.ts.js"],"sourcesContent":["import { c as resolveAwsConfig, i as createLogsClient, l as resolveEffectiveRegion, o as describeAwsError, r as REGION_PARAM_HINT, s as parseRegionParam, t as readEnv, u as apiError } from \"../../../../chunks/env2.js\";\nimport { t as getArchive } from \"../../../../chunks/archive.js\";\nimport { n as parseSourceParam, t as SOURCE_PARAM_HINT } from \"../../../../chunks/source.js\";\nimport { json } from \"@sveltejs/kit\";\nimport { DescribeLogGroupsCommand } from \"@aws-sdk/client-cloudwatch-logs\";\n//#region src/lib/server/log-groups.ts\n/** Page size requested from `DescribeLogGroups` (the API maximum). */\nvar PAGE_SIZE = 50;\nvar DEFAULT_LIMIT = 200;\nvar MIN_LIMIT = 1;\nvar MAX_LIMIT$1 = 1e3;\n/** Clamps the result limit into the supported 1..1000 range. */\nfunction clampLimit(limit) {\n\tif (limit === void 0 || !Number.isFinite(limit)) return DEFAULT_LIMIT;\n\treturn Math.min(Math.max(Math.floor(limit), MIN_LIMIT), MAX_LIMIT$1);\n}\n/** Maps an SDK log group onto the wire type, omitting absent fields. */\nfunction toSummary(group) {\n\tconst summary = { name: group.logGroupName ?? \"\" };\n\tif (group.arn !== void 0) summary.arn = group.arn;\n\tif (group.storedBytes !== void 0) summary.storedBytes = group.storedBytes;\n\tif (group.retentionInDays !== void 0) summary.retentionInDays = group.retentionInDays;\n\tif (group.creationTime !== void 0) summary.creationTime = group.creationTime;\n\treturn summary;\n}\n/** Locale-independent name comparison for a stable sort. */\nfunction byName(a, b) {\n\tif (a.name === b.name) return 0;\n\treturn a.name < b.name ? -1 : 1;\n}\n/**\n* Lists log groups for a region.\n*\n* Pages through `DescribeLogGroups` (50 per page, honouring `nextToken`),\n* filters by prefix on the client too because some emulators ignore\n* `logGroupNamePrefix`, de-duplicates by name, sorts by name and stops at\n* `limit` (default 200, clamped to 1..1000).\n*/\nasync function listLogGroups(client, options = {}) {\n\tconst prefix = options.prefix?.trim() ?? \"\";\n\tconst limit = clampLimit(options.limit);\n\tconst { signal } = options;\n\tconst collected = [];\n\tconst seenNames = /* @__PURE__ */ new Set();\n\tlet nextToken;\n\tdo {\n\t\tif (signal?.aborted) break;\n\t\tconst input = { limit: PAGE_SIZE };\n\t\tif (nextToken !== void 0) input.nextToken = nextToken;\n\t\tif (prefix.length > 0) input.logGroupNamePrefix = prefix;\n\t\tconst response = await client.send(new DescribeLogGroupsCommand(input), { abortSignal: signal });\n\t\tfor (const group of response.logGroups ?? []) {\n\t\t\tconst name = group.logGroupName;\n\t\t\tif (name === void 0 || name.length === 0) continue;\n\t\t\tif (prefix.length > 0 && !name.startsWith(prefix)) continue;\n\t\t\tif (seenNames.has(name)) continue;\n\t\t\tseenNames.add(name);\n\t\t\tcollected.push(toSummary(group));\n\t\t\tif (collected.length >= limit) break;\n\t\t}\n\t\tnextToken = response.nextToken;\n\t} while (nextToken !== void 0 && nextToken.length > 0 && collected.length < limit);\n\treturn collected.toSorted(byName);\n}\n/** Maps archived group rows onto the summary the group list renders. */\nfunction archivedGroupSummaries(rows) {\n\treturn rows.map((row) => {\n\t\tconst summary = {\n\t\t\tname: row.logGroup,\n\t\t\tarchivedEvents: row.events\n\t\t};\n\t\tif (row.oldest !== null) summary.archivedOldest = row.oldest;\n\t\tif (row.newest !== null) summary.archivedNewest = row.newest;\n\t\treturn summary;\n\t});\n}\n/**\n* Lists the log groups the local archive holds.\n*\n* The archive needs no credentials, so this works when CloudWatch is\n* unreachable. Groups are filtered by prefix and clamped to `limit` in process,\n* because the query already returns at most one row per group.\n*/\nfunction listArchivedGroups(rows, options = {}) {\n\tconst prefix = options.prefix?.trim() ?? \"\";\n\tconst limit = clampLimit(options.limit);\n\treturn archivedGroupSummaries(rows).filter((summary) => prefix.length === 0 || summary.name.startsWith(prefix)).slice(0, limit).toSorted(byName);\n}\n//#endregion\n//#region src/routes/api/log-groups/+server.ts\nvar MAX_LIMIT = 1e3;\n/**\n* `GET /api/log-groups?region=&prefix=&limit=&source=` - lists log groups.\n*\n* `source=cloudwatch` (the default) asks CloudWatch Logs for the region; the\n* region is optional there, because the SDK resolves it from the ambient AWS\n* configuration. `source=archive` lists what the local DuckDB file holds for\n* that region and needs no credentials at all. `request.signal` is forwarded to\n* the SDK so a disconnected client cancels the pagination loop.\n*/\nvar GET = async ({ url, request }) => {\n\tconst parsedRegion = parseRegionParam(url.searchParams.get(\"region\"));\n\tif (!parsedRegion.ok) return apiError(400, REGION_PARAM_HINT, \"invalid-region\");\n\tconst env = readEnv();\n\tconst limitRaw = url.searchParams.get(\"limit\")?.trim() ?? \"\";\n\tlet limit;\n\tif (limitRaw.length > 0) {\n\t\tconst parsed = Number(limitRaw);\n\t\tif (!Number.isInteger(parsed) || parsed < 1 || parsed > MAX_LIMIT) return apiError(400, `Invalid limit: expected an integer between 1 and ${MAX_LIMIT}`, \"invalid-limit\");\n\t\tlimit = parsed;\n\t} else {\n\t\tconst configured = Number((env.WATCH_TAIL_LIMIT ?? \"\").trim());\n\t\tif (Number.isInteger(configured) && configured >= 1 && configured <= MAX_LIMIT) limit = configured;\n\t}\n\tconst prefix = url.searchParams.get(\"prefix\")?.trim();\n\tconst source = parseSourceParam(url.searchParams.get(\"source\"));\n\tif (source === null) return apiError(400, SOURCE_PARAM_HINT, \"invalid-source\");\n\tconst config = resolveAwsConfig(env, parsedRegion.region);\n\tif (source === \"archive\") {\n\t\tconst groups = listArchivedGroups(await (await getArchive(env, {\n\t\t\tregion: config.region,\n\t\t\treadOnly: true\n\t\t})).groups(config.region), {\n\t\t\tprefix,\n\t\t\tlimit\n\t\t});\n\t\tconst body = {\n\t\t\tregion: config.region ?? \"\",\n\t\t\tendpoint: null,\n\t\t\tsource,\n\t\t\tgroups\n\t\t};\n\t\treturn json(body);\n\t}\n\tlet client;\n\ttry {\n\t\tclient = createLogsClient(config);\n\t\tconst region = await resolveEffectiveRegion(client, config);\n\t\tconst groups = await listLogGroups(client, {\n\t\t\tprefix: prefix !== void 0 && prefix.length > 0 ? prefix : void 0,\n\t\t\tlimit,\n\t\t\tsignal: request.signal\n\t\t});\n\t\tconst body = {\n\t\t\tregion,\n\t\t\tendpoint: config.endpoint,\n\t\t\tsource,\n\t\t\tgroups\n\t\t};\n\t\treturn json(body);\n\t} catch (error) {\n\t\tif (request.signal.aborted || error instanceof Error && error.name === \"AbortError\") return apiError(499, \"The client closed the request before CloudWatch Logs replied\", \"aborted\");\n\t\tconst described = describeAwsError(error);\n\t\treturn apiError(502, described.message, described.code);\n\t} finally {\n\t\tclient?.destroy();\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { p as parseRegionParam, a as apiError, b as readEnv, r as resolveAwsConfig, R as REGION_PARAM_HINT } from '../../../../chunks/env2.js-C5BgBJDY.js';
|
|
2
|
-
import { g as getArchive } from '../../../../chunks/archive.js-
|
|
2
|
+
import { g as getArchive } from '../../../../chunks/archive.js-BRlkdj2X.js';
|
|
3
3
|
import { p as parseSourceParam, S as SOURCE_PARAM_HINT } from '../../../../chunks/source.js-DZEVvuho.js';
|
|
4
|
-
import { p as parseGroupParams, a as parseLevelParam, r as resolveWindow, b as parseDurationMs, L as LEVEL_PARAM_HINT } from '../../../../chunks/level-filter.js-
|
|
4
|
+
import { p as parseGroupParams, a as parseLevelParam, r as resolveWindow, b as parseDurationMs, L as LEVEL_PARAM_HINT } from '../../../../chunks/level-filter.js-H0nc-2BG.js';
|
|
5
5
|
import { j as json } from '../../../../chunks/utils.js-BIlHjgGW.js';
|
|
6
6
|
import '../../../../chunks/shared-server.js-Dn5XheXH.js';
|
|
7
7
|
import '@aws-sdk/client-cloudwatch-logs';
|
|
@@ -13,7 +13,7 @@ import '../../../../chunks/log-buffer.js-A9FA-Qv8.js';
|
|
|
13
13
|
import 'node:os';
|
|
14
14
|
import 'node:crypto';
|
|
15
15
|
import 'node:timers/promises';
|
|
16
|
-
import '../../../../chunks/time-range.js-
|
|
16
|
+
import '../../../../chunks/time-range.js-__87ZPq6.js';
|
|
17
17
|
import '../../../../chunks/shared.js-CgjUIvRK.js';
|
|
18
18
|
import '../../../../chunks/uneval.js-DaakSYFQ.js';
|
|
19
19
|
|
|
@@ -240,4 +240,4 @@ var GET = async ({ url }) => {
|
|
|
240
240
|
};
|
|
241
241
|
|
|
242
242
|
export { GET };
|
|
243
|
-
//# sourceMappingURL=_server.ts.js-
|
|
243
|
+
//# sourceMappingURL=_server.ts.js-CzJ_bXh8.js.map
|