autotel 3.6.0 → 4.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/dist/attribute-redacting-processor-DtTS9xxh.d.cts +175 -0
- package/dist/attribute-redacting-processor-DtTS9xxh.d.cts.map +1 -0
- package/dist/attribute-redacting-processor-DtTS9xxh.d.ts +175 -0
- package/dist/attribute-redacting-processor-DtTS9xxh.d.ts.map +1 -0
- package/dist/attribute-redacting-processor.cjs +374 -33
- package/dist/attribute-redacting-processor.cjs.map +1 -1
- package/dist/attribute-redacting-processor.d.cts +2 -207
- package/dist/attribute-redacting-processor.d.ts +2 -207
- package/dist/attribute-redacting-processor.js +368 -2
- package/dist/attribute-redacting-processor.js.map +1 -1
- package/dist/attributes-CmYpdqCN.js +591 -0
- package/dist/attributes-CmYpdqCN.js.map +1 -0
- package/dist/attributes-PZ5doLgw.cjs +704 -0
- package/dist/attributes-PZ5doLgw.cjs.map +1 -0
- package/dist/attributes.cjs +21 -85
- package/dist/attributes.d.cts +2 -20
- package/dist/attributes.d.ts +2 -20
- package/dist/attributes.js +3 -5
- package/dist/auto.cjs +50 -28
- package/dist/auto.cjs.map +1 -1
- package/dist/auto.d.cts +1 -2
- package/dist/auto.d.ts +1 -2
- package/dist/auto.js +49 -23
- package/dist/auto.js.map +1 -1
- package/dist/business-baggage.cjs +357 -13
- package/dist/business-baggage.cjs.map +1 -1
- package/dist/business-baggage.d.cts +106 -139
- package/dist/business-baggage.d.cts.map +1 -0
- package/dist/business-baggage.d.ts +106 -139
- package/dist/business-baggage.d.ts.map +1 -0
- package/dist/business-baggage.js +357 -2
- package/dist/business-baggage.js.map +1 -1
- package/dist/canonical-log-line-processor--RlFDHhm.cjs +377 -0
- package/dist/canonical-log-line-processor--RlFDHhm.cjs.map +1 -0
- package/dist/canonical-log-line-processor-BcRuAdRk.d.ts +147 -0
- package/dist/canonical-log-line-processor-BcRuAdRk.d.ts.map +1 -0
- package/dist/canonical-log-line-processor-DbBQT5vY.js +366 -0
- package/dist/canonical-log-line-processor-DbBQT5vY.js.map +1 -0
- package/dist/canonical-log-line-processor-xvjMgtpF.d.cts +147 -0
- package/dist/canonical-log-line-processor-xvjMgtpF.d.cts.map +1 -0
- package/dist/config.cjs +118 -22
- package/dist/config.cjs.map +1 -1
- package/dist/config.d.cts +33 -45
- package/dist/config.d.cts.map +1 -0
- package/dist/config.d.ts +33 -45
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +116 -3
- package/dist/config.js.map +1 -1
- package/dist/correlated-events-Bzh5y-UB.js +28 -0
- package/dist/correlated-events-Bzh5y-UB.js.map +1 -0
- package/dist/correlated-events-kSwLo3mi.cjs +34 -0
- package/dist/correlated-events-kSwLo3mi.cjs.map +1 -0
- package/dist/correlation-id.cjs +11 -54
- package/dist/correlation-id.d.cts +6 -5
- package/dist/correlation-id.d.cts.map +1 -0
- package/dist/correlation-id.d.ts +6 -5
- package/dist/correlation-id.d.ts.map +1 -0
- package/dist/correlation-id.js +3 -17
- package/dist/db.cjs +244 -209
- package/dist/db.cjs.map +1 -1
- package/dist/db.d.cts +28 -26
- package/dist/db.d.cts.map +1 -0
- package/dist/db.d.ts +28 -26
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +243 -207
- package/dist/db.js.map +1 -1
- package/dist/decorators.cjs +39 -66
- package/dist/decorators.cjs.map +1 -1
- package/dist/decorators.d.cts +10 -37
- package/dist/decorators.d.cts.map +1 -0
- package/dist/decorators.d.ts +10 -37
- package/dist/decorators.d.ts.map +1 -0
- package/dist/decorators.js +38 -64
- package/dist/decorators.js.map +1 -1
- package/dist/define-event-CreknLm3.d.ts +25 -0
- package/dist/define-event-CreknLm3.d.ts.map +1 -0
- package/dist/define-event-HZRizPwz.d.cts +25 -0
- package/dist/define-event-HZRizPwz.d.cts.map +1 -0
- package/dist/drain-pipeline.cjs +111 -9
- package/dist/drain-pipeline.cjs.map +1 -1
- package/dist/drain-pipeline.d.cts +27 -32
- package/dist/drain-pipeline.d.cts.map +1 -0
- package/dist/drain-pipeline.d.ts +27 -32
- package/dist/drain-pipeline.d.ts.map +1 -0
- package/dist/drain-pipeline.js +111 -2
- package/dist/drain-pipeline.js.map +1 -1
- package/dist/enrichers.cjs +59 -66
- package/dist/enrichers.cjs.map +1 -1
- package/dist/enrichers.d.cts +15 -13
- package/dist/enrichers.d.cts.map +1 -0
- package/dist/enrichers.d.ts +15 -13
- package/dist/enrichers.d.ts.map +1 -0
- package/dist/enrichers.js +58 -65
- package/dist/enrichers.js.map +1 -1
- package/dist/event-Dlqr4ZNL.cjs +778 -0
- package/dist/event-Dlqr4ZNL.cjs.map +1 -0
- package/dist/event-_58ryBjh.js +761 -0
- package/dist/event-_58ryBjh.js.map +1 -0
- package/dist/event-subscriber-D1XLkPzi.d.cts +223 -0
- package/dist/event-subscriber-D1XLkPzi.d.cts.map +1 -0
- package/dist/event-subscriber-D1XLkPzi.d.ts +223 -0
- package/dist/event-subscriber-D1XLkPzi.d.ts.map +1 -0
- package/dist/event-subscriber.cjs +0 -6
- package/dist/event-subscriber.d.cts +2 -221
- package/dist/event-subscriber.d.ts +2 -221
- package/dist/event-subscriber.js +1 -3
- package/dist/event-testing-BqRnI0z4.d.cts +106 -0
- package/dist/event-testing-BqRnI0z4.d.cts.map +1 -0
- package/dist/event-testing-CfFs3to2.d.ts +106 -0
- package/dist/event-testing-CfFs3to2.d.ts.map +1 -0
- package/dist/event-testing.cjs +93 -17
- package/dist/event-testing.cjs.map +1 -1
- package/dist/event-testing.d.cts +2 -110
- package/dist/event-testing.d.ts +2 -110
- package/dist/event-testing.js +91 -2
- package/dist/event-testing.js.map +1 -1
- package/dist/event.cjs +5 -37
- package/dist/event.d.cts +295 -340
- package/dist/event.d.cts.map +1 -0
- package/dist/event.d.ts +295 -340
- package/dist/event.d.ts.map +1 -0
- package/dist/event.js +3 -21
- package/dist/exporters.cjs +12 -16
- package/dist/exporters.d.cts +86 -111
- package/dist/exporters.d.cts.map +1 -0
- package/dist/exporters.d.ts +86 -111
- package/dist/exporters.d.ts.map +1 -0
- package/dist/exporters.js +4 -4
- package/dist/filtering-span-processor-B8R8B7Uk.d.cts +59 -0
- package/dist/filtering-span-processor-B8R8B7Uk.d.cts.map +1 -0
- package/dist/filtering-span-processor-B8R8B7Uk.d.ts +59 -0
- package/dist/filtering-span-processor-B8R8B7Uk.d.ts.map +1 -0
- package/dist/filtering-span-processor.cjs +49 -9
- package/dist/filtering-span-processor.cjs.map +1 -1
- package/dist/filtering-span-processor.d.cts +2 -80
- package/dist/filtering-span-processor.d.ts +2 -80
- package/dist/filtering-span-processor.js +49 -2
- package/dist/filtering-span-processor.js.map +1 -1
- package/dist/functional-BGkT8J-h.js +1265 -0
- package/dist/functional-BGkT8J-h.js.map +1 -0
- package/dist/functional-C4CzoVrX.cjs +1312 -0
- package/dist/functional-C4CzoVrX.cjs.map +1 -0
- package/dist/functional.cjs +11 -57
- package/dist/functional.d.cts +96 -97
- package/dist/functional.d.cts.map +1 -0
- package/dist/functional.d.ts +96 -97
- package/dist/functional.d.ts.map +1 -0
- package/dist/functional.js +3 -20
- package/dist/http.cjs +276 -176
- package/dist/http.cjs.map +1 -1
- package/dist/http.d.cts +17 -37
- package/dist/http.d.cts.map +1 -0
- package/dist/http.d.ts +17 -37
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +275 -174
- package/dist/http.js.map +1 -1
- package/dist/index-Ck06vlW2.d.ts +678 -0
- package/dist/index-Ck06vlW2.d.ts.map +1 -0
- package/dist/index-eKuioqT1.d.cts +678 -0
- package/dist/index-eKuioqT1.d.cts.map +1 -0
- package/dist/index.cjs +751 -1218
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +341 -659
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +341 -659
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +606 -737
- package/dist/index.js.map +1 -1
- package/dist/init-CNp-ee80.d.cts +1157 -0
- package/dist/init-CNp-ee80.d.cts.map +1 -0
- package/dist/init-Ch6t7MNI.js +1015 -0
- package/dist/init-Ch6t7MNI.js.map +1 -0
- package/dist/init-DJQOdVlN.d.ts +1157 -0
- package/dist/init-DJQOdVlN.d.ts.map +1 -0
- package/dist/init-DvapOXCc.cjs +1092 -0
- package/dist/init-DvapOXCc.cjs.map +1 -0
- package/dist/instrumentation.cjs +159 -185
- package/dist/instrumentation.cjs.map +1 -1
- package/dist/instrumentation.d.cts +42 -40
- package/dist/instrumentation.d.cts.map +1 -0
- package/dist/instrumentation.d.ts +42 -40
- package/dist/instrumentation.d.ts.map +1 -0
- package/dist/instrumentation.js +158 -183
- package/dist/instrumentation.js.map +1 -1
- package/dist/logger-BauSUhUv.d.cts +313 -0
- package/dist/logger-BauSUhUv.d.cts.map +1 -0
- package/dist/logger-BauSUhUv.d.ts +313 -0
- package/dist/logger-BauSUhUv.d.ts.map +1 -0
- package/dist/logger.cjs +225 -25
- package/dist/logger.cjs.map +1 -1
- package/dist/logger.d.cts +2 -348
- package/dist/logger.d.ts +2 -348
- package/dist/logger.js +204 -4
- package/dist/logger.js.map +1 -1
- package/dist/messaging-adapters.cjs +292 -187
- package/dist/messaging-adapters.cjs.map +1 -1
- package/dist/messaging-adapters.d.cts +28 -66
- package/dist/messaging-adapters.d.cts.map +1 -0
- package/dist/messaging-adapters.d.ts +28 -66
- package/dist/messaging-adapters.d.ts.map +1 -0
- package/dist/messaging-adapters.js +291 -185
- package/dist/messaging-adapters.js.map +1 -1
- package/dist/messaging-testing.cjs +306 -372
- package/dist/messaging-testing.cjs.map +1 -1
- package/dist/messaging-testing.d.cts +194 -223
- package/dist/messaging-testing.d.cts.map +1 -0
- package/dist/messaging-testing.d.ts +194 -223
- package/dist/messaging-testing.d.ts.map +1 -0
- package/dist/messaging-testing.js +305 -371
- package/dist/messaging-testing.js.map +1 -1
- package/dist/messaging.cjs +757 -36
- package/dist/messaging.cjs.map +1 -1
- package/dist/messaging.d.cts +603 -644
- package/dist/messaging.d.cts.map +1 -0
- package/dist/messaging.d.ts +603 -644
- package/dist/messaging.d.ts.map +1 -0
- package/dist/messaging.js +756 -21
- package/dist/messaging.js.map +1 -1
- package/dist/metric-helpers.cjs +27 -27
- package/dist/metric-helpers.cjs.map +1 -1
- package/dist/metric-helpers.d.cts +4 -2
- package/dist/metric-helpers.d.cts.map +1 -0
- package/dist/metric-helpers.d.ts +4 -2
- package/dist/metric-helpers.d.ts.map +1 -0
- package/dist/metric-helpers.js +24 -4
- package/dist/metric-helpers.js.map +1 -1
- package/dist/metric-testing-DXdK3-Q3.d.ts +106 -0
- package/dist/metric-testing-DXdK3-Q3.d.ts.map +1 -0
- package/dist/metric-testing-MxvzChDp.d.cts +106 -0
- package/dist/metric-testing-MxvzChDp.d.cts.map +1 -0
- package/dist/metric-testing.cjs +93 -17
- package/dist/metric-testing.cjs.map +1 -1
- package/dist/metric-testing.d.cts +2 -110
- package/dist/metric-testing.d.ts +2 -110
- package/dist/metric-testing.js +91 -2
- package/dist/metric-testing.js.map +1 -1
- package/dist/metric.cjs +306 -22
- package/dist/metric.cjs.map +1 -1
- package/dist/metric.d.cts +170 -198
- package/dist/metric.d.cts.map +1 -0
- package/dist/metric.d.ts +170 -198
- package/dist/metric.d.ts.map +1 -0
- package/dist/metric.js +277 -7
- package/dist/metric.js.map +1 -1
- package/dist/node-require-DF5QBX6z.cjs +99 -0
- package/dist/node-require-DF5QBX6z.cjs.map +1 -0
- package/dist/node-require-Db1oDpLj.js +88 -0
- package/dist/node-require-Db1oDpLj.js.map +1 -0
- package/dist/operation-context-C-2hmmtP.js +59 -0
- package/dist/operation-context-C-2hmmtP.js.map +1 -0
- package/dist/operation-context-n4_obUwq.cjs +70 -0
- package/dist/operation-context-n4_obUwq.cjs.map +1 -0
- package/dist/parse-error.cjs +55 -9
- package/dist/parse-error.cjs.map +1 -1
- package/dist/parse-error.d.cts +12 -10
- package/dist/parse-error.d.cts.map +1 -0
- package/dist/parse-error.d.ts +12 -10
- package/dist/parse-error.d.ts.map +1 -0
- package/dist/parse-error.js +55 -2
- package/dist/parse-error.js.map +1 -1
- package/dist/pretty-console-exporter-CMzlrRNg.cjs +232 -0
- package/dist/pretty-console-exporter-CMzlrRNg.cjs.map +1 -0
- package/dist/pretty-console-exporter-DqKl_q9z.js +227 -0
- package/dist/pretty-console-exporter-DqKl_q9z.js.map +1 -0
- package/dist/processors.cjs +13 -17
- package/dist/processors.d.cts +3 -171
- package/dist/processors.d.ts +3 -171
- package/dist/processors.js +4 -4
- package/dist/register.cjs +35 -6
- package/dist/register.cjs.map +1 -1
- package/dist/register.d.cts +1 -2
- package/dist/register.d.ts +1 -2
- package/dist/register.js +36 -3
- package/dist/register.js.map +1 -1
- package/dist/registry-DVSmWg6Y.js +175 -0
- package/dist/registry-DVSmWg6Y.js.map +1 -0
- package/dist/registry-DYgvb62e.cjs +319 -0
- package/dist/registry-DYgvb62e.cjs.map +1 -0
- package/dist/sampling-CR0Va1VB.d.ts +351 -0
- package/dist/sampling-CR0Va1VB.d.ts.map +1 -0
- package/dist/sampling-DfYhDJij.d.cts +351 -0
- package/dist/sampling-DfYhDJij.d.cts.map +1 -0
- package/dist/sampling.cjs +452 -60
- package/dist/sampling.cjs.map +1 -1
- package/dist/sampling.d.cts +2 -379
- package/dist/sampling.d.ts +2 -379
- package/dist/sampling.js +441 -5
- package/dist/sampling.js.map +1 -1
- package/dist/security-schema.cjs +65 -46
- package/dist/security-schema.cjs.map +1 -1
- package/dist/security-schema.d.cts +23 -26
- package/dist/security-schema.d.cts.map +1 -0
- package/dist/security-schema.d.ts +23 -26
- package/dist/security-schema.d.ts.map +1 -0
- package/dist/security-schema.js +64 -45
- package/dist/security-schema.js.map +1 -1
- package/dist/semantic-conventions-FhSxv-bK.d.cts +32 -0
- package/dist/semantic-conventions-FhSxv-bK.d.cts.map +1 -0
- package/dist/semantic-conventions-FhSxv-bK.d.ts +32 -0
- package/dist/semantic-conventions-FhSxv-bK.d.ts.map +1 -0
- package/dist/semantic-conventions.cjs +15 -26
- package/dist/semantic-conventions.cjs.map +1 -1
- package/dist/semantic-conventions.d.cts +2 -29
- package/dist/semantic-conventions.d.ts +2 -29
- package/dist/semantic-conventions.js +12 -3
- package/dist/semantic-conventions.js.map +1 -1
- package/dist/semantic-helpers.cjs +327 -39
- package/dist/semantic-helpers.cjs.map +1 -1
- package/dist/semantic-helpers.d.cts +30 -150
- package/dist/semantic-helpers.d.cts.map +1 -0
- package/dist/semantic-helpers.d.ts +30 -150
- package/dist/semantic-helpers.d.ts.map +1 -0
- package/dist/semantic-helpers.js +326 -20
- package/dist/semantic-helpers.js.map +1 -1
- package/dist/span-name-normalizer-8ZOGJuwv.d.cts +70 -0
- package/dist/span-name-normalizer-8ZOGJuwv.d.cts.map +1 -0
- package/dist/span-name-normalizer-8ZOGJuwv.d.ts +70 -0
- package/dist/span-name-normalizer-8ZOGJuwv.d.ts.map +1 -0
- package/dist/span-name-normalizer.cjs +95 -17
- package/dist/span-name-normalizer.cjs.map +1 -1
- package/dist/span-name-normalizer.d.cts +2 -94
- package/dist/span-name-normalizer.d.ts +2 -94
- package/dist/span-name-normalizer.js +93 -2
- package/dist/span-name-normalizer.js.map +1 -1
- package/dist/stable-hash-BNTMrmdB.cjs +28 -0
- package/dist/stable-hash-BNTMrmdB.cjs.map +1 -0
- package/dist/stable-hash-Cg5cT34Q.js +23 -0
- package/dist/stable-hash-Cg5cT34Q.js.map +1 -0
- package/dist/structured-error-9--cxBay.js +143 -0
- package/dist/structured-error-9--cxBay.js.map +1 -0
- package/dist/structured-error-CHg7DoIQ.cjs +178 -0
- package/dist/structured-error-CHg7DoIQ.cjs.map +1 -0
- package/dist/tail-sampling-processor.cjs +26 -13
- package/dist/tail-sampling-processor.cjs.map +1 -1
- package/dist/tail-sampling-processor.d.cts +11 -23
- package/dist/tail-sampling-processor.d.cts.map +1 -0
- package/dist/tail-sampling-processor.d.ts +11 -23
- package/dist/tail-sampling-processor.d.ts.map +1 -0
- package/dist/tail-sampling-processor.js +27 -6
- package/dist/tail-sampling-processor.js.map +1 -1
- package/dist/test-span-collector.cjs +70 -72
- package/dist/test-span-collector.cjs.map +1 -1
- package/dist/test-span-collector.d.cts +25 -43
- package/dist/test-span-collector.d.cts.map +1 -0
- package/dist/test-span-collector.d.ts +25 -43
- package/dist/test-span-collector.d.ts.map +1 -0
- package/dist/test-span-collector.js +69 -70
- package/dist/test-span-collector.js.map +1 -1
- package/dist/testing.cjs +389 -278
- package/dist/testing.cjs.map +1 -1
- package/dist/testing.d.cts +39 -62
- package/dist/testing.d.cts.map +1 -0
- package/dist/testing.d.ts +39 -62
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +386 -265
- package/dist/testing.js.map +1 -1
- package/dist/trace-context-Cijqoi6e.d.cts +212 -0
- package/dist/trace-context-Cijqoi6e.d.cts.map +1 -0
- package/dist/trace-context-Cijqoi6e.d.ts +212 -0
- package/dist/trace-context-Cijqoi6e.d.ts.map +1 -0
- package/dist/trace-helpers.cjs +634 -54
- package/dist/trace-helpers.cjs.map +1 -1
- package/dist/trace-helpers.d.cts +17 -49
- package/dist/trace-helpers.d.cts.map +1 -0
- package/dist/trace-helpers.d.ts +17 -49
- package/dist/trace-helpers.d.ts.map +1 -0
- package/dist/trace-helpers.js +624 -3
- package/dist/trace-helpers.js.map +1 -1
- package/dist/tracer-provider.cjs +227 -16
- package/dist/tracer-provider.cjs.map +1 -1
- package/dist/tracer-provider.d.cts +5 -4
- package/dist/tracer-provider.d.cts.map +1 -0
- package/dist/tracer-provider.d.ts +5 -4
- package/dist/tracer-provider.d.ts.map +1 -0
- package/dist/tracer-provider.js +227 -2
- package/dist/tracer-provider.js.map +1 -1
- package/dist/track-3HY4NGV-.cjs +1212 -0
- package/dist/track-3HY4NGV-.cjs.map +1 -0
- package/dist/track-nsKVy-pj.js +1111 -0
- package/dist/track-nsKVy-pj.js.map +1 -0
- package/dist/validate.cjs +178 -115
- package/dist/validate.cjs.map +1 -1
- package/dist/validate.d.cts +40 -64
- package/dist/validate.d.cts.map +1 -0
- package/dist/validate.d.ts +40 -64
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +177 -113
- package/dist/validate.js.map +1 -1
- package/dist/validation-attributes.cjs +42 -17
- package/dist/validation-attributes.cjs.map +1 -1
- package/dist/validation-attributes.d.cts +13 -20
- package/dist/validation-attributes.d.cts.map +1 -0
- package/dist/validation-attributes.d.ts +13 -20
- package/dist/validation-attributes.d.ts.map +1 -0
- package/dist/validation-attributes.js +40 -2
- package/dist/validation-attributes.js.map +1 -1
- package/dist/webhook.cjs +286 -256
- package/dist/webhook.cjs.map +1 -1
- package/dist/webhook.d.cts +157 -192
- package/dist/webhook.d.cts.map +1 -0
- package/dist/webhook.d.ts +157 -192
- package/dist/webhook.d.ts.map +1 -0
- package/dist/webhook.js +285 -254
- package/dist/webhook.js.map +1 -1
- package/dist/workflow-distributed.cjs +498 -412
- package/dist/workflow-distributed.cjs.map +1 -1
- package/dist/workflow-distributed.d.cts +163 -173
- package/dist/workflow-distributed.d.cts.map +1 -0
- package/dist/workflow-distributed.d.ts +163 -173
- package/dist/workflow-distributed.d.ts.map +1 -0
- package/dist/workflow-distributed.js +497 -410
- package/dist/workflow-distributed.js.map +1 -1
- package/dist/workflow.cjs +405 -40
- package/dist/workflow.cjs.map +1 -1
- package/dist/workflow.d.cts +78 -131
- package/dist/workflow.d.cts.map +1 -0
- package/dist/workflow.d.ts +78 -131
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +403 -21
- package/dist/workflow.js.map +1 -1
- package/dist/yaml-config-B3dQ82GR.cjs +272 -0
- package/dist/yaml-config-B3dQ82GR.cjs.map +1 -0
- package/dist/yaml-config.cjs +5 -24
- package/dist/yaml-config.d.cts +30 -64
- package/dist/yaml-config.d.cts.map +1 -0
- package/dist/yaml-config.d.ts +30 -64
- package/dist/yaml-config.d.ts.map +1 -0
- package/dist/yaml-config.js +226 -7
- package/dist/yaml-config.js.map +1 -1
- package/package.json +4 -4
- package/skills/analyze-traces/SKILL.md +14 -12
- package/skills/review-otel-patterns/SKILL.md +4 -2
- package/skills/tune-sampling/SKILL.md +8 -3
- package/src/attributes/builders.ts +2 -20
- package/src/attributes/index.ts +0 -1
- package/src/attributes/registry.ts +2 -9
- package/src/attributes/types.ts +0 -8
- package/src/index.ts +7 -41
- package/src/request-logger.test.ts +53 -1
- package/src/request-logger.ts +58 -0
- package/src/semantic-helpers.test.ts +2 -87
- package/src/semantic-helpers.ts +0 -146
- package/src/validate.test.ts +3 -1
- package/src/validate.ts +9 -3
- package/dist/attributes.cjs.map +0 -1
- package/dist/attributes.js.map +0 -1
- package/dist/chunk-2ZKEORFN.cjs +0 -14
- package/dist/chunk-2ZKEORFN.cjs.map +0 -1
- package/dist/chunk-3QXBFGKP.js +0 -344
- package/dist/chunk-3QXBFGKP.js.map +0 -1
- package/dist/chunk-454CH4OV.js +0 -744
- package/dist/chunk-454CH4OV.js.map +0 -1
- package/dist/chunk-4A53YIAX.js +0 -180
- package/dist/chunk-4A53YIAX.js.map +0 -1
- package/dist/chunk-4IFSYQVX.js +0 -337
- package/dist/chunk-4IFSYQVX.js.map +0 -1
- package/dist/chunk-4P6ZOARG.cjs +0 -33
- package/dist/chunk-4P6ZOARG.cjs.map +0 -1
- package/dist/chunk-55ER2KD5.js +0 -228
- package/dist/chunk-55ER2KD5.js.map +0 -1
- package/dist/chunk-5ZN622AO.js +0 -73
- package/dist/chunk-5ZN622AO.js.map +0 -1
- package/dist/chunk-66YJ66GG.js +0 -1021
- package/dist/chunk-66YJ66GG.js.map +0 -1
- package/dist/chunk-6S5RUKU3.cjs +0 -347
- package/dist/chunk-6S5RUKU3.cjs.map +0 -1
- package/dist/chunk-6UQRVUN3.js +0 -222
- package/dist/chunk-6UQRVUN3.js.map +0 -1
- package/dist/chunk-7552UTQW.js +0 -11
- package/dist/chunk-7552UTQW.js.map +0 -1
- package/dist/chunk-7EQ4G4SI.cjs +0 -146
- package/dist/chunk-7EQ4G4SI.cjs.map +0 -1
- package/dist/chunk-7SAWIN74.js +0 -285
- package/dist/chunk-7SAWIN74.js.map +0 -1
- package/dist/chunk-A4E5AQFK.js +0 -30
- package/dist/chunk-A4E5AQFK.js.map +0 -1
- package/dist/chunk-ALPYR2GC.js +0 -1061
- package/dist/chunk-ALPYR2GC.js.map +0 -1
- package/dist/chunk-B7SWBE4P.cjs +0 -799
- package/dist/chunk-B7SWBE4P.cjs.map +0 -1
- package/dist/chunk-BZHG5IZ4.js +0 -73
- package/dist/chunk-BZHG5IZ4.js.map +0 -1
- package/dist/chunk-CEAQK2QY.cjs +0 -32
- package/dist/chunk-CEAQK2QY.cjs.map +0 -1
- package/dist/chunk-CMHVQR6P.js +0 -170
- package/dist/chunk-CMHVQR6P.js.map +0 -1
- package/dist/chunk-CU6IDACR.cjs +0 -224
- package/dist/chunk-CU6IDACR.cjs.map +0 -1
- package/dist/chunk-D4TM63S3.js +0 -795
- package/dist/chunk-D4TM63S3.js.map +0 -1
- package/dist/chunk-DCEDJQGG.js +0 -28
- package/dist/chunk-DCEDJQGG.js.map +0 -1
- package/dist/chunk-DPSA4QLA.js +0 -344
- package/dist/chunk-DPSA4QLA.js.map +0 -1
- package/dist/chunk-E6TERL5O.cjs +0 -23
- package/dist/chunk-E6TERL5O.cjs.map +0 -1
- package/dist/chunk-EE6CPXKH.cjs +0 -164
- package/dist/chunk-EE6CPXKH.cjs.map +0 -1
- package/dist/chunk-EOFB7XCL.cjs +0 -837
- package/dist/chunk-EOFB7XCL.cjs.map +0 -1
- package/dist/chunk-ESLWRGAG.cjs +0 -92
- package/dist/chunk-ESLWRGAG.cjs.map +0 -1
- package/dist/chunk-ESMHTKLJ.cjs +0 -206
- package/dist/chunk-ESMHTKLJ.cjs.map +0 -1
- package/dist/chunk-FMTHVSYY.cjs +0 -1039
- package/dist/chunk-FMTHVSYY.cjs.map +0 -1
- package/dist/chunk-FU6R566Y.cjs +0 -236
- package/dist/chunk-FU6R566Y.cjs.map +0 -1
- package/dist/chunk-GYR5K654.js +0 -91
- package/dist/chunk-GYR5K654.js.map +0 -1
- package/dist/chunk-HA2WBOGQ.js +0 -57
- package/dist/chunk-HA2WBOGQ.js.map +0 -1
- package/dist/chunk-HT5JQKN2.js +0 -118
- package/dist/chunk-HT5JQKN2.js.map +0 -1
- package/dist/chunk-INJD3G4K.cjs +0 -340
- package/dist/chunk-INJD3G4K.cjs.map +0 -1
- package/dist/chunk-IOYFAFHJ.cjs +0 -95
- package/dist/chunk-IOYFAFHJ.cjs.map +0 -1
- package/dist/chunk-J5QENANM.js +0 -87
- package/dist/chunk-J5QENANM.js.map +0 -1
- package/dist/chunk-J7VGRIAJ.js +0 -64
- package/dist/chunk-J7VGRIAJ.js.map +0 -1
- package/dist/chunk-KFOHQK7X.js +0 -144
- package/dist/chunk-KFOHQK7X.js.map +0 -1
- package/dist/chunk-KIL5CUN6.js +0 -31
- package/dist/chunk-KIL5CUN6.js.map +0 -1
- package/dist/chunk-KYXZS3EA.cjs +0 -100
- package/dist/chunk-KYXZS3EA.cjs.map +0 -1
- package/dist/chunk-LITNXTTT.js +0 -3
- package/dist/chunk-LITNXTTT.js.map +0 -1
- package/dist/chunk-LVIPBYFE.js +0 -157
- package/dist/chunk-LVIPBYFE.js.map +0 -1
- package/dist/chunk-M3LFHHTN.cjs +0 -764
- package/dist/chunk-M3LFHHTN.cjs.map +0 -1
- package/dist/chunk-N25JDZSC.js +0 -95
- package/dist/chunk-N25JDZSC.js.map +0 -1
- package/dist/chunk-NEIB3TLD.cjs +0 -360
- package/dist/chunk-NEIB3TLD.cjs.map +0 -1
- package/dist/chunk-NENU7E6V.cjs +0 -344
- package/dist/chunk-NENU7E6V.cjs.map +0 -1
- package/dist/chunk-NVAI5CCN.cjs +0 -39
- package/dist/chunk-NVAI5CCN.cjs.map +0 -1
- package/dist/chunk-NZ72VDNY.cjs +0 -4
- package/dist/chunk-NZ72VDNY.cjs.map +0 -1
- package/dist/chunk-OPPXYVEZ.cjs +0 -131
- package/dist/chunk-OPPXYVEZ.cjs.map +0 -1
- package/dist/chunk-Q4EULJQY.js +0 -35
- package/dist/chunk-Q4EULJQY.js.map +0 -1
- package/dist/chunk-QF7ARNUM.js +0 -339
- package/dist/chunk-QF7ARNUM.js.map +0 -1
- package/dist/chunk-QWW3E3JM.cjs +0 -178
- package/dist/chunk-QWW3E3JM.cjs.map +0 -1
- package/dist/chunk-R7QYGZUP.cjs +0 -1075
- package/dist/chunk-R7QYGZUP.cjs.map +0 -1
- package/dist/chunk-RUPKBKUF.js +0 -352
- package/dist/chunk-RUPKBKUF.js.map +0 -1
- package/dist/chunk-SEO6NAQT.js +0 -14
- package/dist/chunk-SEO6NAQT.js.map +0 -1
- package/dist/chunk-T4B5LB6E.cjs +0 -66
- package/dist/chunk-T4B5LB6E.cjs.map +0 -1
- package/dist/chunk-T5WRA76K.cjs +0 -32
- package/dist/chunk-T5WRA76K.cjs.map +0 -1
- package/dist/chunk-T7JO2TCP.js +0 -1233
- package/dist/chunk-T7JO2TCP.js.map +0 -1
- package/dist/chunk-TC5ZPWM4.cjs +0 -289
- package/dist/chunk-TC5ZPWM4.cjs.map +0 -1
- package/dist/chunk-TQ5UWA7S.js +0 -26
- package/dist/chunk-TQ5UWA7S.js.map +0 -1
- package/dist/chunk-UIKYE2QZ.js +0 -833
- package/dist/chunk-UIKYE2QZ.js.map +0 -1
- package/dist/chunk-UNPLAVE7.js +0 -21
- package/dist/chunk-UNPLAVE7.js.map +0 -1
- package/dist/chunk-UY3UYPBZ.cjs +0 -77
- package/dist/chunk-UY3UYPBZ.cjs.map +0 -1
- package/dist/chunk-V7UBMJAB.cjs +0 -1242
- package/dist/chunk-V7UBMJAB.cjs.map +0 -1
- package/dist/chunk-VH77IPJN.cjs +0 -358
- package/dist/chunk-VH77IPJN.cjs.map +0 -1
- package/dist/chunk-VQTCQKHQ.cjs +0 -17
- package/dist/chunk-VQTCQKHQ.cjs.map +0 -1
- package/dist/chunk-WGWSHJ2N.js +0 -38
- package/dist/chunk-WGWSHJ2N.js.map +0 -1
- package/dist/chunk-WJH6IYU2.cjs +0 -32
- package/dist/chunk-WJH6IYU2.cjs.map +0 -1
- package/dist/chunk-YREV3LGG.cjs +0 -61
- package/dist/chunk-YREV3LGG.cjs.map +0 -1
- package/dist/chunk-YTXEZ4SD.cjs +0 -77
- package/dist/chunk-YTXEZ4SD.cjs.map +0 -1
- package/dist/chunk-ZNMBW67B.cjs +0 -40
- package/dist/chunk-ZNMBW67B.cjs.map +0 -1
- package/dist/correlation-id.cjs.map +0 -1
- package/dist/correlation-id.js.map +0 -1
- package/dist/define-event-BL6Li7CM.d.ts +0 -23
- package/dist/define-event-ClP3T1Jx.d.cts +0 -23
- package/dist/event-subscriber.cjs.map +0 -1
- package/dist/event-subscriber.js.map +0 -1
- package/dist/event.cjs.map +0 -1
- package/dist/event.js.map +0 -1
- package/dist/exporters.cjs.map +0 -1
- package/dist/exporters.js.map +0 -1
- package/dist/functional.cjs.map +0 -1
- package/dist/functional.js.map +0 -1
- package/dist/init-DIowiiCh.d.ts +0 -1167
- package/dist/init-j-A1zI16.d.cts +0 -1167
- package/dist/processors.cjs.map +0 -1
- package/dist/processors.js.map +0 -1
- package/dist/trace-context-DbGKd1Rn.d.cts +0 -213
- package/dist/trace-context-DbGKd1Rn.d.ts +0 -213
- package/dist/utils-BahBCFtJ.d.cts +0 -712
- package/dist/utils-CLKwaUlG.d.ts +0 -712
- package/dist/yaml-config.cjs.map +0 -1
- package/src/gen-ai-cost.test.ts +0 -81
- package/src/gen-ai-cost.ts +0 -145
- package/src/gen-ai-events.test.ts +0 -135
- package/src/gen-ai-events.ts +0 -208
- package/src/gen-ai-metrics.test.ts +0 -96
- package/src/gen-ai-metrics.ts +0 -128
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { ReadableSpan, Span, SpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
2
|
+
import { AttributeValue, Context } from "@opentelemetry/api";
|
|
3
|
+
|
|
4
|
+
//#region src/attribute-redacting-processor.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Custom redactor function type
|
|
7
|
+
*/
|
|
8
|
+
type AttributeRedactorFn = (key: string, value: AttributeValue) => AttributeValue;
|
|
9
|
+
/**
|
|
10
|
+
* Built-in redactor preset names
|
|
11
|
+
*/
|
|
12
|
+
type AttributeRedactorPreset = 'default' | 'strict' | 'pci-dss';
|
|
13
|
+
/**
|
|
14
|
+
* Masker function type - receives the matched string and returns a masked version
|
|
15
|
+
*/
|
|
16
|
+
type MaskFn = (match: string) => string;
|
|
17
|
+
/**
|
|
18
|
+
* Value pattern configuration
|
|
19
|
+
*/
|
|
20
|
+
interface ValuePatternConfig {
|
|
21
|
+
/** Name for debugging/logging */
|
|
22
|
+
name: string;
|
|
23
|
+
/** Regex pattern to match in values */
|
|
24
|
+
pattern: RegExp;
|
|
25
|
+
/** Custom replacement (default: uses global replacement) */
|
|
26
|
+
replacement?: string;
|
|
27
|
+
/** Mask function for smart partial masking (overrides replacement) */
|
|
28
|
+
mask?: MaskFn;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Built-in PII pattern names
|
|
32
|
+
*/
|
|
33
|
+
type BuiltinPatternName = keyof typeof builtinPatterns;
|
|
34
|
+
/**
|
|
35
|
+
* Attribute redactor configuration
|
|
36
|
+
*/
|
|
37
|
+
interface AttributeRedactorConfig {
|
|
38
|
+
/** Patterns to match against attribute keys (redacts entire value if key matches) */
|
|
39
|
+
keyPatterns?: RegExp[];
|
|
40
|
+
/** Patterns to match against attribute values (redacts matched portion) */
|
|
41
|
+
valuePatterns?: ValuePatternConfig[];
|
|
42
|
+
/** Dot-notation paths to redact (e.g. 'user.password', 'payment.card') */
|
|
43
|
+
paths?: string[];
|
|
44
|
+
/** Built-in PII patterns to enable. `true` enables all, `false` disables all, array selects specific ones. */
|
|
45
|
+
builtins?: boolean | BuiltinPatternName[];
|
|
46
|
+
/** Custom RegExp patterns for string-level redaction */
|
|
47
|
+
patterns?: RegExp[];
|
|
48
|
+
/** Default replacement string (default: '[REDACTED]') */
|
|
49
|
+
replacement?: string;
|
|
50
|
+
/** Custom redactor function for full control */
|
|
51
|
+
redactor?: AttributeRedactorFn;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Processor options
|
|
55
|
+
*/
|
|
56
|
+
interface AttributeRedactingProcessorOptions {
|
|
57
|
+
redactor: AttributeRedactorConfig | AttributeRedactorPreset;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Built-in patterns for detecting sensitive data
|
|
61
|
+
*/
|
|
62
|
+
declare const REDACTOR_PATTERNS: {
|
|
63
|
+
readonly email: RegExp;
|
|
64
|
+
readonly phone: RegExp;
|
|
65
|
+
readonly ssn: RegExp;
|
|
66
|
+
readonly creditCard: RegExp;
|
|
67
|
+
readonly bearerToken: RegExp;
|
|
68
|
+
readonly apiKeyInValue: RegExp;
|
|
69
|
+
readonly jwt: RegExp;
|
|
70
|
+
readonly sensitiveKey: RegExp;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Built-in PII detection patterns with smart masking.
|
|
74
|
+
* Each builtin preserves just enough signal for debugging while scrubbing PII.
|
|
75
|
+
*/
|
|
76
|
+
declare const builtinPatterns: {
|
|
77
|
+
/** Credit card numbers → ****1111 (PCI DSS: last 4 allowed) */readonly creditCard: {
|
|
78
|
+
readonly pattern: RegExp;
|
|
79
|
+
readonly mask: (m: string) => string;
|
|
80
|
+
}; /** Email addresses → a***@***.com */
|
|
81
|
+
readonly email: {
|
|
82
|
+
readonly pattern: RegExp;
|
|
83
|
+
readonly mask: (m: string) => string;
|
|
84
|
+
}; /** IPv4 addresses → ***.***.***.100 (last octet only) */
|
|
85
|
+
readonly ipv4: {
|
|
86
|
+
readonly pattern: RegExp;
|
|
87
|
+
readonly mask: (m: string) => string;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* International / formatted phone numbers.
|
|
91
|
+
*
|
|
92
|
+
* Matches:
|
|
93
|
+
* - `+33 1 23 45 67 89` -> `+33******89`
|
|
94
|
+
* - `(415) 555-1234` -> `********34`
|
|
95
|
+
* - `555-123-4567` / `555.123.4567` / `5551234567` -> `********67`
|
|
96
|
+
*
|
|
97
|
+
* Bare short digit runs like `12345678` are intentionally not matched.
|
|
98
|
+
*/
|
|
99
|
+
readonly phone: {
|
|
100
|
+
readonly pattern: RegExp;
|
|
101
|
+
readonly mask: (m: string) => string;
|
|
102
|
+
}; /** JWT tokens → eyJ***.*** */
|
|
103
|
+
readonly jwt: {
|
|
104
|
+
readonly pattern: RegExp;
|
|
105
|
+
readonly mask: () => string;
|
|
106
|
+
}; /** Bearer tokens → Bearer *** */
|
|
107
|
+
readonly bearer: {
|
|
108
|
+
readonly pattern: RegExp;
|
|
109
|
+
readonly mask: () => string;
|
|
110
|
+
}; /** IBAN → FR76****189 (country + check digits + last 3) */
|
|
111
|
+
readonly iban: {
|
|
112
|
+
readonly pattern: RegExp;
|
|
113
|
+
readonly mask: (m: string) => string;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Built-in redactor presets
|
|
118
|
+
*/
|
|
119
|
+
declare const REDACTOR_PRESETS: Record<AttributeRedactorPreset, AttributeRedactorConfig>;
|
|
120
|
+
/**
|
|
121
|
+
* Normalize redactor config that may have been deserialized from JSON/YAML.
|
|
122
|
+
* Converts regex-like values back to RegExp instances.
|
|
123
|
+
*/
|
|
124
|
+
declare function normalizeAttributeRedactorConfig(raw: AttributeRedactorConfig | AttributeRedactorPreset | unknown): AttributeRedactorConfig | AttributeRedactorPreset | undefined;
|
|
125
|
+
/**
|
|
126
|
+
* Create a proxy wrapper around ReadableSpan with redacted attributes
|
|
127
|
+
*
|
|
128
|
+
* Since ReadableSpan.attributes is readonly, we use a Proxy to intercept
|
|
129
|
+
* attribute access and return the redacted version.
|
|
130
|
+
*/
|
|
131
|
+
declare function createRedactedSpan(span: ReadableSpan, redactor: AttributeRedactorFn): ReadableSpan;
|
|
132
|
+
/**
|
|
133
|
+
* Create an attribute redactor function from a config or preset.
|
|
134
|
+
*
|
|
135
|
+
* This is useful when you need to apply the same redaction logic
|
|
136
|
+
* outside of the span processor pipeline (e.g., for canonical log lines).
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* const redactor = createAttributeRedactor('default');
|
|
141
|
+
* const redactedValue = redactor('user.password', 'secret123');
|
|
142
|
+
* // redactedValue === '[REDACTED]'
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
declare function createAttributeRedactor(config: AttributeRedactorConfig | AttributeRedactorPreset): AttributeRedactorFn;
|
|
146
|
+
/**
|
|
147
|
+
* Span processor that redacts sensitive data from span attributes.
|
|
148
|
+
*
|
|
149
|
+
* Redaction happens in onEnd() when all attributes are finalized.
|
|
150
|
+
* Uses a Proxy wrapper to intercept attribute access since ReadableSpan
|
|
151
|
+
* attributes are readonly.
|
|
152
|
+
*
|
|
153
|
+
* Common use cases:
|
|
154
|
+
* - PII compliance (GDPR, CCPA)
|
|
155
|
+
* - PCI-DSS compliance for payment data
|
|
156
|
+
* - Preventing secrets from leaking to observability backends
|
|
157
|
+
*/
|
|
158
|
+
declare class AttributeRedactingProcessor implements SpanProcessor {
|
|
159
|
+
private readonly wrappedProcessor;
|
|
160
|
+
private readonly redactor;
|
|
161
|
+
constructor(wrappedProcessor: SpanProcessor, options: AttributeRedactingProcessorOptions);
|
|
162
|
+
/**
|
|
163
|
+
* Pass through onStart unchanged - attributes aren't finalized yet
|
|
164
|
+
*/
|
|
165
|
+
onStart(span: Span, parentContext: Context): void;
|
|
166
|
+
/**
|
|
167
|
+
* Redact attributes and forward to wrapped processor
|
|
168
|
+
*/
|
|
169
|
+
onEnd(span: ReadableSpan): void;
|
|
170
|
+
forceFlush(): Promise<void>;
|
|
171
|
+
shutdown(): Promise<void>;
|
|
172
|
+
}
|
|
173
|
+
//#endregion
|
|
174
|
+
export { AttributeRedactorPreset as a, REDACTOR_PATTERNS as c, builtinPatterns as d, createAttributeRedactor as f, AttributeRedactorFn as i, REDACTOR_PRESETS as l, normalizeAttributeRedactorConfig as m, AttributeRedactingProcessorOptions as n, BuiltinPatternName as o, createRedactedSpan as p, AttributeRedactorConfig as r, MaskFn as s, AttributeRedactingProcessor as t, ValuePatternConfig as u };
|
|
175
|
+
//# sourceMappingURL=attribute-redacting-processor-DtTS9xxh.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribute-redacting-processor-DtTS9xxh.d.cts","names":[],"sources":["../src/attribute-redacting-processor.ts"],"mappings":";;;;;;;KAsCY,mBAAA,IACV,GAAA,UACA,KAAA,EAAO,cAAA,KACJ,cAAc;;AAuBJ;AAMf;KAxBY,uBAAA;;;AAwBiD;KAnBjD,MAAA,IAAU,KAAa;;;;UAKlB,kBAAA;EA8BM;EA5BrB,IAAA;EAqCW;EAnCX,OAAA,EAAS,MAAA;EAmCqB;EAjC9B,WAAA;EAec;EAbd,IAAA,GAAO,MAAM;AAAA;;;;KAMH,kBAAA,gBAAkC,eAAe;;;;UAK5C,uBAAA;EAoBe;EAlB9B,WAAA,GAAc,MAAA;EAwBC;EArBf,aAAA,GAAgB,kBAAA;;EAGhB,KAAA;EAmBA;EAhBA,QAAA,aAAqB,kBAAA;EAgBe;EAbpC,QAAA,GAAW,MAAA;EAagD;EAV3D,WAAA;EA6BQ;EA1BR,QAAA,GAAW,mBAAA;AAAA;;;;UAMI,kCAAA;EACf,QAAA,EAAU,uBAAA,GAA0B,uBAAuB;AAAA;;;;cAMhD,iBAAA;EAAA;;;;;;;;;;;;;cAmBA,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoHA,gBAAA,EAAkB,MAAA,CAC7B,uBAAA,EACA,uBAAA;AAvDkB;AAqDpB;;;AArDoB,iBAsGJ,gCAAA,CACd,GAAA,EAAK,uBAAA,GAA0B,uBAAA,aAC9B,uBAAA,GAA0B,uBAAA;;;;;;;iBA4NpB,kBAAA,CACP,IAAA,EAAM,YAAA,EACN,QAAA,EAAU,mBAAA,GACT,YAAA;;AAhRsB;AA+CzB;;;;;;;;;;;iBAwQgB,uBAAA,CACd,MAAA,EAAQ,uBAAA,GAA0B,uBAAA,GACjC,mBAAA;;;;AAxQiD;AAsDnD;;;;;;;;cAkOY,2BAAA,YAAuC,aAAA;EAAA,iBACjC,gBAAA;EAAA,iBACA,QAAA;cAGf,gBAAA,EAAkB,aAAA,EAClB,OAAA,EAAS,kCAAA;EA/DV;;AAAY;EAyEb,OAAA,CAAQ,IAAA,EAAM,IAAA,EAAM,aAAA,EAAe,OAAA;EAlCE;;;EAyCrC,KAAA,CAAM,IAAA,EAAM,YAAA;EAWZ,UAAA,IAAc,OAAA;EAId,QAAA,IAAY,OAAA;AAAA"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { ReadableSpan, Span, SpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
2
|
+
import { AttributeValue, Context } from "@opentelemetry/api";
|
|
3
|
+
|
|
4
|
+
//#region src/attribute-redacting-processor.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Custom redactor function type
|
|
7
|
+
*/
|
|
8
|
+
type AttributeRedactorFn = (key: string, value: AttributeValue) => AttributeValue;
|
|
9
|
+
/**
|
|
10
|
+
* Built-in redactor preset names
|
|
11
|
+
*/
|
|
12
|
+
type AttributeRedactorPreset = 'default' | 'strict' | 'pci-dss';
|
|
13
|
+
/**
|
|
14
|
+
* Masker function type - receives the matched string and returns a masked version
|
|
15
|
+
*/
|
|
16
|
+
type MaskFn = (match: string) => string;
|
|
17
|
+
/**
|
|
18
|
+
* Value pattern configuration
|
|
19
|
+
*/
|
|
20
|
+
interface ValuePatternConfig {
|
|
21
|
+
/** Name for debugging/logging */
|
|
22
|
+
name: string;
|
|
23
|
+
/** Regex pattern to match in values */
|
|
24
|
+
pattern: RegExp;
|
|
25
|
+
/** Custom replacement (default: uses global replacement) */
|
|
26
|
+
replacement?: string;
|
|
27
|
+
/** Mask function for smart partial masking (overrides replacement) */
|
|
28
|
+
mask?: MaskFn;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Built-in PII pattern names
|
|
32
|
+
*/
|
|
33
|
+
type BuiltinPatternName = keyof typeof builtinPatterns;
|
|
34
|
+
/**
|
|
35
|
+
* Attribute redactor configuration
|
|
36
|
+
*/
|
|
37
|
+
interface AttributeRedactorConfig {
|
|
38
|
+
/** Patterns to match against attribute keys (redacts entire value if key matches) */
|
|
39
|
+
keyPatterns?: RegExp[];
|
|
40
|
+
/** Patterns to match against attribute values (redacts matched portion) */
|
|
41
|
+
valuePatterns?: ValuePatternConfig[];
|
|
42
|
+
/** Dot-notation paths to redact (e.g. 'user.password', 'payment.card') */
|
|
43
|
+
paths?: string[];
|
|
44
|
+
/** Built-in PII patterns to enable. `true` enables all, `false` disables all, array selects specific ones. */
|
|
45
|
+
builtins?: boolean | BuiltinPatternName[];
|
|
46
|
+
/** Custom RegExp patterns for string-level redaction */
|
|
47
|
+
patterns?: RegExp[];
|
|
48
|
+
/** Default replacement string (default: '[REDACTED]') */
|
|
49
|
+
replacement?: string;
|
|
50
|
+
/** Custom redactor function for full control */
|
|
51
|
+
redactor?: AttributeRedactorFn;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Processor options
|
|
55
|
+
*/
|
|
56
|
+
interface AttributeRedactingProcessorOptions {
|
|
57
|
+
redactor: AttributeRedactorConfig | AttributeRedactorPreset;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Built-in patterns for detecting sensitive data
|
|
61
|
+
*/
|
|
62
|
+
declare const REDACTOR_PATTERNS: {
|
|
63
|
+
readonly email: RegExp;
|
|
64
|
+
readonly phone: RegExp;
|
|
65
|
+
readonly ssn: RegExp;
|
|
66
|
+
readonly creditCard: RegExp;
|
|
67
|
+
readonly bearerToken: RegExp;
|
|
68
|
+
readonly apiKeyInValue: RegExp;
|
|
69
|
+
readonly jwt: RegExp;
|
|
70
|
+
readonly sensitiveKey: RegExp;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Built-in PII detection patterns with smart masking.
|
|
74
|
+
* Each builtin preserves just enough signal for debugging while scrubbing PII.
|
|
75
|
+
*/
|
|
76
|
+
declare const builtinPatterns: {
|
|
77
|
+
/** Credit card numbers → ****1111 (PCI DSS: last 4 allowed) */readonly creditCard: {
|
|
78
|
+
readonly pattern: RegExp;
|
|
79
|
+
readonly mask: (m: string) => string;
|
|
80
|
+
}; /** Email addresses → a***@***.com */
|
|
81
|
+
readonly email: {
|
|
82
|
+
readonly pattern: RegExp;
|
|
83
|
+
readonly mask: (m: string) => string;
|
|
84
|
+
}; /** IPv4 addresses → ***.***.***.100 (last octet only) */
|
|
85
|
+
readonly ipv4: {
|
|
86
|
+
readonly pattern: RegExp;
|
|
87
|
+
readonly mask: (m: string) => string;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* International / formatted phone numbers.
|
|
91
|
+
*
|
|
92
|
+
* Matches:
|
|
93
|
+
* - `+33 1 23 45 67 89` -> `+33******89`
|
|
94
|
+
* - `(415) 555-1234` -> `********34`
|
|
95
|
+
* - `555-123-4567` / `555.123.4567` / `5551234567` -> `********67`
|
|
96
|
+
*
|
|
97
|
+
* Bare short digit runs like `12345678` are intentionally not matched.
|
|
98
|
+
*/
|
|
99
|
+
readonly phone: {
|
|
100
|
+
readonly pattern: RegExp;
|
|
101
|
+
readonly mask: (m: string) => string;
|
|
102
|
+
}; /** JWT tokens → eyJ***.*** */
|
|
103
|
+
readonly jwt: {
|
|
104
|
+
readonly pattern: RegExp;
|
|
105
|
+
readonly mask: () => string;
|
|
106
|
+
}; /** Bearer tokens → Bearer *** */
|
|
107
|
+
readonly bearer: {
|
|
108
|
+
readonly pattern: RegExp;
|
|
109
|
+
readonly mask: () => string;
|
|
110
|
+
}; /** IBAN → FR76****189 (country + check digits + last 3) */
|
|
111
|
+
readonly iban: {
|
|
112
|
+
readonly pattern: RegExp;
|
|
113
|
+
readonly mask: (m: string) => string;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Built-in redactor presets
|
|
118
|
+
*/
|
|
119
|
+
declare const REDACTOR_PRESETS: Record<AttributeRedactorPreset, AttributeRedactorConfig>;
|
|
120
|
+
/**
|
|
121
|
+
* Normalize redactor config that may have been deserialized from JSON/YAML.
|
|
122
|
+
* Converts regex-like values back to RegExp instances.
|
|
123
|
+
*/
|
|
124
|
+
declare function normalizeAttributeRedactorConfig(raw: AttributeRedactorConfig | AttributeRedactorPreset | unknown): AttributeRedactorConfig | AttributeRedactorPreset | undefined;
|
|
125
|
+
/**
|
|
126
|
+
* Create a proxy wrapper around ReadableSpan with redacted attributes
|
|
127
|
+
*
|
|
128
|
+
* Since ReadableSpan.attributes is readonly, we use a Proxy to intercept
|
|
129
|
+
* attribute access and return the redacted version.
|
|
130
|
+
*/
|
|
131
|
+
declare function createRedactedSpan(span: ReadableSpan, redactor: AttributeRedactorFn): ReadableSpan;
|
|
132
|
+
/**
|
|
133
|
+
* Create an attribute redactor function from a config or preset.
|
|
134
|
+
*
|
|
135
|
+
* This is useful when you need to apply the same redaction logic
|
|
136
|
+
* outside of the span processor pipeline (e.g., for canonical log lines).
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* const redactor = createAttributeRedactor('default');
|
|
141
|
+
* const redactedValue = redactor('user.password', 'secret123');
|
|
142
|
+
* // redactedValue === '[REDACTED]'
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
declare function createAttributeRedactor(config: AttributeRedactorConfig | AttributeRedactorPreset): AttributeRedactorFn;
|
|
146
|
+
/**
|
|
147
|
+
* Span processor that redacts sensitive data from span attributes.
|
|
148
|
+
*
|
|
149
|
+
* Redaction happens in onEnd() when all attributes are finalized.
|
|
150
|
+
* Uses a Proxy wrapper to intercept attribute access since ReadableSpan
|
|
151
|
+
* attributes are readonly.
|
|
152
|
+
*
|
|
153
|
+
* Common use cases:
|
|
154
|
+
* - PII compliance (GDPR, CCPA)
|
|
155
|
+
* - PCI-DSS compliance for payment data
|
|
156
|
+
* - Preventing secrets from leaking to observability backends
|
|
157
|
+
*/
|
|
158
|
+
declare class AttributeRedactingProcessor implements SpanProcessor {
|
|
159
|
+
private readonly wrappedProcessor;
|
|
160
|
+
private readonly redactor;
|
|
161
|
+
constructor(wrappedProcessor: SpanProcessor, options: AttributeRedactingProcessorOptions);
|
|
162
|
+
/**
|
|
163
|
+
* Pass through onStart unchanged - attributes aren't finalized yet
|
|
164
|
+
*/
|
|
165
|
+
onStart(span: Span, parentContext: Context): void;
|
|
166
|
+
/**
|
|
167
|
+
* Redact attributes and forward to wrapped processor
|
|
168
|
+
*/
|
|
169
|
+
onEnd(span: ReadableSpan): void;
|
|
170
|
+
forceFlush(): Promise<void>;
|
|
171
|
+
shutdown(): Promise<void>;
|
|
172
|
+
}
|
|
173
|
+
//#endregion
|
|
174
|
+
export { AttributeRedactorPreset as a, REDACTOR_PATTERNS as c, builtinPatterns as d, createAttributeRedactor as f, AttributeRedactorFn as i, REDACTOR_PRESETS as l, normalizeAttributeRedactorConfig as m, AttributeRedactingProcessorOptions as n, BuiltinPatternName as o, createRedactedSpan as p, AttributeRedactorConfig as r, MaskFn as s, AttributeRedactingProcessor as t, ValuePatternConfig as u };
|
|
175
|
+
//# sourceMappingURL=attribute-redacting-processor-DtTS9xxh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribute-redacting-processor-DtTS9xxh.d.ts","names":[],"sources":["../src/attribute-redacting-processor.ts"],"mappings":";;;;;;;KAsCY,mBAAA,IACV,GAAA,UACA,KAAA,EAAO,cAAA,KACJ,cAAc;;AAuBJ;AAMf;KAxBY,uBAAA;;;AAwBiD;KAnBjD,MAAA,IAAU,KAAa;;;;UAKlB,kBAAA;EA8BM;EA5BrB,IAAA;EAqCW;EAnCX,OAAA,EAAS,MAAA;EAmCqB;EAjC9B,WAAA;EAec;EAbd,IAAA,GAAO,MAAM;AAAA;;;;KAMH,kBAAA,gBAAkC,eAAe;;;;UAK5C,uBAAA;EAoBe;EAlB9B,WAAA,GAAc,MAAA;EAwBC;EArBf,aAAA,GAAgB,kBAAA;;EAGhB,KAAA;EAmBA;EAhBA,QAAA,aAAqB,kBAAA;EAgBe;EAbpC,QAAA,GAAW,MAAA;EAagD;EAV3D,WAAA;EA6BQ;EA1BR,QAAA,GAAW,mBAAA;AAAA;;;;UAMI,kCAAA;EACf,QAAA,EAAU,uBAAA,GAA0B,uBAAuB;AAAA;;;;cAMhD,iBAAA;EAAA;;;;;;;;;;;;;cAmBA,eAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoHA,gBAAA,EAAkB,MAAA,CAC7B,uBAAA,EACA,uBAAA;AAvDkB;AAqDpB;;;AArDoB,iBAsGJ,gCAAA,CACd,GAAA,EAAK,uBAAA,GAA0B,uBAAA,aAC9B,uBAAA,GAA0B,uBAAA;;;;;;;iBA4NpB,kBAAA,CACP,IAAA,EAAM,YAAA,EACN,QAAA,EAAU,mBAAA,GACT,YAAA;;AAhRsB;AA+CzB;;;;;;;;;;;iBAwQgB,uBAAA,CACd,MAAA,EAAQ,uBAAA,GAA0B,uBAAA,GACjC,mBAAA;;;;AAxQiD;AAsDnD;;;;;;;;cAkOY,2BAAA,YAAuC,aAAA;EAAA,iBACjC,gBAAA;EAAA,iBACA,QAAA;cAGf,gBAAA,EAAkB,aAAA,EAClB,OAAA,EAAS,kCAAA;EA/DV;;AAAY;EAyEb,OAAA,CAAQ,IAAA,EAAM,IAAA,EAAM,aAAA,EAAe,OAAA;EAlCE;;;EAyCrC,KAAA,CAAM,IAAA,EAAM,YAAA;EAWZ,UAAA,IAAc,OAAA;EAId,QAAA,IAAY,OAAA;AAAA"}
|