@geekmidas/telescope 10.0.0-alpha.2 → 10.0.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{MetricsAggregator-4SqelGcG.d.cts → MetricsAggregator-BxBLQUPj.d.cts} +3 -6
- package/dist/MetricsAggregator-BxBLQUPj.d.cts.map +1 -0
- package/dist/{MetricsAggregator-DZrW8ls6.d.mts → MetricsAggregator-j9wmZ0K_.d.mts} +3 -6
- package/dist/MetricsAggregator-j9wmZ0K_.d.mts.map +1 -0
- package/dist/{Telescope-D4nmwDRA.d.cts → Telescope-BcrWTaar.d.mts} +4 -7
- package/dist/Telescope-BcrWTaar.d.mts.map +1 -0
- package/dist/{Telescope-Dl6VSfxd.d.mts → Telescope-DnCMZT7V.d.cts} +4 -7
- package/dist/Telescope-DnCMZT7V.d.cts.map +1 -0
- package/dist/Telescope.cjs +385 -4
- package/dist/Telescope.cjs.map +1 -0
- package/dist/Telescope.d.cts +1 -3
- package/dist/Telescope.d.mts +1 -3
- package/dist/Telescope.mjs +384 -4
- package/dist/Telescope.mjs.map +1 -0
- package/dist/adapters/index.d.cts +2 -2
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/index.mjs +1 -0
- package/dist/adapters/lambda.cjs +9 -10
- package/dist/adapters/lambda.cjs.map +1 -1
- package/dist/adapters/lambda.d.cts +9 -13
- package/dist/adapters/lambda.d.cts.map +1 -1
- package/dist/adapters/lambda.d.mts +9 -13
- package/dist/adapters/lambda.d.mts.map +1 -1
- package/dist/adapters/lambda.mjs +3 -4
- package/dist/adapters/lambda.mjs.map +1 -1
- package/dist/adapters/middy.cjs +236 -4
- package/dist/adapters/middy.cjs.map +1 -0
- package/dist/adapters/middy.d.cts +60 -5
- package/dist/adapters/middy.d.cts.map +1 -0
- package/dist/adapters/middy.d.mts +60 -5
- package/dist/adapters/middy.d.mts.map +1 -0
- package/dist/adapters/middy.mjs +234 -3
- package/dist/adapters/middy.mjs.map +1 -0
- package/dist/adapters/types.d.cts +162 -2
- package/dist/adapters/types.d.cts.map +1 -0
- package/dist/adapters/types.d.mts +162 -2
- package/dist/adapters/types.d.mts.map +1 -0
- package/dist/adapters/types.mjs +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 +3 -4
- package/dist/index.cjs +8 -9
- package/dist/index.d.cts +5 -6
- package/dist/index.d.mts +5 -6
- package/dist/index.mjs +5 -7
- package/dist/instrumentation/core.cjs +147 -11
- package/dist/instrumentation/core.cjs.map +1 -0
- package/dist/instrumentation/core.d.cts +74 -3
- package/dist/instrumentation/core.d.cts.map +1 -0
- package/dist/instrumentation/core.d.mts +74 -3
- package/dist/instrumentation/core.d.mts.map +1 -0
- package/dist/instrumentation/core.mjs +137 -2
- package/dist/instrumentation/core.mjs.map +1 -0
- package/dist/instrumentation/hono.cjs +134 -6
- package/dist/instrumentation/hono.cjs.map +1 -0
- package/dist/instrumentation/hono.d.cts +67 -2
- package/dist/instrumentation/hono.d.cts.map +1 -0
- package/dist/instrumentation/hono.d.mts +67 -2
- package/dist/instrumentation/hono.d.mts.map +1 -0
- package/dist/instrumentation/hono.mjs +130 -3
- package/dist/instrumentation/hono.mjs.map +1 -0
- package/dist/instrumentation/http.cjs +164 -11
- package/dist/instrumentation/http.cjs.map +1 -0
- package/dist/instrumentation/http.d.cts +103 -2
- package/dist/instrumentation/http.d.cts.map +1 -0
- package/dist/instrumentation/http.d.mts +103 -2
- package/dist/instrumentation/http.d.mts.map +1 -0
- package/dist/instrumentation/http.mjs +154 -2
- package/dist/instrumentation/http.mjs.map +1 -0
- package/dist/instrumentation/index.cjs +47 -47
- package/dist/instrumentation/index.d.cts +9 -9
- package/dist/instrumentation/index.d.mts +9 -9
- package/dist/instrumentation/index.mjs +8 -9
- package/dist/instrumentation/middleware.cjs +162 -6
- package/dist/instrumentation/middleware.cjs.map +1 -0
- package/dist/instrumentation/middleware.d.cts +70 -2
- package/dist/instrumentation/middleware.d.cts.map +1 -0
- package/dist/instrumentation/middleware.d.mts +70 -2
- package/dist/instrumentation/middleware.d.mts.map +1 -0
- package/dist/instrumentation/middleware.mjs +158 -3
- package/dist/instrumentation/middleware.mjs.map +1 -0
- package/dist/instrumentation/otel.cjs +137 -3
- package/dist/instrumentation/otel.cjs.map +1 -0
- package/dist/instrumentation/otel.d.cts +97 -2
- package/dist/instrumentation/otel.d.cts.map +1 -0
- package/dist/instrumentation/otel.d.mts +97 -2
- package/dist/instrumentation/otel.d.mts.map +1 -0
- package/dist/instrumentation/otel.mjs +136 -3
- package/dist/instrumentation/otel.mjs.map +1 -0
- package/dist/instrumentation/setup.cjs +100 -4
- package/dist/instrumentation/setup.cjs.map +1 -0
- package/dist/instrumentation/setup.d.cts +83 -3
- package/dist/instrumentation/setup.d.cts.map +1 -0
- package/dist/instrumentation/setup.d.mts +83 -3
- package/dist/instrumentation/setup.d.mts.map +1 -0
- package/dist/instrumentation/setup.mjs +98 -3
- package/dist/instrumentation/setup.mjs.map +1 -0
- package/dist/instrumentation/tracing.cjs +114 -10
- package/dist/instrumentation/tracing.cjs.map +1 -0
- package/dist/instrumentation/tracing.d.cts +49 -2
- package/dist/instrumentation/tracing.d.cts.map +1 -0
- package/dist/instrumentation/tracing.d.mts +49 -2
- package/dist/instrumentation/tracing.d.mts.map +1 -0
- package/dist/instrumentation/tracing.mjs +105 -2
- package/dist/instrumentation/tracing.mjs.map +1 -0
- package/dist/logger/console.cjs +18 -12
- package/dist/logger/console.cjs.map +1 -1
- package/dist/logger/console.d.cts +7 -10
- package/dist/logger/console.d.cts.map +1 -1
- package/dist/logger/console.d.mts +7 -10
- package/dist/logger/console.d.mts.map +1 -1
- package/dist/logger/console.mjs +17 -11
- package/dist/logger/console.mjs.map +1 -1
- package/dist/logger/pino.cjs +6 -5
- package/dist/logger/pino.cjs.map +1 -1
- package/dist/logger/pino.d.cts +6 -10
- package/dist/logger/pino.d.cts.map +1 -1
- package/dist/logger/pino.d.mts +6 -10
- package/dist/logger/pino.d.mts.map +1 -1
- package/dist/logger/pino.mjs +2 -3
- package/dist/logger/pino.mjs.map +1 -1
- package/dist/metrics/MetricsAggregator.cjs +354 -2
- package/dist/metrics/MetricsAggregator.cjs.map +1 -0
- package/dist/metrics/MetricsAggregator.d.cts +1 -2
- package/dist/metrics/MetricsAggregator.d.mts +1 -2
- package/dist/metrics/MetricsAggregator.mjs +353 -2
- package/dist/metrics/MetricsAggregator.mjs.map +1 -0
- package/dist/metrics/index.cjs +3 -4
- package/dist/metrics/index.d.cts +2 -4
- package/dist/metrics/index.d.mts +2 -4
- package/dist/metrics/index.mjs +2 -4
- package/dist/metrics/storage/InMemoryMetricsStorage.cjs +240 -3
- package/dist/metrics/storage/InMemoryMetricsStorage.cjs.map +1 -0
- package/dist/metrics/storage/InMemoryMetricsStorage.d.cts +43 -4
- package/dist/metrics/storage/InMemoryMetricsStorage.d.cts.map +1 -0
- package/dist/metrics/storage/InMemoryMetricsStorage.d.mts +43 -4
- package/dist/metrics/storage/InMemoryMetricsStorage.d.mts.map +1 -0
- package/dist/metrics/storage/InMemoryMetricsStorage.mjs +239 -3
- package/dist/metrics/storage/InMemoryMetricsStorage.mjs.map +1 -0
- package/dist/metrics/storage/MetricsStorage.cjs +0 -1
- package/dist/metrics/storage/MetricsStorage.d.cts +56 -3
- package/dist/metrics/storage/MetricsStorage.d.cts.map +1 -0
- package/dist/metrics/storage/MetricsStorage.d.mts +56 -3
- package/dist/metrics/storage/MetricsStorage.d.mts.map +1 -0
- 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 +4 -5
- package/dist/metrics/storage/types.cjs +34 -2
- package/dist/metrics/storage/types.cjs.map +1 -0
- package/dist/metrics/storage/types.d.cts +207 -2
- package/dist/metrics/storage/types.d.cts.map +1 -0
- package/dist/metrics/storage/types.d.mts +207 -2
- package/dist/metrics/storage/types.d.mts.map +1 -0
- package/dist/metrics/storage/types.mjs +33 -2
- package/dist/metrics/storage/types.mjs.map +1 -0
- package/dist/otlp/hono.cjs +9 -15
- package/dist/otlp/hono.cjs.map +1 -1
- package/dist/otlp/hono.d.cts +3 -13
- package/dist/otlp/hono.d.cts.map +1 -1
- package/dist/otlp/hono.d.mts +3 -13
- package/dist/otlp/hono.d.mts.map +1 -1
- package/dist/otlp/hono.mjs +5 -11
- package/dist/otlp/hono.mjs.map +1 -1
- package/dist/otlp/index.cjs +11 -11
- package/dist/otlp/index.d.cts +4 -7
- package/dist/otlp/index.d.mts +4 -7
- package/dist/otlp/index.mjs +4 -5
- package/dist/otlp/receiver.cjs +88 -4
- package/dist/otlp/receiver.cjs.map +1 -0
- package/dist/otlp/receiver.d.cts +59 -7
- package/dist/otlp/receiver.d.cts.map +1 -0
- package/dist/otlp/receiver.d.mts +59 -7
- package/dist/otlp/receiver.d.mts.map +1 -0
- package/dist/otlp/receiver.mjs +87 -4
- package/dist/otlp/receiver.mjs.map +1 -0
- package/dist/otlp/transformer.cjs +214 -5
- package/dist/otlp/transformer.cjs.map +1 -0
- package/dist/otlp/transformer.d.cts +1 -3
- package/dist/otlp/transformer.d.mts +1 -3
- package/dist/otlp/transformer.mjs +211 -3
- package/dist/otlp/transformer.mjs.map +1 -0
- package/dist/otlp/types.cjs +57 -5
- package/dist/otlp/types.cjs.map +1 -0
- package/dist/otlp/types.d.cts +1 -1
- package/dist/otlp/types.d.mts +1 -1
- package/dist/otlp/types.mjs +53 -2
- package/dist/otlp/types.mjs.map +1 -0
- package/dist/redact.cjs +84 -3
- package/dist/redact.cjs.map +1 -0
- package/dist/redact.d.cts +4 -8
- package/dist/redact.d.cts.map +1 -1
- package/dist/redact.d.mts +4 -8
- package/dist/redact.d.mts.map +1 -1
- package/dist/redact.mjs +80 -2
- package/dist/redact.mjs.map +1 -0
- package/dist/{chunk-CUT6urMc.cjs → rolldown-runtime-VH7oDXx4.cjs} +8 -10
- package/dist/server/hono.cjs +24 -33
- package/dist/server/hono.cjs.map +1 -1
- package/dist/server/hono.d.cts +10 -13
- package/dist/server/hono.d.cts.map +1 -1
- package/dist/server/hono.d.mts +10 -13
- package/dist/server/hono.d.mts.map +1 -1
- package/dist/server/hono.mjs +22 -31
- package/dist/server/hono.mjs.map +1 -1
- package/dist/storage/kysely.cjs +34 -32
- package/dist/storage/kysely.cjs.map +1 -1
- package/dist/storage/kysely.d.cts +8 -12
- package/dist/storage/kysely.d.cts.map +1 -1
- package/dist/storage/kysely.d.mts +8 -12
- package/dist/storage/kysely.d.mts.map +1 -1
- package/dist/storage/kysely.mjs +33 -31
- package/dist/storage/kysely.mjs.map +1 -1
- package/dist/storage/memory.cjs +122 -2
- package/dist/storage/memory.cjs.map +1 -0
- package/dist/storage/memory.d.cts +36 -3
- package/dist/storage/memory.d.cts.map +1 -0
- package/dist/storage/memory.d.mts +36 -3
- package/dist/storage/memory.d.mts.map +1 -0
- package/dist/storage/memory.mjs +121 -2
- package/dist/storage/memory.mjs.map +1 -0
- package/dist/{transformer-CTGsaVfV.d.mts → transformer-BBBXCjHP.d.mts} +4 -8
- package/dist/transformer-BBBXCjHP.d.mts.map +1 -0
- package/dist/{transformer-ICEbxpFf.d.cts → transformer-DlESim6Q.d.cts} +4 -8
- package/dist/transformer-DlESim6Q.d.cts.map +1 -0
- package/dist/{types-CmOB7CLO.d.cts → types-DVETVdpa.d.cts} +6 -7
- package/dist/types-DVETVdpa.d.cts.map +1 -0
- package/dist/{types-DBc0q5KD.d.mts → types-DVETVdpa.d.mts} +6 -7
- package/dist/types-DVETVdpa.d.mts.map +1 -0
- package/dist/{types-B1EIa_cQ.d.mts → types-a9Vistj1.d.cts} +2 -3
- package/dist/types-a9Vistj1.d.cts.map +1 -0
- package/dist/{types-l7Rlb5Mg.d.cts → types-a9Vistj1.d.mts} +2 -3
- package/dist/types-a9Vistj1.d.mts.map +1 -0
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types.mjs +1 -0
- package/dist/ui-assets.cjs +31 -4
- package/dist/ui-assets.cjs.map +1 -0
- package/dist/ui-assets.d.cts +4 -6
- package/dist/ui-assets.d.cts.map +1 -1
- package/dist/ui-assets.d.mts +4 -6
- package/dist/ui-assets.d.mts.map +1 -1
- package/dist/ui-assets.mjs +28 -2
- package/dist/ui-assets.mjs.map +1 -0
- package/package.json +39 -37
- package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts +0 -47
- package/dist/InMemoryMetricsStorage-BbKCL3YL.d.mts.map +0 -1
- package/dist/InMemoryMetricsStorage-C4drxT7G.mjs +0 -247
- package/dist/InMemoryMetricsStorage-C4drxT7G.mjs.map +0 -1
- package/dist/InMemoryMetricsStorage-D0njWUSi.cjs +0 -252
- package/dist/InMemoryMetricsStorage-D0njWUSi.cjs.map +0 -1
- package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts +0 -47
- package/dist/InMemoryMetricsStorage-TvPdZjL0.d.cts.map +0 -1
- package/dist/MetricsAggregator-4SqelGcG.d.cts.map +0 -1
- package/dist/MetricsAggregator-B7lUICdH.cjs +0 -363
- package/dist/MetricsAggregator-B7lUICdH.cjs.map +0 -1
- package/dist/MetricsAggregator-DZrW8ls6.d.mts.map +0 -1
- package/dist/MetricsAggregator-S3DQWNas.mjs +0 -357
- package/dist/MetricsAggregator-S3DQWNas.mjs.map +0 -1
- package/dist/MetricsStorage-B86e4131.d.cts +0 -60
- package/dist/MetricsStorage-B86e4131.d.cts.map +0 -1
- package/dist/MetricsStorage-BWyP2_12.d.mts +0 -60
- package/dist/MetricsStorage-BWyP2_12.d.mts.map +0 -1
- package/dist/MetricsStorage-BypQXWiv.mjs +0 -0
- package/dist/MetricsStorage-Or8pVCe4.cjs +0 -0
- package/dist/Telescope-Cs3fv8jt.cjs +0 -395
- package/dist/Telescope-Cs3fv8jt.cjs.map +0 -1
- package/dist/Telescope-D4nmwDRA.d.cts.map +0 -1
- package/dist/Telescope-Dh5av3FC.mjs +0 -389
- package/dist/Telescope-Dh5av3FC.mjs.map +0 -1
- package/dist/Telescope-Dl6VSfxd.d.mts.map +0 -1
- package/dist/core--quSp5Qr.d.mts +0 -78
- package/dist/core--quSp5Qr.d.mts.map +0 -1
- package/dist/core-B4Jpia5H.d.cts +0 -78
- package/dist/core-B4Jpia5H.d.cts.map +0 -1
- package/dist/core-CtVHRJGv.cjs +0 -199
- package/dist/core-CtVHRJGv.cjs.map +0 -1
- package/dist/core-D6hJ6exL.mjs +0 -139
- package/dist/core-D6hJ6exL.mjs.map +0 -1
- package/dist/hono--uKQ7Jgi.d.mts +0 -71
- package/dist/hono--uKQ7Jgi.d.mts.map +0 -1
- package/dist/hono-Bw-ey6CT.mjs +0 -136
- package/dist/hono-Bw-ey6CT.mjs.map +0 -1
- package/dist/hono-CPHX7FAm.cjs +0 -160
- package/dist/hono-CPHX7FAm.cjs.map +0 -1
- package/dist/hono-CemCKU87.d.cts +0 -71
- package/dist/hono-CemCKU87.d.cts.map +0 -1
- package/dist/http-BIvr0YdI.mjs +0 -159
- package/dist/http-BIvr0YdI.mjs.map +0 -1
- package/dist/http-BiNtg85L.d.mts +0 -107
- package/dist/http-BiNtg85L.d.mts.map +0 -1
- package/dist/http-BsqmhurZ.cjs +0 -219
- package/dist/http-BsqmhurZ.cjs.map +0 -1
- package/dist/http-D1oTbfap.d.cts +0 -107
- package/dist/http-D1oTbfap.d.cts.map +0 -1
- package/dist/index-BL32-cvv.d.cts +0 -1
- package/dist/index-CsuikFeJ.d.mts +0 -1
- package/dist/memory--BK4iWiv.d.cts +0 -40
- package/dist/memory--BK4iWiv.d.cts.map +0 -1
- package/dist/memory-6S9H-IF5.mjs +0 -123
- package/dist/memory-6S9H-IF5.mjs.map +0 -1
- package/dist/memory-B0d_n1g5.cjs +0 -129
- package/dist/memory-B0d_n1g5.cjs.map +0 -1
- package/dist/memory-DCirEVFW.d.mts +0 -40
- package/dist/memory-DCirEVFW.d.mts.map +0 -1
- package/dist/metrics-D5YT-Rnq.mjs +0 -0
- package/dist/metrics-fhD3l3C3.cjs +0 -0
- package/dist/middleware-Bcq6XXGG.cjs +0 -184
- package/dist/middleware-Bcq6XXGG.cjs.map +0 -1
- package/dist/middleware-D1XEHvyy.mjs +0 -160
- package/dist/middleware-D1XEHvyy.mjs.map +0 -1
- package/dist/middleware-PeyS-9Ny.d.cts +0 -74
- package/dist/middleware-PeyS-9Ny.d.cts.map +0 -1
- package/dist/middleware-oHvo_ZgU.d.mts +0 -74
- package/dist/middleware-oHvo_ZgU.d.mts.map +0 -1
- package/dist/middy-B6Btl8XE.d.mts +0 -64
- package/dist/middy-B6Btl8XE.d.mts.map +0 -1
- package/dist/middy-Bq0defVg.d.cts +0 -64
- package/dist/middy-Bq0defVg.d.cts.map +0 -1
- package/dist/middy-DHWLmUAD.mjs +0 -236
- package/dist/middy-DHWLmUAD.mjs.map +0 -1
- package/dist/middy-DlWnZilH.cjs +0 -247
- package/dist/middy-DlWnZilH.cjs.map +0 -1
- package/dist/otel-B9bNoeZ2.mjs +0 -130
- package/dist/otel-B9bNoeZ2.mjs.map +0 -1
- package/dist/otel-Bk89b1lX.d.cts +0 -101
- package/dist/otel-Bk89b1lX.d.cts.map +0 -1
- package/dist/otel-BzjOtVxZ.cjs +0 -136
- package/dist/otel-BzjOtVxZ.cjs.map +0 -1
- package/dist/otel-lPMsM26e.d.mts +0 -101
- package/dist/otel-lPMsM26e.d.mts.map +0 -1
- package/dist/receiver-D46dfkYI.mjs +0 -89
- package/dist/receiver-D46dfkYI.mjs.map +0 -1
- package/dist/receiver-DLICx5uU.d.cts +0 -63
- package/dist/receiver-DLICx5uU.d.cts.map +0 -1
- package/dist/receiver-UeZT-H8u.d.mts +0 -63
- package/dist/receiver-UeZT-H8u.d.mts.map +0 -1
- package/dist/receiver-slCoAFat.cjs +0 -94
- package/dist/receiver-slCoAFat.cjs.map +0 -1
- package/dist/redact-BzkITCNW.mjs +0 -83
- package/dist/redact-BzkITCNW.mjs.map +0 -1
- package/dist/redact-DVaSSPZT.cjs +0 -95
- package/dist/redact-DVaSSPZT.cjs.map +0 -1
- package/dist/setup-Bkxm4g6b.d.mts +0 -87
- package/dist/setup-Bkxm4g6b.d.mts.map +0 -1
- package/dist/setup-D58N1f9O.d.cts +0 -87
- package/dist/setup-D58N1f9O.d.cts.map +0 -1
- package/dist/setup-DC9JMEYZ.mjs +0 -98
- package/dist/setup-DC9JMEYZ.mjs.map +0 -1
- package/dist/setup-DufxQpi9.cjs +0 -110
- package/dist/setup-DufxQpi9.cjs.map +0 -1
- package/dist/tracing-BX8uY2nR.d.cts +0 -53
- package/dist/tracing-BX8uY2nR.d.cts.map +0 -1
- package/dist/tracing-Bt1zWRlb.cjs +0 -167
- package/dist/tracing-Bt1zWRlb.cjs.map +0 -1
- package/dist/tracing-Cijm_5NI.mjs +0 -113
- package/dist/tracing-Cijm_5NI.mjs.map +0 -1
- package/dist/tracing-PnECEbEu.d.mts +0 -53
- package/dist/tracing-PnECEbEu.d.mts.map +0 -1
- package/dist/transformer-CFQ4WFk6.mjs +0 -215
- package/dist/transformer-CFQ4WFk6.mjs.map +0 -1
- package/dist/transformer-CTGsaVfV.d.mts.map +0 -1
- package/dist/transformer-Csl6fbgv.cjs +0 -232
- package/dist/transformer-Csl6fbgv.cjs.map +0 -1
- package/dist/transformer-ICEbxpFf.d.cts.map +0 -1
- package/dist/types-B1EIa_cQ.d.mts.map +0 -1
- package/dist/types-BMiHgsi4.cjs +0 -78
- package/dist/types-BMiHgsi4.cjs.map +0 -1
- package/dist/types-BRzW1NM8.d.cts +0 -166
- package/dist/types-BRzW1NM8.d.cts.map +0 -1
- package/dist/types-BS3Rx8Sk.d.cts +0 -209
- package/dist/types-BS3Rx8Sk.d.cts.map +0 -1
- package/dist/types-BzQ78Efw.d.mts +0 -166
- package/dist/types-BzQ78Efw.d.mts.map +0 -1
- package/dist/types-CbNGXnJE.d.mts +0 -209
- package/dist/types-CbNGXnJE.d.mts.map +0 -1
- package/dist/types-Cj59nqy7.mjs +0 -54
- package/dist/types-Cj59nqy7.mjs.map +0 -1
- package/dist/types-CmOB7CLO.d.cts.map +0 -1
- package/dist/types-DBc0q5KD.d.mts.map +0 -1
- package/dist/types-ZW-nfWf6.cjs +0 -40
- package/dist/types-ZW-nfWf6.cjs.map +0 -1
- package/dist/types-l7Rlb5Mg.d.cts.map +0 -1
- package/dist/types-ojhnLdwz.mjs +0 -34
- package/dist/types-ojhnLdwz.mjs.map +0 -1
- package/dist/ui-assets-BEXqOQLe.cjs +0 -48
- package/dist/ui-assets-BEXqOQLe.cjs.map +0 -1
- package/dist/ui-assets-BhTDUsrM.mjs +0 -30
- package/dist/ui-assets-BhTDUsrM.mjs.map +0 -1
package/dist/http-BsqmhurZ.cjs
DELETED
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
-
const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
|
|
3
|
-
|
|
4
|
-
//#region src/instrumentation/http.ts
|
|
5
|
-
const TRACER_NAME = "@geekmidas/constructs";
|
|
6
|
-
/**
|
|
7
|
-
* Get or create a tracer for constructs instrumentation
|
|
8
|
-
*/
|
|
9
|
-
function getConstructsTracer() {
|
|
10
|
-
return __opentelemetry_api.trace.getTracer(TRACER_NAME);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Convert HTTP attributes to OpenTelemetry semantic conventions
|
|
14
|
-
*/
|
|
15
|
-
function toOtelAttributes(attrs) {
|
|
16
|
-
const otelAttrs = {};
|
|
17
|
-
if (attrs.method) otelAttrs["http.request.method"] = attrs.method;
|
|
18
|
-
if (attrs.url) otelAttrs["url.full"] = attrs.url;
|
|
19
|
-
if (attrs.path) otelAttrs["url.path"] = attrs.path;
|
|
20
|
-
if (attrs.route) otelAttrs["http.route"] = attrs.route;
|
|
21
|
-
if (attrs.host) otelAttrs["server.address"] = attrs.host;
|
|
22
|
-
if (attrs.scheme) otelAttrs["url.scheme"] = attrs.scheme;
|
|
23
|
-
if (attrs.userAgent) otelAttrs["user_agent.original"] = attrs.userAgent;
|
|
24
|
-
if (attrs.clientIp) otelAttrs["client.address"] = attrs.clientIp;
|
|
25
|
-
if (attrs.requestId) otelAttrs["http.request.id"] = attrs.requestId;
|
|
26
|
-
if (attrs.response?.statusCode) otelAttrs["http.response.status_code"] = attrs.response.statusCode;
|
|
27
|
-
if (attrs.response?.responseSize) otelAttrs["http.response.body.size"] = attrs.response.responseSize;
|
|
28
|
-
if (attrs.endpoint?.name) otelAttrs["endpoint.name"] = attrs.endpoint.name;
|
|
29
|
-
if (attrs.endpoint?.operationId) otelAttrs["endpoint.operation_id"] = attrs.endpoint.operationId;
|
|
30
|
-
if (attrs.endpoint?.tags?.length) otelAttrs["endpoint.tags"] = attrs.endpoint.tags;
|
|
31
|
-
if (attrs.user?.userId) otelAttrs["enduser.id"] = attrs.user.userId;
|
|
32
|
-
if (attrs.user?.sessionId) otelAttrs["session.id"] = attrs.user.sessionId;
|
|
33
|
-
if (attrs.user?.roles?.length) otelAttrs["enduser.role"] = attrs.user.roles.join(",");
|
|
34
|
-
if (attrs.custom) Object.assign(otelAttrs, attrs.custom);
|
|
35
|
-
return otelAttrs;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Extract trace context from HTTP headers
|
|
39
|
-
*/
|
|
40
|
-
function extractTraceContext(headers) {
|
|
41
|
-
const normalizedHeaders = {};
|
|
42
|
-
for (const [key, value] of Object.entries(headers)) if (value) {
|
|
43
|
-
const stringValue = Array.isArray(value) ? value[0] : value;
|
|
44
|
-
if (stringValue) normalizedHeaders[key.toLowerCase()] = stringValue;
|
|
45
|
-
}
|
|
46
|
-
return __opentelemetry_api.propagation.extract(__opentelemetry_api.context.active(), normalizedHeaders);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Inject trace context into HTTP headers
|
|
50
|
-
*/
|
|
51
|
-
function injectTraceContext(headers, ctx) {
|
|
52
|
-
const result = { ...headers };
|
|
53
|
-
__opentelemetry_api.propagation.inject(ctx ?? __opentelemetry_api.context.active(), result);
|
|
54
|
-
return result;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Create an HTTP server span for an incoming request
|
|
58
|
-
*/
|
|
59
|
-
function createHttpServerSpan(attrs, parentContext) {
|
|
60
|
-
const tracer = getConstructsTracer();
|
|
61
|
-
const spanName = attrs.route ? `${attrs.method} ${attrs.route}` : `${attrs.method} ${attrs.path || "/"}`;
|
|
62
|
-
const ctx = parentContext ?? __opentelemetry_api.context.active();
|
|
63
|
-
return tracer.startSpan(spanName, {
|
|
64
|
-
kind: __opentelemetry_api.SpanKind.SERVER,
|
|
65
|
-
attributes: toOtelAttributes(attrs)
|
|
66
|
-
}, ctx);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* End an HTTP span with response data
|
|
70
|
-
*/
|
|
71
|
-
function endHttpSpan(span, response, error) {
|
|
72
|
-
span.setAttribute("http.response.status_code", response.statusCode);
|
|
73
|
-
if (response.responseSize) span.setAttribute("http.response.body.size", response.responseSize);
|
|
74
|
-
if (error) {
|
|
75
|
-
span.recordException(error);
|
|
76
|
-
span.setStatus({
|
|
77
|
-
code: __opentelemetry_api.SpanStatusCode.ERROR,
|
|
78
|
-
message: error.message
|
|
79
|
-
});
|
|
80
|
-
} else if (response.statusCode >= 400) span.setStatus({
|
|
81
|
-
code: __opentelemetry_api.SpanStatusCode.ERROR,
|
|
82
|
-
message: `HTTP ${response.statusCode}`
|
|
83
|
-
});
|
|
84
|
-
else span.setStatus({ code: __opentelemetry_api.SpanStatusCode.OK });
|
|
85
|
-
span.end();
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Execute a function within an HTTP server span context
|
|
89
|
-
*
|
|
90
|
-
* @example
|
|
91
|
-
* ```typescript
|
|
92
|
-
* const result = await withHttpSpan(
|
|
93
|
-
* { method: 'GET', path: '/users', route: '/users' },
|
|
94
|
-
* async (span) => {
|
|
95
|
-
* const users = await getUsers();
|
|
96
|
-
* return { statusCode: 200, body: users };
|
|
97
|
-
* }
|
|
98
|
-
* );
|
|
99
|
-
* ```
|
|
100
|
-
*/
|
|
101
|
-
async function withHttpSpan(attrs, fn, parentContext) {
|
|
102
|
-
const span = createHttpServerSpan(attrs, parentContext);
|
|
103
|
-
try {
|
|
104
|
-
const result = await __opentelemetry_api.context.with(__opentelemetry_api.trace.setSpan(parentContext ?? __opentelemetry_api.context.active(), span), () => fn(span));
|
|
105
|
-
const statusCode = result.statusCode ?? 200;
|
|
106
|
-
endHttpSpan(span, { statusCode });
|
|
107
|
-
return result;
|
|
108
|
-
} catch (error) {
|
|
109
|
-
endHttpSpan(span, { statusCode: 500 }, error instanceof Error ? error : new Error(String(error)));
|
|
110
|
-
throw error;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Create a child span for internal operations (middleware, handlers, etc.)
|
|
115
|
-
*/
|
|
116
|
-
function createChildSpan(name, attributes) {
|
|
117
|
-
const tracer = getConstructsTracer();
|
|
118
|
-
return tracer.startSpan(name, {
|
|
119
|
-
kind: __opentelemetry_api.SpanKind.INTERNAL,
|
|
120
|
-
attributes
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Execute a function within a child span
|
|
125
|
-
*/
|
|
126
|
-
async function withChildSpan(name, fn, attributes) {
|
|
127
|
-
const span = createChildSpan(name, attributes);
|
|
128
|
-
try {
|
|
129
|
-
const result = await __opentelemetry_api.context.with(__opentelemetry_api.trace.setSpan(__opentelemetry_api.context.active(), span), () => fn(span));
|
|
130
|
-
span.setStatus({ code: __opentelemetry_api.SpanStatusCode.OK });
|
|
131
|
-
return result;
|
|
132
|
-
} catch (error) {
|
|
133
|
-
span.setStatus({
|
|
134
|
-
code: __opentelemetry_api.SpanStatusCode.ERROR,
|
|
135
|
-
message: error instanceof Error ? error.message : "Unknown error"
|
|
136
|
-
});
|
|
137
|
-
span.recordException(error instanceof Error ? error : new Error(String(error)));
|
|
138
|
-
throw error;
|
|
139
|
-
} finally {
|
|
140
|
-
span.end();
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Check if tracing is enabled (OpenTelemetry API is available and configured)
|
|
145
|
-
*/
|
|
146
|
-
function isTracingEnabled() {
|
|
147
|
-
try {
|
|
148
|
-
const tracer = __opentelemetry_api.trace.getTracer(TRACER_NAME);
|
|
149
|
-
const span = tracer.startSpan("test");
|
|
150
|
-
const isReal = span.spanContext().traceId !== "00000000000000000000000000000000";
|
|
151
|
-
span.end();
|
|
152
|
-
return isReal;
|
|
153
|
-
} catch {
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
//#endregion
|
|
159
|
-
Object.defineProperty(exports, 'createChildSpan', {
|
|
160
|
-
enumerable: true,
|
|
161
|
-
get: function () {
|
|
162
|
-
return createChildSpan;
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
Object.defineProperty(exports, 'createHttpServerSpan', {
|
|
166
|
-
enumerable: true,
|
|
167
|
-
get: function () {
|
|
168
|
-
return createHttpServerSpan;
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
Object.defineProperty(exports, 'endHttpSpan', {
|
|
172
|
-
enumerable: true,
|
|
173
|
-
get: function () {
|
|
174
|
-
return endHttpSpan;
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
Object.defineProperty(exports, 'extractTraceContext', {
|
|
178
|
-
enumerable: true,
|
|
179
|
-
get: function () {
|
|
180
|
-
return extractTraceContext;
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
Object.defineProperty(exports, 'getConstructsTracer', {
|
|
184
|
-
enumerable: true,
|
|
185
|
-
get: function () {
|
|
186
|
-
return getConstructsTracer;
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
Object.defineProperty(exports, 'injectTraceContext', {
|
|
190
|
-
enumerable: true,
|
|
191
|
-
get: function () {
|
|
192
|
-
return injectTraceContext;
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
Object.defineProperty(exports, 'isTracingEnabled', {
|
|
196
|
-
enumerable: true,
|
|
197
|
-
get: function () {
|
|
198
|
-
return isTracingEnabled;
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
Object.defineProperty(exports, 'toOtelAttributes', {
|
|
202
|
-
enumerable: true,
|
|
203
|
-
get: function () {
|
|
204
|
-
return toOtelAttributes;
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
Object.defineProperty(exports, 'withChildSpan', {
|
|
208
|
-
enumerable: true,
|
|
209
|
-
get: function () {
|
|
210
|
-
return withChildSpan;
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
Object.defineProperty(exports, 'withHttpSpan', {
|
|
214
|
-
enumerable: true,
|
|
215
|
-
get: function () {
|
|
216
|
-
return withHttpSpan;
|
|
217
|
-
}
|
|
218
|
-
});
|
|
219
|
-
//# sourceMappingURL=http-BsqmhurZ.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-BsqmhurZ.cjs","names":["attrs: HttpSpanAttributes","otelAttrs: Attributes","headers: Record<string, string | string[] | undefined>","normalizedHeaders: Record<string, string>","headers: Record<string, string>","ctx?: Context","parentContext?: Context","SpanKind","span: Span","response: HttpResponseAttributes","error?: Error","SpanStatusCode","fn: (span: Span) => Promise<T & { statusCode?: number }>","name: string","attributes?: Attributes","fn: (span: Span) => Promise<T>"],"sources":["../src/instrumentation/http.ts"],"sourcesContent":["import {\n\ttype Attributes,\n\ttype Context,\n\tcontext,\n\tpropagation,\n\ttype Span,\n\tSpanKind,\n\tSpanStatusCode,\n\ttrace,\n} from '@opentelemetry/api';\n\n/**\n * HTTP request attributes following OpenTelemetry semantic conventions\n */\nexport interface HttpRequestAttributes {\n\tmethod: string;\n\turl?: string;\n\tpath?: string;\n\troute?: string;\n\thost?: string;\n\tscheme?: 'http' | 'https';\n\tuserAgent?: string;\n\tclientIp?: string;\n\trequestId?: string;\n}\n\n/**\n * HTTP response attributes\n */\nexport interface HttpResponseAttributes {\n\tstatusCode: number;\n\tresponseSize?: number;\n}\n\n/**\n * Endpoint-specific attributes\n */\nexport interface EndpointAttributes {\n\tname?: string;\n\toperationId?: string;\n\ttags?: string[];\n}\n\n/**\n * User/session attributes\n */\nexport interface UserAttributes {\n\tuserId?: string;\n\tsessionId?: string;\n\troles?: string[];\n}\n\n/**\n * Full span attributes for HTTP requests\n */\nexport interface HttpSpanAttributes extends HttpRequestAttributes {\n\tresponse?: HttpResponseAttributes;\n\tendpoint?: EndpointAttributes;\n\tuser?: UserAttributes;\n\tcustom?: Attributes;\n}\n\nconst TRACER_NAME = '@geekmidas/constructs';\n\n/**\n * Get or create a tracer for constructs instrumentation\n */\nexport function getConstructsTracer() {\n\treturn trace.getTracer(TRACER_NAME);\n}\n\n/**\n * Convert HTTP attributes to OpenTelemetry semantic conventions\n */\nexport function toOtelAttributes(attrs: HttpSpanAttributes): Attributes {\n\tconst otelAttrs: Attributes = {};\n\n\t// HTTP request attributes (OpenTelemetry semantic conventions)\n\tif (attrs.method) otelAttrs['http.request.method'] = attrs.method;\n\tif (attrs.url) otelAttrs['url.full'] = attrs.url;\n\tif (attrs.path) otelAttrs['url.path'] = attrs.path;\n\tif (attrs.route) otelAttrs['http.route'] = attrs.route;\n\tif (attrs.host) otelAttrs['server.address'] = attrs.host;\n\tif (attrs.scheme) otelAttrs['url.scheme'] = attrs.scheme;\n\tif (attrs.userAgent) otelAttrs['user_agent.original'] = attrs.userAgent;\n\tif (attrs.clientIp) otelAttrs['client.address'] = attrs.clientIp;\n\tif (attrs.requestId) otelAttrs['http.request.id'] = attrs.requestId;\n\n\t// HTTP response attributes\n\tif (attrs.response?.statusCode) {\n\t\totelAttrs['http.response.status_code'] = attrs.response.statusCode;\n\t}\n\tif (attrs.response?.responseSize) {\n\t\totelAttrs['http.response.body.size'] = attrs.response.responseSize;\n\t}\n\n\t// Endpoint attributes\n\tif (attrs.endpoint?.name) otelAttrs['endpoint.name'] = attrs.endpoint.name;\n\tif (attrs.endpoint?.operationId) {\n\t\totelAttrs['endpoint.operation_id'] = attrs.endpoint.operationId;\n\t}\n\tif (attrs.endpoint?.tags?.length) {\n\t\totelAttrs['endpoint.tags'] = attrs.endpoint.tags;\n\t}\n\n\t// User attributes\n\tif (attrs.user?.userId) otelAttrs['enduser.id'] = attrs.user.userId;\n\tif (attrs.user?.sessionId) otelAttrs['session.id'] = attrs.user.sessionId;\n\tif (attrs.user?.roles?.length)\n\t\totelAttrs['enduser.role'] = attrs.user.roles.join(',');\n\n\t// Custom attributes\n\tif (attrs.custom) {\n\t\tObject.assign(otelAttrs, attrs.custom);\n\t}\n\n\treturn otelAttrs;\n}\n\n/**\n * Extract trace context from HTTP headers\n */\nexport function extractTraceContext(\n\theaders: Record<string, string | string[] | undefined>,\n): Context {\n\t// Normalize headers to Record<string, string>\n\tconst normalizedHeaders: Record<string, string> = {};\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tif (value) {\n\t\t\tconst stringValue = Array.isArray(value) ? value[0] : value;\n\t\t\tif (stringValue) {\n\t\t\t\tnormalizedHeaders[key.toLowerCase()] = stringValue;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn propagation.extract(context.active(), normalizedHeaders);\n}\n\n/**\n * Inject trace context into HTTP headers\n */\nexport function injectTraceContext(\n\theaders: Record<string, string>,\n\tctx?: Context,\n): Record<string, string> {\n\tconst result = { ...headers };\n\tpropagation.inject(ctx ?? context.active(), result);\n\treturn result;\n}\n\n/**\n * Create an HTTP server span for an incoming request\n */\nexport function createHttpServerSpan(\n\tattrs: HttpSpanAttributes,\n\tparentContext?: Context,\n): Span {\n\tconst tracer = getConstructsTracer();\n\tconst spanName = attrs.route\n\t\t? `${attrs.method} ${attrs.route}`\n\t\t: `${attrs.method} ${attrs.path || '/'}`;\n\n\tconst ctx = parentContext ?? context.active();\n\n\treturn tracer.startSpan(\n\t\tspanName,\n\t\t{\n\t\t\tkind: SpanKind.SERVER,\n\t\t\tattributes: toOtelAttributes(attrs),\n\t\t},\n\t\tctx,\n\t);\n}\n\n/**\n * End an HTTP span with response data\n */\nexport function endHttpSpan(\n\tspan: Span,\n\tresponse: HttpResponseAttributes,\n\terror?: Error,\n): void {\n\tspan.setAttribute('http.response.status_code', response.statusCode);\n\n\tif (response.responseSize) {\n\t\tspan.setAttribute('http.response.body.size', response.responseSize);\n\t}\n\n\tif (error) {\n\t\tspan.recordException(error);\n\t\tspan.setStatus({\n\t\t\tcode: SpanStatusCode.ERROR,\n\t\t\tmessage: error.message,\n\t\t});\n\t} else if (response.statusCode >= 400) {\n\t\tspan.setStatus({\n\t\t\tcode: SpanStatusCode.ERROR,\n\t\t\tmessage: `HTTP ${response.statusCode}`,\n\t\t});\n\t} else {\n\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t}\n\n\tspan.end();\n}\n\n/**\n * Execute a function within an HTTP server span context\n *\n * @example\n * ```typescript\n * const result = await withHttpSpan(\n * { method: 'GET', path: '/users', route: '/users' },\n * async (span) => {\n * const users = await getUsers();\n * return { statusCode: 200, body: users };\n * }\n * );\n * ```\n */\nexport async function withHttpSpan<T>(\n\tattrs: HttpSpanAttributes,\n\tfn: (span: Span) => Promise<T & { statusCode?: number }>,\n\tparentContext?: Context,\n): Promise<T> {\n\tconst span = createHttpServerSpan(attrs, parentContext);\n\n\ttry {\n\t\tconst result = await context.with(\n\t\t\ttrace.setSpan(parentContext ?? context.active(), span),\n\t\t\t() => fn(span),\n\t\t);\n\n\t\tconst statusCode = (result as { statusCode?: number }).statusCode ?? 200;\n\t\tendHttpSpan(span, { statusCode });\n\n\t\treturn result;\n\t} catch (error) {\n\t\tendHttpSpan(\n\t\t\tspan,\n\t\t\t{ statusCode: 500 },\n\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t);\n\t\tthrow error;\n\t}\n}\n\n/**\n * Create a child span for internal operations (middleware, handlers, etc.)\n */\nexport function createChildSpan(name: string, attributes?: Attributes): Span {\n\tconst tracer = getConstructsTracer();\n\treturn tracer.startSpan(name, {\n\t\tkind: SpanKind.INTERNAL,\n\t\tattributes,\n\t});\n}\n\n/**\n * Execute a function within a child span\n */\nexport async function withChildSpan<T>(\n\tname: string,\n\tfn: (span: Span) => Promise<T>,\n\tattributes?: Attributes,\n): Promise<T> {\n\tconst span = createChildSpan(name, attributes);\n\n\ttry {\n\t\tconst result = await context.with(\n\t\t\ttrace.setSpan(context.active(), span),\n\t\t\t() => fn(span),\n\t\t);\n\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\treturn result;\n\t} catch (error) {\n\t\tspan.setStatus({\n\t\t\tcode: SpanStatusCode.ERROR,\n\t\t\tmessage: error instanceof Error ? error.message : 'Unknown error',\n\t\t});\n\t\tspan.recordException(\n\t\t\terror instanceof Error ? error : new Error(String(error)),\n\t\t);\n\t\tthrow error;\n\t} finally {\n\t\tspan.end();\n\t}\n}\n\n/**\n * Check if tracing is enabled (OpenTelemetry API is available and configured)\n */\nexport function isTracingEnabled(): boolean {\n\ttry {\n\t\tconst tracer = trace.getTracer(TRACER_NAME);\n\t\t// Check if we have a real tracer (not a no-op)\n\t\tconst span = tracer.startSpan('test');\n\t\tconst isReal =\n\t\t\tspan.spanContext().traceId !== '00000000000000000000000000000000';\n\t\tspan.end();\n\t\treturn isReal;\n\t} catch {\n\t\treturn false;\n\t}\n}\n"],"mappings":";;;;AA8DA,MAAM,cAAc;;;;AAKpB,SAAgB,sBAAsB;AACrC,QAAO,0BAAM,UAAU,YAAY;AACnC;;;;AAKD,SAAgB,iBAAiBA,OAAuC;CACvE,MAAMC,YAAwB,CAAE;AAGhC,KAAI,MAAM,OAAQ,WAAU,yBAAyB,MAAM;AAC3D,KAAI,MAAM,IAAK,WAAU,cAAc,MAAM;AAC7C,KAAI,MAAM,KAAM,WAAU,cAAc,MAAM;AAC9C,KAAI,MAAM,MAAO,WAAU,gBAAgB,MAAM;AACjD,KAAI,MAAM,KAAM,WAAU,oBAAoB,MAAM;AACpD,KAAI,MAAM,OAAQ,WAAU,gBAAgB,MAAM;AAClD,KAAI,MAAM,UAAW,WAAU,yBAAyB,MAAM;AAC9D,KAAI,MAAM,SAAU,WAAU,oBAAoB,MAAM;AACxD,KAAI,MAAM,UAAW,WAAU,qBAAqB,MAAM;AAG1D,KAAI,MAAM,UAAU,WACnB,WAAU,+BAA+B,MAAM,SAAS;AAEzD,KAAI,MAAM,UAAU,aACnB,WAAU,6BAA6B,MAAM,SAAS;AAIvD,KAAI,MAAM,UAAU,KAAM,WAAU,mBAAmB,MAAM,SAAS;AACtE,KAAI,MAAM,UAAU,YACnB,WAAU,2BAA2B,MAAM,SAAS;AAErD,KAAI,MAAM,UAAU,MAAM,OACzB,WAAU,mBAAmB,MAAM,SAAS;AAI7C,KAAI,MAAM,MAAM,OAAQ,WAAU,gBAAgB,MAAM,KAAK;AAC7D,KAAI,MAAM,MAAM,UAAW,WAAU,gBAAgB,MAAM,KAAK;AAChE,KAAI,MAAM,MAAM,OAAO,OACtB,WAAU,kBAAkB,MAAM,KAAK,MAAM,KAAK,IAAI;AAGvD,KAAI,MAAM,OACT,QAAO,OAAO,WAAW,MAAM,OAAO;AAGvC,QAAO;AACP;;;;AAKD,SAAgB,oBACfC,SACU;CAEV,MAAMC,oBAA4C,CAAE;AACpD,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,QAAQ,CACjD,KAAI,OAAO;EACV,MAAM,cAAc,MAAM,QAAQ,MAAM,GAAG,MAAM,KAAK;AACtD,MAAI,YACH,mBAAkB,IAAI,aAAa,IAAI;CAExC;AAGF,QAAO,gCAAY,QAAQ,4BAAQ,QAAQ,EAAE,kBAAkB;AAC/D;;;;AAKD,SAAgB,mBACfC,SACAC,KACyB;CACzB,MAAM,SAAS,EAAE,GAAG,QAAS;AAC7B,iCAAY,OAAO,OAAO,4BAAQ,QAAQ,EAAE,OAAO;AACnD,QAAO;AACP;;;;AAKD,SAAgB,qBACfL,OACAM,eACO;CACP,MAAM,SAAS,qBAAqB;CACpC,MAAM,WAAW,MAAM,SACnB,EAAE,MAAM,OAAO,GAAG,MAAM,MAAM,KAC9B,EAAE,MAAM,OAAO,GAAG,MAAM,QAAQ,IAAI;CAExC,MAAM,MAAM,iBAAiB,4BAAQ,QAAQ;AAE7C,QAAO,OAAO,UACb,UACA;EACC,MAAMC,6BAAS;EACf,YAAY,iBAAiB,MAAM;CACnC,GACD,IACA;AACD;;;;AAKD,SAAgB,YACfC,MACAC,UACAC,OACO;AACP,MAAK,aAAa,6BAA6B,SAAS,WAAW;AAEnE,KAAI,SAAS,aACZ,MAAK,aAAa,2BAA2B,SAAS,aAAa;AAGpE,KAAI,OAAO;AACV,OAAK,gBAAgB,MAAM;AAC3B,OAAK,UAAU;GACd,MAAMC,mCAAe;GACrB,SAAS,MAAM;EACf,EAAC;CACF,WAAU,SAAS,cAAc,IACjC,MAAK,UAAU;EACd,MAAMA,mCAAe;EACrB,UAAU,OAAO,SAAS,WAAW;CACrC,EAAC;KAEF,MAAK,UAAU,EAAE,MAAMA,mCAAe,GAAI,EAAC;AAG5C,MAAK,KAAK;AACV;;;;;;;;;;;;;;;AAgBD,eAAsB,aACrBX,OACAY,IACAN,eACa;CACb,MAAM,OAAO,qBAAqB,OAAO,cAAc;AAEvD,KAAI;EACH,MAAM,SAAS,MAAM,4BAAQ,KAC5B,0BAAM,QAAQ,iBAAiB,4BAAQ,QAAQ,EAAE,KAAK,EACtD,MAAM,GAAG,KAAK,CACd;EAED,MAAM,aAAc,OAAmC,cAAc;AACrE,cAAY,MAAM,EAAE,WAAY,EAAC;AAEjC,SAAO;CACP,SAAQ,OAAO;AACf,cACC,MACA,EAAE,YAAY,IAAK,GACnB,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,MAAM,EACxD;AACD,QAAM;CACN;AACD;;;;AAKD,SAAgB,gBAAgBO,MAAcC,YAA+B;CAC5E,MAAM,SAAS,qBAAqB;AACpC,QAAO,OAAO,UAAU,MAAM;EAC7B,MAAMP,6BAAS;EACf;CACA,EAAC;AACF;;;;AAKD,eAAsB,cACrBM,MACAE,IACAD,YACa;CACb,MAAM,OAAO,gBAAgB,MAAM,WAAW;AAE9C,KAAI;EACH,MAAM,SAAS,MAAM,4BAAQ,KAC5B,0BAAM,QAAQ,4BAAQ,QAAQ,EAAE,KAAK,EACrC,MAAM,GAAG,KAAK,CACd;AACD,OAAK,UAAU,EAAE,MAAMH,mCAAe,GAAI,EAAC;AAC3C,SAAO;CACP,SAAQ,OAAO;AACf,OAAK,UAAU;GACd,MAAMA,mCAAe;GACrB,SAAS,iBAAiB,QAAQ,MAAM,UAAU;EAClD,EAAC;AACF,OAAK,gBACJ,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,MAAM,EACxD;AACD,QAAM;CACN,UAAS;AACT,OAAK,KAAK;CACV;AACD;;;;AAKD,SAAgB,mBAA4B;AAC3C,KAAI;EACH,MAAM,SAAS,0BAAM,UAAU,YAAY;EAE3C,MAAM,OAAO,OAAO,UAAU,OAAO;EACrC,MAAM,SACL,KAAK,aAAa,CAAC,YAAY;AAChC,OAAK,KAAK;AACV,SAAO;CACP,QAAO;AACP,SAAO;CACP;AACD"}
|
package/dist/http-D1oTbfap.d.cts
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import * as _opentelemetry_api1 from "@opentelemetry/api";
|
|
2
|
-
import { Attributes, Context, Span } from "@opentelemetry/api";
|
|
3
|
-
|
|
4
|
-
//#region src/instrumentation/http.d.ts
|
|
5
|
-
/**
|
|
6
|
-
* HTTP request attributes following OpenTelemetry semantic conventions
|
|
7
|
-
*/
|
|
8
|
-
interface HttpRequestAttributes {
|
|
9
|
-
method: string;
|
|
10
|
-
url?: string;
|
|
11
|
-
path?: string;
|
|
12
|
-
route?: string;
|
|
13
|
-
host?: string;
|
|
14
|
-
scheme?: 'http' | 'https';
|
|
15
|
-
userAgent?: string;
|
|
16
|
-
clientIp?: string;
|
|
17
|
-
requestId?: string;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* HTTP response attributes
|
|
21
|
-
*/
|
|
22
|
-
interface HttpResponseAttributes {
|
|
23
|
-
statusCode: number;
|
|
24
|
-
responseSize?: number;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Endpoint-specific attributes
|
|
28
|
-
*/
|
|
29
|
-
interface EndpointAttributes {
|
|
30
|
-
name?: string;
|
|
31
|
-
operationId?: string;
|
|
32
|
-
tags?: string[];
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* User/session attributes
|
|
36
|
-
*/
|
|
37
|
-
interface UserAttributes {
|
|
38
|
-
userId?: string;
|
|
39
|
-
sessionId?: string;
|
|
40
|
-
roles?: string[];
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Full span attributes for HTTP requests
|
|
44
|
-
*/
|
|
45
|
-
interface HttpSpanAttributes extends HttpRequestAttributes {
|
|
46
|
-
response?: HttpResponseAttributes;
|
|
47
|
-
endpoint?: EndpointAttributes;
|
|
48
|
-
user?: UserAttributes;
|
|
49
|
-
custom?: Attributes;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Get or create a tracer for constructs instrumentation
|
|
53
|
-
*/
|
|
54
|
-
declare function getConstructsTracer(): _opentelemetry_api1.Tracer;
|
|
55
|
-
/**
|
|
56
|
-
* Convert HTTP attributes to OpenTelemetry semantic conventions
|
|
57
|
-
*/
|
|
58
|
-
declare function toOtelAttributes(attrs: HttpSpanAttributes): Attributes;
|
|
59
|
-
/**
|
|
60
|
-
* Extract trace context from HTTP headers
|
|
61
|
-
*/
|
|
62
|
-
declare function extractTraceContext(headers: Record<string, string | string[] | undefined>): Context;
|
|
63
|
-
/**
|
|
64
|
-
* Inject trace context into HTTP headers
|
|
65
|
-
*/
|
|
66
|
-
declare function injectTraceContext(headers: Record<string, string>, ctx?: Context): Record<string, string>;
|
|
67
|
-
/**
|
|
68
|
-
* Create an HTTP server span for an incoming request
|
|
69
|
-
*/
|
|
70
|
-
declare function createHttpServerSpan(attrs: HttpSpanAttributes, parentContext?: Context): Span;
|
|
71
|
-
/**
|
|
72
|
-
* End an HTTP span with response data
|
|
73
|
-
*/
|
|
74
|
-
declare function endHttpSpan(span: Span, response: HttpResponseAttributes, error?: Error): void;
|
|
75
|
-
/**
|
|
76
|
-
* Execute a function within an HTTP server span context
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* ```typescript
|
|
80
|
-
* const result = await withHttpSpan(
|
|
81
|
-
* { method: 'GET', path: '/users', route: '/users' },
|
|
82
|
-
* async (span) => {
|
|
83
|
-
* const users = await getUsers();
|
|
84
|
-
* return { statusCode: 200, body: users };
|
|
85
|
-
* }
|
|
86
|
-
* );
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
|
-
declare function withHttpSpan<T>(attrs: HttpSpanAttributes, fn: (span: Span) => Promise<T & {
|
|
90
|
-
statusCode?: number;
|
|
91
|
-
}>, parentContext?: Context): Promise<T>;
|
|
92
|
-
/**
|
|
93
|
-
* Create a child span for internal operations (middleware, handlers, etc.)
|
|
94
|
-
*/
|
|
95
|
-
declare function createChildSpan(name: string, attributes?: Attributes): Span;
|
|
96
|
-
/**
|
|
97
|
-
* Execute a function within a child span
|
|
98
|
-
*/
|
|
99
|
-
declare function withChildSpan<T>(name: string, fn: (span: Span) => Promise<T>, attributes?: Attributes): Promise<T>;
|
|
100
|
-
/**
|
|
101
|
-
* Check if tracing is enabled (OpenTelemetry API is available and configured)
|
|
102
|
-
*/
|
|
103
|
-
declare function isTracingEnabled(): boolean;
|
|
104
|
-
//# sourceMappingURL=http.d.ts.map
|
|
105
|
-
//#endregion
|
|
106
|
-
export { EndpointAttributes, HttpRequestAttributes, HttpResponseAttributes, HttpSpanAttributes, UserAttributes, createChildSpan, createHttpServerSpan, endHttpSpan, extractTraceContext, getConstructsTracer, injectTraceContext, isTracingEnabled, toOtelAttributes, withChildSpan, withHttpSpan };
|
|
107
|
-
//# sourceMappingURL=http-D1oTbfap.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-D1oTbfap.d.cts","names":[],"sources":["../src/instrumentation/http.ts"],"sourcesContent":[],"mappings":";;;;;;;AAciB,UAAA,qBAAA,CAAqB;EAerB,MAAA,EAAA,MAAA;EAQA,GAAA,CAAA,EAAA,MAAA;EASA,IAAA,CAAA,EAAA,MAAA;EASA,KAAA,CAAA,EAAA,MAAA;EAAmB,IAAA,CAAA,EAAA,MAAA;EAAA,MACxB,CAAA,EAAA,MAAA,GAAA,OAAA;EAAsB,SACtB,CAAA,EAAA,MAAA;EAAkB,QACtB,CAAA,EAAA,MAAA;EAAc,SACZ,CAAA,EAAA,MAAA;;AAJuD;AAYjE;AAOA;AAAgC,UA7Cf,sBAAA,CA6Ce;EAAA,UAAQ,EAAA,MAAA;EAAkB,YAAG,CAAA,EAAA,MAAA;AAAU;AAgDvE;;;AAEG,UAvFc,kBAAA,CAuFd;EAAO,IAAA,CAAA,EAAA,MAAA;EAkBM,WAAA,CAAA,EAAA,MAAA;EAAkB,IAAA,CAAA,EAAA,MAAA,EAAA;;;;AAGzB;AASO,UA5GC,cAAA,CA4GmB;EAAA,MAAA,CAAA,EAAA,MAAA;EAAA,SAC5B,CAAA,EAAA,MAAA;EAAkB,KACT,CAAA,EAAA,MAAA,EAAA;;AACV;AAqBP;;AACO,UA5HU,kBAAA,SAA2B,qBA4HrC,CAAA;EAAI,QACA,CAAA,EA5HC,sBA4HD;EAAsB,QACxB,CAAA,EA5HG,kBA4HH;EAAK,IAAA,CAAA,EA3HN,cA2HM;EAwCQ,MAAA,CAAA,EAlKZ,UAkKwB;;;;;AAEb,iBA5JL,mBAAA,CAAA,CA4JK,EA5Jc,mBAAA,CAAA,MA4Jd;;;;AAEX,iBAvJM,gBAAA,CAuJN,KAAA,EAvJ8B,kBAuJ9B,CAAA,EAvJmD,UAuJnD;AA0BV;;;AAAwE,iBAjIxD,mBAAA,CAiIwD,OAAA,EAhI9D,MAgI8D,CAAA,MAAA,EAAA,MAAA,GAAA,MAAA,EAAA,GAAA,SAAA,CAAA,CAAA,EA/HrE,OA+HqE;AAAI;AAW5E;;AAEY,iBA1HI,kBAAA,CA0HJ,OAAA,EAzHF,MAyHE,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,GAAA,CAAA,EAxHL,OAwHK,CAAA,EAvHT,MAuHS,CAAA,MAAA,EAAA,MAAA,CAAA;;;;AAED,iBAhHK,oBAAA,CAgHL,KAAA,EA/GH,kBA+GG,EAAA,aAAA,CAAA,EA9GM,OA8GN,CAAA,EA7GR,IA6GQ;;AAAD;AA2BV;iBAnHgB,WAAA,OACT,gBACI,gCACF;;;;;;;;;;;;;;;iBAwCa,uBACd,+BACI,SAAS,QAAQ;;oBACZ,UACd,QAAQ;;;;iBA0BK,eAAA,4BAA2C,aAAa;;;;iBAWlD,0CAEV,SAAS,QAAQ,iBACf,aACX,QAAQ;;;;iBA2BK,gBAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { };
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { ExceptionEntry, LogEntry, QueryOptions, RequestEntry, TelescopeStats, TelescopeStorage } from "./types-l7Rlb5Mg.cjs";
|
|
2
|
-
|
|
3
|
-
//#region src/storage/memory.d.ts
|
|
4
|
-
interface InMemoryStorageOptions {
|
|
5
|
-
/** Maximum number of entries to keep per type (default: 1000) */
|
|
6
|
-
maxEntries?: number;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* In-memory storage for Telescope data.
|
|
10
|
-
* Ideal for development and testing.
|
|
11
|
-
* Data is lost when the process restarts.
|
|
12
|
-
*/
|
|
13
|
-
declare class InMemoryStorage implements TelescopeStorage {
|
|
14
|
-
private requests;
|
|
15
|
-
private exceptions;
|
|
16
|
-
private logs;
|
|
17
|
-
private maxEntries;
|
|
18
|
-
constructor(options?: InMemoryStorageOptions);
|
|
19
|
-
saveRequest(entry: RequestEntry): Promise<void>;
|
|
20
|
-
saveRequests(entries: RequestEntry[]): Promise<void>;
|
|
21
|
-
getRequests(options?: QueryOptions): Promise<RequestEntry[]>;
|
|
22
|
-
getRequest(id: string): Promise<RequestEntry | null>;
|
|
23
|
-
saveException(entry: ExceptionEntry): Promise<void>;
|
|
24
|
-
saveExceptions(entries: ExceptionEntry[]): Promise<void>;
|
|
25
|
-
getExceptions(options?: QueryOptions): Promise<ExceptionEntry[]>;
|
|
26
|
-
getException(id: string): Promise<ExceptionEntry | null>;
|
|
27
|
-
saveLog(entry: LogEntry): Promise<void>;
|
|
28
|
-
saveLogs(entries: LogEntry[]): Promise<void>;
|
|
29
|
-
getLogs(options?: QueryOptions): Promise<LogEntry[]>;
|
|
30
|
-
prune(olderThan: Date): Promise<number>;
|
|
31
|
-
getStats(): Promise<TelescopeStats>;
|
|
32
|
-
clear(): void;
|
|
33
|
-
private enforceLimit;
|
|
34
|
-
private filterEntries;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=memory.d.ts.map
|
|
37
|
-
|
|
38
|
-
//#endregion
|
|
39
|
-
export { InMemoryStorage, InMemoryStorageOptions };
|
|
40
|
-
//# sourceMappingURL=memory--BK4iWiv.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory--BK4iWiv.d.cts","names":[],"sources":["../src/storage/memory.ts"],"sourcesContent":[],"mappings":";;;UASiB,sBAAA;;EAAA,UAAA,CAAA,EAAA,MAAA;AAUjB;;;;;;AAiB8C,cAjBjC,eAAA,YAA2B,gBAiBM,CAAA;EAAO,QAKxB,QAAA;EAAY,QAAW,UAAA;EAAY,QAApB,IAAA;EAAO,QA0BZ,UAAA;EAAY,WAApB,CAAA,OAAA,CAAA,EA1CR,sBA0CQ;EAAO,WAMV,CAAA,KAAA,EA1CF,YA0CE,CAAA,EA1Ca,OA0Cb,CAAA,IAAA,CAAA;EAAc,YAAG,CAAA,OAAA,EArChB,YAqCgB,EAAA,CAAA,EArCC,OAqCD,CAAA,IAAA,CAAA;EAAO,WAKrB,CAAA,OAAA,CAAA,EArCF,YAqCE,CAAA,EArCa,OAqCb,CArCqB,YAqCrB,EAAA,CAAA;EAAc,UAAK,CAAA,EAAA,EAAA,MAAA,CAAA,EAXnB,OAWmB,CAXX,YAWW,GAAA,IAAA,CAAA;EAAO,aAK1B,CAAA,KAAA,EAVH,cAUG,CAAA,EAVc,OAUd,CAAA,IAAA,CAAA;EAAY,cAAW,CAAA,OAAA,EALvB,cAKuB,EAAA,CAAA,EALJ,OAKI,CAAA,IAAA,CAAA;EAAc,aAAtB,CAAA,OAAA,CAAA,EAAf,YAAe,CAAA,EAAA,OAAA,CAAQ,cAAR,EAAA,CAAA;EAAO,YAIZ,CAAA,EAAA,EAAA,MAAA,CAAA,EAAR,OAAQ,CAAA,cAAA,GAAA,IAAA,CAAA;EAAc,OAAtB,CAAA,KAAA,EAMX,QANW,CAAA,EAMA,OANA,CAAA,IAAA,CAAA;EAAO,QAMlB,CAAA,OAAA,EAKG,QALH,EAAA,CAAA,EAKgB,OALhB,CAAA,IAAA,CAAA;EAAQ,OAAG,CAAA,OAAA,CAAA,EAUR,YAVQ,CAAA,EAUO,OAVP,CAUe,QAVf,EAAA,CAAA;EAAO,KAKf,CAAA,SAAA,EAkBD,IAlBC,CAAA,EAkBM,OAlBN,CAAA,MAAA,CAAA;EAAQ,QAAK,CAAA,CAAA,EAiCnB,OAjCmB,CAiCX,cAjCW,CAAA;EAAO,KAKpB,CAAA,CAAA,EAAA,IAAA;EAAY,QAAW,YAAA;EAAQ,QAAhB,aAAA"}
|
package/dist/memory-6S9H-IF5.mjs
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
//#region src/storage/memory.ts
|
|
2
|
-
/**
|
|
3
|
-
* In-memory storage for Telescope data.
|
|
4
|
-
* Ideal for development and testing.
|
|
5
|
-
* Data is lost when the process restarts.
|
|
6
|
-
*/
|
|
7
|
-
var InMemoryStorage = class {
|
|
8
|
-
requests = [];
|
|
9
|
-
exceptions = [];
|
|
10
|
-
logs = [];
|
|
11
|
-
maxEntries;
|
|
12
|
-
constructor(options) {
|
|
13
|
-
this.maxEntries = options?.maxEntries ?? 1e3;
|
|
14
|
-
}
|
|
15
|
-
async saveRequest(entry) {
|
|
16
|
-
this.requests.unshift(entry);
|
|
17
|
-
this.enforceLimit("requests");
|
|
18
|
-
}
|
|
19
|
-
async saveRequests(entries) {
|
|
20
|
-
this.requests.unshift(...entries);
|
|
21
|
-
this.enforceLimit("requests");
|
|
22
|
-
}
|
|
23
|
-
async getRequests(options) {
|
|
24
|
-
let result = this.requests;
|
|
25
|
-
if (options?.method) result = result.filter((r) => r.method === options.method);
|
|
26
|
-
if (options?.status) {
|
|
27
|
-
const statusFilter = options.status;
|
|
28
|
-
result = result.filter((r) => {
|
|
29
|
-
if (statusFilter.endsWith("xx")) {
|
|
30
|
-
const firstChar = statusFilter[0];
|
|
31
|
-
if (!firstChar) return false;
|
|
32
|
-
const category = parseInt(firstChar, 10);
|
|
33
|
-
return Math.floor(r.status / 100) === category;
|
|
34
|
-
}
|
|
35
|
-
return r.status === parseInt(statusFilter, 10);
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
return this.filterEntries(result, options);
|
|
39
|
-
}
|
|
40
|
-
async getRequest(id) {
|
|
41
|
-
return this.requests.find((r) => r.id === id) ?? null;
|
|
42
|
-
}
|
|
43
|
-
async saveException(entry) {
|
|
44
|
-
this.exceptions.unshift(entry);
|
|
45
|
-
this.enforceLimit("exceptions");
|
|
46
|
-
}
|
|
47
|
-
async saveExceptions(entries) {
|
|
48
|
-
this.exceptions.unshift(...entries);
|
|
49
|
-
this.enforceLimit("exceptions");
|
|
50
|
-
}
|
|
51
|
-
async getExceptions(options) {
|
|
52
|
-
return this.filterEntries(this.exceptions, options);
|
|
53
|
-
}
|
|
54
|
-
async getException(id) {
|
|
55
|
-
return this.exceptions.find((e) => e.id === id) ?? null;
|
|
56
|
-
}
|
|
57
|
-
async saveLog(entry) {
|
|
58
|
-
this.logs.unshift(entry);
|
|
59
|
-
this.enforceLimit("logs");
|
|
60
|
-
}
|
|
61
|
-
async saveLogs(entries) {
|
|
62
|
-
this.logs.unshift(...entries);
|
|
63
|
-
this.enforceLimit("logs");
|
|
64
|
-
}
|
|
65
|
-
async getLogs(options) {
|
|
66
|
-
let result = this.logs;
|
|
67
|
-
if (options?.level) result = result.filter((l) => l.level === options.level);
|
|
68
|
-
return this.filterEntries(result, options);
|
|
69
|
-
}
|
|
70
|
-
async prune(olderThan) {
|
|
71
|
-
const beforeCount = this.requests.length + this.exceptions.length + this.logs.length;
|
|
72
|
-
this.requests = this.requests.filter((r) => r.timestamp >= olderThan);
|
|
73
|
-
this.exceptions = this.exceptions.filter((e) => e.timestamp >= olderThan);
|
|
74
|
-
this.logs = this.logs.filter((l) => l.timestamp >= olderThan);
|
|
75
|
-
const afterCount = this.requests.length + this.exceptions.length + this.logs.length;
|
|
76
|
-
return beforeCount - afterCount;
|
|
77
|
-
}
|
|
78
|
-
async getStats() {
|
|
79
|
-
const allTimestamps = [
|
|
80
|
-
...this.requests.map((r) => r.timestamp),
|
|
81
|
-
...this.exceptions.map((e) => e.timestamp),
|
|
82
|
-
...this.logs.map((l) => l.timestamp)
|
|
83
|
-
].sort((a, b) => a.getTime() - b.getTime());
|
|
84
|
-
return {
|
|
85
|
-
requests: this.requests.length,
|
|
86
|
-
exceptions: this.exceptions.length,
|
|
87
|
-
logs: this.logs.length,
|
|
88
|
-
oldestEntry: allTimestamps[0],
|
|
89
|
-
newestEntry: allTimestamps[allTimestamps.length - 1]
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
clear() {
|
|
93
|
-
this.requests = [];
|
|
94
|
-
this.exceptions = [];
|
|
95
|
-
this.logs = [];
|
|
96
|
-
}
|
|
97
|
-
enforceLimit(type) {
|
|
98
|
-
const entries = this[type];
|
|
99
|
-
if (entries.length > this.maxEntries) if (type === "requests") this.requests = this.requests.slice(0, this.maxEntries);
|
|
100
|
-
else if (type === "exceptions") this.exceptions = this.exceptions.slice(0, this.maxEntries);
|
|
101
|
-
else this.logs = this.logs.slice(0, this.maxEntries);
|
|
102
|
-
}
|
|
103
|
-
filterEntries(entries, options) {
|
|
104
|
-
let result = entries;
|
|
105
|
-
if (options?.after) result = result.filter((e) => e.timestamp >= options.after);
|
|
106
|
-
if (options?.before) result = result.filter((e) => e.timestamp <= options.before);
|
|
107
|
-
if (options?.tags && options.tags.length > 0) result = result.filter((e) => e.tags && options.tags?.some((t) => e.tags?.includes(t)));
|
|
108
|
-
if (options?.search) {
|
|
109
|
-
const searchLower = options.search.toLowerCase();
|
|
110
|
-
result = result.filter((e) => {
|
|
111
|
-
const str = JSON.stringify(e).toLowerCase();
|
|
112
|
-
return str.includes(searchLower);
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
const offset = options?.offset ?? 0;
|
|
116
|
-
const limit = options?.limit ?? 50;
|
|
117
|
-
return result.slice(offset, offset + limit);
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
//#endregion
|
|
122
|
-
export { InMemoryStorage };
|
|
123
|
-
//# sourceMappingURL=memory-6S9H-IF5.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-6S9H-IF5.mjs","names":["options?: InMemoryStorageOptions","entry: RequestEntry","entries: RequestEntry[]","options?: QueryOptions","id: string","entry: ExceptionEntry","entries: ExceptionEntry[]","entry: LogEntry","entries: LogEntry[]","olderThan: Date","type: 'requests' | 'exceptions' | 'logs'","entries: T[]"],"sources":["../src/storage/memory.ts"],"sourcesContent":["import type {\n\tExceptionEntry,\n\tLogEntry,\n\tQueryOptions,\n\tRequestEntry,\n\tTelescopeStats,\n\tTelescopeStorage,\n} from '../types';\n\nexport interface InMemoryStorageOptions {\n\t/** Maximum number of entries to keep per type (default: 1000) */\n\tmaxEntries?: number;\n}\n\n/**\n * In-memory storage for Telescope data.\n * Ideal for development and testing.\n * Data is lost when the process restarts.\n */\nexport class InMemoryStorage implements TelescopeStorage {\n\tprivate requests: RequestEntry[] = [];\n\tprivate exceptions: ExceptionEntry[] = [];\n\tprivate logs: LogEntry[] = [];\n\tprivate maxEntries: number;\n\n\tconstructor(options?: InMemoryStorageOptions) {\n\t\tthis.maxEntries = options?.maxEntries ?? 1000;\n\t}\n\n\t// Requests\n\n\tasync saveRequest(entry: RequestEntry): Promise<void> {\n\t\tthis.requests.unshift(entry);\n\t\tthis.enforceLimit('requests');\n\t}\n\n\tasync saveRequests(entries: RequestEntry[]): Promise<void> {\n\t\tthis.requests.unshift(...entries);\n\t\tthis.enforceLimit('requests');\n\t}\n\n\tasync getRequests(options?: QueryOptions): Promise<RequestEntry[]> {\n\t\tlet result = this.requests;\n\n\t\t// Apply request-specific filters before generic filtering\n\t\tif (options?.method) {\n\t\t\tresult = result.filter((r) => r.method === options.method);\n\t\t}\n\n\t\tif (options?.status) {\n\t\t\tconst statusFilter = options.status;\n\t\t\tresult = result.filter((r) => {\n\t\t\t\t// Handle status ranges like \"2xx\", \"4xx\", \"5xx\"\n\t\t\t\tif (statusFilter.endsWith('xx')) {\n\t\t\t\t\tconst firstChar = statusFilter[0];\n\t\t\t\t\tif (!firstChar) return false;\n\t\t\t\t\tconst category = parseInt(firstChar, 10);\n\t\t\t\t\treturn Math.floor(r.status / 100) === category;\n\t\t\t\t}\n\t\t\t\t// Handle exact status codes\n\t\t\t\treturn r.status === parseInt(statusFilter, 10);\n\t\t\t});\n\t\t}\n\n\t\treturn this.filterEntries(result, options);\n\t}\n\n\tasync getRequest(id: string): Promise<RequestEntry | null> {\n\t\treturn this.requests.find((r) => r.id === id) ?? null;\n\t}\n\n\t// Exceptions\n\n\tasync saveException(entry: ExceptionEntry): Promise<void> {\n\t\tthis.exceptions.unshift(entry);\n\t\tthis.enforceLimit('exceptions');\n\t}\n\n\tasync saveExceptions(entries: ExceptionEntry[]): Promise<void> {\n\t\tthis.exceptions.unshift(...entries);\n\t\tthis.enforceLimit('exceptions');\n\t}\n\n\tasync getExceptions(options?: QueryOptions): Promise<ExceptionEntry[]> {\n\t\treturn this.filterEntries(this.exceptions, options);\n\t}\n\n\tasync getException(id: string): Promise<ExceptionEntry | null> {\n\t\treturn this.exceptions.find((e) => e.id === id) ?? null;\n\t}\n\n\t// Logs\n\n\tasync saveLog(entry: LogEntry): Promise<void> {\n\t\tthis.logs.unshift(entry);\n\t\tthis.enforceLimit('logs');\n\t}\n\n\tasync saveLogs(entries: LogEntry[]): Promise<void> {\n\t\tthis.logs.unshift(...entries);\n\t\tthis.enforceLimit('logs');\n\t}\n\n\tasync getLogs(options?: QueryOptions): Promise<LogEntry[]> {\n\t\tlet result = this.logs;\n\n\t\t// Apply log-specific filters before generic filtering\n\t\tif (options?.level) {\n\t\t\tresult = result.filter((l) => l.level === options.level);\n\t\t}\n\n\t\treturn this.filterEntries(result, options);\n\t}\n\n\t// Cleanup\n\n\tasync prune(olderThan: Date): Promise<number> {\n\t\tconst beforeCount =\n\t\t\tthis.requests.length + this.exceptions.length + this.logs.length;\n\n\t\tthis.requests = this.requests.filter((r) => r.timestamp >= olderThan);\n\t\tthis.exceptions = this.exceptions.filter((e) => e.timestamp >= olderThan);\n\t\tthis.logs = this.logs.filter((l) => l.timestamp >= olderThan);\n\n\t\tconst afterCount =\n\t\t\tthis.requests.length + this.exceptions.length + this.logs.length;\n\t\treturn beforeCount - afterCount;\n\t}\n\n\t// Stats\n\n\tasync getStats(): Promise<TelescopeStats> {\n\t\tconst allTimestamps = [\n\t\t\t...this.requests.map((r) => r.timestamp),\n\t\t\t...this.exceptions.map((e) => e.timestamp),\n\t\t\t...this.logs.map((l) => l.timestamp),\n\t\t].sort((a, b) => a.getTime() - b.getTime());\n\n\t\treturn {\n\t\t\trequests: this.requests.length,\n\t\t\texceptions: this.exceptions.length,\n\t\t\tlogs: this.logs.length,\n\t\t\toldestEntry: allTimestamps[0],\n\t\t\tnewestEntry: allTimestamps[allTimestamps.length - 1],\n\t\t};\n\t}\n\n\t// Clear all data (useful for testing)\n\n\tclear(): void {\n\t\tthis.requests = [];\n\t\tthis.exceptions = [];\n\t\tthis.logs = [];\n\t}\n\n\t// Private helpers\n\n\tprivate enforceLimit(type: 'requests' | 'exceptions' | 'logs'): void {\n\t\tconst entries = this[type];\n\t\tif (entries.length > this.maxEntries) {\n\t\t\tif (type === 'requests') {\n\t\t\t\tthis.requests = this.requests.slice(0, this.maxEntries);\n\t\t\t} else if (type === 'exceptions') {\n\t\t\t\tthis.exceptions = this.exceptions.slice(0, this.maxEntries);\n\t\t\t} else {\n\t\t\t\tthis.logs = this.logs.slice(0, this.maxEntries);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate filterEntries<T extends { timestamp: Date; tags?: string[] }>(\n\t\tentries: T[],\n\t\toptions?: QueryOptions,\n\t): T[] {\n\t\tlet result = entries;\n\n\t\tif (options?.after) {\n\t\t\tresult = result.filter((e) => e.timestamp >= options.after!);\n\t\t}\n\n\t\tif (options?.before) {\n\t\t\tresult = result.filter((e) => e.timestamp <= options.before!);\n\t\t}\n\n\t\tif (options?.tags && options.tags.length > 0) {\n\t\t\tresult = result.filter(\n\t\t\t\t(e) => e.tags && options.tags?.some((t) => e.tags?.includes(t)),\n\t\t\t);\n\t\t}\n\n\t\tif (options?.search) {\n\t\t\tconst searchLower = options.search.toLowerCase();\n\t\t\tresult = result.filter((e) => {\n\t\t\t\tconst str = JSON.stringify(e).toLowerCase();\n\t\t\t\treturn str.includes(searchLower);\n\t\t\t});\n\t\t}\n\n\t\tconst offset = options?.offset ?? 0;\n\t\tconst limit = options?.limit ?? 50;\n\n\t\treturn result.slice(offset, offset + limit);\n\t}\n}\n"],"mappings":"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"}
|