@geekmidas/telescope 10.0.0-alpha.2 → 10.0.0-alpha.21

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 (391) hide show
  1. package/dist/{MetricsAggregator-4SqelGcG.d.cts → MetricsAggregator-BxBLQUPj.d.cts} +3 -6
  2. package/dist/MetricsAggregator-BxBLQUPj.d.cts.map +1 -0
  3. package/dist/{MetricsAggregator-DZrW8ls6.d.mts → MetricsAggregator-j9wmZ0K_.d.mts} +3 -6
  4. package/dist/MetricsAggregator-j9wmZ0K_.d.mts.map +1 -0
  5. package/dist/{Telescope-D4nmwDRA.d.cts → Telescope-BcrWTaar.d.mts} +4 -7
  6. package/dist/Telescope-BcrWTaar.d.mts.map +1 -0
  7. package/dist/{Telescope-Dl6VSfxd.d.mts → Telescope-DnCMZT7V.d.cts} +4 -7
  8. package/dist/Telescope-DnCMZT7V.d.cts.map +1 -0
  9. package/dist/Telescope.cjs +385 -4
  10. package/dist/Telescope.cjs.map +1 -0
  11. package/dist/Telescope.d.cts +1 -3
  12. package/dist/Telescope.d.mts +1 -3
  13. package/dist/Telescope.mjs +384 -4
  14. package/dist/Telescope.mjs.map +1 -0
  15. package/dist/adapters/index.d.cts +2 -2
  16. package/dist/adapters/index.d.mts +2 -2
  17. package/dist/adapters/index.mjs +1 -0
  18. package/dist/adapters/lambda.cjs +9 -10
  19. package/dist/adapters/lambda.cjs.map +1 -1
  20. package/dist/adapters/lambda.d.cts +9 -13
  21. package/dist/adapters/lambda.d.cts.map +1 -1
  22. package/dist/adapters/lambda.d.mts +9 -13
  23. package/dist/adapters/lambda.d.mts.map +1 -1
  24. package/dist/adapters/lambda.mjs +3 -4
  25. package/dist/adapters/lambda.mjs.map +1 -1
  26. package/dist/adapters/middy.cjs +236 -4
  27. package/dist/adapters/middy.cjs.map +1 -0
  28. package/dist/adapters/middy.d.cts +60 -5
  29. package/dist/adapters/middy.d.cts.map +1 -0
  30. package/dist/adapters/middy.d.mts +60 -5
  31. package/dist/adapters/middy.d.mts.map +1 -0
  32. package/dist/adapters/middy.mjs +234 -3
  33. package/dist/adapters/middy.mjs.map +1 -0
  34. package/dist/adapters/types.d.cts +162 -2
  35. package/dist/adapters/types.d.cts.map +1 -0
  36. package/dist/adapters/types.d.mts +162 -2
  37. package/dist/adapters/types.d.mts.map +1 -0
  38. package/dist/adapters/types.mjs +1 -0
  39. package/dist/core.cjs +22 -22
  40. package/dist/core.d.cts +4 -4
  41. package/dist/core.d.mts +4 -4
  42. package/dist/core.mjs +3 -4
  43. package/dist/index.cjs +8 -9
  44. package/dist/index.d.cts +5 -6
  45. package/dist/index.d.mts +5 -6
  46. package/dist/index.mjs +5 -7
  47. package/dist/instrumentation/core.cjs +147 -11
  48. package/dist/instrumentation/core.cjs.map +1 -0
  49. package/dist/instrumentation/core.d.cts +74 -3
  50. package/dist/instrumentation/core.d.cts.map +1 -0
  51. package/dist/instrumentation/core.d.mts +74 -3
  52. package/dist/instrumentation/core.d.mts.map +1 -0
  53. package/dist/instrumentation/core.mjs +137 -2
  54. package/dist/instrumentation/core.mjs.map +1 -0
  55. package/dist/instrumentation/hono.cjs +134 -6
  56. package/dist/instrumentation/hono.cjs.map +1 -0
  57. package/dist/instrumentation/hono.d.cts +67 -2
  58. package/dist/instrumentation/hono.d.cts.map +1 -0
  59. package/dist/instrumentation/hono.d.mts +67 -2
  60. package/dist/instrumentation/hono.d.mts.map +1 -0
  61. package/dist/instrumentation/hono.mjs +130 -3
  62. package/dist/instrumentation/hono.mjs.map +1 -0
  63. package/dist/instrumentation/http.cjs +164 -11
  64. package/dist/instrumentation/http.cjs.map +1 -0
  65. package/dist/instrumentation/http.d.cts +103 -2
  66. package/dist/instrumentation/http.d.cts.map +1 -0
  67. package/dist/instrumentation/http.d.mts +103 -2
  68. package/dist/instrumentation/http.d.mts.map +1 -0
  69. package/dist/instrumentation/http.mjs +154 -2
  70. package/dist/instrumentation/http.mjs.map +1 -0
  71. package/dist/instrumentation/index.cjs +47 -47
  72. package/dist/instrumentation/index.d.cts +9 -9
  73. package/dist/instrumentation/index.d.mts +9 -9
  74. package/dist/instrumentation/index.mjs +8 -9
  75. package/dist/instrumentation/middleware.cjs +162 -6
  76. package/dist/instrumentation/middleware.cjs.map +1 -0
  77. package/dist/instrumentation/middleware.d.cts +70 -2
  78. package/dist/instrumentation/middleware.d.cts.map +1 -0
  79. package/dist/instrumentation/middleware.d.mts +70 -2
  80. package/dist/instrumentation/middleware.d.mts.map +1 -0
  81. package/dist/instrumentation/middleware.mjs +158 -3
  82. package/dist/instrumentation/middleware.mjs.map +1 -0
  83. package/dist/instrumentation/otel.cjs +137 -3
  84. package/dist/instrumentation/otel.cjs.map +1 -0
  85. package/dist/instrumentation/otel.d.cts +97 -2
  86. package/dist/instrumentation/otel.d.cts.map +1 -0
  87. package/dist/instrumentation/otel.d.mts +97 -2
  88. package/dist/instrumentation/otel.d.mts.map +1 -0
  89. package/dist/instrumentation/otel.mjs +136 -3
  90. package/dist/instrumentation/otel.mjs.map +1 -0
  91. package/dist/instrumentation/setup.cjs +100 -4
  92. package/dist/instrumentation/setup.cjs.map +1 -0
  93. package/dist/instrumentation/setup.d.cts +83 -3
  94. package/dist/instrumentation/setup.d.cts.map +1 -0
  95. package/dist/instrumentation/setup.d.mts +83 -3
  96. package/dist/instrumentation/setup.d.mts.map +1 -0
  97. package/dist/instrumentation/setup.mjs +98 -3
  98. package/dist/instrumentation/setup.mjs.map +1 -0
  99. package/dist/instrumentation/tracing.cjs +114 -10
  100. package/dist/instrumentation/tracing.cjs.map +1 -0
  101. package/dist/instrumentation/tracing.d.cts +49 -2
  102. package/dist/instrumentation/tracing.d.cts.map +1 -0
  103. package/dist/instrumentation/tracing.d.mts +49 -2
  104. package/dist/instrumentation/tracing.d.mts.map +1 -0
  105. package/dist/instrumentation/tracing.mjs +105 -2
  106. package/dist/instrumentation/tracing.mjs.map +1 -0
  107. package/dist/logger/console.cjs +18 -12
  108. package/dist/logger/console.cjs.map +1 -1
  109. package/dist/logger/console.d.cts +7 -10
  110. package/dist/logger/console.d.cts.map +1 -1
  111. package/dist/logger/console.d.mts +7 -10
  112. package/dist/logger/console.d.mts.map +1 -1
  113. package/dist/logger/console.mjs +17 -11
  114. package/dist/logger/console.mjs.map +1 -1
  115. package/dist/logger/pino.cjs +6 -5
  116. package/dist/logger/pino.cjs.map +1 -1
  117. package/dist/logger/pino.d.cts +6 -10
  118. package/dist/logger/pino.d.cts.map +1 -1
  119. package/dist/logger/pino.d.mts +6 -10
  120. package/dist/logger/pino.d.mts.map +1 -1
  121. package/dist/logger/pino.mjs +2 -3
  122. package/dist/logger/pino.mjs.map +1 -1
  123. package/dist/metrics/MetricsAggregator.cjs +354 -2
  124. package/dist/metrics/MetricsAggregator.cjs.map +1 -0
  125. package/dist/metrics/MetricsAggregator.d.cts +1 -2
  126. package/dist/metrics/MetricsAggregator.d.mts +1 -2
  127. package/dist/metrics/MetricsAggregator.mjs +353 -2
  128. package/dist/metrics/MetricsAggregator.mjs.map +1 -0
  129. package/dist/metrics/index.cjs +3 -4
  130. package/dist/metrics/index.d.cts +2 -4
  131. package/dist/metrics/index.d.mts +2 -4
  132. package/dist/metrics/index.mjs +2 -4
  133. package/dist/metrics/storage/InMemoryMetricsStorage.cjs +240 -3
  134. package/dist/metrics/storage/InMemoryMetricsStorage.cjs.map +1 -0
  135. package/dist/metrics/storage/InMemoryMetricsStorage.d.cts +43 -4
  136. package/dist/metrics/storage/InMemoryMetricsStorage.d.cts.map +1 -0
  137. package/dist/metrics/storage/InMemoryMetricsStorage.d.mts +43 -4
  138. package/dist/metrics/storage/InMemoryMetricsStorage.d.mts.map +1 -0
  139. package/dist/metrics/storage/InMemoryMetricsStorage.mjs +239 -3
  140. package/dist/metrics/storage/InMemoryMetricsStorage.mjs.map +1 -0
  141. package/dist/metrics/storage/MetricsStorage.cjs +0 -1
  142. package/dist/metrics/storage/MetricsStorage.d.cts +56 -3
  143. package/dist/metrics/storage/MetricsStorage.d.cts.map +1 -0
  144. package/dist/metrics/storage/MetricsStorage.d.mts +56 -3
  145. package/dist/metrics/storage/MetricsStorage.d.mts.map +1 -0
  146. package/dist/metrics/storage/MetricsStorage.mjs +1 -1
  147. package/dist/metrics/storage/index.cjs +6 -6
  148. package/dist/metrics/storage/index.d.cts +3 -3
  149. package/dist/metrics/storage/index.d.mts +3 -3
  150. package/dist/metrics/storage/index.mjs +4 -5
  151. package/dist/metrics/storage/types.cjs +34 -2
  152. package/dist/metrics/storage/types.cjs.map +1 -0
  153. package/dist/metrics/storage/types.d.cts +207 -2
  154. package/dist/metrics/storage/types.d.cts.map +1 -0
  155. package/dist/metrics/storage/types.d.mts +207 -2
  156. package/dist/metrics/storage/types.d.mts.map +1 -0
  157. package/dist/metrics/storage/types.mjs +33 -2
  158. package/dist/metrics/storage/types.mjs.map +1 -0
  159. package/dist/otlp/hono.cjs +9 -15
  160. package/dist/otlp/hono.cjs.map +1 -1
  161. package/dist/otlp/hono.d.cts +3 -13
  162. package/dist/otlp/hono.d.cts.map +1 -1
  163. package/dist/otlp/hono.d.mts +3 -13
  164. package/dist/otlp/hono.d.mts.map +1 -1
  165. package/dist/otlp/hono.mjs +5 -11
  166. package/dist/otlp/hono.mjs.map +1 -1
  167. package/dist/otlp/index.cjs +11 -11
  168. package/dist/otlp/index.d.cts +4 -7
  169. package/dist/otlp/index.d.mts +4 -7
  170. package/dist/otlp/index.mjs +4 -5
  171. package/dist/otlp/receiver.cjs +88 -4
  172. package/dist/otlp/receiver.cjs.map +1 -0
  173. package/dist/otlp/receiver.d.cts +59 -7
  174. package/dist/otlp/receiver.d.cts.map +1 -0
  175. package/dist/otlp/receiver.d.mts +59 -7
  176. package/dist/otlp/receiver.d.mts.map +1 -0
  177. package/dist/otlp/receiver.mjs +87 -4
  178. package/dist/otlp/receiver.mjs.map +1 -0
  179. package/dist/otlp/transformer.cjs +214 -5
  180. package/dist/otlp/transformer.cjs.map +1 -0
  181. package/dist/otlp/transformer.d.cts +1 -3
  182. package/dist/otlp/transformer.d.mts +1 -3
  183. package/dist/otlp/transformer.mjs +211 -3
  184. package/dist/otlp/transformer.mjs.map +1 -0
  185. package/dist/otlp/types.cjs +57 -5
  186. package/dist/otlp/types.cjs.map +1 -0
  187. package/dist/otlp/types.d.cts +1 -1
  188. package/dist/otlp/types.d.mts +1 -1
  189. package/dist/otlp/types.mjs +53 -2
  190. package/dist/otlp/types.mjs.map +1 -0
  191. package/dist/redact.cjs +84 -3
  192. package/dist/redact.cjs.map +1 -0
  193. package/dist/redact.d.cts +4 -8
  194. package/dist/redact.d.cts.map +1 -1
  195. package/dist/redact.d.mts +4 -8
  196. package/dist/redact.d.mts.map +1 -1
  197. package/dist/redact.mjs +80 -2
  198. package/dist/redact.mjs.map +1 -0
  199. package/dist/{chunk-CUT6urMc.cjs → rolldown-runtime-VH7oDXx4.cjs} +8 -10
  200. package/dist/server/hono.cjs +24 -33
  201. package/dist/server/hono.cjs.map +1 -1
  202. package/dist/server/hono.d.cts +10 -13
  203. package/dist/server/hono.d.cts.map +1 -1
  204. package/dist/server/hono.d.mts +10 -13
  205. package/dist/server/hono.d.mts.map +1 -1
  206. package/dist/server/hono.mjs +22 -31
  207. package/dist/server/hono.mjs.map +1 -1
  208. package/dist/storage/kysely.cjs +34 -32
  209. package/dist/storage/kysely.cjs.map +1 -1
  210. package/dist/storage/kysely.d.cts +8 -12
  211. package/dist/storage/kysely.d.cts.map +1 -1
  212. package/dist/storage/kysely.d.mts +8 -12
  213. package/dist/storage/kysely.d.mts.map +1 -1
  214. package/dist/storage/kysely.mjs +33 -31
  215. package/dist/storage/kysely.mjs.map +1 -1
  216. package/dist/storage/memory.cjs +122 -2
  217. package/dist/storage/memory.cjs.map +1 -0
  218. package/dist/storage/memory.d.cts +36 -3
  219. package/dist/storage/memory.d.cts.map +1 -0
  220. package/dist/storage/memory.d.mts +36 -3
  221. package/dist/storage/memory.d.mts.map +1 -0
  222. package/dist/storage/memory.mjs +121 -2
  223. package/dist/storage/memory.mjs.map +1 -0
  224. package/dist/{transformer-CTGsaVfV.d.mts → transformer-BBBXCjHP.d.mts} +4 -8
  225. package/dist/transformer-BBBXCjHP.d.mts.map +1 -0
  226. package/dist/{transformer-ICEbxpFf.d.cts → transformer-DlESim6Q.d.cts} +4 -8
  227. package/dist/transformer-DlESim6Q.d.cts.map +1 -0
  228. package/dist/{types-CmOB7CLO.d.cts → types-DVETVdpa.d.cts} +6 -7
  229. package/dist/types-DVETVdpa.d.cts.map +1 -0
  230. package/dist/{types-DBc0q5KD.d.mts → types-DVETVdpa.d.mts} +6 -7
  231. package/dist/types-DVETVdpa.d.mts.map +1 -0
  232. package/dist/{types-B1EIa_cQ.d.mts → types-a9Vistj1.d.cts} +2 -3
  233. package/dist/types-a9Vistj1.d.cts.map +1 -0
  234. package/dist/{types-l7Rlb5Mg.d.cts → types-a9Vistj1.d.mts} +2 -3
  235. package/dist/types-a9Vistj1.d.mts.map +1 -0
  236. package/dist/types.d.cts +1 -1
  237. package/dist/types.d.mts +1 -1
  238. package/dist/types.mjs +1 -0
  239. package/dist/ui-assets.cjs +31 -4
  240. package/dist/ui-assets.cjs.map +1 -0
  241. package/dist/ui-assets.d.cts +4 -6
  242. package/dist/ui-assets.d.cts.map +1 -1
  243. package/dist/ui-assets.d.mts +4 -6
  244. package/dist/ui-assets.d.mts.map +1 -1
  245. package/dist/ui-assets.mjs +28 -2
  246. package/dist/ui-assets.mjs.map +1 -0
  247. package/package.json +39 -37
  248. package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts +0 -47
  249. package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts.map +0 -1
  250. package/dist/InMemoryMetricsStorage-C4drxT7G.mjs +0 -247
  251. package/dist/InMemoryMetricsStorage-C4drxT7G.mjs.map +0 -1
  252. package/dist/InMemoryMetricsStorage-D0njWUSi.cjs +0 -252
  253. package/dist/InMemoryMetricsStorage-D0njWUSi.cjs.map +0 -1
  254. package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts +0 -47
  255. package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts.map +0 -1
  256. package/dist/MetricsAggregator-4SqelGcG.d.cts.map +0 -1
  257. package/dist/MetricsAggregator-B7lUICdH.cjs +0 -363
  258. package/dist/MetricsAggregator-B7lUICdH.cjs.map +0 -1
  259. package/dist/MetricsAggregator-DZrW8ls6.d.mts.map +0 -1
  260. package/dist/MetricsAggregator-S3DQWNas.mjs +0 -357
  261. package/dist/MetricsAggregator-S3DQWNas.mjs.map +0 -1
  262. package/dist/MetricsStorage-B86e4131.d.cts +0 -60
  263. package/dist/MetricsStorage-B86e4131.d.cts.map +0 -1
  264. package/dist/MetricsStorage-BWyP2_12.d.mts +0 -60
  265. package/dist/MetricsStorage-BWyP2_12.d.mts.map +0 -1
  266. package/dist/MetricsStorage-BypQXWiv.mjs +0 -0
  267. package/dist/MetricsStorage-Or8pVCe4.cjs +0 -0
  268. package/dist/Telescope-Cs3fv8jt.cjs +0 -395
  269. package/dist/Telescope-Cs3fv8jt.cjs.map +0 -1
  270. package/dist/Telescope-D4nmwDRA.d.cts.map +0 -1
  271. package/dist/Telescope-Dh5av3FC.mjs +0 -389
  272. package/dist/Telescope-Dh5av3FC.mjs.map +0 -1
  273. package/dist/Telescope-Dl6VSfxd.d.mts.map +0 -1
  274. package/dist/core--quSp5Qr.d.mts +0 -78
  275. package/dist/core--quSp5Qr.d.mts.map +0 -1
  276. package/dist/core-B4Jpia5H.d.cts +0 -78
  277. package/dist/core-B4Jpia5H.d.cts.map +0 -1
  278. package/dist/core-CtVHRJGv.cjs +0 -199
  279. package/dist/core-CtVHRJGv.cjs.map +0 -1
  280. package/dist/core-D6hJ6exL.mjs +0 -139
  281. package/dist/core-D6hJ6exL.mjs.map +0 -1
  282. package/dist/hono--uKQ7Jgi.d.mts +0 -71
  283. package/dist/hono--uKQ7Jgi.d.mts.map +0 -1
  284. package/dist/hono-Bw-ey6CT.mjs +0 -136
  285. package/dist/hono-Bw-ey6CT.mjs.map +0 -1
  286. package/dist/hono-CPHX7FAm.cjs +0 -160
  287. package/dist/hono-CPHX7FAm.cjs.map +0 -1
  288. package/dist/hono-CemCKU87.d.cts +0 -71
  289. package/dist/hono-CemCKU87.d.cts.map +0 -1
  290. package/dist/http-BIvr0YdI.mjs +0 -159
  291. package/dist/http-BIvr0YdI.mjs.map +0 -1
  292. package/dist/http-BiNtg85L.d.mts +0 -107
  293. package/dist/http-BiNtg85L.d.mts.map +0 -1
  294. package/dist/http-BsqmhurZ.cjs +0 -219
  295. package/dist/http-BsqmhurZ.cjs.map +0 -1
  296. package/dist/http-D1oTbfap.d.cts +0 -107
  297. package/dist/http-D1oTbfap.d.cts.map +0 -1
  298. package/dist/index-BL32-cvv.d.cts +0 -1
  299. package/dist/index-CsuikFeJ.d.mts +0 -1
  300. package/dist/memory--BK4iWiv.d.cts +0 -40
  301. package/dist/memory--BK4iWiv.d.cts.map +0 -1
  302. package/dist/memory-6S9H-IF5.mjs +0 -123
  303. package/dist/memory-6S9H-IF5.mjs.map +0 -1
  304. package/dist/memory-B0d_n1g5.cjs +0 -129
  305. package/dist/memory-B0d_n1g5.cjs.map +0 -1
  306. package/dist/memory-DCirEVFW.d.mts +0 -40
  307. package/dist/memory-DCirEVFW.d.mts.map +0 -1
  308. package/dist/metrics-D5YT-Rnq.mjs +0 -0
  309. package/dist/metrics-fhD3l3C3.cjs +0 -0
  310. package/dist/middleware-Bcq6XXGG.cjs +0 -184
  311. package/dist/middleware-Bcq6XXGG.cjs.map +0 -1
  312. package/dist/middleware-D1XEHvyy.mjs +0 -160
  313. package/dist/middleware-D1XEHvyy.mjs.map +0 -1
  314. package/dist/middleware-PeyS-9Ny.d.cts +0 -74
  315. package/dist/middleware-PeyS-9Ny.d.cts.map +0 -1
  316. package/dist/middleware-oHvo_ZgU.d.mts +0 -74
  317. package/dist/middleware-oHvo_ZgU.d.mts.map +0 -1
  318. package/dist/middy-B6Btl8XE.d.mts +0 -64
  319. package/dist/middy-B6Btl8XE.d.mts.map +0 -1
  320. package/dist/middy-Bq0defVg.d.cts +0 -64
  321. package/dist/middy-Bq0defVg.d.cts.map +0 -1
  322. package/dist/middy-DHWLmUAD.mjs +0 -236
  323. package/dist/middy-DHWLmUAD.mjs.map +0 -1
  324. package/dist/middy-DlWnZilH.cjs +0 -247
  325. package/dist/middy-DlWnZilH.cjs.map +0 -1
  326. package/dist/otel-B9bNoeZ2.mjs +0 -130
  327. package/dist/otel-B9bNoeZ2.mjs.map +0 -1
  328. package/dist/otel-Bk89b1lX.d.cts +0 -101
  329. package/dist/otel-Bk89b1lX.d.cts.map +0 -1
  330. package/dist/otel-BzjOtVxZ.cjs +0 -136
  331. package/dist/otel-BzjOtVxZ.cjs.map +0 -1
  332. package/dist/otel-lPMsM26e.d.mts +0 -101
  333. package/dist/otel-lPMsM26e.d.mts.map +0 -1
  334. package/dist/receiver-D46dfkYI.mjs +0 -89
  335. package/dist/receiver-D46dfkYI.mjs.map +0 -1
  336. package/dist/receiver-DLICx5uU.d.cts +0 -63
  337. package/dist/receiver-DLICx5uU.d.cts.map +0 -1
  338. package/dist/receiver-UeZT-H8u.d.mts +0 -63
  339. package/dist/receiver-UeZT-H8u.d.mts.map +0 -1
  340. package/dist/receiver-slCoAFat.cjs +0 -94
  341. package/dist/receiver-slCoAFat.cjs.map +0 -1
  342. package/dist/redact-BzkITCNW.mjs +0 -83
  343. package/dist/redact-BzkITCNW.mjs.map +0 -1
  344. package/dist/redact-DVaSSPZT.cjs +0 -95
  345. package/dist/redact-DVaSSPZT.cjs.map +0 -1
  346. package/dist/setup-Bkxm4g6b.d.mts +0 -87
  347. package/dist/setup-Bkxm4g6b.d.mts.map +0 -1
  348. package/dist/setup-D58N1f9O.d.cts +0 -87
  349. package/dist/setup-D58N1f9O.d.cts.map +0 -1
  350. package/dist/setup-DC9JMEYZ.mjs +0 -98
  351. package/dist/setup-DC9JMEYZ.mjs.map +0 -1
  352. package/dist/setup-DufxQpi9.cjs +0 -110
  353. package/dist/setup-DufxQpi9.cjs.map +0 -1
  354. package/dist/tracing-BX8uY2nR.d.cts +0 -53
  355. package/dist/tracing-BX8uY2nR.d.cts.map +0 -1
  356. package/dist/tracing-Bt1zWRlb.cjs +0 -167
  357. package/dist/tracing-Bt1zWRlb.cjs.map +0 -1
  358. package/dist/tracing-Cijm_5NI.mjs +0 -113
  359. package/dist/tracing-Cijm_5NI.mjs.map +0 -1
  360. package/dist/tracing-PnECEbEu.d.mts +0 -53
  361. package/dist/tracing-PnECEbEu.d.mts.map +0 -1
  362. package/dist/transformer-CFQ4WFk6.mjs +0 -215
  363. package/dist/transformer-CFQ4WFk6.mjs.map +0 -1
  364. package/dist/transformer-CTGsaVfV.d.mts.map +0 -1
  365. package/dist/transformer-Csl6fbgv.cjs +0 -232
  366. package/dist/transformer-Csl6fbgv.cjs.map +0 -1
  367. package/dist/transformer-ICEbxpFf.d.cts.map +0 -1
  368. package/dist/types-B1EIa_cQ.d.mts.map +0 -1
  369. package/dist/types-BMiHgsi4.cjs +0 -78
  370. package/dist/types-BMiHgsi4.cjs.map +0 -1
  371. package/dist/types-BRzW1NM8.d.cts +0 -166
  372. package/dist/types-BRzW1NM8.d.cts.map +0 -1
  373. package/dist/types-BS3Rx8Sk.d.cts +0 -209
  374. package/dist/types-BS3Rx8Sk.d.cts.map +0 -1
  375. package/dist/types-BzQ78Efw.d.mts +0 -166
  376. package/dist/types-BzQ78Efw.d.mts.map +0 -1
  377. package/dist/types-CbNGXnJE.d.mts +0 -209
  378. package/dist/types-CbNGXnJE.d.mts.map +0 -1
  379. package/dist/types-Cj59nqy7.mjs +0 -54
  380. package/dist/types-Cj59nqy7.mjs.map +0 -1
  381. package/dist/types-CmOB7CLO.d.cts.map +0 -1
  382. package/dist/types-DBc0q5KD.d.mts.map +0 -1
  383. package/dist/types-ZW-nfWf6.cjs +0 -40
  384. package/dist/types-ZW-nfWf6.cjs.map +0 -1
  385. package/dist/types-l7Rlb5Mg.d.cts.map +0 -1
  386. package/dist/types-ojhnLdwz.mjs +0 -34
  387. package/dist/types-ojhnLdwz.mjs.map +0 -1
  388. package/dist/ui-assets-BEXqOQLe.cjs +0 -48
  389. package/dist/ui-assets-BEXqOQLe.cjs.map +0 -1
  390. package/dist/ui-assets-BhTDUsrM.mjs +0 -30
  391. package/dist/ui-assets-BhTDUsrM.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.mjs","names":[],"sources":["../../src/instrumentation/tracing.ts"],"sourcesContent":["import {\n\ttype Attributes,\n\tcontext,\n\ttype Span,\n\tSpanStatusCode,\n\ttrace,\n} from '@opentelemetry/api';\n\n/**\n * Get the currently active span\n */\nexport function getActiveSpan(): Span | undefined {\n\treturn trace.getActiveSpan();\n}\n\n/**\n * Set attributes on the active span\n */\nexport function setSpanAttributes(attributes: Attributes): void {\n\tconst span = getActiveSpan();\n\tif (span) {\n\t\tspan.setAttributes(attributes);\n\t}\n}\n\n/**\n * Create a new span as a child of the current span\n */\nexport function createSpan(name: string, attributes?: Attributes): Span {\n\tconst tracer = trace.getTracer('@geekmidas/telescope');\n\tconst span = tracer.startSpan(name, { attributes });\n\treturn span;\n}\n\n/**\n * Execute a function within a new span context\n *\n * @example\n * ```typescript\n * const result = await withSpan('processOrder', async (span) => {\n * span.setAttribute('order.id', orderId);\n * const order = await processOrder(orderId);\n * return order;\n * });\n * ```\n */\nexport async function withSpan<T>(\n\tname: string,\n\tfn: (span: Span) => Promise<T>,\n\tattributes?: Attributes,\n): Promise<T> {\n\tconst tracer = trace.getTracer('@geekmidas/telescope');\n\tconst span = tracer.startSpan(name, { attributes });\n\n\ttry {\n\t\tconst result = await context.with(\n\t\t\ttrace.setSpan(context.active(), span),\n\t\t\t() => fn(span),\n\t\t);\n\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\treturn result;\n\t} catch (error) {\n\t\tspan.setStatus({\n\t\t\tcode: SpanStatusCode.ERROR,\n\t\t\tmessage: error instanceof Error ? error.message : 'Unknown error',\n\t\t});\n\t\tspan.recordException(\n\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t);\n\t\tthrow error;\n\t} finally {\n\t\tspan.end();\n\t}\n}\n\n/**\n * Synchronous version of withSpan\n */\nexport function withSpanSync<T>(\n\tname: string,\n\tfn: (span: Span) => T,\n\tattributes?: Attributes,\n): T {\n\tconst tracer = trace.getTracer('@geekmidas/telescope');\n\tconst span = tracer.startSpan(name, { attributes });\n\n\ttry {\n\t\tconst result = context.with(trace.setSpan(context.active(), span), () =>\n\t\t\tfn(span),\n\t\t);\n\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\treturn result;\n\t} catch (error) {\n\t\tspan.setStatus({\n\t\t\tcode: SpanStatusCode.ERROR,\n\t\t\tmessage: error instanceof Error ? error.message : 'Unknown error',\n\t\t});\n\t\tspan.recordException(\n\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t);\n\t\tthrow error;\n\t} finally {\n\t\tspan.end();\n\t}\n}\n\n/**\n * Get the current trace ID (useful for log correlation)\n */\nexport function getTraceId(): string | undefined {\n\tconst span = getActiveSpan();\n\treturn span?.spanContext().traceId;\n}\n\n/**\n * Get the current span ID\n */\nexport function getSpanId(): string | undefined {\n\tconst span = getActiveSpan();\n\treturn span?.spanContext().spanId;\n}\n\n/**\n * Record an exception on the current span\n */\nexport function recordException(error: Error): void {\n\tconst span = getActiveSpan();\n\tif (span) {\n\t\tspan.recordException(error);\n\t\tspan.setStatus({\n\t\t\tcode: SpanStatusCode.ERROR,\n\t\t\tmessage: error.message,\n\t\t});\n\t}\n}\n\n/**\n * Add an event to the current span\n */\nexport function addSpanEvent(name: string, attributes?: Attributes): void {\n\tconst span = getActiveSpan();\n\tif (span) {\n\t\tspan.addEvent(name, attributes);\n\t}\n}\n"],"mappings":";;;;;AAWA,SAAgB,gBAAkC;CACjD,OAAO,MAAM,cAAc;AAC5B;;;;AAKA,SAAgB,kBAAkB,YAA8B;CAC/D,MAAM,OAAO,cAAc;CAC3B,IAAI,MACH,KAAK,cAAc,UAAU;AAE/B;;;;AAKA,SAAgB,WAAW,MAAc,YAA+B;CAGvE,OAFe,MAAM,UAAU,sBACb,CAAC,CAAC,UAAU,MAAM,EAAE,WAAW,CACvC;AACX;;;;;;;;;;;;;AAcA,eAAsB,SACrB,MACA,IACA,YACa;CAEb,MAAM,OADS,MAAM,UAAU,sBACb,CAAC,CAAC,UAAU,MAAM,EAAE,WAAW,CAAC;CAElD,IAAI;EACH,MAAM,SAAS,MAAM,QAAQ,KAC5B,MAAM,QAAQ,QAAQ,OAAO,GAAG,IAAI,SAC9B,GAAG,IAAI,CACd;EACA,KAAK,UAAU,EAAE,MAAM,eAAe,GAAG,CAAC;EAC1C,OAAO;CACR,SAAS,OAAO;EACf,KAAK,UAAU;GACd,MAAM,eAAe;GACrB,SAAS,iBAAiB,QAAQ,MAAM,UAAU;EACnD,CAAC;EACD,KAAK,gBACJ,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC,CACzD;EACA,MAAM;CACP,UAAU;EACT,KAAK,IAAI;CACV;AACD;;;;AAKA,SAAgB,aACf,MACA,IACA,YACI;CAEJ,MAAM,OADS,MAAM,UAAU,sBACb,CAAC,CAAC,UAAU,MAAM,EAAE,WAAW,CAAC;CAElD,IAAI;EACH,MAAM,SAAS,QAAQ,KAAK,MAAM,QAAQ,QAAQ,OAAO,GAAG,IAAI,SAC/D,GAAG,IAAI,CACR;EACA,KAAK,UAAU,EAAE,MAAM,eAAe,GAAG,CAAC;EAC1C,OAAO;CACR,SAAS,OAAO;EACf,KAAK,UAAU;GACd,MAAM,eAAe;GACrB,SAAS,iBAAiB,QAAQ,MAAM,UAAU;EACnD,CAAC;EACD,KAAK,gBACJ,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC,CACzD;EACA,MAAM;CACP,UAAU;EACT,KAAK,IAAI;CACV;AACD;;;;AAKA,SAAgB,aAAiC;CAEhD,OADa,cACH,CAAC,EAAE,YAAY,CAAC,CAAC;AAC5B;;;;AAKA,SAAgB,YAAgC;CAE/C,OADa,cACH,CAAC,EAAE,YAAY,CAAC,CAAC;AAC5B;;;;AAKA,SAAgB,gBAAgB,OAAoB;CACnD,MAAM,OAAO,cAAc;CAC3B,IAAI,MAAM;EACT,KAAK,gBAAgB,KAAK;EAC1B,KAAK,UAAU;GACd,MAAM,eAAe;GACrB,SAAS,MAAM;EAChB,CAAC;CACF;AACD;;;;AAKA,SAAgB,aAAa,MAAc,YAA+B;CACzE,MAAM,OAAO,cAAc;CAC3B,IAAI,MACH,KAAK,SAAS,MAAM,UAAU;AAEhC"}
@@ -1,4 +1,4 @@
1
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  //#region src/logger/console.ts
3
3
  /**
4
4
  * A logger that sends logs to both Telescope and an optional underlying logger.
@@ -51,8 +51,10 @@ var TelescopeLogger = class TelescopeLogger {
51
51
  };
52
52
  message = msg ?? "";
53
53
  }
54
- if (this.logger) if (typeof objOrMsg === "string") this.logger[level](objOrMsg);
55
- else this.logger[level](objOrMsg, msg, ...args);
54
+ if (this.logger) {
55
+ if (typeof objOrMsg === "string") this.logger[level](objOrMsg);
56
+ else this.logger[level](objOrMsg, msg, ...args);
57
+ }
56
58
  this.telescope[level](message, context, this.requestId).catch(() => {});
57
59
  };
58
60
  return fn;
@@ -61,9 +63,11 @@ var TelescopeLogger = class TelescopeLogger {
61
63
  info = this.createLogFn("info");
62
64
  warn = this.createLogFn("warn");
63
65
  error = this.createLogFn("error");
64
- fatal = (objOrMsg, msg, ...args) => {
65
- if (this.logger) if (typeof objOrMsg === "string") this.logger.fatal(objOrMsg);
66
- else this.logger.fatal(objOrMsg, msg, ...args);
66
+ fatal = ((objOrMsg, msg, ...args) => {
67
+ if (this.logger) {
68
+ if (typeof objOrMsg === "string") this.logger.fatal(objOrMsg);
69
+ else this.logger.fatal(objOrMsg, msg, ...args);
70
+ }
67
71
  let context;
68
72
  let message;
69
73
  if (typeof objOrMsg === "string") {
@@ -81,10 +85,12 @@ var TelescopeLogger = class TelescopeLogger {
81
85
  message = msg ?? "";
82
86
  }
83
87
  this.telescope.error(message, context, this.requestId).catch(() => {});
84
- };
85
- trace = (objOrMsg, msg, ...args) => {
86
- if (this.logger) if (typeof objOrMsg === "string") this.logger.trace(objOrMsg);
87
- else this.logger.trace(objOrMsg, msg, ...args);
88
+ });
89
+ trace = ((objOrMsg, msg, ...args) => {
90
+ if (this.logger) {
91
+ if (typeof objOrMsg === "string") this.logger.trace(objOrMsg);
92
+ else this.logger.trace(objOrMsg, msg, ...args);
93
+ }
88
94
  let context;
89
95
  let message;
90
96
  if (typeof objOrMsg === "string") {
@@ -102,7 +108,7 @@ var TelescopeLogger = class TelescopeLogger {
102
108
  message = msg ?? "";
103
109
  }
104
110
  this.telescope.debug(message, context, this.requestId).catch(() => {});
105
- };
111
+ });
106
112
  /**
107
113
  * Creates a child logger with additional context.
108
114
  * The child logger inherits all context from the parent.
@@ -154,8 +160,8 @@ function createTelescopeLogger(telescope, logger, context) {
154
160
  context
155
161
  });
156
162
  }
157
-
158
163
  //#endregion
159
164
  exports.TelescopeLogger = TelescopeLogger;
160
165
  exports.createTelescopeLogger = createTelescopeLogger;
166
+
161
167
  //# sourceMappingURL=console.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"console.cjs","names":["options: TelescopeLoggerOptions","level: LogLevel","objOrMsg: T | string","msg?: string","context: Record<string, unknown>","message: string","objOrMsg: object | string","obj: object","requestId: string","telescope: Telescope","logger?: Logger","context?: Record<string, unknown>"],"sources":["../../src/logger/console.ts"],"sourcesContent":["import type { Telescope } from '../Telescope';\n\n/**\n * Logger interface matching @geekmidas/logger\n */\nexport interface Logger {\n\tdebug: LogFn;\n\tinfo: LogFn;\n\twarn: LogFn;\n\terror: LogFn;\n\tfatal: LogFn;\n\ttrace: LogFn;\n\tchild: (obj: object) => Logger;\n}\n\nexport type LogFn = {\n\t<T extends object>(obj: T, msg?: string, ...args: any[]): void;\n\t(msg: string): void;\n};\n\nexport interface TelescopeLoggerOptions {\n\t/**\n\t * The Telescope instance to send logs to\n\t */\n\ttelescope: Telescope;\n\t/**\n\t * Optional underlying logger to also forward logs to.\n\t * If not provided, logs will only go to Telescope.\n\t */\n\tlogger?: Logger;\n\t/**\n\t * Request ID to associate logs with a specific request.\n\t */\n\trequestId?: string;\n\t/**\n\t * Initial context data to include in all log messages\n\t */\n\tcontext?: Record<string, unknown>;\n}\n\ntype LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\n/**\n * A logger that sends logs to both Telescope and an optional underlying logger.\n * Implements the Logger interface from @geekmidas/logger.\n *\n * @example\n * ```typescript\n * import { Telescope, InMemoryStorage } from '@geekmidas/telescope';\n * import { TelescopeLogger } from '@geekmidas/telescope/logger/console';\n * import { ConsoleLogger } from '@geekmidas/logger/console';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // With underlying logger (logs to both console and Telescope)\n * const logger = new TelescopeLogger({\n * telescope,\n * logger: new ConsoleLogger({ app: 'myApp' }),\n * });\n *\n * // Without underlying logger (logs only to Telescope)\n * const telescopeOnly = new TelescopeLogger({ telescope });\n *\n * // Usage\n * logger.info({ userId: '123' }, 'User logged in');\n * logger.error({ error: 'Something failed' }, 'Operation failed');\n * ```\n */\nexport class TelescopeLogger implements Logger {\n\tprivate telescope: Telescope;\n\tprivate logger?: Logger;\n\tprivate requestId?: string;\n\tprivate context: Record<string, unknown>;\n\n\tconstructor(options: TelescopeLoggerOptions) {\n\t\tthis.telescope = options.telescope;\n\t\tthis.logger = options.logger;\n\t\tthis.requestId = options.requestId;\n\t\tthis.context = options.context ?? {};\n\t}\n\n\tprivate createLogFn(level: LogLevel): LogFn {\n\t\tconst fn = <T extends object>(\n\t\t\tobjOrMsg: T | string,\n\t\t\tmsg?: string,\n\t\t\t...args: any[]\n\t\t): void => {\n\t\t\tlet context: Record<string, unknown>;\n\t\t\tlet message: string;\n\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tcontext = { ...this.context };\n\t\t\t\tmessage = objOrMsg;\n\t\t\t} else {\n\t\t\t\tcontext = { ...this.context, ...objOrMsg };\n\t\t\t\tmessage = msg ?? '';\n\t\t\t}\n\n\t\t\t// Forward to underlying logger if present\n\t\t\tif (this.logger) {\n\t\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\t\tthis.logger[level](objOrMsg);\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger[level](objOrMsg as any, msg, ...args);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Send to Telescope (fire and forget)\n\t\t\tthis.telescope[level](message, context, this.requestId).catch(() => {});\n\t\t};\n\n\t\treturn fn as LogFn;\n\t}\n\n\tdebug: LogFn = this.createLogFn('debug');\n\tinfo: LogFn = this.createLogFn('info');\n\twarn: LogFn = this.createLogFn('warn');\n\terror: LogFn = this.createLogFn('error');\n\n\t// Map fatal and trace to error and debug for Telescope\n\tfatal: LogFn = ((\n\t\tobjOrMsg: object | string,\n\t\tmsg?: string,\n\t\t...args: any[]\n\t): void => {\n\t\t// Forward to underlying logger if present\n\t\tif (this.logger) {\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tthis.logger.fatal(objOrMsg);\n\t\t\t} else {\n\t\t\t\tthis.logger.fatal(objOrMsg as any, msg, ...args);\n\t\t\t}\n\t\t}\n\n\t\t// Send to Telescope as error level\n\t\tlet context: Record<string, unknown>;\n\t\tlet message: string;\n\n\t\tif (typeof objOrMsg === 'string') {\n\t\t\tcontext = { ...this.context, level: 'fatal' };\n\t\t\tmessage = objOrMsg;\n\t\t} else {\n\t\t\tcontext = { ...this.context, ...objOrMsg, level: 'fatal' };\n\t\t\tmessage = msg ?? '';\n\t\t}\n\n\t\tthis.telescope.error(message, context, this.requestId).catch(() => {});\n\t}) as LogFn;\n\n\ttrace: LogFn = ((\n\t\tobjOrMsg: object | string,\n\t\tmsg?: string,\n\t\t...args: any[]\n\t): void => {\n\t\t// Forward to underlying logger if present\n\t\tif (this.logger) {\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tthis.logger.trace(objOrMsg);\n\t\t\t} else {\n\t\t\t\tthis.logger.trace(objOrMsg as any, msg, ...args);\n\t\t\t}\n\t\t}\n\n\t\t// Send to Telescope as debug level\n\t\tlet context: Record<string, unknown>;\n\t\tlet message: string;\n\n\t\tif (typeof objOrMsg === 'string') {\n\t\t\tcontext = { ...this.context, level: 'trace' };\n\t\t\tmessage = objOrMsg;\n\t\t} else {\n\t\t\tcontext = { ...this.context, ...objOrMsg, level: 'trace' };\n\t\t\tmessage = msg ?? '';\n\t\t}\n\n\t\tthis.telescope.debug(message, context, this.requestId).catch(() => {});\n\t}) as LogFn;\n\n\t/**\n\t * Creates a child logger with additional context.\n\t * The child logger inherits all context from the parent.\n\t */\n\tchild(obj: object): Logger {\n\t\treturn new TelescopeLogger({\n\t\t\ttelescope: this.telescope,\n\t\t\tlogger: this.logger?.child(obj),\n\t\t\trequestId: this.requestId,\n\t\t\tcontext: { ...this.context, ...obj },\n\t\t});\n\t}\n\n\t/**\n\t * Create a child logger bound to a specific request ID.\n\t * Useful for correlating logs with HTTP requests.\n\t */\n\twithRequestId(requestId: string): TelescopeLogger {\n\t\treturn new TelescopeLogger({\n\t\t\ttelescope: this.telescope,\n\t\t\tlogger: this.logger,\n\t\t\trequestId,\n\t\t\tcontext: this.context,\n\t\t});\n\t}\n}\n\n/**\n * Create a logger that sends logs to Telescope.\n * Convenience function for creating a TelescopeLogger.\n *\n * @example\n * ```typescript\n * import { createTelescopeLogger } from '@geekmidas/telescope/logger/console';\n * import { ConsoleLogger } from '@geekmidas/logger/console';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n * const baseLogger = new ConsoleLogger({ app: 'myApp' });\n *\n * const logger = createTelescopeLogger(telescope, baseLogger);\n * logger.info({ action: 'startup' }, 'Application started');\n * ```\n */\nexport function createTelescopeLogger(\n\ttelescope: Telescope,\n\tlogger?: Logger,\n\tcontext?: Record<string, unknown>,\n): TelescopeLogger {\n\treturn new TelescopeLogger({ telescope, logger, context });\n}\n\nexport type { Telescope };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,IAAa,kBAAb,MAAa,gBAAkC;CAC9C,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CAER,YAAYA,SAAiC;AAC5C,OAAK,YAAY,QAAQ;AACzB,OAAK,SAAS,QAAQ;AACtB,OAAK,YAAY,QAAQ;AACzB,OAAK,UAAU,QAAQ,WAAW,CAAE;CACpC;CAED,AAAQ,YAAYC,OAAwB;EAC3C,MAAM,KAAK,CACVC,UACAC,KACA,GAAG,SACO;GACV,IAAIC;GACJ,IAAIC;AAEJ,cAAW,aAAa,UAAU;AACjC,cAAU,EAAE,GAAG,KAAK,QAAS;AAC7B,cAAU;GACV,OAAM;AACN,cAAU;KAAE,GAAG,KAAK;KAAS,GAAG;IAAU;AAC1C,cAAU,OAAO;GACjB;AAGD,OAAI,KAAK,OACR,YAAW,aAAa,SACvB,MAAK,OAAO,OAAO,SAAS;OAE5B,MAAK,OAAO,OAAO,UAAiB,KAAK,GAAG,KAAK;AAKnD,QAAK,UAAU,OAAO,SAAS,SAAS,KAAK,UAAU,CAAC,MAAM,MAAM,CAAE,EAAC;EACvE;AAED,SAAO;CACP;CAED,QAAe,KAAK,YAAY,QAAQ;CACxC,OAAc,KAAK,YAAY,OAAO;CACtC,OAAc,KAAK,YAAY,OAAO;CACtC,QAAe,KAAK,YAAY,QAAQ;CAGxC,QAAgB,CACfC,UACAH,KACA,GAAG,SACO;AAEV,MAAI,KAAK,OACR,YAAW,aAAa,SACvB,MAAK,OAAO,MAAM,SAAS;MAE3B,MAAK,OAAO,MAAM,UAAiB,KAAK,GAAG,KAAK;EAKlD,IAAIC;EACJ,IAAIC;AAEJ,aAAW,aAAa,UAAU;AACjC,aAAU;IAAE,GAAG,KAAK;IAAS,OAAO;GAAS;AAC7C,aAAU;EACV,OAAM;AACN,aAAU;IAAE,GAAG,KAAK;IAAS,GAAG;IAAU,OAAO;GAAS;AAC1D,aAAU,OAAO;EACjB;AAED,OAAK,UAAU,MAAM,SAAS,SAAS,KAAK,UAAU,CAAC,MAAM,MAAM,CAAE,EAAC;CACtE;CAED,QAAgB,CACfC,UACAH,KACA,GAAG,SACO;AAEV,MAAI,KAAK,OACR,YAAW,aAAa,SACvB,MAAK,OAAO,MAAM,SAAS;MAE3B,MAAK,OAAO,MAAM,UAAiB,KAAK,GAAG,KAAK;EAKlD,IAAIC;EACJ,IAAIC;AAEJ,aAAW,aAAa,UAAU;AACjC,aAAU;IAAE,GAAG,KAAK;IAAS,OAAO;GAAS;AAC7C,aAAU;EACV,OAAM;AACN,aAAU;IAAE,GAAG,KAAK;IAAS,GAAG;IAAU,OAAO;GAAS;AAC1D,aAAU,OAAO;EACjB;AAED,OAAK,UAAU,MAAM,SAAS,SAAS,KAAK,UAAU,CAAC,MAAM,MAAM,CAAE,EAAC;CACtE;;;;;CAMD,MAAME,KAAqB;AAC1B,SAAO,IAAI,gBAAgB;GAC1B,WAAW,KAAK;GAChB,QAAQ,KAAK,QAAQ,MAAM,IAAI;GAC/B,WAAW,KAAK;GAChB,SAAS;IAAE,GAAG,KAAK;IAAS,GAAG;GAAK;EACpC;CACD;;;;;CAMD,cAAcC,WAAoC;AACjD,SAAO,IAAI,gBAAgB;GAC1B,WAAW,KAAK;GAChB,QAAQ,KAAK;GACb;GACA,SAAS,KAAK;EACd;CACD;AACD;;;;;;;;;;;;;;;;;AAkBD,SAAgB,sBACfC,WACAC,QACAC,SACkB;AAClB,QAAO,IAAI,gBAAgB;EAAE;EAAW;EAAQ;CAAS;AACzD"}
1
+ {"version":3,"file":"console.cjs","names":[],"sources":["../../src/logger/console.ts"],"sourcesContent":["import type { Telescope } from '../Telescope';\n\n/**\n * Logger interface matching @geekmidas/logger\n */\nexport interface Logger {\n\tdebug: LogFn;\n\tinfo: LogFn;\n\twarn: LogFn;\n\terror: LogFn;\n\tfatal: LogFn;\n\ttrace: LogFn;\n\tchild: (obj: object) => Logger;\n}\n\nexport type LogFn = {\n\t<T extends object>(obj: T, msg?: string, ...args: any[]): void;\n\t(msg: string): void;\n};\n\nexport interface TelescopeLoggerOptions {\n\t/**\n\t * The Telescope instance to send logs to\n\t */\n\ttelescope: Telescope;\n\t/**\n\t * Optional underlying logger to also forward logs to.\n\t * If not provided, logs will only go to Telescope.\n\t */\n\tlogger?: Logger;\n\t/**\n\t * Request ID to associate logs with a specific request.\n\t */\n\trequestId?: string;\n\t/**\n\t * Initial context data to include in all log messages\n\t */\n\tcontext?: Record<string, unknown>;\n}\n\ntype LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\n/**\n * A logger that sends logs to both Telescope and an optional underlying logger.\n * Implements the Logger interface from @geekmidas/logger.\n *\n * @example\n * ```typescript\n * import { Telescope, InMemoryStorage } from '@geekmidas/telescope';\n * import { TelescopeLogger } from '@geekmidas/telescope/logger/console';\n * import { ConsoleLogger } from '@geekmidas/logger/console';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // With underlying logger (logs to both console and Telescope)\n * const logger = new TelescopeLogger({\n * telescope,\n * logger: new ConsoleLogger({ app: 'myApp' }),\n * });\n *\n * // Without underlying logger (logs only to Telescope)\n * const telescopeOnly = new TelescopeLogger({ telescope });\n *\n * // Usage\n * logger.info({ userId: '123' }, 'User logged in');\n * logger.error({ error: 'Something failed' }, 'Operation failed');\n * ```\n */\nexport class TelescopeLogger implements Logger {\n\tprivate telescope: Telescope;\n\tprivate logger?: Logger;\n\tprivate requestId?: string;\n\tprivate context: Record<string, unknown>;\n\n\tconstructor(options: TelescopeLoggerOptions) {\n\t\tthis.telescope = options.telescope;\n\t\tthis.logger = options.logger;\n\t\tthis.requestId = options.requestId;\n\t\tthis.context = options.context ?? {};\n\t}\n\n\tprivate createLogFn(level: LogLevel): LogFn {\n\t\tconst fn = <T extends object>(\n\t\t\tobjOrMsg: T | string,\n\t\t\tmsg?: string,\n\t\t\t...args: any[]\n\t\t): void => {\n\t\t\tlet context: Record<string, unknown>;\n\t\t\tlet message: string;\n\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tcontext = { ...this.context };\n\t\t\t\tmessage = objOrMsg;\n\t\t\t} else {\n\t\t\t\tcontext = { ...this.context, ...objOrMsg };\n\t\t\t\tmessage = msg ?? '';\n\t\t\t}\n\n\t\t\t// Forward to underlying logger if present\n\t\t\tif (this.logger) {\n\t\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\t\tthis.logger[level](objOrMsg);\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger[level](objOrMsg as any, msg, ...args);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Send to Telescope (fire and forget)\n\t\t\tthis.telescope[level](message, context, this.requestId).catch(() => {});\n\t\t};\n\n\t\treturn fn as LogFn;\n\t}\n\n\tdebug: LogFn = this.createLogFn('debug');\n\tinfo: LogFn = this.createLogFn('info');\n\twarn: LogFn = this.createLogFn('warn');\n\terror: LogFn = this.createLogFn('error');\n\n\t// Map fatal and trace to error and debug for Telescope\n\tfatal: LogFn = ((\n\t\tobjOrMsg: object | string,\n\t\tmsg?: string,\n\t\t...args: any[]\n\t): void => {\n\t\t// Forward to underlying logger if present\n\t\tif (this.logger) {\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tthis.logger.fatal(objOrMsg);\n\t\t\t} else {\n\t\t\t\tthis.logger.fatal(objOrMsg as any, msg, ...args);\n\t\t\t}\n\t\t}\n\n\t\t// Send to Telescope as error level\n\t\tlet context: Record<string, unknown>;\n\t\tlet message: string;\n\n\t\tif (typeof objOrMsg === 'string') {\n\t\t\tcontext = { ...this.context, level: 'fatal' };\n\t\t\tmessage = objOrMsg;\n\t\t} else {\n\t\t\tcontext = { ...this.context, ...objOrMsg, level: 'fatal' };\n\t\t\tmessage = msg ?? '';\n\t\t}\n\n\t\tthis.telescope.error(message, context, this.requestId).catch(() => {});\n\t}) as LogFn;\n\n\ttrace: LogFn = ((\n\t\tobjOrMsg: object | string,\n\t\tmsg?: string,\n\t\t...args: any[]\n\t): void => {\n\t\t// Forward to underlying logger if present\n\t\tif (this.logger) {\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tthis.logger.trace(objOrMsg);\n\t\t\t} else {\n\t\t\t\tthis.logger.trace(objOrMsg as any, msg, ...args);\n\t\t\t}\n\t\t}\n\n\t\t// Send to Telescope as debug level\n\t\tlet context: Record<string, unknown>;\n\t\tlet message: string;\n\n\t\tif (typeof objOrMsg === 'string') {\n\t\t\tcontext = { ...this.context, level: 'trace' };\n\t\t\tmessage = objOrMsg;\n\t\t} else {\n\t\t\tcontext = { ...this.context, ...objOrMsg, level: 'trace' };\n\t\t\tmessage = msg ?? '';\n\t\t}\n\n\t\tthis.telescope.debug(message, context, this.requestId).catch(() => {});\n\t}) as LogFn;\n\n\t/**\n\t * Creates a child logger with additional context.\n\t * The child logger inherits all context from the parent.\n\t */\n\tchild(obj: object): Logger {\n\t\treturn new TelescopeLogger({\n\t\t\ttelescope: this.telescope,\n\t\t\tlogger: this.logger?.child(obj),\n\t\t\trequestId: this.requestId,\n\t\t\tcontext: { ...this.context, ...obj },\n\t\t});\n\t}\n\n\t/**\n\t * Create a child logger bound to a specific request ID.\n\t * Useful for correlating logs with HTTP requests.\n\t */\n\twithRequestId(requestId: string): TelescopeLogger {\n\t\treturn new TelescopeLogger({\n\t\t\ttelescope: this.telescope,\n\t\t\tlogger: this.logger,\n\t\t\trequestId,\n\t\t\tcontext: this.context,\n\t\t});\n\t}\n}\n\n/**\n * Create a logger that sends logs to Telescope.\n * Convenience function for creating a TelescopeLogger.\n *\n * @example\n * ```typescript\n * import { createTelescopeLogger } from '@geekmidas/telescope/logger/console';\n * import { ConsoleLogger } from '@geekmidas/logger/console';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n * const baseLogger = new ConsoleLogger({ app: 'myApp' });\n *\n * const logger = createTelescopeLogger(telescope, baseLogger);\n * logger.info({ action: 'startup' }, 'Application started');\n * ```\n */\nexport function createTelescopeLogger(\n\ttelescope: Telescope,\n\tlogger?: Logger,\n\tcontext?: Record<string, unknown>,\n): TelescopeLogger {\n\treturn new TelescopeLogger({ telescope, logger, context });\n}\n\nexport type { Telescope };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,IAAa,kBAAb,MAAa,gBAAkC;CAC9C;CACA;CACA;CACA;CAEA,YAAY,SAAiC;EAC5C,KAAK,YAAY,QAAQ;EACzB,KAAK,SAAS,QAAQ;EACtB,KAAK,YAAY,QAAQ;EACzB,KAAK,UAAU,QAAQ,WAAW,CAAC;CACpC;CAEA,YAAoB,OAAwB;EAC3C,MAAM,MACL,UACA,KACA,GAAG,SACO;GACV,IAAI;GACJ,IAAI;GAEJ,IAAI,OAAO,aAAa,UAAU;IACjC,UAAU,EAAE,GAAG,KAAK,QAAQ;IAC5B,UAAU;GACX,OAAO;IACN,UAAU;KAAE,GAAG,KAAK;KAAS,GAAG;IAAS;IACzC,UAAU,OAAO;GAClB;GAGA,IAAI,KAAK,QAAQ;IAChB,IAAI,OAAO,aAAa,UACvB,KAAK,OAAO,MAAM,CAAC,QAAQ;SAE3B,KAAK,OAAO,MAAM,CAAC,UAAiB,KAAK,GAAG,IAAI;GAElD;GAGA,KAAK,UAAU,MAAM,CAAC,SAAS,SAAS,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;EACvE;EAEA,OAAO;CACR;CAEA,QAAe,KAAK,YAAY,OAAO;CACvC,OAAc,KAAK,YAAY,MAAM;CACrC,OAAc,KAAK,YAAY,MAAM;CACrC,QAAe,KAAK,YAAY,OAAO;CAGvC,UACC,UACA,KACA,GAAG,SACO;EAEV,IAAI,KAAK,QAAQ;GAChB,IAAI,OAAO,aAAa,UACvB,KAAK,OAAO,MAAM,QAAQ;QAE1B,KAAK,OAAO,MAAM,UAAiB,KAAK,GAAG,IAAI;EAEjD;EAGA,IAAI;EACJ,IAAI;EAEJ,IAAI,OAAO,aAAa,UAAU;GACjC,UAAU;IAAE,GAAG,KAAK;IAAS,OAAO;GAAQ;GAC5C,UAAU;EACX,OAAO;GACN,UAAU;IAAE,GAAG,KAAK;IAAS,GAAG;IAAU,OAAO;GAAQ;GACzD,UAAU,OAAO;EAClB;EAEA,KAAK,UAAU,MAAM,SAAS,SAAS,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;CACtE;CAEA,UACC,UACA,KACA,GAAG,SACO;EAEV,IAAI,KAAK,QAAQ;GAChB,IAAI,OAAO,aAAa,UACvB,KAAK,OAAO,MAAM,QAAQ;QAE1B,KAAK,OAAO,MAAM,UAAiB,KAAK,GAAG,IAAI;EAEjD;EAGA,IAAI;EACJ,IAAI;EAEJ,IAAI,OAAO,aAAa,UAAU;GACjC,UAAU;IAAE,GAAG,KAAK;IAAS,OAAO;GAAQ;GAC5C,UAAU;EACX,OAAO;GACN,UAAU;IAAE,GAAG,KAAK;IAAS,GAAG;IAAU,OAAO;GAAQ;GACzD,UAAU,OAAO;EAClB;EAEA,KAAK,UAAU,MAAM,SAAS,SAAS,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;CACtE;;;;;CAMA,MAAM,KAAqB;EAC1B,OAAO,IAAI,gBAAgB;GAC1B,WAAW,KAAK;GAChB,QAAQ,KAAK,QAAQ,MAAM,GAAG;GAC9B,WAAW,KAAK;GAChB,SAAS;IAAE,GAAG,KAAK;IAAS,GAAG;GAAI;EACpC,CAAC;CACF;;;;;CAMA,cAAc,WAAoC;EACjD,OAAO,IAAI,gBAAgB;GAC1B,WAAW,KAAK;GAChB,QAAQ,KAAK;GACb;GACA,SAAS,KAAK;EACf,CAAC;CACF;AACD;;;;;;;;;;;;;;;;;AAkBA,SAAgB,sBACf,WACA,QACA,SACkB;CAClB,OAAO,IAAI,gBAAgB;EAAE;EAAW;EAAQ;CAAQ,CAAC;AAC1D"}
@@ -1,12 +1,9 @@
1
- import "../types-l7Rlb5Mg.cjs";
2
- import "../MetricsAggregator-4SqelGcG.cjs";
3
- import { Telescope } from "../Telescope-D4nmwDRA.cjs";
4
-
1
+ import { t as Telescope } from "../Telescope-DnCMZT7V.cjs";
5
2
  //#region src/logger/console.d.ts
6
3
  /**
7
4
  * Logger interface matching @geekmidas/logger
8
5
  */
9
- interface Logger {
6
+ export interface Logger {
10
7
  debug: LogFn;
11
8
  info: LogFn;
12
9
  warn: LogFn;
@@ -15,11 +12,11 @@ interface Logger {
15
12
  trace: LogFn;
16
13
  child: (obj: object) => Logger;
17
14
  }
18
- type LogFn = {
15
+ export type LogFn = {
19
16
  <T extends object>(obj: T, msg?: string, ...args: any[]): void;
20
17
  (msg: string): void;
21
18
  };
22
- interface TelescopeLoggerOptions {
19
+ export interface TelescopeLoggerOptions {
23
20
  /**
24
21
  * The Telescope instance to send logs to
25
22
  */
@@ -64,7 +61,7 @@ interface TelescopeLoggerOptions {
64
61
  * logger.error({ error: 'Something failed' }, 'Operation failed');
65
62
  * ```
66
63
  */
67
- declare class TelescopeLogger implements Logger {
64
+ export declare class TelescopeLogger implements Logger {
68
65
  private telescope;
69
66
  private logger?;
70
67
  private requestId?;
@@ -104,7 +101,7 @@ declare class TelescopeLogger implements Logger {
104
101
  * logger.info({ action: 'startup' }, 'Application started');
105
102
  * ```
106
103
  */
107
- declare function createTelescopeLogger(telescope: Telescope, logger?: Logger, context?: Record<string, unknown>): TelescopeLogger;
104
+ export declare function createTelescopeLogger(telescope: Telescope, logger?: Logger, context?: Record<string, unknown>): TelescopeLogger;
108
105
  //#endregion
109
- export { LogFn, Logger, Telescope, TelescopeLogger, TelescopeLoggerOptions, createTelescopeLogger };
106
+ export type { Telescope };
110
107
  //# sourceMappingURL=console.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"console.d.cts","names":[],"sources":["../../src/logger/console.ts"],"sourcesContent":[],"mappings":";;;;;;;;UAKiB,MAAA;EAAA,KAAA,EACT,KADe;EAAA,IAAA,EAEhB,KAFgB;EAAA,IACf,EAED,KAFC;EAAK,KACN,EAEC,KAFD;EAAK,KACL,EAEC,KAFD;EAAK,KACJ,EAEA,KAFA;EAAK,KACL,EAAA,CAAA,GAAA,EAAA,MAAA,EAAA,GAEiB,MAFjB;;AAEiB,KAGb,KAAA,GAHa;EAAM,CAAA,UAAA,MAAA,CAAA,CAAA,GAAA,EAIN,CAJM,EAAA,GAAA,CAAA,EAAA,MAAA,EAAA,GAAA,IAAA,EAAA,GAAA,EAAA,CAAA,EAAA,IAAA;EAGnB,CAAA,GAAA,EAAA,MAAK,CAAA,EAAA,IAAA;AAKjB,CAAA;AAAuC,UAAtB,sBAAA,CAAsB;EAAA;;;EAiBtB,SAAA,EAbL,SAaK;EA+BJ;;;;EA8CA,MACN,CAAA,EAtFG,MAsFH;EAAK;;;EAKC,SA6BL,CAAA,EAAA,MAAA;EAAK;;;EAjFiC,OAAA,CAAA,EA/BnC,MA+BmC,CAAA,MAAA,EAAA,OAAA,CAAA;AAyJ9C;;;;;;AAIkB;;;;;;;;;;;;;;;;;;;;;cA7JL,eAAA,YAA2B;;;;;uBAMlB;;SAwCd;QACD;QACA;SACC;SAGA;SA6BA;;;;;sBAiCa;;;;;oCAac;;;;;;;;;;;;;;;;;;iBA0BnB,qBAAA,YACJ,oBACF,kBACC,0BACR"}
1
+ {"version":3,"file":"console.d.cts","names":[],"sources":["../../src/logger/console.ts"],"mappings":";;;;;iBAKiB;EAChB,OAAO;EACP,MAAM;EACN,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,QAAQ,gBAAgB;;YAGb;GACV,kBAAkB,KAAK,GAAG,iBAAiB;GAC3C;;iBAGe;;;;EAIhB,WAAW;;;;;EAKX,SAAS;;;;EAIT;;;;EAIA,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA+BE,2BAA2B;UAC/B;UACA;UACA;UACA;EAER,YAAY,SAAS;UAOb;EAiCR,OAAO;EACP,MAAM;EACN,MAAM;EACN,OAAO;EAGP,OAAO;EA6BP,OAAO;;;;;EAiCP,MAAM,cAAc;;;;;EAapB,cAAc,oBAAoB;;;;;;;;;;;;;;;;;;wBA0BnB,sBACf,WAAW,WACX,SAAS,QACT,UAAU,0BACR"}
@@ -1,12 +1,9 @@
1
- import "../types-B1EIa_cQ.mjs";
2
- import "../MetricsAggregator-DZrW8ls6.mjs";
3
- import { Telescope } from "../Telescope-Dl6VSfxd.mjs";
4
-
1
+ import { t as Telescope } from "../Telescope-BcrWTaar.mjs";
5
2
  //#region src/logger/console.d.ts
6
3
  /**
7
4
  * Logger interface matching @geekmidas/logger
8
5
  */
9
- interface Logger {
6
+ export interface Logger {
10
7
  debug: LogFn;
11
8
  info: LogFn;
12
9
  warn: LogFn;
@@ -15,11 +12,11 @@ interface Logger {
15
12
  trace: LogFn;
16
13
  child: (obj: object) => Logger;
17
14
  }
18
- type LogFn = {
15
+ export type LogFn = {
19
16
  <T extends object>(obj: T, msg?: string, ...args: any[]): void;
20
17
  (msg: string): void;
21
18
  };
22
- interface TelescopeLoggerOptions {
19
+ export interface TelescopeLoggerOptions {
23
20
  /**
24
21
  * The Telescope instance to send logs to
25
22
  */
@@ -64,7 +61,7 @@ interface TelescopeLoggerOptions {
64
61
  * logger.error({ error: 'Something failed' }, 'Operation failed');
65
62
  * ```
66
63
  */
67
- declare class TelescopeLogger implements Logger {
64
+ export declare class TelescopeLogger implements Logger {
68
65
  private telescope;
69
66
  private logger?;
70
67
  private requestId?;
@@ -104,7 +101,7 @@ declare class TelescopeLogger implements Logger {
104
101
  * logger.info({ action: 'startup' }, 'Application started');
105
102
  * ```
106
103
  */
107
- declare function createTelescopeLogger(telescope: Telescope, logger?: Logger, context?: Record<string, unknown>): TelescopeLogger;
104
+ export declare function createTelescopeLogger(telescope: Telescope, logger?: Logger, context?: Record<string, unknown>): TelescopeLogger;
108
105
  //#endregion
109
- export { LogFn, Logger, Telescope, TelescopeLogger, TelescopeLoggerOptions, createTelescopeLogger };
106
+ export type { Telescope };
110
107
  //# sourceMappingURL=console.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"console.d.mts","names":[],"sources":["../../src/logger/console.ts"],"sourcesContent":[],"mappings":";;;;;;;;UAKiB,MAAA;EAAA,KAAA,EACT,KADe;EAAA,IAAA,EAEhB,KAFgB;EAAA,IACf,EAED,KAFC;EAAK,KACN,EAEC,KAFD;EAAK,KACL,EAEC,KAFD;EAAK,KACJ,EAEA,KAFA;EAAK,KACL,EAAA,CAAA,GAAA,EAAA,MAAA,EAAA,GAEiB,MAFjB;;AAEiB,KAGb,KAAA,GAHa;EAAM,CAAA,UAAA,MAAA,CAAA,CAAA,GAAA,EAIN,CAJM,EAAA,GAAA,CAAA,EAAA,MAAA,EAAA,GAAA,IAAA,EAAA,GAAA,EAAA,CAAA,EAAA,IAAA;EAGnB,CAAA,GAAA,EAAA,MAAK,CAAA,EAAA,IAAA;AAKjB,CAAA;AAAuC,UAAtB,sBAAA,CAAsB;EAAA;;;EAiBtB,SAAA,EAbL,SAaK;EA+BJ;;;;EA8CA,MACN,CAAA,EAtFG,MAsFH;EAAK;;;EAKC,SA6BL,CAAA,EAAA,MAAA;EAAK;;;EAjFiC,OAAA,CAAA,EA/BnC,MA+BmC,CAAA,MAAA,EAAA,OAAA,CAAA;AAyJ9C;;;;;;AAIkB;;;;;;;;;;;;;;;;;;;;;cA7JL,eAAA,YAA2B;;;;;uBAMlB;;SAwCd;QACD;QACA;SACC;SAGA;SA6BA;;;;;sBAiCa;;;;;oCAac;;;;;;;;;;;;;;;;;;iBA0BnB,qBAAA,YACJ,oBACF,kBACC,0BACR"}
1
+ {"version":3,"file":"console.d.mts","names":[],"sources":["../../src/logger/console.ts"],"mappings":";;;;;iBAKiB;EAChB,OAAO;EACP,MAAM;EACN,MAAM;EACN,OAAO;EACP,OAAO;EACP,OAAO;EACP,QAAQ,gBAAgB;;YAGb;GACV,kBAAkB,KAAK,GAAG,iBAAiB;GAC3C;;iBAGe;;;;EAIhB,WAAW;;;;;EAKX,SAAS;;;;EAIT;;;;EAIA,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA+BE,2BAA2B;UAC/B;UACA;UACA;UACA;EAER,YAAY,SAAS;UAOb;EAiCR,OAAO;EACP,MAAM;EACN,MAAM;EACN,OAAO;EAGP,OAAO;EA6BP,OAAO;;;;;EAiCP,MAAM,cAAc;;;;;EAapB,cAAc,oBAAoB;;;;;;;;;;;;;;;;;;wBA0BnB,sBACf,WAAW,WACX,SAAS,QACT,UAAU,0BACR"}
@@ -50,8 +50,10 @@ var TelescopeLogger = class TelescopeLogger {
50
50
  };
51
51
  message = msg ?? "";
52
52
  }
53
- if (this.logger) if (typeof objOrMsg === "string") this.logger[level](objOrMsg);
54
- else this.logger[level](objOrMsg, msg, ...args);
53
+ if (this.logger) {
54
+ if (typeof objOrMsg === "string") this.logger[level](objOrMsg);
55
+ else this.logger[level](objOrMsg, msg, ...args);
56
+ }
55
57
  this.telescope[level](message, context, this.requestId).catch(() => {});
56
58
  };
57
59
  return fn;
@@ -60,9 +62,11 @@ var TelescopeLogger = class TelescopeLogger {
60
62
  info = this.createLogFn("info");
61
63
  warn = this.createLogFn("warn");
62
64
  error = this.createLogFn("error");
63
- fatal = (objOrMsg, msg, ...args) => {
64
- if (this.logger) if (typeof objOrMsg === "string") this.logger.fatal(objOrMsg);
65
- else this.logger.fatal(objOrMsg, msg, ...args);
65
+ fatal = ((objOrMsg, msg, ...args) => {
66
+ if (this.logger) {
67
+ if (typeof objOrMsg === "string") this.logger.fatal(objOrMsg);
68
+ else this.logger.fatal(objOrMsg, msg, ...args);
69
+ }
66
70
  let context;
67
71
  let message;
68
72
  if (typeof objOrMsg === "string") {
@@ -80,10 +84,12 @@ var TelescopeLogger = class TelescopeLogger {
80
84
  message = msg ?? "";
81
85
  }
82
86
  this.telescope.error(message, context, this.requestId).catch(() => {});
83
- };
84
- trace = (objOrMsg, msg, ...args) => {
85
- if (this.logger) if (typeof objOrMsg === "string") this.logger.trace(objOrMsg);
86
- else this.logger.trace(objOrMsg, msg, ...args);
87
+ });
88
+ trace = ((objOrMsg, msg, ...args) => {
89
+ if (this.logger) {
90
+ if (typeof objOrMsg === "string") this.logger.trace(objOrMsg);
91
+ else this.logger.trace(objOrMsg, msg, ...args);
92
+ }
87
93
  let context;
88
94
  let message;
89
95
  if (typeof objOrMsg === "string") {
@@ -101,7 +107,7 @@ var TelescopeLogger = class TelescopeLogger {
101
107
  message = msg ?? "";
102
108
  }
103
109
  this.telescope.debug(message, context, this.requestId).catch(() => {});
104
- };
110
+ });
105
111
  /**
106
112
  * Creates a child logger with additional context.
107
113
  * The child logger inherits all context from the parent.
@@ -153,7 +159,7 @@ function createTelescopeLogger(telescope, logger, context) {
153
159
  context
154
160
  });
155
161
  }
156
-
157
162
  //#endregion
158
163
  export { TelescopeLogger, createTelescopeLogger };
164
+
159
165
  //# sourceMappingURL=console.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"console.mjs","names":["options: TelescopeLoggerOptions","level: LogLevel","objOrMsg: T | string","msg?: string","context: Record<string, unknown>","message: string","objOrMsg: object | string","obj: object","requestId: string","telescope: Telescope","logger?: Logger","context?: Record<string, unknown>"],"sources":["../../src/logger/console.ts"],"sourcesContent":["import type { Telescope } from '../Telescope';\n\n/**\n * Logger interface matching @geekmidas/logger\n */\nexport interface Logger {\n\tdebug: LogFn;\n\tinfo: LogFn;\n\twarn: LogFn;\n\terror: LogFn;\n\tfatal: LogFn;\n\ttrace: LogFn;\n\tchild: (obj: object) => Logger;\n}\n\nexport type LogFn = {\n\t<T extends object>(obj: T, msg?: string, ...args: any[]): void;\n\t(msg: string): void;\n};\n\nexport interface TelescopeLoggerOptions {\n\t/**\n\t * The Telescope instance to send logs to\n\t */\n\ttelescope: Telescope;\n\t/**\n\t * Optional underlying logger to also forward logs to.\n\t * If not provided, logs will only go to Telescope.\n\t */\n\tlogger?: Logger;\n\t/**\n\t * Request ID to associate logs with a specific request.\n\t */\n\trequestId?: string;\n\t/**\n\t * Initial context data to include in all log messages\n\t */\n\tcontext?: Record<string, unknown>;\n}\n\ntype LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\n/**\n * A logger that sends logs to both Telescope and an optional underlying logger.\n * Implements the Logger interface from @geekmidas/logger.\n *\n * @example\n * ```typescript\n * import { Telescope, InMemoryStorage } from '@geekmidas/telescope';\n * import { TelescopeLogger } from '@geekmidas/telescope/logger/console';\n * import { ConsoleLogger } from '@geekmidas/logger/console';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // With underlying logger (logs to both console and Telescope)\n * const logger = new TelescopeLogger({\n * telescope,\n * logger: new ConsoleLogger({ app: 'myApp' }),\n * });\n *\n * // Without underlying logger (logs only to Telescope)\n * const telescopeOnly = new TelescopeLogger({ telescope });\n *\n * // Usage\n * logger.info({ userId: '123' }, 'User logged in');\n * logger.error({ error: 'Something failed' }, 'Operation failed');\n * ```\n */\nexport class TelescopeLogger implements Logger {\n\tprivate telescope: Telescope;\n\tprivate logger?: Logger;\n\tprivate requestId?: string;\n\tprivate context: Record<string, unknown>;\n\n\tconstructor(options: TelescopeLoggerOptions) {\n\t\tthis.telescope = options.telescope;\n\t\tthis.logger = options.logger;\n\t\tthis.requestId = options.requestId;\n\t\tthis.context = options.context ?? {};\n\t}\n\n\tprivate createLogFn(level: LogLevel): LogFn {\n\t\tconst fn = <T extends object>(\n\t\t\tobjOrMsg: T | string,\n\t\t\tmsg?: string,\n\t\t\t...args: any[]\n\t\t): void => {\n\t\t\tlet context: Record<string, unknown>;\n\t\t\tlet message: string;\n\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tcontext = { ...this.context };\n\t\t\t\tmessage = objOrMsg;\n\t\t\t} else {\n\t\t\t\tcontext = { ...this.context, ...objOrMsg };\n\t\t\t\tmessage = msg ?? '';\n\t\t\t}\n\n\t\t\t// Forward to underlying logger if present\n\t\t\tif (this.logger) {\n\t\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\t\tthis.logger[level](objOrMsg);\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger[level](objOrMsg as any, msg, ...args);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Send to Telescope (fire and forget)\n\t\t\tthis.telescope[level](message, context, this.requestId).catch(() => {});\n\t\t};\n\n\t\treturn fn as LogFn;\n\t}\n\n\tdebug: LogFn = this.createLogFn('debug');\n\tinfo: LogFn = this.createLogFn('info');\n\twarn: LogFn = this.createLogFn('warn');\n\terror: LogFn = this.createLogFn('error');\n\n\t// Map fatal and trace to error and debug for Telescope\n\tfatal: LogFn = ((\n\t\tobjOrMsg: object | string,\n\t\tmsg?: string,\n\t\t...args: any[]\n\t): void => {\n\t\t// Forward to underlying logger if present\n\t\tif (this.logger) {\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tthis.logger.fatal(objOrMsg);\n\t\t\t} else {\n\t\t\t\tthis.logger.fatal(objOrMsg as any, msg, ...args);\n\t\t\t}\n\t\t}\n\n\t\t// Send to Telescope as error level\n\t\tlet context: Record<string, unknown>;\n\t\tlet message: string;\n\n\t\tif (typeof objOrMsg === 'string') {\n\t\t\tcontext = { ...this.context, level: 'fatal' };\n\t\t\tmessage = objOrMsg;\n\t\t} else {\n\t\t\tcontext = { ...this.context, ...objOrMsg, level: 'fatal' };\n\t\t\tmessage = msg ?? '';\n\t\t}\n\n\t\tthis.telescope.error(message, context, this.requestId).catch(() => {});\n\t}) as LogFn;\n\n\ttrace: LogFn = ((\n\t\tobjOrMsg: object | string,\n\t\tmsg?: string,\n\t\t...args: any[]\n\t): void => {\n\t\t// Forward to underlying logger if present\n\t\tif (this.logger) {\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tthis.logger.trace(objOrMsg);\n\t\t\t} else {\n\t\t\t\tthis.logger.trace(objOrMsg as any, msg, ...args);\n\t\t\t}\n\t\t}\n\n\t\t// Send to Telescope as debug level\n\t\tlet context: Record<string, unknown>;\n\t\tlet message: string;\n\n\t\tif (typeof objOrMsg === 'string') {\n\t\t\tcontext = { ...this.context, level: 'trace' };\n\t\t\tmessage = objOrMsg;\n\t\t} else {\n\t\t\tcontext = { ...this.context, ...objOrMsg, level: 'trace' };\n\t\t\tmessage = msg ?? '';\n\t\t}\n\n\t\tthis.telescope.debug(message, context, this.requestId).catch(() => {});\n\t}) as LogFn;\n\n\t/**\n\t * Creates a child logger with additional context.\n\t * The child logger inherits all context from the parent.\n\t */\n\tchild(obj: object): Logger {\n\t\treturn new TelescopeLogger({\n\t\t\ttelescope: this.telescope,\n\t\t\tlogger: this.logger?.child(obj),\n\t\t\trequestId: this.requestId,\n\t\t\tcontext: { ...this.context, ...obj },\n\t\t});\n\t}\n\n\t/**\n\t * Create a child logger bound to a specific request ID.\n\t * Useful for correlating logs with HTTP requests.\n\t */\n\twithRequestId(requestId: string): TelescopeLogger {\n\t\treturn new TelescopeLogger({\n\t\t\ttelescope: this.telescope,\n\t\t\tlogger: this.logger,\n\t\t\trequestId,\n\t\t\tcontext: this.context,\n\t\t});\n\t}\n}\n\n/**\n * Create a logger that sends logs to Telescope.\n * Convenience function for creating a TelescopeLogger.\n *\n * @example\n * ```typescript\n * import { createTelescopeLogger } from '@geekmidas/telescope/logger/console';\n * import { ConsoleLogger } from '@geekmidas/logger/console';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n * const baseLogger = new ConsoleLogger({ app: 'myApp' });\n *\n * const logger = createTelescopeLogger(telescope, baseLogger);\n * logger.info({ action: 'startup' }, 'Application started');\n * ```\n */\nexport function createTelescopeLogger(\n\ttelescope: Telescope,\n\tlogger?: Logger,\n\tcontext?: Record<string, unknown>,\n): TelescopeLogger {\n\treturn new TelescopeLogger({ telescope, logger, context });\n}\n\nexport type { Telescope };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,IAAa,kBAAb,MAAa,gBAAkC;CAC9C,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CAER,YAAYA,SAAiC;AAC5C,OAAK,YAAY,QAAQ;AACzB,OAAK,SAAS,QAAQ;AACtB,OAAK,YAAY,QAAQ;AACzB,OAAK,UAAU,QAAQ,WAAW,CAAE;CACpC;CAED,AAAQ,YAAYC,OAAwB;EAC3C,MAAM,KAAK,CACVC,UACAC,KACA,GAAG,SACO;GACV,IAAIC;GACJ,IAAIC;AAEJ,cAAW,aAAa,UAAU;AACjC,cAAU,EAAE,GAAG,KAAK,QAAS;AAC7B,cAAU;GACV,OAAM;AACN,cAAU;KAAE,GAAG,KAAK;KAAS,GAAG;IAAU;AAC1C,cAAU,OAAO;GACjB;AAGD,OAAI,KAAK,OACR,YAAW,aAAa,SACvB,MAAK,OAAO,OAAO,SAAS;OAE5B,MAAK,OAAO,OAAO,UAAiB,KAAK,GAAG,KAAK;AAKnD,QAAK,UAAU,OAAO,SAAS,SAAS,KAAK,UAAU,CAAC,MAAM,MAAM,CAAE,EAAC;EACvE;AAED,SAAO;CACP;CAED,QAAe,KAAK,YAAY,QAAQ;CACxC,OAAc,KAAK,YAAY,OAAO;CACtC,OAAc,KAAK,YAAY,OAAO;CACtC,QAAe,KAAK,YAAY,QAAQ;CAGxC,QAAgB,CACfC,UACAH,KACA,GAAG,SACO;AAEV,MAAI,KAAK,OACR,YAAW,aAAa,SACvB,MAAK,OAAO,MAAM,SAAS;MAE3B,MAAK,OAAO,MAAM,UAAiB,KAAK,GAAG,KAAK;EAKlD,IAAIC;EACJ,IAAIC;AAEJ,aAAW,aAAa,UAAU;AACjC,aAAU;IAAE,GAAG,KAAK;IAAS,OAAO;GAAS;AAC7C,aAAU;EACV,OAAM;AACN,aAAU;IAAE,GAAG,KAAK;IAAS,GAAG;IAAU,OAAO;GAAS;AAC1D,aAAU,OAAO;EACjB;AAED,OAAK,UAAU,MAAM,SAAS,SAAS,KAAK,UAAU,CAAC,MAAM,MAAM,CAAE,EAAC;CACtE;CAED,QAAgB,CACfC,UACAH,KACA,GAAG,SACO;AAEV,MAAI,KAAK,OACR,YAAW,aAAa,SACvB,MAAK,OAAO,MAAM,SAAS;MAE3B,MAAK,OAAO,MAAM,UAAiB,KAAK,GAAG,KAAK;EAKlD,IAAIC;EACJ,IAAIC;AAEJ,aAAW,aAAa,UAAU;AACjC,aAAU;IAAE,GAAG,KAAK;IAAS,OAAO;GAAS;AAC7C,aAAU;EACV,OAAM;AACN,aAAU;IAAE,GAAG,KAAK;IAAS,GAAG;IAAU,OAAO;GAAS;AAC1D,aAAU,OAAO;EACjB;AAED,OAAK,UAAU,MAAM,SAAS,SAAS,KAAK,UAAU,CAAC,MAAM,MAAM,CAAE,EAAC;CACtE;;;;;CAMD,MAAME,KAAqB;AAC1B,SAAO,IAAI,gBAAgB;GAC1B,WAAW,KAAK;GAChB,QAAQ,KAAK,QAAQ,MAAM,IAAI;GAC/B,WAAW,KAAK;GAChB,SAAS;IAAE,GAAG,KAAK;IAAS,GAAG;GAAK;EACpC;CACD;;;;;CAMD,cAAcC,WAAoC;AACjD,SAAO,IAAI,gBAAgB;GAC1B,WAAW,KAAK;GAChB,QAAQ,KAAK;GACb;GACA,SAAS,KAAK;EACd;CACD;AACD;;;;;;;;;;;;;;;;;AAkBD,SAAgB,sBACfC,WACAC,QACAC,SACkB;AAClB,QAAO,IAAI,gBAAgB;EAAE;EAAW;EAAQ;CAAS;AACzD"}
1
+ {"version":3,"file":"console.mjs","names":[],"sources":["../../src/logger/console.ts"],"sourcesContent":["import type { Telescope } from '../Telescope';\n\n/**\n * Logger interface matching @geekmidas/logger\n */\nexport interface Logger {\n\tdebug: LogFn;\n\tinfo: LogFn;\n\twarn: LogFn;\n\terror: LogFn;\n\tfatal: LogFn;\n\ttrace: LogFn;\n\tchild: (obj: object) => Logger;\n}\n\nexport type LogFn = {\n\t<T extends object>(obj: T, msg?: string, ...args: any[]): void;\n\t(msg: string): void;\n};\n\nexport interface TelescopeLoggerOptions {\n\t/**\n\t * The Telescope instance to send logs to\n\t */\n\ttelescope: Telescope;\n\t/**\n\t * Optional underlying logger to also forward logs to.\n\t * If not provided, logs will only go to Telescope.\n\t */\n\tlogger?: Logger;\n\t/**\n\t * Request ID to associate logs with a specific request.\n\t */\n\trequestId?: string;\n\t/**\n\t * Initial context data to include in all log messages\n\t */\n\tcontext?: Record<string, unknown>;\n}\n\ntype LogLevel = 'debug' | 'info' | 'warn' | 'error';\n\n/**\n * A logger that sends logs to both Telescope and an optional underlying logger.\n * Implements the Logger interface from @geekmidas/logger.\n *\n * @example\n * ```typescript\n * import { Telescope, InMemoryStorage } from '@geekmidas/telescope';\n * import { TelescopeLogger } from '@geekmidas/telescope/logger/console';\n * import { ConsoleLogger } from '@geekmidas/logger/console';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // With underlying logger (logs to both console and Telescope)\n * const logger = new TelescopeLogger({\n * telescope,\n * logger: new ConsoleLogger({ app: 'myApp' }),\n * });\n *\n * // Without underlying logger (logs only to Telescope)\n * const telescopeOnly = new TelescopeLogger({ telescope });\n *\n * // Usage\n * logger.info({ userId: '123' }, 'User logged in');\n * logger.error({ error: 'Something failed' }, 'Operation failed');\n * ```\n */\nexport class TelescopeLogger implements Logger {\n\tprivate telescope: Telescope;\n\tprivate logger?: Logger;\n\tprivate requestId?: string;\n\tprivate context: Record<string, unknown>;\n\n\tconstructor(options: TelescopeLoggerOptions) {\n\t\tthis.telescope = options.telescope;\n\t\tthis.logger = options.logger;\n\t\tthis.requestId = options.requestId;\n\t\tthis.context = options.context ?? {};\n\t}\n\n\tprivate createLogFn(level: LogLevel): LogFn {\n\t\tconst fn = <T extends object>(\n\t\t\tobjOrMsg: T | string,\n\t\t\tmsg?: string,\n\t\t\t...args: any[]\n\t\t): void => {\n\t\t\tlet context: Record<string, unknown>;\n\t\t\tlet message: string;\n\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tcontext = { ...this.context };\n\t\t\t\tmessage = objOrMsg;\n\t\t\t} else {\n\t\t\t\tcontext = { ...this.context, ...objOrMsg };\n\t\t\t\tmessage = msg ?? '';\n\t\t\t}\n\n\t\t\t// Forward to underlying logger if present\n\t\t\tif (this.logger) {\n\t\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\t\tthis.logger[level](objOrMsg);\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger[level](objOrMsg as any, msg, ...args);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Send to Telescope (fire and forget)\n\t\t\tthis.telescope[level](message, context, this.requestId).catch(() => {});\n\t\t};\n\n\t\treturn fn as LogFn;\n\t}\n\n\tdebug: LogFn = this.createLogFn('debug');\n\tinfo: LogFn = this.createLogFn('info');\n\twarn: LogFn = this.createLogFn('warn');\n\terror: LogFn = this.createLogFn('error');\n\n\t// Map fatal and trace to error and debug for Telescope\n\tfatal: LogFn = ((\n\t\tobjOrMsg: object | string,\n\t\tmsg?: string,\n\t\t...args: any[]\n\t): void => {\n\t\t// Forward to underlying logger if present\n\t\tif (this.logger) {\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tthis.logger.fatal(objOrMsg);\n\t\t\t} else {\n\t\t\t\tthis.logger.fatal(objOrMsg as any, msg, ...args);\n\t\t\t}\n\t\t}\n\n\t\t// Send to Telescope as error level\n\t\tlet context: Record<string, unknown>;\n\t\tlet message: string;\n\n\t\tif (typeof objOrMsg === 'string') {\n\t\t\tcontext = { ...this.context, level: 'fatal' };\n\t\t\tmessage = objOrMsg;\n\t\t} else {\n\t\t\tcontext = { ...this.context, ...objOrMsg, level: 'fatal' };\n\t\t\tmessage = msg ?? '';\n\t\t}\n\n\t\tthis.telescope.error(message, context, this.requestId).catch(() => {});\n\t}) as LogFn;\n\n\ttrace: LogFn = ((\n\t\tobjOrMsg: object | string,\n\t\tmsg?: string,\n\t\t...args: any[]\n\t): void => {\n\t\t// Forward to underlying logger if present\n\t\tif (this.logger) {\n\t\t\tif (typeof objOrMsg === 'string') {\n\t\t\t\tthis.logger.trace(objOrMsg);\n\t\t\t} else {\n\t\t\t\tthis.logger.trace(objOrMsg as any, msg, ...args);\n\t\t\t}\n\t\t}\n\n\t\t// Send to Telescope as debug level\n\t\tlet context: Record<string, unknown>;\n\t\tlet message: string;\n\n\t\tif (typeof objOrMsg === 'string') {\n\t\t\tcontext = { ...this.context, level: 'trace' };\n\t\t\tmessage = objOrMsg;\n\t\t} else {\n\t\t\tcontext = { ...this.context, ...objOrMsg, level: 'trace' };\n\t\t\tmessage = msg ?? '';\n\t\t}\n\n\t\tthis.telescope.debug(message, context, this.requestId).catch(() => {});\n\t}) as LogFn;\n\n\t/**\n\t * Creates a child logger with additional context.\n\t * The child logger inherits all context from the parent.\n\t */\n\tchild(obj: object): Logger {\n\t\treturn new TelescopeLogger({\n\t\t\ttelescope: this.telescope,\n\t\t\tlogger: this.logger?.child(obj),\n\t\t\trequestId: this.requestId,\n\t\t\tcontext: { ...this.context, ...obj },\n\t\t});\n\t}\n\n\t/**\n\t * Create a child logger bound to a specific request ID.\n\t * Useful for correlating logs with HTTP requests.\n\t */\n\twithRequestId(requestId: string): TelescopeLogger {\n\t\treturn new TelescopeLogger({\n\t\t\ttelescope: this.telescope,\n\t\t\tlogger: this.logger,\n\t\t\trequestId,\n\t\t\tcontext: this.context,\n\t\t});\n\t}\n}\n\n/**\n * Create a logger that sends logs to Telescope.\n * Convenience function for creating a TelescopeLogger.\n *\n * @example\n * ```typescript\n * import { createTelescopeLogger } from '@geekmidas/telescope/logger/console';\n * import { ConsoleLogger } from '@geekmidas/logger/console';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n * const baseLogger = new ConsoleLogger({ app: 'myApp' });\n *\n * const logger = createTelescopeLogger(telescope, baseLogger);\n * logger.info({ action: 'startup' }, 'Application started');\n * ```\n */\nexport function createTelescopeLogger(\n\ttelescope: Telescope,\n\tlogger?: Logger,\n\tcontext?: Record<string, unknown>,\n): TelescopeLogger {\n\treturn new TelescopeLogger({ telescope, logger, context });\n}\n\nexport type { Telescope };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,IAAa,kBAAb,MAAa,gBAAkC;CAC9C;CACA;CACA;CACA;CAEA,YAAY,SAAiC;EAC5C,KAAK,YAAY,QAAQ;EACzB,KAAK,SAAS,QAAQ;EACtB,KAAK,YAAY,QAAQ;EACzB,KAAK,UAAU,QAAQ,WAAW,CAAC;CACpC;CAEA,YAAoB,OAAwB;EAC3C,MAAM,MACL,UACA,KACA,GAAG,SACO;GACV,IAAI;GACJ,IAAI;GAEJ,IAAI,OAAO,aAAa,UAAU;IACjC,UAAU,EAAE,GAAG,KAAK,QAAQ;IAC5B,UAAU;GACX,OAAO;IACN,UAAU;KAAE,GAAG,KAAK;KAAS,GAAG;IAAS;IACzC,UAAU,OAAO;GAClB;GAGA,IAAI,KAAK,QAAQ;IAChB,IAAI,OAAO,aAAa,UACvB,KAAK,OAAO,MAAM,CAAC,QAAQ;SAE3B,KAAK,OAAO,MAAM,CAAC,UAAiB,KAAK,GAAG,IAAI;GAElD;GAGA,KAAK,UAAU,MAAM,CAAC,SAAS,SAAS,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;EACvE;EAEA,OAAO;CACR;CAEA,QAAe,KAAK,YAAY,OAAO;CACvC,OAAc,KAAK,YAAY,MAAM;CACrC,OAAc,KAAK,YAAY,MAAM;CACrC,QAAe,KAAK,YAAY,OAAO;CAGvC,UACC,UACA,KACA,GAAG,SACO;EAEV,IAAI,KAAK,QAAQ;GAChB,IAAI,OAAO,aAAa,UACvB,KAAK,OAAO,MAAM,QAAQ;QAE1B,KAAK,OAAO,MAAM,UAAiB,KAAK,GAAG,IAAI;EAEjD;EAGA,IAAI;EACJ,IAAI;EAEJ,IAAI,OAAO,aAAa,UAAU;GACjC,UAAU;IAAE,GAAG,KAAK;IAAS,OAAO;GAAQ;GAC5C,UAAU;EACX,OAAO;GACN,UAAU;IAAE,GAAG,KAAK;IAAS,GAAG;IAAU,OAAO;GAAQ;GACzD,UAAU,OAAO;EAClB;EAEA,KAAK,UAAU,MAAM,SAAS,SAAS,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;CACtE;CAEA,UACC,UACA,KACA,GAAG,SACO;EAEV,IAAI,KAAK,QAAQ;GAChB,IAAI,OAAO,aAAa,UACvB,KAAK,OAAO,MAAM,QAAQ;QAE1B,KAAK,OAAO,MAAM,UAAiB,KAAK,GAAG,IAAI;EAEjD;EAGA,IAAI;EACJ,IAAI;EAEJ,IAAI,OAAO,aAAa,UAAU;GACjC,UAAU;IAAE,GAAG,KAAK;IAAS,OAAO;GAAQ;GAC5C,UAAU;EACX,OAAO;GACN,UAAU;IAAE,GAAG,KAAK;IAAS,GAAG;IAAU,OAAO;GAAQ;GACzD,UAAU,OAAO;EAClB;EAEA,KAAK,UAAU,MAAM,SAAS,SAAS,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;CACtE;;;;;CAMA,MAAM,KAAqB;EAC1B,OAAO,IAAI,gBAAgB;GAC1B,WAAW,KAAK;GAChB,QAAQ,KAAK,QAAQ,MAAM,GAAG;GAC9B,WAAW,KAAK;GAChB,SAAS;IAAE,GAAG,KAAK;IAAS,GAAG;GAAI;EACpC,CAAC;CACF;;;;;CAMA,cAAc,WAAoC;EACjD,OAAO,IAAI,gBAAgB;GAC1B,WAAW,KAAK;GAChB,QAAQ,KAAK;GACb;GACA,SAAS,KAAK;EACf,CAAC;CACF;AACD;;;;;;;;;;;;;;;;;AAkBA,SAAgB,sBACf,WACA,QACA,SACkB;CAClB,OAAO,IAAI,gBAAgB;EAAE;EAAW;EAAQ;CAAQ,CAAC;AAC1D"}
@@ -1,6 +1,7 @@
1
- const require_chunk = require('../chunk-CUT6urMc.cjs');
2
- const pino_abstract_transport = require_chunk.__toESM(require("pino-abstract-transport"));
3
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_rolldown_runtime = require("../rolldown-runtime-VH7oDXx4.cjs");
3
+ let pino_abstract_transport = require("pino-abstract-transport");
4
+ pino_abstract_transport = require_rolldown_runtime.__toESM(pino_abstract_transport, 1);
4
5
  //#region src/logger/pino.ts
5
6
  /**
6
7
  * Map Pino levels to Telescope log levels.
@@ -72,7 +73,7 @@ function createPinoTransport(options) {
72
73
  return (0, pino_abstract_transport.default)(async (source) => {
73
74
  for await (const obj of source) {
74
75
  const data = obj;
75
- const { level, msg, time, pid, hostname,...context } = data;
76
+ const { level, msg, time, pid, hostname, ...context } = data;
76
77
  const telescopeLevel = mapPinoLevel(level);
77
78
  let reqId;
78
79
  if (typeof requestId === "function") reqId = requestId(data);
@@ -119,8 +120,8 @@ function createPinoTransport(options) {
119
120
  * ```
120
121
  */
121
122
  const createPinoDestination = createPinoTransport;
122
-
123
123
  //#endregion
124
124
  exports.createPinoDestination = createPinoDestination;
125
125
  exports.createPinoTransport = createPinoTransport;
126
+
126
127
  //# sourceMappingURL=pino.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pino.cjs","names":["level: number | string","options: TelescopePinoTransportOptions","batch: LogBatch[]","flushTimer: ReturnType<typeof setTimeout> | null","reqId: string | undefined"],"sources":["../../src/logger/pino.ts"],"sourcesContent":["import build from 'pino-abstract-transport';\nimport type { Telescope } from '../Telescope';\n\n/**\n * Pino log object structure after parsing\n */\nexport interface PinoLogObject {\n\tlevel: number | string;\n\ttime: number;\n\tpid?: number;\n\thostname?: string;\n\tmsg?: string;\n\t[key: string]: unknown;\n}\n\nexport interface TelescopePinoTransportOptions {\n\t/**\n\t * The Telescope instance to send logs to\n\t */\n\ttelescope: Telescope;\n\t/**\n\t * Request ID to associate logs with a specific request.\n\t * Can be a static string or a function that extracts the ID from log data.\n\t */\n\trequestId?: string | ((data: PinoLogObject) => string | undefined);\n\t/**\n\t * Batch size before flushing to Telescope (default: 100)\n\t */\n\tbatchSize?: number;\n\t/**\n\t * Flush interval in milliseconds (default: 1000ms)\n\t */\n\tflushIntervalMs?: number;\n}\n\ntype TelescopeLogLevel = 'debug' | 'info' | 'warn' | 'error';\n\ninterface LogBatch {\n\tlevel: TelescopeLogLevel;\n\tmessage: string;\n\tcontext: Record<string, unknown>;\n\trequestId?: string;\n}\n\n/**\n * Map Pino levels to Telescope log levels.\n * Handles both numeric levels (default pino) and string levels (custom formatters).\n */\nfunction mapPinoLevel(level: number | string): TelescopeLogLevel {\n\t// Handle string levels (from custom formatters like `level: label => ({ level: label.toUpperCase() })`)\n\tif (typeof level === 'string') {\n\t\tconst normalized = level.toLowerCase();\n\t\tif (normalized === 'trace' || normalized === 'debug') return 'debug';\n\t\tif (normalized === 'info') return 'info';\n\t\tif (normalized === 'warn' || normalized === 'warning') return 'warn';\n\t\treturn 'error'; // error, fatal, or unknown\n\t}\n\n\t// Pino numeric levels: trace=10, debug=20, info=30, warn=40, error=50, fatal=60\n\tif (level <= 20) return 'debug'; // trace, debug\n\tif (level <= 30) return 'info';\n\tif (level <= 40) return 'warn';\n\treturn 'error'; // error, fatal\n}\n\n/**\n * Create a Pino transport that sends logs to Telescope.\n *\n * Uses pino-abstract-transport for proper async iteration and backpressure handling.\n * Logs are batched for performance and flushed either when the batch is full\n * or after the flush interval.\n *\n * @example\n * ```typescript\n * import pino from 'pino';\n * import { Telescope, InMemoryStorage } from '@geekmidas/telescope';\n * import { createPinoTransport } from '@geekmidas/telescope/logger/pino';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // Use with pino.multistream to log to both stdout and Telescope\n * const logger = pino(\n * { level: 'debug' },\n * pino.multistream([\n * { stream: process.stdout },\n * { stream: createPinoTransport({ telescope }) }\n * ])\n * );\n *\n * logger.info({ userId: '123' }, 'User logged in');\n * ```\n */\nexport function createPinoTransport(options: TelescopePinoTransportOptions) {\n\tconst {\n\t\ttelescope,\n\t\trequestId,\n\t\tbatchSize = 100,\n\t\tflushIntervalMs = 1000,\n\t} = options;\n\n\tconst batch: LogBatch[] = [];\n\tlet flushTimer: ReturnType<typeof setTimeout> | null = null;\n\n\tasync function flush(): Promise<void> {\n\t\tif (batch.length === 0) return;\n\n\t\tconst toFlush = batch.splice(0, batch.length);\n\n\t\t// Use batch insert for better performance\n\t\ttry {\n\t\t\tawait telescope.log(toFlush);\n\t\t} catch {\n\t\t\t// Silently ignore errors to not break logging\n\t\t}\n\t}\n\n\tfunction scheduleFlush(): void {\n\t\tif (flushTimer === null) {\n\t\t\tflushTimer = setTimeout(() => {\n\t\t\t\tflushTimer = null;\n\t\t\t\tflush().catch(() => {\n\t\t\t\t\t// Silently ignore flush errors\n\t\t\t\t});\n\t\t\t}, flushIntervalMs);\n\t\t}\n\t}\n\n\tfunction clearFlushTimer(): void {\n\t\tif (flushTimer !== null) {\n\t\t\tclearTimeout(flushTimer);\n\t\t\tflushTimer = null;\n\t\t}\n\t}\n\n\treturn build(\n\t\tasync (source) => {\n\t\t\tfor await (const obj of source) {\n\t\t\t\tconst data = obj as PinoLogObject;\n\t\t\t\tconst { level, msg, time, pid, hostname, ...context } = data;\n\n\t\t\t\tconst telescopeLevel = mapPinoLevel(level);\n\n\t\t\t\t// Extract request ID\n\t\t\t\tlet reqId: string | undefined;\n\t\t\t\tif (typeof requestId === 'function') {\n\t\t\t\t\treqId = requestId(data);\n\t\t\t\t} else if (typeof requestId === 'string') {\n\t\t\t\t\treqId = requestId;\n\t\t\t\t} else if (typeof context.requestId === 'string') {\n\t\t\t\t\treqId = context.requestId;\n\t\t\t\t\tdelete context.requestId;\n\t\t\t\t}\n\n\t\t\t\tbatch.push({\n\t\t\t\t\tlevel: telescopeLevel,\n\t\t\t\t\tmessage: msg || '',\n\t\t\t\t\tcontext,\n\t\t\t\t\trequestId: reqId,\n\t\t\t\t});\n\n\t\t\t\tif (batch.length >= batchSize) {\n\t\t\t\t\tclearFlushTimer();\n\t\t\t\t\tawait flush();\n\t\t\t\t} else {\n\t\t\t\t\tscheduleFlush();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tasync close() {\n\t\t\t\tclearFlushTimer();\n\t\t\t\tawait flush();\n\t\t\t},\n\t\t},\n\t);\n}\n\n/**\n * Create a Pino destination that sends logs to Telescope.\n * Alias for createPinoTransport for API compatibility.\n *\n * @example\n * ```typescript\n * import pino from 'pino';\n * import { createPinoDestination } from '@geekmidas/telescope/logger/pino';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // Use with pino.multistream to log to both stdout and Telescope\n * const logger = pino(\n * { level: 'debug' },\n * pino.multistream([\n * { stream: process.stdout },\n * { stream: createPinoDestination({ telescope }) }\n * ])\n * );\n * ```\n */\nexport const createPinoDestination = createPinoTransport;\n\nexport type { Telescope };\n"],"mappings":";;;;;;;;AAgDA,SAAS,aAAaA,OAA2C;AAEhE,YAAW,UAAU,UAAU;EAC9B,MAAM,aAAa,MAAM,aAAa;AACtC,MAAI,eAAe,WAAW,eAAe,QAAS,QAAO;AAC7D,MAAI,eAAe,OAAQ,QAAO;AAClC,MAAI,eAAe,UAAU,eAAe,UAAW,QAAO;AAC9D,SAAO;CACP;AAGD,KAAI,SAAS,GAAI,QAAO;AACxB,KAAI,SAAS,GAAI,QAAO;AACxB,KAAI,SAAS,GAAI,QAAO;AACxB,QAAO;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BD,SAAgB,oBAAoBC,SAAwC;CAC3E,MAAM,EACL,WACA,WACA,YAAY,KACZ,kBAAkB,KAClB,GAAG;CAEJ,MAAMC,QAAoB,CAAE;CAC5B,IAAIC,aAAmD;CAEvD,eAAe,QAAuB;AACrC,MAAI,MAAM,WAAW,EAAG;EAExB,MAAM,UAAU,MAAM,OAAO,GAAG,MAAM,OAAO;AAG7C,MAAI;AACH,SAAM,UAAU,IAAI,QAAQ;EAC5B,QAAO,CAEP;CACD;CAED,SAAS,gBAAsB;AAC9B,MAAI,eAAe,KAClB,cAAa,WAAW,MAAM;AAC7B,gBAAa;AACb,UAAO,CAAC,MAAM,MAAM,CAEnB,EAAC;EACF,GAAE,gBAAgB;CAEpB;CAED,SAAS,kBAAwB;AAChC,MAAI,eAAe,MAAM;AACxB,gBAAa,WAAW;AACxB,gBAAa;EACb;CACD;AAED,QAAO,qCACN,OAAO,WAAW;AACjB,aAAW,MAAM,OAAO,QAAQ;GAC/B,MAAM,OAAO;GACb,MAAM,EAAE,OAAO,KAAK,MAAM,KAAK,SAAU,GAAG,SAAS,GAAG;GAExD,MAAM,iBAAiB,aAAa,MAAM;GAG1C,IAAIC;AACJ,cAAW,cAAc,WACxB,SAAQ,UAAU,KAAK;mBACN,cAAc,SAC/B,SAAQ;mBACS,QAAQ,cAAc,UAAU;AACjD,YAAQ,QAAQ;AAChB,WAAO,QAAQ;GACf;AAED,SAAM,KAAK;IACV,OAAO;IACP,SAAS,OAAO;IAChB;IACA,WAAW;GACX,EAAC;AAEF,OAAI,MAAM,UAAU,WAAW;AAC9B,qBAAiB;AACjB,UAAM,OAAO;GACb,MACA,gBAAe;EAEhB;CACD,GACD,EACC,MAAM,QAAQ;AACb,mBAAiB;AACjB,QAAM,OAAO;CACb,EACD,EACD;AACD;;;;;;;;;;;;;;;;;;;;;;AAuBD,MAAa,wBAAwB"}
1
+ {"version":3,"file":"pino.cjs","names":["build"],"sources":["../../src/logger/pino.ts"],"sourcesContent":["import build from 'pino-abstract-transport';\nimport type { Telescope } from '../Telescope';\n\n/**\n * Pino log object structure after parsing\n */\nexport interface PinoLogObject {\n\tlevel: number | string;\n\ttime: number;\n\tpid?: number;\n\thostname?: string;\n\tmsg?: string;\n\t[key: string]: unknown;\n}\n\nexport interface TelescopePinoTransportOptions {\n\t/**\n\t * The Telescope instance to send logs to\n\t */\n\ttelescope: Telescope;\n\t/**\n\t * Request ID to associate logs with a specific request.\n\t * Can be a static string or a function that extracts the ID from log data.\n\t */\n\trequestId?: string | ((data: PinoLogObject) => string | undefined);\n\t/**\n\t * Batch size before flushing to Telescope (default: 100)\n\t */\n\tbatchSize?: number;\n\t/**\n\t * Flush interval in milliseconds (default: 1000ms)\n\t */\n\tflushIntervalMs?: number;\n}\n\ntype TelescopeLogLevel = 'debug' | 'info' | 'warn' | 'error';\n\ninterface LogBatch {\n\tlevel: TelescopeLogLevel;\n\tmessage: string;\n\tcontext: Record<string, unknown>;\n\trequestId?: string;\n}\n\n/**\n * Map Pino levels to Telescope log levels.\n * Handles both numeric levels (default pino) and string levels (custom formatters).\n */\nfunction mapPinoLevel(level: number | string): TelescopeLogLevel {\n\t// Handle string levels (from custom formatters like `level: label => ({ level: label.toUpperCase() })`)\n\tif (typeof level === 'string') {\n\t\tconst normalized = level.toLowerCase();\n\t\tif (normalized === 'trace' || normalized === 'debug') return 'debug';\n\t\tif (normalized === 'info') return 'info';\n\t\tif (normalized === 'warn' || normalized === 'warning') return 'warn';\n\t\treturn 'error'; // error, fatal, or unknown\n\t}\n\n\t// Pino numeric levels: trace=10, debug=20, info=30, warn=40, error=50, fatal=60\n\tif (level <= 20) return 'debug'; // trace, debug\n\tif (level <= 30) return 'info';\n\tif (level <= 40) return 'warn';\n\treturn 'error'; // error, fatal\n}\n\n/**\n * Create a Pino transport that sends logs to Telescope.\n *\n * Uses pino-abstract-transport for proper async iteration and backpressure handling.\n * Logs are batched for performance and flushed either when the batch is full\n * or after the flush interval.\n *\n * @example\n * ```typescript\n * import pino from 'pino';\n * import { Telescope, InMemoryStorage } from '@geekmidas/telescope';\n * import { createPinoTransport } from '@geekmidas/telescope/logger/pino';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // Use with pino.multistream to log to both stdout and Telescope\n * const logger = pino(\n * { level: 'debug' },\n * pino.multistream([\n * { stream: process.stdout },\n * { stream: createPinoTransport({ telescope }) }\n * ])\n * );\n *\n * logger.info({ userId: '123' }, 'User logged in');\n * ```\n */\nexport function createPinoTransport(options: TelescopePinoTransportOptions) {\n\tconst {\n\t\ttelescope,\n\t\trequestId,\n\t\tbatchSize = 100,\n\t\tflushIntervalMs = 1000,\n\t} = options;\n\n\tconst batch: LogBatch[] = [];\n\tlet flushTimer: ReturnType<typeof setTimeout> | null = null;\n\n\tasync function flush(): Promise<void> {\n\t\tif (batch.length === 0) return;\n\n\t\tconst toFlush = batch.splice(0, batch.length);\n\n\t\t// Use batch insert for better performance\n\t\ttry {\n\t\t\tawait telescope.log(toFlush);\n\t\t} catch {\n\t\t\t// Silently ignore errors to not break logging\n\t\t}\n\t}\n\n\tfunction scheduleFlush(): void {\n\t\tif (flushTimer === null) {\n\t\t\tflushTimer = setTimeout(() => {\n\t\t\t\tflushTimer = null;\n\t\t\t\tflush().catch(() => {\n\t\t\t\t\t// Silently ignore flush errors\n\t\t\t\t});\n\t\t\t}, flushIntervalMs);\n\t\t}\n\t}\n\n\tfunction clearFlushTimer(): void {\n\t\tif (flushTimer !== null) {\n\t\t\tclearTimeout(flushTimer);\n\t\t\tflushTimer = null;\n\t\t}\n\t}\n\n\treturn build(\n\t\tasync (source) => {\n\t\t\tfor await (const obj of source) {\n\t\t\t\tconst data = obj as PinoLogObject;\n\t\t\t\tconst { level, msg, time, pid, hostname, ...context } = data;\n\n\t\t\t\tconst telescopeLevel = mapPinoLevel(level);\n\n\t\t\t\t// Extract request ID\n\t\t\t\tlet reqId: string | undefined;\n\t\t\t\tif (typeof requestId === 'function') {\n\t\t\t\t\treqId = requestId(data);\n\t\t\t\t} else if (typeof requestId === 'string') {\n\t\t\t\t\treqId = requestId;\n\t\t\t\t} else if (typeof context.requestId === 'string') {\n\t\t\t\t\treqId = context.requestId;\n\t\t\t\t\tdelete context.requestId;\n\t\t\t\t}\n\n\t\t\t\tbatch.push({\n\t\t\t\t\tlevel: telescopeLevel,\n\t\t\t\t\tmessage: msg || '',\n\t\t\t\t\tcontext,\n\t\t\t\t\trequestId: reqId,\n\t\t\t\t});\n\n\t\t\t\tif (batch.length >= batchSize) {\n\t\t\t\t\tclearFlushTimer();\n\t\t\t\t\tawait flush();\n\t\t\t\t} else {\n\t\t\t\t\tscheduleFlush();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tasync close() {\n\t\t\t\tclearFlushTimer();\n\t\t\t\tawait flush();\n\t\t\t},\n\t\t},\n\t);\n}\n\n/**\n * Create a Pino destination that sends logs to Telescope.\n * Alias for createPinoTransport for API compatibility.\n *\n * @example\n * ```typescript\n * import pino from 'pino';\n * import { createPinoDestination } from '@geekmidas/telescope/logger/pino';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // Use with pino.multistream to log to both stdout and Telescope\n * const logger = pino(\n * { level: 'debug' },\n * pino.multistream([\n * { stream: process.stdout },\n * { stream: createPinoDestination({ telescope }) }\n * ])\n * );\n * ```\n */\nexport const createPinoDestination = createPinoTransport;\n\nexport type { Telescope };\n"],"mappings":";;;;;;;;;AAgDA,SAAS,aAAa,OAA2C;CAEhE,IAAI,OAAO,UAAU,UAAU;EAC9B,MAAM,aAAa,MAAM,YAAY;EACrC,IAAI,eAAe,WAAW,eAAe,SAAS,OAAO;EAC7D,IAAI,eAAe,QAAQ,OAAO;EAClC,IAAI,eAAe,UAAU,eAAe,WAAW,OAAO;EAC9D,OAAO;CACR;CAGA,IAAI,SAAS,IAAI,OAAO;CACxB,IAAI,SAAS,IAAI,OAAO;CACxB,IAAI,SAAS,IAAI,OAAO;CACxB,OAAO;AACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,SAAgB,oBAAoB,SAAwC;CAC3E,MAAM,EACL,WACA,WACA,YAAY,KACZ,kBAAkB,QACf;CAEJ,MAAM,QAAoB,CAAC;CAC3B,IAAI,aAAmD;CAEvD,eAAe,QAAuB;EACrC,IAAI,MAAM,WAAW,GAAG;EAExB,MAAM,UAAU,MAAM,OAAO,GAAG,MAAM,MAAM;EAG5C,IAAI;GACH,MAAM,UAAU,IAAI,OAAO;EAC5B,QAAQ,CAER;CACD;CAEA,SAAS,gBAAsB;EAC9B,IAAI,eAAe,MAClB,aAAa,iBAAiB;GAC7B,aAAa;GACb,MAAM,CAAC,CAAC,YAAY,CAEpB,CAAC;EACF,GAAG,eAAe;CAEpB;CAEA,SAAS,kBAAwB;EAChC,IAAI,eAAe,MAAM;GACxB,aAAa,UAAU;GACvB,aAAa;EACd;CACD;CAEA,QAAA,GAAOA,wBAAAA,QAAAA,CACN,OAAO,WAAW;EACjB,WAAW,MAAM,OAAO,QAAQ;GAC/B,MAAM,OAAO;GACb,MAAM,EAAE,OAAO,KAAK,MAAM,KAAK,UAAU,GAAG,YAAY;GAExD,MAAM,iBAAiB,aAAa,KAAK;GAGzC,IAAI;GACJ,IAAI,OAAO,cAAc,YACxB,QAAQ,UAAU,IAAI;QAChB,IAAI,OAAO,cAAc,UAC/B,QAAQ;QACF,IAAI,OAAO,QAAQ,cAAc,UAAU;IACjD,QAAQ,QAAQ;IAChB,OAAO,QAAQ;GAChB;GAEA,MAAM,KAAK;IACV,OAAO;IACP,SAAS,OAAO;IAChB;IACA,WAAW;GACZ,CAAC;GAED,IAAI,MAAM,UAAU,WAAW;IAC9B,gBAAgB;IAChB,MAAM,MAAM;GACb,OACC,cAAc;EAEhB;CACD,GACA,EACC,MAAM,QAAQ;EACb,gBAAgB;EAChB,MAAM,MAAM;CACb,EACD,CACD;AACD;;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAa,wBAAwB"}
@@ -1,14 +1,10 @@
1
- import "../types-l7Rlb5Mg.cjs";
2
- import "../MetricsAggregator-4SqelGcG.cjs";
3
- import { Telescope } from "../Telescope-D4nmwDRA.cjs";
4
- import * as stream2 from "stream";
1
+ import { t as Telescope } from "../Telescope-DnCMZT7V.cjs";
5
2
  import build from "pino-abstract-transport";
6
-
7
3
  //#region src/logger/pino.d.ts
8
4
  /**
9
5
  * Pino log object structure after parsing
10
6
  */
11
- interface PinoLogObject {
7
+ export interface PinoLogObject {
12
8
  level: number | string;
13
9
  time: number;
14
10
  pid?: number;
@@ -16,7 +12,7 @@ interface PinoLogObject {
16
12
  msg?: string;
17
13
  [key: string]: unknown;
18
14
  }
19
- interface TelescopePinoTransportOptions {
15
+ export interface TelescopePinoTransportOptions {
20
16
  /**
21
17
  * The Telescope instance to send logs to
22
18
  */
@@ -62,7 +58,7 @@ interface TelescopePinoTransportOptions {
62
58
  * logger.info({ userId: '123' }, 'User logged in');
63
59
  * ```
64
60
  */
65
- declare function createPinoTransport(options: TelescopePinoTransportOptions): stream2.Transform & build.OnUnknown;
61
+ export declare function createPinoTransport(options: TelescopePinoTransportOptions): import("stream").Transform & build.OnUnknown;
66
62
  /**
67
63
  * Create a Pino destination that sends logs to Telescope.
68
64
  * Alias for createPinoTransport for API compatibility.
@@ -84,7 +80,7 @@ declare function createPinoTransport(options: TelescopePinoTransportOptions): st
84
80
  * );
85
81
  * ```
86
82
  */
87
- declare const createPinoDestination: typeof createPinoTransport;
83
+ export declare const createPinoDestination: typeof createPinoTransport;
88
84
  //#endregion
89
- export { PinoLogObject, Telescope, TelescopePinoTransportOptions, createPinoDestination, createPinoTransport };
85
+ export type { Telescope };
90
86
  //# sourceMappingURL=pino.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pino.d.cts","names":[],"sources":["../../src/logger/pino.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;UAMiB,aAAA;;EAAA,IAAA,EAAA,MAAA;EASA,GAAA,CAAA,EAAA,MAAA;EAA6B,QAAA,CAAA,EAAA,MAAA;EAAA,GAIlC,CAAA,EAAA,MAAA;EAAS,CAAA,GAKS,EAAA,MAAA,CAAA,EAAA,OAAA;AAAa;AAoE3B,UA7EC,6BAAA,CA6EkB;EAAA;;;EAAuC,SAAA,EAzE9D,SAyE8D;EAAA;AA0G1E;;;+BA9K8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoEd,mBAAA,UAA6B,gCAA6B,OAAA,CAAA,SAAA,GAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;cA0G7D,8BAAqB"}
1
+ {"version":3,"file":"pino.d.cts","names":[],"sources":["../../src/logger/pino.ts"],"mappings":";;;;;;iBAMiB;EAChB;EACA;EACA;EACA;EACA;GACC;;iBAGe;;;;EAIhB,WAAW;;;;;EAKX,uBAAuB,MAAM;;;;EAI7B;;;;EAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4De,oBAAoB,SAAS,iDAA6B,YAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;qBA0G7D,8BAAqB"}
@@ -1,14 +1,10 @@
1
- import "../types-B1EIa_cQ.mjs";
2
- import "../MetricsAggregator-DZrW8ls6.mjs";
3
- import { Telescope } from "../Telescope-Dl6VSfxd.mjs";
1
+ import { t as Telescope } from "../Telescope-BcrWTaar.mjs";
4
2
  import build from "pino-abstract-transport";
5
- import * as stream2 from "stream";
6
-
7
3
  //#region src/logger/pino.d.ts
8
4
  /**
9
5
  * Pino log object structure after parsing
10
6
  */
11
- interface PinoLogObject {
7
+ export interface PinoLogObject {
12
8
  level: number | string;
13
9
  time: number;
14
10
  pid?: number;
@@ -16,7 +12,7 @@ interface PinoLogObject {
16
12
  msg?: string;
17
13
  [key: string]: unknown;
18
14
  }
19
- interface TelescopePinoTransportOptions {
15
+ export interface TelescopePinoTransportOptions {
20
16
  /**
21
17
  * The Telescope instance to send logs to
22
18
  */
@@ -62,7 +58,7 @@ interface TelescopePinoTransportOptions {
62
58
  * logger.info({ userId: '123' }, 'User logged in');
63
59
  * ```
64
60
  */
65
- declare function createPinoTransport(options: TelescopePinoTransportOptions): stream2.Transform & build.OnUnknown;
61
+ export declare function createPinoTransport(options: TelescopePinoTransportOptions): import("stream").Transform & build.OnUnknown;
66
62
  /**
67
63
  * Create a Pino destination that sends logs to Telescope.
68
64
  * Alias for createPinoTransport for API compatibility.
@@ -84,7 +80,7 @@ declare function createPinoTransport(options: TelescopePinoTransportOptions): st
84
80
  * );
85
81
  * ```
86
82
  */
87
- declare const createPinoDestination: typeof createPinoTransport;
83
+ export declare const createPinoDestination: typeof createPinoTransport;
88
84
  //#endregion
89
- export { PinoLogObject, Telescope, TelescopePinoTransportOptions, createPinoDestination, createPinoTransport };
85
+ export type { Telescope };
90
86
  //# sourceMappingURL=pino.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pino.d.mts","names":[],"sources":["../../src/logger/pino.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;UAMiB,aAAA;;EAAA,IAAA,EAAA,MAAA;EASA,GAAA,CAAA,EAAA,MAAA;EAA6B,QAAA,CAAA,EAAA,MAAA;EAAA,GAIlC,CAAA,EAAA,MAAA;EAAS,CAAA,GAKS,EAAA,MAAA,CAAA,EAAA,OAAA;AAAa;AAoE3B,UA7EC,6BAAA,CA6EkB;EAAA;;;EAAuC,SAAA,EAzE9D,SAyE8D;EAAA;AA0G1E;;;+BA9K8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoEd,mBAAA,UAA6B,gCAA6B,OAAA,CAAA,SAAA,GAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;cA0G7D,8BAAqB"}
1
+ {"version":3,"file":"pino.d.mts","names":[],"sources":["../../src/logger/pino.ts"],"mappings":";;;;;;iBAMiB;EAChB;EACA;EACA;EACA;EACA;GACC;;iBAGe;;;;EAIhB,WAAW;;;;;EAKX,uBAAuB,MAAM;;;;EAI7B;;;;EAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4De,oBAAoB,SAAS,iDAA6B,YAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;qBA0G7D,8BAAqB"}
@@ -1,5 +1,4 @@
1
1
  import build from "pino-abstract-transport";
2
-
3
2
  //#region src/logger/pino.ts
4
3
  /**
5
4
  * Map Pino levels to Telescope log levels.
@@ -71,7 +70,7 @@ function createPinoTransport(options) {
71
70
  return build(async (source) => {
72
71
  for await (const obj of source) {
73
72
  const data = obj;
74
- const { level, msg, time, pid, hostname,...context } = data;
73
+ const { level, msg, time, pid, hostname, ...context } = data;
75
74
  const telescopeLevel = mapPinoLevel(level);
76
75
  let reqId;
77
76
  if (typeof requestId === "function") reqId = requestId(data);
@@ -118,7 +117,7 @@ function createPinoTransport(options) {
118
117
  * ```
119
118
  */
120
119
  const createPinoDestination = createPinoTransport;
121
-
122
120
  //#endregion
123
121
  export { createPinoDestination, createPinoTransport };
122
+
124
123
  //# sourceMappingURL=pino.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pino.mjs","names":["level: number | string","options: TelescopePinoTransportOptions","batch: LogBatch[]","flushTimer: ReturnType<typeof setTimeout> | null","reqId: string | undefined"],"sources":["../../src/logger/pino.ts"],"sourcesContent":["import build from 'pino-abstract-transport';\nimport type { Telescope } from '../Telescope';\n\n/**\n * Pino log object structure after parsing\n */\nexport interface PinoLogObject {\n\tlevel: number | string;\n\ttime: number;\n\tpid?: number;\n\thostname?: string;\n\tmsg?: string;\n\t[key: string]: unknown;\n}\n\nexport interface TelescopePinoTransportOptions {\n\t/**\n\t * The Telescope instance to send logs to\n\t */\n\ttelescope: Telescope;\n\t/**\n\t * Request ID to associate logs with a specific request.\n\t * Can be a static string or a function that extracts the ID from log data.\n\t */\n\trequestId?: string | ((data: PinoLogObject) => string | undefined);\n\t/**\n\t * Batch size before flushing to Telescope (default: 100)\n\t */\n\tbatchSize?: number;\n\t/**\n\t * Flush interval in milliseconds (default: 1000ms)\n\t */\n\tflushIntervalMs?: number;\n}\n\ntype TelescopeLogLevel = 'debug' | 'info' | 'warn' | 'error';\n\ninterface LogBatch {\n\tlevel: TelescopeLogLevel;\n\tmessage: string;\n\tcontext: Record<string, unknown>;\n\trequestId?: string;\n}\n\n/**\n * Map Pino levels to Telescope log levels.\n * Handles both numeric levels (default pino) and string levels (custom formatters).\n */\nfunction mapPinoLevel(level: number | string): TelescopeLogLevel {\n\t// Handle string levels (from custom formatters like `level: label => ({ level: label.toUpperCase() })`)\n\tif (typeof level === 'string') {\n\t\tconst normalized = level.toLowerCase();\n\t\tif (normalized === 'trace' || normalized === 'debug') return 'debug';\n\t\tif (normalized === 'info') return 'info';\n\t\tif (normalized === 'warn' || normalized === 'warning') return 'warn';\n\t\treturn 'error'; // error, fatal, or unknown\n\t}\n\n\t// Pino numeric levels: trace=10, debug=20, info=30, warn=40, error=50, fatal=60\n\tif (level <= 20) return 'debug'; // trace, debug\n\tif (level <= 30) return 'info';\n\tif (level <= 40) return 'warn';\n\treturn 'error'; // error, fatal\n}\n\n/**\n * Create a Pino transport that sends logs to Telescope.\n *\n * Uses pino-abstract-transport for proper async iteration and backpressure handling.\n * Logs are batched for performance and flushed either when the batch is full\n * or after the flush interval.\n *\n * @example\n * ```typescript\n * import pino from 'pino';\n * import { Telescope, InMemoryStorage } from '@geekmidas/telescope';\n * import { createPinoTransport } from '@geekmidas/telescope/logger/pino';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // Use with pino.multistream to log to both stdout and Telescope\n * const logger = pino(\n * { level: 'debug' },\n * pino.multistream([\n * { stream: process.stdout },\n * { stream: createPinoTransport({ telescope }) }\n * ])\n * );\n *\n * logger.info({ userId: '123' }, 'User logged in');\n * ```\n */\nexport function createPinoTransport(options: TelescopePinoTransportOptions) {\n\tconst {\n\t\ttelescope,\n\t\trequestId,\n\t\tbatchSize = 100,\n\t\tflushIntervalMs = 1000,\n\t} = options;\n\n\tconst batch: LogBatch[] = [];\n\tlet flushTimer: ReturnType<typeof setTimeout> | null = null;\n\n\tasync function flush(): Promise<void> {\n\t\tif (batch.length === 0) return;\n\n\t\tconst toFlush = batch.splice(0, batch.length);\n\n\t\t// Use batch insert for better performance\n\t\ttry {\n\t\t\tawait telescope.log(toFlush);\n\t\t} catch {\n\t\t\t// Silently ignore errors to not break logging\n\t\t}\n\t}\n\n\tfunction scheduleFlush(): void {\n\t\tif (flushTimer === null) {\n\t\t\tflushTimer = setTimeout(() => {\n\t\t\t\tflushTimer = null;\n\t\t\t\tflush().catch(() => {\n\t\t\t\t\t// Silently ignore flush errors\n\t\t\t\t});\n\t\t\t}, flushIntervalMs);\n\t\t}\n\t}\n\n\tfunction clearFlushTimer(): void {\n\t\tif (flushTimer !== null) {\n\t\t\tclearTimeout(flushTimer);\n\t\t\tflushTimer = null;\n\t\t}\n\t}\n\n\treturn build(\n\t\tasync (source) => {\n\t\t\tfor await (const obj of source) {\n\t\t\t\tconst data = obj as PinoLogObject;\n\t\t\t\tconst { level, msg, time, pid, hostname, ...context } = data;\n\n\t\t\t\tconst telescopeLevel = mapPinoLevel(level);\n\n\t\t\t\t// Extract request ID\n\t\t\t\tlet reqId: string | undefined;\n\t\t\t\tif (typeof requestId === 'function') {\n\t\t\t\t\treqId = requestId(data);\n\t\t\t\t} else if (typeof requestId === 'string') {\n\t\t\t\t\treqId = requestId;\n\t\t\t\t} else if (typeof context.requestId === 'string') {\n\t\t\t\t\treqId = context.requestId;\n\t\t\t\t\tdelete context.requestId;\n\t\t\t\t}\n\n\t\t\t\tbatch.push({\n\t\t\t\t\tlevel: telescopeLevel,\n\t\t\t\t\tmessage: msg || '',\n\t\t\t\t\tcontext,\n\t\t\t\t\trequestId: reqId,\n\t\t\t\t});\n\n\t\t\t\tif (batch.length >= batchSize) {\n\t\t\t\t\tclearFlushTimer();\n\t\t\t\t\tawait flush();\n\t\t\t\t} else {\n\t\t\t\t\tscheduleFlush();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tasync close() {\n\t\t\t\tclearFlushTimer();\n\t\t\t\tawait flush();\n\t\t\t},\n\t\t},\n\t);\n}\n\n/**\n * Create a Pino destination that sends logs to Telescope.\n * Alias for createPinoTransport for API compatibility.\n *\n * @example\n * ```typescript\n * import pino from 'pino';\n * import { createPinoDestination } from '@geekmidas/telescope/logger/pino';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // Use with pino.multistream to log to both stdout and Telescope\n * const logger = pino(\n * { level: 'debug' },\n * pino.multistream([\n * { stream: process.stdout },\n * { stream: createPinoDestination({ telescope }) }\n * ])\n * );\n * ```\n */\nexport const createPinoDestination = createPinoTransport;\n\nexport type { Telescope };\n"],"mappings":";;;;;;;AAgDA,SAAS,aAAaA,OAA2C;AAEhE,YAAW,UAAU,UAAU;EAC9B,MAAM,aAAa,MAAM,aAAa;AACtC,MAAI,eAAe,WAAW,eAAe,QAAS,QAAO;AAC7D,MAAI,eAAe,OAAQ,QAAO;AAClC,MAAI,eAAe,UAAU,eAAe,UAAW,QAAO;AAC9D,SAAO;CACP;AAGD,KAAI,SAAS,GAAI,QAAO;AACxB,KAAI,SAAS,GAAI,QAAO;AACxB,KAAI,SAAS,GAAI,QAAO;AACxB,QAAO;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BD,SAAgB,oBAAoBC,SAAwC;CAC3E,MAAM,EACL,WACA,WACA,YAAY,KACZ,kBAAkB,KAClB,GAAG;CAEJ,MAAMC,QAAoB,CAAE;CAC5B,IAAIC,aAAmD;CAEvD,eAAe,QAAuB;AACrC,MAAI,MAAM,WAAW,EAAG;EAExB,MAAM,UAAU,MAAM,OAAO,GAAG,MAAM,OAAO;AAG7C,MAAI;AACH,SAAM,UAAU,IAAI,QAAQ;EAC5B,QAAO,CAEP;CACD;CAED,SAAS,gBAAsB;AAC9B,MAAI,eAAe,KAClB,cAAa,WAAW,MAAM;AAC7B,gBAAa;AACb,UAAO,CAAC,MAAM,MAAM,CAEnB,EAAC;EACF,GAAE,gBAAgB;CAEpB;CAED,SAAS,kBAAwB;AAChC,MAAI,eAAe,MAAM;AACxB,gBAAa,WAAW;AACxB,gBAAa;EACb;CACD;AAED,QAAO,MACN,OAAO,WAAW;AACjB,aAAW,MAAM,OAAO,QAAQ;GAC/B,MAAM,OAAO;GACb,MAAM,EAAE,OAAO,KAAK,MAAM,KAAK,SAAU,GAAG,SAAS,GAAG;GAExD,MAAM,iBAAiB,aAAa,MAAM;GAG1C,IAAIC;AACJ,cAAW,cAAc,WACxB,SAAQ,UAAU,KAAK;mBACN,cAAc,SAC/B,SAAQ;mBACS,QAAQ,cAAc,UAAU;AACjD,YAAQ,QAAQ;AAChB,WAAO,QAAQ;GACf;AAED,SAAM,KAAK;IACV,OAAO;IACP,SAAS,OAAO;IAChB;IACA,WAAW;GACX,EAAC;AAEF,OAAI,MAAM,UAAU,WAAW;AAC9B,qBAAiB;AACjB,UAAM,OAAO;GACb,MACA,gBAAe;EAEhB;CACD,GACD,EACC,MAAM,QAAQ;AACb,mBAAiB;AACjB,QAAM,OAAO;CACb,EACD,EACD;AACD;;;;;;;;;;;;;;;;;;;;;;AAuBD,MAAa,wBAAwB"}
1
+ {"version":3,"file":"pino.mjs","names":[],"sources":["../../src/logger/pino.ts"],"sourcesContent":["import build from 'pino-abstract-transport';\nimport type { Telescope } from '../Telescope';\n\n/**\n * Pino log object structure after parsing\n */\nexport interface PinoLogObject {\n\tlevel: number | string;\n\ttime: number;\n\tpid?: number;\n\thostname?: string;\n\tmsg?: string;\n\t[key: string]: unknown;\n}\n\nexport interface TelescopePinoTransportOptions {\n\t/**\n\t * The Telescope instance to send logs to\n\t */\n\ttelescope: Telescope;\n\t/**\n\t * Request ID to associate logs with a specific request.\n\t * Can be a static string or a function that extracts the ID from log data.\n\t */\n\trequestId?: string | ((data: PinoLogObject) => string | undefined);\n\t/**\n\t * Batch size before flushing to Telescope (default: 100)\n\t */\n\tbatchSize?: number;\n\t/**\n\t * Flush interval in milliseconds (default: 1000ms)\n\t */\n\tflushIntervalMs?: number;\n}\n\ntype TelescopeLogLevel = 'debug' | 'info' | 'warn' | 'error';\n\ninterface LogBatch {\n\tlevel: TelescopeLogLevel;\n\tmessage: string;\n\tcontext: Record<string, unknown>;\n\trequestId?: string;\n}\n\n/**\n * Map Pino levels to Telescope log levels.\n * Handles both numeric levels (default pino) and string levels (custom formatters).\n */\nfunction mapPinoLevel(level: number | string): TelescopeLogLevel {\n\t// Handle string levels (from custom formatters like `level: label => ({ level: label.toUpperCase() })`)\n\tif (typeof level === 'string') {\n\t\tconst normalized = level.toLowerCase();\n\t\tif (normalized === 'trace' || normalized === 'debug') return 'debug';\n\t\tif (normalized === 'info') return 'info';\n\t\tif (normalized === 'warn' || normalized === 'warning') return 'warn';\n\t\treturn 'error'; // error, fatal, or unknown\n\t}\n\n\t// Pino numeric levels: trace=10, debug=20, info=30, warn=40, error=50, fatal=60\n\tif (level <= 20) return 'debug'; // trace, debug\n\tif (level <= 30) return 'info';\n\tif (level <= 40) return 'warn';\n\treturn 'error'; // error, fatal\n}\n\n/**\n * Create a Pino transport that sends logs to Telescope.\n *\n * Uses pino-abstract-transport for proper async iteration and backpressure handling.\n * Logs are batched for performance and flushed either when the batch is full\n * or after the flush interval.\n *\n * @example\n * ```typescript\n * import pino from 'pino';\n * import { Telescope, InMemoryStorage } from '@geekmidas/telescope';\n * import { createPinoTransport } from '@geekmidas/telescope/logger/pino';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // Use with pino.multistream to log to both stdout and Telescope\n * const logger = pino(\n * { level: 'debug' },\n * pino.multistream([\n * { stream: process.stdout },\n * { stream: createPinoTransport({ telescope }) }\n * ])\n * );\n *\n * logger.info({ userId: '123' }, 'User logged in');\n * ```\n */\nexport function createPinoTransport(options: TelescopePinoTransportOptions) {\n\tconst {\n\t\ttelescope,\n\t\trequestId,\n\t\tbatchSize = 100,\n\t\tflushIntervalMs = 1000,\n\t} = options;\n\n\tconst batch: LogBatch[] = [];\n\tlet flushTimer: ReturnType<typeof setTimeout> | null = null;\n\n\tasync function flush(): Promise<void> {\n\t\tif (batch.length === 0) return;\n\n\t\tconst toFlush = batch.splice(0, batch.length);\n\n\t\t// Use batch insert for better performance\n\t\ttry {\n\t\t\tawait telescope.log(toFlush);\n\t\t} catch {\n\t\t\t// Silently ignore errors to not break logging\n\t\t}\n\t}\n\n\tfunction scheduleFlush(): void {\n\t\tif (flushTimer === null) {\n\t\t\tflushTimer = setTimeout(() => {\n\t\t\t\tflushTimer = null;\n\t\t\t\tflush().catch(() => {\n\t\t\t\t\t// Silently ignore flush errors\n\t\t\t\t});\n\t\t\t}, flushIntervalMs);\n\t\t}\n\t}\n\n\tfunction clearFlushTimer(): void {\n\t\tif (flushTimer !== null) {\n\t\t\tclearTimeout(flushTimer);\n\t\t\tflushTimer = null;\n\t\t}\n\t}\n\n\treturn build(\n\t\tasync (source) => {\n\t\t\tfor await (const obj of source) {\n\t\t\t\tconst data = obj as PinoLogObject;\n\t\t\t\tconst { level, msg, time, pid, hostname, ...context } = data;\n\n\t\t\t\tconst telescopeLevel = mapPinoLevel(level);\n\n\t\t\t\t// Extract request ID\n\t\t\t\tlet reqId: string | undefined;\n\t\t\t\tif (typeof requestId === 'function') {\n\t\t\t\t\treqId = requestId(data);\n\t\t\t\t} else if (typeof requestId === 'string') {\n\t\t\t\t\treqId = requestId;\n\t\t\t\t} else if (typeof context.requestId === 'string') {\n\t\t\t\t\treqId = context.requestId;\n\t\t\t\t\tdelete context.requestId;\n\t\t\t\t}\n\n\t\t\t\tbatch.push({\n\t\t\t\t\tlevel: telescopeLevel,\n\t\t\t\t\tmessage: msg || '',\n\t\t\t\t\tcontext,\n\t\t\t\t\trequestId: reqId,\n\t\t\t\t});\n\n\t\t\t\tif (batch.length >= batchSize) {\n\t\t\t\t\tclearFlushTimer();\n\t\t\t\t\tawait flush();\n\t\t\t\t} else {\n\t\t\t\t\tscheduleFlush();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tasync close() {\n\t\t\t\tclearFlushTimer();\n\t\t\t\tawait flush();\n\t\t\t},\n\t\t},\n\t);\n}\n\n/**\n * Create a Pino destination that sends logs to Telescope.\n * Alias for createPinoTransport for API compatibility.\n *\n * @example\n * ```typescript\n * import pino from 'pino';\n * import { createPinoDestination } from '@geekmidas/telescope/logger/pino';\n *\n * const telescope = new Telescope({ storage: new InMemoryStorage() });\n *\n * // Use with pino.multistream to log to both stdout and Telescope\n * const logger = pino(\n * { level: 'debug' },\n * pino.multistream([\n * { stream: process.stdout },\n * { stream: createPinoDestination({ telescope }) }\n * ])\n * );\n * ```\n */\nexport const createPinoDestination = createPinoTransport;\n\nexport type { Telescope };\n"],"mappings":";;;;;;AAgDA,SAAS,aAAa,OAA2C;CAEhE,IAAI,OAAO,UAAU,UAAU;EAC9B,MAAM,aAAa,MAAM,YAAY;EACrC,IAAI,eAAe,WAAW,eAAe,SAAS,OAAO;EAC7D,IAAI,eAAe,QAAQ,OAAO;EAClC,IAAI,eAAe,UAAU,eAAe,WAAW,OAAO;EAC9D,OAAO;CACR;CAGA,IAAI,SAAS,IAAI,OAAO;CACxB,IAAI,SAAS,IAAI,OAAO;CACxB,IAAI,SAAS,IAAI,OAAO;CACxB,OAAO;AACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,SAAgB,oBAAoB,SAAwC;CAC3E,MAAM,EACL,WACA,WACA,YAAY,KACZ,kBAAkB,QACf;CAEJ,MAAM,QAAoB,CAAC;CAC3B,IAAI,aAAmD;CAEvD,eAAe,QAAuB;EACrC,IAAI,MAAM,WAAW,GAAG;EAExB,MAAM,UAAU,MAAM,OAAO,GAAG,MAAM,MAAM;EAG5C,IAAI;GACH,MAAM,UAAU,IAAI,OAAO;EAC5B,QAAQ,CAER;CACD;CAEA,SAAS,gBAAsB;EAC9B,IAAI,eAAe,MAClB,aAAa,iBAAiB;GAC7B,aAAa;GACb,MAAM,CAAC,CAAC,YAAY,CAEpB,CAAC;EACF,GAAG,eAAe;CAEpB;CAEA,SAAS,kBAAwB;EAChC,IAAI,eAAe,MAAM;GACxB,aAAa,UAAU;GACvB,aAAa;EACd;CACD;CAEA,OAAO,MACN,OAAO,WAAW;EACjB,WAAW,MAAM,OAAO,QAAQ;GAC/B,MAAM,OAAO;GACb,MAAM,EAAE,OAAO,KAAK,MAAM,KAAK,UAAU,GAAG,YAAY;GAExD,MAAM,iBAAiB,aAAa,KAAK;GAGzC,IAAI;GACJ,IAAI,OAAO,cAAc,YACxB,QAAQ,UAAU,IAAI;QAChB,IAAI,OAAO,cAAc,UAC/B,QAAQ;QACF,IAAI,OAAO,QAAQ,cAAc,UAAU;IACjD,QAAQ,QAAQ;IAChB,OAAO,QAAQ;GAChB;GAEA,MAAM,KAAK;IACV,OAAO;IACP,SAAS,OAAO;IAChB;IACA,WAAW;GACZ,CAAC;GAED,IAAI,MAAM,UAAU,WAAW;IAC9B,gBAAgB;IAChB,MAAM,MAAM;GACb,OACC,cAAc;EAEhB;CACD,GACA,EACC,MAAM,QAAQ;EACb,gBAAgB;EAChB,MAAM,MAAM;CACb,EACD,CACD;AACD;;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAa,wBAAwB"}