watch-tail 0.10.0 → 0.10.1

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.
Files changed (336) hide show
  1. package/README.md +8 -2
  2. package/build/client/_app/immutable/chunks/{N78Fm5Ux.js → 0bp2Fczu.js} +1 -1
  3. package/build/client/_app/immutable/chunks/{CNomy7CF.js → B7X5bVGV.js} +1 -1
  4. package/build/client/_app/immutable/chunks/{DSHrbzz3.js → BDcWO4cr.js} +1 -1
  5. package/build/client/_app/immutable/chunks/{DSvLImpl.js → BDdUgtQ9.js} +1 -1
  6. package/build/client/_app/immutable/chunks/{BdV_pkVs.js → BP77Fyht.js} +1 -1
  7. package/build/client/_app/immutable/chunks/{Bb9UOIo-.js → B_Mg_9D4.js} +1 -1
  8. package/build/client/_app/immutable/chunks/{BJ7fEbY9.js → BvE-N_5_.js} +1 -1
  9. package/build/client/_app/immutable/chunks/C0Fq51PS.js +1 -0
  10. package/build/client/_app/immutable/chunks/{Fg8W5tkO.js → CBu7zaX6.js} +1 -1
  11. package/build/client/_app/immutable/chunks/{CZ2PC-zH.js → CDs2jokv.js} +1 -1
  12. package/build/client/_app/immutable/chunks/{D6vIi1r5.js → CL6wPCzw.js} +1 -1
  13. package/build/client/_app/immutable/chunks/{EZJqWoh3.js → CMPe3AwH.js} +1 -1
  14. package/build/client/_app/immutable/chunks/{DWBod19x.js → CRxuTO84.js} +1 -1
  15. package/build/client/_app/immutable/chunks/{McME9wI6.js → CXlCR4o6.js} +5 -5
  16. package/build/client/_app/immutable/chunks/{XrAcf7YH.js → CZZUqHxO.js} +1 -1
  17. package/build/client/_app/immutable/chunks/{_PJhUOmT.js → CaFHnwyo.js} +1 -1
  18. package/build/client/_app/immutable/chunks/{DAxERhtN.js → CbtqT1c8.js} +1 -1
  19. package/build/client/_app/immutable/chunks/{vMHl7jRw.js → CfRqDrzx.js} +1 -1
  20. package/build/client/_app/immutable/chunks/{CzU0cUz4.js → CwzJ9AB4.js} +1 -1
  21. package/build/client/_app/immutable/chunks/{B_AZHMkI.js → Cy2yzzl5.js} +1 -1
  22. package/build/client/_app/immutable/chunks/{xJTjOoUQ.js → D067lFSc.js} +1 -1
  23. package/build/client/_app/immutable/chunks/{BsrUsB47.js → D27MZEE2.js} +1 -1
  24. package/build/client/_app/immutable/chunks/{Dicxo5h-.js → D9KJP6hv.js} +1 -1
  25. package/build/client/_app/immutable/chunks/{gXyWwJbW.js → DO938hpm.js} +1 -1
  26. package/build/client/_app/immutable/chunks/{DjjHmSG3.js → DrLgrJ3k.js} +1 -1
  27. package/build/client/_app/immutable/chunks/{CPbNf3ya.js → DrupwIIS.js} +1 -1
  28. package/build/client/_app/immutable/chunks/{BX0v2q9h.js → PUpq0Ki5.js} +1 -1
  29. package/build/client/_app/immutable/chunks/{CHnbfiIG.js → kSuEE8Bt.js} +1 -1
  30. package/build/client/_app/immutable/chunks/{DlDLXtam.js → y79YFfGW.js} +1 -1
  31. package/build/client/_app/immutable/chunks/{DIzgJaYS.js → zP_HZRCk.js} +1 -1
  32. package/build/client/_app/immutable/entry/{app.ycJtqzGh.js → app.BEq8gOel.js} +2 -2
  33. package/build/client/_app/immutable/entry/start.DmBlaUbV.js +1 -0
  34. package/build/client/_app/immutable/nodes/{1.B63I-h1v.js → 1.DXfG5P6X.js} +1 -1
  35. package/build/client/_app/immutable/nodes/{2.DXy8PMWZ.js → 2.45XrHxUU.js} +3 -3
  36. package/build/client/_app/version.json +1 -1
  37. package/build/env.js +0 -1
  38. package/build/handler.js +6 -9
  39. package/build/index.js +6 -9
  40. package/build/server/chunks/chunks/{archive.js-BRlkdj2X.js → archive.js-D7cGVWaq.js} +1 -2
  41. package/build/server/chunks/chunks/env.js-l0sNRNKZ.js +0 -1
  42. package/build/server/chunks/chunks/env2.js-C5BgBJDY.js +0 -1
  43. package/build/server/chunks/chunks/{exports.js-ClPPfcHj.js → exports.js-CvFPPbaH.js} +0 -6
  44. package/build/server/chunks/chunks/identity.js-NmGXxBz3.js +0 -1
  45. package/build/server/chunks/chunks/{index-server.js-Dsi44azJ.js → index-server.js-DOq0LmqS.js} +1 -115
  46. package/build/server/chunks/chunks/internal.js-DZ8ZzzjN.js +0 -1
  47. package/build/server/chunks/chunks/{legacy-client.js-C8Upo6IB.js → internal2.js-B2FekELn.js} +279 -7
  48. package/build/server/chunks/chunks/{level-filter.js-H0nc-2BG.js → level-filter.js-kKdNjmbR.js} +1 -2
  49. package/build/server/chunks/chunks/{log-buffer.js-A9FA-Qv8.js → log-buffer.js-BjT3sJlh.js} +1 -2
  50. package/build/server/chunks/chunks/regions.js-COf7DgnH.js +0 -1
  51. package/build/server/chunks/chunks/shared-server.js-Dn5XheXH.js +0 -1
  52. package/build/server/chunks/chunks/shared.js-CgjUIvRK.js +0 -1
  53. package/build/server/chunks/chunks/source.js-DZEVvuho.js +0 -1
  54. package/build/server/chunks/chunks/{state.js-qsHzjuJU.js → state.js-CdO6iuBd.js} +3 -4
  55. package/build/server/chunks/chunks/{text-size.svelte.js-CqGaHRr3.js → text-size.svelte.js-D09gVgvI.js} +1 -2
  56. package/build/server/chunks/chunks/time-range.js-__87ZPq6.js +0 -1
  57. package/build/server/chunks/chunks/uneval.js-DaakSYFQ.js +0 -1
  58. package/build/server/chunks/chunks/utils.js-BIlHjgGW.js +0 -1
  59. package/build/server/chunks/entries/endpoints/api/archive/{_server.ts.js-C6WY-ljy.js → _server.ts.js-D-97I3hr.js} +2 -3
  60. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-C5tfrpmC.js +0 -1
  61. package/build/server/chunks/entries/endpoints/api/identity/_server.ts.js-PWRPScuN.js +0 -1
  62. package/build/server/chunks/entries/endpoints/api/log-groups/{_server.ts.js-DTcVSbpV.js → _server.ts.js-BBBsBX5h.js} +2 -3
  63. package/build/server/chunks/entries/endpoints/api/regions/_server.ts.js-9_g0ojki.js +0 -1
  64. package/build/server/chunks/entries/endpoints/api/series/{_server.ts.js-CzJ_bXh8.js → _server.ts.js-bsGqvQ1O.js} +3 -4
  65. package/build/server/chunks/entries/endpoints/api/stream/{_server.ts.js-U2naV16N.js → _server.ts.js-B6obpUbh.js} +3 -4
  66. package/build/server/chunks/entries/fallbacks/{error.svelte.js-ClTGKP0-.js → error.svelte.js-BupH3lxJ.js} +4 -7
  67. package/build/server/chunks/entries/pages/{_layout.svelte.js-DNuWb03K.js → _layout.svelte.js-C3CVxu2T.js} +2 -3
  68. package/build/server/chunks/entries/pages/{_page.svelte.js-CVlL2UsO.js → _page.svelte.js-DS9p1LVo.js} +322 -11
  69. package/build/server/chunks/{handler-CrpvMheE.js → handler-DrjCpeeA.js} +4 -5
  70. package/build/server/chunks/{index.js-9Dk7Q13E.js → index.js-BLTOesya.js} +3 -4
  71. package/build/server/chunks/{manifest.js-DIaODzKX.js → manifest.js-C1_IS4sj.js} +8 -9
  72. package/build/server/chunks/nodes/{0.js-CQ960AOW.js → 0.js-BHXaR9OX.js} +1 -2
  73. package/build/server/chunks/nodes/{1.js-CtTei4sV.js → 1.js-C-coUSdu.js} +2 -3
  74. package/build/server/chunks/nodes/2.js-Dor6Xgc7.js +8 -0
  75. package/build/shims.js +0 -1
  76. package/package.json +16 -7
  77. package/build/client/_app/immutable/assets/0.B5hI3s8c.css.br +0 -0
  78. package/build/client/_app/immutable/assets/0.B5hI3s8c.css.gz +0 -0
  79. package/build/client/_app/immutable/assets/2.Cn4w1JYv.css.br +0 -0
  80. package/build/client/_app/immutable/assets/2.Cn4w1JYv.css.gz +0 -0
  81. package/build/client/_app/immutable/assets/BrushContext.2tkUc39H.css.br +0 -0
  82. package/build/client/_app/immutable/assets/BrushContext.2tkUc39H.css.gz +0 -0
  83. package/build/client/_app/immutable/assets/ChartAnnotations.Bw8CGteN.css.br +0 -0
  84. package/build/client/_app/immutable/assets/ChartAnnotations.Bw8CGteN.css.gz +0 -0
  85. package/build/client/_app/immutable/assets/Circle.C5MKzgk2.css.br +0 -1
  86. package/build/client/_app/immutable/assets/Circle.C5MKzgk2.css.gz +0 -0
  87. package/build/client/_app/immutable/assets/DefaultTooltip.CGOVIm3D.css.br +0 -0
  88. package/build/client/_app/immutable/assets/DefaultTooltip.CGOVIm3D.css.gz +0 -0
  89. package/build/client/_app/immutable/assets/EventScatter.0BkgJO-l.css.br +0 -0
  90. package/build/client/_app/immutable/assets/EventScatter.0BkgJO-l.css.gz +0 -0
  91. package/build/client/_app/immutable/assets/Labels.sEaJtb97.css.br +0 -0
  92. package/build/client/_app/immutable/assets/Labels.sEaJtb97.css.gz +0 -0
  93. package/build/client/_app/immutable/assets/Legend.DnhxhJ2I.css.br +0 -0
  94. package/build/client/_app/immutable/assets/Legend.DnhxhJ2I.css.gz +0 -0
  95. package/build/client/_app/immutable/assets/Path.B0wDzTrn.css.br +0 -0
  96. package/build/client/_app/immutable/assets/Path.B0wDzTrn.css.gz +0 -0
  97. package/build/client/_app/immutable/assets/TransformContext.1cjyViIk.css.br +0 -0
  98. package/build/client/_app/immutable/assets/TransformContext.1cjyViIk.css.gz +0 -0
  99. package/build/client/_app/immutable/assets/Voronoi.ce7atosu.css.br +0 -0
  100. package/build/client/_app/immutable/assets/Voronoi.ce7atosu.css.gz +0 -0
  101. package/build/client/_app/immutable/chunks/B2En4t_E.js.br +0 -0
  102. package/build/client/_app/immutable/chunks/B2En4t_E.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/BJ7fEbY9.js.br +0 -0
  104. package/build/client/_app/immutable/chunks/BJ7fEbY9.js.gz +0 -0
  105. package/build/client/_app/immutable/chunks/BR2LaRms.js.br +0 -1
  106. package/build/client/_app/immutable/chunks/BR2LaRms.js.gz +0 -0
  107. package/build/client/_app/immutable/chunks/BX0v2q9h.js.br +0 -0
  108. package/build/client/_app/immutable/chunks/BX0v2q9h.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/B_AZHMkI.js.br +0 -0
  110. package/build/client/_app/immutable/chunks/B_AZHMkI.js.gz +0 -0
  111. package/build/client/_app/immutable/chunks/Bb9UOIo-.js.br +0 -0
  112. package/build/client/_app/immutable/chunks/Bb9UOIo-.js.gz +0 -0
  113. package/build/client/_app/immutable/chunks/BdV_pkVs.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/BdV_pkVs.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/Bjy-W4x2.js.br +0 -0
  116. package/build/client/_app/immutable/chunks/Bjy-W4x2.js.gz +0 -0
  117. package/build/client/_app/immutable/chunks/Bl052uUt.js.br +0 -0
  118. package/build/client/_app/immutable/chunks/Bl052uUt.js.gz +0 -0
  119. package/build/client/_app/immutable/chunks/BsrUsB47.js.br +0 -0
  120. package/build/client/_app/immutable/chunks/BsrUsB47.js.gz +0 -0
  121. package/build/client/_app/immutable/chunks/C58PZtCD.js.br +0 -0
  122. package/build/client/_app/immutable/chunks/C58PZtCD.js.gz +0 -0
  123. package/build/client/_app/immutable/chunks/CBZpkDc1.js.br +0 -0
  124. package/build/client/_app/immutable/chunks/CBZpkDc1.js.gz +0 -0
  125. package/build/client/_app/immutable/chunks/CCch3uox.js.br +0 -0
  126. package/build/client/_app/immutable/chunks/CCch3uox.js.gz +0 -0
  127. package/build/client/_app/immutable/chunks/CHnbfiIG.js.br +0 -0
  128. package/build/client/_app/immutable/chunks/CHnbfiIG.js.gz +0 -0
  129. package/build/client/_app/immutable/chunks/CNomy7CF.js.br +0 -0
  130. package/build/client/_app/immutable/chunks/CNomy7CF.js.gz +0 -0
  131. package/build/client/_app/immutable/chunks/CPbNf3ya.js.br +0 -0
  132. package/build/client/_app/immutable/chunks/CPbNf3ya.js.gz +0 -0
  133. package/build/client/_app/immutable/chunks/CZ2PC-zH.js.br +0 -0
  134. package/build/client/_app/immutable/chunks/CZ2PC-zH.js.gz +0 -0
  135. package/build/client/_app/immutable/chunks/CljxK204.js +0 -1
  136. package/build/client/_app/immutable/chunks/CljxK204.js.br +0 -1
  137. package/build/client/_app/immutable/chunks/CljxK204.js.gz +0 -0
  138. package/build/client/_app/immutable/chunks/CzU0cUz4.js.br +0 -0
  139. package/build/client/_app/immutable/chunks/CzU0cUz4.js.gz +0 -0
  140. package/build/client/_app/immutable/chunks/D6vIi1r5.js.br +0 -3
  141. package/build/client/_app/immutable/chunks/D6vIi1r5.js.gz +0 -0
  142. package/build/client/_app/immutable/chunks/DAxERhtN.js.br +0 -0
  143. package/build/client/_app/immutable/chunks/DAxERhtN.js.gz +0 -0
  144. package/build/client/_app/immutable/chunks/DIzgJaYS.js.br +0 -0
  145. package/build/client/_app/immutable/chunks/DIzgJaYS.js.gz +0 -0
  146. package/build/client/_app/immutable/chunks/DSHrbzz3.js.br +0 -0
  147. package/build/client/_app/immutable/chunks/DSHrbzz3.js.gz +0 -0
  148. package/build/client/_app/immutable/chunks/DSvLImpl.js.br +0 -0
  149. package/build/client/_app/immutable/chunks/DSvLImpl.js.gz +0 -0
  150. package/build/client/_app/immutable/chunks/DWBod19x.js.br +0 -0
  151. package/build/client/_app/immutable/chunks/DWBod19x.js.gz +0 -0
  152. package/build/client/_app/immutable/chunks/Db0q5_zr.js.br +0 -0
  153. package/build/client/_app/immutable/chunks/Db0q5_zr.js.gz +0 -0
  154. package/build/client/_app/immutable/chunks/Dfvzj6n2.js.br +0 -0
  155. package/build/client/_app/immutable/chunks/Dfvzj6n2.js.gz +0 -0
  156. package/build/client/_app/immutable/chunks/Dicxo5h-.js.br +0 -0
  157. package/build/client/_app/immutable/chunks/Dicxo5h-.js.gz +0 -0
  158. package/build/client/_app/immutable/chunks/DjjHmSG3.js.br +0 -0
  159. package/build/client/_app/immutable/chunks/DjjHmSG3.js.gz +0 -0
  160. package/build/client/_app/immutable/chunks/DlDLXtam.js.br +0 -0
  161. package/build/client/_app/immutable/chunks/DlDLXtam.js.gz +0 -0
  162. package/build/client/_app/immutable/chunks/EZJqWoh3.js.br +0 -0
  163. package/build/client/_app/immutable/chunks/EZJqWoh3.js.gz +0 -0
  164. package/build/client/_app/immutable/chunks/Fg8W5tkO.js.br +0 -0
  165. package/build/client/_app/immutable/chunks/Fg8W5tkO.js.gz +0 -0
  166. package/build/client/_app/immutable/chunks/HclGiUj8.js.br +0 -0
  167. package/build/client/_app/immutable/chunks/HclGiUj8.js.gz +0 -0
  168. package/build/client/_app/immutable/chunks/LGzrUxfF.js.br +0 -0
  169. package/build/client/_app/immutable/chunks/LGzrUxfF.js.gz +0 -0
  170. package/build/client/_app/immutable/chunks/McME9wI6.js.br +0 -0
  171. package/build/client/_app/immutable/chunks/McME9wI6.js.gz +0 -0
  172. package/build/client/_app/immutable/chunks/N78Fm5Ux.js.br +0 -0
  173. package/build/client/_app/immutable/chunks/N78Fm5Ux.js.gz +0 -0
  174. package/build/client/_app/immutable/chunks/RobXhXPM.js.br +0 -1
  175. package/build/client/_app/immutable/chunks/RobXhXPM.js.gz +0 -0
  176. package/build/client/_app/immutable/chunks/XrAcf7YH.js.br +0 -0
  177. package/build/client/_app/immutable/chunks/XrAcf7YH.js.gz +0 -0
  178. package/build/client/_app/immutable/chunks/Y5urAfNy.js.br +0 -0
  179. package/build/client/_app/immutable/chunks/Y5urAfNy.js.gz +0 -0
  180. package/build/client/_app/immutable/chunks/_PJhUOmT.js.br +0 -0
  181. package/build/client/_app/immutable/chunks/_PJhUOmT.js.gz +0 -0
  182. package/build/client/_app/immutable/chunks/gXyWwJbW.js.br +0 -0
  183. package/build/client/_app/immutable/chunks/gXyWwJbW.js.gz +0 -0
  184. package/build/client/_app/immutable/chunks/vMHl7jRw.js.br +0 -0
  185. package/build/client/_app/immutable/chunks/vMHl7jRw.js.gz +0 -0
  186. package/build/client/_app/immutable/chunks/xJTjOoUQ.js.br +0 -0
  187. package/build/client/_app/immutable/chunks/xJTjOoUQ.js.gz +0 -0
  188. package/build/client/_app/immutable/chunks/xihTtKlq.js.br +0 -1
  189. package/build/client/_app/immutable/chunks/xihTtKlq.js.gz +0 -0
  190. package/build/client/_app/immutable/chunks/yCfI4PCa.js.br +0 -0
  191. package/build/client/_app/immutable/chunks/yCfI4PCa.js.gz +0 -0
  192. package/build/client/_app/immutable/entry/app.ycJtqzGh.js.br +0 -0
  193. package/build/client/_app/immutable/entry/app.ycJtqzGh.js.gz +0 -0
  194. package/build/client/_app/immutable/entry/start.DOq0-PiA.js +0 -1
  195. package/build/client/_app/immutable/entry/start.DOq0-PiA.js.br +0 -0
  196. package/build/client/_app/immutable/entry/start.DOq0-PiA.js.gz +0 -0
  197. package/build/client/_app/immutable/nodes/0.D63E8Q6i.js.br +0 -0
  198. package/build/client/_app/immutable/nodes/0.D63E8Q6i.js.gz +0 -0
  199. package/build/client/_app/immutable/nodes/1.B63I-h1v.js.br +0 -0
  200. package/build/client/_app/immutable/nodes/1.B63I-h1v.js.gz +0 -0
  201. package/build/client/_app/immutable/nodes/2.DXy8PMWZ.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/2.DXy8PMWZ.js.gz +0 -0
  203. package/build/client/_app/version.json.br +0 -0
  204. package/build/client/_app/version.json.gz +0 -0
  205. package/build/client/robots.txt.br +0 -0
  206. package/build/client/robots.txt.gz +0 -0
  207. package/build/env.js.map +0 -1
  208. package/build/handler.js.map +0 -1
  209. package/build/index.js.map +0 -1
  210. package/build/server/chunks/chunks/Arc.canvas.js-DqfSjlnB.js +0 -701
  211. package/build/server/chunks/chunks/Arc.canvas.js-DqfSjlnB.js.map +0 -1
  212. package/build/server/chunks/chunks/Arc.js-DNywwEq7.js +0 -31
  213. package/build/server/chunks/chunks/Arc.js-DNywwEq7.js.map +0 -1
  214. package/build/server/chunks/chunks/Bar.js-BHJrwOa1.js +0 -448
  215. package/build/server/chunks/chunks/Bar.js-BHJrwOa1.js.map +0 -1
  216. package/build/server/chunks/chunks/ChartAnnotations.js-DXt38zkt.js +0 -983
  217. package/build/server/chunks/chunks/ChartAnnotations.js-DXt38zkt.js.map +0 -1
  218. package/build/server/chunks/chunks/Circle.html.js-KngSXZUe.js +0 -355
  219. package/build/server/chunks/chunks/Circle.html.js-KngSXZUe.js.map +0 -1
  220. package/build/server/chunks/chunks/ClipPath.canvas.js-BsGsfzQK.js +0 -170
  221. package/build/server/chunks/chunks/ClipPath.canvas.js-BsGsfzQK.js.map +0 -1
  222. package/build/server/chunks/chunks/DefaultTooltip.js-CbyljZUi.js +0 -352
  223. package/build/server/chunks/chunks/DefaultTooltip.js-CbyljZUi.js.map +0 -1
  224. package/build/server/chunks/chunks/EventScatter.js-DHlLEn_7.js +0 -7371
  225. package/build/server/chunks/chunks/EventScatter.js-DHlLEn_7.js.map +0 -1
  226. package/build/server/chunks/chunks/Labels.js-DhpbhJmV.js +0 -497
  227. package/build/server/chunks/chunks/Labels.js-DhpbhJmV.js.map +0 -1
  228. package/build/server/chunks/chunks/Legend.js-D25j2DRt.js +0 -343
  229. package/build/server/chunks/chunks/Legend.js-D25j2DRt.js.map +0 -1
  230. package/build/server/chunks/chunks/Line.html.js-CKb2T7JC.js +0 -423
  231. package/build/server/chunks/chunks/Line.html.js-CKb2T7JC.js.map +0 -1
  232. package/build/server/chunks/chunks/Link.canvas.js-c0r05107.js +0 -756
  233. package/build/server/chunks/chunks/Link.canvas.js-c0r05107.js.map +0 -1
  234. package/build/server/chunks/chunks/Path.canvas.js-opfoYzQB.js +0 -1259
  235. package/build/server/chunks/chunks/Path.canvas.js-opfoYzQB.js.map +0 -1
  236. package/build/server/chunks/chunks/Points.html.js-CJ75UtkE.js +0 -228
  237. package/build/server/chunks/chunks/Points.html.js-CJ75UtkE.js.map +0 -1
  238. package/build/server/chunks/chunks/Points.js-Bx_vB0po.js +0 -14
  239. package/build/server/chunks/chunks/Points.js-Bx_vB0po.js.map +0 -1
  240. package/build/server/chunks/chunks/Points2.js-Br2MMKbn.js +0 -25
  241. package/build/server/chunks/chunks/Points2.js-Br2MMKbn.js.map +0 -1
  242. package/build/server/chunks/chunks/Rect.html.js-D_-JSZ22.js +0 -547
  243. package/build/server/chunks/chunks/Rect.html.js-D_-JSZ22.js.map +0 -1
  244. package/build/server/chunks/chunks/Spline.js-DpD4175j.js +0 -516
  245. package/build/server/chunks/chunks/Spline.js-DpD4175j.js.map +0 -1
  246. package/build/server/chunks/chunks/Text.html.js-Clxo39Ky.js +0 -847
  247. package/build/server/chunks/chunks/Text.html.js-Clxo39Ky.js.map +0 -1
  248. package/build/server/chunks/chunks/TooltipItem.js-CgYSF3I3.js +0 -314
  249. package/build/server/chunks/chunks/TooltipItem.js-CgYSF3I3.js.map +0 -1
  250. package/build/server/chunks/chunks/Voronoi.js-CX8bqc1A.js +0 -2052
  251. package/build/server/chunks/chunks/Voronoi.js-CX8bqc1A.js.map +0 -1
  252. package/build/server/chunks/chunks/archive.js-BRlkdj2X.js.map +0 -1
  253. package/build/server/chunks/chunks/array.js-CBp0H4t3.js +0 -8
  254. package/build/server/chunks/chunks/array.js-CBp0H4t3.js.map +0 -1
  255. package/build/server/chunks/chunks/attributes.js-ECgqVV_7.js +0 -25
  256. package/build/server/chunks/chunks/attributes.js-ECgqVV_7.js.map +0 -1
  257. package/build/server/chunks/chunks/band.js-BcI84M0Z.js +0 -155
  258. package/build/server/chunks/chunks/band.js-BcI84M0Z.js.map +0 -1
  259. package/build/server/chunks/chunks/centroid.js-BnGN3LH0.js +0 -1356
  260. package/build/server/chunks/chunks/centroid.js-BnGN3LH0.js.map +0 -1
  261. package/build/server/chunks/chunks/common.js-DeZxUyRN.js +0 -5760
  262. package/build/server/chunks/chunks/common.js-DeZxUyRN.js.map +0 -1
  263. package/build/server/chunks/chunks/env.js-l0sNRNKZ.js.map +0 -1
  264. package/build/server/chunks/chunks/env2.js-C5BgBJDY.js.map +0 -1
  265. package/build/server/chunks/chunks/events.js-oxLu7lhH.js +0 -95
  266. package/build/server/chunks/chunks/events.js-oxLu7lhH.js.map +0 -1
  267. package/build/server/chunks/chunks/exports.js-ClPPfcHj.js.map +0 -1
  268. package/build/server/chunks/chunks/group.js-C8H9Tpr6.js +0 -30
  269. package/build/server/chunks/chunks/group.js-C8H9Tpr6.js.map +0 -1
  270. package/build/server/chunks/chunks/identity.js-NmGXxBz3.js.map +0 -1
  271. package/build/server/chunks/chunks/index-server.js-Dsi44azJ.js.map +0 -1
  272. package/build/server/chunks/chunks/index-server2.js-l0sNRNKZ.js +0 -2
  273. package/build/server/chunks/chunks/index-server2.js-l0sNRNKZ.js.map +0 -1
  274. package/build/server/chunks/chunks/internal.js-DZ8ZzzjN.js.map +0 -1
  275. package/build/server/chunks/chunks/internal2.js-Dm0TlpeP.js +0 -188
  276. package/build/server/chunks/chunks/internal2.js-Dm0TlpeP.js.map +0 -1
  277. package/build/server/chunks/chunks/key.svelte.js-C9G4pBhE.js +0 -695
  278. package/build/server/chunks/chunks/key.svelte.js-C9G4pBhE.js.map +0 -1
  279. package/build/server/chunks/chunks/legacy-client.js-C8Upo6IB.js.map +0 -1
  280. package/build/server/chunks/chunks/level-filter.js-H0nc-2BG.js.map +0 -1
  281. package/build/server/chunks/chunks/lineRadial.js-B0m9ujVX.js +0 -126
  282. package/build/server/chunks/chunks/lineRadial.js-B0m9ujVX.js.map +0 -1
  283. package/build/server/chunks/chunks/linear.js-CJ07spu6.js +0 -1046
  284. package/build/server/chunks/chunks/linear.js-CJ07spu6.js.map +0 -1
  285. package/build/server/chunks/chunks/log-buffer.js-A9FA-Qv8.js.map +0 -1
  286. package/build/server/chunks/chunks/math.js-BqujbaBs.js +0 -50
  287. package/build/server/chunks/chunks/math.js-BqujbaBs.js.map +0 -1
  288. package/build/server/chunks/chunks/max.js-CuS0BpRI.js +0 -11
  289. package/build/server/chunks/chunks/max.js-CuS0BpRI.js.map +0 -1
  290. package/build/server/chunks/chunks/min.js-DZWt5tPl.js +0 -11
  291. package/build/server/chunks/chunks/min.js-DZWt5tPl.js.map +0 -1
  292. package/build/server/chunks/chunks/motion.svelte.js-DB7vkWmD.js +0 -677
  293. package/build/server/chunks/chunks/motion.svelte.js-DB7vkWmD.js.map +0 -1
  294. package/build/server/chunks/chunks/occlusion.js-DtcqoJjc.js +0 -33
  295. package/build/server/chunks/chunks/occlusion.js-DtcqoJjc.js.map +0 -1
  296. package/build/server/chunks/chunks/path.js-BizMrlzb.js +0 -488
  297. package/build/server/chunks/chunks/path.js-BizMrlzb.js.map +0 -1
  298. package/build/server/chunks/chunks/path2.js-B3tNByoS.js +0 -27
  299. package/build/server/chunks/chunks/path2.js-B3tNByoS.js.map +0 -1
  300. package/build/server/chunks/chunks/pointRadial.js-Deeu1LXx.js +0 -7
  301. package/build/server/chunks/chunks/pointRadial.js-Deeu1LXx.js.map +0 -1
  302. package/build/server/chunks/chunks/rect.svelte.js-C6R1SgCx.js +0 -187
  303. package/build/server/chunks/chunks/rect.svelte.js-C6R1SgCx.js.map +0 -1
  304. package/build/server/chunks/chunks/regions.js-COf7DgnH.js.map +0 -1
  305. package/build/server/chunks/chunks/scales.svelte.js-C4lRvUAb.js +0 -276
  306. package/build/server/chunks/chunks/scales.svelte.js-C4lRvUAb.js.map +0 -1
  307. package/build/server/chunks/chunks/series-buckets.js-C-vMEJT2.js +0 -316
  308. package/build/server/chunks/chunks/series-buckets.js-C-vMEJT2.js.map +0 -1
  309. package/build/server/chunks/chunks/shared-server.js-Dn5XheXH.js.map +0 -1
  310. package/build/server/chunks/chunks/shared.js-CgjUIvRK.js.map +0 -1
  311. package/build/server/chunks/chunks/source.js-DZEVvuho.js.map +0 -1
  312. package/build/server/chunks/chunks/state.js-qsHzjuJU.js.map +0 -1
  313. package/build/server/chunks/chunks/text-size.svelte.js-CqGaHRr3.js.map +0 -1
  314. package/build/server/chunks/chunks/time-range.js-__87ZPq6.js.map +0 -1
  315. package/build/server/chunks/chunks/types.js-x3GyGPOz.js +0 -11
  316. package/build/server/chunks/chunks/types.js-x3GyGPOz.js.map +0 -1
  317. package/build/server/chunks/chunks/uneval.js-DaakSYFQ.js.map +0 -1
  318. package/build/server/chunks/chunks/utils.js-BIlHjgGW.js.map +0 -1
  319. package/build/server/chunks/entries/endpoints/api/archive/_server.ts.js-C6WY-ljy.js.map +0 -1
  320. package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-C5tfrpmC.js.map +0 -1
  321. package/build/server/chunks/entries/endpoints/api/identity/_server.ts.js-PWRPScuN.js.map +0 -1
  322. package/build/server/chunks/entries/endpoints/api/log-groups/_server.ts.js-DTcVSbpV.js.map +0 -1
  323. package/build/server/chunks/entries/endpoints/api/regions/_server.ts.js-9_g0ojki.js.map +0 -1
  324. package/build/server/chunks/entries/endpoints/api/series/_server.ts.js-CzJ_bXh8.js.map +0 -1
  325. package/build/server/chunks/entries/endpoints/api/stream/_server.ts.js-U2naV16N.js.map +0 -1
  326. package/build/server/chunks/entries/fallbacks/error.svelte.js-ClTGKP0-.js.map +0 -1
  327. package/build/server/chunks/entries/pages/_layout.svelte.js-DNuWb03K.js.map +0 -1
  328. package/build/server/chunks/entries/pages/_page.svelte.js-CVlL2UsO.js.map +0 -1
  329. package/build/server/chunks/handler-CrpvMheE.js.map +0 -1
  330. package/build/server/chunks/index.js-9Dk7Q13E.js.map +0 -1
  331. package/build/server/chunks/manifest.js-DIaODzKX.js.map +0 -1
  332. package/build/server/chunks/nodes/0.js-CQ960AOW.js.map +0 -1
  333. package/build/server/chunks/nodes/1.js-CtTei4sV.js.map +0 -1
  334. package/build/server/chunks/nodes/2.js-BbKDb_M6.js +0 -9
  335. package/build/server/chunks/nodes/2.js-BbKDb_M6.js.map +0 -1
  336. package/build/shims.js.map +0 -1
@@ -1,16 +1,13 @@
1
- import { ae as escape_html, ac as attr, ad as attr_class, af as attr_style, a6 as ensure_array_like, ag as stringify, a1 as derived, ah as spread_props, al as bind_props, am as clsx } from '../../chunks/index-server.js-Dsi44azJ.js';
2
- import { f as LogStore, g as filterByLevel, h as filterEvents, c as effectiveLevel, t as tokenizeJson, b as detectLevel, j as formatLogMessage, k as eventKey, l as levelColorClass } from '../../chunks/log-buffer.js-A9FA-Qv8.js';
1
+ import { ae as escape_html, ac as attr, ad as attr_class, af as attr_style, a6 as ensure_array_like, ag as stringify, P as derived, ah as spread_props, al as bind_props, am as clsx } from '../../chunks/index-server.js-DOq0LmqS.js';
2
+ import { c as LogStore, f as filterByLevel, g as filterEvents, h as effectiveLevel, t as tokenizeJson, b as detectLevel, j as formatLogMessage, k as eventKey, l as levelColorClass, d as detectRequestId, m as mostCriticalLevel, e as eventDurationMs } from '../../chunks/log-buffer.js-BjT3sJlh.js';
3
3
  import { R as REGION_CODES } from '../../chunks/regions.js-COf7DgnH.js';
4
4
  import { P as PRESET_LABELS, a as presetLabel, H as HISTORIC_PRESETS, t as toDateTimeLocal, d as describeWindow } from '../../chunks/time-range.js-__87ZPq6.js';
5
- import { I as Icon, t as textSize, p as puppy } from '../../chunks/text-size.svelte.js-CqGaHRr3.js';
6
- import { p as page, r as replaceState } from '../../chunks/state.js-qsHzjuJU.js';
7
- import { S as SERIES_LEVEL_COLOR, g as groupByLevel, r as requestRows, a as requestIdOf, c as collectRequests, L as LEVEL_LABELS, i as isMeaningfulBrush, b as requestDurations, d as bucketEvents } from '../../chunks/series-buckets.js-C-vMEJT2.js';
5
+ import { I as Icon, t as textSize, p as puppy } from '../../chunks/text-size.svelte.js-D09gVgvI.js';
6
+ import { p as page, r as replaceState } from '../../chunks/state.js-CdO6iuBd.js';
8
7
  import '../../chunks/uneval.js-DaakSYFQ.js';
9
8
  import '../../chunks/shared.js-CgjUIvRK.js';
10
- import '../../chunks/exports.js-ClPPfcHj.js';
11
- import '../../chunks/internal2.js-Dm0TlpeP.js';
12
- import '../../chunks/legacy-client.js-C8Upo6IB.js';
13
- import '../../chunks/events.js-oxLu7lhH.js';
9
+ import '../../chunks/exports.js-CvFPPbaH.js';
10
+ import '../../chunks/internal2.js-B2FekELn.js';
14
11
  import '../../chunks/utils.js-BIlHjgGW.js';
15
12
 
16
13
  //#region node_modules/.pnpm/@lucide+svelte@1.47.0_svelte@5.57.0/node_modules/@lucide/svelte/dist/icons/arrow-right.svelte
@@ -200,6 +197,318 @@ function EndpointBadge($$renderer, $$props) {
200
197
  });
201
198
  }
202
199
  //#endregion
200
+ //#region src/lib/request-groups.ts
201
+ /**
202
+ * Request grouping: the one place that decides what a "request" is.
203
+ *
204
+ * CloudWatch Logs has no concept of a request. A request is a set of lines that
205
+ * share a log group and detected request id - a Lambda `REPORT RequestId: ...` line, an API
206
+ * Gateway access log, a framework's structured `requestId` - and the same id
207
+ * must produce the same group in the log view and in the chart. Both call the
208
+ * helpers here, so a line that reads as one request in one view reads as one
209
+ * request in the other.
210
+ *
211
+ * Design decisions:
212
+ *
213
+ * - A request is placed where it *starts* (its first line), because a request
214
+ * that logs for two minutes is one event that happened, not two.
215
+ * - A request's level is its most critical line. An error is what a reader
216
+ * needs to see, even when twenty lines around it are info.
217
+ * - Lines without a request id are not grouped: they keep their own row and
218
+ * their own chart mark, which is honest about what the log contains.
219
+ */
220
+ /**
221
+ * Request id of an event.
222
+ *
223
+ * A value the server already detected wins, because it is the same value the
224
+ * archive stored; only an event that carries no verdict is detected here.
225
+ */
226
+ function requestIdOf(event) {
227
+ if (event.requestId !== void 0) {
228
+ const declared = event.requestId;
229
+ return declared === null || declared === "" ? null : declared;
230
+ }
231
+ return detectRequestId(event.message ?? "");
232
+ }
233
+ /** Level of a request: its worst line, or `unknown` when no line has a level. */
234
+ function requestLevel(events) {
235
+ return mostCriticalLevel(events.map((event) => effectiveLevel(event))) ?? "unknown";
236
+ }
237
+ /** Groups events by log group and request id, keeping every timestamp and byte of the originals. */
238
+ function collectRequests(events) {
239
+ const byId = /* @__PURE__ */ new Map();
240
+ events.forEach((event, index) => {
241
+ const id = requestIdOf(event);
242
+ if (id === null) return;
243
+ const key = JSON.stringify([event.group ?? "", id]);
244
+ const existing = byId.get(key);
245
+ if (existing === void 0) {
246
+ byId.set(key, {
247
+ id,
248
+ level: "unknown",
249
+ first: event.timestamp,
250
+ last: event.timestamp,
251
+ events: [{
252
+ event,
253
+ index
254
+ }]
255
+ });
256
+ return;
257
+ }
258
+ existing.events.push({
259
+ event,
260
+ index
261
+ });
262
+ if (Number.isFinite(event.timestamp)) {
263
+ if (event.timestamp < existing.first) existing.first = event.timestamp;
264
+ if (event.timestamp > existing.last) existing.last = event.timestamp;
265
+ }
266
+ });
267
+ const groups = [...byId.values()];
268
+ for (const group of groups) group.level = requestLevel(group.events.map((entry) => entry.event));
269
+ return groups;
270
+ }
271
+ /** True when an event belongs to a request. */
272
+ function hasRequestId(event) {
273
+ return requestIdOf(event) !== null;
274
+ }
275
+ /**
276
+ * Builds the log view's rows for a buffer.
277
+ *
278
+ * A request is placed where its first line appeared, so the view stays in time
279
+ * order and a request never jumps down the list when its last line lands. The
280
+ * lines inside a request keep their own order.
281
+ */
282
+ function requestRows(events) {
283
+ const at = /* @__PURE__ */ new Map();
284
+ for (const group of collectRequests(events)) {
285
+ const first = group.events[0];
286
+ if (first !== void 0) at.set(first.index, group);
287
+ }
288
+ const rows = [];
289
+ events.forEach((event, index) => {
290
+ const group = at.get(index);
291
+ if (group !== void 0) {
292
+ rows.push({
293
+ kind: "request",
294
+ key: `req:${JSON.stringify([group.events[0]?.event.group ?? "", group.id])}`,
295
+ request: group
296
+ });
297
+ return;
298
+ }
299
+ if (hasRequestId(event)) return;
300
+ rows.push({
301
+ kind: "line",
302
+ key: `line:${index}`,
303
+ event,
304
+ index
305
+ });
306
+ });
307
+ return rows;
308
+ }
309
+ /**
310
+ * Counts requests into buckets, one mark per request, per group and level.
311
+ *
312
+ * A request is counted in the bucket its first line falls in, and only when
313
+ * that first line is inside the window: a request that started before the window
314
+ * is not re-counted in every bucket it touches. Lines that belong to no request
315
+ * are still counted, each as one mark, so nothing disappears from the chart when
316
+ * grouping is on. The level filter is applied to the request's most critical
317
+ * level, matching what the archive answers, so the chips mean the same thing in
318
+ * both sources.
319
+ */
320
+ function bucketRequests(events, options) {
321
+ const bucketMs = options.bucketMs > 0 ? Math.round(options.bucketMs) : 6e4;
322
+ const levelFilter = options.level ?? null;
323
+ const fallbackGroup = options.fallbackGroup ?? "";
324
+ const marks = [];
325
+ for (const group of collectRequests(events)) marks.push({
326
+ t: group.first,
327
+ group: group.events[0]?.event.group ?? fallbackGroup,
328
+ level: group.level
329
+ });
330
+ for (const event of events) {
331
+ if (requestIdOf(event) !== null) continue;
332
+ marks.push({
333
+ t: event.timestamp,
334
+ group: event.group ?? fallbackGroup,
335
+ level: effectiveLevel(event) ?? "unknown"
336
+ });
337
+ }
338
+ const counts = /* @__PURE__ */ new Map();
339
+ for (const mark of marks) {
340
+ const timestamp = mark.t;
341
+ if (!Number.isFinite(timestamp)) continue;
342
+ if (timestamp < options.from || timestamp >= options.to) continue;
343
+ if (levelFilter !== null && mark.level !== levelFilter) continue;
344
+ const t = Math.floor(timestamp / bucketMs) * bucketMs;
345
+ const name = mark.group;
346
+ const key = `${t}\u0000${name}\u0000${mark.level}`;
347
+ const existing = counts.get(key);
348
+ if (existing === void 0) counts.set(key, {
349
+ t,
350
+ group: name,
351
+ level: mark.level,
352
+ events: 1
353
+ });
354
+ else existing.events += 1;
355
+ }
356
+ return [...counts.values()].toSorted((a, b) => a.t === b.t ? a.level.localeCompare(b.level) : a.t - b.t);
357
+ }
358
+ //#endregion
359
+ //#region src/lib/series-buckets.ts
360
+ /**
361
+ * Client-side bucketing for the chart.
362
+ *
363
+ * The archive answers `/api/series` with counts it can compute in DuckDB, but a
364
+ * CloudWatch view has no aggregate API, so the events already streamed into the
365
+ * view are bucketed here instead. Both paths produce the same
366
+ * {@link SeriesPoint} shape, so the chart has one data contract.
367
+ */
368
+ /** Severity order used wherever levels are listed. */
369
+ var LEVEL_ORDER = [
370
+ "error",
371
+ "warn",
372
+ "info",
373
+ "debug",
374
+ "unknown"
375
+ ];
376
+ /** Label shown for a level. */
377
+ var LEVEL_LABELS = {
378
+ error: "Error",
379
+ warn: "Warn",
380
+ info: "Info",
381
+ debug: "Debug",
382
+ unknown: "No level"
383
+ };
384
+ /**
385
+ * Chart palette per level, matching the colours the log viewer uses for lines.
386
+ *
387
+ * SVG needs real colour values rather than Tailwind classes, so the palette is
388
+ * kept next to the level helpers instead of in the component.
389
+ */
390
+ var SERIES_LEVEL_COLOR = {
391
+ error: "var(--chart-error, #f87171)",
392
+ warn: "var(--chart-warn, #fcd34d)",
393
+ info: "var(--chart-info, #a3a3a3)",
394
+ debug: "var(--chart-debug, #737373)",
395
+ unknown: "var(--chart-unknown, #525252)"
396
+ };
397
+ /** Bucket width used when a caller does not ask for one. */
398
+ var DEFAULT_BUCKET_MS = 6e4;
399
+ /** Level of an event as the chart counts it. */
400
+ function seriesLevelOf(event) {
401
+ return effectiveLevel(event) ?? "unknown";
402
+ }
403
+ /**
404
+ * Counts events into buckets of one width, per group and level.
405
+ *
406
+ * Events outside the window are ignored, as are events without a usable
407
+ * timestamp: the chart describes exactly the window it is drawn for. With
408
+ * `byRequest`, a request is one mark instead of its lines being many, which is
409
+ * the same thing the archive counts in SQL.
410
+ */
411
+ function bucketEvents(events, options) {
412
+ const requested = options.bucketMs ?? 6e4;
413
+ const bucketMs = Number.isFinite(requested) && requested > 0 ? Math.round(requested) : DEFAULT_BUCKET_MS;
414
+ const levelFilter = options.level ?? null;
415
+ const fallbackGroup = options.fallbackGroup ?? "";
416
+ if (options.byRequest === true) return bucketRequests(events, {
417
+ from: options.from,
418
+ to: options.to,
419
+ bucketMs,
420
+ level: levelFilter,
421
+ fallbackGroup
422
+ });
423
+ const counts = /* @__PURE__ */ new Map();
424
+ for (const event of events) {
425
+ const timestamp = event.timestamp;
426
+ if (!Number.isFinite(timestamp)) continue;
427
+ if (timestamp < options.from || timestamp >= options.to) continue;
428
+ const level = seriesLevelOf(event);
429
+ if (levelFilter !== null && level !== levelFilter) continue;
430
+ const t = Math.floor(timestamp / bucketMs) * bucketMs;
431
+ const group = event.group ?? fallbackGroup;
432
+ const key = `${t}\u0000${group}\u0000${level}`;
433
+ const existing = counts.get(key);
434
+ if (existing === void 0) counts.set(key, {
435
+ t,
436
+ group,
437
+ level,
438
+ events: 1
439
+ });
440
+ else existing.events += 1;
441
+ }
442
+ return [...counts.values()].toSorted((a, b) => a.t === b.t ? a.level.localeCompare(b.level) : a.t - b.t);
443
+ }
444
+ /**
445
+ * Splits points into one series per level, in severity order.
446
+ *
447
+ * A level with no events is left out, so the legend only names what is drawn.
448
+ */
449
+ function groupByLevel(points) {
450
+ const byLevel = /* @__PURE__ */ new Map();
451
+ for (const point of points) {
452
+ const bucket = byLevel.get(point.level);
453
+ if (bucket === void 0) byLevel.set(point.level, [point]);
454
+ else bucket.push(point);
455
+ }
456
+ return LEVEL_ORDER.filter((level) => byLevel.has(level)).map((level) => {
457
+ const levelPoints = (byLevel.get(level) ?? []).toSorted((a, b) => a.t - b.t);
458
+ return {
459
+ level,
460
+ label: LEVEL_LABELS[level],
461
+ points: levelPoints,
462
+ events: levelPoints.reduce((sum, point) => sum + point.events, 0)
463
+ };
464
+ });
465
+ }
466
+ /** Fraction of the window a brush must stay under to count as a zoom. */
467
+ var MAX_BRUSH_FRACTION = .98;
468
+ /**
469
+ * True when a brushed range is a deliberate zoom rather than a stray click.
470
+ *
471
+ * A pointer down and up a couple of pixels apart still produces a range (the
472
+ * chart has a minimum selection width), and a double click on empty space
473
+ * selects the whole domain. Acting on either would re-scope the log view to a
474
+ * window with nothing in it, so a brush is only applied when it spans at least
475
+ * two buckets and a floor of {@link MIN_BRUSH_MS}, and is narrower than almost
476
+ * the whole window.
477
+ */
478
+ function isMeaningfulBrush(range, window, bucketMs) {
479
+ const span = range.to - range.from;
480
+ if (!Number.isFinite(span) || span <= 0) return false;
481
+ const windowSpan = window.to - window.from;
482
+ if (!Number.isFinite(windowSpan) || windowSpan <= 0) return false;
483
+ if (span < Math.max(3e4, bucketMs * 2)) return false;
484
+ return span <= windowSpan * MAX_BRUSH_FRACTION;
485
+ }
486
+ /** One point per identified request, using its observed first/last events in the window. */
487
+ function requestDurations(events, options) {
488
+ const byGroup = /* @__PURE__ */ new Map();
489
+ for (const event of events) {
490
+ if (!Number.isFinite(event.timestamp) || event.timestamp < options.from || event.timestamp > options.to) continue;
491
+ const group = event.group ?? options.fallbackGroup ?? "";
492
+ const rows = byGroup.get(group) ?? [];
493
+ rows.push(event);
494
+ byGroup.set(group, rows);
495
+ }
496
+ const points = [];
497
+ for (const [group, rows] of byGroup) for (const request of collectRequests(rows)) {
498
+ if (options.level && request.level !== options.level) continue;
499
+ const last = request.events.reduce((latest, entry) => entry.event.timestamp >= latest.timestamp ? entry.event : latest, request.events[0].event);
500
+ points.push({
501
+ t: request.first,
502
+ group,
503
+ level: request.level,
504
+ events: 1,
505
+ requestId: request.id,
506
+ durationMs: request.last - request.first + eventDurationMs(last.message)
507
+ });
508
+ }
509
+ return points.toSorted((a, b) => a.t - b.t || a.group.localeCompare(b.group) || (a.requestId ?? "").localeCompare(b.requestId ?? ""));
510
+ }
511
+ //#endregion
203
512
  //#region src/lib/resize.ts
204
513
  /**
205
514
  * Pure helpers for the drag-resizable columns in the UI.
@@ -256,8 +565,11 @@ function EventScatterPanel($$renderer, $$props) {
256
565
  /**
257
566
  * The real loader: a dynamic import, which is what keeps layerchart out of the
258
567
  * initial bundle. It only runs in the browser, and only once the panel is open.
568
+ * The server build gets a stub instead: without it, layerchart and d3 are
569
+ * compiled into the server chunks (and shipped in the npm package) for code
570
+ * that never runs there.
259
571
  */
260
- const loadChartModule = () => import('../../chunks/EventScatter.js-DHlLEn_7.js');
572
+ const loadChartModule = () => Promise.reject(/* @__PURE__ */ new Error("the chart is client-only"));
261
573
  /** Bucketed counts for the window. */
262
574
  /** Inclusive start of the window, epoch ms. */
263
575
  /** Inclusive end of the window, epoch ms. */
@@ -1912,4 +2224,3 @@ function _page($$renderer, $$props) {
1912
2224
  }
1913
2225
 
1914
2226
  export { _page as default };
1915
- //# sourceMappingURL=_page.svelte.js-CVlL2UsO.js.map
@@ -9,8 +9,8 @@ import * as qs from 'node:querystring';
9
9
  import { Readable } from 'node:stream';
10
10
  import { S as SvelteKitError } from './chunks/shared.js-CgjUIvRK.js';
11
11
  import './chunks/utils.js-BIlHjgGW.js';
12
- import { S as Server } from './index.js-9Dk7Q13E.js';
13
- import { m as manifest } from './manifest.js-DIaODzKX.js';
12
+ import { S as Server } from './index.js-BLTOesya.js';
13
+ import { m as manifest } from './manifest.js-C1_IS4sj.js';
14
14
  import { env, dir, env_prefix } from '../../env.js';
15
15
  import { format } from 'node:url';
16
16
 
@@ -1534,8 +1534,8 @@ function serve(path, client = false) {
1534
1534
  return fs__default.existsSync(path)
1535
1535
  ? sirv(path, {
1536
1536
  etag: true,
1537
- gzip: true,
1538
- brotli: true,
1537
+ gzip: false,
1538
+ brotli: false,
1539
1539
  setHeaders: client
1540
1540
  ? (res, pathname) => {
1541
1541
  // only apply to build directory, not e.g. version.json
@@ -1732,4 +1732,3 @@ const handler = sequence(
1732
1732
  );
1733
1733
 
1734
1734
  export { format_listening_address as f, handler as h, polka as p };
1735
- //# sourceMappingURL=handler-CrpvMheE.js.map
@@ -1,11 +1,11 @@
1
- import { a2 as __commonJSMin, a3 as writable, a4 as readable } from './chunks/index-server.js-Dsi44azJ.js';
1
+ import { a2 as __commonJSMin, a3 as writable, a4 as readable } from './chunks/index-server.js-DOq0LmqS.js';
2
2
  import { n as noop, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, R as Redirect, b as get_relative_path, S as SvelteKitError, g as get_status, t as text_encoder, o as once, H as HttpError, d as normalize_error, e as create_remote_key, f as parse_remote_arg, s as stringify, h as stringify$1, A as ActionFailure, i as split_remote_key, j as base64_encode } from './chunks/shared.js-CgjUIvRK.js';
3
3
  import { b as base, o as override, a as assets, r as reset, c as app_dir } from './chunks/internal.js-DZ8ZzzjN.js';
4
4
  import { f as format_server_error, j as json, i as is_form_content_type, t as text, h as has_prerendered_path, a as handle_fatal_error, r as redirect_response, g as get_set_cookies, n as negotiate, w as with_request_store, p as parseString, m as merge_tracing, b as method_not_allowed, s as static_error_page, c as handle_error_and_jsonify, d as get_global_name, e as create_replacer, k as serialize_uses, l as clarify_devalue_error, E as ENDPOINT_METHODS, P as PAGE_METHODS, o as get_node_type, q as isRedirect, u as escape_html, v as error, x as deserialize_binary_form } from './chunks/utils.js-BIlHjgGW.js';
5
5
  import { u as uneval } from './chunks/uneval.js-DaakSYFQ.js';
6
6
  import { s as set_private_env, a as set_public_env, p as public_env } from './chunks/shared-server.js-Dn5XheXH.js';
7
- import { d as decode_pathname, f as find_route, n as normalize_path, a as disable_search, v as validate_layout_server_exports, b as validate_layout_exports, c as validate_page_server_exports, e as validate_page_exports, r as resolve, h as hash, m as make_trackable } from './chunks/exports.js-ClPPfcHj.js';
8
- import { o as options, g as get_hooks, r as read_implementation, s as set_read_implementation } from './chunks/internal2.js-Dm0TlpeP.js';
7
+ import { d as decode_pathname, f as find_route, n as normalize_path, a as disable_search, v as validate_layout_server_exports, b as validate_layout_exports, c as validate_page_server_exports, e as validate_page_exports, r as resolve, h as hash, m as make_trackable } from './chunks/exports.js-CvFPPbaH.js';
8
+ import { o as options, g as get_hooks, r as read_implementation, s as set_read_implementation } from './chunks/internal2.js-B2FekELn.js';
9
9
 
10
10
  //#region node_modules/.pnpm/@sveltejs+kit@2.70.3_@sveltejs+vite-plugin-svelte@7.3.0_svelte@5.57.0_vite@8.2.2_@types_ab6e39593f61aae0ad0b9a1bac6935c7/node_modules/@sveltejs/kit/src/utils/promise.js
11
11
  /** @see https://github.com/microsoft/TypeScript/blob/904e7dd97dc8da1352c8e05d70829dff17c73214/src/lib/es2024.promise.d.ts */
@@ -3800,4 +3800,3 @@ var Server = class {
3800
3800
  };
3801
3801
 
3802
3802
  export { Server as S };
3803
- //# sourceMappingURL=index.js-9Dk7Q13E.js.map
@@ -10,11 +10,11 @@ return {
10
10
  assets: new Set(["robots.txt"]),
11
11
  mimeTypes: {".txt":"text/plain"},
12
12
  _: {
13
- client: {start:"_app/immutable/entry/start.DOq0-PiA.js",app:"_app/immutable/entry/app.ycJtqzGh.js",imports:["_app/immutable/entry/start.DOq0-PiA.js","_app/immutable/chunks/CPbNf3ya.js","_app/immutable/chunks/B2En4t_E.js","_app/immutable/entry/app.ycJtqzGh.js","_app/immutable/chunks/B2En4t_E.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
13
+ client: {start:"_app/immutable/entry/start.DmBlaUbV.js",app:"_app/immutable/entry/app.BEq8gOel.js",imports:["_app/immutable/entry/start.DmBlaUbV.js","_app/immutable/chunks/DrupwIIS.js","_app/immutable/chunks/B2En4t_E.js","_app/immutable/entry/app.BEq8gOel.js","_app/immutable/chunks/B2En4t_E.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
14
14
  nodes: [
15
- __memo(() => import('./nodes/0.js-CQ960AOW.js')),
16
- __memo(() => import('./nodes/1.js-CtTei4sV.js')),
17
- __memo(() => import('./nodes/2.js-BbKDb_M6.js'))
15
+ __memo(() => import('./nodes/0.js-BHXaR9OX.js')),
16
+ __memo(() => import('./nodes/1.js-C-coUSdu.js')),
17
+ __memo(() => import('./nodes/2.js-Dor6Xgc7.js'))
18
18
  ],
19
19
  remotes: {
20
20
 
@@ -32,7 +32,7 @@ return {
32
32
  pattern: /^\/api\/archive\/?$/,
33
33
  params: [],
34
34
  page: null,
35
- endpoint: __memo(() => import('./entries/endpoints/api/archive/_server.ts.js-C6WY-ljy.js'))
35
+ endpoint: __memo(() => import('./entries/endpoints/api/archive/_server.ts.js-D-97I3hr.js'))
36
36
  },
37
37
  {
38
38
  id: "/api/health",
@@ -53,7 +53,7 @@ return {
53
53
  pattern: /^\/api\/log-groups\/?$/,
54
54
  params: [],
55
55
  page: null,
56
- endpoint: __memo(() => import('./entries/endpoints/api/log-groups/_server.ts.js-DTcVSbpV.js'))
56
+ endpoint: __memo(() => import('./entries/endpoints/api/log-groups/_server.ts.js-BBBsBX5h.js'))
57
57
  },
58
58
  {
59
59
  id: "/api/regions",
@@ -67,14 +67,14 @@ return {
67
67
  pattern: /^\/api\/series\/?$/,
68
68
  params: [],
69
69
  page: null,
70
- endpoint: __memo(() => import('./entries/endpoints/api/series/_server.ts.js-CzJ_bXh8.js'))
70
+ endpoint: __memo(() => import('./entries/endpoints/api/series/_server.ts.js-bsGqvQ1O.js'))
71
71
  },
72
72
  {
73
73
  id: "/api/stream",
74
74
  pattern: /^\/api\/stream\/?$/,
75
75
  params: [],
76
76
  page: null,
77
- endpoint: __memo(() => import('./entries/endpoints/api/stream/_server.ts.js-U2naV16N.js'))
77
+ endpoint: __memo(() => import('./entries/endpoints/api/stream/_server.ts.js-B6obpUbh.js'))
78
78
  }
79
79
  ],
80
80
  prerendered_routes: new Set([]),
@@ -88,4 +88,3 @@ return {
88
88
  })();
89
89
 
90
90
  export { manifest as m };
91
- //# sourceMappingURL=manifest.js-DIaODzKX.js.map
@@ -1,9 +1,8 @@
1
1
  const index = 0;
2
2
  let component_cache;
3
- const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js-DNuWb03K.js')).default;
3
+ const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js-C3CVxu2T.js')).default;
4
4
  const imports = ["_app/immutable/nodes/0.D63E8Q6i.js","_app/immutable/chunks/B2En4t_E.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/LGzrUxfF.js"];
5
5
  const stylesheets = ["_app/immutable/assets/0.B5hI3s8c.css"];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=0.js-CQ960AOW.js.map
@@ -1,9 +1,8 @@
1
1
  const index = 1;
2
2
  let component_cache;
3
- const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js-ClTGKP0-.js')).default;
4
- const imports = ["_app/immutable/nodes/1.B63I-h1v.js","_app/immutable/chunks/B2En4t_E.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D6vIi1r5.js","_app/immutable/chunks/CPbNf3ya.js"];
3
+ const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js-BupH3lxJ.js')).default;
4
+ const imports = ["_app/immutable/nodes/1.DXfG5P6X.js","_app/immutable/chunks/B2En4t_E.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/CL6wPCzw.js","_app/immutable/chunks/DrupwIIS.js"];
5
5
  const stylesheets = [];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=1.js-CtTei4sV.js.map
@@ -0,0 +1,8 @@
1
+ const index = 2;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-DS9p1LVo.js')).default;
4
+ const imports = ["_app/immutable/nodes/2.45XrHxUU.js","_app/immutable/chunks/B2En4t_E.js","_app/immutable/chunks/DrupwIIS.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/LGzrUxfF.js","_app/immutable/chunks/CL6wPCzw.js","_app/immutable/chunks/CBZpkDc1.js"];
5
+ const stylesheets = ["_app/immutable/assets/2.Cn4w1JYv.css"];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
package/build/shims.js CHANGED
@@ -30,4 +30,3 @@ function installPolyfills() {
30
30
  }
31
31
 
32
32
  installPolyfills();
33
- //# sourceMappingURL=shims.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "watch-tail",
3
- "version": "0.10.0",
3
+ "version": "0.10.1",
4
4
  "description": "Tail Amazon CloudWatch Logs in your browser: a local SvelteKit UI with live and historic streaming, ambient AWS credentials and floci support",
5
5
  "keywords": [
6
6
  "aws",
@@ -45,23 +45,24 @@
45
45
  "@bomb.sh/args": "^0.3.1",
46
46
  "@bomb.sh/tab": "^0.0.22",
47
47
  "@clack/prompts": "^1.8.0",
48
- "@lucide/svelte": "^1.47.0",
49
48
  "@tmcp/adapter-valibot": "^0.1.6",
50
- "layerchart": "^2.5.0",
51
49
  "tmcp": "^1.20.0",
52
50
  "valibot": "^1.5.0"
53
51
  },
54
52
  "devDependencies": {
55
53
  "@changesets/changelog-github": "^1.0.1",
56
54
  "@changesets/cli": "^3.0.2",
55
+ "@lucide/svelte": "^1.47.0",
57
56
  "@sveltejs/adapter-node": "^5.5.4",
58
57
  "@sveltejs/kit": "^2.63.0",
59
58
  "@sveltejs/vite-plugin-svelte": "^7.1.2",
60
59
  "@tailwindcss/vite": "^4.3.0",
61
60
  "@testing-library/svelte": "^5.4.2",
62
61
  "@types/node": "^22.20.2",
62
+ "es-module-lexer": "^2.3.2",
63
63
  "jsdom": "^30.0.1",
64
64
  "knip": "^6.35.1",
65
+ "layerchart": "^2.5.0",
65
66
  "oxfmt": "^0.67.0",
66
67
  "oxlint": "^1.82.0",
67
68
  "playwright": "^1.63.0",
@@ -76,12 +77,19 @@
76
77
  "optionalDependencies": {
77
78
  "@duckdb/node-api": "^1.5.5-r.4"
78
79
  },
80
+ "devEngines": {
81
+ "runtime": {
82
+ "name": "node",
83
+ "version": ">=22.18",
84
+ "onFail": "error"
85
+ }
86
+ },
79
87
  "engines": {
80
88
  "node": ">=22"
81
89
  },
82
90
  "scripts": {
83
91
  "dev": "vite dev",
84
- "build": "vite build && tsc -p tsconfig.cli.json",
92
+ "build": "vite build && node scripts/strip-sourcemaps.ts && tsc -p tsconfig.cli.json",
85
93
  "preview": "vite preview",
86
94
  "start": "node dist/cli/bin.js",
87
95
  "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
@@ -94,7 +102,7 @@
94
102
  "format": "oxfmt --write .",
95
103
  "format:check": "oxfmt --check .",
96
104
  "knip": "knip",
97
- "verify": "pnpm check && pnpm lint && pnpm format:check && pnpm test && pnpm knip && pnpm build",
105
+ "verify": "pnpm check && pnpm lint && pnpm format:check && pnpm test && pnpm knip && pnpm build && pnpm check:package",
98
106
  "floci:start": "floci start",
99
107
  "floci:stop": "floci stop",
100
108
  "floci:env": "node scripts/floci-env.ts",
@@ -105,10 +113,11 @@
105
113
  "dev:aws": "node scripts/dev.ts",
106
114
  "start:aws": "node scripts/dev.ts --start",
107
115
  "test:ui": "node scripts/ui-smoke.ts",
108
- "build:app": "vite build",
116
+ "build:app": "vite build && node scripts/strip-sourcemaps.ts",
109
117
  "build:cli": "tsc -p tsconfig.cli.json",
110
118
  "watch-tail": "node dist/cli/bin.js",
111
- "publish:check": "publint && npm pack --dry-run",
119
+ "publish:check": "publint && npm pack --dry-run && pnpm check:package",
120
+ "check:package": "node scripts/check-package.ts",
112
121
  "test:cli": "WATCH_TAIL_E2E=1 vitest run --project integration tests/cli-server.spec.ts tests/shutdown.spec.ts tests/cli-terminal.spec.ts",
113
122
  "changeset": "changeset",
114
123
  "changeset:version": "changeset version && pnpm install --no-frozen-lockfile"
@@ -1 +0,0 @@
1
- �`d�Oh�>������e���}�}� �Bz~�j�m� '�����B�.$BJ�t�"ѥ���(a����c9��R3D���<�qްI���Y�elsˆ�Ǭ����Ay�OYY�$�:(h���N�`1'�u�>�Pʴ���&O�$a�����9�UHde?��