autotel 7.10.1 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +38 -32
  2. package/dist/{attribute-redacting-processor-rkV_WL-k.d.ts → attribute-redacting-processor-BrrdojmP.d.ts} +5 -1
  3. package/dist/{attribute-redacting-processor-CvBE0z1p.d.cts → attribute-redacting-processor-Cq7K8Okp.d.cts} +5 -1
  4. package/dist/attribute-redacting-processor.cjs +18 -8
  5. package/dist/attribute-redacting-processor.d.cts +1 -1
  6. package/dist/attribute-redacting-processor.d.ts +1 -1
  7. package/dist/attribute-redacting-processor.js +18 -8
  8. package/dist/{attributes-Ii3jDPsW.cjs → attributes-BqgJl9qA.cjs} +1 -1
  9. package/dist/{attributes-CuGx6cOI.js → attributes-BtwTkuX7.js} +1 -1
  10. package/dist/attributes.cjs +1 -1
  11. package/dist/attributes.js +1 -1
  12. package/dist/auto.cjs +1 -1
  13. package/dist/auto.js +1 -1
  14. package/dist/business-baggage.cjs +1 -1
  15. package/dist/business-baggage.js +1 -1
  16. package/dist/{canonical-log-line-processor-DDGzm-wi.d.ts → canonical-log-line-processor-BaFqHO5l.d.ts} +1 -2
  17. package/dist/{canonical-log-line-processor-DLeAQjgb.d.cts → canonical-log-line-processor-C-RdV5af.d.cts} +1 -2
  18. package/dist/{canonical-log-line-processor-BU03jJeA.cjs → canonical-log-line-processor-DScNq1g8.cjs} +1 -2
  19. package/dist/{canonical-log-line-processor-BQ6NeZAk.js → canonical-log-line-processor-naZRETyk.js} +1 -2
  20. package/dist/{channel-D0eaVqn3.cjs → channel-3MV-4Aqv.cjs} +1 -1
  21. package/dist/{channel-BobQKsZd.js → channel-BNFp4Sfq.js} +1 -1
  22. package/dist/config.d.cts +1 -1
  23. package/dist/config.d.ts +1 -1
  24. package/dist/{correlated-events-BfpH5uS-.js → correlated-events-CZFe6Z1P.js} +1 -1
  25. package/dist/{correlated-events-DE_4A3oD.cjs → correlated-events-wCrXVUby.cjs} +1 -1
  26. package/dist/correlation-id.cjs +1 -1
  27. package/dist/correlation-id.js +1 -1
  28. package/dist/db.cjs +1 -1
  29. package/dist/db.js +1 -1
  30. package/dist/decorators.cjs +2 -2
  31. package/dist/decorators.d.cts +1 -1
  32. package/dist/decorators.d.ts +1 -1
  33. package/dist/decorators.js +2 -2
  34. package/dist/diagnostics.cjs +3 -3
  35. package/dist/diagnostics.js +3 -3
  36. package/dist/event.cjs +1 -1
  37. package/dist/event.d.cts +1 -1
  38. package/dist/event.d.ts +1 -1
  39. package/dist/event.js +1 -1
  40. package/dist/exception-fingerprint.cjs +1 -1
  41. package/dist/exception-fingerprint.js +1 -1
  42. package/dist/{functional-C4gGiBou.js → functional-7uwlAIJd.js} +4 -4
  43. package/dist/{functional-j8Joyrwd.d.cts → functional-CN_cqIX8.d.cts} +9 -2
  44. package/dist/{functional-DptEM9La.cjs → functional-DCfOaKoM.cjs} +4 -4
  45. package/dist/{functional-CbcInXMJ.d.ts → functional-IGZ-Urlq.d.ts} +9 -2
  46. package/dist/functional.cjs +1 -1
  47. package/dist/functional.d.cts +1 -1
  48. package/dist/functional.d.ts +1 -1
  49. package/dist/functional.js +1 -1
  50. package/dist/http.cjs +2 -2
  51. package/dist/http.js +2 -2
  52. package/dist/index.cjs +9 -8
  53. package/dist/index.d.cts +31 -7
  54. package/dist/index.d.ts +31 -7
  55. package/dist/index.js +9 -9
  56. package/dist/{init-Biyby8Br.d.ts → init-BYq2sUXg.d.ts} +26 -31
  57. package/dist/{init-BvUtwZNx.js → init-D4TpmUIg.js} +142 -27
  58. package/dist/{init-Cx1-ejLn.cjs → init-DlJvp1WH.cjs} +147 -26
  59. package/dist/{init-CHanKvOq.d.cts → init-axM4kgR4.d.cts} +26 -31
  60. package/dist/instrumentation.cjs +2 -2
  61. package/dist/instrumentation.js +2 -2
  62. package/dist/{logger-B2VPcBgZ.js → logger-4VXLbqWx.js} +11 -19
  63. package/dist/{logger-DLjHQAus.cjs → logger-CWFxTLtR.cjs} +11 -19
  64. package/dist/{logger-C9UT1aZ_.d.cts → logger-b0qgWFy7.d.cts} +10 -18
  65. package/dist/{logger-C9UT1aZ_.d.ts → logger-b0qgWFy7.d.ts} +10 -18
  66. package/dist/logger.cjs +1 -1
  67. package/dist/logger.d.cts +1 -1
  68. package/dist/logger.d.ts +1 -1
  69. package/dist/logger.js +1 -1
  70. package/dist/messaging-adapters.cjs +1 -1
  71. package/dist/messaging-adapters.js +1 -1
  72. package/dist/messaging.cjs +4 -4
  73. package/dist/messaging.js +4 -4
  74. package/dist/metric.d.cts +1 -1
  75. package/dist/metric.d.ts +1 -1
  76. package/dist/{node-require-BPsB09eC.cjs → node-require-BotQNkYw.cjs} +1 -1
  77. package/dist/{node-require-CkK_xzL-.js → node-require-CY0YUdvZ.js} +1 -1
  78. package/dist/parse-error.cjs +1 -1
  79. package/dist/parse-error.js +1 -1
  80. package/dist/policy.cjs +0 -0
  81. package/dist/policy.js +0 -0
  82. package/dist/processors.cjs +1 -1
  83. package/dist/processors.d.cts +1 -1
  84. package/dist/processors.d.ts +1 -1
  85. package/dist/processors.js +1 -1
  86. package/dist/register.cjs +1 -0
  87. package/dist/register.js +1 -0
  88. package/dist/{sampling-Dud4XU2m.d.cts → sampling-CLJmXMw0.d.cts} +1 -1
  89. package/dist/{sampling-B_8orhSB.d.ts → sampling-DBlX8Nv5.d.ts} +1 -1
  90. package/dist/sampling.cjs +1 -1
  91. package/dist/sampling.d.cts +1 -1
  92. package/dist/sampling.d.ts +1 -1
  93. package/dist/sampling.js +1 -1
  94. package/dist/semantic-helpers.cjs +2 -2
  95. package/dist/semantic-helpers.js +2 -2
  96. package/dist/{stable-hash-sLi1o4jj.cjs → stable-hash-58iP5-N-.cjs} +1 -1
  97. package/dist/{stable-hash-AOUgw1DW.js → stable-hash-DVEU2MqW.js} +1 -1
  98. package/dist/{structured-error-DynjWTTu.cjs → structured-error-Ci8s_M6u.cjs} +6 -6
  99. package/dist/{structured-error-Y9y-1Pae.js → structured-error-UEtlg9Uu.js} +6 -6
  100. package/dist/tail-sampling-processor.cjs +1 -1
  101. package/dist/tail-sampling-processor.js +1 -1
  102. package/dist/test-span-collector.cjs +1 -1
  103. package/dist/test-span-collector.js +1 -1
  104. package/dist/testing.cjs +11 -1
  105. package/dist/testing.d.cts +1 -1
  106. package/dist/testing.d.ts +1 -1
  107. package/dist/testing.js +12 -2
  108. package/dist/trace-helpers.cjs +2 -2
  109. package/dist/trace-helpers.js +2 -2
  110. package/dist/tracer-provider.cjs +1 -1
  111. package/dist/tracer-provider.js +1 -1
  112. package/dist/validate.cjs +3 -3
  113. package/dist/validate.js +3 -3
  114. package/dist/{values-AxGpgYBA.cjs → values-9A6nOyZm.cjs} +69 -3
  115. package/dist/{values-xBtdXtjA.js → values-Dm0yEC5p.js} +58 -4
  116. package/dist/webhook.cjs +3 -3
  117. package/dist/webhook.js +3 -3
  118. package/dist/workflow-distributed.cjs +3 -3
  119. package/dist/workflow-distributed.js +3 -3
  120. package/dist/workflow.cjs +3 -3
  121. package/dist/workflow.js +3 -3
  122. package/dist/yaml-config.cjs +1 -1
  123. package/dist/yaml-config.d.cts +2 -2
  124. package/dist/yaml-config.d.ts +2 -2
  125. package/dist/yaml-config.js +1 -1
  126. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
- import { a as AttributeRedactorPreset, r as AttributeRedactorConfig } from "./attribute-redacting-processor-CvBE0z1p.cjs";
2
- import { s as Logger } from "./logger-C9UT1aZ_.cjs";
3
- import { g as SamplingPreset, m as Sampler$1 } from "./sampling-Dud4XU2m.cjs";
1
+ import { a as AttributeRedactorPreset, r as AttributeRedactorConfig } from "./attribute-redacting-processor-Cq7K8Okp.cjs";
2
+ import { s as Logger } from "./logger-b0qgWFy7.cjs";
3
+ import { g as SamplingPreset, m as Sampler$1 } from "./sampling-CLJmXMw0.cjs";
4
4
  import { o as EventSubscriber } from "./event-subscriber-DMACQA-1.cjs";
5
5
  import { r as SpanFilterPredicate } from "./filtering-span-processor-BYvLMiNz.cjs";
6
6
  import { r as Policy } from "./policy-C4QcZnqv.cjs";
7
7
  import { r as SpanNameNormalizerConfig } from "./span-name-normalizer-CN1-8C76.cjs";
8
- import { t as CanonicalLogLineOptions } from "./canonical-log-line-processor-DLeAQjgb.cjs";
8
+ import { t as CanonicalLogLineOptions } from "./canonical-log-line-processor-C-RdV5af.cjs";
9
9
  import { BasicTracerProvider, ReadableSpan, SpanExporter, SpanProcessor } from "@opentelemetry/sdk-trace-base";
10
10
  import { Attributes, Sampler, TextMapPropagator } from "@opentelemetry/api";
11
11
  import { Resource, ResourceDetector } from "@opentelemetry/resources";
@@ -289,10 +289,11 @@ interface CanonicalLogLinesConfig {
289
289
  enabled: boolean;
290
290
  /**
291
291
  * Logger(s) to emit canonical log lines through. Pass an array to fan out to
292
- * several. When omitted, lines go to the OTel Logs API instead.
292
+ * several. When omitted, lines go to the OTel Logs API instead. The
293
+ * top-level `logger` is for autotel's diagnostics and is not used here.
293
294
  *
294
- * Note this falls back to the top-level `logger` on AutotelConfig, so
295
- * setting that alone also diverts canonical log lines away from OTLP.
295
+ * Called as `logger[level](fields, message)`, pino's signature (bunyan's
296
+ * too). Winston takes `(message, meta)`, so wrap it.
296
297
  */
297
298
  logger?: Logger | Logger[];
298
299
  /**
@@ -488,7 +489,7 @@ interface AutotelConfig {
488
489
  * })
489
490
  * ```
490
491
  *
491
- * @example Enable specific auto-instrumentations
492
+ * @example Enable only these (the array is an allowlist; include `'http'` for request spans)
492
493
  * ```typescript
493
494
  * init({
494
495
  * service: 'my-app',
@@ -496,7 +497,7 @@ interface AutotelConfig {
496
497
  * })
497
498
  * ```
498
499
  *
499
- * @example Configure specific auto-instrumentations
500
+ * @example Everything, with per-package overrides (unlisted packages still load)
500
501
  * ```typescript
501
502
  * init({
502
503
  * service: 'my-app',
@@ -628,7 +629,9 @@ interface AutotelConfig {
628
629
  *
629
630
  * Unlike {@link spanProcessors}, which replaces the pipeline autotel would
630
631
  * have built, these are added to it. Use them for processors that enrich
631
- * rather than export, so `destinations` keeps working:
632
+ * rather than export, so `destinations` keeps working. On flush and
633
+ * shutdown they drain before the exporters do, so a span an enricher ends
634
+ * while draining is still exported:
632
635
  *
633
636
  * @example
634
637
  * ```typescript
@@ -867,7 +870,8 @@ interface AutotelConfig {
867
870
  * Logger instance for internal autotel diagnostic messages
868
871
  *
869
872
  * This logger is used by autotel internally to log initialization, warnings,
870
- * and debug information. Any logger with info/warn/error/debug methods works.
873
+ * and debug information. It is called pino-style, `(fields, message)`, so pino
874
+ * and bunyan work as is; wrap a `(message, meta)` logger such as winston.
871
875
  *
872
876
  * **For OTel instrumentation of your application logs**, use the `autoInstrumentations` option:
873
877
  * - `autoInstrumentations: ['pino']` - Injects traceId/spanId into Pino logs
@@ -875,18 +879,17 @@ interface AutotelConfig {
875
879
  *
876
880
  * Default: silent logger (no-op)
877
881
  *
878
- * @example Pino with OTel instrumentation
882
+ * @example Pino with trace context (no `logger` needed)
879
883
  * ```typescript
880
- * import pino from 'pino'
884
+ * // telemetry.ts - imported first, before anything that creates the logger
881
885
  * import { init } from 'autotel'
886
+ * init({ service: 'my-app', autoInstrumentations: ['pino'], logs: true })
882
887
  *
883
- * const logger = pino({ level: 'info' })
884
- * init({
885
- * service: 'my-app',
886
- * logger, // For autotel's internal logs
887
- * autoInstrumentations: ['pino'] // For OTel trace context in YOUR logs
888
- * })
888
+ * // logger.ts - created after init(), so pino is patched as it loads
889
+ * import pino from 'pino'
890
+ * export const logger = pino()
889
891
  * ```
892
+ * Under ESM, start node with `--import autotel/register` too.
890
893
  *
891
894
  * @example Custom logger for autotel diagnostics
892
895
  * ```typescript
@@ -900,18 +903,10 @@ interface AutotelConfig {
900
903
  * ```
901
904
  *
902
905
  * @remarks
903
- * This is also the fallback logger for canonical log lines, so setting it
904
- * sends them here INSTEAD of the OTel Logs API — and therefore stops them
905
- * reaching an OTLP logs backend such as Loki. On a platform whose log view
906
- * reads stdout you usually want both, which is what
907
- * `canonicalLogLines.otel` is for:
908
- *
909
- * ```typescript
910
- * init({
911
- * service: 'my-app',
912
- * canonicalLogLines: { enabled: true, logger, otel: true },
913
- * })
914
- * ```
906
+ * Don't pass your app logger here to get trace context: creating it before
907
+ * `init()` loads its package before the instrumentation, so it is never
908
+ * patched. Canonical log lines do not use this logger either; set
909
+ * `canonicalLogLines.logger` (or `pretty`) for those.
915
910
  */
916
911
  logger?: Logger;
917
912
  /**
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_init = require('./init-Cx1-ejLn.cjs');
3
- const require_node_require = require('./node-require-BPsB09eC.cjs');
2
+ const require_init = require('./init-DlJvp1WH.cjs');
3
+ const require_node_require = require('./node-require-BotQNkYw.cjs');
4
4
  let _opentelemetry_resources = require("@opentelemetry/resources");
5
5
  let _opentelemetry_exporter_logs_otlp_http = require("@opentelemetry/exporter-logs-otlp-http");
6
6
  let _opentelemetry_sdk_logs = require("@opentelemetry/sdk-logs");
@@ -1,5 +1,5 @@
1
- import { C as TailSamplingSpanProcessor, r as getLogger } from "./init-BvUtwZNx.js";
2
- import { n as safeRequire, t as requireModule } from "./node-require-CkK_xzL-.js";
1
+ import { r as getLogger, w as TailSamplingSpanProcessor } from "./init-D4TpmUIg.js";
2
+ import { n as safeRequire, t as requireModule } from "./node-require-CY0YUdvZ.js";
3
3
  import { detectResources, hostDetector, processDetector, resourceFromAttributes } from "@opentelemetry/resources";
4
4
  import { OTLPLogExporter } from "@opentelemetry/exporter-logs-otlp-http";
5
5
  import { BatchLogRecordProcessor } from "@opentelemetry/sdk-logs";
@@ -1,4 +1,4 @@
1
- import { l as asString, s as asRecord } from "./values-xBtdXtjA.js";
1
+ import { l as asString, s as asRecord } from "./values-Dm0yEC5p.js";
2
2
  import { getConfig } from "./config.js";
3
3
  import { SpanStatusCode, context, createContextKey, trace } from "@opentelemetry/api";
4
4
 
@@ -255,8 +255,9 @@ function autotelLogger(options) {
255
255
  * **Zero-Config Option:** Don't provide a logger to `init()` and autotel uses
256
256
  * a built-in structured JSON logger with automatic trace context injection.
257
257
  *
258
- * **BYOL (Bring Your Own Logger):** Pass Pino or Bunyan to `init()` for
259
- * automatic instrumentation with trace context and OTLP log export.
258
+ * **BYOL (Bring Your Own Logger):** Use `autoInstrumentations: ['pino']`
259
+ * (or `'winston'`, `'bunyan'`) for trace context and OTLP log export. Don't
260
+ * pass the logger to `init()`; create it after `init()` runs so it is patched.
260
261
  *
261
262
  * ## Logger Signature
262
263
  *
@@ -315,29 +316,20 @@ function autotelLogger(options) {
315
316
  *
316
317
  * @example Using Pino (recommended for production, auto-instrumented)
317
318
  * ```typescript
318
- * import pino from 'pino'; // npm install pino
319
+ * // telemetry.ts - imported first (ESM: also `node --import autotel/register`)
319
320
  * import { init } from 'autotel';
321
+ * init({ service: 'my-app', autoInstrumentations: ['pino'], logs: true });
320
322
  *
321
- * const logger = pino({ level: 'info' });
322
- * init({ service: 'my-app', logger });
323
+ * // logger.ts - created after init(), so pino is patched as it loads
324
+ * import pino from 'pino';
325
+ * export const logger = pino({ level: 'info' });
323
326
  *
324
327
  * // Logs automatically include traceId/spanId and export via OTLP!
325
328
  * logger.info({ userId: '123' }, 'User created');
326
329
  * ```
327
330
  *
328
- * @example Using Bunyan (auto-instrumented, same signature as Pino)
329
- * ```typescript
330
- * import bunyan from 'bunyan'; // npm install bunyan @opentelemetry/instrumentation-bunyan
331
- * import { init } from 'autotel';
332
- * import { BunyanInstrumentation } from '@opentelemetry/instrumentation-bunyan';
333
- *
334
- * const logger = bunyan.createLogger({ name: 'my-app' });
335
- * init({
336
- * service: 'my-app',
337
- * logger,
338
- * instrumentations: [new BunyanInstrumentation()]
339
- * });
340
- * ```
331
+ * Bunyan and Winston work the same way: `autoInstrumentations: ['bunyan']`
332
+ * or `['winston']`, logger created after `init()`.
341
333
  *
342
334
  * @example Custom logger (MUST use Pino-compatible signature)
343
335
  * ```typescript
@@ -1,4 +1,4 @@
1
- const require_values = require('./values-AxGpgYBA.cjs');
1
+ const require_values = require('./values-9A6nOyZm.cjs');
2
2
  const require_config = require('./config.cjs');
3
3
  let _opentelemetry_api = require("@opentelemetry/api");
4
4
 
@@ -255,8 +255,9 @@ function autotelLogger(options) {
255
255
  * **Zero-Config Option:** Don't provide a logger to `init()` and autotel uses
256
256
  * a built-in structured JSON logger with automatic trace context injection.
257
257
  *
258
- * **BYOL (Bring Your Own Logger):** Pass Pino or Bunyan to `init()` for
259
- * automatic instrumentation with trace context and OTLP log export.
258
+ * **BYOL (Bring Your Own Logger):** Use `autoInstrumentations: ['pino']`
259
+ * (or `'winston'`, `'bunyan'`) for trace context and OTLP log export. Don't
260
+ * pass the logger to `init()`; create it after `init()` runs so it is patched.
260
261
  *
261
262
  * ## Logger Signature
262
263
  *
@@ -315,29 +316,20 @@ function autotelLogger(options) {
315
316
  *
316
317
  * @example Using Pino (recommended for production, auto-instrumented)
317
318
  * ```typescript
318
- * import pino from 'pino'; // npm install pino
319
+ * // telemetry.ts - imported first (ESM: also `node --import autotel/register`)
319
320
  * import { init } from 'autotel';
321
+ * init({ service: 'my-app', autoInstrumentations: ['pino'], logs: true });
320
322
  *
321
- * const logger = pino({ level: 'info' });
322
- * init({ service: 'my-app', logger });
323
+ * // logger.ts - created after init(), so pino is patched as it loads
324
+ * import pino from 'pino';
325
+ * export const logger = pino({ level: 'info' });
323
326
  *
324
327
  * // Logs automatically include traceId/spanId and export via OTLP!
325
328
  * logger.info({ userId: '123' }, 'User created');
326
329
  * ```
327
330
  *
328
- * @example Using Bunyan (auto-instrumented, same signature as Pino)
329
- * ```typescript
330
- * import bunyan from 'bunyan'; // npm install bunyan @opentelemetry/instrumentation-bunyan
331
- * import { init } from 'autotel';
332
- * import { BunyanInstrumentation } from '@opentelemetry/instrumentation-bunyan';
333
- *
334
- * const logger = bunyan.createLogger({ name: 'my-app' });
335
- * init({
336
- * service: 'my-app',
337
- * logger,
338
- * instrumentations: [new BunyanInstrumentation()]
339
- * });
340
- * ```
331
+ * Bunyan and Winston work the same way: `autoInstrumentations: ['bunyan']`
332
+ * or `['winston']`, logger created after `init()`.
341
333
  *
342
334
  * @example Custom logger (MUST use Pino-compatible signature)
343
335
  * ```typescript
@@ -82,8 +82,9 @@ declare function autotelLogger(options?: {
82
82
  * **Zero-Config Option:** Don't provide a logger to `init()` and autotel uses
83
83
  * a built-in structured JSON logger with automatic trace context injection.
84
84
  *
85
- * **BYOL (Bring Your Own Logger):** Pass Pino or Bunyan to `init()` for
86
- * automatic instrumentation with trace context and OTLP log export.
85
+ * **BYOL (Bring Your Own Logger):** Use `autoInstrumentations: ['pino']`
86
+ * (or `'winston'`, `'bunyan'`) for trace context and OTLP log export. Don't
87
+ * pass the logger to `init()`; create it after `init()` runs so it is patched.
87
88
  *
88
89
  * ## Logger Signature
89
90
  *
@@ -142,29 +143,20 @@ declare function autotelLogger(options?: {
142
143
  *
143
144
  * @example Using Pino (recommended for production, auto-instrumented)
144
145
  * ```typescript
145
- * import pino from 'pino'; // npm install pino
146
+ * // telemetry.ts - imported first (ESM: also `node --import autotel/register`)
146
147
  * import { init } from 'autotel';
148
+ * init({ service: 'my-app', autoInstrumentations: ['pino'], logs: true });
147
149
  *
148
- * const logger = pino({ level: 'info' });
149
- * init({ service: 'my-app', logger });
150
+ * // logger.ts - created after init(), so pino is patched as it loads
151
+ * import pino from 'pino';
152
+ * export const logger = pino({ level: 'info' });
150
153
  *
151
154
  * // Logs automatically include traceId/spanId and export via OTLP!
152
155
  * logger.info({ userId: '123' }, 'User created');
153
156
  * ```
154
157
  *
155
- * @example Using Bunyan (auto-instrumented, same signature as Pino)
156
- * ```typescript
157
- * import bunyan from 'bunyan'; // npm install bunyan @opentelemetry/instrumentation-bunyan
158
- * import { init } from 'autotel';
159
- * import { BunyanInstrumentation } from '@opentelemetry/instrumentation-bunyan';
160
- *
161
- * const logger = bunyan.createLogger({ name: 'my-app' });
162
- * init({
163
- * service: 'my-app',
164
- * logger,
165
- * instrumentations: [new BunyanInstrumentation()]
166
- * });
167
- * ```
158
+ * Bunyan and Winston work the same way: `autoInstrumentations: ['bunyan']`
159
+ * or `['winston']`, logger created after `init()`.
168
160
  *
169
161
  * @example Custom logger (MUST use Pino-compatible signature)
170
162
  * ```typescript
@@ -82,8 +82,9 @@ declare function autotelLogger(options?: {
82
82
  * **Zero-Config Option:** Don't provide a logger to `init()` and autotel uses
83
83
  * a built-in structured JSON logger with automatic trace context injection.
84
84
  *
85
- * **BYOL (Bring Your Own Logger):** Pass Pino or Bunyan to `init()` for
86
- * automatic instrumentation with trace context and OTLP log export.
85
+ * **BYOL (Bring Your Own Logger):** Use `autoInstrumentations: ['pino']`
86
+ * (or `'winston'`, `'bunyan'`) for trace context and OTLP log export. Don't
87
+ * pass the logger to `init()`; create it after `init()` runs so it is patched.
87
88
  *
88
89
  * ## Logger Signature
89
90
  *
@@ -142,29 +143,20 @@ declare function autotelLogger(options?: {
142
143
  *
143
144
  * @example Using Pino (recommended for production, auto-instrumented)
144
145
  * ```typescript
145
- * import pino from 'pino'; // npm install pino
146
+ * // telemetry.ts - imported first (ESM: also `node --import autotel/register`)
146
147
  * import { init } from 'autotel';
148
+ * init({ service: 'my-app', autoInstrumentations: ['pino'], logs: true });
147
149
  *
148
- * const logger = pino({ level: 'info' });
149
- * init({ service: 'my-app', logger });
150
+ * // logger.ts - created after init(), so pino is patched as it loads
151
+ * import pino from 'pino';
152
+ * export const logger = pino({ level: 'info' });
150
153
  *
151
154
  * // Logs automatically include traceId/spanId and export via OTLP!
152
155
  * logger.info({ userId: '123' }, 'User created');
153
156
  * ```
154
157
  *
155
- * @example Using Bunyan (auto-instrumented, same signature as Pino)
156
- * ```typescript
157
- * import bunyan from 'bunyan'; // npm install bunyan @opentelemetry/instrumentation-bunyan
158
- * import { init } from 'autotel';
159
- * import { BunyanInstrumentation } from '@opentelemetry/instrumentation-bunyan';
160
- *
161
- * const logger = bunyan.createLogger({ name: 'my-app' });
162
- * init({
163
- * service: 'my-app',
164
- * logger,
165
- * instrumentations: [new BunyanInstrumentation()]
166
- * });
167
- * ```
158
+ * Bunyan and Winston work the same way: `autoInstrumentations: ['bunyan']`
159
+ * or `['winston']`, logger created after `init()`.
168
160
  *
169
161
  * @example Custom logger (MUST use Pino-compatible signature)
170
162
  * ```typescript
package/dist/logger.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_logger = require('./logger-DLjHQAus.cjs');
2
+ const require_logger = require('./logger-CWFxTLtR.cjs');
3
3
 
4
4
  exports.LOG_LEVEL = require_logger.LOG_LEVEL;
5
5
  exports.LoggedOperation = require_logger.LoggedOperation;
package/dist/logger.d.cts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as LoggedOperation, c as LoggerConfig, d as BuiltinLoggerOptions, f as autotelLogger, g as runWithLogLevel, h as getTraceContext, i as LogLevel, l as PinoLogger, m as getActiveLogLevel, n as LOG_LEVEL, o as LoggedOperationOptions, p as createBuiltinLogger, r as LogFn, s as Logger, t as ILogger, u as BuiltinLogLevel } from "./logger-C9UT1aZ_.cjs";
1
+ import { a as LoggedOperation, c as LoggerConfig, d as BuiltinLoggerOptions, f as autotelLogger, g as runWithLogLevel, h as getTraceContext, i as LogLevel, l as PinoLogger, m as getActiveLogLevel, n as LOG_LEVEL, o as LoggedOperationOptions, p as createBuiltinLogger, r as LogFn, s as Logger, t as ILogger, u as BuiltinLogLevel } from "./logger-b0qgWFy7.cjs";
2
2
  export { type BuiltinLogLevel, type BuiltinLoggerOptions, ILogger, LOG_LEVEL, LogFn, LogLevel, LoggedOperation, LoggedOperationOptions, Logger, LoggerConfig, type PinoLogger, autotelLogger, createBuiltinLogger, getActiveLogLevel, getTraceContext, runWithLogLevel };
package/dist/logger.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as LoggedOperation, c as LoggerConfig, d as BuiltinLoggerOptions, f as autotelLogger, g as runWithLogLevel, h as getTraceContext, i as LogLevel, l as PinoLogger, m as getActiveLogLevel, n as LOG_LEVEL, o as LoggedOperationOptions, p as createBuiltinLogger, r as LogFn, s as Logger, t as ILogger, u as BuiltinLogLevel } from "./logger-C9UT1aZ_.js";
1
+ import { a as LoggedOperation, c as LoggerConfig, d as BuiltinLoggerOptions, f as autotelLogger, g as runWithLogLevel, h as getTraceContext, i as LogLevel, l as PinoLogger, m as getActiveLogLevel, n as LOG_LEVEL, o as LoggedOperationOptions, p as createBuiltinLogger, r as LogFn, s as Logger, t as ILogger, u as BuiltinLogLevel } from "./logger-b0qgWFy7.js";
2
2
  export { type BuiltinLogLevel, type BuiltinLoggerOptions, ILogger, LOG_LEVEL, LogFn, LogLevel, LoggedOperation, LoggedOperationOptions, Logger, LoggerConfig, type PinoLogger, autotelLogger, createBuiltinLogger, getActiveLogLevel, getTraceContext, runWithLogLevel };
package/dist/logger.js CHANGED
@@ -1,3 +1,3 @@
1
- import { a as getActiveLogLevel, i as createBuiltinLogger, n as LoggedOperation, o as getTraceContext, r as autotelLogger, s as runWithLogLevel, t as LOG_LEVEL } from "./logger-B2VPcBgZ.js";
1
+ import { a as getActiveLogLevel, i as createBuiltinLogger, n as LoggedOperation, o as getTraceContext, r as autotelLogger, s as runWithLogLevel, t as LOG_LEVEL } from "./logger-4VXLbqWx.js";
2
2
 
3
3
  export { LOG_LEVEL, LoggedOperation, autotelLogger, createBuiltinLogger, getActiveLogLevel, getTraceContext, runWithLogLevel };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_values = require('./values-AxGpgYBA.cjs');
2
+ const require_values = require('./values-9A6nOyZm.cjs');
3
3
  let _opentelemetry_api = require("@opentelemetry/api");
4
4
 
5
5
  //#region src/messaging-adapters.ts
@@ -1,4 +1,4 @@
1
- import { _ as readProperty, l as asString, r as asFunction, s as asRecord } from "./values-xBtdXtjA.js";
1
+ import { l as asString, r as asFunction, s as asRecord, v as readProperty } from "./values-Dm0yEC5p.js";
2
2
  import { TraceFlags } from "@opentelemetry/api";
3
3
 
4
4
  //#region src/messaging-adapters.ts
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_init = require('./init-Cx1-ejLn.cjs');
3
- const require_values = require('./values-AxGpgYBA.cjs');
4
- const require_functional = require('./functional-DptEM9La.cjs');
5
- const require_correlated_events = require('./correlated-events-DE_4A3oD.cjs');
2
+ const require_init = require('./init-DlJvp1WH.cjs');
3
+ const require_values = require('./values-9A6nOyZm.cjs');
4
+ const require_functional = require('./functional-DCfOaKoM.cjs');
5
+ const require_correlated_events = require('./correlated-events-wCrXVUby.cjs');
6
6
  const require_trace_factory_validation = require('./trace-factory-validation-CHU1WcjK.cjs');
7
7
  let _opentelemetry_api = require("@opentelemetry/api");
8
8
 
package/dist/messaging.js CHANGED
@@ -1,7 +1,7 @@
1
- import { L as createLinkFromHeaders, z as extractLinksFromBatch } from "./init-BvUtwZNx.js";
2
- import { _ as readProperty, b as toAttributeValue, c as asScalar, g as nonEmptyString, h as isFunction, s as asRecord, v as resolveValue, y as splitNameOrOptions } from "./values-xBtdXtjA.js";
3
- import { l as withTracing } from "./functional-C4gGiBou.js";
4
- import { t as emitCorrelatedEvent } from "./correlated-events-BfpH5uS-.js";
1
+ import { B as extractLinksFromBatch, R as createLinkFromHeaders } from "./init-D4TpmUIg.js";
2
+ import { S as toAttributeValue, _ as nonEmptyString, b as splitNameOrOptions, c as asScalar, g as isFunction, s as asRecord, v as readProperty, y as resolveValue } from "./values-Dm0yEC5p.js";
3
+ import { l as withTracing } from "./functional-7uwlAIJd.js";
4
+ import { t as emitCorrelatedEvent } from "./correlated-events-CZFe6Z1P.js";
5
5
  import { t as assertTraceFactory } from "./trace-factory-validation-BjVAinz6.js";
6
6
  import { SpanKind, context, propagation } from "@opentelemetry/api";
7
7
 
package/dist/metric.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { s as Logger } from "./logger-C9UT1aZ_.cjs";
1
+ import { s as Logger } from "./logger-b0qgWFy7.cjs";
2
2
  import { c as FunnelStatus, l as OutcomeStatus, r as EventAttributes } from "./event-subscriber-DMACQA-1.cjs";
3
3
  import { t as MetricsCollector } from "./metric-testing-86WO1wan.cjs";
4
4
  //#region src/metric.d.ts
package/dist/metric.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { s as Logger } from "./logger-C9UT1aZ_.js";
1
+ import { s as Logger } from "./logger-b0qgWFy7.js";
2
2
  import { c as FunnelStatus, l as OutcomeStatus, r as EventAttributes } from "./event-subscriber-DMACQA-1.js";
3
3
  import { t as MetricsCollector } from "./metric-testing-CbCxdPBp.js";
4
4
  //#region src/metric.d.ts
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require('./rolldown-runtime-C24Yb2bl.cjs');
2
- const require_values = require('./values-AxGpgYBA.cjs');
2
+ const require_values = require('./values-9A6nOyZm.cjs');
3
3
  let node_module = require("node:module");
4
4
  node_module = require_rolldown_runtime.__toESM(node_module, 1);
5
5
 
@@ -1,4 +1,4 @@
1
- import { _ as readProperty, l as asString } from "./values-xBtdXtjA.js";
1
+ import { l as asString, v as readProperty } from "./values-Dm0yEC5p.js";
2
2
  import * as nodeModule from "node:module";
3
3
 
4
4
  //#region src/node-require.ts
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_values = require('./values-AxGpgYBA.cjs');
2
+ const require_values = require('./values-9A6nOyZm.cjs');
3
3
 
4
4
  //#region src/parse-error.ts
5
5
  /** An HTTP-ish status, however the library that threw chose to spell it. */
@@ -1,4 +1,4 @@
1
- import { _ as readProperty, i as asNumber, l as asString, s as asRecord } from "./values-xBtdXtjA.js";
1
+ import { i as asNumber, l as asString, s as asRecord, v as readProperty } from "./values-Dm0yEC5p.js";
2
2
 
3
3
  //#region src/parse-error.ts
4
4
  /** An HTTP-ish status, however the library that threw chose to spell it. */
package/dist/policy.cjs CHANGED
Binary file
package/dist/policy.js CHANGED
Binary file
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_canonical_log_line_processor = require('./canonical-log-line-processor-BU03jJeA.cjs');
2
+ const require_canonical_log_line_processor = require('./canonical-log-line-processor-DScNq1g8.cjs');
3
3
  let _opentelemetry_sdk_trace_base = require("@opentelemetry/sdk-trace-base");
4
4
 
5
5
  Object.defineProperty(exports, 'BatchSpanProcessor', {
@@ -1,3 +1,3 @@
1
- import { n as CanonicalLogLineProcessor, t as CanonicalLogLineOptions } from "./canonical-log-line-processor-DLeAQjgb.cjs";
1
+ import { n as CanonicalLogLineProcessor, t as CanonicalLogLineOptions } from "./canonical-log-line-processor-C-RdV5af.cjs";
2
2
  import { BatchSpanProcessor, SimpleSpanProcessor } from "@opentelemetry/sdk-trace-base";
3
3
  export { BatchSpanProcessor, type CanonicalLogLineOptions, CanonicalLogLineProcessor, SimpleSpanProcessor };
@@ -1,3 +1,3 @@
1
- import { n as CanonicalLogLineProcessor, t as CanonicalLogLineOptions } from "./canonical-log-line-processor-DDGzm-wi.js";
1
+ import { n as CanonicalLogLineProcessor, t as CanonicalLogLineOptions } from "./canonical-log-line-processor-BaFqHO5l.js";
2
2
  import { BatchSpanProcessor, SimpleSpanProcessor } from "@opentelemetry/sdk-trace-base";
3
3
  export { BatchSpanProcessor, type CanonicalLogLineOptions, CanonicalLogLineProcessor, SimpleSpanProcessor };
@@ -1,4 +1,4 @@
1
- import { t as CanonicalLogLineProcessor } from "./canonical-log-line-processor-BQ6NeZAk.js";
1
+ import { t as CanonicalLogLineProcessor } from "./canonical-log-line-processor-naZRETyk.js";
2
2
  import { BatchSpanProcessor, SimpleSpanProcessor } from "@opentelemetry/sdk-trace-base";
3
3
 
4
4
  export { BatchSpanProcessor, CanonicalLogLineProcessor, SimpleSpanProcessor };
package/dist/register.cjs CHANGED
@@ -35,5 +35,6 @@ node_module = require_rolldown_runtime.__toESM(node_module, 1);
35
35
  * @see https://nodejs.org/api/module.html#moduleregisterspecifier-parenturl-options
36
36
  */
37
37
  node_module.register("@opentelemetry/instrumentation/hook.mjs", require("url").pathToFileURL(__filename).href);
38
+ globalThis[Symbol.for("autotel.register")] = true;
38
39
 
39
40
  //#endregion
package/dist/register.js CHANGED
@@ -33,6 +33,7 @@ import * as nodeModule from "node:module";
33
33
  * @see https://nodejs.org/api/module.html#moduleregisterspecifier-parenturl-options
34
34
  */
35
35
  nodeModule.register("@opentelemetry/instrumentation/hook.mjs", import.meta.url);
36
+ globalThis[Symbol.for("autotel.register")] = true;
36
37
 
37
38
  //#endregion
38
39
  export { };
@@ -1,5 +1,5 @@
1
1
  import { t as UnknownRecord } from "./values-CeMH-mYG.cjs";
2
- import { s as Logger } from "./logger-C9UT1aZ_.cjs";
2
+ import { s as Logger } from "./logger-b0qgWFy7.cjs";
3
3
  import { Attributes, Link } from "@opentelemetry/api";
4
4
  //#region src/sampling.d.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { t as UnknownRecord } from "./values-CeMH-mYG.js";
2
- import { s as Logger } from "./logger-C9UT1aZ_.js";
2
+ import { s as Logger } from "./logger-b0qgWFy7.js";
3
3
  import { Attributes, Link } from "@opentelemetry/api";
4
4
  //#region src/sampling.d.ts
5
5
  /**
package/dist/sampling.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_init = require('./init-Cx1-ejLn.cjs');
2
+ const require_init = require('./init-DlJvp1WH.cjs');
3
3
 
4
4
  exports.AUTOTEL_DEBUG_BAGGAGE_KEY = require_init.AUTOTEL_DEBUG_BAGGAGE_KEY;
5
5
  exports.AUTOTEL_SAMPLING_RATE = require_init.AUTOTEL_SAMPLING_RATE;
@@ -1,2 +1,2 @@
1
- import { C as markForceKept, S as isForceKept, T as samplingPresets, _ as UserIdSampler, a as AdaptiveSampler, b as extractLinksFromBatch, c as DeterministicSampler, d as NeverSampler, f as OperationResult, g as SamplingPreset, h as SamplingContext, i as AUTOTEL_SAMPLING_TAIL_KEEP, l as FeatureFlagSampler, m as Sampler, n as AUTOTEL_SAMPLING_RATE, o as AlwaysSampler, p as RandomSampler, r as AUTOTEL_SAMPLING_TAIL_EVALUATED, s as CompositeSampler, t as AUTOTEL_DEBUG_BAGGAGE_KEY, u as KeyTargetRateSampler, v as createLinkFromHeaders, w as resolveSamplingPreset, x as hashUnitInterval, y as debugCaptureRequested } from "./sampling-Dud4XU2m.cjs";
1
+ import { C as markForceKept, S as isForceKept, T as samplingPresets, _ as UserIdSampler, a as AdaptiveSampler, b as extractLinksFromBatch, c as DeterministicSampler, d as NeverSampler, f as OperationResult, g as SamplingPreset, h as SamplingContext, i as AUTOTEL_SAMPLING_TAIL_KEEP, l as FeatureFlagSampler, m as Sampler, n as AUTOTEL_SAMPLING_RATE, o as AlwaysSampler, p as RandomSampler, r as AUTOTEL_SAMPLING_TAIL_EVALUATED, s as CompositeSampler, t as AUTOTEL_DEBUG_BAGGAGE_KEY, u as KeyTargetRateSampler, v as createLinkFromHeaders, w as resolveSamplingPreset, x as hashUnitInterval, y as debugCaptureRequested } from "./sampling-CLJmXMw0.cjs";
2
2
  export { AUTOTEL_DEBUG_BAGGAGE_KEY, AUTOTEL_SAMPLING_RATE, AUTOTEL_SAMPLING_TAIL_EVALUATED, AUTOTEL_SAMPLING_TAIL_KEEP, AdaptiveSampler, AlwaysSampler, CompositeSampler, DeterministicSampler, FeatureFlagSampler, KeyTargetRateSampler, NeverSampler, OperationResult, RandomSampler, Sampler, SamplingContext, SamplingPreset, UserIdSampler, createLinkFromHeaders, debugCaptureRequested, extractLinksFromBatch, hashUnitInterval, isForceKept, markForceKept, resolveSamplingPreset, samplingPresets };
@@ -1,2 +1,2 @@
1
- import { C as markForceKept, S as isForceKept, T as samplingPresets, _ as UserIdSampler, a as AdaptiveSampler, b as extractLinksFromBatch, c as DeterministicSampler, d as NeverSampler, f as OperationResult, g as SamplingPreset, h as SamplingContext, i as AUTOTEL_SAMPLING_TAIL_KEEP, l as FeatureFlagSampler, m as Sampler, n as AUTOTEL_SAMPLING_RATE, o as AlwaysSampler, p as RandomSampler, r as AUTOTEL_SAMPLING_TAIL_EVALUATED, s as CompositeSampler, t as AUTOTEL_DEBUG_BAGGAGE_KEY, u as KeyTargetRateSampler, v as createLinkFromHeaders, w as resolveSamplingPreset, x as hashUnitInterval, y as debugCaptureRequested } from "./sampling-B_8orhSB.js";
1
+ import { C as markForceKept, S as isForceKept, T as samplingPresets, _ as UserIdSampler, a as AdaptiveSampler, b as extractLinksFromBatch, c as DeterministicSampler, d as NeverSampler, f as OperationResult, g as SamplingPreset, h as SamplingContext, i as AUTOTEL_SAMPLING_TAIL_KEEP, l as FeatureFlagSampler, m as Sampler, n as AUTOTEL_SAMPLING_RATE, o as AlwaysSampler, p as RandomSampler, r as AUTOTEL_SAMPLING_TAIL_EVALUATED, s as CompositeSampler, t as AUTOTEL_DEBUG_BAGGAGE_KEY, u as KeyTargetRateSampler, v as createLinkFromHeaders, w as resolveSamplingPreset, x as hashUnitInterval, y as debugCaptureRequested } from "./sampling-DBlX8Nv5.js";
2
2
  export { AUTOTEL_DEBUG_BAGGAGE_KEY, AUTOTEL_SAMPLING_RATE, AUTOTEL_SAMPLING_TAIL_EVALUATED, AUTOTEL_SAMPLING_TAIL_KEEP, AdaptiveSampler, AlwaysSampler, CompositeSampler, DeterministicSampler, FeatureFlagSampler, KeyTargetRateSampler, NeverSampler, OperationResult, RandomSampler, Sampler, SamplingContext, SamplingPreset, UserIdSampler, createLinkFromHeaders, debugCaptureRequested, extractLinksFromBatch, hashUnitInterval, isForceKept, markForceKept, resolveSamplingPreset, samplingPresets };
package/dist/sampling.js CHANGED
@@ -1,3 +1,3 @@
1
- import { A as CompositeSampler, B as hashUnitInterval, D as AUTOTEL_SAMPLING_TAIL_KEEP, E as AUTOTEL_SAMPLING_TAIL_EVALUATED, F as RandomSampler, H as markForceKept, I as UserIdSampler, L as createLinkFromHeaders, M as FeatureFlagSampler, N as KeyTargetRateSampler, O as AdaptiveSampler, P as NeverSampler, R as debugCaptureRequested, T as AUTOTEL_SAMPLING_RATE, U as resolveSamplingPreset, V as isForceKept, W as samplingPresets, j as DeterministicSampler, k as AlwaysSampler, w as AUTOTEL_DEBUG_BAGGAGE_KEY, z as extractLinksFromBatch } from "./init-BvUtwZNx.js";
1
+ import { A as AlwaysSampler, B as extractLinksFromBatch, D as AUTOTEL_SAMPLING_TAIL_EVALUATED, E as AUTOTEL_SAMPLING_RATE, F as NeverSampler, G as samplingPresets, H as isForceKept, I as RandomSampler, L as UserIdSampler, M as DeterministicSampler, N as FeatureFlagSampler, O as AUTOTEL_SAMPLING_TAIL_KEEP, P as KeyTargetRateSampler, R as createLinkFromHeaders, T as AUTOTEL_DEBUG_BAGGAGE_KEY, U as markForceKept, V as hashUnitInterval, W as resolveSamplingPreset, j as CompositeSampler, k as AdaptiveSampler, z as debugCaptureRequested } from "./init-D4TpmUIg.js";
2
2
 
3
3
  export { AUTOTEL_DEBUG_BAGGAGE_KEY, AUTOTEL_SAMPLING_RATE, AUTOTEL_SAMPLING_TAIL_EVALUATED, AUTOTEL_SAMPLING_TAIL_KEEP, AdaptiveSampler, AlwaysSampler, CompositeSampler, DeterministicSampler, FeatureFlagSampler, KeyTargetRateSampler, NeverSampler, RandomSampler, UserIdSampler, createLinkFromHeaders, debugCaptureRequested, extractLinksFromBatch, hashUnitInterval, isForceKept, markForceKept, resolveSamplingPreset, samplingPresets };
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_values = require('./values-AxGpgYBA.cjs');
3
- const require_functional = require('./functional-DptEM9La.cjs');
2
+ const require_values = require('./values-9A6nOyZm.cjs');
3
+ const require_functional = require('./functional-DCfOaKoM.cjs');
4
4
  const require_trace_factory_validation = require('./trace-factory-validation-CHU1WcjK.cjs');
5
5
  let _opentelemetry_api = require("@opentelemetry/api");
6
6
 
@@ -1,5 +1,5 @@
1
- import { b as toAttributeValue, g as nonEmptyString, s as asRecord } from "./values-xBtdXtjA.js";
2
- import { l as withTracing } from "./functional-C4gGiBou.js";
1
+ import { S as toAttributeValue, _ as nonEmptyString, s as asRecord } from "./values-Dm0yEC5p.js";
2
+ import { l as withTracing } from "./functional-7uwlAIJd.js";
3
3
  import { t as assertTraceFactory } from "./trace-factory-validation-BjVAinz6.js";
4
4
  import { SpanKind } from "@opentelemetry/api";
5
5
 
@@ -1,5 +1,5 @@
1
1
  const require_rolldown_runtime = require('./rolldown-runtime-C24Yb2bl.cjs');
2
- const require_values = require('./values-AxGpgYBA.cjs');
2
+ const require_values = require('./values-9A6nOyZm.cjs');
3
3
  let node_crypto = require("node:crypto");
4
4
  node_crypto = require_rolldown_runtime.__toESM(node_crypto, 1);
5
5
 
@@ -1,4 +1,4 @@
1
- import { s as asRecord } from "./values-xBtdXtjA.js";
1
+ import { s as asRecord } from "./values-Dm0yEC5p.js";
2
2
  import * as nodeCrypto from "node:crypto";
3
3
 
4
4
  //#region src/stable-hash.ts