@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.
- package/CHANGELOG.md +79 -0
- package/README.md +18 -28
- package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts +47 -0
- package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts.map +1 -0
- package/dist/InMemoryMetricsStorage-C4drxT7G.mjs +247 -0
- package/dist/InMemoryMetricsStorage-C4drxT7G.mjs.map +1 -0
- package/dist/InMemoryMetricsStorage-D0njWUSi.cjs +252 -0
- package/dist/InMemoryMetricsStorage-D0njWUSi.cjs.map +1 -0
- package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts +47 -0
- package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts.map +1 -0
- package/dist/{MetricsAggregator-BJdIvfEv.d.mts → MetricsAggregator-4SqelGcG.d.cts} +6 -3
- package/dist/MetricsAggregator-4SqelGcG.d.cts.map +1 -0
- package/dist/MetricsAggregator-B7lUICdH.cjs +363 -0
- package/dist/MetricsAggregator-B7lUICdH.cjs.map +1 -0
- package/dist/{MetricsAggregator-CnC3oT5q.d.cts → MetricsAggregator-DZrW8ls6.d.mts} +6 -3
- package/dist/MetricsAggregator-DZrW8ls6.d.mts.map +1 -0
- package/dist/MetricsAggregator-S3DQWNas.mjs +357 -0
- package/dist/MetricsAggregator-S3DQWNas.mjs.map +1 -0
- package/dist/MetricsStorage-B86e4131.d.cts +60 -0
- package/dist/MetricsStorage-B86e4131.d.cts.map +1 -0
- package/dist/MetricsStorage-BWyP2_12.d.mts +60 -0
- package/dist/MetricsStorage-BWyP2_12.d.mts.map +1 -0
- package/dist/MetricsStorage-BypQXWiv.mjs +0 -0
- package/dist/MetricsStorage-Or8pVCe4.cjs +0 -0
- package/dist/Telescope-Cs3fv8jt.cjs +395 -0
- package/dist/Telescope-Cs3fv8jt.cjs.map +1 -0
- package/dist/{Telescope-BVfDvVvY.d.mts → Telescope-D4nmwDRA.d.cts} +7 -4
- package/dist/Telescope-D4nmwDRA.d.cts.map +1 -0
- package/dist/Telescope-Dh5av3FC.mjs +389 -0
- package/dist/Telescope-Dh5av3FC.mjs.map +1 -0
- package/dist/{Telescope-DeqSHfuB.d.cts → Telescope-Dl6VSfxd.d.mts} +7 -4
- package/dist/Telescope-Dl6VSfxd.d.mts.map +1 -0
- package/dist/Telescope.cjs +4 -385
- package/dist/Telescope.d.cts +3 -1
- package/dist/Telescope.d.mts +3 -1
- package/dist/Telescope.mjs +4 -384
- package/dist/adapters/index.d.cts +2 -2
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/index.mjs +0 -1
- package/dist/adapters/lambda.cjs +10 -9
- package/dist/adapters/lambda.cjs.map +1 -1
- package/dist/adapters/lambda.d.cts +13 -9
- package/dist/adapters/lambda.d.cts.map +1 -1
- package/dist/adapters/lambda.d.mts +13 -9
- package/dist/adapters/lambda.d.mts.map +1 -1
- package/dist/adapters/lambda.mjs +4 -3
- package/dist/adapters/lambda.mjs.map +1 -1
- package/dist/adapters/middy.cjs +4 -236
- package/dist/adapters/middy.d.cts +5 -60
- package/dist/adapters/middy.d.mts +5 -60
- package/dist/adapters/middy.mjs +3 -234
- package/dist/adapters/types.d.cts +2 -162
- package/dist/adapters/types.d.mts +2 -162
- package/dist/adapters/types.mjs +0 -1
- package/dist/{rolldown-runtime-VH7oDXx4.cjs → chunk-CUT6urMc.cjs} +10 -8
- package/dist/core--quSp5Qr.d.mts +78 -0
- package/dist/core--quSp5Qr.d.mts.map +1 -0
- package/dist/core-B4Jpia5H.d.cts +78 -0
- package/dist/core-B4Jpia5H.d.cts.map +1 -0
- package/dist/core-CtVHRJGv.cjs +199 -0
- package/dist/core-CtVHRJGv.cjs.map +1 -0
- package/dist/core-D6hJ6exL.mjs +139 -0
- package/dist/core-D6hJ6exL.mjs.map +1 -0
- package/dist/core.cjs +22 -22
- package/dist/core.d.cts +4 -4
- package/dist/core.d.mts +4 -4
- package/dist/core.mjs +4 -3
- package/dist/hono--uKQ7Jgi.d.mts +71 -0
- package/dist/hono--uKQ7Jgi.d.mts.map +1 -0
- package/dist/hono-C4EgpbKQ.cjs +160 -0
- package/dist/hono-C4EgpbKQ.cjs.map +1 -0
- package/dist/hono-CemCKU87.d.cts +71 -0
- package/dist/hono-CemCKU87.d.cts.map +1 -0
- package/dist/hono-DxhvnVbF.mjs +136 -0
- package/dist/hono-DxhvnVbF.mjs.map +1 -0
- package/dist/http-BiNtg85L.d.mts +107 -0
- package/dist/http-BiNtg85L.d.mts.map +1 -0
- package/dist/http-DQzgLczm.mjs +159 -0
- package/dist/http-DQzgLczm.mjs.map +1 -0
- package/dist/http-D_Z8sYXZ.cjs +219 -0
- package/dist/http-D_Z8sYXZ.cjs.map +1 -0
- package/dist/http-Dvca6fC3.d.cts +107 -0
- package/dist/http-Dvca6fC3.d.cts.map +1 -0
- package/dist/index-BL32-cvv.d.cts +1 -0
- package/dist/index-CsuikFeJ.d.mts +1 -0
- package/dist/index.cjs +9 -8
- package/dist/index.d.cts +6 -5
- package/dist/index.d.mts +6 -5
- package/dist/index.mjs +7 -5
- package/dist/instrumentation/core.cjs +11 -147
- package/dist/instrumentation/core.d.cts +3 -74
- package/dist/instrumentation/core.d.mts +3 -74
- package/dist/instrumentation/core.mjs +2 -137
- package/dist/instrumentation/hono.cjs +6 -174
- package/dist/instrumentation/hono.d.cts +2 -86
- package/dist/instrumentation/hono.d.mts +2 -86
- package/dist/instrumentation/hono.mjs +3 -170
- package/dist/instrumentation/http.cjs +11 -189
- package/dist/instrumentation/http.d.cts +2 -119
- package/dist/instrumentation/http.d.mts +2 -119
- package/dist/instrumentation/http.mjs +2 -178
- package/dist/instrumentation/index.cjs +47 -56
- package/dist/instrumentation/index.d.cts +9 -11
- package/dist/instrumentation/index.d.mts +9 -11
- package/dist/instrumentation/index.mjs +9 -10
- package/dist/instrumentation/middleware.cjs +6 -164
- package/dist/instrumentation/middleware.d.cts +2 -83
- package/dist/instrumentation/middleware.d.mts +2 -83
- package/dist/instrumentation/middleware.mjs +3 -160
- package/dist/instrumentation/otel.cjs +3 -137
- package/dist/instrumentation/otel.d.cts +2 -97
- package/dist/instrumentation/otel.d.mts +2 -97
- package/dist/instrumentation/otel.mjs +3 -136
- package/dist/instrumentation/setup.cjs +4 -142
- package/dist/instrumentation/setup.d.cts +3 -139
- package/dist/instrumentation/setup.d.mts +3 -139
- package/dist/instrumentation/setup.mjs +3 -139
- package/dist/instrumentation/tracing.cjs +10 -114
- package/dist/instrumentation/tracing.d.cts +2 -49
- package/dist/instrumentation/tracing.d.mts +2 -49
- package/dist/instrumentation/tracing.mjs +2 -105
- package/dist/logger/console.cjs +12 -18
- package/dist/logger/console.cjs.map +1 -1
- package/dist/logger/console.d.cts +10 -7
- package/dist/logger/console.d.cts.map +1 -1
- package/dist/logger/console.d.mts +10 -7
- package/dist/logger/console.d.mts.map +1 -1
- package/dist/logger/console.mjs +11 -17
- package/dist/logger/console.mjs.map +1 -1
- package/dist/logger/pino.cjs +5 -6
- package/dist/logger/pino.cjs.map +1 -1
- package/dist/logger/pino.d.cts +10 -6
- package/dist/logger/pino.d.cts.map +1 -1
- package/dist/logger/pino.d.mts +10 -6
- package/dist/logger/pino.d.mts.map +1 -1
- package/dist/logger/pino.mjs +3 -2
- package/dist/logger/pino.mjs.map +1 -1
- package/dist/memory--BK4iWiv.d.cts +40 -0
- package/dist/memory--BK4iWiv.d.cts.map +1 -0
- package/dist/memory-6S9H-IF5.mjs +123 -0
- package/dist/memory-6S9H-IF5.mjs.map +1 -0
- package/dist/memory-B0d_n1g5.cjs +129 -0
- package/dist/memory-B0d_n1g5.cjs.map +1 -0
- package/dist/memory-DCirEVFW.d.mts +40 -0
- package/dist/memory-DCirEVFW.d.mts.map +1 -0
- package/dist/metrics/MetricsAggregator.cjs +2 -354
- package/dist/metrics/MetricsAggregator.d.cts +2 -1
- package/dist/metrics/MetricsAggregator.d.mts +2 -1
- package/dist/metrics/MetricsAggregator.mjs +2 -353
- package/dist/metrics/index.cjs +4 -3
- package/dist/metrics/index.d.cts +4 -2
- package/dist/metrics/index.d.mts +4 -2
- package/dist/metrics/index.mjs +4 -2
- package/dist/metrics/storage/InMemoryMetricsStorage.cjs +3 -240
- package/dist/metrics/storage/InMemoryMetricsStorage.d.cts +4 -43
- package/dist/metrics/storage/InMemoryMetricsStorage.d.mts +4 -43
- package/dist/metrics/storage/InMemoryMetricsStorage.mjs +3 -239
- package/dist/metrics/storage/MetricsStorage.cjs +1 -0
- package/dist/metrics/storage/MetricsStorage.d.cts +3 -56
- package/dist/metrics/storage/MetricsStorage.d.mts +3 -56
- package/dist/metrics/storage/MetricsStorage.mjs +1 -1
- package/dist/metrics/storage/index.cjs +6 -6
- package/dist/metrics/storage/index.d.cts +3 -3
- package/dist/metrics/storage/index.d.mts +3 -3
- package/dist/metrics/storage/index.mjs +5 -4
- package/dist/metrics/storage/types.cjs +2 -34
- package/dist/metrics/storage/types.d.cts +2 -207
- package/dist/metrics/storage/types.d.mts +2 -207
- package/dist/metrics/storage/types.mjs +2 -33
- package/dist/metrics-D5YT-Rnq.mjs +0 -0
- package/dist/metrics-fhD3l3C3.cjs +0 -0
- package/dist/middleware-B2jFUukM.cjs +184 -0
- package/dist/middleware-B2jFUukM.cjs.map +1 -0
- package/dist/middleware-BTDncHwm.mjs +160 -0
- package/dist/middleware-BTDncHwm.mjs.map +1 -0
- package/dist/middleware-CA84nsNN.d.cts +74 -0
- package/dist/middleware-CA84nsNN.d.cts.map +1 -0
- package/dist/middleware-DAceVpfw.d.mts +74 -0
- package/dist/middleware-DAceVpfw.d.mts.map +1 -0
- package/dist/middy-B6Btl8XE.d.mts +64 -0
- package/dist/middy-B6Btl8XE.d.mts.map +1 -0
- package/dist/middy-BTR3cyvk.mjs +236 -0
- package/dist/middy-BTR3cyvk.mjs.map +1 -0
- package/dist/middy-Bq0defVg.d.cts +64 -0
- package/dist/middy-Bq0defVg.d.cts.map +1 -0
- package/dist/middy-y5Zp27eG.cjs +247 -0
- package/dist/middy-y5Zp27eG.cjs.map +1 -0
- package/dist/otel-1bJPb2Z7.d.mts +101 -0
- package/dist/otel-1bJPb2Z7.d.mts.map +1 -0
- package/dist/otel-C1HqHA2O.cjs +136 -0
- package/dist/otel-C1HqHA2O.cjs.map +1 -0
- package/dist/otel-SBVoVEHr.d.cts +101 -0
- package/dist/otel-SBVoVEHr.d.cts.map +1 -0
- package/dist/otel-wulj5B-X.mjs +130 -0
- package/dist/otel-wulj5B-X.mjs.map +1 -0
- package/dist/otlp/hono.cjs +15 -9
- package/dist/otlp/hono.cjs.map +1 -1
- package/dist/otlp/hono.d.cts +13 -3
- package/dist/otlp/hono.d.cts.map +1 -1
- package/dist/otlp/hono.d.mts +13 -3
- package/dist/otlp/hono.d.mts.map +1 -1
- package/dist/otlp/hono.mjs +11 -5
- package/dist/otlp/hono.mjs.map +1 -1
- package/dist/otlp/index.cjs +11 -11
- package/dist/otlp/index.d.cts +7 -4
- package/dist/otlp/index.d.mts +7 -4
- package/dist/otlp/index.mjs +5 -4
- package/dist/otlp/receiver.cjs +4 -88
- package/dist/otlp/receiver.d.cts +7 -59
- package/dist/otlp/receiver.d.mts +7 -59
- package/dist/otlp/receiver.mjs +4 -87
- package/dist/otlp/transformer.cjs +5 -214
- package/dist/otlp/transformer.d.cts +3 -1
- package/dist/otlp/transformer.d.mts +3 -1
- package/dist/otlp/transformer.mjs +3 -211
- package/dist/otlp/types.cjs +5 -57
- package/dist/otlp/types.d.cts +1 -1
- package/dist/otlp/types.d.mts +1 -1
- package/dist/otlp/types.mjs +2 -53
- package/dist/receiver-Cj1lbAOO.cjs +94 -0
- package/dist/receiver-Cj1lbAOO.cjs.map +1 -0
- package/dist/receiver-CxVd_9CB.mjs +89 -0
- package/dist/receiver-CxVd_9CB.mjs.map +1 -0
- package/dist/receiver-DLICx5uU.d.cts +63 -0
- package/dist/receiver-DLICx5uU.d.cts.map +1 -0
- package/dist/receiver-UeZT-H8u.d.mts +63 -0
- package/dist/receiver-UeZT-H8u.d.mts.map +1 -0
- package/dist/redact-BzkITCNW.mjs +83 -0
- package/dist/redact-BzkITCNW.mjs.map +1 -0
- package/dist/redact-DVaSSPZT.cjs +95 -0
- package/dist/redact-DVaSSPZT.cjs.map +1 -0
- package/dist/redact.cjs +3 -84
- package/dist/redact.d.cts +8 -4
- package/dist/redact.d.cts.map +1 -1
- package/dist/redact.d.mts +8 -4
- package/dist/redact.d.mts.map +1 -1
- package/dist/redact.mjs +2 -80
- package/dist/server/hono.cjs +54 -33
- package/dist/server/hono.cjs.map +1 -1
- package/dist/server/hono.d.cts +14 -19
- package/dist/server/hono.d.cts.map +1 -1
- package/dist/server/hono.d.mts +14 -19
- package/dist/server/hono.d.mts.map +1 -1
- package/dist/server/hono.mjs +52 -31
- package/dist/server/hono.mjs.map +1 -1
- package/dist/setup-B9jM77Qk.mjs +98 -0
- package/dist/setup-B9jM77Qk.mjs.map +1 -0
- package/dist/setup-Bkxm4g6b.d.mts +87 -0
- package/dist/setup-Bkxm4g6b.d.mts.map +1 -0
- package/dist/setup-CYpff5B9.cjs +110 -0
- package/dist/setup-CYpff5B9.cjs.map +1 -0
- package/dist/setup-D58N1f9O.d.cts +87 -0
- package/dist/setup-D58N1f9O.d.cts.map +1 -0
- package/dist/storage/kysely.cjs +70 -82
- package/dist/storage/kysely.cjs.map +1 -1
- package/dist/storage/kysely.d.cts +20 -36
- package/dist/storage/kysely.d.cts.map +1 -1
- package/dist/storage/kysely.d.mts +20 -36
- package/dist/storage/kysely.d.mts.map +1 -1
- package/dist/storage/kysely.mjs +69 -81
- package/dist/storage/kysely.mjs.map +1 -1
- package/dist/storage/memory.cjs +2 -122
- package/dist/storage/memory.d.cts +3 -36
- package/dist/storage/memory.d.mts +3 -36
- package/dist/storage/memory.mjs +2 -121
- package/dist/tracing-BX8uY2nR.d.cts +53 -0
- package/dist/tracing-BX8uY2nR.d.cts.map +1 -0
- package/dist/tracing-Bt1zWRlb.cjs +167 -0
- package/dist/tracing-Bt1zWRlb.cjs.map +1 -0
- package/dist/tracing-Cijm_5NI.mjs +113 -0
- package/dist/tracing-Cijm_5NI.mjs.map +1 -0
- package/dist/tracing-PnECEbEu.d.mts +53 -0
- package/dist/tracing-PnECEbEu.d.mts.map +1 -0
- package/dist/transformer-BXQPhzql.mjs +215 -0
- package/dist/transformer-BXQPhzql.mjs.map +1 -0
- package/dist/transformer-CLGZ0EQc.cjs +232 -0
- package/dist/transformer-CLGZ0EQc.cjs.map +1 -0
- package/dist/{transformer-BtqjAs0b.d.cts → transformer-CTGsaVfV.d.mts} +8 -4
- package/dist/transformer-CTGsaVfV.d.mts.map +1 -0
- package/dist/{transformer-DI6t8-YA.d.mts → transformer-ICEbxpFf.d.cts} +8 -4
- package/dist/transformer-ICEbxpFf.d.cts.map +1 -0
- package/dist/{types-BVujq4zd.d.mts → types-B1EIa_cQ.d.mts} +4 -3
- package/dist/types-B1EIa_cQ.d.mts.map +1 -0
- package/dist/types-BRzW1NM8.d.cts +166 -0
- package/dist/types-BRzW1NM8.d.cts.map +1 -0
- package/dist/types-BS3Rx8Sk.d.cts +209 -0
- package/dist/types-BS3Rx8Sk.d.cts.map +1 -0
- package/dist/types-Bwm_jNU7.mjs +54 -0
- package/dist/types-Bwm_jNU7.mjs.map +1 -0
- package/dist/types-BzQ78Efw.d.mts +166 -0
- package/dist/types-BzQ78Efw.d.mts.map +1 -0
- package/dist/types-CbNGXnJE.d.mts +209 -0
- package/dist/types-CbNGXnJE.d.mts.map +1 -0
- package/dist/{types-DVETVdpa.d.cts → types-CmOB7CLO.d.cts} +7 -6
- package/dist/types-CmOB7CLO.d.cts.map +1 -0
- package/dist/{types-DVETVdpa.d.mts → types-DBc0q5KD.d.mts} +7 -6
- package/dist/types-DBc0q5KD.d.mts.map +1 -0
- package/dist/types-Dsh-DIO_.cjs +78 -0
- package/dist/types-Dsh-DIO_.cjs.map +1 -0
- package/dist/types-ZW-nfWf6.cjs +40 -0
- package/dist/types-ZW-nfWf6.cjs.map +1 -0
- package/dist/{types-BVujq4zd.d.cts → types-l7Rlb5Mg.d.cts} +4 -3
- package/dist/types-l7Rlb5Mg.d.cts.map +1 -0
- package/dist/types-ojhnLdwz.mjs +34 -0
- package/dist/types-ojhnLdwz.mjs.map +1 -0
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types.mjs +0 -1
- package/dist/ui-assets-BEXqOQLe.cjs +48 -0
- package/dist/ui-assets-BEXqOQLe.cjs.map +1 -0
- package/dist/ui-assets-BhTDUsrM.mjs +30 -0
- package/dist/ui-assets-BhTDUsrM.mjs.map +1 -0
- package/dist/ui-assets.cjs +5 -0
- package/dist/ui-assets.d.cts +13 -0
- package/dist/ui-assets.d.cts.map +1 -0
- package/dist/ui-assets.d.mts +13 -0
- package/dist/ui-assets.d.mts.map +1 -0
- package/dist/ui-assets.mjs +3 -0
- package/package.json +46 -46
- package/src/Telescope.ts +561 -0
- package/src/__tests__/Telescope.spec.ts +438 -0
- package/src/__tests__/pino-transport.spec.ts +115 -0
- package/src/__tests__/redact.spec.ts +336 -0
- package/src/adapters/__tests__/lambda.spec.ts +318 -0
- package/src/adapters/__tests__/middy.spec.ts +741 -0
- package/src/adapters/index.ts +22 -0
- package/src/adapters/lambda.ts +432 -0
- package/src/adapters/middy.ts +402 -0
- package/src/adapters/types.ts +181 -0
- package/src/core.ts +51 -0
- package/src/index.ts +34 -0
- package/src/instrumentation/__tests__/core.spec.ts +248 -0
- package/src/instrumentation/__tests__/hono.spec.ts +348 -0
- package/src/instrumentation/__tests__/middleware.spec.ts +528 -0
- package/src/instrumentation/__tests__/otel.spec.ts +291 -0
- package/src/instrumentation/__tests__/tracing.spec.ts +208 -0
- package/src/instrumentation/core.ts +228 -0
- package/src/instrumentation/hono.ts +270 -0
- package/src/instrumentation/http.ts +306 -0
- package/src/instrumentation/index.ts +90 -0
- package/src/instrumentation/middleware.ts +297 -0
- package/src/instrumentation/otel.ts +271 -0
- package/src/instrumentation/setup.ts +246 -0
- package/src/instrumentation/tracing.ts +145 -0
- package/src/logger/__tests__/console.spec.ts +366 -0
- package/src/logger/__tests__/pino.spec.ts +217 -0
- package/src/logger/console.ts +230 -0
- package/src/logger/pino.ts +201 -0
- package/src/metrics/MetricsAggregator.ts +555 -0
- package/src/metrics/__tests__/MetricsAggregator.spec.ts +298 -0
- package/src/metrics/index.ts +2 -0
- package/src/metrics/storage/InMemoryMetricsStorage.ts +380 -0
- package/src/metrics/storage/MetricsStorage.ts +74 -0
- package/src/metrics/storage/index.ts +3 -0
- package/src/metrics/storage/types.ts +243 -0
- package/src/otlp/__tests__/receiver.spec.ts +367 -0
- package/src/otlp/__tests__/transformer.spec.ts +455 -0
- package/src/otlp/hono.ts +120 -0
- package/src/otlp/index.ts +22 -0
- package/src/otlp/receiver.ts +162 -0
- package/src/otlp/transformer.ts +367 -0
- package/src/otlp/types.ts +364 -0
- package/src/redact.ts +116 -0
- package/src/server/__tests__/hono.spec.ts +814 -0
- package/src/server/hono.ts +442 -0
- package/src/storage/__tests__/kysely.spec.ts +715 -0
- package/src/storage/__tests__/memory.spec.ts +694 -0
- package/src/storage/kysely.ts +599 -0
- package/src/storage/memory.ts +204 -0
- package/src/types.ts +447 -0
- package/src/ui-assets.ts +40 -0
- package/tsconfig.json +9 -0
- package/ui/CHANGELOG.md +7 -0
- package/ui/index.html +12 -0
- package/ui/node_modules/.bin/tsc +21 -0
- package/ui/node_modules/.bin/tsserver +21 -0
- package/ui/node_modules/.bin/vite +21 -0
- package/ui/package.json +24 -0
- package/ui/src/App.tsx +595 -0
- package/ui/src/api.ts +88 -0
- package/ui/src/components/ExceptionDetail.tsx +100 -0
- package/ui/src/components/FilterBar.tsx +162 -0
- package/ui/src/components/LogDetail.tsx +91 -0
- package/ui/src/components/RequestDetail.tsx +143 -0
- package/ui/src/main.tsx +10 -0
- package/ui/src/styles.css +11 -0
- package/ui/src/types.ts +63 -0
- package/ui/src/vite-env.d.ts +1 -0
- package/ui/src/vite-plugin-gkm-config.ts +54 -0
- package/ui/tsconfig.json +20 -0
- package/ui/tsconfig.tsbuildinfo +1 -0
- package/ui/vite.config.ts +13 -0
- package/dist/MetricsAggregator-BJdIvfEv.d.mts.map +0 -1
- package/dist/MetricsAggregator-CnC3oT5q.d.cts.map +0 -1
- package/dist/Telescope-BVfDvVvY.d.mts.map +0 -1
- package/dist/Telescope-DeqSHfuB.d.cts.map +0 -1
- package/dist/Telescope.cjs.map +0 -1
- package/dist/Telescope.mjs.map +0 -1
- package/dist/adapters/middy.cjs.map +0 -1
- package/dist/adapters/middy.d.cts.map +0 -1
- package/dist/adapters/middy.d.mts.map +0 -1
- package/dist/adapters/middy.mjs.map +0 -1
- package/dist/adapters/types.d.cts.map +0 -1
- package/dist/adapters/types.d.mts.map +0 -1
- package/dist/instrumentation/core.cjs.map +0 -1
- package/dist/instrumentation/core.d.cts.map +0 -1
- package/dist/instrumentation/core.d.mts.map +0 -1
- package/dist/instrumentation/core.mjs.map +0 -1
- package/dist/instrumentation/hono.cjs.map +0 -1
- package/dist/instrumentation/hono.d.cts.map +0 -1
- package/dist/instrumentation/hono.d.mts.map +0 -1
- package/dist/instrumentation/hono.mjs.map +0 -1
- package/dist/instrumentation/http.cjs.map +0 -1
- package/dist/instrumentation/http.d.cts.map +0 -1
- package/dist/instrumentation/http.d.mts.map +0 -1
- package/dist/instrumentation/http.mjs.map +0 -1
- package/dist/instrumentation/middleware.cjs.map +0 -1
- package/dist/instrumentation/middleware.d.cts.map +0 -1
- package/dist/instrumentation/middleware.d.mts.map +0 -1
- package/dist/instrumentation/middleware.mjs.map +0 -1
- package/dist/instrumentation/otel.cjs.map +0 -1
- package/dist/instrumentation/otel.d.cts.map +0 -1
- package/dist/instrumentation/otel.d.mts.map +0 -1
- package/dist/instrumentation/otel.mjs.map +0 -1
- package/dist/instrumentation/sampler.cjs +0 -54
- package/dist/instrumentation/sampler.cjs.map +0 -1
- package/dist/instrumentation/sampler.d.cts +0 -38
- package/dist/instrumentation/sampler.d.cts.map +0 -1
- package/dist/instrumentation/sampler.d.mts +0 -38
- package/dist/instrumentation/sampler.d.mts.map +0 -1
- package/dist/instrumentation/sampler.mjs +0 -52
- package/dist/instrumentation/sampler.mjs.map +0 -1
- package/dist/instrumentation/setup.cjs.map +0 -1
- package/dist/instrumentation/setup.d.cts.map +0 -1
- package/dist/instrumentation/setup.d.mts.map +0 -1
- package/dist/instrumentation/setup.mjs.map +0 -1
- package/dist/instrumentation/tracing.cjs.map +0 -1
- package/dist/instrumentation/tracing.d.cts.map +0 -1
- package/dist/instrumentation/tracing.d.mts.map +0 -1
- package/dist/instrumentation/tracing.mjs.map +0 -1
- package/dist/instrumentation/trust.cjs +0 -107
- package/dist/instrumentation/trust.cjs.map +0 -1
- package/dist/instrumentation/trust.d.cts +0 -57
- package/dist/instrumentation/trust.d.cts.map +0 -1
- package/dist/instrumentation/trust.d.mts +0 -57
- package/dist/instrumentation/trust.d.mts.map +0 -1
- package/dist/instrumentation/trust.mjs +0 -104
- package/dist/instrumentation/trust.mjs.map +0 -1
- package/dist/metrics/MetricsAggregator.cjs.map +0 -1
- package/dist/metrics/MetricsAggregator.mjs.map +0 -1
- package/dist/metrics/storage/InMemoryMetricsStorage.cjs.map +0 -1
- package/dist/metrics/storage/InMemoryMetricsStorage.d.cts.map +0 -1
- package/dist/metrics/storage/InMemoryMetricsStorage.d.mts.map +0 -1
- package/dist/metrics/storage/InMemoryMetricsStorage.mjs.map +0 -1
- package/dist/metrics/storage/MetricsStorage.d.cts.map +0 -1
- package/dist/metrics/storage/MetricsStorage.d.mts.map +0 -1
- package/dist/metrics/storage/types.cjs.map +0 -1
- package/dist/metrics/storage/types.d.cts.map +0 -1
- package/dist/metrics/storage/types.d.mts.map +0 -1
- package/dist/metrics/storage/types.mjs.map +0 -1
- package/dist/otlp/receiver.cjs.map +0 -1
- package/dist/otlp/receiver.d.cts.map +0 -1
- package/dist/otlp/receiver.d.mts.map +0 -1
- package/dist/otlp/receiver.mjs.map +0 -1
- package/dist/otlp/transformer.cjs.map +0 -1
- package/dist/otlp/transformer.mjs.map +0 -1
- package/dist/otlp/types.cjs.map +0 -1
- package/dist/otlp/types.mjs.map +0 -1
- package/dist/redact.cjs.map +0 -1
- package/dist/redact.mjs.map +0 -1
- package/dist/storage/memory.cjs.map +0 -1
- package/dist/storage/memory.d.cts.map +0 -1
- package/dist/storage/memory.d.mts.map +0 -1
- package/dist/storage/memory.mjs.map +0 -1
- package/dist/transformer-BtqjAs0b.d.cts.map +0 -1
- package/dist/transformer-DI6t8-YA.d.mts.map +0 -1
- package/dist/types-BVujq4zd.d.cts.map +0 -1
- package/dist/types-BVujq4zd.d.mts.map +0 -1
- package/dist/types-DVETVdpa.d.cts.map +0 -1
- 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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
9
|
+
declare const DEFAULT_REDACT_PATHS: string[];
|
|
8
10
|
/**
|
|
9
11
|
* Type for the redactor function returned by @pinojs/redact
|
|
10
12
|
*/
|
|
11
|
-
|
|
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
|
-
|
|
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
|
package/dist/redact.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact.d.cts","names":[],"sources":["../src/redact.ts"],"mappings":";;;;;;
|
|
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 {
|
|
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
|
-
|
|
9
|
+
declare const DEFAULT_REDACT_PATHS: string[];
|
|
8
10
|
/**
|
|
9
11
|
* Type for the redactor function returned by @pinojs/redact
|
|
10
12
|
*/
|
|
11
|
-
|
|
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
|
-
|
|
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
|
package/dist/redact.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact.d.mts","names":[],"sources":["../src/redact.ts"],"mappings":";;;;;;
|
|
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
|
|
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
|
-
|
|
3
|
+
export { DEFAULT_REDACT_PATHS, createRedactor };
|
package/dist/server/hono.cjs
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
|
|
60
|
-
|
|
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
|
|
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)
|
|
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
|
-
*
|
|
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
|
|
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
|
-
|
|
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
|