@geekmidas/telescope 10.0.0-alpha.99 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +18 -28
  3. package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts +47 -0
  4. package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts.map +1 -0
  5. package/dist/InMemoryMetricsStorage-C4drxT7G.mjs +247 -0
  6. package/dist/InMemoryMetricsStorage-C4drxT7G.mjs.map +1 -0
  7. package/dist/InMemoryMetricsStorage-D0njWUSi.cjs +252 -0
  8. package/dist/InMemoryMetricsStorage-D0njWUSi.cjs.map +1 -0
  9. package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts +47 -0
  10. package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts.map +1 -0
  11. package/dist/{MetricsAggregator-BJdIvfEv.d.mts → MetricsAggregator-4SqelGcG.d.cts} +6 -3
  12. package/dist/MetricsAggregator-4SqelGcG.d.cts.map +1 -0
  13. package/dist/MetricsAggregator-B7lUICdH.cjs +363 -0
  14. package/dist/MetricsAggregator-B7lUICdH.cjs.map +1 -0
  15. package/dist/{MetricsAggregator-CnC3oT5q.d.cts → MetricsAggregator-DZrW8ls6.d.mts} +6 -3
  16. package/dist/MetricsAggregator-DZrW8ls6.d.mts.map +1 -0
  17. package/dist/MetricsAggregator-S3DQWNas.mjs +357 -0
  18. package/dist/MetricsAggregator-S3DQWNas.mjs.map +1 -0
  19. package/dist/MetricsStorage-B86e4131.d.cts +60 -0
  20. package/dist/MetricsStorage-B86e4131.d.cts.map +1 -0
  21. package/dist/MetricsStorage-BWyP2_12.d.mts +60 -0
  22. package/dist/MetricsStorage-BWyP2_12.d.mts.map +1 -0
  23. package/dist/MetricsStorage-BypQXWiv.mjs +0 -0
  24. package/dist/MetricsStorage-Or8pVCe4.cjs +0 -0
  25. package/dist/Telescope-Cs3fv8jt.cjs +395 -0
  26. package/dist/Telescope-Cs3fv8jt.cjs.map +1 -0
  27. package/dist/{Telescope-BVfDvVvY.d.mts → Telescope-D4nmwDRA.d.cts} +7 -4
  28. package/dist/Telescope-D4nmwDRA.d.cts.map +1 -0
  29. package/dist/Telescope-Dh5av3FC.mjs +389 -0
  30. package/dist/Telescope-Dh5av3FC.mjs.map +1 -0
  31. package/dist/{Telescope-DeqSHfuB.d.cts → Telescope-Dl6VSfxd.d.mts} +7 -4
  32. package/dist/Telescope-Dl6VSfxd.d.mts.map +1 -0
  33. package/dist/Telescope.cjs +4 -385
  34. package/dist/Telescope.d.cts +3 -1
  35. package/dist/Telescope.d.mts +3 -1
  36. package/dist/Telescope.mjs +4 -384
  37. package/dist/adapters/index.d.cts +2 -2
  38. package/dist/adapters/index.d.mts +2 -2
  39. package/dist/adapters/index.mjs +0 -1
  40. package/dist/adapters/lambda.cjs +10 -9
  41. package/dist/adapters/lambda.cjs.map +1 -1
  42. package/dist/adapters/lambda.d.cts +13 -9
  43. package/dist/adapters/lambda.d.cts.map +1 -1
  44. package/dist/adapters/lambda.d.mts +13 -9
  45. package/dist/adapters/lambda.d.mts.map +1 -1
  46. package/dist/adapters/lambda.mjs +4 -3
  47. package/dist/adapters/lambda.mjs.map +1 -1
  48. package/dist/adapters/middy.cjs +4 -236
  49. package/dist/adapters/middy.d.cts +5 -60
  50. package/dist/adapters/middy.d.mts +5 -60
  51. package/dist/adapters/middy.mjs +3 -234
  52. package/dist/adapters/types.d.cts +2 -162
  53. package/dist/adapters/types.d.mts +2 -162
  54. package/dist/adapters/types.mjs +0 -1
  55. package/dist/{rolldown-runtime-VH7oDXx4.cjs → chunk-CUT6urMc.cjs} +10 -8
  56. package/dist/core--quSp5Qr.d.mts +78 -0
  57. package/dist/core--quSp5Qr.d.mts.map +1 -0
  58. package/dist/core-B4Jpia5H.d.cts +78 -0
  59. package/dist/core-B4Jpia5H.d.cts.map +1 -0
  60. package/dist/core-CtVHRJGv.cjs +199 -0
  61. package/dist/core-CtVHRJGv.cjs.map +1 -0
  62. package/dist/core-D6hJ6exL.mjs +139 -0
  63. package/dist/core-D6hJ6exL.mjs.map +1 -0
  64. package/dist/core.cjs +22 -22
  65. package/dist/core.d.cts +4 -4
  66. package/dist/core.d.mts +4 -4
  67. package/dist/core.mjs +4 -3
  68. package/dist/hono--uKQ7Jgi.d.mts +71 -0
  69. package/dist/hono--uKQ7Jgi.d.mts.map +1 -0
  70. package/dist/hono-C4EgpbKQ.cjs +160 -0
  71. package/dist/hono-C4EgpbKQ.cjs.map +1 -0
  72. package/dist/hono-CemCKU87.d.cts +71 -0
  73. package/dist/hono-CemCKU87.d.cts.map +1 -0
  74. package/dist/hono-DxhvnVbF.mjs +136 -0
  75. package/dist/hono-DxhvnVbF.mjs.map +1 -0
  76. package/dist/http-BiNtg85L.d.mts +107 -0
  77. package/dist/http-BiNtg85L.d.mts.map +1 -0
  78. package/dist/http-DQzgLczm.mjs +159 -0
  79. package/dist/http-DQzgLczm.mjs.map +1 -0
  80. package/dist/http-D_Z8sYXZ.cjs +219 -0
  81. package/dist/http-D_Z8sYXZ.cjs.map +1 -0
  82. package/dist/http-Dvca6fC3.d.cts +107 -0
  83. package/dist/http-Dvca6fC3.d.cts.map +1 -0
  84. package/dist/index-BL32-cvv.d.cts +1 -0
  85. package/dist/index-CsuikFeJ.d.mts +1 -0
  86. package/dist/index.cjs +9 -8
  87. package/dist/index.d.cts +6 -5
  88. package/dist/index.d.mts +6 -5
  89. package/dist/index.mjs +7 -5
  90. package/dist/instrumentation/core.cjs +11 -147
  91. package/dist/instrumentation/core.d.cts +3 -74
  92. package/dist/instrumentation/core.d.mts +3 -74
  93. package/dist/instrumentation/core.mjs +2 -137
  94. package/dist/instrumentation/hono.cjs +6 -174
  95. package/dist/instrumentation/hono.d.cts +2 -86
  96. package/dist/instrumentation/hono.d.mts +2 -86
  97. package/dist/instrumentation/hono.mjs +3 -170
  98. package/dist/instrumentation/http.cjs +11 -189
  99. package/dist/instrumentation/http.d.cts +2 -119
  100. package/dist/instrumentation/http.d.mts +2 -119
  101. package/dist/instrumentation/http.mjs +2 -178
  102. package/dist/instrumentation/index.cjs +47 -56
  103. package/dist/instrumentation/index.d.cts +9 -11
  104. package/dist/instrumentation/index.d.mts +9 -11
  105. package/dist/instrumentation/index.mjs +9 -10
  106. package/dist/instrumentation/middleware.cjs +6 -164
  107. package/dist/instrumentation/middleware.d.cts +2 -83
  108. package/dist/instrumentation/middleware.d.mts +2 -83
  109. package/dist/instrumentation/middleware.mjs +3 -160
  110. package/dist/instrumentation/otel.cjs +3 -137
  111. package/dist/instrumentation/otel.d.cts +2 -97
  112. package/dist/instrumentation/otel.d.mts +2 -97
  113. package/dist/instrumentation/otel.mjs +3 -136
  114. package/dist/instrumentation/setup.cjs +4 -142
  115. package/dist/instrumentation/setup.d.cts +3 -139
  116. package/dist/instrumentation/setup.d.mts +3 -139
  117. package/dist/instrumentation/setup.mjs +3 -139
  118. package/dist/instrumentation/tracing.cjs +10 -114
  119. package/dist/instrumentation/tracing.d.cts +2 -49
  120. package/dist/instrumentation/tracing.d.mts +2 -49
  121. package/dist/instrumentation/tracing.mjs +2 -105
  122. package/dist/logger/console.cjs +12 -18
  123. package/dist/logger/console.cjs.map +1 -1
  124. package/dist/logger/console.d.cts +10 -7
  125. package/dist/logger/console.d.cts.map +1 -1
  126. package/dist/logger/console.d.mts +10 -7
  127. package/dist/logger/console.d.mts.map +1 -1
  128. package/dist/logger/console.mjs +11 -17
  129. package/dist/logger/console.mjs.map +1 -1
  130. package/dist/logger/pino.cjs +5 -6
  131. package/dist/logger/pino.cjs.map +1 -1
  132. package/dist/logger/pino.d.cts +10 -6
  133. package/dist/logger/pino.d.cts.map +1 -1
  134. package/dist/logger/pino.d.mts +10 -6
  135. package/dist/logger/pino.d.mts.map +1 -1
  136. package/dist/logger/pino.mjs +3 -2
  137. package/dist/logger/pino.mjs.map +1 -1
  138. package/dist/memory--BK4iWiv.d.cts +40 -0
  139. package/dist/memory--BK4iWiv.d.cts.map +1 -0
  140. package/dist/memory-6S9H-IF5.mjs +123 -0
  141. package/dist/memory-6S9H-IF5.mjs.map +1 -0
  142. package/dist/memory-B0d_n1g5.cjs +129 -0
  143. package/dist/memory-B0d_n1g5.cjs.map +1 -0
  144. package/dist/memory-DCirEVFW.d.mts +40 -0
  145. package/dist/memory-DCirEVFW.d.mts.map +1 -0
  146. package/dist/metrics/MetricsAggregator.cjs +2 -354
  147. package/dist/metrics/MetricsAggregator.d.cts +2 -1
  148. package/dist/metrics/MetricsAggregator.d.mts +2 -1
  149. package/dist/metrics/MetricsAggregator.mjs +2 -353
  150. package/dist/metrics/index.cjs +4 -3
  151. package/dist/metrics/index.d.cts +4 -2
  152. package/dist/metrics/index.d.mts +4 -2
  153. package/dist/metrics/index.mjs +4 -2
  154. package/dist/metrics/storage/InMemoryMetricsStorage.cjs +3 -240
  155. package/dist/metrics/storage/InMemoryMetricsStorage.d.cts +4 -43
  156. package/dist/metrics/storage/InMemoryMetricsStorage.d.mts +4 -43
  157. package/dist/metrics/storage/InMemoryMetricsStorage.mjs +3 -239
  158. package/dist/metrics/storage/MetricsStorage.cjs +1 -0
  159. package/dist/metrics/storage/MetricsStorage.d.cts +3 -56
  160. package/dist/metrics/storage/MetricsStorage.d.mts +3 -56
  161. package/dist/metrics/storage/MetricsStorage.mjs +1 -1
  162. package/dist/metrics/storage/index.cjs +6 -6
  163. package/dist/metrics/storage/index.d.cts +3 -3
  164. package/dist/metrics/storage/index.d.mts +3 -3
  165. package/dist/metrics/storage/index.mjs +5 -4
  166. package/dist/metrics/storage/types.cjs +2 -34
  167. package/dist/metrics/storage/types.d.cts +2 -207
  168. package/dist/metrics/storage/types.d.mts +2 -207
  169. package/dist/metrics/storage/types.mjs +2 -33
  170. package/dist/metrics-D5YT-Rnq.mjs +0 -0
  171. package/dist/metrics-fhD3l3C3.cjs +0 -0
  172. package/dist/middleware-B2jFUukM.cjs +184 -0
  173. package/dist/middleware-B2jFUukM.cjs.map +1 -0
  174. package/dist/middleware-BTDncHwm.mjs +160 -0
  175. package/dist/middleware-BTDncHwm.mjs.map +1 -0
  176. package/dist/middleware-CA84nsNN.d.cts +74 -0
  177. package/dist/middleware-CA84nsNN.d.cts.map +1 -0
  178. package/dist/middleware-DAceVpfw.d.mts +74 -0
  179. package/dist/middleware-DAceVpfw.d.mts.map +1 -0
  180. package/dist/middy-B6Btl8XE.d.mts +64 -0
  181. package/dist/middy-B6Btl8XE.d.mts.map +1 -0
  182. package/dist/middy-BTR3cyvk.mjs +236 -0
  183. package/dist/middy-BTR3cyvk.mjs.map +1 -0
  184. package/dist/middy-Bq0defVg.d.cts +64 -0
  185. package/dist/middy-Bq0defVg.d.cts.map +1 -0
  186. package/dist/middy-y5Zp27eG.cjs +247 -0
  187. package/dist/middy-y5Zp27eG.cjs.map +1 -0
  188. package/dist/otel-1bJPb2Z7.d.mts +101 -0
  189. package/dist/otel-1bJPb2Z7.d.mts.map +1 -0
  190. package/dist/otel-C1HqHA2O.cjs +136 -0
  191. package/dist/otel-C1HqHA2O.cjs.map +1 -0
  192. package/dist/otel-SBVoVEHr.d.cts +101 -0
  193. package/dist/otel-SBVoVEHr.d.cts.map +1 -0
  194. package/dist/otel-wulj5B-X.mjs +130 -0
  195. package/dist/otel-wulj5B-X.mjs.map +1 -0
  196. package/dist/otlp/hono.cjs +15 -9
  197. package/dist/otlp/hono.cjs.map +1 -1
  198. package/dist/otlp/hono.d.cts +13 -3
  199. package/dist/otlp/hono.d.cts.map +1 -1
  200. package/dist/otlp/hono.d.mts +13 -3
  201. package/dist/otlp/hono.d.mts.map +1 -1
  202. package/dist/otlp/hono.mjs +11 -5
  203. package/dist/otlp/hono.mjs.map +1 -1
  204. package/dist/otlp/index.cjs +11 -11
  205. package/dist/otlp/index.d.cts +7 -4
  206. package/dist/otlp/index.d.mts +7 -4
  207. package/dist/otlp/index.mjs +5 -4
  208. package/dist/otlp/receiver.cjs +4 -88
  209. package/dist/otlp/receiver.d.cts +7 -59
  210. package/dist/otlp/receiver.d.mts +7 -59
  211. package/dist/otlp/receiver.mjs +4 -87
  212. package/dist/otlp/transformer.cjs +5 -214
  213. package/dist/otlp/transformer.d.cts +3 -1
  214. package/dist/otlp/transformer.d.mts +3 -1
  215. package/dist/otlp/transformer.mjs +3 -211
  216. package/dist/otlp/types.cjs +5 -57
  217. package/dist/otlp/types.d.cts +1 -1
  218. package/dist/otlp/types.d.mts +1 -1
  219. package/dist/otlp/types.mjs +2 -53
  220. package/dist/receiver-Cj1lbAOO.cjs +94 -0
  221. package/dist/receiver-Cj1lbAOO.cjs.map +1 -0
  222. package/dist/receiver-CxVd_9CB.mjs +89 -0
  223. package/dist/receiver-CxVd_9CB.mjs.map +1 -0
  224. package/dist/receiver-DLICx5uU.d.cts +63 -0
  225. package/dist/receiver-DLICx5uU.d.cts.map +1 -0
  226. package/dist/receiver-UeZT-H8u.d.mts +63 -0
  227. package/dist/receiver-UeZT-H8u.d.mts.map +1 -0
  228. package/dist/redact-BzkITCNW.mjs +83 -0
  229. package/dist/redact-BzkITCNW.mjs.map +1 -0
  230. package/dist/redact-DVaSSPZT.cjs +95 -0
  231. package/dist/redact-DVaSSPZT.cjs.map +1 -0
  232. package/dist/redact.cjs +3 -84
  233. package/dist/redact.d.cts +8 -4
  234. package/dist/redact.d.cts.map +1 -1
  235. package/dist/redact.d.mts +8 -4
  236. package/dist/redact.d.mts.map +1 -1
  237. package/dist/redact.mjs +2 -80
  238. package/dist/server/hono.cjs +54 -33
  239. package/dist/server/hono.cjs.map +1 -1
  240. package/dist/server/hono.d.cts +14 -19
  241. package/dist/server/hono.d.cts.map +1 -1
  242. package/dist/server/hono.d.mts +14 -19
  243. package/dist/server/hono.d.mts.map +1 -1
  244. package/dist/server/hono.mjs +52 -31
  245. package/dist/server/hono.mjs.map +1 -1
  246. package/dist/setup-B9jM77Qk.mjs +98 -0
  247. package/dist/setup-B9jM77Qk.mjs.map +1 -0
  248. package/dist/setup-Bkxm4g6b.d.mts +87 -0
  249. package/dist/setup-Bkxm4g6b.d.mts.map +1 -0
  250. package/dist/setup-CYpff5B9.cjs +110 -0
  251. package/dist/setup-CYpff5B9.cjs.map +1 -0
  252. package/dist/setup-D58N1f9O.d.cts +87 -0
  253. package/dist/setup-D58N1f9O.d.cts.map +1 -0
  254. package/dist/storage/kysely.cjs +70 -82
  255. package/dist/storage/kysely.cjs.map +1 -1
  256. package/dist/storage/kysely.d.cts +20 -36
  257. package/dist/storage/kysely.d.cts.map +1 -1
  258. package/dist/storage/kysely.d.mts +20 -36
  259. package/dist/storage/kysely.d.mts.map +1 -1
  260. package/dist/storage/kysely.mjs +69 -81
  261. package/dist/storage/kysely.mjs.map +1 -1
  262. package/dist/storage/memory.cjs +2 -122
  263. package/dist/storage/memory.d.cts +3 -36
  264. package/dist/storage/memory.d.mts +3 -36
  265. package/dist/storage/memory.mjs +2 -121
  266. package/dist/tracing-BX8uY2nR.d.cts +53 -0
  267. package/dist/tracing-BX8uY2nR.d.cts.map +1 -0
  268. package/dist/tracing-Bt1zWRlb.cjs +167 -0
  269. package/dist/tracing-Bt1zWRlb.cjs.map +1 -0
  270. package/dist/tracing-Cijm_5NI.mjs +113 -0
  271. package/dist/tracing-Cijm_5NI.mjs.map +1 -0
  272. package/dist/tracing-PnECEbEu.d.mts +53 -0
  273. package/dist/tracing-PnECEbEu.d.mts.map +1 -0
  274. package/dist/transformer-BXQPhzql.mjs +215 -0
  275. package/dist/transformer-BXQPhzql.mjs.map +1 -0
  276. package/dist/transformer-CLGZ0EQc.cjs +232 -0
  277. package/dist/transformer-CLGZ0EQc.cjs.map +1 -0
  278. package/dist/{transformer-BtqjAs0b.d.cts → transformer-CTGsaVfV.d.mts} +8 -4
  279. package/dist/transformer-CTGsaVfV.d.mts.map +1 -0
  280. package/dist/{transformer-DI6t8-YA.d.mts → transformer-ICEbxpFf.d.cts} +8 -4
  281. package/dist/transformer-ICEbxpFf.d.cts.map +1 -0
  282. package/dist/{types-BVujq4zd.d.mts → types-B1EIa_cQ.d.mts} +4 -3
  283. package/dist/types-B1EIa_cQ.d.mts.map +1 -0
  284. package/dist/types-BRzW1NM8.d.cts +166 -0
  285. package/dist/types-BRzW1NM8.d.cts.map +1 -0
  286. package/dist/types-BS3Rx8Sk.d.cts +209 -0
  287. package/dist/types-BS3Rx8Sk.d.cts.map +1 -0
  288. package/dist/types-Bwm_jNU7.mjs +54 -0
  289. package/dist/types-Bwm_jNU7.mjs.map +1 -0
  290. package/dist/types-BzQ78Efw.d.mts +166 -0
  291. package/dist/types-BzQ78Efw.d.mts.map +1 -0
  292. package/dist/types-CbNGXnJE.d.mts +209 -0
  293. package/dist/types-CbNGXnJE.d.mts.map +1 -0
  294. package/dist/{types-DVETVdpa.d.cts → types-CmOB7CLO.d.cts} +7 -6
  295. package/dist/types-CmOB7CLO.d.cts.map +1 -0
  296. package/dist/{types-DVETVdpa.d.mts → types-DBc0q5KD.d.mts} +7 -6
  297. package/dist/types-DBc0q5KD.d.mts.map +1 -0
  298. package/dist/types-Dsh-DIO_.cjs +78 -0
  299. package/dist/types-Dsh-DIO_.cjs.map +1 -0
  300. package/dist/types-ZW-nfWf6.cjs +40 -0
  301. package/dist/types-ZW-nfWf6.cjs.map +1 -0
  302. package/dist/{types-BVujq4zd.d.cts → types-l7Rlb5Mg.d.cts} +4 -3
  303. package/dist/types-l7Rlb5Mg.d.cts.map +1 -0
  304. package/dist/types-ojhnLdwz.mjs +34 -0
  305. package/dist/types-ojhnLdwz.mjs.map +1 -0
  306. package/dist/types.d.cts +1 -1
  307. package/dist/types.d.mts +1 -1
  308. package/dist/types.mjs +0 -1
  309. package/dist/ui-assets-BEXqOQLe.cjs +48 -0
  310. package/dist/ui-assets-BEXqOQLe.cjs.map +1 -0
  311. package/dist/ui-assets-BhTDUsrM.mjs +30 -0
  312. package/dist/ui-assets-BhTDUsrM.mjs.map +1 -0
  313. package/dist/ui-assets.cjs +5 -0
  314. package/dist/ui-assets.d.cts +13 -0
  315. package/dist/ui-assets.d.cts.map +1 -0
  316. package/dist/ui-assets.d.mts +13 -0
  317. package/dist/ui-assets.d.mts.map +1 -0
  318. package/dist/ui-assets.mjs +3 -0
  319. package/package.json +46 -46
  320. package/src/Telescope.ts +561 -0
  321. package/src/__tests__/Telescope.spec.ts +438 -0
  322. package/src/__tests__/pino-transport.spec.ts +115 -0
  323. package/src/__tests__/redact.spec.ts +336 -0
  324. package/src/adapters/__tests__/lambda.spec.ts +318 -0
  325. package/src/adapters/__tests__/middy.spec.ts +741 -0
  326. package/src/adapters/index.ts +22 -0
  327. package/src/adapters/lambda.ts +432 -0
  328. package/src/adapters/middy.ts +402 -0
  329. package/src/adapters/types.ts +181 -0
  330. package/src/core.ts +51 -0
  331. package/src/index.ts +34 -0
  332. package/src/instrumentation/__tests__/core.spec.ts +248 -0
  333. package/src/instrumentation/__tests__/hono.spec.ts +348 -0
  334. package/src/instrumentation/__tests__/middleware.spec.ts +528 -0
  335. package/src/instrumentation/__tests__/otel.spec.ts +291 -0
  336. package/src/instrumentation/__tests__/tracing.spec.ts +208 -0
  337. package/src/instrumentation/core.ts +228 -0
  338. package/src/instrumentation/hono.ts +270 -0
  339. package/src/instrumentation/http.ts +306 -0
  340. package/src/instrumentation/index.ts +90 -0
  341. package/src/instrumentation/middleware.ts +297 -0
  342. package/src/instrumentation/otel.ts +271 -0
  343. package/src/instrumentation/setup.ts +246 -0
  344. package/src/instrumentation/tracing.ts +145 -0
  345. package/src/logger/__tests__/console.spec.ts +366 -0
  346. package/src/logger/__tests__/pino.spec.ts +217 -0
  347. package/src/logger/console.ts +230 -0
  348. package/src/logger/pino.ts +201 -0
  349. package/src/metrics/MetricsAggregator.ts +555 -0
  350. package/src/metrics/__tests__/MetricsAggregator.spec.ts +298 -0
  351. package/src/metrics/index.ts +2 -0
  352. package/src/metrics/storage/InMemoryMetricsStorage.ts +380 -0
  353. package/src/metrics/storage/MetricsStorage.ts +74 -0
  354. package/src/metrics/storage/index.ts +3 -0
  355. package/src/metrics/storage/types.ts +243 -0
  356. package/src/otlp/__tests__/receiver.spec.ts +367 -0
  357. package/src/otlp/__tests__/transformer.spec.ts +455 -0
  358. package/src/otlp/hono.ts +120 -0
  359. package/src/otlp/index.ts +22 -0
  360. package/src/otlp/receiver.ts +162 -0
  361. package/src/otlp/transformer.ts +367 -0
  362. package/src/otlp/types.ts +364 -0
  363. package/src/redact.ts +116 -0
  364. package/src/server/__tests__/hono.spec.ts +814 -0
  365. package/src/server/hono.ts +442 -0
  366. package/src/storage/__tests__/kysely.spec.ts +715 -0
  367. package/src/storage/__tests__/memory.spec.ts +694 -0
  368. package/src/storage/kysely.ts +599 -0
  369. package/src/storage/memory.ts +204 -0
  370. package/src/types.ts +447 -0
  371. package/src/ui-assets.ts +40 -0
  372. package/tsconfig.json +9 -0
  373. package/ui/CHANGELOG.md +7 -0
  374. package/ui/index.html +12 -0
  375. package/ui/node_modules/.bin/tsc +21 -0
  376. package/ui/node_modules/.bin/tsserver +21 -0
  377. package/ui/node_modules/.bin/vite +21 -0
  378. package/ui/package.json +24 -0
  379. package/ui/src/App.tsx +595 -0
  380. package/ui/src/api.ts +88 -0
  381. package/ui/src/components/ExceptionDetail.tsx +100 -0
  382. package/ui/src/components/FilterBar.tsx +162 -0
  383. package/ui/src/components/LogDetail.tsx +91 -0
  384. package/ui/src/components/RequestDetail.tsx +143 -0
  385. package/ui/src/main.tsx +10 -0
  386. package/ui/src/styles.css +11 -0
  387. package/ui/src/types.ts +63 -0
  388. package/ui/src/vite-env.d.ts +1 -0
  389. package/ui/src/vite-plugin-gkm-config.ts +54 -0
  390. package/ui/tsconfig.json +20 -0
  391. package/ui/tsconfig.tsbuildinfo +1 -0
  392. package/ui/vite.config.ts +13 -0
  393. package/dist/MetricsAggregator-BJdIvfEv.d.mts.map +0 -1
  394. package/dist/MetricsAggregator-CnC3oT5q.d.cts.map +0 -1
  395. package/dist/Telescope-BVfDvVvY.d.mts.map +0 -1
  396. package/dist/Telescope-DeqSHfuB.d.cts.map +0 -1
  397. package/dist/Telescope.cjs.map +0 -1
  398. package/dist/Telescope.mjs.map +0 -1
  399. package/dist/adapters/middy.cjs.map +0 -1
  400. package/dist/adapters/middy.d.cts.map +0 -1
  401. package/dist/adapters/middy.d.mts.map +0 -1
  402. package/dist/adapters/middy.mjs.map +0 -1
  403. package/dist/adapters/types.d.cts.map +0 -1
  404. package/dist/adapters/types.d.mts.map +0 -1
  405. package/dist/instrumentation/core.cjs.map +0 -1
  406. package/dist/instrumentation/core.d.cts.map +0 -1
  407. package/dist/instrumentation/core.d.mts.map +0 -1
  408. package/dist/instrumentation/core.mjs.map +0 -1
  409. package/dist/instrumentation/hono.cjs.map +0 -1
  410. package/dist/instrumentation/hono.d.cts.map +0 -1
  411. package/dist/instrumentation/hono.d.mts.map +0 -1
  412. package/dist/instrumentation/hono.mjs.map +0 -1
  413. package/dist/instrumentation/http.cjs.map +0 -1
  414. package/dist/instrumentation/http.d.cts.map +0 -1
  415. package/dist/instrumentation/http.d.mts.map +0 -1
  416. package/dist/instrumentation/http.mjs.map +0 -1
  417. package/dist/instrumentation/middleware.cjs.map +0 -1
  418. package/dist/instrumentation/middleware.d.cts.map +0 -1
  419. package/dist/instrumentation/middleware.d.mts.map +0 -1
  420. package/dist/instrumentation/middleware.mjs.map +0 -1
  421. package/dist/instrumentation/otel.cjs.map +0 -1
  422. package/dist/instrumentation/otel.d.cts.map +0 -1
  423. package/dist/instrumentation/otel.d.mts.map +0 -1
  424. package/dist/instrumentation/otel.mjs.map +0 -1
  425. package/dist/instrumentation/sampler.cjs +0 -54
  426. package/dist/instrumentation/sampler.cjs.map +0 -1
  427. package/dist/instrumentation/sampler.d.cts +0 -38
  428. package/dist/instrumentation/sampler.d.cts.map +0 -1
  429. package/dist/instrumentation/sampler.d.mts +0 -38
  430. package/dist/instrumentation/sampler.d.mts.map +0 -1
  431. package/dist/instrumentation/sampler.mjs +0 -52
  432. package/dist/instrumentation/sampler.mjs.map +0 -1
  433. package/dist/instrumentation/setup.cjs.map +0 -1
  434. package/dist/instrumentation/setup.d.cts.map +0 -1
  435. package/dist/instrumentation/setup.d.mts.map +0 -1
  436. package/dist/instrumentation/setup.mjs.map +0 -1
  437. package/dist/instrumentation/tracing.cjs.map +0 -1
  438. package/dist/instrumentation/tracing.d.cts.map +0 -1
  439. package/dist/instrumentation/tracing.d.mts.map +0 -1
  440. package/dist/instrumentation/tracing.mjs.map +0 -1
  441. package/dist/instrumentation/trust.cjs +0 -107
  442. package/dist/instrumentation/trust.cjs.map +0 -1
  443. package/dist/instrumentation/trust.d.cts +0 -57
  444. package/dist/instrumentation/trust.d.cts.map +0 -1
  445. package/dist/instrumentation/trust.d.mts +0 -57
  446. package/dist/instrumentation/trust.d.mts.map +0 -1
  447. package/dist/instrumentation/trust.mjs +0 -104
  448. package/dist/instrumentation/trust.mjs.map +0 -1
  449. package/dist/metrics/MetricsAggregator.cjs.map +0 -1
  450. package/dist/metrics/MetricsAggregator.mjs.map +0 -1
  451. package/dist/metrics/storage/InMemoryMetricsStorage.cjs.map +0 -1
  452. package/dist/metrics/storage/InMemoryMetricsStorage.d.cts.map +0 -1
  453. package/dist/metrics/storage/InMemoryMetricsStorage.d.mts.map +0 -1
  454. package/dist/metrics/storage/InMemoryMetricsStorage.mjs.map +0 -1
  455. package/dist/metrics/storage/MetricsStorage.d.cts.map +0 -1
  456. package/dist/metrics/storage/MetricsStorage.d.mts.map +0 -1
  457. package/dist/metrics/storage/types.cjs.map +0 -1
  458. package/dist/metrics/storage/types.d.cts.map +0 -1
  459. package/dist/metrics/storage/types.d.mts.map +0 -1
  460. package/dist/metrics/storage/types.mjs.map +0 -1
  461. package/dist/otlp/receiver.cjs.map +0 -1
  462. package/dist/otlp/receiver.d.cts.map +0 -1
  463. package/dist/otlp/receiver.d.mts.map +0 -1
  464. package/dist/otlp/receiver.mjs.map +0 -1
  465. package/dist/otlp/transformer.cjs.map +0 -1
  466. package/dist/otlp/transformer.mjs.map +0 -1
  467. package/dist/otlp/types.cjs.map +0 -1
  468. package/dist/otlp/types.mjs.map +0 -1
  469. package/dist/redact.cjs.map +0 -1
  470. package/dist/redact.mjs.map +0 -1
  471. package/dist/storage/memory.cjs.map +0 -1
  472. package/dist/storage/memory.d.cts.map +0 -1
  473. package/dist/storage/memory.d.mts.map +0 -1
  474. package/dist/storage/memory.mjs.map +0 -1
  475. package/dist/transformer-BtqjAs0b.d.cts.map +0 -1
  476. package/dist/transformer-DI6t8-YA.d.mts.map +0 -1
  477. package/dist/types-BVujq4zd.d.cts.map +0 -1
  478. package/dist/types-BVujq4zd.d.mts.map +0 -1
  479. package/dist/types-DVETVdpa.d.cts.map +0 -1
  480. package/dist/types-DVETVdpa.d.mts.map +0 -1
@@ -1,235 +1,4 @@
1
- import { flushTelemetry } from "../instrumentation/core.mjs";
2
- //#region src/adapters/middy.ts
3
- let processHooksRegistered = false;
4
- /**
5
- * Register process-level hooks for telemetry flush.
6
- * Called once per Lambda cold start.
7
- */
8
- function registerProcessHooks() {
9
- if (processHooksRegistered) return;
10
- processHooksRegistered = true;
11
- process.on("SIGTERM", async () => {
12
- await flushTelemetry(5e3).catch(() => {});
13
- });
14
- }
15
- /**
16
- * Extract request data from API Gateway event (v1 or v2)
17
- */
18
- function extractRequestData(event) {
19
- const headers = {};
20
- if (event.headers) {
21
- for (const [key, value] of Object.entries(event.headers)) if (value) headers[key.toLowerCase()] = value;
22
- }
23
- const contentLength = headers["content-length"];
24
- const requestSize = contentLength ? parseInt(contentLength, 10) : void 0;
25
- if ("rawPath" in event && event.requestContext?.http) {
26
- const v2Event = event;
27
- const query = {};
28
- if (v2Event.queryStringParameters) {
29
- for (const [key, value] of Object.entries(v2Event.queryStringParameters)) if (value !== void 0) query[key] = value;
30
- }
31
- return {
32
- method: v2Event.requestContext.http.method,
33
- path: v2Event.rawPath,
34
- url: v2Event.rawPath + (v2Event.rawQueryString ? `?${v2Event.rawQueryString}` : ""),
35
- headers,
36
- query,
37
- body: parseBody(v2Event.body, v2Event.isBase64Encoded),
38
- ip: v2Event.requestContext.http.sourceIp,
39
- requestId: v2Event.requestContext.requestId,
40
- requestSize
41
- };
42
- }
43
- const v1Event = event;
44
- const queryString = v1Event.queryStringParameters ? new URLSearchParams(v1Event.queryStringParameters).toString() : "";
45
- return {
46
- method: v1Event.httpMethod,
47
- path: v1Event.path,
48
- url: v1Event.path + (queryString ? `?${queryString}` : ""),
49
- headers,
50
- query: v1Event.queryStringParameters || {},
51
- body: parseBody(v1Event.body, v1Event.isBase64Encoded),
52
- ip: v1Event.requestContext?.identity?.sourceIp,
53
- requestId: v1Event.requestContext?.requestId,
54
- requestSize
55
- };
56
- }
57
- /**
58
- * Parse request body
59
- */
60
- function parseBody(body, isBase64Encoded) {
61
- if (!body) return void 0;
62
- try {
63
- const decoded = isBase64Encoded ? Buffer.from(body, "base64").toString("utf-8") : body;
64
- return JSON.parse(decoded);
65
- } catch {
66
- return body;
67
- }
68
- }
69
- /**
70
- * Extract response data from Lambda response
71
- */
72
- function extractResponseData(response) {
73
- if (response && typeof response === "object" && "statusCode" in response) {
74
- const res = response;
75
- const headers = res.headers || {};
76
- const contentLengthKey = Object.keys(headers).find((k) => k.toLowerCase() === "content-length");
77
- const contentLengthValue = contentLengthKey ? headers[contentLengthKey] : void 0;
78
- const responseSize = contentLengthValue ? parseInt(contentLengthValue, 10) : res.body ? Buffer.byteLength(res.body, "utf8") : void 0;
79
- return {
80
- status: res.statusCode || 200,
81
- headers,
82
- body: res.body ? tryParseJson(res.body) : void 0,
83
- responseSize
84
- };
85
- }
86
- return {
87
- status: 200,
88
- headers: {},
89
- body: response
90
- };
91
- }
92
- function tryParseJson(str) {
93
- try {
94
- return JSON.parse(str);
95
- } catch {
96
- return str;
97
- }
98
- }
99
- /**
100
- * Middy middleware that integrates Telescope with Lambda handlers.
101
- *
102
- * Features:
103
- * - Records all requests and responses to Telescope
104
- * - Captures exceptions automatically
105
- * - Flushes telemetry before Lambda freezes
106
- * - Uses Lambda context for smart flush timing
107
- *
108
- * @example
109
- * ```typescript
110
- * import middy from '@middy/core';
111
- * import { telescopeMiddleware } from '@geekmidas/telescope/lambda';
112
- *
113
- * const handler = middy(baseHandler)
114
- * .use(telescopeMiddleware(telescope));
115
- * ```
116
- */
117
- function telescopeMiddleware(telescope, options = {}) {
118
- const { flushThresholdMs = 1e3, recordBody = true, flushTimeoutMs = 5e3 } = options;
119
- registerProcessHooks();
120
- return {
121
- before: async (request) => {
122
- request.__telescopeStartTime = Date.now();
123
- request.context.callbackWaitsForEmptyEventLoop = false;
124
- },
125
- after: async (request) => {
126
- const startTime = request.__telescopeStartTime || Date.now();
127
- const duration = Date.now() - startTime;
128
- try {
129
- const reqData = extractRequestData(request.event);
130
- const resData = extractResponseData(request.response);
131
- await telescope.recordRequest({
132
- method: reqData.method,
133
- path: reqData.path,
134
- url: reqData.url,
135
- headers: reqData.headers,
136
- query: reqData.query,
137
- body: recordBody ? reqData.body : void 0,
138
- ip: reqData.ip,
139
- status: resData.status,
140
- responseHeaders: resData.headers,
141
- responseBody: recordBody ? resData.body : void 0,
142
- duration,
143
- requestSize: reqData.requestSize,
144
- responseSize: resData.responseSize
145
- });
146
- } catch {}
147
- await smartFlush(request.context, flushThresholdMs, flushTimeoutMs);
148
- },
149
- onError: async (request) => {
150
- const startTime = request.__telescopeStartTime || Date.now();
151
- const duration = Date.now() - startTime;
152
- try {
153
- if (request.error) await telescope.exception(request.error);
154
- const reqData = extractRequestData(request.event);
155
- await telescope.recordRequest({
156
- method: reqData.method,
157
- path: reqData.path,
158
- url: reqData.url,
159
- headers: reqData.headers,
160
- query: reqData.query,
161
- body: recordBody ? reqData.body : void 0,
162
- ip: reqData.ip,
163
- status: 500,
164
- responseHeaders: {},
165
- responseBody: { error: request.error?.message },
166
- duration,
167
- requestSize: reqData.requestSize
168
- });
169
- } catch {}
170
- await smartFlush(request.context, flushThresholdMs, flushTimeoutMs);
171
- }
172
- };
173
- }
174
- /**
175
- * Smart flush that respects Lambda's remaining execution time
176
- */
177
- async function smartFlush(context, thresholdMs, timeoutMs) {
178
- const remaining = context.getRemainingTimeInMillis();
179
- const effectiveTimeout = Math.min(timeoutMs, Math.max(remaining - thresholdMs, 100));
180
- if (effectiveTimeout > 0) await flushTelemetry(effectiveTimeout).catch(() => {});
181
- }
182
- /**
183
- * Create a wrapped Lambda handler with Telescope integration.
184
- * Alternative to using Middy middleware directly.
185
- *
186
- * @example
187
- * ```typescript
188
- * import { createTelescopeHandler } from '@geekmidas/telescope/lambda';
189
- *
190
- * export const handler = createTelescopeHandler(telescope, async (event, context) => {
191
- * return { statusCode: 200, body: 'OK' };
192
- * });
193
- * ```
194
- */
195
- function createTelescopeHandler(telescope, handler, options = {}) {
196
- const { flushThresholdMs = 1e3, recordBody = true, flushTimeoutMs = 5e3 } = options;
197
- registerProcessHooks();
198
- return async (event, context) => {
199
- const startTime = Date.now();
200
- context.callbackWaitsForEmptyEventLoop = false;
201
- try {
202
- const result = await handler(event, context);
203
- const duration = Date.now() - startTime;
204
- try {
205
- const reqData = extractRequestData(event);
206
- const resData = extractResponseData(result);
207
- await telescope.recordRequest({
208
- method: reqData.method,
209
- path: reqData.path,
210
- url: reqData.url,
211
- headers: reqData.headers,
212
- query: reqData.query,
213
- body: recordBody ? reqData.body : void 0,
214
- ip: reqData.ip,
215
- status: resData.status,
216
- responseHeaders: resData.headers,
217
- responseBody: recordBody ? resData.body : void 0,
218
- duration,
219
- requestSize: reqData.requestSize,
220
- responseSize: resData.responseSize
221
- });
222
- } catch {}
223
- await smartFlush(context, flushThresholdMs, flushTimeoutMs);
224
- return result;
225
- } catch (error) {
226
- if (error instanceof Error) await telescope.exception(error).catch(() => {});
227
- await smartFlush(context, flushThresholdMs, flushTimeoutMs);
228
- throw error;
229
- }
230
- };
231
- }
232
- //#endregion
233
- export { createTelescopeHandler, telescopeMiddleware };
1
+ import "../core-D6hJ6exL.mjs";
2
+ import { createTelescopeHandler, telescopeMiddleware } from "../middy-BTR3cyvk.mjs";
234
3
 
235
- //# sourceMappingURL=middy.mjs.map
4
+ export { createTelescopeHandler, telescopeMiddleware };
@@ -1,162 +1,2 @@
1
- import { Context } from "hono";
2
- //#region src/adapters/types.d.ts
3
- /**
4
- * Environment types for adapter configuration
5
- */
6
- export type TelescopeEnvironment = 'server' | 'lambda' | 'edge' | 'custom';
7
- /**
8
- * Request context passed to adapters
9
- */
10
- export interface AdapterRequestContext {
11
- /** Unique request ID */
12
- id: string;
13
- /** HTTP method */
14
- method: string;
15
- /** Request path */
16
- path: string;
17
- /** Full URL */
18
- url: string;
19
- /** Request headers */
20
- headers: Record<string, string>;
21
- /** Query parameters */
22
- query: Record<string, string>;
23
- /** Request body (if recorded) */
24
- body?: unknown;
25
- /** Client IP address */
26
- ip?: string;
27
- /** Request start time */
28
- startTime: number;
29
- /** Request body size in bytes */
30
- requestSize?: number;
31
- }
32
- /**
33
- * Response context passed to adapters
34
- */
35
- export interface AdapterResponseContext {
36
- /** HTTP status code */
37
- status: number;
38
- /** Response headers */
39
- headers: Record<string, string>;
40
- /** Response body (if recorded) */
41
- body?: unknown;
42
- /** Request duration in milliseconds */
43
- duration: number;
44
- /** Response body size in bytes */
45
- responseSize?: number;
46
- }
47
- /**
48
- * Error context for exception handling
49
- */
50
- export interface AdapterErrorContext {
51
- /** The error that occurred */
52
- error: Error;
53
- /** Associated request ID */
54
- requestId?: string;
55
- /** Whether the error was handled */
56
- handled: boolean;
57
- }
58
- /**
59
- * Span processor strategy for telemetry export
60
- */
61
- export type SpanProcessorStrategy = 'batch' | 'simple';
62
- /**
63
- * Options for span processor configuration
64
- */
65
- export interface SpanProcessorOptions {
66
- /** Processor strategy (batch for servers, simple for Lambda) */
67
- strategy: SpanProcessorStrategy;
68
- /** Maximum queue size for batch processor (default: 2048) */
69
- maxQueueSize?: number;
70
- /** Scheduled delay for batch processor in ms (default: 5000) */
71
- scheduledDelayMillis?: number;
72
- /** Export timeout in ms (default: 30000) */
73
- exportTimeoutMillis?: number;
74
- /** Maximum export batch size (default: 512) */
75
- maxExportBatchSize?: number;
76
- }
77
- /**
78
- * Adapter lifecycle hooks
79
- */
80
- export interface AdapterLifecycle {
81
- /**
82
- * Called when the adapter is initialized
83
- */
84
- onSetup?(): Promise<void> | void;
85
- /**
86
- * Called before the adapter is destroyed
87
- */
88
- onDestroy?(): Promise<void> | void;
89
- }
90
- /**
91
- * Base adapter configuration
92
- */
93
- export interface AdapterConfig {
94
- /** Environment type */
95
- environment: TelescopeEnvironment;
96
- /** Span processor options */
97
- spanProcessor?: SpanProcessorOptions;
98
- /** Whether to auto-flush on response */
99
- autoFlush?: boolean;
100
- }
101
- /**
102
- * Interface for environment-specific adapters.
103
- * Adapters handle the integration between Telescope core and the runtime environment.
104
- */
105
- export interface TelescopeAdapter<TConfig extends AdapterConfig = AdapterConfig> extends AdapterLifecycle {
106
- /** Adapter configuration */
107
- readonly config: TConfig;
108
- /**
109
- * Extract request context from the runtime's request object.
110
- * This is called at the start of request processing.
111
- */
112
- extractRequestContext(request: unknown): AdapterRequestContext;
113
- /**
114
- * Extract response context from the runtime's response object.
115
- * This is called after the response is generated.
116
- */
117
- extractResponseContext(response: unknown, startTime: number): AdapterResponseContext;
118
- /**
119
- * Flush any pending telemetry data.
120
- * Critical for serverless environments where the process may be frozen.
121
- */
122
- flush(): Promise<void>;
123
- }
124
- /**
125
- * Hono-specific adapter configuration
126
- */
127
- export interface HonoAdapterConfig extends AdapterConfig {
128
- environment: 'server' | 'lambda' | 'edge';
129
- }
130
- /**
131
- * Lambda-specific adapter configuration
132
- */
133
- export interface LambdaAdapterConfig extends AdapterConfig {
134
- environment: 'lambda';
135
- /** Whether to detect Lambda resource attributes */
136
- detectResource?: boolean;
137
- /** Custom resource attributes */
138
- resourceAttributes?: Record<string, string>;
139
- }
140
- /**
141
- * Type helper for Hono context with Telescope
142
- */
143
- export interface TelescopeHonoContext {
144
- /** Request ID for correlation */
145
- requestId: string;
146
- /** Request start time */
147
- startTime: number;
148
- }
149
- /**
150
- * Hono context variables type
151
- */
152
- export interface TelescopeHonoVariables {
153
- telescope: TelescopeHonoContext;
154
- }
155
- /**
156
- * Extended Hono context with Telescope variables
157
- */
158
- export type HonoContextWithTelescope = Context<{
159
- Variables: TelescopeHonoVariables;
160
- }>;
161
- //#endregion
162
- //# sourceMappingURL=types.d.cts.map
1
+ import { AdapterConfig, AdapterErrorContext, AdapterLifecycle, AdapterRequestContext, AdapterResponseContext, HonoAdapterConfig, HonoContextWithTelescope, LambdaAdapterConfig, SpanProcessorOptions, SpanProcessorStrategy, TelescopeAdapter, TelescopeEnvironment, TelescopeHonoContext, TelescopeHonoVariables } from "../types-BRzW1NM8.cjs";
2
+ export { AdapterConfig, AdapterErrorContext, AdapterLifecycle, AdapterRequestContext, AdapterResponseContext, HonoAdapterConfig, HonoContextWithTelescope, LambdaAdapterConfig, SpanProcessorOptions, SpanProcessorStrategy, TelescopeAdapter, TelescopeEnvironment, TelescopeHonoContext, TelescopeHonoVariables };
@@ -1,162 +1,2 @@
1
- import { Context } from "hono";
2
- //#region src/adapters/types.d.ts
3
- /**
4
- * Environment types for adapter configuration
5
- */
6
- export type TelescopeEnvironment = 'server' | 'lambda' | 'edge' | 'custom';
7
- /**
8
- * Request context passed to adapters
9
- */
10
- export interface AdapterRequestContext {
11
- /** Unique request ID */
12
- id: string;
13
- /** HTTP method */
14
- method: string;
15
- /** Request path */
16
- path: string;
17
- /** Full URL */
18
- url: string;
19
- /** Request headers */
20
- headers: Record<string, string>;
21
- /** Query parameters */
22
- query: Record<string, string>;
23
- /** Request body (if recorded) */
24
- body?: unknown;
25
- /** Client IP address */
26
- ip?: string;
27
- /** Request start time */
28
- startTime: number;
29
- /** Request body size in bytes */
30
- requestSize?: number;
31
- }
32
- /**
33
- * Response context passed to adapters
34
- */
35
- export interface AdapterResponseContext {
36
- /** HTTP status code */
37
- status: number;
38
- /** Response headers */
39
- headers: Record<string, string>;
40
- /** Response body (if recorded) */
41
- body?: unknown;
42
- /** Request duration in milliseconds */
43
- duration: number;
44
- /** Response body size in bytes */
45
- responseSize?: number;
46
- }
47
- /**
48
- * Error context for exception handling
49
- */
50
- export interface AdapterErrorContext {
51
- /** The error that occurred */
52
- error: Error;
53
- /** Associated request ID */
54
- requestId?: string;
55
- /** Whether the error was handled */
56
- handled: boolean;
57
- }
58
- /**
59
- * Span processor strategy for telemetry export
60
- */
61
- export type SpanProcessorStrategy = 'batch' | 'simple';
62
- /**
63
- * Options for span processor configuration
64
- */
65
- export interface SpanProcessorOptions {
66
- /** Processor strategy (batch for servers, simple for Lambda) */
67
- strategy: SpanProcessorStrategy;
68
- /** Maximum queue size for batch processor (default: 2048) */
69
- maxQueueSize?: number;
70
- /** Scheduled delay for batch processor in ms (default: 5000) */
71
- scheduledDelayMillis?: number;
72
- /** Export timeout in ms (default: 30000) */
73
- exportTimeoutMillis?: number;
74
- /** Maximum export batch size (default: 512) */
75
- maxExportBatchSize?: number;
76
- }
77
- /**
78
- * Adapter lifecycle hooks
79
- */
80
- export interface AdapterLifecycle {
81
- /**
82
- * Called when the adapter is initialized
83
- */
84
- onSetup?(): Promise<void> | void;
85
- /**
86
- * Called before the adapter is destroyed
87
- */
88
- onDestroy?(): Promise<void> | void;
89
- }
90
- /**
91
- * Base adapter configuration
92
- */
93
- export interface AdapterConfig {
94
- /** Environment type */
95
- environment: TelescopeEnvironment;
96
- /** Span processor options */
97
- spanProcessor?: SpanProcessorOptions;
98
- /** Whether to auto-flush on response */
99
- autoFlush?: boolean;
100
- }
101
- /**
102
- * Interface for environment-specific adapters.
103
- * Adapters handle the integration between Telescope core and the runtime environment.
104
- */
105
- export interface TelescopeAdapter<TConfig extends AdapterConfig = AdapterConfig> extends AdapterLifecycle {
106
- /** Adapter configuration */
107
- readonly config: TConfig;
108
- /**
109
- * Extract request context from the runtime's request object.
110
- * This is called at the start of request processing.
111
- */
112
- extractRequestContext(request: unknown): AdapterRequestContext;
113
- /**
114
- * Extract response context from the runtime's response object.
115
- * This is called after the response is generated.
116
- */
117
- extractResponseContext(response: unknown, startTime: number): AdapterResponseContext;
118
- /**
119
- * Flush any pending telemetry data.
120
- * Critical for serverless environments where the process may be frozen.
121
- */
122
- flush(): Promise<void>;
123
- }
124
- /**
125
- * Hono-specific adapter configuration
126
- */
127
- export interface HonoAdapterConfig extends AdapterConfig {
128
- environment: 'server' | 'lambda' | 'edge';
129
- }
130
- /**
131
- * Lambda-specific adapter configuration
132
- */
133
- export interface LambdaAdapterConfig extends AdapterConfig {
134
- environment: 'lambda';
135
- /** Whether to detect Lambda resource attributes */
136
- detectResource?: boolean;
137
- /** Custom resource attributes */
138
- resourceAttributes?: Record<string, string>;
139
- }
140
- /**
141
- * Type helper for Hono context with Telescope
142
- */
143
- export interface TelescopeHonoContext {
144
- /** Request ID for correlation */
145
- requestId: string;
146
- /** Request start time */
147
- startTime: number;
148
- }
149
- /**
150
- * Hono context variables type
151
- */
152
- export interface TelescopeHonoVariables {
153
- telescope: TelescopeHonoContext;
154
- }
155
- /**
156
- * Extended Hono context with Telescope variables
157
- */
158
- export type HonoContextWithTelescope = Context<{
159
- Variables: TelescopeHonoVariables;
160
- }>;
161
- //#endregion
162
- //# sourceMappingURL=types.d.mts.map
1
+ import { AdapterConfig, AdapterErrorContext, AdapterLifecycle, AdapterRequestContext, AdapterResponseContext, HonoAdapterConfig, HonoContextWithTelescope, LambdaAdapterConfig, SpanProcessorOptions, SpanProcessorStrategy, TelescopeAdapter, TelescopeEnvironment, TelescopeHonoContext, TelescopeHonoVariables } from "../types-BzQ78Efw.mjs";
2
+ export { AdapterConfig, AdapterErrorContext, AdapterLifecycle, AdapterRequestContext, AdapterResponseContext, HonoAdapterConfig, HonoContextWithTelescope, LambdaAdapterConfig, SpanProcessorOptions, SpanProcessorStrategy, TelescopeAdapter, TelescopeEnvironment, TelescopeHonoContext, TelescopeHonoVariables };
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +1,4 @@
1
- //#region \0rolldown/runtime.js
1
+ //#region rolldown:runtime
2
2
  var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -15,14 +15,16 @@ var __copyProps = (to, from, except, desc) => {
15
15
  }
16
16
  return to;
17
17
  };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
19
  value: mod,
20
20
  enumerable: true
21
21
  }) : target, mod));
22
+
22
23
  //#endregion
23
- Object.defineProperty(exports, "__toESM", {
24
- enumerable: true,
25
- get: function() {
26
- return __toESM;
27
- }
28
- });
24
+
25
+ Object.defineProperty(exports, '__toESM', {
26
+ enumerable: true,
27
+ get: function () {
28
+ return __toESM;
29
+ }
30
+ });
@@ -0,0 +1,78 @@
1
+ import { SpanProcessorOptions, SpanProcessorStrategy } from "./types-BzQ78Efw.mjs";
2
+ import { ReadableSpan, Span, SpanExporter, SpanProcessor } from "@opentelemetry/sdk-trace-base";
3
+
4
+ //#region src/instrumentation/core.d.ts
5
+
6
+ /**
7
+ * Create a span processor based on the strategy
8
+ */
9
+ declare function createSpanProcessor(exporter: SpanExporter, options: SpanProcessorOptions): SpanProcessor;
10
+ /**
11
+ * Get the recommended span processor strategy for an environment
12
+ */
13
+ declare function getRecommendedStrategy(environment: 'server' | 'lambda' | 'edge' | 'custom'): SpanProcessorStrategy;
14
+ /**
15
+ * Set the global span processor for flush operations
16
+ */
17
+ declare function setGlobalSpanProcessor(processor: SpanProcessor): void;
18
+ /**
19
+ * Set the global log processor for flush operations
20
+ */
21
+ declare function setGlobalLogProcessor(processor: unknown): void;
22
+ /**
23
+ * Check if telemetry is initialized
24
+ */
25
+ declare function isTelemetryInitialized(): boolean;
26
+ /**
27
+ * Flush all pending telemetry data.
28
+ * This is critical for serverless environments where the process may freeze.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // In a Lambda handler
33
+ * export const handler = async (event, context) => {
34
+ * try {
35
+ * const result = await processRequest(event);
36
+ * return result;
37
+ * } finally {
38
+ * // Flush before Lambda freezes
39
+ * await flushTelemetry();
40
+ * }
41
+ * };
42
+ * ```
43
+ */
44
+ declare function flushTelemetry(timeoutMs?: number): Promise<void>;
45
+ /**
46
+ * Shutdown all telemetry processors
47
+ */
48
+ declare function shutdownTelemetry(): Promise<void>;
49
+ /**
50
+ * Enable debug logging for telemetry
51
+ */
52
+ declare function enableTelemetryDebug(): void;
53
+ /**
54
+ * Wraps a handler function to ensure telemetry is flushed before returning.
55
+ * Useful for Lambda handlers.
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * export const handler = withTelemetryFlush(async (event, context) => {
60
+ * // Your Lambda logic here
61
+ * return { statusCode: 200, body: 'OK' };
62
+ * });
63
+ * ```
64
+ */
65
+ declare function withTelemetryFlush<TEvent, TResult>(handler: (event: TEvent, context: unknown) => Promise<TResult>): (event: TEvent, context: unknown) => Promise<TResult>;
66
+ /**
67
+ * Noop span processor for testing or when telemetry is disabled
68
+ */
69
+ declare class NoopSpanProcessor implements SpanProcessor {
70
+ forceFlush(): Promise<void>;
71
+ onStart(_span: Span): void;
72
+ onEnd(_span: ReadableSpan): void;
73
+ shutdown(): Promise<void>;
74
+ }
75
+ //# sourceMappingURL=core.d.ts.map
76
+ //#endregion
77
+ export { NoopSpanProcessor, createSpanProcessor, enableTelemetryDebug, flushTelemetry, getRecommendedStrategy, isTelemetryInitialized, setGlobalLogProcessor, setGlobalSpanProcessor, shutdownTelemetry, withTelemetryFlush };
78
+ //# sourceMappingURL=core--quSp5Qr.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core--quSp5Qr.d.mts","names":[],"sources":["../src/instrumentation/core.ts"],"sourcesContent":[],"mappings":";;;;;;;AAgCA;AAAmC,iBAAnB,mBAAA,CAAmB,QAAA,EACxB,YADwB,EAAA,OAAA,EAEzB,oBAFyB,CAAA,EAGhC,aAHgC;;;;AAGnB,iBAkBA,sBAAA,CAlBA,WAAA,EAAA,QAAA,GAAA,QAAA,GAAA,MAAA,GAAA,QAAA,CAAA,EAoBb,qBApBa;AAkBhB;AAiBA;AAQA;AAOgB,iBAfA,sBAAA,CAesB,SAAA,EAfY,aAeZ,CAAA,EAAA,IAAA;AAsBtC;AA+CA;AA0BA;AAgBgB,iBAtHA,qBAAA,CAsHkB,SAAA,EAAA,OAAA,CAAA,EAAA,IAAA;;;;AACa,iBAhH/B,sBAAA,CAAA,CAgH+B,EAAA,OAAA;;;;AACA;AAa/C;;;;;;;AAAuD;;;;;;;iBAxGjC,cAAA,sBAAmC;;;;iBA+CnC,iBAAA,CAAA,GAAqB;;;;iBA0B3B,oBAAA,CAAA;;;;;;;;;;;;;iBAgBA,qDACE,6BAA6B,QAAQ,mBAC5C,6BAA6B,QAAQ;;;;cAanC,iBAAA,YAA6B;gBAC3B;iBAIC;eAIF;cAID"}