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
package/dist/index.d.cts
CHANGED
|
@@ -1,62 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
import {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
export { DBConfig, HTTPConfig, LLMConfig, MessagingConfig, traceDB, traceHTTP, traceLLM, traceMessaging } from './semantic-helpers.cjs';
|
|
27
|
-
export { HTTPAttributes, ServiceAttributes, URLAttributes, httpRequestHeaderAttribute, httpResponseHeaderAttribute } from './semantic-conventions.cjs';
|
|
28
|
-
export { a as AttributeGuardrails, A as AttributePolicy, C as ClientAttrs, b as CloudAttrs, c as CodeAttrs, d as ContainerAttrs, D as DBAttrs, e as DeploymentAttrs, f as DeviceAttrs, E as ErrorAttrs, g as ExceptionAttrs, F as FaaSAttrs, h as FeatureFlagAttrs, G as GenAIAttrs, i as GraphQLAttrs, H as HTTPClientAttrs, j as HTTPServerAttrs, K as K8sAttrs, M as MessagingAttrs, N as NetworkAttrs, O as OTelAttrs, P as PeerAttrs, k as ProcessAttrs, R as RPCAttrs, l as ServerAddressAttrs, m as ServiceAttrs, S as SessionAttrs, T as TLSAttrs, n as ThreadAttrs, o as URLAttrs, U as UserAttrs, p as attrs, q as autoRedactPII, s as dbClient, u as httpClient, v as httpServer, w as identify, x as mergeAttrs, y as mergeServiceResource, z as request, B as safeSetAttributes, I as setDevice, J as setError, L as setException, Q as setSession, V as setUser, W as validateAttribute } from './utils-BahBCFtJ.cjs';
|
|
29
|
-
export { ConsumerConfig, ConsumerContext, LagMetricsConfig, MessagingOperation, MessagingSystem, ProducerConfig, ProducerContext, traceConsumer, traceProducer } from './messaging.cjs';
|
|
30
|
-
export { BaggageError, BaggageFieldDefinition, BaggageFieldType, BusinessBaggage, BusinessBaggageValues, SafeBaggageOptions, SafeBaggageSchema, createSafeBaggageSchema } from './business-baggage.cjs';
|
|
31
|
-
export { StepConfig, StepContext, StepStatus, WorkflowConfig, WorkflowContext, WorkflowStatus, getCurrentWorkflowContext, isInWorkflow, traceStep, traceWorkflow } from './workflow.cjs';
|
|
32
|
-
import '@opentelemetry/sdk-node';
|
|
33
|
-
import '@opentelemetry/resources';
|
|
34
|
-
import './logger.cjs';
|
|
35
|
-
import 'pino';
|
|
36
|
-
import '@opentelemetry/sdk-logs';
|
|
37
|
-
import './processors.cjs';
|
|
38
|
-
import 'node:async_hooks';
|
|
39
|
-
import './event-testing.cjs';
|
|
40
|
-
import './metric-testing.cjs';
|
|
41
|
-
|
|
42
|
-
/** Standalone string redaction for use outside the span processor pipeline. */
|
|
43
|
-
|
|
44
|
-
type StringRedactor = (value: string) => string;
|
|
45
|
-
declare function createStringRedactor(config: AttributeRedactorConfig | AttributeRedactorPreset): StringRedactor;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Span processor that copies baggage entries to span attributes
|
|
49
|
-
*
|
|
50
|
-
* This makes baggage visible in trace UIs without manual attribute setting.
|
|
51
|
-
* Enabled via init({ baggage: true }) or init({ baggage: 'custom-prefix' })
|
|
52
|
-
*/
|
|
1
|
+
import { a as AttributeRedactorPreset, c as REDACTOR_PATTERNS, d as builtinPatterns, f as createAttributeRedactor, i as AttributeRedactorFn, l as REDACTOR_PRESETS, m as normalizeAttributeRedactorConfig, n as AttributeRedactingProcessorOptions, o as BuiltinPatternName, p as createRedactedSpan, r as AttributeRedactorConfig, s as MaskFn, t as AttributeRedactingProcessor, u as ValuePatternConfig } from "./attribute-redacting-processor-DtTS9xxh.cjs";
|
|
2
|
+
import { A as ExceptionAttrs, B as PeerAttrs, C as CloudAttrs, D as DeploymentAttrs, E as DBAttrs, F as HTTPServerAttrs, G as SessionAttrs, H as RPCAttrs, I as K8sAttrs, J as URLAttrs, K as TLSAttrs, L as MessagingAttrs, M as FeatureFlagAttrs, N as GraphQLAttrs, O as DeviceAttrs, P as HTTPClientAttrs, R as NetworkAttrs, S as ClientAttrs, T as ContainerAttrs, U as ServerAddressAttrs, V as ProcessAttrs, W as ServiceAttrs, Y as UserAttrs, _ as autoRedactPII, a as httpClient, b as validateAttribute, c as mergeServiceResource, d as setError, f as setException, g as AttributePolicy, h as AttributeGuardrails, i as dbClient, j as FaaSAttrs, k as ErrorAttrs, l as request, m as setUser, n as safeSetAttributes, o as httpServer, p as setSession, q as ThreadAttrs, s as identify, t as mergeAttrs, u as setDevice, w as CodeAttrs, x as attrs, z as OTelAttrs } from "./index-eKuioqT1.cjs";
|
|
3
|
+
import { n as TraceContext$1, r as defineBaggageSchema, t as AttributeValue$2 } from "./trace-context-Cijqoi6e.cjs";
|
|
4
|
+
import { BaggageError, BaggageFieldDefinition, BaggageFieldType, BusinessBaggage, BusinessBaggageValues, SafeBaggageOptions, SafeBaggageSchema, createSafeBaggageSchema } from "./business-baggage.cjs";
|
|
5
|
+
import { CORRELATION_ID_BAGGAGE_KEY, generateCorrelationId, getCorrelationId, getOrCreateCorrelationId, runWithCorrelationId, setCorrelationId, setCorrelationIdInBaggage } from "./correlation-id.cjs";
|
|
6
|
+
import { _ as samplingPresets, d as SamplingContext, f as SamplingPreset, g as resolveSamplingPreset, h as extractLinksFromBatch, i as AlwaysSampler, l as RandomSampler, m as createLinkFromHeaders, n as AUTOTEL_SAMPLING_TAIL_KEEP, p as UserIdSampler, r as AdaptiveSampler, s as NeverSampler, t as AUTOTEL_SAMPLING_TAIL_EVALUATED, u as Sampler } from "./sampling-DfYhDJij.cjs";
|
|
7
|
+
import { InstrumentOptions, SpanOptions, WithBaggageOptions, WithNewContextOptions, ctx, instrument, markAsImmediate, span, trace as trace$2, withBaggage, withNewContext, withTracing } from "./functional.cjs";
|
|
8
|
+
import { DrainPipelineOptions, PipelineDrainFn, createDrainPipeline } from "./drain-pipeline.cjs";
|
|
9
|
+
import { a as EventSubscriber, c as OutcomeStatus, i as EventSchemaMetadata, n as EventAttributes, o as EventTrackingOptions, s as FunnelStatus, t as AutotelEventContext } from "./event-subscriber-D1XLkPzi.cjs";
|
|
10
|
+
import { Event, EventsOptions, getEvents, resetEvents } from "./event.cjs";
|
|
11
|
+
import { n as FilteringSpanProcessorOptions, r as SpanFilterPredicate, t as FilteringSpanProcessor } from "./filtering-span-processor-B8R8B7Uk.cjs";
|
|
12
|
+
import { a as lockLogger, i as isLoggerLocked, n as init, o as StringRedactor, r as isInitialized, s as createStringRedactor, t as AutotelConfig } from "./init-CNp-ee80.cjs";
|
|
13
|
+
import { a as SpanNameNormalizerPreset, i as SpanNameNormalizerFn, n as NORMALIZER_PRESETS, o as SpanNameNormalizingProcessor, r as SpanNameNormalizerConfig, s as SpanNameNormalizingProcessorOptions, t as NORMALIZER_PATTERNS } from "./span-name-normalizer-8ZOGJuwv.cjs";
|
|
14
|
+
import { i as defineEvent, n as DefinedEvent, r as SchemaLike, t as DefineEventOptions } from "./define-event-HZRizPwz.cjs";
|
|
15
|
+
import { ParsedError, parseError } from "./parse-error.cjs";
|
|
16
|
+
import { Metric, MetricsOptions, getMetrics, resetMetrics } from "./metric.cjs";
|
|
17
|
+
import { createCounter, createHistogram, createObservableGauge, createUpDownCounter, getMeter } from "./metric-helpers.cjs";
|
|
18
|
+
import { TraceContext, createDeterministicTraceId, enrichWithTraceContext, finalizeSpan, flattenMetadata, getActiveContext, getActiveSpan, getTraceContext, getTracer, isTracing, resolveTraceUrl, runWithSpan } from "./trace-helpers.cjs";
|
|
19
|
+
import { getAutotelTracer, getAutotelTracerProvider, setAutotelTracerProvider } from "./tracer-provider.cjs";
|
|
20
|
+
import { DBConfig, HTTPConfig, MessagingConfig, traceDB, traceHTTP, traceMessaging } from "./semantic-helpers.cjs";
|
|
21
|
+
import { a as URLAttributes, i as ServiceAttributes, n as httpResponseHeaderAttribute, r as HTTPAttributes, t as httpRequestHeaderAttribute } from "./semantic-conventions-FhSxv-bK.cjs";
|
|
22
|
+
import { ConsumerConfig, ConsumerContext, LagMetricsConfig, MessagingOperation, MessagingSystem, ProducerConfig, ProducerContext, traceConsumer, traceProducer } from "./messaging.cjs";
|
|
23
|
+
import { StepConfig, StepContext, StepStatus, WorkflowConfig, WorkflowContext, WorkflowStatus, getCurrentWorkflowContext, isInWorkflow, traceStep, traceWorkflow } from "./workflow.cjs";
|
|
24
|
+
import { ReadableSpan, SpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
25
|
+
import { AttributeValue, Attributes, Baggage, BaggageEntry, Context, Context as Context$1, Exception, HrTime, Link, Link as SpanLink, ROOT_CONTEXT, Span, Span as Span$2, SpanAttributes, SpanContext, SpanKind, SpanStatusCode, TextMapGetter, TextMapSetter, TimeInput, TraceFlags, TraceState, Tracer, TracerProvider, context, propagation, trace as otelTrace, trace as trace$1 } from "@opentelemetry/api";
|
|
53
26
|
|
|
27
|
+
//#region src/baggage-span-processor.d.ts
|
|
54
28
|
interface BaggageSpanProcessorOptions {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Prefix for baggage attributes
|
|
31
|
+
* @default 'baggage.'
|
|
32
|
+
*/
|
|
33
|
+
prefix?: string;
|
|
60
34
|
}
|
|
61
35
|
/**
|
|
62
36
|
* Span processor that automatically copies baggage entries to span attributes
|
|
@@ -90,28 +64,18 @@ interface BaggageSpanProcessorOptions {
|
|
|
90
64
|
* ```
|
|
91
65
|
*/
|
|
92
66
|
declare class BaggageSpanProcessor implements SpanProcessor {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
* from `autotel`.
|
|
106
|
-
*
|
|
107
|
-
* Implementation: `Object.assign` mutates the autotel `trace` function to
|
|
108
|
-
* attach the OTel TraceAPI methods. Because every reference to `trace` across
|
|
109
|
-
* autotel resolves to the same function instance, this is a one-time, global
|
|
110
|
-
* augmentation.
|
|
111
|
-
*/
|
|
112
|
-
|
|
113
|
-
declare const trace: typeof trace$1 & typeof trace$2;
|
|
114
|
-
|
|
67
|
+
private readonly prefix;
|
|
68
|
+
constructor(options?: BaggageSpanProcessorOptions);
|
|
69
|
+
onStart(span: Span$2, parentContext: Context$1): void;
|
|
70
|
+
onEnd(_span: ReadableSpan): void;
|
|
71
|
+
shutdown(): Promise<void>;
|
|
72
|
+
forceFlush(): Promise<void>;
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
75
|
+
//#region src/trace-hybrid.d.ts
|
|
76
|
+
declare const trace: typeof trace$2 & typeof trace$1;
|
|
77
|
+
//#endregion
|
|
78
|
+
//#region src/operation-context.d.ts
|
|
115
79
|
/**
|
|
116
80
|
* Operation context tracking using AsyncLocalStorage
|
|
117
81
|
*
|
|
@@ -125,11 +89,11 @@ declare const trace: typeof trace$1 & typeof trace$2;
|
|
|
125
89
|
* Operation context that flows through async operations
|
|
126
90
|
*/
|
|
127
91
|
interface OperationContext {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
92
|
+
/**
|
|
93
|
+
* The name of the current operation
|
|
94
|
+
* This is set by trace() or span() and can be read by events
|
|
95
|
+
*/
|
|
96
|
+
name: string;
|
|
133
97
|
}
|
|
134
98
|
/**
|
|
135
99
|
* Get the current operation context (if any)
|
|
@@ -166,7 +130,8 @@ declare function getOperationContext(): OperationContext | undefined;
|
|
|
166
130
|
* ```
|
|
167
131
|
*/
|
|
168
132
|
declare function runInOperationContext<T>(name: string, fn: () => T): T;
|
|
169
|
-
|
|
133
|
+
//#endregion
|
|
134
|
+
//#region src/rate-limiter.d.ts
|
|
170
135
|
/**
|
|
171
136
|
* Token bucket rate limiter for event subscribers
|
|
172
137
|
*
|
|
@@ -174,44 +139,32 @@ declare function runInOperationContext<T>(name: string, fn: () => T): T;
|
|
|
174
139
|
* Uses token bucket algorithm for smooth rate limiting with burst capacity.
|
|
175
140
|
*/
|
|
176
141
|
interface RateLimiterConfig {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
142
|
+
/** Maximum events per second (default: 100) */
|
|
143
|
+
maxEventsPerSecond: number;
|
|
144
|
+
/** Burst capacity - max events in a single burst (default: 2x rate) */
|
|
145
|
+
burstCapacity?: number;
|
|
181
146
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
* Events event queue with batching, backpressure, retry logic, rate limiting, and OTel metrics
|
|
185
|
-
*
|
|
186
|
-
* Exposes delivery pipeline metrics for observability:
|
|
187
|
-
* - autotel.event_delivery.queue.size - Current queue size
|
|
188
|
-
* - autotel.event_delivery.queue.oldest_age_ms - Age of oldest event in queue
|
|
189
|
-
* - autotel.event_delivery.queue.delivered - Successfully delivered events
|
|
190
|
-
* - autotel.event_delivery.queue.failed - Failed event deliveries
|
|
191
|
-
* - autotel.event_delivery.queue.dropped - Dropped events with reason
|
|
192
|
-
* - autotel.event_delivery.queue.latency_ms - Delivery latency histogram
|
|
193
|
-
* - autotel.event_delivery.subscriber.health - Subscriber health (1=healthy, 0=unhealthy)
|
|
194
|
-
*/
|
|
195
|
-
|
|
147
|
+
//#endregion
|
|
148
|
+
//#region src/event-queue.d.ts
|
|
196
149
|
interface EventData {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
150
|
+
name: string;
|
|
151
|
+
attributes?: EventAttributes;
|
|
152
|
+
timestamp: number;
|
|
153
|
+
/** Internal: correlation ID for debug breadcrumbs */
|
|
154
|
+
_correlationId?: string;
|
|
155
|
+
/** Internal: trace ID for debug breadcrumbs */
|
|
156
|
+
_traceId?: string;
|
|
157
|
+
/** Autotel context for trace correlation (passed to subscribers) */
|
|
158
|
+
autotel?: AutotelEventContext;
|
|
159
|
+
/** Optional schema metadata for contract-aware subscribers. */
|
|
160
|
+
schema?: EventSchemaMetadata;
|
|
208
161
|
}
|
|
209
162
|
interface QueueConfig {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
163
|
+
maxSize: number;
|
|
164
|
+
batchSize: number;
|
|
165
|
+
flushInterval: number;
|
|
166
|
+
maxRetries: number;
|
|
167
|
+
rateLimit?: RateLimiterConfig;
|
|
215
168
|
}
|
|
216
169
|
/**
|
|
217
170
|
* Events queue with batching and backpressure
|
|
@@ -224,118 +177,113 @@ interface QueueConfig {
|
|
|
224
177
|
* - Graceful flush on shutdown
|
|
225
178
|
*/
|
|
226
179
|
declare class EventQueue {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
* Global track() function for business events
|
|
335
|
-
*
|
|
336
|
-
* Simple, no instantiation needed, auto-attaches trace context
|
|
337
|
-
*/
|
|
338
|
-
|
|
180
|
+
private queue;
|
|
181
|
+
private flushTimer;
|
|
182
|
+
private readonly config;
|
|
183
|
+
private readonly subscribers;
|
|
184
|
+
private readonly rateLimiter;
|
|
185
|
+
private flushPromise;
|
|
186
|
+
private isShuttingDown;
|
|
187
|
+
private metrics;
|
|
188
|
+
private observableCleanups;
|
|
189
|
+
private subscriberHealthy;
|
|
190
|
+
constructor(subscribers: EventSubscriber[], config?: Partial<QueueConfig>);
|
|
191
|
+
/**
|
|
192
|
+
* Initialize OTel metrics for queue observability
|
|
193
|
+
*/
|
|
194
|
+
private initMetrics;
|
|
195
|
+
/**
|
|
196
|
+
* Record a dropped event with reason and emit debug breadcrumb
|
|
197
|
+
*/
|
|
198
|
+
private recordDropped;
|
|
199
|
+
/**
|
|
200
|
+
* Record permanent delivery failure (after all retries exhausted)
|
|
201
|
+
* Increments failed counter and logs error
|
|
202
|
+
*/
|
|
203
|
+
private recordFailed;
|
|
204
|
+
/**
|
|
205
|
+
* Mark subscriber as unhealthy on transient failure (without incrementing failed counter)
|
|
206
|
+
* Used during retry attempts - only recordFailed should increment the counter
|
|
207
|
+
*/
|
|
208
|
+
private markSubscriberUnhealthy;
|
|
209
|
+
/**
|
|
210
|
+
* Record successful delivery
|
|
211
|
+
*/
|
|
212
|
+
private recordDelivered;
|
|
213
|
+
/**
|
|
214
|
+
* Enqueue an event for sending
|
|
215
|
+
*
|
|
216
|
+
* Backpressure policy:
|
|
217
|
+
* - Drops oldest event and logs warning if queue is full (same behavior in all environments)
|
|
218
|
+
*/
|
|
219
|
+
enqueue(event: EventData): void;
|
|
220
|
+
/**
|
|
221
|
+
* Schedule a batch flush if not already scheduled
|
|
222
|
+
*/
|
|
223
|
+
private scheduleBatchFlush;
|
|
224
|
+
/**
|
|
225
|
+
* Flush a batch of events
|
|
226
|
+
* Uses promise-based concurrency control to prevent race conditions
|
|
227
|
+
*/
|
|
228
|
+
private flushBatch;
|
|
229
|
+
/**
|
|
230
|
+
* Internal flush implementation
|
|
231
|
+
*/
|
|
232
|
+
private doFlushBatch;
|
|
233
|
+
/**
|
|
234
|
+
* Send events with exponential backoff retry
|
|
235
|
+
* Tracks per-event, per-subscriber failures so failed counter reflects actual failed deliveries.
|
|
236
|
+
* On retry, only failed (event, subscriber) pairs are re-sent to avoid double-counting delivered.
|
|
237
|
+
*/
|
|
238
|
+
private sendWithRetry;
|
|
239
|
+
/**
|
|
240
|
+
* Send events to configured subscribers with rate limiting and metrics.
|
|
241
|
+
* When subscribersByEventIndex is provided (retry path), only those subscribers are tried per event.
|
|
242
|
+
* Returns per-event, per-subscriber failures (empty if all succeeded).
|
|
243
|
+
*/
|
|
244
|
+
private sendToSubscribers;
|
|
245
|
+
/**
|
|
246
|
+
* Send a single event to subscribers.
|
|
247
|
+
* - When subscriberNames is undefined (initial attempt): send to all subscribers.
|
|
248
|
+
* - When subscriberNames is provided (retry): send only to those subscribers (never re-send to healthy ones).
|
|
249
|
+
* Returns list of subscribers that failed (empty if all succeeded).
|
|
250
|
+
*/
|
|
251
|
+
private sendEventToSubscribers;
|
|
252
|
+
/**
|
|
253
|
+
* Flush all remaining events. Queue remains usable after flush (e.g. for
|
|
254
|
+
* auto-flush at root span end). Use shutdown() when tearing down the queue.
|
|
255
|
+
*/
|
|
256
|
+
flush(): Promise<void>;
|
|
257
|
+
/**
|
|
258
|
+
* Flush remaining events and permanently disable the queue (reject new events).
|
|
259
|
+
* Use for process/SDK shutdown; use flush() for periodic or span-end drain.
|
|
260
|
+
*/
|
|
261
|
+
shutdown(): Promise<void>;
|
|
262
|
+
/**
|
|
263
|
+
* Cleanup observable metric callbacks to prevent memory leaks
|
|
264
|
+
* Call this when destroying the EventQueue instance
|
|
265
|
+
*/
|
|
266
|
+
cleanup(): void;
|
|
267
|
+
/**
|
|
268
|
+
* Get queue size (for testing/debugging)
|
|
269
|
+
*/
|
|
270
|
+
size(): number;
|
|
271
|
+
/**
|
|
272
|
+
* Get subscriber health status (for testing/debugging)
|
|
273
|
+
*/
|
|
274
|
+
getSubscriberHealth(): Map<string, boolean>;
|
|
275
|
+
/**
|
|
276
|
+
* Check if a specific subscriber is healthy
|
|
277
|
+
*/
|
|
278
|
+
isSubscriberHealthy(subscriberName: string): boolean;
|
|
279
|
+
/**
|
|
280
|
+
* Manually mark a subscriber as healthy or unhealthy
|
|
281
|
+
* (used for circuit breaker integration)
|
|
282
|
+
*/
|
|
283
|
+
setSubscriberHealth(subscriberName: string, healthy: boolean): void;
|
|
284
|
+
}
|
|
285
|
+
//#endregion
|
|
286
|
+
//#region src/track.d.ts
|
|
339
287
|
/**
|
|
340
288
|
* Track a business events event
|
|
341
289
|
*
|
|
@@ -377,7 +325,8 @@ declare function track<Events extends Record<string, any> = Record<string, any>>
|
|
|
377
325
|
* @internal
|
|
378
326
|
*/
|
|
379
327
|
declare function getEventQueue(): EventQueue | null;
|
|
380
|
-
|
|
328
|
+
//#endregion
|
|
329
|
+
//#region src/shutdown.d.ts
|
|
381
330
|
/**
|
|
382
331
|
* Graceful shutdown with flush and cleanup
|
|
383
332
|
*/
|
|
@@ -410,8 +359,8 @@ declare function getEventQueue(): EventQueue | null;
|
|
|
410
359
|
* ```
|
|
411
360
|
*/
|
|
412
361
|
declare function flush(options?: {
|
|
413
|
-
|
|
414
|
-
|
|
362
|
+
timeout?: number;
|
|
363
|
+
forShutdown?: boolean;
|
|
415
364
|
}): Promise<void>;
|
|
416
365
|
/**
|
|
417
366
|
* Shutdown telemetry and cleanup resources
|
|
@@ -437,147 +386,137 @@ declare function flush(options?: {
|
|
|
437
386
|
* ```
|
|
438
387
|
*/
|
|
439
388
|
declare function shutdown(): Promise<void>;
|
|
440
|
-
|
|
441
|
-
|
|
389
|
+
//#endregion
|
|
390
|
+
//#region src/request-logger.d.ts
|
|
391
|
+
declare function runWithRequestContext<T>(ctx: TraceContext$1, fn: () => T): T;
|
|
442
392
|
interface RequestLogger {
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
393
|
+
set(fields: Record<string, unknown>): void;
|
|
394
|
+
info(message: string, fields?: Record<string, unknown>): void;
|
|
395
|
+
warn(message: string, fields?: Record<string, unknown>): void;
|
|
396
|
+
error(error: Error | string, fields?: Record<string, unknown>): void;
|
|
397
|
+
getContext(): Record<string, unknown>;
|
|
398
|
+
emitNow(overrides?: Record<string, unknown>): RequestLogSnapshot;
|
|
399
|
+
fork(label: string, fn: () => void | Promise<void>, options?: ForkOptions): void;
|
|
450
400
|
}
|
|
451
401
|
interface RequestLogSnapshot {
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
402
|
+
timestamp: string;
|
|
403
|
+
traceId: string;
|
|
404
|
+
spanId: string;
|
|
405
|
+
correlationId: string;
|
|
406
|
+
context: Record<string, unknown>;
|
|
457
407
|
}
|
|
458
408
|
interface RequestLoggerOptions {
|
|
459
|
-
|
|
460
|
-
|
|
409
|
+
/** Callback invoked by emitNow() for manual fan-out. */
|
|
410
|
+
onEmit?: (snapshot: RequestLogSnapshot) => void | Promise<void>;
|
|
461
411
|
}
|
|
462
412
|
/**
|
|
463
413
|
* Optional lifecycle hooks for adapters that need to track child loggers
|
|
464
414
|
* spawned by `log.fork()` (e.g. active logger maps in framework integrations).
|
|
465
415
|
*/
|
|
466
416
|
interface ForkLifecycle {
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
417
|
+
/** Called after the child logger is created, before `fn` runs. */
|
|
418
|
+
onChildEnter?: (child: RequestLogger) => void;
|
|
419
|
+
/** Called after the child has finished (emit + drain), success or failure. */
|
|
420
|
+
onChildExit?: (child: RequestLogger) => void;
|
|
471
421
|
}
|
|
472
422
|
interface ForkOptions {
|
|
473
|
-
|
|
423
|
+
lifecycle?: ForkLifecycle;
|
|
474
424
|
}
|
|
475
|
-
declare function getRequestLogger(ctx?: TraceContext, options?: RequestLoggerOptions): RequestLogger;
|
|
476
|
-
|
|
425
|
+
declare function getRequestLogger(ctx?: TraceContext$1, options?: RequestLoggerOptions): RequestLogger;
|
|
426
|
+
/**
|
|
427
|
+
* Returns `true` when a request-logger context can be resolved without throwing —
|
|
428
|
+
* i.e. an explicit `ctx` was provided, a `runWithRequestContext()` scope is active,
|
|
429
|
+
* or there is an active OpenTelemetry span.
|
|
430
|
+
*
|
|
431
|
+
* Use this to branch on observability availability instead of wrapping
|
|
432
|
+
* {@link getRequestLogger} in try/catch.
|
|
433
|
+
*/
|
|
434
|
+
declare function hasRequestContext(ctx?: TraceContext$1): boolean;
|
|
435
|
+
/**
|
|
436
|
+
* Like {@link getRequestLogger}, but returns `null` instead of throwing when no
|
|
437
|
+
* request context is available. Intended for best-effort instrumentation where a
|
|
438
|
+
* missing telemetry context must never crash business logic.
|
|
439
|
+
*/
|
|
440
|
+
declare function getRequestLoggerSafe(ctx?: TraceContext$1, options?: RequestLoggerOptions): RequestLogger | null;
|
|
441
|
+
/**
|
|
442
|
+
* A no-op {@link RequestLogger} whose methods do nothing. Used as a fallback by
|
|
443
|
+
* best-effort instrumentation so wrapped handlers can run un-instrumented without
|
|
444
|
+
* branching on logger presence.
|
|
445
|
+
*/
|
|
446
|
+
declare function createNoopRequestLogger(): RequestLogger;
|
|
447
|
+
//#endregion
|
|
448
|
+
//#region src/structured-error.d.ts
|
|
477
449
|
interface StructuredErrorInput {
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
450
|
+
message: string;
|
|
451
|
+
why?: string;
|
|
452
|
+
fix?: string;
|
|
453
|
+
link?: string;
|
|
454
|
+
code?: string | number;
|
|
455
|
+
status?: number;
|
|
456
|
+
cause?: unknown;
|
|
457
|
+
details?: Record<string, unknown>;
|
|
458
|
+
name?: string;
|
|
459
|
+
/** Backend-only context. Omitted from toJSON() and never serialized to clients. */
|
|
460
|
+
internal?: Record<string, unknown>;
|
|
489
461
|
}
|
|
490
462
|
interface StructuredError extends Error {
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
463
|
+
why?: string;
|
|
464
|
+
fix?: string;
|
|
465
|
+
link?: string;
|
|
466
|
+
code?: string | number;
|
|
467
|
+
status?: number;
|
|
468
|
+
details?: Record<string, unknown>;
|
|
469
|
+
/** Backend-only context. Omitted from toJSON() and never serialized to clients. */
|
|
470
|
+
readonly internal?: Record<string, unknown>;
|
|
499
471
|
}
|
|
500
472
|
declare function createStructuredError(input: StructuredErrorInput): StructuredError;
|
|
501
473
|
declare function structuredErrorToJSON(error: StructuredError): Record<string, unknown>;
|
|
502
|
-
declare function getStructuredErrorAttributes(error: Error): Record<string, AttributeValue>;
|
|
503
|
-
declare function recordStructuredError(ctx: Pick<TraceContext, 'setAttributes' | 'setStatus'>, error: Error): void;
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
* Typed error and audit catalogs.
|
|
507
|
-
*
|
|
508
|
-
* Group related errors into one catalog and get a refactor-safe builder per
|
|
509
|
-
* code, with autocomplete at every call site and typed message parameters.
|
|
510
|
-
*
|
|
511
|
-
* @example
|
|
512
|
-
* ```typescript
|
|
513
|
-
* import { defineErrorCatalog } from 'autotel';
|
|
514
|
-
*
|
|
515
|
-
* export const billing = defineErrorCatalog('billing', {
|
|
516
|
-
* PAYMENT_DECLINED: {
|
|
517
|
-
* status: 402,
|
|
518
|
-
* message: 'Card declined',
|
|
519
|
-
* why: 'The issuer rejected the charge',
|
|
520
|
-
* fix: 'Try a different payment method',
|
|
521
|
-
* },
|
|
522
|
-
* INSUFFICIENT_FUNDS: {
|
|
523
|
-
* status: 402,
|
|
524
|
-
* message: ({ available, required }: { available: number; required: number }) =>
|
|
525
|
-
* `Insufficient funds: $${available} of $${required}`,
|
|
526
|
-
* },
|
|
527
|
-
* });
|
|
528
|
-
*
|
|
529
|
-
* throw billing.PAYMENT_DECLINED({ cause: stripeError });
|
|
530
|
-
* throw billing.INSUFFICIENT_FUNDS({ available: 5, required: 100 });
|
|
531
|
-
*
|
|
532
|
-
* // In a catch block — refactor-safe, no magic strings:
|
|
533
|
-
* if (billing.PAYMENT_DECLINED.match(err)) { ... }
|
|
534
|
-
* ```
|
|
535
|
-
*/
|
|
536
|
-
|
|
474
|
+
declare function getStructuredErrorAttributes(error: Error): Record<string, AttributeValue$2>;
|
|
475
|
+
declare function recordStructuredError(ctx: Pick<TraceContext$1, 'setAttributes' | 'setStatus'>, error: Error): void;
|
|
476
|
+
//#endregion
|
|
477
|
+
//#region src/error-catalog.d.ts
|
|
537
478
|
/** Definition of a single error in a catalog. */
|
|
538
479
|
interface ErrorCatalogEntry {
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
480
|
+
/**
|
|
481
|
+
* Human-readable message. Use a function to interpolate typed parameters;
|
|
482
|
+
* the parameter type flows through to the call site.
|
|
483
|
+
*/
|
|
484
|
+
message: string | ((params: never) => string);
|
|
485
|
+
/** HTTP status to surface to clients. */
|
|
486
|
+
status?: number;
|
|
487
|
+
/** Stable error code. Defaults to `${namespace}.${KEY}`. */
|
|
488
|
+
code?: string | number;
|
|
489
|
+
/** Why it happened. A function receives the same params as `message`. */
|
|
490
|
+
why?: string | ((params: never) => string);
|
|
491
|
+
/** What the caller should do next. */
|
|
492
|
+
fix?: string;
|
|
493
|
+
/** Docs or runbook link. */
|
|
494
|
+
link?: string;
|
|
495
|
+
/** Error name. Defaults to the catalog key. */
|
|
496
|
+
name?: string;
|
|
556
497
|
}
|
|
557
498
|
/** Per-call options passed alongside (or instead of) typed params. */
|
|
558
499
|
interface ErrorBuildOptions {
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
500
|
+
cause?: unknown;
|
|
501
|
+
details?: Record<string, unknown>;
|
|
502
|
+
/** Backend-only context. Never serialized to clients. */
|
|
503
|
+
internal?: Record<string, unknown>;
|
|
563
504
|
}
|
|
564
505
|
type ParamsOf<E> = E extends {
|
|
565
|
-
|
|
506
|
+
message: (params: infer P) => string;
|
|
566
507
|
} ? P : E extends {
|
|
567
|
-
|
|
508
|
+
why: (params: infer P) => string;
|
|
568
509
|
} ? P : void;
|
|
569
510
|
type BuilderArgs<E extends ErrorCatalogEntry> = ParamsOf<E> extends void ? [options?: ErrorBuildOptions] : [params: ParamsOf<E>, options?: ErrorBuildOptions];
|
|
570
511
|
/** A callable error factory produced by {@link defineErrorCatalog}. */
|
|
571
512
|
interface ErrorBuilder<E extends ErrorCatalogEntry> {
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
513
|
+
(...args: BuilderArgs<E>): StructuredError;
|
|
514
|
+
/** Stable code assigned to every error from this entry. */
|
|
515
|
+
readonly code: string | number;
|
|
516
|
+
/** True when `error` was produced by this catalog entry. */
|
|
517
|
+
match(error: unknown): boolean;
|
|
577
518
|
}
|
|
578
|
-
type ErrorCatalog<T extends Record<string, ErrorCatalogEntry>> = {
|
|
579
|
-
readonly [K in keyof T]: ErrorBuilder<T[K]>;
|
|
580
|
-
};
|
|
519
|
+
type ErrorCatalog<T extends Record<string, ErrorCatalogEntry>> = { readonly [K in keyof T]: ErrorBuilder<T[K]> };
|
|
581
520
|
/** True when `error` was produced by any autotel error catalog. */
|
|
582
521
|
declare function isCatalogError(error: unknown): error is StructuredError;
|
|
583
522
|
/** Returns the catalog code of `error`, or `undefined` if it has none. */
|
|
@@ -592,97 +531,99 @@ declare function defineErrorCatalog<const T extends Record<string, ErrorCatalogE
|
|
|
592
531
|
type AuditSeverity = 'info' | 'warn' | 'critical';
|
|
593
532
|
/** Definition of a single action in an audit catalog. */
|
|
594
533
|
interface AuditCatalogEntry {
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
534
|
+
/** Human-readable description. Use a function for typed params. */
|
|
535
|
+
message?: string | ((params: never) => string);
|
|
536
|
+
/** Stable action name. Defaults to `${namespace}.${KEY}`. */
|
|
537
|
+
action?: string;
|
|
538
|
+
/** Severity of the action. Defaults to `'info'`. */
|
|
539
|
+
severity?: AuditSeverity;
|
|
601
540
|
}
|
|
602
541
|
/** A resolved audit action descriptor produced by an audit catalog. */
|
|
603
542
|
interface AuditAction {
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
543
|
+
readonly action: string;
|
|
544
|
+
readonly severity: AuditSeverity;
|
|
545
|
+
readonly message?: string;
|
|
607
546
|
}
|
|
608
547
|
type AuditDescriptorArgs<E extends AuditCatalogEntry> = ParamsOf<E> extends void ? [] : [params: ParamsOf<E>];
|
|
609
548
|
/** A callable audit-action descriptor produced by {@link defineAuditCatalog}. */
|
|
610
549
|
interface AuditDescriptor<E extends AuditCatalogEntry> {
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
550
|
+
(...args: AuditDescriptorArgs<E>): AuditAction;
|
|
551
|
+
readonly action: string;
|
|
552
|
+
readonly severity: AuditSeverity;
|
|
614
553
|
}
|
|
615
|
-
type AuditCatalog<T extends Record<string, AuditCatalogEntry>> = {
|
|
616
|
-
readonly [K in keyof T]: AuditDescriptor<T[K]>;
|
|
617
|
-
};
|
|
554
|
+
type AuditCatalog<T extends Record<string, AuditCatalogEntry>> = { readonly [K in keyof T]: AuditDescriptor<T[K]> };
|
|
618
555
|
/**
|
|
619
556
|
* Define a typed audit catalog. Returns typed action descriptors you can pass
|
|
620
557
|
* to `track()` or audit helpers without scattering magic strings.
|
|
621
558
|
*/
|
|
622
559
|
declare function defineAuditCatalog<const T extends Record<string, AuditCatalogEntry>>(namespace: string, entries: T): AuditCatalog<T>;
|
|
623
|
-
|
|
560
|
+
//#endregion
|
|
561
|
+
//#region src/flatten-attributes.d.ts
|
|
624
562
|
/**
|
|
625
563
|
* Convert an unknown value to an OTel-compatible AttributeValue.
|
|
626
564
|
* Returns undefined when the value cannot be represented.
|
|
627
565
|
*/
|
|
628
|
-
declare function toAttributeValue(value: unknown): AttributeValue | undefined;
|
|
566
|
+
declare function toAttributeValue(value: unknown): AttributeValue$2 | undefined;
|
|
629
567
|
/**
|
|
630
568
|
* Recursively flatten a nested object into dot-notation OTel attributes.
|
|
631
569
|
* Includes circular reference protection via WeakSet.
|
|
632
570
|
*/
|
|
633
|
-
declare function flattenToAttributes(fields: Record<string, unknown>, prefix?: string): Record<string, AttributeValue>;
|
|
634
|
-
|
|
571
|
+
declare function flattenToAttributes(fields: Record<string, unknown>, prefix?: string): Record<string, AttributeValue$2>;
|
|
572
|
+
//#endregion
|
|
573
|
+
//#region src/drain-toolkit.d.ts
|
|
635
574
|
interface DrainOptions<TContext, TConfig, TPayload = TContext> {
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
575
|
+
/** Stable identifier used in error logs. */
|
|
576
|
+
name: string;
|
|
577
|
+
/** Return null to skip draining (e.g. missing API key in dev). */
|
|
578
|
+
resolve: () => TConfig | null | Promise<TConfig | null>;
|
|
579
|
+
/** Transform contexts into payloads. Defaults to identity. */
|
|
580
|
+
transform?: (contexts: TContext[]) => TPayload[];
|
|
581
|
+
/** Transport implementation. */
|
|
582
|
+
send: (payloads: TPayload[], config: TConfig) => Promise<void>;
|
|
644
583
|
}
|
|
645
584
|
interface HttpDrainRequest {
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
585
|
+
url: string;
|
|
586
|
+
headers: Record<string, string>;
|
|
587
|
+
body: string;
|
|
649
588
|
}
|
|
650
589
|
interface HttpDrainOptions<TContext, TConfig, TPayload = TContext> extends Omit<DrainOptions<TContext, TConfig, TPayload>, 'send'> {
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
590
|
+
encode: (payloads: TPayload[], config: TConfig) => HttpDrainRequest | null;
|
|
591
|
+
timeoutMs?: number;
|
|
592
|
+
retries?: number;
|
|
593
|
+
resolveTimeoutMs?: (config: TConfig) => number | undefined;
|
|
594
|
+
resolveRetries?: (config: TConfig) => number | undefined;
|
|
656
595
|
}
|
|
657
596
|
declare function defineDrain<TContext, TConfig, TPayload = TContext>(options: DrainOptions<TContext, TConfig, TPayload>): (ctx: TContext | TContext[]) => Promise<void>;
|
|
658
597
|
declare function defineHttpDrain<TContext, TConfig, TPayload = TContext>(options: HttpDrainOptions<TContext, TConfig, TPayload>): (ctx: TContext | TContext[]) => Promise<void>;
|
|
659
|
-
|
|
598
|
+
//#endregion
|
|
599
|
+
//#region src/enricher-toolkit.d.ts
|
|
660
600
|
interface EnrichContext<TEvent extends Record<string, unknown>> {
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
601
|
+
event: TEvent;
|
|
602
|
+
request?: {
|
|
603
|
+
method?: string;
|
|
604
|
+
path?: string;
|
|
605
|
+
requestId?: string;
|
|
606
|
+
};
|
|
607
|
+
response?: {
|
|
608
|
+
status?: number;
|
|
609
|
+
};
|
|
610
|
+
headers?: Record<string, string>;
|
|
671
611
|
}
|
|
672
612
|
interface EnricherDefinition<TEvent extends Record<string, unknown>, TValue extends object> {
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
613
|
+
/** Stable identifier used in error logs. */
|
|
614
|
+
name: string;
|
|
615
|
+
/** Top-level field to merge computed values into. */
|
|
616
|
+
field: keyof TEvent & string;
|
|
617
|
+
/** Return undefined to skip enrichment. */
|
|
618
|
+
compute: (ctx: EnrichContext<TEvent>) => TValue | undefined;
|
|
679
619
|
}
|
|
680
620
|
interface EnricherOptions {
|
|
681
|
-
|
|
682
|
-
|
|
621
|
+
/** Replace existing field value instead of merge. Default false. */
|
|
622
|
+
overwrite?: boolean;
|
|
683
623
|
}
|
|
684
624
|
declare function defineEnricher<TEvent extends Record<string, unknown>, TValue extends object>(def: EnricherDefinition<TEvent, TValue>, options?: EnricherOptions): (ctx: EnrichContext<TEvent>) => void;
|
|
685
|
-
|
|
625
|
+
//#endregion
|
|
626
|
+
//#region src/pretty-log-formatter.d.ts
|
|
686
627
|
/**
|
|
687
628
|
* Format milliseconds into a human-readable duration string.
|
|
688
629
|
*
|
|
@@ -692,265 +633,6 @@ declare function defineEnricher<TEvent extends Record<string, unknown>, TValue e
|
|
|
692
633
|
* formatDuration(65000) // "1m 5s"
|
|
693
634
|
*/
|
|
694
635
|
declare function formatDuration(ms: number): string;
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
*
|
|
699
|
-
* Default OpenTelemetry histogram buckets target HTTP latency (0ms–10s)
|
|
700
|
-
* and small counter values. LLM workloads have very different shapes:
|
|
701
|
-
*
|
|
702
|
-
* - **Duration**: single-token prompts can be fast (50ms), long
|
|
703
|
-
* generations and reasoning models can run for minutes. Default buckets
|
|
704
|
-
* crush everything above 10s into one bucket.
|
|
705
|
-
* - **Token usage**: heavily right-skewed. A single request can range
|
|
706
|
-
* from tens of tokens to the million-token context windows.
|
|
707
|
-
* - **Cost (USD)**: per-request values are tiny (fractions of a cent),
|
|
708
|
-
* so linear buckets waste resolution at the low end.
|
|
709
|
-
*
|
|
710
|
-
* This module exposes empirically-chosen bucket arrays and a View helper
|
|
711
|
-
* so users can apply them to their `MeterProvider` without knowing the
|
|
712
|
-
* exact instrument names emitted by OpenAI/Anthropic/Traceloop plugins.
|
|
713
|
-
*
|
|
714
|
-
* @example
|
|
715
|
-
* ```typescript
|
|
716
|
-
* import { NodeSDK } from '@opentelemetry/sdk-node';
|
|
717
|
-
* import { genAiMetricViews } from 'autotel';
|
|
718
|
-
*
|
|
719
|
-
* const sdk = new NodeSDK({
|
|
720
|
-
* serviceName: 'my-agent',
|
|
721
|
-
* views: [...genAiMetricViews()],
|
|
722
|
-
* });
|
|
723
|
-
* sdk.start();
|
|
724
|
-
* ```
|
|
725
|
-
*/
|
|
726
|
-
|
|
727
|
-
/**
|
|
728
|
-
* Duration buckets for LLM operations, in **seconds**. Covers fast
|
|
729
|
-
* completions (50ms) through long-running reasoning jobs (5 min).
|
|
730
|
-
*
|
|
731
|
-
* Aligns with the OTel GenAI semantic conventions' published advice for
|
|
732
|
-
* `gen_ai.client.operation.duration`.
|
|
733
|
-
*/
|
|
734
|
-
declare const GEN_AI_DURATION_BUCKETS_SECONDS: readonly number[];
|
|
735
|
-
/**
|
|
736
|
-
* Token-count buckets for prompt, completion, and total token histograms.
|
|
737
|
-
* Ranges from tiny prompts to million-token context windows.
|
|
738
|
-
*
|
|
739
|
-
* Aligns with the OTel GenAI semantic conventions' published advice for
|
|
740
|
-
* `gen_ai.client.token.usage`.
|
|
741
|
-
*/
|
|
742
|
-
declare const GEN_AI_TOKEN_USAGE_BUCKETS: readonly number[];
|
|
743
|
-
/**
|
|
744
|
-
* USD cost buckets. Sub-cent resolution at the low end (fractions of a
|
|
745
|
-
* cent per small call) up to tens of dollars (batch jobs, Opus/o1 runs).
|
|
746
|
-
*/
|
|
747
|
-
declare const GEN_AI_COST_USD_BUCKETS: readonly number[];
|
|
748
|
-
/**
|
|
749
|
-
* Instrument-level advice object for `createHistogram(name, advice)`.
|
|
750
|
-
* Use when you control the instrument creation (e.g. custom business
|
|
751
|
-
* LLM metrics); `genAiMetricViews()` is better when the metric comes
|
|
752
|
-
* from a third-party plugin.
|
|
753
|
-
*/
|
|
754
|
-
declare function llmHistogramAdvice(kind: 'duration' | 'tokens' | 'cost'): {
|
|
755
|
-
advice: {
|
|
756
|
-
explicitBucketBoundaries: number[];
|
|
757
|
-
};
|
|
758
|
-
};
|
|
759
|
-
/**
|
|
760
|
-
* Returns `View`s that re-bucket the standard OTel GenAI histograms. Pass
|
|
761
|
-
* the result to your `MeterProvider`'s `views` option.
|
|
762
|
-
*
|
|
763
|
-
* Matches instrument names emitted by:
|
|
764
|
-
* - OpenTelemetry GenAI autoinstrumentation
|
|
765
|
-
* - OpenInference / OpenLLMetry (traceloop)
|
|
766
|
-
* - Arize Phoenix, LangSmith, etc. that follow the OTel spec
|
|
767
|
-
*
|
|
768
|
-
* Add more instrument patterns via the `extra` argument if you emit
|
|
769
|
-
* custom LLM metrics.
|
|
770
|
-
*/
|
|
771
|
-
declare function genAiMetricViews(extra?: {
|
|
772
|
-
instrumentName: string;
|
|
773
|
-
kind: 'duration' | 'tokens' | 'cost';
|
|
774
|
-
}[]): ViewOptions[];
|
|
775
|
-
|
|
776
|
-
/**
|
|
777
|
-
* Span event helpers for LLM lifecycle, aligned with the OpenTelemetry
|
|
778
|
-
* GenAI semantic conventions.
|
|
779
|
-
*
|
|
780
|
-
* Span events are timestamped points within a span — they render as dots
|
|
781
|
-
* on the trace timeline in Jaeger / Tempo / Langfuse / Arize. Use them
|
|
782
|
-
* to mark lifecycle moments the span attributes alone can't express:
|
|
783
|
-
*
|
|
784
|
-
* - When the prompt was sent (vs. when the first token arrived)
|
|
785
|
-
* - When each retry attempt started, and why
|
|
786
|
-
* - When a streaming response produced its first token (TTFT)
|
|
787
|
-
* - When a tool was invoked
|
|
788
|
-
*
|
|
789
|
-
* Every helper pins the event name + attribute keys to the published
|
|
790
|
-
* spec so downstream tooling (autotel-mcp, Langfuse, vendor UIs) can
|
|
791
|
-
* render them consistently.
|
|
792
|
-
*
|
|
793
|
-
* @example
|
|
794
|
-
* ```typescript
|
|
795
|
-
* import { trace, recordPromptSent, recordResponseReceived, recordRetry } from 'autotel';
|
|
796
|
-
*
|
|
797
|
-
* export const chat = trace('chat', ctx => async (prompt: string) => {
|
|
798
|
-
* recordPromptSent(ctx, { model: 'gpt-4o', messageCount: 1 });
|
|
799
|
-
*
|
|
800
|
-
* for (let attempt = 1; attempt <= 3; attempt++) {
|
|
801
|
-
* try {
|
|
802
|
-
* const res = await openai.chat.completions.create({...});
|
|
803
|
-
* recordResponseReceived(ctx, {
|
|
804
|
-
* model: res.model,
|
|
805
|
-
* promptTokens: res.usage?.prompt_tokens,
|
|
806
|
-
* completionTokens: res.usage?.completion_tokens,
|
|
807
|
-
* finishReasons: res.choices.map(c => c.finish_reason),
|
|
808
|
-
* });
|
|
809
|
-
* return res;
|
|
810
|
-
* } catch (err) {
|
|
811
|
-
* recordRetry(ctx, { attempt, reason: 'rate_limit', delayMs: 500 });
|
|
812
|
-
* await sleep(500 * attempt);
|
|
813
|
-
* }
|
|
814
|
-
* }
|
|
815
|
-
* });
|
|
816
|
-
* ```
|
|
817
|
-
*/
|
|
818
|
-
|
|
819
|
-
/** Attributes expected on a `gen_ai.prompt.sent` event. */
|
|
820
|
-
interface PromptSentEvent {
|
|
821
|
-
/** Model the caller intends to invoke (may differ from response model). */
|
|
822
|
-
model?: string;
|
|
823
|
-
/** Estimated input token count, when known before the call. */
|
|
824
|
-
promptTokens?: number;
|
|
825
|
-
/** Number of messages in a chat request (system + user + assistant). */
|
|
826
|
-
messageCount?: number;
|
|
827
|
-
/** Free-form operation kind — `chat` / `completion` / `embedding`. */
|
|
828
|
-
operation?: string;
|
|
829
|
-
}
|
|
830
|
-
/** Attributes expected on a `gen_ai.response.received` event. */
|
|
831
|
-
interface ResponseReceivedEvent {
|
|
832
|
-
/** Model the provider actually served (may be more specific than requested). */
|
|
833
|
-
model?: string;
|
|
834
|
-
promptTokens?: number;
|
|
835
|
-
completionTokens?: number;
|
|
836
|
-
totalTokens?: number;
|
|
837
|
-
/** `stop`, `length`, `content_filter`, `tool_calls`, etc. */
|
|
838
|
-
finishReasons?: string[];
|
|
839
|
-
}
|
|
840
|
-
/** Attributes expected on a `gen_ai.retry` event. */
|
|
841
|
-
interface RetryEvent {
|
|
842
|
-
attempt: number;
|
|
843
|
-
/** `rate_limit` | `timeout` | `provider_error` | custom label. */
|
|
844
|
-
reason?: string;
|
|
845
|
-
/** How long we'll wait before the next attempt. */
|
|
846
|
-
delayMs?: number;
|
|
847
|
-
/** HTTP status that triggered the retry, when applicable. */
|
|
848
|
-
statusCode?: number;
|
|
849
|
-
}
|
|
850
|
-
/** Attributes expected on a `gen_ai.tool.call` event. */
|
|
851
|
-
interface ToolCallEvent {
|
|
852
|
-
toolName: string;
|
|
853
|
-
/** Call identifier so responses can be correlated back to calls. */
|
|
854
|
-
toolCallId?: string;
|
|
855
|
-
/** Pre-serialised tool arguments; omit if sensitive. */
|
|
856
|
-
arguments?: string;
|
|
857
|
-
}
|
|
858
|
-
/** Attributes expected on a `gen_ai.stream.first_token` event. */
|
|
859
|
-
interface StreamFirstTokenEvent {
|
|
860
|
-
/** Tokens streamed so far, if the caller tracks that. */
|
|
861
|
-
tokensSoFar?: number;
|
|
862
|
-
}
|
|
863
|
-
/**
|
|
864
|
-
* Record that a prompt was dispatched to the provider. Typically called
|
|
865
|
-
* before `await provider.chat.completions.create(...)`.
|
|
866
|
-
*/
|
|
867
|
-
declare function recordPromptSent(ctx: TraceContext, event?: PromptSentEvent): void;
|
|
868
|
-
/**
|
|
869
|
-
* Record a successful provider response. Call after the response arrives
|
|
870
|
-
* (for non-streaming) or after the stream completes.
|
|
871
|
-
*/
|
|
872
|
-
declare function recordResponseReceived(ctx: TraceContext, event?: ResponseReceivedEvent): void;
|
|
873
|
-
/**
|
|
874
|
-
* Record a retry attempt on an LLM call. Call *before* sleeping for
|
|
875
|
-
* `delayMs` so the event timestamp accurately marks when the retry
|
|
876
|
-
* decision was made.
|
|
877
|
-
*/
|
|
878
|
-
declare function recordRetry(ctx: TraceContext, event: RetryEvent): void;
|
|
879
|
-
/**
|
|
880
|
-
* Record a tool / function call made in the course of an agent step.
|
|
881
|
-
* Emits an event rather than a child span because many frameworks fire
|
|
882
|
-
* several tool calls within a single provider response.
|
|
883
|
-
*/
|
|
884
|
-
declare function recordToolCall(ctx: TraceContext, event: ToolCallEvent): void;
|
|
885
|
-
/**
|
|
886
|
-
* Record the time-to-first-token for a streaming response. Pair with
|
|
887
|
-
* `recordResponseReceived` at the end so the span carries both the TTFT
|
|
888
|
-
* marker and the final usage numbers.
|
|
889
|
-
*/
|
|
890
|
-
declare function recordStreamFirstToken(ctx: TraceContext, event?: StreamFirstTokenEvent): void;
|
|
891
|
-
|
|
892
|
-
/**
|
|
893
|
-
* Per-model LLM cost estimation.
|
|
894
|
-
*
|
|
895
|
-
* Estimate the USD cost of an LLM call from its token usage and record it as a
|
|
896
|
-
* span attribute (`gen_ai.usage.cost.usd`). Pair with the
|
|
897
|
-
* `gen_ai.client.cost.usd` metric bucket advice in `gen-ai-metrics`.
|
|
898
|
-
*
|
|
899
|
-
* @example
|
|
900
|
-
* ```typescript
|
|
901
|
-
* import { trace, recordLLMCost } from 'autotel';
|
|
902
|
-
*
|
|
903
|
-
* export const chat = trace((ctx) => async (prompt: string) => {
|
|
904
|
-
* const res = await client.messages.create({ model, ... });
|
|
905
|
-
* recordLLMCost(ctx, model, {
|
|
906
|
-
* inputTokens: res.usage.input_tokens,
|
|
907
|
-
* outputTokens: res.usage.output_tokens,
|
|
908
|
-
* });
|
|
909
|
-
* return res;
|
|
910
|
-
* });
|
|
911
|
-
* ```
|
|
912
|
-
*/
|
|
913
|
-
|
|
914
|
-
/** Span attribute key autotel sets for an estimated call cost. */
|
|
915
|
-
declare const GEN_AI_COST_ATTRIBUTE = "gen_ai.usage.cost.usd";
|
|
916
|
-
/** Pricing for a single model, in USD per 1,000,000 tokens. */
|
|
917
|
-
interface ModelPricing {
|
|
918
|
-
/** USD per 1M input (prompt) tokens. */
|
|
919
|
-
inputPer1M: number;
|
|
920
|
-
/** USD per 1M output (completion) tokens. */
|
|
921
|
-
outputPer1M: number;
|
|
922
|
-
/** USD per 1M cached input tokens. Defaults to {@link ModelPricing.inputPer1M}. */
|
|
923
|
-
cachedInputPer1M?: number;
|
|
924
|
-
}
|
|
925
|
-
/** Token counts for a single LLM call. */
|
|
926
|
-
interface TokenUsage {
|
|
927
|
-
inputTokens?: number;
|
|
928
|
-
outputTokens?: number;
|
|
929
|
-
/** Cached input tokens, billed at {@link ModelPricing.cachedInputPer1M}. */
|
|
930
|
-
cachedInputTokens?: number;
|
|
931
|
-
}
|
|
932
|
-
interface EstimateCostOptions {
|
|
933
|
-
/** Override or extend {@link MODEL_PRICING}. Keys are matched first. */
|
|
934
|
-
pricing?: Record<string, ModelPricing>;
|
|
935
|
-
}
|
|
936
|
-
/**
|
|
937
|
-
* Approximate public list prices (USD per 1M tokens) at the time of writing.
|
|
938
|
-
* Prices change; treat these as convenience defaults, not a billing source of
|
|
939
|
-
* truth. Override per call via `options.pricing` or mutate this table at init.
|
|
940
|
-
* Matching is exact first, then by longest key prefix, so versioned model ids
|
|
941
|
-
* (`claude-sonnet-4-6-20251101`) resolve to a base entry (`claude-sonnet-4-6`).
|
|
942
|
-
*/
|
|
943
|
-
declare const MODEL_PRICING: Record<string, ModelPricing>;
|
|
944
|
-
/**
|
|
945
|
-
* Estimate the USD cost of an LLM call. Returns `undefined` when the model has
|
|
946
|
-
* no known pricing (supply one via `options.pricing`).
|
|
947
|
-
*/
|
|
948
|
-
declare function estimateLLMCost(model: string, usage: TokenUsage, options?: EstimateCostOptions): number | undefined;
|
|
949
|
-
/**
|
|
950
|
-
* Estimate cost and record it on `ctx` as the `gen_ai.usage.cost.usd` span
|
|
951
|
-
* attribute. Returns the estimated cost, or `undefined` when the model is
|
|
952
|
-
* unknown (in which case no attribute is set).
|
|
953
|
-
*/
|
|
954
|
-
declare function recordLLMCost(ctx: Pick<TraceContext, 'setAttribute'>, model: string, usage: TokenUsage, options?: EstimateCostOptions): number | undefined;
|
|
955
|
-
|
|
956
|
-
export { AttributeRedactorConfig, AttributeRedactorPreset, type AuditAction, type AuditCatalog, type AuditCatalogEntry, type AuditDescriptor, type AuditSeverity, BaggageSpanProcessor, type BaggageSpanProcessorOptions, type DrainOptions, type EnrichContext, type EnricherDefinition, type EnricherOptions, type ErrorBuildOptions, type ErrorBuilder, type ErrorCatalog, type ErrorCatalogEntry, type EstimateCostOptions, EventAttributes, EventSubscriber, type ForkLifecycle, type ForkOptions, GEN_AI_COST_ATTRIBUTE, GEN_AI_COST_USD_BUCKETS, GEN_AI_DURATION_BUCKETS_SECONDS, GEN_AI_TOKEN_USAGE_BUCKETS, type HttpDrainOptions, type HttpDrainRequest, MODEL_PRICING, type ModelPricing, type OperationContext, type PromptSentEvent, type RequestLogSnapshot, type RequestLogger, type RequestLoggerOptions, type ResponseReceivedEvent, type RetryEvent, type StreamFirstTokenEvent, type StringRedactor, type StructuredError, type StructuredErrorInput, type TokenUsage, type ToolCallEvent, TraceContext, createStringRedactor, createStructuredError, defineAuditCatalog, defineDrain, defineEnricher, defineErrorCatalog, defineHttpDrain, estimateLLMCost, flattenToAttributes, flush, formatDuration, genAiMetricViews, getCatalogCode, getEventQueue, getOperationContext, getRequestLogger, getStructuredErrorAttributes, isCatalogError, llmHistogramAdvice, recordLLMCost, recordPromptSent, recordResponseReceived, recordRetry, recordStreamFirstToken, recordStructuredError, recordToolCall, runInOperationContext, runWithRequestContext, shutdown, structuredErrorToJSON, toAttributeValue, trace, track };
|
|
636
|
+
//#endregion
|
|
637
|
+
export { AUTOTEL_SAMPLING_TAIL_EVALUATED, AUTOTEL_SAMPLING_TAIL_KEEP, AdaptiveSampler, AlwaysSampler, type AttributeGuardrails, type AttributePolicy, AttributeRedactingProcessor, type AttributeRedactingProcessorOptions, type AttributeRedactorConfig, type AttributeRedactorFn, type AttributeRedactorPreset, type AttributeValue, type Attributes, type AuditAction, type AuditCatalog, type AuditCatalogEntry, type AuditDescriptor, type AuditSeverity, type AutotelConfig, type Baggage, type BaggageEntry, type BaggageError, type BaggageFieldDefinition, type BaggageFieldType, BaggageSpanProcessor, type BaggageSpanProcessorOptions, type BuiltinPatternName, BusinessBaggage, type BusinessBaggageValues, CORRELATION_ID_BAGGAGE_KEY, type ClientAttrs, type CloudAttrs, type CodeAttrs, type ConsumerConfig, type ConsumerContext, type ContainerAttrs, type Context, type DBAttrs, type DBConfig, type DefineEventOptions, type DefinedEvent, type DeploymentAttrs, type DeviceAttrs, type DrainOptions, type DrainPipelineOptions, type EnrichContext, type EnricherDefinition, type EnricherOptions, type ErrorAttrs, type ErrorBuildOptions, type ErrorBuilder, type ErrorCatalog, type ErrorCatalogEntry, Event, type EventAttributes, type EventSubscriber, type EventsOptions, type Exception, type ExceptionAttrs, type FaaSAttrs, type FeatureFlagAttrs, FilteringSpanProcessor, type FilteringSpanProcessorOptions, type ForkLifecycle, type ForkOptions, type FunnelStatus, type GraphQLAttrs, HTTPAttributes, type HTTPClientAttrs, type HTTPConfig, type HTTPServerAttrs, type HrTime, type HttpDrainOptions, type HttpDrainRequest, type InstrumentOptions, type K8sAttrs, type LagMetricsConfig, type Link, type MaskFn, type MessagingAttrs, type MessagingConfig, type MessagingOperation, type MessagingSystem, Metric, type MetricsOptions, NORMALIZER_PATTERNS, NORMALIZER_PRESETS, type NetworkAttrs, NeverSampler, type OTelAttrs, type OperationContext, type TraceContext as OtelTraceContext, type OutcomeStatus, type ParsedError, type PeerAttrs, type PipelineDrainFn, type ProcessAttrs, type ProducerConfig, type ProducerContext, REDACTOR_PATTERNS, REDACTOR_PRESETS, ROOT_CONTEXT, type RPCAttrs, RandomSampler, type RequestLogSnapshot, type RequestLogger, type RequestLoggerOptions, type SafeBaggageOptions, type SafeBaggageSchema, type Sampler, type SamplingContext, type SamplingPreset, type SchemaLike, type ServerAddressAttrs, ServiceAttributes, type ServiceAttrs, type SessionAttrs, type Span, type SpanAttributes, type SpanContext, type SpanFilterPredicate, SpanKind, type SpanLink, type SpanNameNormalizerConfig, type SpanNameNormalizerFn, type SpanNameNormalizerPreset, SpanNameNormalizingProcessor, type SpanNameNormalizingProcessorOptions, type SpanOptions, SpanStatusCode, type StepConfig, type StepContext, type StepStatus, type StringRedactor, type StructuredError, type StructuredErrorInput, type TLSAttrs, type TextMapGetter, type TextMapSetter, type ThreadAttrs, type TimeInput, type TraceContext$1 as TraceContext, type TraceFlags, type TraceState, type Tracer, type TracerProvider, URLAttributes, type URLAttrs, type UserAttrs, UserIdSampler, type ValuePatternConfig, type WithBaggageOptions, type WithNewContextOptions, type WorkflowConfig, type WorkflowContext, type WorkflowStatus, attrs, autoRedactPII, builtinPatterns, context, createAttributeRedactor, createCounter, createDeterministicTraceId, createDrainPipeline, createHistogram, createLinkFromHeaders, createNoopRequestLogger, createObservableGauge, createRedactedSpan, createSafeBaggageSchema, createStringRedactor, createStructuredError, createUpDownCounter, ctx, dbClient, defineAuditCatalog, defineBaggageSchema, defineDrain, defineEnricher, defineErrorCatalog, defineEvent, defineHttpDrain, enrichWithTraceContext, extractLinksFromBatch, finalizeSpan, flattenMetadata, flattenToAttributes, flush, formatDuration, generateCorrelationId, getActiveContext, getActiveSpan, getAutotelTracer, getAutotelTracerProvider, getCatalogCode, getCorrelationId, getCurrentWorkflowContext, getEventQueue, getEvents, getMeter, getMetrics, getOperationContext, getOrCreateCorrelationId, getRequestLogger, getRequestLoggerSafe, getStructuredErrorAttributes, getTraceContext, getTracer, hasRequestContext, httpClient, httpRequestHeaderAttribute, httpResponseHeaderAttribute, httpServer, identify, init, instrument, isCatalogError, isInWorkflow, isInitialized, isLoggerLocked, isTracing, lockLogger, markAsImmediate, mergeAttrs, mergeServiceResource, normalizeAttributeRedactorConfig, otelTrace, parseError, propagation, recordStructuredError, request, resetEvents, resetMetrics, resolveSamplingPreset, resolveTraceUrl, runInOperationContext, runWithCorrelationId, runWithRequestContext, runWithSpan, safeSetAttributes, samplingPresets, setAutotelTracerProvider, setCorrelationId, setCorrelationIdInBaggage, setDevice, setError, setException, setSession, setUser, shutdown, span, structuredErrorToJSON, toAttributeValue, trace, traceConsumer, traceDB, traceHTTP, traceMessaging, traceProducer, traceStep, traceWorkflow, track, validateAttribute, withBaggage, withNewContext, withTracing };
|
|
638
|
+
//# sourceMappingURL=index.d.cts.map
|