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.
Files changed (357) hide show
  1. package/README.md +103 -8
  2. package/build/client/_app/immutable/assets/0.B5hI3s8c.css +2 -0
  3. package/build/client/_app/immutable/assets/0.B5hI3s8c.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.B5hI3s8c.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/2.Cn4w1JYv.css +1 -0
  6. package/build/client/_app/immutable/assets/2.Cn4w1JYv.css.br +0 -0
  7. package/build/client/_app/immutable/assets/2.Cn4w1JYv.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/B2En4t_E.js +3 -0
  9. package/build/client/_app/immutable/chunks/B2En4t_E.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/B2En4t_E.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/BJ7fEbY9.js +1 -0
  12. package/build/client/_app/immutable/chunks/BJ7fEbY9.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/BJ7fEbY9.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{D7vimbmk.js → BX0v2q9h.js} +1 -1
  15. package/build/client/_app/immutable/chunks/BX0v2q9h.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/BX0v2q9h.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{DwOZdLDj.js → B_AZHMkI.js} +1 -1
  18. package/build/client/_app/immutable/chunks/B_AZHMkI.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/B_AZHMkI.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{dqF8mxBW.js → Bb9UOIo-.js} +1 -1
  21. package/build/client/_app/immutable/chunks/Bb9UOIo-.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/Bb9UOIo-.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{0b2v80OK.js → BdV_pkVs.js} +1 -1
  24. package/build/client/_app/immutable/chunks/BdV_pkVs.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/BdV_pkVs.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{C_U_Jvk5.js → BsrUsB47.js} +1 -1
  27. package/build/client/_app/immutable/chunks/BsrUsB47.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/BsrUsB47.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/{DvxMaQv_.js → CHnbfiIG.js} +1 -1
  30. package/build/client/_app/immutable/chunks/CHnbfiIG.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/CHnbfiIG.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/{DS3cLPAu.js → CNomy7CF.js} +1 -1
  33. package/build/client/_app/immutable/chunks/CNomy7CF.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/CNomy7CF.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/CPbNf3ya.js +1 -0
  36. package/build/client/_app/immutable/chunks/CPbNf3ya.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/CPbNf3ya.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/CZ2PC-zH.js +1 -0
  39. package/build/client/_app/immutable/chunks/CZ2PC-zH.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/CZ2PC-zH.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/CljxK204.js +1 -0
  42. package/build/client/_app/immutable/chunks/CljxK204.js.br +1 -0
  43. package/build/client/_app/immutable/chunks/CljxK204.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/CzU0cUz4.js +1 -0
  45. package/build/client/_app/immutable/chunks/CzU0cUz4.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/CzU0cUz4.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/{B5RiPG8Z.js → D6vIi1r5.js} +1 -1
  48. package/build/client/_app/immutable/chunks/D6vIi1r5.js.br +3 -0
  49. package/build/client/_app/immutable/chunks/D6vIi1r5.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/DAxERhtN.js +1 -0
  51. package/build/client/_app/immutable/chunks/DAxERhtN.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/DAxERhtN.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/DIzgJaYS.js +1 -0
  54. package/build/client/_app/immutable/chunks/DIzgJaYS.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/DIzgJaYS.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/DSHrbzz3.js +1 -0
  57. package/build/client/_app/immutable/chunks/DSHrbzz3.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/DSHrbzz3.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/{Dkh4Dwm8.js → DSvLImpl.js} +1 -1
  60. package/build/client/_app/immutable/chunks/DSvLImpl.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/DSvLImpl.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/{b77-bq1n.js → DWBod19x.js} +1 -1
  63. package/build/client/_app/immutable/chunks/DWBod19x.js.br +0 -0
  64. package/build/client/_app/immutable/chunks/DWBod19x.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/{IlwbfbOu.js → Dicxo5h-.js} +1 -1
  66. package/build/client/_app/immutable/chunks/Dicxo5h-.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/Dicxo5h-.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/DjjHmSG3.js +1 -0
  69. package/build/client/_app/immutable/chunks/DjjHmSG3.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/DjjHmSG3.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/DlDLXtam.js +1 -0
  72. package/build/client/_app/immutable/chunks/DlDLXtam.js.br +0 -0
  73. package/build/client/_app/immutable/chunks/DlDLXtam.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/EZJqWoh3.js +1 -0
  75. package/build/client/_app/immutable/chunks/EZJqWoh3.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/EZJqWoh3.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/Fg8W5tkO.js +15 -0
  78. package/build/client/_app/immutable/chunks/Fg8W5tkO.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/Fg8W5tkO.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/LGzrUxfF.js +1 -0
  81. package/build/client/_app/immutable/chunks/LGzrUxfF.js.br +0 -0
  82. package/build/client/_app/immutable/chunks/LGzrUxfF.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/McME9wI6.js +10 -0
  84. package/build/client/_app/immutable/chunks/McME9wI6.js.br +0 -0
  85. package/build/client/_app/immutable/chunks/McME9wI6.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/N78Fm5Ux.js +1 -0
  87. package/build/client/_app/immutable/chunks/N78Fm5Ux.js.br +0 -0
  88. package/build/client/_app/immutable/chunks/N78Fm5Ux.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/{DQqLOGLe.js → XrAcf7YH.js} +1 -1
  90. package/build/client/_app/immutable/chunks/XrAcf7YH.js.br +0 -0
  91. package/build/client/_app/immutable/chunks/XrAcf7YH.js.gz +0 -0
  92. package/build/client/_app/immutable/chunks/{aI_O2VuQ.js → _PJhUOmT.js} +1 -1
  93. package/build/client/_app/immutable/chunks/_PJhUOmT.js.br +0 -0
  94. package/build/client/_app/immutable/chunks/_PJhUOmT.js.gz +0 -0
  95. package/build/client/_app/immutable/chunks/gXyWwJbW.js +1 -0
  96. package/build/client/_app/immutable/chunks/gXyWwJbW.js.br +0 -0
  97. package/build/client/_app/immutable/chunks/gXyWwJbW.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/{DGYKsRyW.js → vMHl7jRw.js} +1 -1
  99. package/build/client/_app/immutable/chunks/vMHl7jRw.js.br +0 -0
  100. package/build/client/_app/immutable/chunks/vMHl7jRw.js.gz +0 -0
  101. package/build/client/_app/immutable/chunks/xJTjOoUQ.js +2 -0
  102. package/build/client/_app/immutable/chunks/xJTjOoUQ.js.br +0 -0
  103. package/build/client/_app/immutable/chunks/xJTjOoUQ.js.gz +0 -0
  104. package/build/client/_app/immutable/entry/app.ycJtqzGh.js +2 -0
  105. package/build/client/_app/immutable/entry/app.ycJtqzGh.js.br +0 -0
  106. package/build/client/_app/immutable/entry/app.ycJtqzGh.js.gz +0 -0
  107. package/build/client/_app/immutable/entry/start.DOq0-PiA.js +1 -0
  108. package/build/client/_app/immutable/entry/start.DOq0-PiA.js.br +0 -0
  109. package/build/client/_app/immutable/entry/start.DOq0-PiA.js.gz +0 -0
  110. package/build/client/_app/immutable/nodes/0.D63E8Q6i.js +1 -0
  111. package/build/client/_app/immutable/nodes/0.D63E8Q6i.js.br +0 -0
  112. package/build/client/_app/immutable/nodes/0.D63E8Q6i.js.gz +0 -0
  113. package/build/client/_app/immutable/nodes/1.B63I-h1v.js +1 -0
  114. package/build/client/_app/immutable/nodes/1.B63I-h1v.js.br +0 -0
  115. package/build/client/_app/immutable/nodes/1.B63I-h1v.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/2.DXy8PMWZ.js +5 -0
  117. package/build/client/_app/immutable/nodes/2.DXy8PMWZ.js.br +0 -0
  118. package/build/client/_app/immutable/nodes/2.DXy8PMWZ.js.gz +0 -0
  119. package/build/client/_app/version.json +1 -1
  120. package/build/client/_app/version.json.br +0 -0
  121. package/build/client/_app/version.json.gz +0 -0
  122. package/build/handler.js +7 -7
  123. package/build/index.js +7 -7
  124. package/build/server/chunks/chunks/{Arc.canvas.js-CN0KDoHG.js → Arc.canvas.js-DqfSjlnB.js} +8 -8
  125. package/build/server/chunks/chunks/{Arc.canvas.js-CN0KDoHG.js.map → Arc.canvas.js-DqfSjlnB.js.map} +1 -1
  126. package/build/server/chunks/chunks/{Arc.js-C8EC9NoE.js → Arc.js-DNywwEq7.js} +10 -10
  127. package/build/server/chunks/chunks/{Arc.js-C8EC9NoE.js.map → Arc.js-DNywwEq7.js.map} +1 -1
  128. package/build/server/chunks/chunks/{Bar.js-DtAb3LZZ.js → Bar.js-BHJrwOa1.js} +14 -14
  129. package/build/server/chunks/chunks/{Bar.js-DtAb3LZZ.js.map → Bar.js-BHJrwOa1.js.map} +1 -1
  130. package/build/server/chunks/chunks/{ChartAnnotations.js-twzDSVzY.js → ChartAnnotations.js-DXt38zkt.js} +18 -18
  131. package/build/server/chunks/chunks/{ChartAnnotations.js-twzDSVzY.js.map → ChartAnnotations.js-DXt38zkt.js.map} +1 -1
  132. package/build/server/chunks/chunks/{Circle.html.js-BJywADGK.js → Circle.html.js-KngSXZUe.js} +5 -5
  133. package/build/server/chunks/chunks/{Circle.html.js-BJywADGK.js.map → Circle.html.js-KngSXZUe.js.map} +1 -1
  134. package/build/server/chunks/chunks/{ClipPath.canvas.js-9Fc0bTEM.js → ClipPath.canvas.js-BsGsfzQK.js} +4 -4
  135. package/build/server/chunks/chunks/{ClipPath.canvas.js-9Fc0bTEM.js.map → ClipPath.canvas.js-BsGsfzQK.js.map} +1 -1
  136. package/build/server/chunks/chunks/{DefaultTooltip.js-C2NWK2AD.js → DefaultTooltip.js-CbyljZUi.js} +8 -8
  137. package/build/server/chunks/chunks/{DefaultTooltip.js-C2NWK2AD.js.map → DefaultTooltip.js-CbyljZUi.js.map} +1 -1
  138. package/build/server/chunks/chunks/{EventScatter.js-CO2GonW-.js → EventScatter.js-DHlLEn_7.js} +36 -35
  139. package/build/server/chunks/chunks/{EventScatter.js-CO2GonW-.js.map → EventScatter.js-DHlLEn_7.js.map} +1 -1
  140. package/build/server/chunks/chunks/{Labels.js-DB9qoyZ3.js → Labels.js-DhpbhJmV.js} +18 -18
  141. package/build/server/chunks/chunks/{Labels.js-DB9qoyZ3.js.map → Labels.js-DhpbhJmV.js.map} +1 -1
  142. package/build/server/chunks/chunks/{Legend.js-B_ArjxQ7.js → Legend.js-D25j2DRt.js} +6 -6
  143. package/build/server/chunks/chunks/{Legend.js-B_ArjxQ7.js.map → Legend.js-D25j2DRt.js.map} +1 -1
  144. package/build/server/chunks/chunks/{Line.html.js-B1REcOFe.js → Line.html.js-CKb2T7JC.js} +6 -6
  145. package/build/server/chunks/chunks/{Line.html.js-B1REcOFe.js.map → Line.html.js-CKb2T7JC.js.map} +1 -1
  146. package/build/server/chunks/chunks/{Link.canvas.js-nWimAHfH.js → Link.canvas.js-c0r05107.js} +9 -9
  147. package/build/server/chunks/chunks/{Link.canvas.js-nWimAHfH.js.map → Link.canvas.js-c0r05107.js.map} +1 -1
  148. package/build/server/chunks/chunks/{Path.canvas.js-5A9wB8zQ.js → Path.canvas.js-opfoYzQB.js} +5 -5
  149. package/build/server/chunks/chunks/{Path.canvas.js-5A9wB8zQ.js.map → Path.canvas.js-opfoYzQB.js.map} +1 -1
  150. package/build/server/chunks/chunks/{Points.html.js-B2o3k-ZZ.js → Points.html.js-CJ75UtkE.js} +7 -7
  151. package/build/server/chunks/chunks/{Points.html.js-B2o3k-ZZ.js.map → Points.html.js-CJ75UtkE.js.map} +1 -1
  152. package/build/server/chunks/chunks/Points.js-Bx_vB0po.js +14 -0
  153. package/build/server/chunks/chunks/Points.js-Bx_vB0po.js.map +1 -0
  154. package/build/server/chunks/chunks/{Points2.js-BVbWugLT.js → Points2.js-Br2MMKbn.js} +4 -4
  155. package/build/server/chunks/chunks/{Points2.js-BVbWugLT.js.map → Points2.js-Br2MMKbn.js.map} +1 -1
  156. package/build/server/chunks/chunks/{Rect.html.js-DnQ6ObhQ.js → Rect.html.js-D_-JSZ22.js} +6 -6
  157. package/build/server/chunks/chunks/{Rect.html.js-DnQ6ObhQ.js.map → Rect.html.js-D_-JSZ22.js.map} +1 -1
  158. package/build/server/chunks/chunks/{Spline.js-YnAxvrKY.js → Spline.js-DpD4175j.js} +12 -12
  159. package/build/server/chunks/chunks/{Spline.js-YnAxvrKY.js.map → Spline.js-DpD4175j.js.map} +1 -1
  160. package/build/server/chunks/chunks/{Text.html.js-LbmYJb11.js → Text.html.js-Clxo39Ky.js} +6 -6
  161. package/build/server/chunks/chunks/{Text.html.js-LbmYJb11.js.map → Text.html.js-Clxo39Ky.js.map} +1 -1
  162. package/build/server/chunks/chunks/{TooltipItem.js-Ce-blieA.js → TooltipItem.js-CgYSF3I3.js} +6 -6
  163. package/build/server/chunks/chunks/{TooltipItem.js-Ce-blieA.js.map → TooltipItem.js-CgYSF3I3.js.map} +1 -1
  164. package/build/server/chunks/chunks/{Voronoi.js-CalFJAXH.js → Voronoi.js-CX8bqc1A.js} +7 -7
  165. package/build/server/chunks/chunks/{Voronoi.js-CalFJAXH.js.map → Voronoi.js-CX8bqc1A.js.map} +1 -1
  166. package/build/server/chunks/chunks/{archive.js-D2jtMmDo.js → archive.js-BRlkdj2X.js} +331 -30
  167. package/build/server/chunks/chunks/archive.js-BRlkdj2X.js.map +1 -0
  168. package/build/server/chunks/chunks/{attributes.js-CbKEpZKa.js → attributes.js-ECgqVV_7.js} +2 -2
  169. package/build/server/chunks/chunks/{attributes.js-CbKEpZKa.js.map → attributes.js-ECgqVV_7.js.map} +1 -1
  170. package/build/server/chunks/chunks/{band.js-CjzHWr4k.js → band.js-BcI84M0Z.js} +3 -3
  171. package/build/server/chunks/chunks/{band.js-CjzHWr4k.js.map → band.js-BcI84M0Z.js.map} +1 -1
  172. package/build/server/chunks/chunks/{common.js-BvQnfkFo.js → common.js-DeZxUyRN.js} +2 -2
  173. package/build/server/chunks/chunks/{common.js-BvQnfkFo.js.map → common.js-DeZxUyRN.js.map} +1 -1
  174. package/build/server/chunks/chunks/{events.js-zIVaXIP1.js → events.js-oxLu7lhH.js} +2 -2
  175. package/build/server/chunks/chunks/{events.js-zIVaXIP1.js.map → events.js-oxLu7lhH.js.map} +1 -1
  176. package/build/server/chunks/chunks/{group.js-D0SfevId.js → group.js-C8H9Tpr6.js} +2 -2
  177. package/build/server/chunks/chunks/{group.js-D0SfevId.js.map → group.js-C8H9Tpr6.js.map} +1 -1
  178. package/build/server/chunks/chunks/{index-server.js-CtH9Hqwf.js → index-server.js-Dsi44azJ.js} +91 -2
  179. package/build/server/chunks/chunks/index-server.js-Dsi44azJ.js.map +1 -0
  180. package/build/server/chunks/chunks/{internal2.js-CfVVfAb5.js → internal2.js-Dm0TlpeP.js} +5 -5
  181. package/build/server/chunks/chunks/{internal2.js-CfVVfAb5.js.map → internal2.js-Dm0TlpeP.js.map} +1 -1
  182. package/build/server/chunks/chunks/{key.svelte.js-Cq0L6YlN.js → key.svelte.js-C9G4pBhE.js} +4 -4
  183. package/build/server/chunks/chunks/{key.svelte.js-Cq0L6YlN.js.map → key.svelte.js-C9G4pBhE.js.map} +1 -1
  184. package/build/server/chunks/chunks/{legacy-client.js-DAqKExQD.js → legacy-client.js-C8Upo6IB.js} +3 -3
  185. package/build/server/chunks/chunks/legacy-client.js-C8Upo6IB.js.map +1 -0
  186. package/build/server/chunks/chunks/{level-filter.js-D9MNrew3.js → level-filter.js-H0nc-2BG.js} +2 -2
  187. package/build/server/chunks/chunks/{level-filter.js-D9MNrew3.js.map → level-filter.js-H0nc-2BG.js.map} +1 -1
  188. package/build/server/chunks/chunks/{lineRadial.js-B7ZNP_Jp.js → lineRadial.js-B0m9ujVX.js} +2 -2
  189. package/build/server/chunks/chunks/{lineRadial.js-B7ZNP_Jp.js.map → lineRadial.js-B0m9ujVX.js.map} +1 -1
  190. package/build/server/chunks/chunks/{linear.js-CHlwr1I4.js → linear.js-CJ07spu6.js} +2 -2
  191. package/build/server/chunks/chunks/{linear.js-CHlwr1I4.js.map → linear.js-CJ07spu6.js.map} +1 -1
  192. package/build/server/chunks/chunks/{motion.svelte.js-Crk8ri1u.js → motion.svelte.js-DB7vkWmD.js} +3 -3
  193. package/build/server/chunks/chunks/{motion.svelte.js-Crk8ri1u.js.map → motion.svelte.js-DB7vkWmD.js.map} +1 -1
  194. package/build/server/chunks/chunks/{occlusion.js-ot9_OqWn.js → occlusion.js-DtcqoJjc.js} +2 -2
  195. package/build/server/chunks/chunks/{occlusion.js-ot9_OqWn.js.map → occlusion.js-DtcqoJjc.js.map} +1 -1
  196. package/build/server/chunks/chunks/{path2.js-DLVU8nc9.js → path2.js-B3tNByoS.js} +2 -2
  197. package/build/server/chunks/chunks/{path2.js-DLVU8nc9.js.map → path2.js-B3tNByoS.js.map} +1 -1
  198. package/build/server/chunks/chunks/{rect.svelte.js-_0PgI5fe.js → rect.svelte.js-C6R1SgCx.js} +4 -4
  199. package/build/server/chunks/chunks/{rect.svelte.js-_0PgI5fe.js.map → rect.svelte.js-C6R1SgCx.js.map} +1 -1
  200. package/build/server/chunks/chunks/{scales.svelte.js-DeNkKcI-.js → scales.svelte.js-C4lRvUAb.js} +4 -4
  201. package/build/server/chunks/chunks/{scales.svelte.js-DeNkKcI-.js.map → scales.svelte.js-C4lRvUAb.js.map} +1 -1
  202. package/build/server/chunks/chunks/{state.js-i-NVNGIq.js → state.js-qsHzjuJU.js} +3 -3
  203. package/build/server/chunks/chunks/{state.js-i-NVNGIq.js.map → state.js-qsHzjuJU.js.map} +1 -1
  204. package/build/server/chunks/chunks/text-size.svelte.js-CqGaHRr3.js +310 -0
  205. package/build/server/chunks/chunks/text-size.svelte.js-CqGaHRr3.js.map +1 -0
  206. package/build/server/chunks/chunks/{time-range.js-BLMT8aU3.js → time-range.js-__87ZPq6.js} +10 -5
  207. package/build/server/chunks/chunks/time-range.js-__87ZPq6.js.map +1 -0
  208. package/build/server/chunks/entries/endpoints/api/archive/{_server.ts.js-C4hWyXuu.js → _server.ts.js-C6WY-ljy.js} +2 -2
  209. package/build/server/chunks/entries/endpoints/api/archive/{_server.ts.js-C4hWyXuu.js.map → _server.ts.js-C6WY-ljy.js.map} +1 -1
  210. package/build/server/chunks/entries/endpoints/api/log-groups/{_server.ts.js-D4y43Vwe.js → _server.ts.js-DTcVSbpV.js} +2 -2
  211. package/build/server/chunks/entries/endpoints/api/log-groups/{_server.ts.js-D4y43Vwe.js.map → _server.ts.js-DTcVSbpV.js.map} +1 -1
  212. package/build/server/chunks/entries/endpoints/api/series/{_server.ts.js-DibT3Hjc.js → _server.ts.js-CzJ_bXh8.js} +4 -4
  213. package/build/server/chunks/entries/endpoints/api/series/{_server.ts.js-DibT3Hjc.js.map → _server.ts.js-CzJ_bXh8.js.map} +1 -1
  214. package/build/server/chunks/entries/endpoints/api/stream/{_server.ts.js-BxXw5K0R.js → _server.ts.js-U2naV16N.js} +211 -48
  215. package/build/server/chunks/entries/endpoints/api/stream/_server.ts.js-U2naV16N.js.map +1 -0
  216. package/build/server/chunks/entries/fallbacks/{error.svelte.js-ylsqA41Y.js → error.svelte.js-ClTGKP0-.js} +6 -6
  217. package/build/server/chunks/entries/fallbacks/{error.svelte.js-ylsqA41Y.js.map → error.svelte.js-ClTGKP0-.js.map} +1 -1
  218. package/build/server/chunks/entries/pages/_layout.svelte.js-DNuWb03K.js +622 -0
  219. package/build/server/chunks/entries/pages/_layout.svelte.js-DNuWb03K.js.map +1 -0
  220. package/build/server/chunks/entries/pages/{_page.svelte.js-C9-7d7mD.js → _page.svelte.js-CVlL2UsO.js} +329 -188
  221. package/build/server/chunks/entries/pages/_page.svelte.js-CVlL2UsO.js.map +1 -0
  222. package/build/server/chunks/{handler-Bqo8aDgP.js → handler-CrpvMheE.js} +3 -3
  223. package/build/server/chunks/{handler-Bqo8aDgP.js.map → handler-CrpvMheE.js.map} +1 -1
  224. package/build/server/chunks/{index.js-fPvMujCL.js → index.js-9Dk7Q13E.js} +3 -3
  225. package/build/server/chunks/{index.js-fPvMujCL.js.map → index.js-9Dk7Q13E.js.map} +1 -1
  226. package/build/server/chunks/{manifest.js-Bkj-8GaD.js → manifest.js-DIaODzKX.js} +9 -9
  227. package/build/server/chunks/{manifest.js-Bkj-8GaD.js.map → manifest.js-DIaODzKX.js.map} +1 -1
  228. package/build/server/chunks/nodes/0.js-CQ960AOW.js +9 -0
  229. package/build/server/chunks/nodes/0.js-CQ960AOW.js.map +1 -0
  230. package/build/server/chunks/nodes/1.js-CtTei4sV.js +9 -0
  231. package/build/server/chunks/nodes/{1.js-DZXnUx67.js.map → 1.js-CtTei4sV.js.map} +1 -1
  232. package/build/server/chunks/nodes/2.js-BbKDb_M6.js +9 -0
  233. package/build/server/chunks/nodes/2.js-BbKDb_M6.js.map +1 -0
  234. package/dist/cli/completions.js +24 -0
  235. package/dist/cli/index.js +144 -3
  236. package/dist/cli/mcp/agents.js +344 -0
  237. package/dist/cli/mcp/backend.js +235 -0
  238. package/dist/cli/mcp/run.js +245 -0
  239. package/dist/cli/mcp/stdio.js +103 -0
  240. package/dist/cli/mcp/tools.js +245 -0
  241. package/dist/cli/options.js +138 -25
  242. package/dist/cli/server.js +28 -0
  243. package/dist/cli/ui.js +20 -1
  244. package/dist/lib/time-range.js +14 -3
  245. package/package.json +8 -2
  246. package/build/client/_app/immutable/assets/0.ChTKqSf6.css +0 -2
  247. package/build/client/_app/immutable/assets/0.ChTKqSf6.css.br +0 -0
  248. package/build/client/_app/immutable/assets/0.ChTKqSf6.css.gz +0 -0
  249. package/build/client/_app/immutable/chunks/0b2v80OK.js.br +0 -0
  250. package/build/client/_app/immutable/chunks/0b2v80OK.js.gz +0 -0
  251. package/build/client/_app/immutable/chunks/5EFAIHuJ.js +0 -1
  252. package/build/client/_app/immutable/chunks/5EFAIHuJ.js.br +0 -0
  253. package/build/client/_app/immutable/chunks/5EFAIHuJ.js.gz +0 -0
  254. package/build/client/_app/immutable/chunks/B15XBe8D.js +0 -1
  255. package/build/client/_app/immutable/chunks/B15XBe8D.js.br +0 -0
  256. package/build/client/_app/immutable/chunks/B15XBe8D.js.gz +0 -0
  257. package/build/client/_app/immutable/chunks/B5RiPG8Z.js.br +0 -2
  258. package/build/client/_app/immutable/chunks/B5RiPG8Z.js.gz +0 -0
  259. package/build/client/_app/immutable/chunks/B_KVdCQT.js +0 -10
  260. package/build/client/_app/immutable/chunks/B_KVdCQT.js.br +0 -0
  261. package/build/client/_app/immutable/chunks/B_KVdCQT.js.gz +0 -0
  262. package/build/client/_app/immutable/chunks/BuCpRsEL.js +0 -1
  263. package/build/client/_app/immutable/chunks/BuCpRsEL.js.br +0 -0
  264. package/build/client/_app/immutable/chunks/BuCpRsEL.js.gz +0 -0
  265. package/build/client/_app/immutable/chunks/BvZtsVvW.js +0 -1
  266. package/build/client/_app/immutable/chunks/BvZtsVvW.js.br +0 -0
  267. package/build/client/_app/immutable/chunks/BvZtsVvW.js.gz +0 -0
  268. package/build/client/_app/immutable/chunks/C3Y15ONf.js +0 -2
  269. package/build/client/_app/immutable/chunks/C3Y15ONf.js.br +0 -0
  270. package/build/client/_app/immutable/chunks/C3Y15ONf.js.gz +0 -0
  271. package/build/client/_app/immutable/chunks/C9GPQYs7.js +0 -1
  272. package/build/client/_app/immutable/chunks/C9GPQYs7.js.br +0 -0
  273. package/build/client/_app/immutable/chunks/C9GPQYs7.js.gz +0 -0
  274. package/build/client/_app/immutable/chunks/C_U_Jvk5.js.br +0 -0
  275. package/build/client/_app/immutable/chunks/C_U_Jvk5.js.gz +0 -0
  276. package/build/client/_app/immutable/chunks/Cd7JqZj9.js +0 -1
  277. package/build/client/_app/immutable/chunks/Cd7JqZj9.js.br +0 -0
  278. package/build/client/_app/immutable/chunks/Cd7JqZj9.js.gz +0 -0
  279. package/build/client/_app/immutable/chunks/D2PbcyDU.js +0 -1
  280. package/build/client/_app/immutable/chunks/D2PbcyDU.js.br +0 -0
  281. package/build/client/_app/immutable/chunks/D2PbcyDU.js.gz +0 -0
  282. package/build/client/_app/immutable/chunks/D7vimbmk.js.br +0 -0
  283. package/build/client/_app/immutable/chunks/D7vimbmk.js.gz +0 -0
  284. package/build/client/_app/immutable/chunks/DAqXSYzi.js +0 -1
  285. package/build/client/_app/immutable/chunks/DAqXSYzi.js.br +0 -0
  286. package/build/client/_app/immutable/chunks/DAqXSYzi.js.gz +0 -0
  287. package/build/client/_app/immutable/chunks/DGYKsRyW.js.br +0 -0
  288. package/build/client/_app/immutable/chunks/DGYKsRyW.js.gz +0 -0
  289. package/build/client/_app/immutable/chunks/DPaulGql.js +0 -1
  290. package/build/client/_app/immutable/chunks/DPaulGql.js.br +0 -1
  291. package/build/client/_app/immutable/chunks/DPaulGql.js.gz +0 -0
  292. package/build/client/_app/immutable/chunks/DQqLOGLe.js.br +0 -0
  293. package/build/client/_app/immutable/chunks/DQqLOGLe.js.gz +0 -0
  294. package/build/client/_app/immutable/chunks/DS3cLPAu.js.br +0 -0
  295. package/build/client/_app/immutable/chunks/DS3cLPAu.js.gz +0 -0
  296. package/build/client/_app/immutable/chunks/Dkh4Dwm8.js.br +0 -0
  297. package/build/client/_app/immutable/chunks/Dkh4Dwm8.js.gz +0 -0
  298. package/build/client/_app/immutable/chunks/DnqfXHAL.js +0 -15
  299. package/build/client/_app/immutable/chunks/DnqfXHAL.js.br +0 -0
  300. package/build/client/_app/immutable/chunks/DnqfXHAL.js.gz +0 -0
  301. package/build/client/_app/immutable/chunks/DsYron7_.js +0 -1
  302. package/build/client/_app/immutable/chunks/DsYron7_.js.br +0 -0
  303. package/build/client/_app/immutable/chunks/DsYron7_.js.gz +0 -0
  304. package/build/client/_app/immutable/chunks/DuM1cPdZ.js +0 -1
  305. package/build/client/_app/immutable/chunks/DuM1cPdZ.js.br +0 -0
  306. package/build/client/_app/immutable/chunks/DuM1cPdZ.js.gz +0 -0
  307. package/build/client/_app/immutable/chunks/DvxMaQv_.js.br +0 -0
  308. package/build/client/_app/immutable/chunks/DvxMaQv_.js.gz +0 -0
  309. package/build/client/_app/immutable/chunks/DwOZdLDj.js.br +0 -0
  310. package/build/client/_app/immutable/chunks/DwOZdLDj.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/IlwbfbOu.js.br +0 -0
  312. package/build/client/_app/immutable/chunks/IlwbfbOu.js.gz +0 -0
  313. package/build/client/_app/immutable/chunks/aI_O2VuQ.js.br +0 -0
  314. package/build/client/_app/immutable/chunks/aI_O2VuQ.js.gz +0 -0
  315. package/build/client/_app/immutable/chunks/b77-bq1n.js.br +0 -0
  316. package/build/client/_app/immutable/chunks/b77-bq1n.js.gz +0 -0
  317. package/build/client/_app/immutable/chunks/dqF8mxBW.js.br +0 -0
  318. package/build/client/_app/immutable/chunks/dqF8mxBW.js.gz +0 -0
  319. package/build/client/_app/immutable/chunks/gkAHSOnS.js +0 -1
  320. package/build/client/_app/immutable/chunks/gkAHSOnS.js.br +0 -0
  321. package/build/client/_app/immutable/chunks/gkAHSOnS.js.gz +0 -0
  322. package/build/client/_app/immutable/chunks/pqiPC7Y8.js +0 -3
  323. package/build/client/_app/immutable/chunks/pqiPC7Y8.js.br +0 -0
  324. package/build/client/_app/immutable/chunks/pqiPC7Y8.js.gz +0 -0
  325. package/build/client/_app/immutable/chunks/ti8ecMFX.js +0 -1
  326. package/build/client/_app/immutable/chunks/ti8ecMFX.js.br +0 -0
  327. package/build/client/_app/immutable/chunks/ti8ecMFX.js.gz +0 -0
  328. package/build/client/_app/immutable/entry/app.CTR4aUFT.js +0 -2
  329. package/build/client/_app/immutable/entry/app.CTR4aUFT.js.br +0 -0
  330. package/build/client/_app/immutable/entry/app.CTR4aUFT.js.gz +0 -0
  331. package/build/client/_app/immutable/entry/start.CC6Ln8E2.js +0 -1
  332. package/build/client/_app/immutable/entry/start.CC6Ln8E2.js.br +0 -0
  333. package/build/client/_app/immutable/entry/start.CC6Ln8E2.js.gz +0 -0
  334. package/build/client/_app/immutable/nodes/0.CvUxmLsM.js +0 -1
  335. package/build/client/_app/immutable/nodes/0.CvUxmLsM.js.br +0 -0
  336. package/build/client/_app/immutable/nodes/0.CvUxmLsM.js.gz +0 -0
  337. package/build/client/_app/immutable/nodes/1.CbSHqfEx.js +0 -1
  338. package/build/client/_app/immutable/nodes/1.CbSHqfEx.js.br +0 -0
  339. package/build/client/_app/immutable/nodes/1.CbSHqfEx.js.gz +0 -0
  340. package/build/client/_app/immutable/nodes/2.DcD5v8dU.js +0 -5
  341. package/build/client/_app/immutable/nodes/2.DcD5v8dU.js.br +0 -0
  342. package/build/client/_app/immutable/nodes/2.DcD5v8dU.js.gz +0 -0
  343. package/build/server/chunks/chunks/Points.js-D7ozN9W5.js +0 -14
  344. package/build/server/chunks/chunks/Points.js-D7ozN9W5.js.map +0 -1
  345. package/build/server/chunks/chunks/archive.js-D2jtMmDo.js.map +0 -1
  346. package/build/server/chunks/chunks/index-server.js-CtH9Hqwf.js.map +0 -1
  347. package/build/server/chunks/chunks/legacy-client.js-DAqKExQD.js.map +0 -1
  348. package/build/server/chunks/chunks/time-range.js-BLMT8aU3.js.map +0 -1
  349. package/build/server/chunks/entries/endpoints/api/stream/_server.ts.js-BxXw5K0R.js.map +0 -1
  350. package/build/server/chunks/entries/pages/_layout.svelte.js-D7sAdBVX.js +0 -113
  351. package/build/server/chunks/entries/pages/_layout.svelte.js-D7sAdBVX.js.map +0 -1
  352. package/build/server/chunks/entries/pages/_page.svelte.js-C9-7d7mD.js.map +0 -1
  353. package/build/server/chunks/nodes/0.js-7J6kXnEo.js +0 -9
  354. package/build/server/chunks/nodes/0.js-7J6kXnEo.js.map +0 -1
  355. package/build/server/chunks/nodes/1.js-DZXnUx67.js +0 -9
  356. package/build/server/chunks/nodes/2.js-85y9-1SS.js +0 -9
  357. package/build/server/chunks/nodes/2.js-85y9-1SS.js.map +0 -1
@@ -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.CC6Ln8E2.js",app:"_app/immutable/entry/app.CTR4aUFT.js",imports:["_app/immutable/entry/start.CC6Ln8E2.js","_app/immutable/chunks/DsYron7_.js","_app/immutable/chunks/pqiPC7Y8.js","_app/immutable/entry/app.CTR4aUFT.js","_app/immutable/chunks/pqiPC7Y8.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.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},
14
14
  nodes: [
15
- __memo(() => import('./nodes/0.js-7J6kXnEo.js')),
16
- __memo(() => import('./nodes/1.js-DZXnUx67.js')),
17
- __memo(() => import('./nodes/2.js-85y9-1SS.js'))
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'))
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-C4hWyXuu.js'))
35
+ endpoint: __memo(() => import('./entries/endpoints/api/archive/_server.ts.js-C6WY-ljy.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-D4y43Vwe.js'))
56
+ endpoint: __memo(() => import('./entries/endpoints/api/log-groups/_server.ts.js-DTcVSbpV.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-DibT3Hjc.js'))
70
+ endpoint: __memo(() => import('./entries/endpoints/api/series/_server.ts.js-CzJ_bXh8.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-BxXw5K0R.js'))
77
+ endpoint: __memo(() => import('./entries/endpoints/api/stream/_server.ts.js-U2naV16N.js'))
78
78
  }
79
79
  ],
80
80
  prerendered_routes: new Set([]),
@@ -88,4 +88,4 @@ return {
88
88
  })();
89
89
 
90
90
  export { manifest as m };
91
- //# sourceMappingURL=manifest.js-Bkj-8GaD.js.map
91
+ //# sourceMappingURL=manifest.js-DIaODzKX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js-Bkj-8GaD.js","sources":["../../../.svelte-kit/output/server/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"robots.txt\"]),\n\tmimeTypes: {\".txt\":\"text/plain\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.CC6Ln8E2.js\",app:\"_app/immutable/entry/app.CTR4aUFT.js\",imports:[\"_app/immutable/entry/start.CC6Ln8E2.js\",\"_app/immutable/chunks/DsYron7_.js\",\"_app/immutable/chunks/pqiPC7Y8.js\",\"_app/immutable/entry/app.CTR4aUFT.js\",\"_app/immutable/chunks/pqiPC7Y8.js\",\"_app/immutable/chunks/HclGiUj8.js\",\"_app/immutable/chunks/xihTtKlq.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/archive\",\n\t\t\t\tpattern: /^\\/api\\/archive\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/archive/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/health\",\n\t\t\t\tpattern: /^\\/api\\/health\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/health/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/identity\",\n\t\t\t\tpattern: /^\\/api\\/identity\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/identity/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/log-groups\",\n\t\t\t\tpattern: /^\\/api\\/log-groups\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/log-groups/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/regions\",\n\t\t\t\tpattern: /^\\/api\\/regions\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/regions/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/series\",\n\t\t\t\tpattern: /^\\/api\\/series\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/series/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/stream\",\n\t\t\t\tpattern: /^\\/api\\/stream\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/stream/_server.ts.js'))\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js-DIaODzKX.js","sources":["../../../.svelte-kit/output/server/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"robots.txt\"]),\n\tmimeTypes: {\".txt\":\"text/plain\"},\n\t_: {\n\t\tclient: {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},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/archive\",\n\t\t\t\tpattern: /^\\/api\\/archive\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/archive/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/health\",\n\t\t\t\tpattern: /^\\/api\\/health\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/health/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/identity\",\n\t\t\t\tpattern: /^\\/api\\/identity\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/identity/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/log-groups\",\n\t\t\t\tpattern: /^\\/api\\/log-groups\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/log-groups/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/regions\",\n\t\t\t\tpattern: /^\\/api\\/regions\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/regions/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/series\",\n\t\t\t\tpattern: /^\\/api\\/series\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/series/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/stream\",\n\t\t\t\tpattern: /^\\/api\\/stream\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/stream/_server.ts.js'))\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ const index = 0;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js-DNuWb03K.js')).default;
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
+ const stylesheets = ["_app/immutable/assets/0.B5hI3s8c.css"];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=0.js-CQ960AOW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0.js-CQ960AOW.js","sources":["../../../../.svelte-kit/output/server/nodes/0.js"],"sourcesContent":["\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/0.D63E8Q6i.js\",\"_app/immutable/chunks/B2En4t_E.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/LGzrUxfF.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.B5hI3s8c.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,gDAAoC,CAAC,EAAE;AAClG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5J,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG;;"}
@@ -0,0 +1,9 @@
1
+ const index = 1;
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"];
5
+ const stylesheets = [];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=1.js-CtTei4sV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1.js-DZXnUx67.js","sources":["../../../../.svelte-kit/output/server/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.CbSHqfEx.js\",\"_app/immutable/chunks/pqiPC7Y8.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/B5RiPG8Z.js\",\"_app/immutable/chunks/DsYron7_.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,kDAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;"}
1
+ {"version":3,"file":"1.js-CtTei4sV.js","sources":["../../../../.svelte-kit/output/server/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport 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\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,kDAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;"}
@@ -0,0 +1,9 @@
1
+ const index = 2;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-CVlL2UsO.js')).default;
4
+ const imports = ["_app/immutable/nodes/2.DXy8PMWZ.js","_app/immutable/chunks/B2En4t_E.js","_app/immutable/chunks/CPbNf3ya.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/LGzrUxfF.js","_app/immutable/chunks/D6vIi1r5.js","_app/immutable/chunks/CBZpkDc1.js"];
5
+ const stylesheets = ["_app/immutable/assets/2.Cn4w1JYv.css","_app/immutable/assets/Path.B0wDzTrn.css","_app/immutable/assets/Circle.C5MKzgk2.css","_app/immutable/assets/EventScatter.0BkgJO-l.css"];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=2.js-BbKDb_M6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2.js-BbKDb_M6.js","sources":["../../../../.svelte-kit/output/server/nodes/2.js"],"sourcesContent":["\n\nexport const index = 2;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/2.DXy8PMWZ.js\",\"_app/immutable/chunks/B2En4t_E.js\",\"_app/immutable/chunks/CPbNf3ya.js\",\"_app/immutable/chunks/HclGiUj8.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/LGzrUxfF.js\",\"_app/immutable/chunks/D6vIi1r5.js\",\"_app/immutable/chunks/CBZpkDc1.js\"];\nexport const stylesheets = [\"_app/immutable/assets/2.Cn4w1JYv.css\",\"_app/immutable/assets/Path.B0wDzTrn.css\",\"_app/immutable/assets/Circle.C5MKzgk2.css\",\"_app/immutable/assets/EventScatter.0BkgJO-l.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8CAAkC,CAAC,EAAE;AAChG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5S,MAAC,WAAW,GAAG,CAAC,sCAAsC,CAAC,yCAAyC,CAAC,2CAA2C,CAAC,iDAAiD;AAC9L,MAAC,KAAK,GAAG;;"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import t from '@bomb.sh/tab';
9
9
  import { readProfiles } from "../lib/cli/aws.js";
10
+ import { AGENTS } from "./mcp/agents.js";
10
11
  import { DEFAULT_HOST, DEFAULT_PORT, FLOCI_ENDPOINT } from "./options.js";
11
12
  /** Shells `tab` can generate scripts for. */
12
13
  export const SHELLS = ['zsh', 'bash', 'fish', 'powershell'];
@@ -75,6 +76,29 @@ function registerCompletionSpec(profiles = []) {
75
76
  for (const shell of SHELLS)
76
77
  emit(shell, `${shell} completion script`);
77
78
  });
79
+ const mcp = t.command('mcp', 'Serve watch-tail to an AI agent over stdio');
80
+ mcp.argument('subcommand', function (emit) {
81
+ emit('init', 'Detect agents and write watch-tail into them');
82
+ });
83
+ mcp.option('url', 'Use a watch-tail already running at this URL', function (emit) {
84
+ emit('http://127.0.0.1:4517', 'a watch-tail on the default port');
85
+ });
86
+ mcp.option('agent', 'Agents to configure, comma separated', function (emit) {
87
+ for (const agent of AGENTS)
88
+ emit(agent.id, agent.name);
89
+ });
90
+ mcp.option('yes', 'Configure every detected agent without asking');
91
+ mcp.option('scope', 'Where to write the configuration', function (emit) {
92
+ emit('user', 'user-wide configuration');
93
+ emit('project', 'configuration for this project');
94
+ });
95
+ mcp.option('command', 'Executable written into the agent config', function (emit) {
96
+ emit('npx', 'the published package (default)');
97
+ emit('node', 'run a local build');
98
+ });
99
+ mcp.option('args', 'Arguments written before `mcp`', function (emit) {
100
+ emit('-y watch-tail', 'the published package (default)');
101
+ });
78
102
  }
79
103
  /**
80
104
  * Handles `complete ...`.
package/dist/cli/index.js CHANGED
@@ -8,13 +8,17 @@
8
8
  * `$lib/cli/aws.ts`, and the side effects are injectable through {@link CliIo}.
9
9
  */
10
10
  import { spawn } from 'node:child_process';
11
- import { readFileSync } from 'node:fs';
12
- import { join } from 'node:path';
11
+ import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, } from 'node:fs';
12
+ import { homedir } from 'node:os';
13
+ import { delimiter, join } from 'node:path';
13
14
  import { buildChildEnv, describeChildEnv, isEmulatorEndpoint, isLocalEnvPresent, readConfigText, readCredentialsText, readLocalEnvValues, readProfiles, resolveRunRegion, signalExitCode, suppressLocalEnvValues, } from "../lib/cli/aws.js";
14
15
  import { classifyCredentialFailure, describeStyle, isCredentialFailure, loginAdvice, readProfileStyle, } from "../lib/cli/credentials.js";
15
16
  import { handleCompletion } from "./completions.js";
17
+ import { createHttpBackend } from "./mcp/backend.js";
18
+ import { runMcpInit, runMcpServer } from "./mcp/run.js";
19
+ import { serveMcp } from "./mcp/stdio.js";
16
20
  import { isLoopbackHost, parseCliArgs, usageText } from "./options.js";
17
- import { appRootFromHere, healthUrl, openBrowser as openBrowserDefault, startServer, stopServer, uiUrl, waitForHealth, } from "./server.js";
21
+ import { appRootFromHere, findFreePort, healthUrl, openBrowser as openBrowserDefault, startServer, stopServer, uiUrl, waitForHealth, } from "./server.js";
18
22
  import { describeArchive, isHeadless, probeCredentials as probeCredentialsDefault, readArchive as readArchiveDefault, readIdentity as readIdentityDefault, runLogin as runLoginDefault, shortIdentity, } from "./preflight.js";
19
23
  import { PromptCancelled, createUi, isInteractive } from "./ui.js";
20
24
  /** Reads the version from the package manifest next to the app root. */
@@ -61,6 +65,45 @@ function waitForStop(child) {
61
65
  });
62
66
  });
63
67
  }
68
+ /** True when `binary` is an executable found on `PATH`. */
69
+ function commandExists(binary, env = process.env, exists = existsSync, platform = process.platform) {
70
+ const directories = (env.PATH ?? '').split(delimiter).filter((dir) => dir.length > 0);
71
+ const suffixes = platform === 'win32' ? ['', '.exe', '.cmd', '.bat'] : [''];
72
+ for (const directory of directories) {
73
+ for (const suffix of suffixes) {
74
+ if (exists(join(directory, `${binary}${suffix}`)))
75
+ return true;
76
+ }
77
+ }
78
+ return false;
79
+ }
80
+ /**
81
+ * Replaces a file without ever leaving it half-written.
82
+ *
83
+ * `mcp init` edits files other programs own and rewrite (Claude Code keeps its
84
+ * whole state in `~/.claude.json`), so the new contents go to a temporary file
85
+ * beside it, take the original's permissions, and are renamed over it.
86
+ */
87
+ export function writeFileAtomic(path, contents) {
88
+ const temporary = `${path}.watch-tail-${process.pid}.tmp`;
89
+ let mode = null;
90
+ try {
91
+ mode = statSync(path).mode & 0o777;
92
+ }
93
+ catch {
94
+ // A new file takes the default permissions.
95
+ }
96
+ try {
97
+ writeFileSync(temporary, contents, { encoding: 'utf8', mode: mode ?? 0o666 });
98
+ if (mode !== null)
99
+ chmodSync(temporary, mode);
100
+ renameSync(temporary, path);
101
+ }
102
+ catch (error) {
103
+ rmSync(temporary, { force: true });
104
+ throw error;
105
+ }
106
+ }
64
107
  /** Real process environment for the CLI. */
65
108
  function defaultIo() {
66
109
  const appRoot = appRootFromHere();
@@ -82,6 +125,21 @@ function defaultIo() {
82
125
  readArchive: (input) => readArchiveDefault(input),
83
126
  waitForHealth,
84
127
  startServerImpl: startServer,
128
+ stopServerImpl: stopServer,
129
+ findFreePort,
130
+ serveMcp,
131
+ stdin: process.stdin,
132
+ mcpStdout: process.stdout,
133
+ agentFs: {
134
+ home: homedir(),
135
+ platform: process.platform,
136
+ cwd: process.cwd(),
137
+ exists: (path) => existsSync(path),
138
+ commandExists: (binary) => commandExists(binary),
139
+ readFile: (path) => readFileSync(path, 'utf8'),
140
+ writeFile: (path, contents) => writeFileAtomic(path, contents),
141
+ ensureDir: (dir) => mkdirSync(dir, { recursive: true }),
142
+ },
85
143
  spawnImpl: spawn,
86
144
  waitForStop,
87
145
  };
@@ -179,6 +237,81 @@ async function offerLogin(input) {
179
237
  }
180
238
  return { login: 'succeeded' };
181
239
  }
240
+ /** Idle time after which the MCP server's private watch-tail releases the archive file. */
241
+ const MCP_ARCHIVE_IDLE_MS = 5000;
242
+ /** Runs `watch-tail mcp`: a headless server an agent talks to over stdio. */
243
+ async function runMcpWired(options, io) {
244
+ const region = resolveCliRegion(options, io);
245
+ const profile = options.profile ?? ambientProfile(io.env);
246
+ let baseEnv = io.env;
247
+ if (options.endpoint === null) {
248
+ // Same guard as the browser path: a checkout's `.env.local` must not send
249
+ // an agent at the emulator unless `--floci` asked for it.
250
+ baseEnv = suppressLocalEnvValues({ env: io.env, values: io.readLocalEnvValues() }).env;
251
+ }
252
+ const childEnv = buildChildEnv({
253
+ base: baseEnv,
254
+ profile: options.profile,
255
+ region,
256
+ endpoint: options.endpoint,
257
+ clearStaticKeys: options.profile === null && profile !== null,
258
+ archive: { enabled: options.archive, path: options.db },
259
+ });
260
+ // DuckDB lets one process hold the archive file. An agent session can last all
261
+ // day, so its private server releases the file between tool calls rather than
262
+ // locking the browser UI (or another agent) out of the archive.
263
+ childEnv.WATCH_TAIL_ARCHIVE_IDLE_MS = String(MCP_ARCHIVE_IDLE_MS);
264
+ const deps = {
265
+ startServer: io.startServerImpl,
266
+ waitForHealth: io.waitForHealth,
267
+ stopServer: io.stopServerImpl,
268
+ findFreePort: io.findFreePort,
269
+ serve: io.serveMcp,
270
+ createBackend: createHttpBackend,
271
+ fetchImpl: fetch,
272
+ };
273
+ return runMcpServer({
274
+ version: io.version,
275
+ region,
276
+ url: options.mcpServer.url,
277
+ host: options.host,
278
+ port: options.portGiven ? options.port : null,
279
+ appRoot: io.appRoot,
280
+ childEnv,
281
+ input: io.stdin,
282
+ output: io.mcpStdout,
283
+ stderr: io.stderr,
284
+ }, deps);
285
+ }
286
+ /** Runs `watch-tail mcp init`: writes watch-tail into installed agent configs. */
287
+ async function runMcpInitWired(options, io) {
288
+ const ui = io.ui ?? createUi({ interactive: io.interactive });
289
+ const deps = {
290
+ ctx: {
291
+ home: io.agentFs.home,
292
+ platform: io.agentFs.platform,
293
+ env: io.env,
294
+ cwd: io.agentFs.cwd,
295
+ },
296
+ exists: io.agentFs.exists,
297
+ commandExists: io.agentFs.commandExists,
298
+ readFile: io.agentFs.readFile,
299
+ writeFile: io.agentFs.writeFile,
300
+ ensureDir: io.agentFs.ensureDir,
301
+ log: io.stdout,
302
+ warn: io.stderr,
303
+ chooseAgents: (message, choices, initial) => ui.multiChoose(message, choices, initial),
304
+ };
305
+ try {
306
+ return await runMcpInit({ version: io.version, options: options.mcpInit }, deps);
307
+ }
308
+ catch (error) {
309
+ if (!(error instanceof PromptCancelled))
310
+ throw error;
311
+ ui.outro('stopped');
312
+ return 130;
313
+ }
314
+ }
182
315
  /** Runs the CLI and returns its exit code. */
183
316
  export async function run(argv, overrides = {}) {
184
317
  const io = { ...defaultIo(), ...overrides };
@@ -211,6 +344,14 @@ export async function run(argv, overrides = {}) {
211
344
  }
212
345
  return 0;
213
346
  }
347
+ // The MCP entry points are dispatched before the browser path resolves its
348
+ // region and environment: `mcp init` needs neither, and `mcp` resolves its own
349
+ // so a failure to start the headless server is reported on stderr, never on
350
+ // the stdout reserved for the protocol.
351
+ if (options.command === 'mcp-init')
352
+ return runMcpInitWired(options, io);
353
+ if (options.command === 'mcp')
354
+ return runMcpWired(options, io);
214
355
  const region = resolveCliRegion(options, io);
215
356
  // `--profile` wins, then the ambient AWS_PROFILE: the credential check and
216
357
  // the login advice both need to know which profile is actually in play.