watch-tail 0.6.0 → 0.6.2

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 (201) hide show
  1. package/README.md +97 -350
  2. package/build/client/_app/immutable/chunks/{C_aXFBl3.js → 1cmfrS0o.js} +1 -1
  3. package/build/client/_app/immutable/chunks/1cmfrS0o.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/1cmfrS0o.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{DU0OQtdJ.js → 8x_7TBuS.js} +1 -1
  6. package/build/client/_app/immutable/chunks/8x_7TBuS.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/8x_7TBuS.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{D76YLq-2.js → AAWh0-tL.js} +1 -1
  9. package/build/client/_app/immutable/chunks/AAWh0-tL.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/AAWh0-tL.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{Amq8zxdJ.js → BKpsnTLG.js} +1 -1
  12. package/build/client/_app/immutable/chunks/BKpsnTLG.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/BKpsnTLG.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{B5q6rkQ-.js → BNDRPiSt.js} +1 -1
  15. package/build/client/_app/immutable/chunks/BNDRPiSt.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/BNDRPiSt.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{C1lycbEF.js → BWDKMHXq.js} +1 -1
  18. package/build/client/_app/immutable/chunks/BWDKMHXq.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/BWDKMHXq.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{BZFYtRPj.js → CBRk0OGa.js} +1 -1
  21. package/build/client/_app/immutable/chunks/CBRk0OGa.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/CBRk0OGa.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{CT_NYh_-.js → CG0TPRkn.js} +1 -1
  24. package/build/client/_app/immutable/chunks/CG0TPRkn.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/CG0TPRkn.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/CGReuhGk.js +1 -0
  27. package/build/client/_app/immutable/chunks/CGReuhGk.js.br +1 -0
  28. package/build/client/_app/immutable/chunks/CGReuhGk.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/{CyncJW0D.js → CIDBs8t6.js} +1 -1
  30. package/build/client/_app/immutable/chunks/CIDBs8t6.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/CIDBs8t6.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/{BDlvDAqe.js → CfPyeeq3.js} +1 -1
  33. package/build/client/_app/immutable/chunks/CfPyeeq3.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/CfPyeeq3.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/{CEU4ihsz.js → CpeJ2iPd.js} +1 -1
  36. package/build/client/_app/immutable/chunks/CpeJ2iPd.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/CpeJ2iPd.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/{CZIk93qi.js → D0IrjYE5.js} +1 -1
  39. package/build/client/_app/immutable/chunks/D0IrjYE5.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/D0IrjYE5.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/{B43Eeyih.js → D1Hr4tKw.js} +1 -1
  42. package/build/client/_app/immutable/chunks/D1Hr4tKw.js.br +0 -0
  43. package/build/client/_app/immutable/chunks/D1Hr4tKw.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/{BsH4MNzX.js → D6rwn6Ed.js} +1 -1
  45. package/build/client/_app/immutable/chunks/D6rwn6Ed.js.br +1 -0
  46. package/build/client/_app/immutable/chunks/D6rwn6Ed.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/{B3p3umIY.js → DQCjzVyz.js} +1 -1
  48. package/build/client/_app/immutable/chunks/DQCjzVyz.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/DQCjzVyz.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/{BAynhd7i.js → DWm-CGbg.js} +1 -1
  51. package/build/client/_app/immutable/chunks/DWm-CGbg.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/DWm-CGbg.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/{BJpWBbAS.js → DYDQbI6D.js} +1 -1
  54. package/build/client/_app/immutable/chunks/DYDQbI6D.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/DYDQbI6D.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/{CG6rRxUy.js → Dc9It0QB.js} +1 -1
  57. package/build/client/_app/immutable/chunks/Dc9It0QB.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/Dc9It0QB.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/{BOT2hFMn.js → DkQY3T0m.js} +1 -1
  60. package/build/client/_app/immutable/chunks/DkQY3T0m.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/DkQY3T0m.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/{ByhwhtiG.js → DqJI6J5U.js} +1 -1
  63. package/build/client/_app/immutable/chunks/DqJI6J5U.js.br +0 -0
  64. package/build/client/_app/immutable/chunks/DqJI6J5U.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/{zHL7lw4G.js → DtV-MjyX.js} +1 -1
  66. package/build/client/_app/immutable/chunks/DtV-MjyX.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/DtV-MjyX.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/{wx-wtMGx.js → DznDQzx1.js} +1 -1
  69. package/build/client/_app/immutable/chunks/DznDQzx1.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/DznDQzx1.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/{BGmgUZMc.js → F4LqKrLs.js} +5 -5
  72. package/build/client/_app/immutable/chunks/F4LqKrLs.js.br +0 -0
  73. package/build/client/_app/immutable/chunks/F4LqKrLs.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/{jO4fmY1N.js → KA1QvXmu.js} +1 -1
  75. package/build/client/_app/immutable/chunks/KA1QvXmu.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/KA1QvXmu.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/{D4sC5v3c.js → KsLFdNDs.js} +1 -1
  78. package/build/client/_app/immutable/chunks/KsLFdNDs.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/KsLFdNDs.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/{D8H_ivbb.js → OoMmWNOu.js} +1 -1
  81. package/build/client/_app/immutable/chunks/OoMmWNOu.js.br +0 -0
  82. package/build/client/_app/immutable/chunks/OoMmWNOu.js.gz +0 -0
  83. package/build/client/_app/immutable/chunks/{Yk6ZJZnu.js → UsO0MS14.js} +1 -1
  84. package/build/client/_app/immutable/chunks/UsO0MS14.js.br +0 -0
  85. package/build/client/_app/immutable/chunks/UsO0MS14.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/{snfmbqby.js → sf5kQ3yV.js} +1 -1
  87. package/build/client/_app/immutable/chunks/sf5kQ3yV.js.br +0 -0
  88. package/build/client/_app/immutable/chunks/sf5kQ3yV.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/{CM5sQDq_.js → w7c5E2ms.js} +1 -1
  90. package/build/client/_app/immutable/chunks/w7c5E2ms.js.br +0 -0
  91. package/build/client/_app/immutable/chunks/w7c5E2ms.js.gz +0 -0
  92. package/build/client/_app/immutable/entry/{app.DFSifnlU.js → app.FQLd-NC-.js} +2 -2
  93. package/build/client/_app/immutable/entry/app.FQLd-NC-.js.br +0 -0
  94. package/build/client/_app/immutable/entry/app.FQLd-NC-.js.gz +0 -0
  95. package/build/client/_app/immutable/entry/start.DqW_lChD.js +1 -0
  96. package/build/client/_app/immutable/entry/start.DqW_lChD.js.br +1 -0
  97. package/build/client/_app/immutable/entry/start.DqW_lChD.js.gz +0 -0
  98. package/build/client/_app/immutable/nodes/{1.Djdw1GzA.js → 1.5EZfoLCg.js} +1 -1
  99. package/build/client/_app/immutable/nodes/1.5EZfoLCg.js.br +0 -0
  100. package/build/client/_app/immutable/nodes/1.5EZfoLCg.js.gz +0 -0
  101. package/build/client/_app/immutable/nodes/{2.CjvaJDQJ.js → 2.CbcDv2oO.js} +2 -2
  102. package/build/client/_app/immutable/nodes/2.CbcDv2oO.js.br +0 -0
  103. package/build/client/_app/immutable/nodes/2.CbcDv2oO.js.gz +0 -0
  104. package/build/client/_app/version.json +1 -1
  105. package/build/client/_app/version.json.br +0 -0
  106. package/build/client/_app/version.json.gz +0 -0
  107. package/build/handler.js +4 -4
  108. package/build/index.js +4 -4
  109. package/build/server/chunks/chunks/{internal2.js-BPo5dcDi.js → internal2.js-627EG4am.js} +2 -2
  110. package/build/server/chunks/chunks/{internal2.js-BPo5dcDi.js.map → internal2.js-627EG4am.js.map} +1 -1
  111. package/build/server/chunks/chunks/{state.js-DgkwfYFo.js → state.js-DbqJPX0Y.js} +2 -2
  112. package/build/server/chunks/chunks/{state.js-DgkwfYFo.js.map → state.js-DbqJPX0Y.js.map} +1 -1
  113. package/build/server/chunks/entries/endpoints/api/stream/{_server.ts.js-BWRHawY8.js → _server.ts.js-B9_-4ssJ.js} +36 -1
  114. package/build/server/chunks/entries/endpoints/api/stream/_server.ts.js-B9_-4ssJ.js.map +1 -0
  115. package/build/server/chunks/entries/fallbacks/{error.svelte.js-CsCL5PMW.js → error.svelte.js-B8dLO9gT.js} +3 -3
  116. package/build/server/chunks/entries/fallbacks/{error.svelte.js-CsCL5PMW.js.map → error.svelte.js-B8dLO9gT.js.map} +1 -1
  117. package/build/server/chunks/entries/pages/{_page.svelte.js-qqtU0apo.js → _page.svelte.js-BwuzE25P.js} +3 -3
  118. package/build/server/chunks/entries/pages/{_page.svelte.js-qqtU0apo.js.map → _page.svelte.js-BwuzE25P.js.map} +1 -1
  119. package/build/server/chunks/{handler-DlfTB05m.js → handler-hlKcUyVP.js} +3 -3
  120. package/build/server/chunks/{handler-DlfTB05m.js.map → handler-hlKcUyVP.js.map} +1 -1
  121. package/build/server/chunks/{index.js-BMrd9hfO.js → index.js-BfPWKsz6.js} +2 -2
  122. package/build/server/chunks/{index.js-BMrd9hfO.js.map → index.js-BfPWKsz6.js.map} +1 -1
  123. package/build/server/chunks/{manifest.js-D1kCuVe5.js → manifest.js-uuijI5lm.js} +5 -5
  124. package/build/server/chunks/{manifest.js-D1kCuVe5.js.map → manifest.js-uuijI5lm.js.map} +1 -1
  125. package/build/server/chunks/nodes/{1.js-B5FPLYnf.js → 1.js-bi9PXX_2.js} +3 -3
  126. package/build/server/chunks/nodes/{1.js-B5FPLYnf.js.map → 1.js-bi9PXX_2.js.map} +1 -1
  127. package/build/server/chunks/nodes/{2.js-BEuxzw6b.js → 2.js-3MYCPEqM.js} +3 -3
  128. package/build/server/chunks/nodes/{2.js-BEuxzw6b.js.map → 2.js-3MYCPEqM.js.map} +1 -1
  129. package/dist/cli/server.js +10 -0
  130. package/package.json +3 -2
  131. package/build/client/_app/immutable/chunks/Amq8zxdJ.js.br +0 -0
  132. package/build/client/_app/immutable/chunks/Amq8zxdJ.js.gz +0 -0
  133. package/build/client/_app/immutable/chunks/B3p3umIY.js.br +0 -0
  134. package/build/client/_app/immutable/chunks/B3p3umIY.js.gz +0 -0
  135. package/build/client/_app/immutable/chunks/B43Eeyih.js.br +0 -0
  136. package/build/client/_app/immutable/chunks/B43Eeyih.js.gz +0 -0
  137. package/build/client/_app/immutable/chunks/B5q6rkQ-.js.br +0 -0
  138. package/build/client/_app/immutable/chunks/B5q6rkQ-.js.gz +0 -0
  139. package/build/client/_app/immutable/chunks/BAynhd7i.js.br +0 -0
  140. package/build/client/_app/immutable/chunks/BAynhd7i.js.gz +0 -0
  141. package/build/client/_app/immutable/chunks/BDlvDAqe.js.br +0 -0
  142. package/build/client/_app/immutable/chunks/BDlvDAqe.js.gz +0 -0
  143. package/build/client/_app/immutable/chunks/BGmgUZMc.js.br +0 -0
  144. package/build/client/_app/immutable/chunks/BGmgUZMc.js.gz +0 -0
  145. package/build/client/_app/immutable/chunks/BJpWBbAS.js.br +0 -0
  146. package/build/client/_app/immutable/chunks/BJpWBbAS.js.gz +0 -0
  147. package/build/client/_app/immutable/chunks/BOT2hFMn.js.br +0 -0
  148. package/build/client/_app/immutable/chunks/BOT2hFMn.js.gz +0 -0
  149. package/build/client/_app/immutable/chunks/BZFYtRPj.js.br +0 -0
  150. package/build/client/_app/immutable/chunks/BZFYtRPj.js.gz +0 -0
  151. package/build/client/_app/immutable/chunks/BsH4MNzX.js.br +0 -0
  152. package/build/client/_app/immutable/chunks/BsH4MNzX.js.gz +0 -0
  153. package/build/client/_app/immutable/chunks/ByhwhtiG.js.br +0 -0
  154. package/build/client/_app/immutable/chunks/ByhwhtiG.js.gz +0 -0
  155. package/build/client/_app/immutable/chunks/C1lycbEF.js.br +0 -0
  156. package/build/client/_app/immutable/chunks/C1lycbEF.js.gz +0 -0
  157. package/build/client/_app/immutable/chunks/CEU4ihsz.js.br +0 -0
  158. package/build/client/_app/immutable/chunks/CEU4ihsz.js.gz +0 -0
  159. package/build/client/_app/immutable/chunks/CG6rRxUy.js.br +0 -0
  160. package/build/client/_app/immutable/chunks/CG6rRxUy.js.gz +0 -0
  161. package/build/client/_app/immutable/chunks/CM5sQDq_.js.br +0 -0
  162. package/build/client/_app/immutable/chunks/CM5sQDq_.js.gz +0 -0
  163. package/build/client/_app/immutable/chunks/CT_NYh_-.js.br +0 -0
  164. package/build/client/_app/immutable/chunks/CT_NYh_-.js.gz +0 -0
  165. package/build/client/_app/immutable/chunks/CZIk93qi.js.br +0 -0
  166. package/build/client/_app/immutable/chunks/CZIk93qi.js.gz +0 -0
  167. package/build/client/_app/immutable/chunks/C_aXFBl3.js.br +0 -0
  168. package/build/client/_app/immutable/chunks/C_aXFBl3.js.gz +0 -0
  169. package/build/client/_app/immutable/chunks/CqWPu3PG.js +0 -1
  170. package/build/client/_app/immutable/chunks/CqWPu3PG.js.br +0 -1
  171. package/build/client/_app/immutable/chunks/CqWPu3PG.js.gz +0 -0
  172. package/build/client/_app/immutable/chunks/CyncJW0D.js.br +0 -0
  173. package/build/client/_app/immutable/chunks/CyncJW0D.js.gz +0 -0
  174. package/build/client/_app/immutable/chunks/D4sC5v3c.js.br +0 -0
  175. package/build/client/_app/immutable/chunks/D4sC5v3c.js.gz +0 -0
  176. package/build/client/_app/immutable/chunks/D76YLq-2.js.br +0 -0
  177. package/build/client/_app/immutable/chunks/D76YLq-2.js.gz +0 -0
  178. package/build/client/_app/immutable/chunks/D8H_ivbb.js.br +0 -0
  179. package/build/client/_app/immutable/chunks/D8H_ivbb.js.gz +0 -0
  180. package/build/client/_app/immutable/chunks/DU0OQtdJ.js.br +0 -0
  181. package/build/client/_app/immutable/chunks/DU0OQtdJ.js.gz +0 -0
  182. package/build/client/_app/immutable/chunks/Yk6ZJZnu.js.br +0 -0
  183. package/build/client/_app/immutable/chunks/Yk6ZJZnu.js.gz +0 -0
  184. package/build/client/_app/immutable/chunks/jO4fmY1N.js.br +0 -0
  185. package/build/client/_app/immutable/chunks/jO4fmY1N.js.gz +0 -0
  186. package/build/client/_app/immutable/chunks/snfmbqby.js.br +0 -0
  187. package/build/client/_app/immutable/chunks/snfmbqby.js.gz +0 -0
  188. package/build/client/_app/immutable/chunks/wx-wtMGx.js.br +0 -0
  189. package/build/client/_app/immutable/chunks/wx-wtMGx.js.gz +0 -0
  190. package/build/client/_app/immutable/chunks/zHL7lw4G.js.br +0 -0
  191. package/build/client/_app/immutable/chunks/zHL7lw4G.js.gz +0 -0
  192. package/build/client/_app/immutable/entry/app.DFSifnlU.js.br +0 -0
  193. package/build/client/_app/immutable/entry/app.DFSifnlU.js.gz +0 -0
  194. package/build/client/_app/immutable/entry/start.2H5s3Lol.js +0 -1
  195. package/build/client/_app/immutable/entry/start.2H5s3Lol.js.br +0 -1
  196. package/build/client/_app/immutable/entry/start.2H5s3Lol.js.gz +0 -0
  197. package/build/client/_app/immutable/nodes/1.Djdw1GzA.js.br +0 -0
  198. package/build/client/_app/immutable/nodes/1.Djdw1GzA.js.gz +0 -0
  199. package/build/client/_app/immutable/nodes/2.CjvaJDQJ.js.br +0 -0
  200. package/build/client/_app/immutable/nodes/2.CjvaJDQJ.js.gz +0 -0
  201. package/build/server/chunks/entries/endpoints/api/stream/_server.ts.js-BWRHawY8.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.2H5s3Lol.js",app:"_app/immutable/entry/app.DFSifnlU.js",imports:["_app/immutable/entry/start.2H5s3Lol.js","_app/immutable/chunks/BOT2hFMn.js","_app/immutable/chunks/pqiPC7Y8.js","_app/immutable/entry/app.DFSifnlU.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.DqW_lChD.js",app:"_app/immutable/entry/app.FQLd-NC-.js",imports:["_app/immutable/entry/start.DqW_lChD.js","_app/immutable/chunks/DkQY3T0m.js","_app/immutable/chunks/pqiPC7Y8.js","_app/immutable/entry/app.FQLd-NC-.js","_app/immutable/chunks/pqiPC7Y8.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
14
14
  nodes: [
15
15
  __memo(() => import('./nodes/0.js-CNFDDPj5.js')),
16
- __memo(() => import('./nodes/1.js-B5FPLYnf.js')),
17
- __memo(() => import('./nodes/2.js-BEuxzw6b.js'))
16
+ __memo(() => import('./nodes/1.js-bi9PXX_2.js')),
17
+ __memo(() => import('./nodes/2.js-3MYCPEqM.js'))
18
18
  ],
19
19
  remotes: {
20
20
 
@@ -74,7 +74,7 @@ return {
74
74
  pattern: /^\/api\/stream\/?$/,
75
75
  params: [],
76
76
  page: null,
77
- endpoint: __memo(() => import('./entries/endpoints/api/stream/_server.ts.js-BWRHawY8.js'))
77
+ endpoint: __memo(() => import('./entries/endpoints/api/stream/_server.ts.js-B9_-4ssJ.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-D1kCuVe5.js.map
91
+ //# sourceMappingURL=manifest.js-uuijI5lm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js-D1kCuVe5.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.2H5s3Lol.js\",app:\"_app/immutable/entry/app.DFSifnlU.js\",imports:[\"_app/immutable/entry/start.2H5s3Lol.js\",\"_app/immutable/chunks/BOT2hFMn.js\",\"_app/immutable/chunks/pqiPC7Y8.js\",\"_app/immutable/entry/app.DFSifnlU.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-uuijI5lm.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.DqW_lChD.js\",app:\"_app/immutable/entry/app.FQLd-NC-.js\",imports:[\"_app/immutable/entry/start.DqW_lChD.js\",\"_app/immutable/chunks/DkQY3T0m.js\",\"_app/immutable/chunks/pqiPC7Y8.js\",\"_app/immutable/entry/app.FQLd-NC-.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,9 +1,9 @@
1
1
  const index = 1;
2
2
  let component_cache;
3
- const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js-CsCL5PMW.js')).default;
4
- const imports = ["_app/immutable/nodes/1.Djdw1GzA.js","_app/immutable/chunks/pqiPC7Y8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/BsH4MNzX.js","_app/immutable/chunks/BOT2hFMn.js"];
3
+ const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js-B8dLO9gT.js')).default;
4
+ const imports = ["_app/immutable/nodes/1.5EZfoLCg.js","_app/immutable/chunks/pqiPC7Y8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D6rwn6Ed.js","_app/immutable/chunks/DkQY3T0m.js"];
5
5
  const stylesheets = [];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=1.js-B5FPLYnf.js.map
9
+ //# sourceMappingURL=1.js-bi9PXX_2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1.js-B5FPLYnf.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.Djdw1GzA.js\",\"_app/immutable/chunks/pqiPC7Y8.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/BsH4MNzX.js\",\"_app/immutable/chunks/BOT2hFMn.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-bi9PXX_2.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.5EZfoLCg.js\",\"_app/immutable/chunks/pqiPC7Y8.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D6rwn6Ed.js\",\"_app/immutable/chunks/DkQY3T0m.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,9 +1,9 @@
1
1
  const index = 2;
2
2
  let component_cache;
3
- const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-qqtU0apo.js')).default;
4
- const imports = ["_app/immutable/nodes/2.CjvaJDQJ.js","_app/immutable/chunks/pqiPC7Y8.js","_app/immutable/chunks/BOT2hFMn.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/BsH4MNzX.js","_app/immutable/chunks/BjxZ_neZ.js"];
3
+ const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-BwuzE25P.js')).default;
4
+ const imports = ["_app/immutable/nodes/2.CbcDv2oO.js","_app/immutable/chunks/pqiPC7Y8.js","_app/immutable/chunks/DkQY3T0m.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D6rwn6Ed.js","_app/immutable/chunks/BjxZ_neZ.js"];
5
5
  const stylesheets = ["_app/immutable/assets/Path.B0wDzTrn.css","_app/immutable/assets/Circle.C5MKzgk2.css","_app/immutable/assets/EventScatter.DA5sZ1c0.css"];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=2.js-BEuxzw6b.js.map
9
+ //# sourceMappingURL=2.js-3MYCPEqM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"2.js-BEuxzw6b.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.CjvaJDQJ.js\",\"_app/immutable/chunks/pqiPC7Y8.js\",\"_app/immutable/chunks/BOT2hFMn.js\",\"_app/immutable/chunks/HclGiUj8.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/BsH4MNzX.js\",\"_app/immutable/chunks/BjxZ_neZ.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Path.B0wDzTrn.css\",\"_app/immutable/assets/Circle.C5MKzgk2.css\",\"_app/immutable/assets/EventScatter.DA5sZ1c0.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;AACxQ,MAAC,WAAW,GAAG,CAAC,yCAAyC,CAAC,2CAA2C,CAAC,iDAAiD;AACvJ,MAAC,KAAK,GAAG;;"}
1
+ {"version":3,"file":"2.js-3MYCPEqM.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.CbcDv2oO.js\",\"_app/immutable/chunks/pqiPC7Y8.js\",\"_app/immutable/chunks/DkQY3T0m.js\",\"_app/immutable/chunks/HclGiUj8.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D6rwn6Ed.js\",\"_app/immutable/chunks/BjxZ_neZ.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Path.B0wDzTrn.css\",\"_app/immutable/assets/Circle.C5MKzgk2.css\",\"_app/immutable/assets/EventScatter.DA5sZ1c0.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;AACxQ,MAAC,WAAW,GAAG,CAAC,yCAAyC,CAAC,2CAA2C,CAAC,iDAAiD;AACvJ,MAAC,KAAK,GAAG;;"}
@@ -11,6 +11,15 @@ import { dirname, join, resolve } from 'node:path';
11
11
  import { fileURLToPath } from 'node:url';
12
12
  /** Where the adapter-node server lives inside the package. */
13
13
  const SERVER_ENTRY = join('build', 'index.js');
14
+ /**
15
+ * How long the server may wait for open connections when it stops, in seconds.
16
+ *
17
+ * The app ends its own event streams when it is asked to stop, so its graceful
18
+ * shutdown normally completes at once; this is the outer bound for anything else
19
+ * that is still connected. adapter-node's default is thirty seconds, which is
20
+ * what made a Ctrl+C look like it had not stopped the server.
21
+ */
22
+ export const SHUTDOWN_TIMEOUT_SECONDS = 2;
14
23
  /**
15
24
  * Walks up from the compiled CLI file until it finds `build/index.js`.
16
25
  *
@@ -58,6 +67,7 @@ export function startServer(input) {
58
67
  PORT: String(input.port),
59
68
  HOST: input.host,
60
69
  ORIGIN: uiUrl(input.host, input.port),
70
+ SHUTDOWN_TIMEOUT: String(SHUTDOWN_TIMEOUT_SECONDS),
61
71
  };
62
72
  return spawn(process.execPath, [join(input.appRoot, SERVER_ENTRY)], {
63
73
  cwd: input.appRoot,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "watch-tail",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
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",
@@ -34,7 +34,8 @@
34
34
  ],
35
35
  "type": "module",
36
36
  "publishConfig": {
37
- "access": "public"
37
+ "access": "public",
38
+ "tag": "latest"
38
39
  },
39
40
  "dependencies": {
40
41
  "@aws-sdk/client-cloudwatch-logs": "^3.1129.0",
@@ -1 +0,0 @@
1
- import{f as e}from"./BGmgUZMc.js";export{e as default};
@@ -1 +0,0 @@
1
- �import{f as e}from"./BGmgUZMc.js";export{e as default};
@@ -1 +0,0 @@
1
- import{a as e,n as t}from"../chunks/BOT2hFMn.js";export{e as load_css,t as start};
@@ -1 +0,0 @@
1
- �(�import{a as e,n as t}from"../chunks/BOT2hFMn.js";export{e as load_css,t as start};
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts.js-BWRHawY8.js","sources":["../../../../../../../.svelte-kit/output/server/entries/endpoints/api/stream/_server.ts.js"],"sourcesContent":["import { t as getArchive } from \"../../../../chunks/archive.js\";\nimport { t as readEnv } from \"../../../../chunks/env2.js\";\nimport { a as describeAwsError, c as resolveEffectiveRegion, l as apiError, n as REGION_PARAM_HINT, o as parseRegionParam, r as createLogsClient, s as resolveAwsConfig } from \"../../../../chunks/aws.js\";\nimport { n as parseSourceParam, t as SOURCE_PARAM_HINT } from \"../../../../chunks/source.js\";\nimport { a as clampPollMs, i as parseGroupParams, n as parseLevelParam, r as withDetections, s as resolveWindow, t as LEVEL_PARAM_HINT } from \"../../../../chunks/level-filter.js\";\nimport \"@sveltejs/kit\";\nimport { FilterLogEventsCommand } from \"@aws-sdk/client-cloudwatch-logs\";\n//#region src/lib/server/archive-tail.ts\n/** Page size used when the caller does not ask for one. */\nvar DEFAULT_ARCHIVE_PAGE_SIZE = 1e3;\n/** Upper bound on one page, so a huge window cannot exhaust memory. */\nvar MAX_ARCHIVE_PAGE_SIZE = 5e3;\n/** Events one archive request may return before it stops (matches the tailer). */\nvar DEFAULT_ARCHIVE_MAX_EVENTS = 1e4;\n/** Message shown when DuckDB is missing or the file cannot be opened. */\nfunction archiveUnavailableMessage(archive) {\n\tconst reason = archive.error;\n\tconst base = \"The local archive is not available on this machine\";\n\treturn reason === null || reason.length === 0 ? base : `${base}: ${reason}`;\n}\n/**\n* Yields archived events for one window, oldest first.\n*\n* An unavailable archive produces a single `error` batch instead of throwing, so\n* the browser shows a normal stream error. An aborted signal ends the generator\n* without yielding an `end` batch, which is what the route treats as a\n* client disconnect.\n*/\nasync function* tailArchivedEvents(options) {\n\tconst { archive, region, logGroups, startTime, endTime, search = null, streamPrefix = null, levels = null, signal } = options;\n\tif (!archive.available) {\n\t\tyield {\n\t\t\ttype: \"error\",\n\t\t\tmessage: archiveUnavailableMessage(archive),\n\t\t\tcode: \"archive-unavailable\"\n\t\t};\n\t\treturn;\n\t}\n\tconst requestedPageSize = options.pageSize ?? 1e3;\n\tconst pageSize = Math.min(Math.max(Number.isFinite(requestedPageSize) ? Math.round(requestedPageSize) : DEFAULT_ARCHIVE_PAGE_SIZE, 1), MAX_ARCHIVE_PAGE_SIZE);\n\tconst requestedMax = options.maxEvents ?? 1e4;\n\tconst maxEvents = Number.isFinite(requestedMax) && requestedMax > 0 ? Math.floor(requestedMax) : DEFAULT_ARCHIVE_MAX_EVENTS;\n\tlet cursor = null;\n\tlet emitted = 0;\n\tfor (;;) {\n\t\tif (signal?.aborted === true) return;\n\t\tconst page = await archive.page({\n\t\t\tregion,\n\t\t\tlogGroups,\n\t\t\tstartTime,\n\t\t\tendTime,\n\t\t\tsearch,\n\t\t\tstreamPrefix,\n\t\t\tlevels,\n\t\t\tafter: cursor,\n\t\t\tlimit: pageSize\n\t\t});\n\t\tif (page.events.length === 0) {\n\t\t\tyield {\n\t\t\t\ttype: \"end\",\n\t\t\t\treason: \"window-complete\"\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\temitted += page.events.length;\n\t\tyield {\n\t\t\ttype: \"events\",\n\t\t\tevents: page.events\n\t\t};\n\t\tcursor = page.last;\n\t\tif (cursor === null || page.events.length < pageSize) {\n\t\t\tyield {\n\t\t\t\ttype: \"end\",\n\t\t\t\treason: \"window-complete\"\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\tif (emitted >= maxEvents) {\n\t\t\tyield {\n\t\t\t\ttype: \"end\",\n\t\t\t\treason: \"event-limit\"\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t}\n}\n//#endregion\n//#region src/lib/server/multi-tail.ts\n/** Events-payload batch reasons, worst first. */\nvar END_PRECEDENCE = [\n\t\"repeated-errors\",\n\t\"event-limit\",\n\t\"window-complete\"\n];\n/** Picks the most serious end reason from the sources. */\nfunction mergeEndReason(reasons) {\n\tfor (const candidate of END_PRECEDENCE) if (reasons.includes(candidate)) return candidate;\n\treturn \"window-complete\";\n}\n/**\n* Yields every batch of every source, then one `end`.\n*\n* A failing source yields its own `error` batch; it never cancels the others, so\n* one unreadable group does not silence the rest of the view.\n*/\nasync function* mergeTails(sources) {\n\tif (sources.length === 0) return;\n\tif (sources.length === 1) {\n\t\tyield* sources[0];\n\t\treturn;\n\t}\n\tconst queue = [];\n\tlet waiting = null;\n\t/** Sources whose end marker has been consumed, so their batches are all out. */\n\tlet completed = 0;\n\tconst endReasons = [];\n\tconst push = (item) => {\n\t\tqueue.push(item);\n\t\tconst wake = waiting;\n\t\twaiting = null;\n\t\twake?.();\n\t};\n\tfor (const source of sources) (async () => {\n\t\tlet endReason = null;\n\t\ttry {\n\t\t\tfor await (const batch of source) if (batch.type === \"end\") endReason = batch.reason;\n\t\t\telse push({ batch });\n\t\t} catch {} finally {\n\t\t\tif (endReason !== null) endReasons.push(endReason);\n\t\t\tpush({ done: true });\n\t\t}\n\t})();\n\tfor (;;) {\n\t\tif (queue.length === 0) {\n\t\t\tif (completed >= sources.length) {\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"end\",\n\t\t\t\t\treason: mergeEndReason(endReasons)\n\t\t\t\t};\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait new Promise((resolve) => {\n\t\t\t\twaiting = resolve;\n\t\t\t\tif (queue.length > 0 || completed >= sources.length) {\n\t\t\t\t\twaiting = null;\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst item = queue.shift();\n\t\tif (\"batch\" in item) yield item.batch;\n\t\telse completed += 1;\n\t}\n}\n//#endregion\n//#region src/lib/server/sse.ts\nvar NEWLINE_PATTERN = /\\r?\\n/g;\n/**\n* Encodes a single server-sent event frame.\n*\n* The JSON payload is always kept on one line, so the frame is\n* `event: <name>\\ndata: <json>\\n\\n`.\n*/\nfunction sseFrame(event, data) {\n\treturn `event: ${event.replace(NEWLINE_PATTERN, \" \").trim()}\\ndata: ${(JSON.stringify(data) ?? \"null\").replace(NEWLINE_PATTERN, \" \")}\\n\\n`;\n}\n//#endregion\n//#region src/lib/server/tail.ts\nvar DEFAULT_SEEN_CAPACITY = 5e3;\nvar DEFAULT_POLL_MS = 1e3;\nvar DEFAULT_LIMIT = 1e3;\nvar DEFAULT_MAX_CONSECUTIVE_ERRORS = 8;\nvar MAX_BACKOFF_MS = 15e3;\n/** Empty polls that end a historic window: CloudWatch can lag behind ingestion. */\nvar DEFAULT_IDLE_POLLS = 2;\n/** Upper bound on events yielded for one historic window. */\nvar DEFAULT_MAX_EVENTS = 1e4;\n/** Returns true when the value is an abort error raised by the fetch/SDK layer. */\nfunction isAbortError(error) {\n\tif (error instanceof Error) return error.name === \"AbortError\" || error.code === \"ABORT_ERR\";\n\treturn false;\n}\n/**\n* Abort-aware sleep used by default.\n*\n* Resolves after `ms`, resolves immediately when the signal aborts and always\n* clears its timer. An injected sleep may instead reject on abort, which\n* {@link tailLogEvents} handles by re-checking the signal.\n*/\nvar defaultSleep = (ms, signal) => new Promise((resolve) => {\n\tif (signal?.aborted === true || !Number.isFinite(ms) || ms <= 0) {\n\t\tresolve();\n\t\treturn;\n\t}\n\tconst onAbort = () => {\n\t\tclearTimeout(timer);\n\t\tresolve();\n\t};\n\tconst timer = setTimeout(() => {\n\t\tsignal?.removeEventListener(\"abort\", onAbort);\n\t\tresolve();\n\t}, ms);\n\ttimer.unref?.();\n\tsignal?.addEventListener(\"abort\", onAbort, { once: true });\n});\n/**\n* Bounded first-in-first-out set of event ids.\n*\n* Keeps at most `capacity` ids (default 5000) so memory stays flat on long\n* streams. The oldest id is evicted first.\n*/\nvar SeenEventIds = class {\n\tids = /* @__PURE__ */ new Set();\n\tcapacity;\n\tconstructor(capacity = DEFAULT_SEEN_CAPACITY) {\n\t\tconst parsed = Number.isFinite(capacity) ? Math.floor(capacity) : DEFAULT_SEEN_CAPACITY;\n\t\tthis.capacity = parsed > 0 ? parsed : DEFAULT_SEEN_CAPACITY;\n\t}\n\t/** True when the id was recorded before. Null and empty ids are never recorded. */\n\thas(id) {\n\t\treturn id !== null && id.length > 0 && this.ids.has(id);\n\t}\n\t/** Records an id, evicting the oldest entry when the capacity is reached. */\n\tadd(id) {\n\t\tif (id === null || id.length === 0 || this.ids.has(id)) return;\n\t\tif (this.ids.size >= this.capacity) {\n\t\t\tconst oldest = this.ids.values().next();\n\t\t\tif (!oldest.done) this.ids.delete(oldest.value);\n\t\t}\n\t\tthis.ids.add(id);\n\t}\n\t/** Number of ids currently remembered. */\n\tget size() {\n\t\treturn this.ids.size;\n\t}\n};\n/**\n* Converts a poll result into the events worth sending downstream.\n*\n* Drops ids seen in earlier polls and duplicates inside the same batch, then\n* records the ids of the accepted events. Events without an id are always kept\n* and never recorded.\n*/\nfunction selectNewEvents(events, seen) {\n\tconst selected = [];\n\tif (events === void 0 || events.length === 0) return selected;\n\tconst freshIds = /* @__PURE__ */ new Set();\n\tfor (const event of events) {\n\t\tconst id = event.eventId !== void 0 && event.eventId.length > 0 ? event.eventId : null;\n\t\tif (id !== null) {\n\t\t\tif (seen.has(id) || freshIds.has(id)) continue;\n\t\t\tfreshIds.add(id);\n\t\t}\n\t\tconst dto = {\n\t\t\tid,\n\t\t\ttimestamp: typeof event.timestamp === \"number\" ? event.timestamp : 0,\n\t\t\tmessage: event.message ?? \"\"\n\t\t};\n\t\tif (event.logStreamName !== void 0) dto.streamName = event.logStreamName;\n\t\tif (typeof event.ingestionTime === \"number\") dto.ingestionTime = event.ingestionTime;\n\t\tselected.push(dto);\n\t}\n\tfor (const id of freshIds) seen.add(id);\n\treturn selected;\n}\n/** Highest timestamp in `events`, never lower than `previous`. */\nfunction nextCursor(previous, events) {\n\tlet cursor = Number.isFinite(previous) ? previous : 0;\n\tfor (const event of events) if (Number.isFinite(event.timestamp) && event.timestamp > cursor) cursor = event.timestamp;\n\treturn cursor;\n}\n/**\n* Polls `FilterLogEvents` and yields batches as they arrive.\n*\n* `startTime` is inclusive upstream, so the cursor advances to the newest\n* timestamp seen and repeated events are removed by {@link SeenEventIds}.\n* Nothing is new in a poll => sleep `pollIntervalMs`. Errors are yielded as\n* `error` batches and retried with exponential backoff\n* (`pollIntervalMs * 2^consecutiveErrors`, capped at 15000 ms) until\n* `maxConsecutiveErrors` (default 8) failures in a row, then the generator\n* returns. An aborted signal ends the generator without throwing.\n*/\nasync function* tailLogEvents(options) {\n\tconst { client, logGroupName, startTime, pollIntervalMs = DEFAULT_POLL_MS, limit = DEFAULT_LIMIT, filterPattern, signal, sleep = defaultSleep, maxConsecutiveErrors = DEFAULT_MAX_CONSECUTIVE_ERRORS, logStreamNamePrefix, endTime = null, idlePolls = DEFAULT_IDLE_POLLS, maxEvents = DEFAULT_MAX_EVENTS } = options;\n\tconst historic = typeof endTime === \"number\" && Number.isFinite(endTime);\n\tconst windowEnd = historic ? endTime : null;\n\tconst idlePollsAllowed = Number.isFinite(idlePolls) && idlePolls > 0 ? Math.floor(idlePolls) : DEFAULT_IDLE_POLLS;\n\tconst eventCap = Number.isFinite(maxEvents) && maxEvents > 0 ? Math.floor(maxEvents) : DEFAULT_MAX_EVENTS;\n\tconst pollMs = Number.isFinite(pollIntervalMs) && pollIntervalMs > 0 ? Math.min(Math.round(pollIntervalMs), MAX_BACKOFF_MS) : DEFAULT_POLL_MS;\n\tconst pageLimit = Number.isFinite(limit) && limit > 0 ? Math.floor(limit) : DEFAULT_LIMIT;\n\tconst maxErrors = Number.isFinite(maxConsecutiveErrors) && maxConsecutiveErrors > 0 ? Math.floor(maxConsecutiveErrors) : DEFAULT_MAX_CONSECUTIVE_ERRORS;\n\tconst baseInput = {\n\t\tlogGroupName,\n\t\tstartTime,\n\t\tlimit: pageLimit\n\t};\n\tif (windowEnd !== null) baseInput.endTime = windowEnd;\n\tif (filterPattern !== void 0 && filterPattern.length > 0) baseInput.filterPattern = filterPattern;\n\tif (logStreamNamePrefix !== void 0 && logStreamNamePrefix.length > 0) baseInput.logStreamNamePrefix = logStreamNamePrefix;\n\tconst isAborted = () => signal?.aborted === true;\n\tconst wait = async (ms) => {\n\t\tif (isAborted()) return true;\n\t\ttry {\n\t\t\tawait sleep(ms, signal);\n\t\t} catch {}\n\t\treturn isAborted();\n\t};\n\tconst seen = new SeenEventIds();\n\tlet cursor = Number.isFinite(startTime) ? startTime : 0;\n\tlet consecutiveErrors = 0;\n\tlet emitted = 0;\n\tlet emptyPolls = 0;\n\tfor (;;) {\n\t\tif (isAborted()) return;\n\t\ttry {\n\t\t\tconst input = {\n\t\t\t\t...baseInput,\n\t\t\t\tstartTime: cursor\n\t\t\t};\n\t\t\tconst response = await client.send(new FilterLogEventsCommand(input), { abortSignal: signal });\n\t\t\tconsecutiveErrors = 0;\n\t\t\tconst events = selectNewEvents(response.events, seen);\n\t\t\tif (events.length > 0) {\n\t\t\t\temptyPolls = 0;\n\t\t\t\tcursor = nextCursor(cursor, events);\n\t\t\t\temitted += events.length;\n\t\t\t\tyield {\n\t\t\t\t\ttype: \"events\",\n\t\t\t\t\tevents\n\t\t\t\t};\n\t\t\t\tif (historic && emitted >= eventCap) {\n\t\t\t\t\tyield {\n\t\t\t\t\t\ttype: \"end\",\n\t\t\t\t\t\treason: \"event-limit\"\n\t\t\t\t\t};\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (windowEnd !== null && cursor >= windowEnd) {\n\t\t\t\t\tyield {\n\t\t\t\t\t\ttype: \"end\",\n\t\t\t\t\t\treason: \"window-complete\"\n\t\t\t\t\t};\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (historic) {\n\t\t\t\temptyPolls += 1;\n\t\t\t\tif (emptyPolls >= idlePollsAllowed) {\n\t\t\t\t\tyield {\n\t\t\t\t\t\ttype: \"end\",\n\t\t\t\t\t\treason: \"window-complete\"\n\t\t\t\t\t};\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (isAborted() || isAbortError(error)) return;\n\t\t\tconsecutiveErrors += 1;\n\t\t\tconst described = describeAwsError(error);\n\t\t\tyield {\n\t\t\t\ttype: \"error\",\n\t\t\t\tmessage: described.message,\n\t\t\t\tcode: described.code\n\t\t\t};\n\t\t\tif (consecutiveErrors >= maxErrors) {\n\t\t\t\tif (historic) yield {\n\t\t\t\t\ttype: \"end\",\n\t\t\t\t\treason: \"repeated-errors\"\n\t\t\t\t};\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (await wait(Math.min(pollMs * 2 ** consecutiveErrors, MAX_BACKOFF_MS))) return;\n\t\t\tcontinue;\n\t\t}\n\t\tif (await wait(pollMs)) return;\n\t}\n}\n//#endregion\n//#region src/routes/api/stream/+server.ts\n/** Send a `ping` after this much silence. */\nvar PING_INTERVAL_MS = 15e3;\n/** Stop the stream after this many consecutive failed polls. */\nvar MAX_CONSECUTIVE_ERRORS = 8;\n/** Bounds for the archive `pageSize` parameter. */\nvar ARCHIVE_PAGE_LIMITS = {\n\tmin: 1,\n\tmax: 5e3\n};\n/** Bounds for the archive `max` parameter (events per request). */\nvar ARCHIVE_MAX_LIMITS = {\n\tmin: 1,\n\tmax: 1e5\n};\nvar SSE_HEADERS = {\n\t\"content-type\": \"text/event-stream; charset=utf-8\",\n\t\"cache-control\": \"no-cache, no-transform\",\n\tconnection: \"keep-alive\",\n\t\"x-accel-buffering\": \"no\"\n};\n/**\n* Tags every event of one tail with its log group.\n*\n* A merged multi-group stream has to say which group each line came from, both\n* for the archive and for the group column in the viewer.\n*/\nasync function* taggedEvents(source, group) {\n\tfor await (const batch of source) {\n\t\tif (batch.type !== \"events\") {\n\t\t\tyield batch;\n\t\t\tcontinue;\n\t\t}\n\t\tconst events = [];\n\t\tfor (const event of batch.events) events.push({\n\t\t\t...event,\n\t\t\tgroup\n\t\t});\n\t\tyield {\n\t\t\ttype: \"events\",\n\t\t\tevents\n\t\t};\n\t}\n}\n/**\n* Writes one batch to the archive, under the right group.\n*\n* A merged multi-group stream tags every event with its own group, so a batch\n* that mixes groups is split; a single-group stream falls back to the group the\n* request named.\n*/\nasync function recordBatch(archive, region, groupNames, events) {\n\tconst fallback = groupNames[0] ?? \"\";\n\tconst byGroup = /* @__PURE__ */ new Map();\n\tfor (const event of events) {\n\t\tconst group = event.group ?? fallback;\n\t\tconst bucket = byGroup.get(group);\n\t\tif (bucket === void 0) byGroup.set(group, [event]);\n\t\telse bucket.push(event);\n\t}\n\tfor (const [group, groupEvents] of byGroup) await archive.record(region, group, groupEvents);\n}\n/**\n* Parses a positive integer parameter within `limits`.\n*\n* Returns `null` for a missing value (meaning \"use the default\") and for an\n* unusable one, so a typo falls back to the default instead of failing the\n* stream; an out-of-range value is clamped rather than rejected.\n*/\nfunction parseBoundedInt(value, limits) {\n\tif (value === null) return null;\n\tconst trimmed = value.trim();\n\tif (trimmed.length === 0) return null;\n\tconst parsed = Number(trimmed);\n\tif (!Number.isFinite(parsed)) return null;\n\treturn Math.min(Math.max(Math.round(parsed), limits.min), limits.max);\n}\n/**\n* Builds the feed for a request.\n*\n* The archive path never creates a CloudWatch client, so browsing history works\n* with no credentials and no network; it does need a region, because archived\n* rows are stored per region. Failures come back as an `apiError` response the\n* route returns unchanged.\n*/\nasync function resolveFeed(request) {\n\tconst { source, config, env, groupNames, startTime, endTime, signal } = request;\n\tif (source === \"archive\") {\n\t\tconst region = config.region ?? \"\";\n\t\tif (region === \"\") return apiError(400, \"Query parameter \\\"region\\\" is required when source=archive\", \"missing-region-param\");\n\t\treturn {\n\t\t\tregion,\n\t\t\tgroupNames,\n\t\t\tgenerator: tailArchivedEvents({\n\t\t\t\tarchive: await getArchive(env),\n\t\t\t\tregion,\n\t\t\t\tlogGroups: groupNames,\n\t\t\t\tstartTime,\n\t\t\t\tendTime: endTime ?? Date.now(),\n\t\t\t\tsearch: request.search,\n\t\t\t\tlevels: request.levels,\n\t\t\t\t...request.pageSize === null ? {} : { pageSize: request.pageSize },\n\t\t\t\t...request.maxEvents === null ? {} : { maxEvents: request.maxEvents },\n\t\t\t\tsignal\n\t\t\t}),\n\t\t\trelease: () => void 0\n\t\t};\n\t}\n\tlet client;\n\ttry {\n\t\tclient = createLogsClient(config);\n\t} catch (error) {\n\t\tconst described = describeAwsError(error);\n\t\treturn apiError(502, described.message, described.code);\n\t}\n\tlet region;\n\ttry {\n\t\tregion = await resolveEffectiveRegion(client, config);\n\t} catch (error) {\n\t\tclient.destroy();\n\t\tconst described = describeAwsError(error);\n\t\treturn apiError(502, described.message, described.code);\n\t}\n\tconst tails = groupNames.map((group) => taggedEvents(tailLogEvents({\n\t\tclient,\n\t\tlogGroupName: group,\n\t\tstartTime,\n\t\tendTime,\n\t\tpollIntervalMs: request.pollIntervalMs,\n\t\tfilterPattern: request.filterPattern,\n\t\tsignal,\n\t\tmaxConsecutiveErrors: MAX_CONSECUTIVE_ERRORS\n\t}), group));\n\treturn {\n\t\tregion,\n\t\tgroupNames,\n\t\tgenerator: mergeTails(tails),\n\t\trelease: () => client.destroy()\n\t};\n}\n/**\n* `GET /api/stream` - server-sent events for one log group.\n*\n* Emits `ready` first, then `log` per batch, `ping` after 15 s of silence and\n* a final `end`. `source=cloudwatch` (the default) polls CloudWatch Logs with\n* the ambient credentials; `source=archive` replays the local DuckDB archive and\n* needs neither credentials nor a region parameter resolution.\n*\n* The stream is cancelled through `request.signal`, and every timer and listener\n* is removed so the dev server can exit.\n*/\nvar GET = async ({ url, request }) => {\n\tconst groupSelection = parseGroupParams(url.searchParams.get(\"group\"), url.searchParams.get(\"groups\"));\n\tif (!groupSelection.ok) return apiError(400, groupSelection.message, groupSelection.code);\n\tconst groupNames = groupSelection.names;\n\tconst parsedRegion = parseRegionParam(url.searchParams.get(\"region\"));\n\tif (!parsedRegion.ok) return apiError(400, REGION_PARAM_HINT, \"invalid-region\");\n\tconst source = parseSourceParam(url.searchParams.get(\"source\"));\n\tif (source === null) return apiError(400, SOURCE_PARAM_HINT, \"invalid-source\");\n\tconst env = readEnv();\n\tconst config = resolveAwsConfig(env, parsedRegion.region);\n\tconst filterPattern = url.searchParams.get(\"filterPattern\")?.trim();\n\tconst search = url.searchParams.get(\"search\")?.trim() ?? \"\";\n\tconst levels = parseLevelParam(url.searchParams.get(\"level\"));\n\tif (levels === void 0) return apiError(400, LEVEL_PARAM_HINT, \"invalid-level\");\n\tif (levels !== null && source !== \"archive\") return apiError(400, \"The \\\"level\\\" filter applies to source=archive; use filterPattern to filter CloudWatch\", \"invalid-level\");\n\tconst streamWindow = resolveWindow({\n\t\tmode: url.searchParams.get(\"mode\") ?? (source === \"archive\" ? \"historic\" : null),\n\t\trange: url.searchParams.get(\"range\"),\n\t\tfrom: url.searchParams.get(\"from\"),\n\t\tto: url.searchParams.get(\"to\"),\n\t\tstartTime: url.searchParams.get(\"startTime\"),\n\t\tlookback: url.searchParams.get(\"lookback\"),\n\t\tnow: Date.now()\n\t}, source === \"archive\" ? { maxLookbackMs: null } : {});\n\tif (!streamWindow.ok) return apiError(400, streamWindow.message, streamWindow.code);\n\tif (source === \"archive\" && streamWindow.mode === \"live\") return apiError(400, \"The local archive only serves historic windows: use mode=historic, or source=cloudwatch to tail live\", \"invalid-mode\");\n\tconst bodyAbort = new AbortController();\n\tconst feed = await resolveFeed({\n\t\tsource,\n\t\tconfig,\n\t\tenv,\n\t\tgroupNames,\n\t\tstartTime: streamWindow.startTime,\n\t\tendTime: streamWindow.endTime,\n\t\tfilterPattern,\n\t\tsearch: search.length === 0 ? null : search,\n\t\tlevels,\n\t\tpageSize: parseBoundedInt(url.searchParams.get(\"pageSize\"), ARCHIVE_PAGE_LIMITS),\n\t\tmaxEvents: parseBoundedInt(url.searchParams.get(\"max\"), ARCHIVE_MAX_LIMITS),\n\t\tpollIntervalMs: clampPollMs(url.searchParams.get(\"poll\")),\n\t\tsignal: bodyAbort.signal\n\t});\n\tif (feed instanceof Response) return feed;\n\tconst archive = source === \"cloudwatch\" ? await getArchive(env) : null;\n\tconst encoder = new TextEncoder();\n\tlet streamController;\n\tlet closed = false;\n\tlet pingTimer;\n\tlet cleanedUp = false;\n\tconst clearPing = () => {\n\t\tif (pingTimer !== void 0) {\n\t\t\tclearTimeout(pingTimer);\n\t\t\tpingTimer = void 0;\n\t\t}\n\t};\n\tconst armPing = () => {\n\t\tif (closed) return;\n\t\tclearPing();\n\t\tpingTimer = setTimeout(() => {\n\t\t\tpingTimer = void 0;\n\t\t\tif (closed) return;\n\t\t\tenqueue(sseFrame(\"ping\", { at: Date.now() }), false);\n\t\t\tarmPing();\n\t\t}, PING_INTERVAL_MS);\n\t\tpingTimer.unref?.();\n\t};\n\tconst enqueue = (chunk, rearm = true) => {\n\t\tif (closed || streamController === void 0) return;\n\t\ttry {\n\t\t\tstreamController.enqueue(encoder.encode(chunk));\n\t\t} catch {\n\t\t\tclosed = true;\n\t\t\treturn;\n\t\t}\n\t\tif (rearm) armPing();\n\t};\n\tconst closeStream = () => {\n\t\tclosed = true;\n\t\ttry {\n\t\t\tstreamController?.close();\n\t\t} catch {}\n\t};\n\tconst writeEnd = (reason) => {\n\t\tclearPing();\n\t\tconst payload = { reason };\n\t\ttry {\n\t\t\tstreamController?.enqueue(encoder.encode(sseFrame(\"end\", payload)));\n\t\t} catch {}\n\t\tcloseStream();\n\t};\n\tconst onAbort = () => {\n\t\tbodyAbort.abort();\n\t};\n\tconst cleanup = () => {\n\t\tif (cleanedUp) return;\n\t\tcleanedUp = true;\n\t\tclearPing();\n\t\trequest.signal.removeEventListener(\"abort\", onAbort);\n\t\tfeed.release();\n\t};\n\tconst pump = async () => {\n\t\tlet consecutiveErrors = 0;\n\t\tlet reason = \"completed\";\n\t\ttry {\n\t\t\tfor await (const batch of feed.generator) {\n\t\t\t\tif (closed || bodyAbort.signal.aborted) break;\n\t\t\t\tif (batch.type === \"events\") {\n\t\t\t\t\tconst events = withDetections(batch.events);\n\t\t\t\t\tconst payload = { events };\n\t\t\t\t\tconsecutiveErrors = 0;\n\t\t\t\t\tenqueue(sseFrame(\"log\", payload));\n\t\t\t\t\tif (archive !== null) await recordBatch(archive, feed.region, feed.groupNames, events);\n\t\t\t\t} else if (batch.type === \"end\") {\n\t\t\t\t\treason = batch.reason;\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\tconst payload = { message: batch.message };\n\t\t\t\t\tif (batch.code !== void 0) payload.code = batch.code;\n\t\t\t\t\tconsecutiveErrors += 1;\n\t\t\t\t\tenqueue(sseFrame(\"error\", payload));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (reason === \"completed\") {\n\t\t\t\tif (bodyAbort.signal.aborted) reason = \"client-disconnected\";\n\t\t\t\telse if (consecutiveErrors >= MAX_CONSECUTIVE_ERRORS) reason = \"repeated-errors\";\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconst described = describeAwsError(error);\n\t\t\tconst payload = { message: described.message };\n\t\t\tif (described.code !== void 0) payload.code = described.code;\n\t\t\tenqueue(sseFrame(\"error\", payload));\n\t\t\treason = \"failed\";\n\t\t} finally {\n\t\t\tcleanup();\n\t\t}\n\t\twriteEnd(reason);\n\t};\n\trequest.signal.addEventListener(\"abort\", onAbort, { once: true });\n\tconst stream = new ReadableStream({\n\t\tstart(controller) {\n\t\t\tstreamController = controller;\n\t\t\tconst payload = {\n\t\t\t\tregion: feed.region,\n\t\t\t\tlogGroupName: feed.groupNames[0] ?? \"\",\n\t\t\t\tgroups: [...feed.groupNames],\n\t\t\t\tendpoint: source === \"archive\" ? null : config.endpoint,\n\t\t\t\tsource,\n\t\t\t\tstartTime: streamWindow.startTime,\n\t\t\t\tendTime: streamWindow.endTime,\n\t\t\t\tmode: streamWindow.mode,\n\t\t\t\tpreset: streamWindow.preset,\n\t\t\t\tclamped: streamWindow.clamped\n\t\t\t};\n\t\t\tenqueue(sseFrame(\"ready\", payload));\n\t\t\tarmPing();\n\t\t\tpump();\n\t\t},\n\t\tcancel() {\n\t\t\tbodyAbort.abort();\n\t\t\tclearPing();\n\t\t\tcloseStream();\n\t\t\tcleanup();\n\t\t}\n\t});\n\treturn new Response(stream, { headers: SSE_HEADERS });\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}