@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
@@ -0,0 +1,63 @@
1
+ import { Telescope } from "./Telescope-Dl6VSfxd.mjs";
2
+ import { ExportLogsServiceRequest, ExportLogsServiceResponse, ExportMetricsServiceRequest, ExportMetricsServiceResponse, ExportTraceServiceRequest, ExportTraceServiceResponse } from "./types-DBc0q5KD.mjs";
3
+ import { MetricDataPoint } from "./transformer-CTGsaVfV.mjs";
4
+
5
+ //#region src/otlp/receiver.d.ts
6
+
7
+ /**
8
+ * Callback for handling OTLP metrics
9
+ */
10
+ type MetricsHandler = (points: MetricDataPoint[]) => void | Promise<void>;
11
+ /**
12
+ * Options for OTLPReceiver
13
+ */
14
+ interface OTLPReceiverOptions {
15
+ /**
16
+ * The Telescope instance to record data to
17
+ */
18
+ telescope: Telescope;
19
+ /**
20
+ * Optional callback for handling OTLP metrics.
21
+ * OTLP metrics are more granular than Telescope's request metrics,
22
+ * so a custom handler allows integration with metrics systems like Prometheus.
23
+ */
24
+ onMetrics?: MetricsHandler;
25
+ /**
26
+ * Whether to also log OTLP metrics to Telescope as log entries.
27
+ * Useful for debugging OTLP integration. Default: false
28
+ */
29
+ logMetrics?: boolean;
30
+ }
31
+ /**
32
+ * OTLP Receiver for ingesting OpenTelemetry data into Telescope.
33
+ *
34
+ * Supports the OTLP/JSON protocol for:
35
+ * - Traces (POST /v1/traces) - HTTP server spans become RequestEntries
36
+ * - Logs (POST /v1/logs) - Log records become LogEntries
37
+ * - Metrics (POST /v1/metrics) - Metrics can be forwarded to custom handlers
38
+ */
39
+ declare class OTLPReceiver {
40
+ private telescope;
41
+ private onMetrics?;
42
+ private logMetrics;
43
+ constructor(options: OTLPReceiverOptions);
44
+ /**
45
+ * Handle incoming trace data
46
+ * Transforms HTTP server spans to Telescope request entries
47
+ */
48
+ receiveTraces(request: ExportTraceServiceRequest): Promise<ExportTraceServiceResponse>;
49
+ /**
50
+ * Handle incoming log data
51
+ * Transforms OTLP log records to Telescope log entries
52
+ */
53
+ receiveLogs(request: ExportLogsServiceRequest): Promise<ExportLogsServiceResponse>;
54
+ /**
55
+ * Handle incoming metrics data
56
+ * Forwards to custom handler and optionally logs to Telescope
57
+ */
58
+ receiveMetrics(request: ExportMetricsServiceRequest): Promise<ExportMetricsServiceResponse>;
59
+ }
60
+ //# sourceMappingURL=receiver.d.ts.map
61
+ //#endregion
62
+ export { MetricsHandler, OTLPReceiver, OTLPReceiverOptions };
63
+ //# sourceMappingURL=receiver-UeZT-H8u.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receiver-UeZT-H8u.d.mts","names":[],"sources":["../src/otlp/receiver.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAmBA;AAA0B,KAAd,cAAA,GAAc,CAAA,MAAA,EACjB,eADiB,EAAA,EAAA,GAAA,IAAA,GAEd,OAFc,CAAA,IAAA,CAAA;;;AAEP;AAKF,UAAA,mBAAA,CAAmB;EAAA;;;EAWT,SAAA,EAPf,SAOe;EAiBd;;;;;EAiByB,SAAlC,CAAA,EAlCS,cAkCT;EAAO;;;;EAmD2B,UAC1B,CAAA,EAAA,OAAA;;AAAD;;;;;;;;cArEE,YAAA;;;;uBAKS;;;;;yBAWX,4BACP,QAAQ;;;;;uBAsBD,2BACP,QAAQ;;;;;0BA4BD,8BACP,QAAQ"}
@@ -0,0 +1,83 @@
1
+ import { DEFAULT_REDACT_PATHS } from "@geekmidas/logger/redact";
2
+ import pinoRedact from "@pinojs/redact";
3
+
4
+ //#region src/redact.ts
5
+ /**
6
+ * Telescope-specific redaction paths for HTTP request/response data.
7
+ * These extend the base paths from @geekmidas/logger.
8
+ */
9
+ const TELESCOPE_SPECIFIC_PATHS = [
10
+ "responseHeaders.set-cookie",
11
+ "responseHeaders.Set-Cookie",
12
+ "body.password",
13
+ "body.token",
14
+ "body.accessToken",
15
+ "body.refreshToken",
16
+ "body.apiKey",
17
+ "body.secret",
18
+ "body.creditCard",
19
+ "body.cardNumber",
20
+ "body.cvv",
21
+ "body.ssn",
22
+ "body.*.password",
23
+ "body.*.token",
24
+ "body.*.secret",
25
+ "body.*.apiKey",
26
+ "responseBody.password",
27
+ "responseBody.token",
28
+ "responseBody.accessToken",
29
+ "responseBody.refreshToken",
30
+ "responseBody.secret",
31
+ "responseBody.*.password",
32
+ "responseBody.*.token",
33
+ "responseBody.*.secret",
34
+ "query.token",
35
+ "query.api_key",
36
+ "query.apiKey",
37
+ "query.access_token",
38
+ "query.secret",
39
+ "context.password",
40
+ "context.token",
41
+ "context.secret",
42
+ "context.apiKey",
43
+ "context.*.password",
44
+ "context.*.token",
45
+ "context.*.secret"
46
+ ];
47
+ /**
48
+ * Combined default paths for Telescope redaction.
49
+ * Includes base paths from @geekmidas/logger plus telescope-specific HTTP paths.
50
+ */
51
+ const DEFAULT_REDACT_PATHS$1 = [...DEFAULT_REDACT_PATHS, ...TELESCOPE_SPECIFIC_PATHS];
52
+ /**
53
+ * Creates a redactor function based on the provided options.
54
+ *
55
+ * @param options - Redaction configuration
56
+ * @returns A redactor function, or undefined if redaction is disabled
57
+ *
58
+ * @example
59
+ * const redactor = createRedactor(true);
60
+ * const safe = redactor({ headers: { authorization: 'Bearer secret' } });
61
+ * // safe.headers.authorization === '[REDACTED]'
62
+ */
63
+ function createRedactor(options) {
64
+ if (options === void 0 || options === false) return void 0;
65
+ let paths;
66
+ let censor = "[REDACTED]";
67
+ if (options === true) paths = DEFAULT_REDACT_PATHS$1;
68
+ else if (Array.isArray(options)) paths = [...DEFAULT_REDACT_PATHS$1, ...options];
69
+ else {
70
+ paths = [...DEFAULT_REDACT_PATHS$1, ...options.paths];
71
+ if (options.censor !== void 0) censor = options.censor;
72
+ }
73
+ const redact = pinoRedact({
74
+ paths,
75
+ censor,
76
+ serialize: false
77
+ });
78
+ return redact;
79
+ }
80
+
81
+ //#endregion
82
+ export { DEFAULT_REDACT_PATHS$1 as DEFAULT_REDACT_PATHS, createRedactor };
83
+ //# sourceMappingURL=redact-BzkITCNW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact-BzkITCNW.mjs","names":["TELESCOPE_SPECIFIC_PATHS: string[]","DEFAULT_REDACT_PATHS: string[]","BASE_REDACT_PATHS","options: TelescopeRedactOptions | undefined","paths: string[]","censor: string","DEFAULT_REDACT_PATHS"],"sources":["../src/redact.ts"],"sourcesContent":["import { DEFAULT_REDACT_PATHS as BASE_REDACT_PATHS } from '@geekmidas/logger/redact';\nimport pinoRedact from '@pinojs/redact';\nimport type { TelescopeRedactOptions } from './types';\n\n/**\n * Telescope-specific redaction paths for HTTP request/response data.\n * These extend the base paths from @geekmidas/logger.\n */\nconst TELESCOPE_SPECIFIC_PATHS: string[] = [\n\t// Response headers (telescope-specific)\n\t'responseHeaders.set-cookie',\n\t'responseHeaders.Set-Cookie',\n\n\t// Request body fields\n\t'body.password',\n\t'body.token',\n\t'body.accessToken',\n\t'body.refreshToken',\n\t'body.apiKey',\n\t'body.secret',\n\t'body.creditCard',\n\t'body.cardNumber',\n\t'body.cvv',\n\t'body.ssn',\n\n\t// Nested body patterns (wildcards)\n\t'body.*.password',\n\t'body.*.token',\n\t'body.*.secret',\n\t'body.*.apiKey',\n\n\t// Response body fields\n\t'responseBody.password',\n\t'responseBody.token',\n\t'responseBody.accessToken',\n\t'responseBody.refreshToken',\n\t'responseBody.secret',\n\t'responseBody.*.password',\n\t'responseBody.*.token',\n\t'responseBody.*.secret',\n\n\t// Query parameters\n\t'query.token',\n\t'query.api_key',\n\t'query.apiKey',\n\t'query.access_token',\n\t'query.secret',\n\n\t// Log context patterns\n\t'context.password',\n\t'context.token',\n\t'context.secret',\n\t'context.apiKey',\n\t'context.*.password',\n\t'context.*.token',\n\t'context.*.secret',\n];\n\n/**\n * Combined default paths for Telescope redaction.\n * Includes base paths from @geekmidas/logger plus telescope-specific HTTP paths.\n */\nexport const DEFAULT_REDACT_PATHS: string[] = [\n\t...BASE_REDACT_PATHS,\n\t...TELESCOPE_SPECIFIC_PATHS,\n];\n\n/**\n * Type for the redactor function returned by @pinojs/redact\n */\nexport type Redactor = <T>(obj: T) => T;\n\n/**\n * Creates a redactor function based on the provided options.\n *\n * @param options - Redaction configuration\n * @returns A redactor function, or undefined if redaction is disabled\n *\n * @example\n * const redactor = createRedactor(true);\n * const safe = redactor({ headers: { authorization: 'Bearer secret' } });\n * // safe.headers.authorization === '[REDACTED]'\n */\nexport function createRedactor(\n\toptions: TelescopeRedactOptions | undefined,\n): Redactor | undefined {\n\tif (options === undefined || options === false) {\n\t\treturn undefined;\n\t}\n\n\tlet paths: string[];\n\tlet censor: string = '[REDACTED]';\n\n\tif (options === true) {\n\t\t// Use defaults only\n\t\tpaths = DEFAULT_REDACT_PATHS;\n\t} else if (Array.isArray(options)) {\n\t\t// Merge custom paths with defaults\n\t\tpaths = [...DEFAULT_REDACT_PATHS, ...options];\n\t} else {\n\t\t// Object configuration\n\t\tpaths = [...DEFAULT_REDACT_PATHS, ...options.paths];\n\t\tif (options.censor !== undefined) {\n\t\t\tcensor = options.censor;\n\t\t}\n\t}\n\n\t// Create the redactor with serialize: false to return objects\n\tconst redact = pinoRedact({\n\t\tpaths,\n\t\tcensor,\n\t\tserialize: false,\n\t});\n\n\treturn redact as Redactor;\n}\n"],"mappings":";;;;;;;;AAQA,MAAMA,2BAAqC;CAE1C;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;AACA;;;;;AAMD,MAAaC,yBAAiC,CAC7C,GAAGC,sBACH,GAAG,wBACH;;;;;;;;;;;;AAkBD,SAAgB,eACfC,SACuB;AACvB,KAAI,sBAAyB,YAAY,MACxC;CAGD,IAAIC;CACJ,IAAIC,SAAiB;AAErB,KAAI,YAAY,KAEf,SAAQC;UACE,MAAM,QAAQ,QAAQ,CAEhC,SAAQ,CAAC,GAAGA,wBAAsB,GAAG,OAAQ;MACvC;AAEN,UAAQ,CAAC,GAAGA,wBAAsB,GAAG,QAAQ,KAAM;AACnD,MAAI,QAAQ,kBACX,UAAS,QAAQ;CAElB;CAGD,MAAM,SAAS,WAAW;EACzB;EACA;EACA,WAAW;CACX,EAAC;AAEF,QAAO;AACP"}
@@ -0,0 +1,95 @@
1
+ const require_chunk = require('./chunk-CUT6urMc.cjs');
2
+ const __geekmidas_logger_redact = require_chunk.__toESM(require("@geekmidas/logger/redact"));
3
+ const __pinojs_redact = require_chunk.__toESM(require("@pinojs/redact"));
4
+
5
+ //#region src/redact.ts
6
+ /**
7
+ * Telescope-specific redaction paths for HTTP request/response data.
8
+ * These extend the base paths from @geekmidas/logger.
9
+ */
10
+ const TELESCOPE_SPECIFIC_PATHS = [
11
+ "responseHeaders.set-cookie",
12
+ "responseHeaders.Set-Cookie",
13
+ "body.password",
14
+ "body.token",
15
+ "body.accessToken",
16
+ "body.refreshToken",
17
+ "body.apiKey",
18
+ "body.secret",
19
+ "body.creditCard",
20
+ "body.cardNumber",
21
+ "body.cvv",
22
+ "body.ssn",
23
+ "body.*.password",
24
+ "body.*.token",
25
+ "body.*.secret",
26
+ "body.*.apiKey",
27
+ "responseBody.password",
28
+ "responseBody.token",
29
+ "responseBody.accessToken",
30
+ "responseBody.refreshToken",
31
+ "responseBody.secret",
32
+ "responseBody.*.password",
33
+ "responseBody.*.token",
34
+ "responseBody.*.secret",
35
+ "query.token",
36
+ "query.api_key",
37
+ "query.apiKey",
38
+ "query.access_token",
39
+ "query.secret",
40
+ "context.password",
41
+ "context.token",
42
+ "context.secret",
43
+ "context.apiKey",
44
+ "context.*.password",
45
+ "context.*.token",
46
+ "context.*.secret"
47
+ ];
48
+ /**
49
+ * Combined default paths for Telescope redaction.
50
+ * Includes base paths from @geekmidas/logger plus telescope-specific HTTP paths.
51
+ */
52
+ const DEFAULT_REDACT_PATHS = [...__geekmidas_logger_redact.DEFAULT_REDACT_PATHS, ...TELESCOPE_SPECIFIC_PATHS];
53
+ /**
54
+ * Creates a redactor function based on the provided options.
55
+ *
56
+ * @param options - Redaction configuration
57
+ * @returns A redactor function, or undefined if redaction is disabled
58
+ *
59
+ * @example
60
+ * const redactor = createRedactor(true);
61
+ * const safe = redactor({ headers: { authorization: 'Bearer secret' } });
62
+ * // safe.headers.authorization === '[REDACTED]'
63
+ */
64
+ function createRedactor(options) {
65
+ if (options === void 0 || options === false) return void 0;
66
+ let paths;
67
+ let censor = "[REDACTED]";
68
+ if (options === true) paths = DEFAULT_REDACT_PATHS;
69
+ else if (Array.isArray(options)) paths = [...DEFAULT_REDACT_PATHS, ...options];
70
+ else {
71
+ paths = [...DEFAULT_REDACT_PATHS, ...options.paths];
72
+ if (options.censor !== void 0) censor = options.censor;
73
+ }
74
+ const redact = (0, __pinojs_redact.default)({
75
+ paths,
76
+ censor,
77
+ serialize: false
78
+ });
79
+ return redact;
80
+ }
81
+
82
+ //#endregion
83
+ Object.defineProperty(exports, 'DEFAULT_REDACT_PATHS', {
84
+ enumerable: true,
85
+ get: function () {
86
+ return DEFAULT_REDACT_PATHS;
87
+ }
88
+ });
89
+ Object.defineProperty(exports, 'createRedactor', {
90
+ enumerable: true,
91
+ get: function () {
92
+ return createRedactor;
93
+ }
94
+ });
95
+ //# sourceMappingURL=redact-DVaSSPZT.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact-DVaSSPZT.cjs","names":["TELESCOPE_SPECIFIC_PATHS: string[]","DEFAULT_REDACT_PATHS: string[]","BASE_REDACT_PATHS","options: TelescopeRedactOptions | undefined","paths: string[]","censor: string"],"sources":["../src/redact.ts"],"sourcesContent":["import { DEFAULT_REDACT_PATHS as BASE_REDACT_PATHS } from '@geekmidas/logger/redact';\nimport pinoRedact from '@pinojs/redact';\nimport type { TelescopeRedactOptions } from './types';\n\n/**\n * Telescope-specific redaction paths for HTTP request/response data.\n * These extend the base paths from @geekmidas/logger.\n */\nconst TELESCOPE_SPECIFIC_PATHS: string[] = [\n\t// Response headers (telescope-specific)\n\t'responseHeaders.set-cookie',\n\t'responseHeaders.Set-Cookie',\n\n\t// Request body fields\n\t'body.password',\n\t'body.token',\n\t'body.accessToken',\n\t'body.refreshToken',\n\t'body.apiKey',\n\t'body.secret',\n\t'body.creditCard',\n\t'body.cardNumber',\n\t'body.cvv',\n\t'body.ssn',\n\n\t// Nested body patterns (wildcards)\n\t'body.*.password',\n\t'body.*.token',\n\t'body.*.secret',\n\t'body.*.apiKey',\n\n\t// Response body fields\n\t'responseBody.password',\n\t'responseBody.token',\n\t'responseBody.accessToken',\n\t'responseBody.refreshToken',\n\t'responseBody.secret',\n\t'responseBody.*.password',\n\t'responseBody.*.token',\n\t'responseBody.*.secret',\n\n\t// Query parameters\n\t'query.token',\n\t'query.api_key',\n\t'query.apiKey',\n\t'query.access_token',\n\t'query.secret',\n\n\t// Log context patterns\n\t'context.password',\n\t'context.token',\n\t'context.secret',\n\t'context.apiKey',\n\t'context.*.password',\n\t'context.*.token',\n\t'context.*.secret',\n];\n\n/**\n * Combined default paths for Telescope redaction.\n * Includes base paths from @geekmidas/logger plus telescope-specific HTTP paths.\n */\nexport const DEFAULT_REDACT_PATHS: string[] = [\n\t...BASE_REDACT_PATHS,\n\t...TELESCOPE_SPECIFIC_PATHS,\n];\n\n/**\n * Type for the redactor function returned by @pinojs/redact\n */\nexport type Redactor = <T>(obj: T) => T;\n\n/**\n * Creates a redactor function based on the provided options.\n *\n * @param options - Redaction configuration\n * @returns A redactor function, or undefined if redaction is disabled\n *\n * @example\n * const redactor = createRedactor(true);\n * const safe = redactor({ headers: { authorization: 'Bearer secret' } });\n * // safe.headers.authorization === '[REDACTED]'\n */\nexport function createRedactor(\n\toptions: TelescopeRedactOptions | undefined,\n): Redactor | undefined {\n\tif (options === undefined || options === false) {\n\t\treturn undefined;\n\t}\n\n\tlet paths: string[];\n\tlet censor: string = '[REDACTED]';\n\n\tif (options === true) {\n\t\t// Use defaults only\n\t\tpaths = DEFAULT_REDACT_PATHS;\n\t} else if (Array.isArray(options)) {\n\t\t// Merge custom paths with defaults\n\t\tpaths = [...DEFAULT_REDACT_PATHS, ...options];\n\t} else {\n\t\t// Object configuration\n\t\tpaths = [...DEFAULT_REDACT_PATHS, ...options.paths];\n\t\tif (options.censor !== undefined) {\n\t\t\tcensor = options.censor;\n\t\t}\n\t}\n\n\t// Create the redactor with serialize: false to return objects\n\tconst redact = pinoRedact({\n\t\tpaths,\n\t\tcensor,\n\t\tserialize: false,\n\t});\n\n\treturn redact as Redactor;\n}\n"],"mappings":";;;;;;;;;AAQA,MAAMA,2BAAqC;CAE1C;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;AACA;;;;;AAMD,MAAaC,uBAAiC,CAC7C,GAAGC,gDACH,GAAG,wBACH;;;;;;;;;;;;AAkBD,SAAgB,eACfC,SACuB;AACvB,KAAI,sBAAyB,YAAY,MACxC;CAGD,IAAIC;CACJ,IAAIC,SAAiB;AAErB,KAAI,YAAY,KAEf,SAAQ;UACE,MAAM,QAAQ,QAAQ,CAEhC,SAAQ,CAAC,GAAG,sBAAsB,GAAG,OAAQ;MACvC;AAEN,UAAQ,CAAC,GAAG,sBAAsB,GAAG,QAAQ,KAAM;AACnD,MAAI,QAAQ,kBACX,UAAS,QAAQ;CAElB;CAGD,MAAM,SAAS,6BAAW;EACzB;EACA;EACA,WAAW;CACX,EAAC;AAEF,QAAO;AACP"}
package/dist/redact.cjs CHANGED
@@ -1,85 +1,4 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_rolldown_runtime = require("./rolldown-runtime-VH7oDXx4.cjs");
3
- let _geekmidas_logger_redact = require("@geekmidas/logger/redact");
4
- let _pinojs_redact = require("@pinojs/redact");
5
- _pinojs_redact = require_rolldown_runtime.__toESM(_pinojs_redact, 1);
6
- //#region src/redact.ts
7
- /**
8
- * Telescope-specific redaction paths for HTTP request/response data.
9
- * These extend the base paths from @geekmidas/logger.
10
- */
11
- const TELESCOPE_SPECIFIC_PATHS = [
12
- "responseHeaders.set-cookie",
13
- "responseHeaders.Set-Cookie",
14
- "body.password",
15
- "body.token",
16
- "body.accessToken",
17
- "body.refreshToken",
18
- "body.apiKey",
19
- "body.secret",
20
- "body.creditCard",
21
- "body.cardNumber",
22
- "body.cvv",
23
- "body.ssn",
24
- "body.*.password",
25
- "body.*.token",
26
- "body.*.secret",
27
- "body.*.apiKey",
28
- "responseBody.password",
29
- "responseBody.token",
30
- "responseBody.accessToken",
31
- "responseBody.refreshToken",
32
- "responseBody.secret",
33
- "responseBody.*.password",
34
- "responseBody.*.token",
35
- "responseBody.*.secret",
36
- "query.token",
37
- "query.api_key",
38
- "query.apiKey",
39
- "query.access_token",
40
- "query.secret",
41
- "context.password",
42
- "context.token",
43
- "context.secret",
44
- "context.apiKey",
45
- "context.*.password",
46
- "context.*.token",
47
- "context.*.secret"
48
- ];
49
- /**
50
- * Combined default paths for Telescope redaction.
51
- * Includes base paths from @geekmidas/logger plus telescope-specific HTTP paths.
52
- */
53
- const DEFAULT_REDACT_PATHS = [..._geekmidas_logger_redact.DEFAULT_REDACT_PATHS, ...TELESCOPE_SPECIFIC_PATHS];
54
- /**
55
- * Creates a redactor function based on the provided options.
56
- *
57
- * @param options - Redaction configuration
58
- * @returns A redactor function, or undefined if redaction is disabled
59
- *
60
- * @example
61
- * const redactor = createRedactor(true);
62
- * const safe = redactor({ headers: { authorization: 'Bearer secret' } });
63
- * // safe.headers.authorization === '[REDACTED]'
64
- */
65
- function createRedactor(options) {
66
- if (options === void 0 || options === false) return;
67
- let paths;
68
- let censor = "[REDACTED]";
69
- if (options === true) paths = DEFAULT_REDACT_PATHS;
70
- else if (Array.isArray(options)) paths = [...DEFAULT_REDACT_PATHS, ...options];
71
- else {
72
- paths = [...DEFAULT_REDACT_PATHS, ...options.paths];
73
- if (options.censor !== void 0) censor = options.censor;
74
- }
75
- return (0, _pinojs_redact.default)({
76
- paths,
77
- censor,
78
- serialize: false
79
- });
80
- }
81
- //#endregion
82
- exports.DEFAULT_REDACT_PATHS = DEFAULT_REDACT_PATHS;
83
- exports.createRedactor = createRedactor;
1
+ const require_redact = require('./redact-DVaSSPZT.cjs');
84
2
 
85
- //# sourceMappingURL=redact.cjs.map
3
+ exports.DEFAULT_REDACT_PATHS = require_redact.DEFAULT_REDACT_PATHS;
4
+ exports.createRedactor = require_redact.createRedactor;
package/dist/redact.d.cts CHANGED
@@ -1,14 +1,16 @@
1
- import { b as TelescopeRedactOptions } from "./types-BVujq4zd.cjs";
1
+ import { TelescopeRedactOptions } from "./types-l7Rlb5Mg.cjs";
2
+
2
3
  //#region src/redact.d.ts
4
+
3
5
  /**
4
6
  * Combined default paths for Telescope redaction.
5
7
  * Includes base paths from @geekmidas/logger plus telescope-specific HTTP paths.
6
8
  */
7
- export declare const DEFAULT_REDACT_PATHS: string[];
9
+ declare const DEFAULT_REDACT_PATHS: string[];
8
10
  /**
9
11
  * Type for the redactor function returned by @pinojs/redact
10
12
  */
11
- export type Redactor = <T>(obj: T) => T;
13
+ type Redactor = <T>(obj: T) => T;
12
14
  /**
13
15
  * Creates a redactor function based on the provided options.
14
16
  *
@@ -20,6 +22,8 @@ export type Redactor = <T>(obj: T) => T;
20
22
  * const safe = redactor({ headers: { authorization: 'Bearer secret' } });
21
23
  * // safe.headers.authorization === '[REDACTED]'
22
24
  */
23
- export declare function createRedactor(options: TelescopeRedactOptions | undefined): Redactor | undefined;
25
+ declare function createRedactor(options: TelescopeRedactOptions | undefined): Redactor | undefined;
26
+ //# sourceMappingURL=redact.d.ts.map
24
27
  //#endregion
28
+ export { DEFAULT_REDACT_PATHS, Redactor, createRedactor };
25
29
  //# sourceMappingURL=redact.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redact.d.cts","names":[],"sources":["../src/redact.ts"],"mappings":";;;;;;qBA8Da;;;;YAQD,YAAY,GAAG,KAAK,MAAM;;;;;;;;;;;;wBAatB,eACf,SAAS,qCACP"}
1
+ {"version":3,"file":"redact.d.cts","names":[],"sources":["../src/redact.ts"],"sourcesContent":[],"mappings":";;;;;;AA8DA;AAQA;AAAoB,cARP,oBAQO,EAAA,MAAA,EAAA;;;AAAmB;AAavB,KAbJ,QAAA,GAakB,CAAA,CAAA,CAAA,CAAA,GAAA,EAbE,CAaF,EAAA,GAbQ,CAaR;;;;AAEnB;;;;;;;;iBAFK,cAAA,UACN,qCACP"}
package/dist/redact.d.mts CHANGED
@@ -1,14 +1,16 @@
1
- import { b as TelescopeRedactOptions } from "./types-BVujq4zd.mjs";
1
+ import { TelescopeRedactOptions } from "./types-B1EIa_cQ.mjs";
2
+
2
3
  //#region src/redact.d.ts
4
+
3
5
  /**
4
6
  * Combined default paths for Telescope redaction.
5
7
  * Includes base paths from @geekmidas/logger plus telescope-specific HTTP paths.
6
8
  */
7
- export declare const DEFAULT_REDACT_PATHS: string[];
9
+ declare const DEFAULT_REDACT_PATHS: string[];
8
10
  /**
9
11
  * Type for the redactor function returned by @pinojs/redact
10
12
  */
11
- export type Redactor = <T>(obj: T) => T;
13
+ type Redactor = <T>(obj: T) => T;
12
14
  /**
13
15
  * Creates a redactor function based on the provided options.
14
16
  *
@@ -20,6 +22,8 @@ export type Redactor = <T>(obj: T) => T;
20
22
  * const safe = redactor({ headers: { authorization: 'Bearer secret' } });
21
23
  * // safe.headers.authorization === '[REDACTED]'
22
24
  */
23
- export declare function createRedactor(options: TelescopeRedactOptions | undefined): Redactor | undefined;
25
+ declare function createRedactor(options: TelescopeRedactOptions | undefined): Redactor | undefined;
26
+ //# sourceMappingURL=redact.d.ts.map
24
27
  //#endregion
28
+ export { DEFAULT_REDACT_PATHS, Redactor, createRedactor };
25
29
  //# sourceMappingURL=redact.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redact.d.mts","names":[],"sources":["../src/redact.ts"],"mappings":";;;;;;qBA8Da;;;;YAQD,YAAY,GAAG,KAAK,MAAM;;;;;;;;;;;;wBAatB,eACf,SAAS,qCACP"}
1
+ {"version":3,"file":"redact.d.mts","names":[],"sources":["../src/redact.ts"],"sourcesContent":[],"mappings":";;;;;;AA8DA;AAQA;AAAoB,cARP,oBAQO,EAAA,MAAA,EAAA;;;AAAmB;AAavB,KAbJ,QAAA,GAakB,CAAA,CAAA,CAAA,CAAA,GAAA,EAbE,CAaF,EAAA,GAbQ,CAaR;;;;AAEnB;;;;;;;;iBAFK,cAAA,UACN,qCACP"}
package/dist/redact.mjs CHANGED
@@ -1,81 +1,3 @@
1
- import { DEFAULT_REDACT_PATHS as DEFAULT_REDACT_PATHS$1 } from "@geekmidas/logger/redact";
2
- import pinoRedact from "@pinojs/redact";
3
- //#region src/redact.ts
4
- /**
5
- * Telescope-specific redaction paths for HTTP request/response data.
6
- * These extend the base paths from @geekmidas/logger.
7
- */
8
- const TELESCOPE_SPECIFIC_PATHS = [
9
- "responseHeaders.set-cookie",
10
- "responseHeaders.Set-Cookie",
11
- "body.password",
12
- "body.token",
13
- "body.accessToken",
14
- "body.refreshToken",
15
- "body.apiKey",
16
- "body.secret",
17
- "body.creditCard",
18
- "body.cardNumber",
19
- "body.cvv",
20
- "body.ssn",
21
- "body.*.password",
22
- "body.*.token",
23
- "body.*.secret",
24
- "body.*.apiKey",
25
- "responseBody.password",
26
- "responseBody.token",
27
- "responseBody.accessToken",
28
- "responseBody.refreshToken",
29
- "responseBody.secret",
30
- "responseBody.*.password",
31
- "responseBody.*.token",
32
- "responseBody.*.secret",
33
- "query.token",
34
- "query.api_key",
35
- "query.apiKey",
36
- "query.access_token",
37
- "query.secret",
38
- "context.password",
39
- "context.token",
40
- "context.secret",
41
- "context.apiKey",
42
- "context.*.password",
43
- "context.*.token",
44
- "context.*.secret"
45
- ];
46
- /**
47
- * Combined default paths for Telescope redaction.
48
- * Includes base paths from @geekmidas/logger plus telescope-specific HTTP paths.
49
- */
50
- const DEFAULT_REDACT_PATHS = [...DEFAULT_REDACT_PATHS$1, ...TELESCOPE_SPECIFIC_PATHS];
51
- /**
52
- * Creates a redactor function based on the provided options.
53
- *
54
- * @param options - Redaction configuration
55
- * @returns A redactor function, or undefined if redaction is disabled
56
- *
57
- * @example
58
- * const redactor = createRedactor(true);
59
- * const safe = redactor({ headers: { authorization: 'Bearer secret' } });
60
- * // safe.headers.authorization === '[REDACTED]'
61
- */
62
- function createRedactor(options) {
63
- if (options === void 0 || options === false) return;
64
- let paths;
65
- let censor = "[REDACTED]";
66
- if (options === true) paths = DEFAULT_REDACT_PATHS;
67
- else if (Array.isArray(options)) paths = [...DEFAULT_REDACT_PATHS, ...options];
68
- else {
69
- paths = [...DEFAULT_REDACT_PATHS, ...options.paths];
70
- if (options.censor !== void 0) censor = options.censor;
71
- }
72
- return pinoRedact({
73
- paths,
74
- censor,
75
- serialize: false
76
- });
77
- }
78
- //#endregion
79
- export { DEFAULT_REDACT_PATHS, createRedactor };
1
+ import { DEFAULT_REDACT_PATHS, createRedactor } from "./redact-BzkITCNW.mjs";
80
2
 
81
- //# sourceMappingURL=redact.mjs.map
3
+ export { DEFAULT_REDACT_PATHS, createRedactor };
@@ -1,5 +1,7 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- let hono = require("hono");
1
+ const require_chunk = require('../chunk-CUT6urMc.cjs');
2
+ const require_ui_assets = require('../ui-assets-BEXqOQLe.cjs');
3
+ const hono = require_chunk.__toESM(require("hono"));
4
+
3
5
  //#region src/server/hono.ts
4
6
  let _flushTelemetry = null;
5
7
  async function getFlushTelemetry() {
@@ -56,8 +58,10 @@ function createMiddleware(telescope, options = {}) {
56
58
  const responseContentLength = c.res.headers.get("content-length");
57
59
  if (responseContentLength) responseSize = parseInt(responseContentLength, 10);
58
60
  if (telescope.recordBody) try {
59
- if ((c.res.headers.get("content-type") || "").includes("application/json")) {
60
- const text = await c.res.clone().text();
61
+ const contentType = c.res.headers.get("content-type") || "";
62
+ if (contentType.includes("application/json")) {
63
+ const cloned = c.res.clone();
64
+ const text = await cloned.text();
61
65
  responseSize ??= Buffer.byteLength(text, "utf8");
62
66
  try {
63
67
  responseBody = JSON.parse(text);
@@ -66,26 +70,30 @@ function createMiddleware(telescope, options = {}) {
66
70
  }
67
71
  }
68
72
  } catch {}
73
+ const requestId = await telescope.recordRequest({
74
+ method: c.req.method,
75
+ path: c.req.path,
76
+ url: c.req.url,
77
+ headers,
78
+ body,
79
+ query,
80
+ status: c.res.status,
81
+ responseHeaders,
82
+ responseBody,
83
+ duration,
84
+ ip,
85
+ requestSize,
86
+ responseSize
87
+ });
69
88
  const ctx = {
70
- requestId: await telescope.recordRequest({
71
- method: c.req.method,
72
- path: c.req.path,
73
- url: c.req.url,
74
- headers,
75
- body,
76
- query,
77
- status: c.res.status,
78
- responseHeaders,
79
- responseBody,
80
- duration,
81
- ip,
82
- requestSize,
83
- responseSize
84
- }),
89
+ requestId,
85
90
  startTime
86
91
  };
87
92
  c.set(CONTEXT_KEY, ctx);
88
- if (flushOnResponse) await (await getFlushTelemetry())();
93
+ if (flushOnResponse) {
94
+ const flushTelemetry = await getFlushTelemetry();
95
+ await flushTelemetry();
96
+ }
89
97
  } catch (error) {
90
98
  await telescope.exception(error);
91
99
  throw error;
@@ -135,17 +143,9 @@ function parseMetricsQueryOptions(c) {
135
143
  };
136
144
  }
137
145
  /**
138
- * Telescope's JSON API: requests, exceptions, logs, stats and metrics under
139
- * `/api/*`. Headless — there is no dashboard; anything can be built on the
140
- * JSON, and live updates come from the WebSocket feed (`setupWebSocket`).
141
- *
142
- * @example
143
- * ```typescript
144
- * app.route('/__telescope', createApi(telescope));
145
- * // GET /__telescope/api/requests
146
- * ```
146
+ * Create Hono app with dashboard UI and API routes
147
147
  */
148
- function createApi(telescope) {
148
+ function createUI(telescope) {
149
149
  const app = new hono.Hono();
150
150
  app.get("/api/requests", async (c) => {
151
151
  const options = parseQueryOptions(c);
@@ -204,6 +204,26 @@ function createApi(telescope) {
204
204
  telescope.resetMetrics();
205
205
  return c.json({ success: true });
206
206
  });
207
+ app.get("/assets/:filename", (c) => {
208
+ const filename = c.req.param("filename");
209
+ const assetPath = `assets/${filename}`;
210
+ const asset = require_ui_assets.getAsset(assetPath);
211
+ if (asset) return c.body(asset.content, 200, {
212
+ "Content-Type": asset.contentType,
213
+ "Cache-Control": "public, max-age=31536000, immutable"
214
+ });
215
+ return c.notFound();
216
+ });
217
+ app.get("/", (c) => {
218
+ const html = require_ui_assets.getIndexHtml();
219
+ if (!html) return c.text("Telescope UI not available. Run \"pnpm build:ui\" first.", 500);
220
+ return c.html(html);
221
+ });
222
+ app.get("/*", (c) => {
223
+ const html = require_ui_assets.getIndexHtml();
224
+ if (!html) return c.text("Telescope UI not available. Run \"pnpm build:ui\" first.", 500);
225
+ return c.html(html);
226
+ });
207
227
  return app;
208
228
  }
209
229
  /**
@@ -222,7 +242,8 @@ function setupWebSocket(app, telescope, upgradeWebSocket, options = {}) {
222
242
  },
223
243
  onMessage: (event, ws) => {
224
244
  try {
225
- if (JSON.parse(event.data).type === "ping") ws.send(JSON.stringify({ type: "pong" }));
245
+ const data = JSON.parse(event.data);
246
+ if (data.type === "ping") ws.send(JSON.stringify({ type: "pong" }));
226
247
  } catch {}
227
248
  }
228
249
  })));
@@ -239,12 +260,12 @@ function getTelescopeContext(c) {
239
260
  function getRequestId(c) {
240
261
  return getTelescopeContext(c)?.requestId;
241
262
  }
263
+
242
264
  //#endregion
243
- exports.createApi = createApi;
244
265
  exports.createMiddleware = createMiddleware;
266
+ exports.createUI = createUI;
245
267
  exports.getFlushTelemetryFn = getFlushTelemetry;
246
268
  exports.getRequestId = getRequestId;
247
269
  exports.getTelescopeContext = getTelescopeContext;
248
270
  exports.setupWebSocket = setupWebSocket;
249
-
250
271
  //# sourceMappingURL=hono.cjs.map