@nodii/telemetry 0.3.1 → 0.5.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 (59) hide show
  1. package/dist/agent-invocable.d.ts +1 -1
  2. package/dist/agent-invocable.d.ts.map +1 -1
  3. package/dist/agent-invocable.js +1 -1
  4. package/dist/agent-invocable.js.map +1 -1
  5. package/dist/audit.d.ts +30 -1
  6. package/dist/audit.d.ts.map +1 -1
  7. package/dist/audit.js +84 -17
  8. package/dist/audit.js.map +1 -1
  9. package/dist/configure.d.ts +27 -8
  10. package/dist/configure.d.ts.map +1 -1
  11. package/dist/configure.js +12 -7
  12. package/dist/configure.js.map +1 -1
  13. package/dist/context.d.ts +1 -1
  14. package/dist/context.d.ts.map +1 -1
  15. package/dist/drizzle/audit-schema.d.ts +82 -11
  16. package/dist/drizzle/audit-schema.d.ts.map +1 -1
  17. package/dist/drizzle/audit-schema.js +62 -4
  18. package/dist/drizzle/audit-schema.js.map +1 -1
  19. package/dist/drizzle/index.d.ts +2 -2
  20. package/dist/drizzle/index.d.ts.map +1 -1
  21. package/dist/drizzle/index.js +1 -1
  22. package/dist/drizzle/index.js.map +1 -1
  23. package/dist/index.d.ts +22 -21
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +16 -15
  26. package/dist/index.js.map +1 -1
  27. package/dist/init.d.ts +1 -1
  28. package/dist/init.d.ts.map +1 -1
  29. package/dist/init.js +56 -16
  30. package/dist/init.js.map +1 -1
  31. package/dist/intent.js +4 -4
  32. package/dist/intent.js.map +1 -1
  33. package/dist/logger.d.ts +1 -1
  34. package/dist/logger.d.ts.map +1 -1
  35. package/dist/logger.js +5 -5
  36. package/dist/logger.js.map +1 -1
  37. package/dist/metrics.d.ts +56 -2
  38. package/dist/metrics.d.ts.map +1 -1
  39. package/dist/metrics.js +86 -6
  40. package/dist/metrics.js.map +1 -1
  41. package/dist/otlp-adapter.d.ts +2 -2
  42. package/dist/otlp-adapter.d.ts.map +1 -1
  43. package/dist/otlp-adapter.js +25 -4
  44. package/dist/otlp-adapter.js.map +1 -1
  45. package/dist/outbox-emit.js +2 -2
  46. package/dist/outbox-emit.js.map +1 -1
  47. package/dist/traceparent.d.ts +60 -0
  48. package/dist/traceparent.d.ts.map +1 -0
  49. package/dist/traceparent.js +88 -0
  50. package/dist/traceparent.js.map +1 -0
  51. package/dist/tracer.d.ts +20 -4
  52. package/dist/tracer.d.ts.map +1 -1
  53. package/dist/tracer.js +38 -9
  54. package/dist/tracer.js.map +1 -1
  55. package/dist/types.d.ts +47 -3
  56. package/dist/types.d.ts.map +1 -1
  57. package/dist/types.js +66 -0
  58. package/dist/types.js.map +1 -1
  59. package/package.json +9 -3
package/dist/metrics.js CHANGED
@@ -17,9 +17,9 @@
17
17
  // for the OTel adapter to consume in TS-12. Max 160 buckets (D19).
18
18
  // - Delta temporality (D21) is declared on the wrapper; the OTel
19
19
  // adapter sets the OTLP export accordingly.
20
- import { requireTelemetry } from "./init";
21
- import { incSdkCounter } from "./sdk-counters";
22
- import { METRIC_FAMILIES, } from "./types";
20
+ import { requireTelemetry } from "./init.js";
21
+ import { incSdkCounter } from "./sdk-counters.js";
22
+ import { METRIC_FAMILIES, } from "./types.js";
23
23
  /** Thrown by `metrics.counter/histogram` when registration is rejected. */
24
24
  export class MetricVocabularyError extends Error {
25
25
  metric;
@@ -54,7 +54,7 @@ function validateLabelKeys(metric, family, labelKeys) {
54
54
  }
55
55
  }
56
56
  }
57
- function validateRegistration(metric, family) {
57
+ function validateRegistration(metric, family, kind) {
58
58
  if (!METRIC_FAMILIES.includes(family)) {
59
59
  const reason = "family_unknown";
60
60
  incSdkCounter("telemetry.sdk.cardinality_rejected_total", {
@@ -81,6 +81,19 @@ function validateRegistration(metric, family) {
81
81
  });
82
82
  throw new MetricVocabularyError(metric, `family mismatch — registry says '${entry.family}', caller said '${family}'`);
83
83
  }
84
+ // D197: when both the registry entry and the caller declare a kind,
85
+ // they MUST agree. Registering a gauge name as a counter (or vice
86
+ // versa) is rejected — gauges are snapshot, counters cumulative,
87
+ // histograms distributional; conflating them silently corrupts the
88
+ // exported series.
89
+ if (kind !== undefined && entry.kind !== undefined && entry.kind !== kind) {
90
+ const reason = "kind_mismatch";
91
+ incSdkCounter("telemetry.sdk.cardinality_rejected_total", {
92
+ family,
93
+ reason,
94
+ });
95
+ throw new MetricVocabularyError(metric, `kind mismatch — registry says '${entry.kind}', caller said '${kind}'`);
96
+ }
84
97
  return entry;
85
98
  }
86
99
  const inProcessBackend = {
@@ -90,6 +103,9 @@ const inProcessBackend = {
90
103
  recordHistogram(_name, _value, _labels) {
91
104
  /* no-op; TS-12 replaces */
92
105
  },
106
+ recordGauge(_name, _value, _labels) {
107
+ /* no-op; TS-12 replaces */
108
+ },
93
109
  };
94
110
  let backend = inProcessBackend;
95
111
  export function _setMetricsBackend(b) {
@@ -99,7 +115,7 @@ export function _resetMetricsBackendForTests() {
99
115
  backend = inProcessBackend;
100
116
  }
101
117
  function counter(name, reg) {
102
- const entry = validateRegistration(name, reg.family);
118
+ const entry = validateRegistration(name, reg.family, "counter");
103
119
  validateLabelKeys(name, reg.family, reg.labelKeys ?? []);
104
120
  const description = reg.description || entry.description;
105
121
  return {
@@ -122,7 +138,7 @@ function counter(name, reg) {
122
138
  };
123
139
  }
124
140
  function histogram(name, reg) {
125
- const entry = validateRegistration(name, reg.family);
141
+ const entry = validateRegistration(name, reg.family, "histogram");
126
142
  validateLabelKeys(name, reg.family, reg.labelKeys ?? []);
127
143
  const description = reg.description || entry.description;
128
144
  const maxBuckets = reg.maxBuckets ?? 160;
@@ -139,14 +155,78 @@ function histogram(name, reg) {
139
155
  },
140
156
  };
141
157
  }
158
+ /**
159
+ * D197 gauge factory — snapshot instrument. Registration is validated
160
+ * the same way as counter/histogram (vocabulary + family + kind); a
161
+ * name registered as a gauge in the vocabulary registers cleanly here,
162
+ * while a counter/histogram name rejects with `kind_mismatch`.
163
+ */
164
+ function gauge(name, reg) {
165
+ const entry = validateRegistration(name, reg.family, "gauge");
166
+ validateLabelKeys(name, reg.family, reg.labelKeys ?? []);
167
+ const description = reg.description || entry.description;
168
+ return {
169
+ name,
170
+ family: reg.family,
171
+ description,
172
+ set(value, labels = {}) {
173
+ // Optional on the backend (back-compat) — no-op if unimplemented.
174
+ backend.recordGauge?.(name, value, labels);
175
+ },
176
+ };
177
+ }
178
+ function recordMetric(args) {
179
+ // Resolve the family from the registry when the caller omits it so
180
+ // `recordMetric` matches the request spec's terse call shape.
181
+ const cfg = requireTelemetry();
182
+ const registered = cfg.vocabularyRegistry[args.name];
183
+ const family = args.family ?? registered?.family;
184
+ if (!family) {
185
+ incSdkCounter("telemetry.sdk.cardinality_rejected_total", {
186
+ family: "unknown",
187
+ reason: "not_in_vocabulary",
188
+ });
189
+ throw new MetricVocabularyError(args.name, "not_in_vocabulary");
190
+ }
191
+ const reg = {
192
+ family,
193
+ description: registered?.description ?? "",
194
+ labelKeys: Object.keys(args.attributes ?? {}),
195
+ };
196
+ switch (args.kind) {
197
+ case "counter":
198
+ counter(args.name, reg).inc(args.value, args.attributes);
199
+ return;
200
+ case "histogram":
201
+ histogram(args.name, reg).record(args.value, args.attributes);
202
+ return;
203
+ case "gauge":
204
+ gauge(args.name, reg).set(args.value, args.attributes);
205
+ return;
206
+ default: {
207
+ const _exhaustive = args.kind;
208
+ void _exhaustive;
209
+ throw new MetricVocabularyError(args.name, "kind_unknown");
210
+ }
211
+ }
212
+ }
142
213
  /**
143
214
  * The `metrics.*` namespace (D149 verbatim name). Use:
144
215
  *
145
216
  * const c = metrics.counter('billing_payments_total', { family: 'async_worker', description: '...' });
146
217
  * c.inc({ tenant_id, pgw, status });
218
+ *
219
+ * const g = metrics.gauge('replica.consumer.lag_seconds', { family: 'replica_consumer', description: '' });
220
+ * g.set(12.5, { subscribing_service, source_stream, aggregate_kind });
221
+ *
222
+ * // Or the one-shot form (D197):
223
+ * recordMetric({ kind: 'gauge', name: 'replica.consumer.lag_seconds', value: 12.5, attributes: {...} });
147
224
  */
148
225
  export const metrics = {
149
226
  counter,
150
227
  histogram,
228
+ gauge,
229
+ recordMetric,
151
230
  };
231
+ export { recordMetric };
152
232
  //# sourceMappingURL=metrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { LoggerProvider } from "@opentelemetry/sdk-logs";
2
2
  import { MeterProvider } from "@opentelemetry/sdk-metrics";
3
3
  import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
4
- import { type CounterHandle, type HistogramHandle } from "./metrics";
5
- import type { ErrorHandlingConfig, ResourceAttributes } from "./types";
4
+ import { type CounterHandle, type HistogramHandle } from "./metrics.js";
5
+ import type { ErrorHandlingConfig, ResourceAttributes } from "./types.js";
6
6
  /** Config for the OTLP adapter — the subset of init config it needs. */
7
7
  export interface OtlpAdapterConfig {
8
8
  serviceName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"otlp-adapter.d.ts","sourceRoot":"","sources":["../src/otlp-adapter.ts"],"names":[],"mappings":"AAkCA,OAAO,EAEL,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,aAAa,EAEd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAQvC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EAGrB,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EACV,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC/D;AAED,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,2DAA2D;IAC3D,cAAc,EAAE,kBAAkB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;CAC9B;AAID;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,CA2M5E;AAED,yEAAyE;AACzE,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAGhD;AAED,+DAA+D;AAC/D,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGzD;AAED,iCAAiC;AACjC,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAE/D;AAED,oDAAoD;AACpD,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAkHD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"otlp-adapter.d.ts","sourceRoot":"","sources":["../src/otlp-adapter.ts"],"names":[],"mappings":"AAkCA,OAAO,EAEL,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,aAAa,EAEd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAQvC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EAGrB,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EACV,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC/D;AAED,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,2DAA2D;IAC3D,cAAc,EAAE,kBAAkB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;CAC9B;AAID;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,CA+N5E;AAED,yEAAyE;AACzE,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAGhD;AAED,+DAA+D;AAC/D,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAGzD;AAED,iCAAiC;AACjC,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAE/D;AAED,oDAAoD;AACpD,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAkHD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC"}
@@ -24,10 +24,10 @@ import { BatchLogRecordProcessor, LoggerProvider, } from "@opentelemetry/sdk-log
24
24
  import { AggregationTemporality, MeterProvider, PeriodicExportingMetricReader, } from "@opentelemetry/sdk-metrics";
25
25
  import { BatchSpanProcessor, NodeTracerProvider, } from "@opentelemetry/sdk-trace-node";
26
26
  import { ATTR_DEPLOYMENT_ENVIRONMENT_NAME, ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION, } from "@opentelemetry/semantic-conventions";
27
- import { _setLogSink } from "./logger";
28
- import { _setMetricsBackend, } from "./metrics";
29
- import { incSdkCounter } from "./sdk-counters";
30
- import { _setSpanEmitter } from "./tracer";
27
+ import { _setLogSink } from "./logger.js";
28
+ import { _setMetricsBackend, } from "./metrics.js";
29
+ import { incSdkCounter } from "./sdk-counters.js";
30
+ import { _setSpanEmitter, } from "./tracer.js";
31
31
  let activeHandle = null;
32
32
  /**
33
33
  * Installs the real OTLP exporters by replacing the no-op emitter,
@@ -169,6 +169,11 @@ export function installOtlpAdapter(cfg) {
169
169
  const meter = meterProvider.getMeter(cfg.serviceName);
170
170
  const counterCache = new Map();
171
171
  const histogramCache = new Map();
172
+ // D197: synchronous gauge cache. `meter.createGauge` (OTel API ≥1.9)
173
+ // returns a Gauge whose `.record(value)` carries snapshot semantics —
174
+ // the last value set per export cycle is exported (NOT summed, NOT
175
+ // bucketed). Gauges are explicitly NOT mapped onto histograms.
176
+ const gaugeCache = new Map();
172
177
  const otelBackend = {
173
178
  recordCounter(name, by, labels) {
174
179
  try {
@@ -202,6 +207,22 @@ export function installOtlpAdapter(cfg) {
202
207
  });
203
208
  }
204
209
  },
210
+ recordGauge(name, value, labels) {
211
+ try {
212
+ let g = gaugeCache.get(name);
213
+ if (!g) {
214
+ g = meter.createGauge(name);
215
+ gaugeCache.set(name, g);
216
+ }
217
+ g.record(value, toAttributes(labels));
218
+ }
219
+ catch (err) {
220
+ incSdkCounter("telemetry.sdk.export_failures_total", {
221
+ signal: "metrics",
222
+ reason: classifyExportError(err),
223
+ });
224
+ }
225
+ },
205
226
  };
206
227
  _setMetricsBackend(otelBackend);
207
228
  activeHandle = {
@@ -1 +1 @@
1
- {"version":3,"file":"otlp-adapter.js","sourceRoot":"","sources":["../src/otlp-adapter.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,iEAAiE;AACjE,sEAAsE;AACtE,8DAA8D;AAC9D,oDAAoD;AACpD,EAAE;AACF,cAAc;AACd,kEAAkE;AAClE,iEAAiE;AACjE,yEAAyE;AACzE,EAAE;AACF,sEAAsE;AACtE,qEAAqE;AACrE,mEAAmE;AACnE,4DAA4D;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAEL,QAAQ,IAAI,YAAY,EACxB,cAAc,EACd,UAAU,EACV,OAAO,IAAI,WAAW,EACtB,KAAK,IAAI,SAAS,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,cAAc,EACd,IAAI,IAAI,QAAQ,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,gCAAgC,EAChC,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAgB,MAAM,UAAU,CAAC;AACrD,OAAO,EAIL,kBAAkB,GACnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAqC,MAAM,UAAU,CAAC;AA8B9E,IAAI,YAAY,GAA6B,IAAI,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,mEAAmE;IACnE,oEAAoE;IACpE,+DAA+D;IAC/D,sDAAsD;IACtD,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;QAC5B,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,WAAW;QACpC,CAAC,gCAAgC,CAAC,EAAE,GAAG,CAAC,GAAG;QAC3C,GAAG,CAAC,GAAG,CAAC,cAAc;YACpB,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,cAAc,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,GAAG,CAAC,kBAAkB;KAC1B,CAAC,CAAC;IAEH,4DAA4D;IAC5D,MAAM,aAAa,GAAG,IAAI,iBAAiB,CAAC;QAC1C,GAAG,EAAE,OAAO;QACZ,WAAW,EAAE,WAAW,CAAC,cAAc,EAAE;KAC1C,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,aAAa,EAAE;QAC/D,YAAY,EAAE,GAAG,CAAC,aAAa,CAAC,oBAAoB;QACpD,kBAAkB,EAAE,GAAG;QACvB,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,EAAE,KAAK;KAC3B,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,IAAI,kBAAkB,CAAC;QAC5C,QAAQ;QACR,cAAc,EAAE,CAAC,kBAAkB,CAAC;KACrC,CAAC,CAAC;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC;IAE1B,2DAA2D;IAC3D,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;QACtC,GAAG,EAAE,OAAO;QACZ,WAAW,EAAE,WAAW,CAAC,cAAc,EAAE;KAC1C,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,IAAI,uBAAuB,CAAC,WAAW,EAAE;QAClE,YAAY,EAAE,GAAG,CAAC,aAAa,CAAC,oBAAoB;QACpD,kBAAkB,EAAE,GAAG;QACvB,oBAAoB,EAAE,IAAI;QAC1B,mBAAmB,EAAE,KAAK;KAC3B,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxD,cAAc,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACzD,QAAQ,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;IAEjD,yEAAyE;IACzE,MAAM,cAAc,GAAG,IAAI,kBAAkB,CAAC;QAC5C,GAAG,EAAE,OAAO;QACZ,WAAW,EAAE,WAAW,CAAC,cAAc,EAAE;QACzC,qBAAqB,EAAE,sBAAsB,CAAC,KAAK;KACpD,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,6BAA6B,CAAC;QACrD,QAAQ,EAAE,cAAc;QACxB,oBAAoB,EAAE,KAAK;QAC3B,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;QACtC,QAAQ;QACR,OAAO,EAAE,CAAC,YAAY,CAAC;KACxB,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAgB;QAC/B,IAAI,CAAC,MAAkB;YACrB,4DAA4D;YAC5D,6DAA6D;YAC7D,gEAAgE;YAChE,4DAA4D;YAC5D,iBAAiB;YACjB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE;oBAC7C,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACxC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;oBAC3C,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC9B,CAAC,CAAC;gBACH,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC,QAAQ,CACX,EAAE,CAAC,IAAI,EACP,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EACvD,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CACvB,CAAC;gBACJ,CAAC;gBACD,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,cAAc,CAAC,KAAK;wBAC1B,OAAO,EAAE,MAAM,CAAC,cAAc;qBAC/B,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;oBAClC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,aAAa,CAAC,qCAAqC,EAAE;oBACnD,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC;IACF,eAAe,CAAC,WAAW,CAAC,CAAC;IAE7B,kCAAkC;IAClC,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;YACnC,MAAM,MAAM,GAAc;gBACxB,cAAc,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjD,YAAY,EAAE,QAAQ,CAAC,KAAK;gBAC5B,IAAI,EAAE,QAAQ,CAAC,GAAG;gBAClB,UAAU,EAAE,YAAY,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC9D,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,GAAG,CAAC,QAAQ;oBACV,CAAC,CAAC;wBACE,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;wBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;qBAChC;oBACH,CAAC,CAAC,EAAE,CAAC;aACK,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,qCAAqC,EAAE;gBACnD,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IACF,WAAW,CAAC,OAAO,CAAC,CAAC;IAErB,wCAAwC;IACxC,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,GAAG,EAGzB,CAAC;IACJ,MAAM,cAAc,GAAG,IAAI,GAAG,EAG3B,CAAC;IACJ,MAAM,WAAW,GAAmB;QAClC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM;YAC5B,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,CAAC,EAAE,CAAC;oBACP,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC9B,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC5B,CAAC;gBACD,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,MAAiC,CAAC,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,aAAa,CAAC,qCAAqC,EAAE;oBACnD,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM;YACjC,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACP,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAChC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9B,CAAC;gBACD,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,MAAiC,CAAC,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,aAAa,CAAC,qCAAqC,EAAE;oBACnD,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC;IACF,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAEhC,YAAY,GAAG;QACb,cAAc;QACd,cAAc;QACd,aAAa;QACb,KAAK,CAAC,UAAU;YACd,MAAM,OAAO,CAAC,UAAU,CAAC;gBACvB,cAAc,CAAC,UAAU,EAAE;gBAC3B,cAAc,CAAC,UAAU,EAAE;gBAC3B,aAAa,CAAC,UAAU,EAAE;aAC3B,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,OAAO,CAAC,UAAU,CAAC;gBACvB,cAAc,CAAC,QAAQ,EAAE;gBACzB,cAAc,CAAC,QAAQ,EAAE;gBACzB,aAAa,CAAC,QAAQ,EAAE;aACzB,CAAC,CAAC;YACH,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;KACF,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC,YAAY;QAAE,OAAO;IAC1B,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;AAClC,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC,YAAY;QAAE,OAAO;IAC1B,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,oBAAoB;IAClC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,yBAAyB;IACvC,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC;AAED,sEAAsE;AAEtE,SAAS,YAAY,CAAC,EAAmB;IACvC,MAAM,CAAC,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,WAAc,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,WAAc,CAAC,CAAC;IACzC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,KAA8B;IAClD,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC5C,IACE,OAAO,CAAC,KAAK,QAAQ;YACrB,OAAO,CAAC,KAAK,QAAQ;YACrB,OAAO,CAAC,KAAK,SAAS,EACtB,CAAC;YACD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,IAAwB;IAC1C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,MAAM,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC,MAAM,CAAC;QAC7B,KAAK,UAAU;YACb,OAAO,YAAY,CAAC,QAAQ,CAAC;QAC/B,KAAK,UAAU;YACb,OAAO,YAAY,CAAC,QAAQ,CAAC;QAC/B;YACE,OAAO,YAAY,CAAC,QAAQ,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA2B;IACpD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO,cAAc,CAAC,KAAK,CAAC;QAC9B,KAAK,MAAM;YACT,OAAO,cAAc,CAAC,IAAI,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,cAAc,CAAC,IAAI,CAAC;QAC7B,KAAK,OAAO;YACV,OAAO,cAAc,CAAC,KAAK,CAAC;QAC9B;YACE,OAAO,cAAc,CAAC,WAAW,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAqB,EACrB,MAA+B;IAE/B,MAAM,KAAK,GAA4B;QACrC,cAAc,EAAE,QAAQ,CAAC,OAAO;QAChC,6BAA6B,EAAE,QAAQ,CAAC,GAAG;QAC3C,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,MAAM;KACV,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe;IAKtB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC7B,OAAO;QACL,OAAO,EAAE,EAAE,CAAC,OAAO;QACnB,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACvC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC;IAC5C,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC;IAC3C,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACpD,OAAO,UAAU,OAAO,EAAE,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"otlp-adapter.js","sourceRoot":"","sources":["../src/otlp-adapter.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,8 @@
11
11
  // the `@nodii/telemetry/outbox` subpath adapter); the default is a
12
12
  // no-op that allows `intent.begin/complete/abandon` to call through
13
13
  // without crashing when the consumer hasn't wired the outbox yet.
14
- import { getContext } from "./context";
15
- import { getActiveSpan } from "./active-span";
14
+ import { getContext } from "./context.js";
15
+ import { getActiveSpan } from "./active-span.js";
16
16
  const noopWriter = () => {
17
17
  /* no-op default; consumers wire a real writer */
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"outbox-emit.js","sourceRoot":"","sources":["../src/outbox-emit.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,EAAE;AACF,oEAAoE;AACpE,mEAAmE;AACnE,oEAAoE;AACpE,EAAE;AACF,uEAAuE;AACvE,kEAAkE;AAClE,sEAAsE;AACtE,wEAAwE;AACxE,mEAAmE;AACnE,oEAAoE;AACpE,kEAAkE;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AA0B9C,MAAM,UAAU,GAAiB,GAAG,EAAE;IACpC,iDAAiD;AACnD,CAAC,CAAC;AAEF,IAAI,MAAM,GAAiB,UAAU,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAe;IAC9C,MAAM,GAAG,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,MAAM,GAAG,UAAU,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAkB;IACjD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GACf,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,MAAM,OAAO,GAAkB;QAC7B,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI;QACjC,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI;QACnC,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI;QACjC,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE;YAChB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,IAAI;YAC7B,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI;YACnC,YAAY,EAAE,GAAG,EAAE,YAAY,IAAI,IAAI;YACvC,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI;SACxB;KACF,CAAC;IACF,MAAM,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"outbox-emit.js","sourceRoot":"","sources":["../src/outbox-emit.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,EAAE;AACF,oEAAoE;AACpE,mEAAmE;AACnE,oEAAoE;AACpE,EAAE;AACF,uEAAuE;AACvE,kEAAkE;AAClE,sEAAsE;AACtE,wEAAwE;AACxE,mEAAmE;AACnE,oEAAoE;AACpE,kEAAkE;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA0BjD,MAAM,UAAU,GAAiB,GAAG,EAAE;IACpC,iDAAiD;AACnD,CAAC,CAAC;AAEF,IAAI,MAAM,GAAiB,UAAU,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAe;IAC9C,MAAM,GAAG,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,MAAM,GAAG,UAAU,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAkB;IACjD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GACf,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,MAAM,OAAO,GAAkB;QAC7B,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI;QACjC,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI;QACnC,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI;QACjC,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE;YAChB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,IAAI;YAC7B,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI;YACnC,YAAY,EAAE,GAAG,EAAE,YAAY,IAAI,IAAI;YACvC,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI;SACxB;KACF,CAAC;IACF,MAAM,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * An extracted span context. Mirrors the subset of `@opentelemetry/api`'s
3
+ * `SpanContext` the bridge needs. `traceId` is 32 lowercase hex chars,
4
+ * `spanId` is 16 lowercase hex chars (OTel-native form per D12).
5
+ */
6
+ export interface ExtractedSpanContext {
7
+ traceId: string;
8
+ spanId: string;
9
+ /** W3C trace-flags byte (e.g. 0x01 = sampled). Optional. */
10
+ traceFlags?: number;
11
+ /** W3C tracestate header value. Optional. */
12
+ traceState?: string;
13
+ }
14
+ /**
15
+ * The accepted `parent` shapes for `tracer.span(..., { parent })`:
16
+ *
17
+ * 1. `string` — a raw W3C `traceparent` header value; the lib calls
18
+ * the internal extractor (`parseTraceparent`) + uses the result.
19
+ * 2. `ExtractedSpanContext` — an already-extracted span context (e.g.
20
+ * from `propagation.extract` upstream); used as-is.
21
+ *
22
+ * When `parent` is `undefined`, the span is a root span (unchanged
23
+ * pre-f08a4471 behavior).
24
+ */
25
+ export type SpanParent = string | ExtractedSpanContext;
26
+ /**
27
+ * Parse a W3C `traceparent` header value into an `ExtractedSpanContext`.
28
+ *
29
+ * Grammar (W3C Trace Context level 1):
30
+ * `version "-" trace-id "-" parent-id "-" trace-flags`
31
+ * version = 2 hex (we only support "00"; future versions still parse
32
+ * their first 4 fields per the spec's forward-compat rule)
33
+ * trace-id = 32 hex, not all-zero
34
+ * parent-id (a.k.a. span-id) = 16 hex, not all-zero
35
+ * trace-flags = 2 hex
36
+ *
37
+ * Returns `null` for any malformed input (the caller starts a root span
38
+ * and records the malformed value as a forensic attribute — NO throw,
39
+ * per the spec's "malformed traceparent → root, no exception" rule).
40
+ *
41
+ * @param header — the raw header value, or the value + an optional
42
+ * `tracestate` to carry through.
43
+ */
44
+ export declare function parseTraceparent(header: string, traceState?: string): ExtractedSpanContext | null;
45
+ /**
46
+ * Resolve any `SpanParent` shape to an `ExtractedSpanContext`, or `null`
47
+ * when the input is a malformed traceparent string. An object form is
48
+ * validated the same way a string-parsed context is — a bad traceId /
49
+ * spanId in the object yields `null` (→ root span + forensic attr),
50
+ * matching the string path.
51
+ */
52
+ export declare function resolveSpanParent(parent: SpanParent): ExtractedSpanContext | null;
53
+ /**
54
+ * Render the inbound `parent` value as a stable forensic string for the
55
+ * `telemetry.inbound_traceparent_malformed` attribute. Strings pass
56
+ * through (truncated by the tracer's 4 KB cap downstream); objects are
57
+ * compactly stringified.
58
+ */
59
+ export declare function forensicParentValue(parent: SpanParent): string;
60
+ //# sourceMappingURL=traceparent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traceparent.d.ts","sourceRoot":"","sources":["../src/traceparent.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,oBAAoB,CAAC;AAOvD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GAClB,oBAAoB,GAAG,IAAI,CAsB7B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,GACjB,oBAAoB,GAAG,IAAI,CAW7B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAE9D"}
@@ -0,0 +1,88 @@
1
+ // W3C `traceparent` parsing + the parent-from-traceparent bridge input
2
+ // shapes per request f08a4471 (resolves drift 600708aa; cites D12 —
3
+ // trace_id is OTel-native — + the E4 propagation bundle).
4
+ //
5
+ // The bridge lets `tracer.span(name, fn, { parent })` inherit an inbound
6
+ // request's trace context as the span's parent, so an ingress span flows
7
+ // through the lib's mandatory-attribute SpanProcessor + OTLP exporter
8
+ // while still inheriting the upstream `trace_id`. Bypassing to raw
9
+ // `@opentelemetry/api startSpan` would skip the mandatory-attr processor
10
+ // (R1-worse than the interim) — hence the bridge.
11
+ const TRACE_ID_RE = /^[0-9a-f]{32}$/;
12
+ const SPAN_ID_RE = /^[0-9a-f]{16}$/;
13
+ const ALL_ZERO_TRACE = "00000000000000000000000000000000";
14
+ const ALL_ZERO_SPAN = "0000000000000000";
15
+ /**
16
+ * Parse a W3C `traceparent` header value into an `ExtractedSpanContext`.
17
+ *
18
+ * Grammar (W3C Trace Context level 1):
19
+ * `version "-" trace-id "-" parent-id "-" trace-flags`
20
+ * version = 2 hex (we only support "00"; future versions still parse
21
+ * their first 4 fields per the spec's forward-compat rule)
22
+ * trace-id = 32 hex, not all-zero
23
+ * parent-id (a.k.a. span-id) = 16 hex, not all-zero
24
+ * trace-flags = 2 hex
25
+ *
26
+ * Returns `null` for any malformed input (the caller starts a root span
27
+ * and records the malformed value as a forensic attribute — NO throw,
28
+ * per the spec's "malformed traceparent → root, no exception" rule).
29
+ *
30
+ * @param header — the raw header value, or the value + an optional
31
+ * `tracestate` to carry through.
32
+ */
33
+ export function parseTraceparent(header, traceState) {
34
+ if (typeof header !== "string")
35
+ return null;
36
+ const parts = header.trim().split("-");
37
+ // Per W3C forward-compat: future versions MAY append fields, so accept
38
+ // ≥4 segments but reject fewer. version "ff" is invalid.
39
+ if (parts.length < 4)
40
+ return null;
41
+ const [version, traceId, spanId, flags] = parts;
42
+ if (!/^[0-9a-f]{2}$/.test(version) || version === "ff")
43
+ return null;
44
+ if (!TRACE_ID_RE.test(traceId) || traceId === ALL_ZERO_TRACE)
45
+ return null;
46
+ if (!SPAN_ID_RE.test(spanId) || spanId === ALL_ZERO_SPAN)
47
+ return null;
48
+ if (!/^[0-9a-f]{2}$/.test(flags))
49
+ return null;
50
+ return {
51
+ traceId,
52
+ spanId,
53
+ traceFlags: Number.parseInt(flags, 16),
54
+ traceState,
55
+ };
56
+ }
57
+ /**
58
+ * Resolve any `SpanParent` shape to an `ExtractedSpanContext`, or `null`
59
+ * when the input is a malformed traceparent string. An object form is
60
+ * validated the same way a string-parsed context is — a bad traceId /
61
+ * spanId in the object yields `null` (→ root span + forensic attr),
62
+ * matching the string path.
63
+ */
64
+ export function resolveSpanParent(parent) {
65
+ if (typeof parent === "string")
66
+ return parseTraceparent(parent);
67
+ const { traceId, spanId } = parent;
68
+ if (!TRACE_ID_RE.test(traceId) || traceId === ALL_ZERO_TRACE)
69
+ return null;
70
+ if (!SPAN_ID_RE.test(spanId) || spanId === ALL_ZERO_SPAN)
71
+ return null;
72
+ return {
73
+ traceId,
74
+ spanId,
75
+ traceFlags: parent.traceFlags,
76
+ traceState: parent.traceState,
77
+ };
78
+ }
79
+ /**
80
+ * Render the inbound `parent` value as a stable forensic string for the
81
+ * `telemetry.inbound_traceparent_malformed` attribute. Strings pass
82
+ * through (truncated by the tracer's 4 KB cap downstream); objects are
83
+ * compactly stringified.
84
+ */
85
+ export function forensicParentValue(parent) {
86
+ return typeof parent === "string" ? parent : JSON.stringify(parent);
87
+ }
88
+ //# sourceMappingURL=traceparent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traceparent.js","sourceRoot":"","sources":["../src/traceparent.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,oEAAoE;AACpE,0DAA0D;AAC1D,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,sEAAsE;AACtE,mEAAmE;AACnE,yEAAyE;AACzE,kDAAkD;AA6BlD,MAAM,WAAW,GAAG,gBAAgB,CAAC;AACrC,MAAM,UAAU,GAAG,gBAAgB,CAAC;AACpC,MAAM,cAAc,GAAG,kCAAkC,CAAC;AAC1D,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,UAAmB;IAEnB,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,uEAAuE;IACvE,yDAAyD;IACzD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,KAKzC,CAAC;IACF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IAC1E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO;QACL,OAAO;QACP,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QACtC,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAkB;IAElB,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IAC1E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO;QACL,OAAO;QACP,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAkB;IACpD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC"}
package/dist/tracer.d.ts CHANGED
@@ -1,3 +1,22 @@
1
+ import { type ExtractedSpanContext, type SpanParent } from "./traceparent.js";
2
+ export type { ExtractedSpanContext, SpanParent };
3
+ /** Options accepted by `tracer.span`. */
4
+ export interface SpanOptions {
5
+ kind?: SpanKind;
6
+ attributes?: Record<string, unknown>;
7
+ /**
8
+ * f08a4471 — OPTIONAL inbound parent. Accepts a W3C `traceparent`
9
+ * string, an extracted `SpanContext`, or `{ traceId, spanId,
10
+ * traceFlags?, traceState? }`. When set, the span inherits the
11
+ * parent's `trace_id` (NOT a fresh one) + sets `parent_span_id` to the
12
+ * inbound span-id; the new span's own `span_id` is still lib-generated.
13
+ * Malformed traceparent → the span starts as a ROOT span (no throw)
14
+ * and the raw value is recorded under
15
+ * `telemetry.inbound_traceparent_malformed` as a forensic attribute.
16
+ * Undefined → root span (pre-f08a4471 behavior, unchanged).
17
+ */
18
+ parent?: SpanParent;
19
+ }
1
20
  export type SpanKind = "INTERNAL" | "SERVER" | "CLIENT" | "PRODUCER" | "CONSUMER";
2
21
  export type SpanStatus = "UNSET" | "OK" | "ERROR";
3
22
  export interface SpanRecord {
@@ -39,10 +58,7 @@ export declare function _resetSpanEmitterForTests(): void;
39
58
  * span. Mandatory attributes stamped on start; D27 status mapping
40
59
  * applied automatically.
41
60
  */
42
- declare function span<T>(name: string, fn: (span: Span) => Promise<T> | T, opts?: {
43
- kind?: SpanKind;
44
- attributes?: Record<string, unknown>;
45
- }): Promise<T>;
61
+ declare function span<T>(name: string, fn: (span: Span) => Promise<T> | T, opts?: SpanOptions): Promise<T>;
46
62
  declare function withSpanAttributes<T>(attrs: Record<string, unknown>, fn: () => Promise<T> | T): Promise<T> | T;
47
63
  /**
48
64
  * `getSagaTracer()` — tactical hold per D149. Returns a tracer whose
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"AAuBA,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC;AAElD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,qEAAqE;AACrE,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAChD,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACnE,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvD;AAED,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CAChC;AASD,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAEpD;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAgCD;;;;GAIG;AACH,iBAAe,IAAI,CAAC,CAAC,EACnB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAClC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC/D,OAAO,CAAC,CAAC,CAAC,CA+FZ;AAsBD,iBAAS,kBAAkB,CAAC,CAAC,EAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GACvB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAOhB;AAED;;;;GAIG;AACH,iBAAS,aAAa;SAEb,CAAC,QACE,MAAM,MACR,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,SAC3B;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAC9C,OAAO,CAAC,CAAC,CAAC;EAOhB;AAED,4CAA4C;AAC5C,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD;AAED,eAAO,MAAM,MAAM;;CAET,CAAC;AAEX,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"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"}
package/dist/tracer.js CHANGED
@@ -14,11 +14,12 @@
14
14
  // attached, the span ends with status ERROR; otherwise UNSET.
15
15
  // - `getSagaTracer()` ships as a tactical hold per D149; sunsets at
16
16
  // v0.2.0.
17
- import { getContext } from "./context";
18
- import { _setActiveSpanGetter } from "./active-span";
19
- import { attemptRedactFields } from "./redaction";
20
- import { incSdkCounter } from "./sdk-counters";
21
- import { uuidv7 } from "./uuid";
17
+ import { getContext } from "./context.js";
18
+ import { _setActiveSpanGetter } from "./active-span.js";
19
+ import { attemptRedactFields } from "./redaction.js";
20
+ import { incSdkCounter } from "./sdk-counters.js";
21
+ import { forensicParentValue, resolveSpanParent, } from "./traceparent.js";
22
+ import { uuidv7 } from "./uuid.js";
22
23
  const noopEmitter = {
23
24
  emit() {
24
25
  /* no-op; TS-12 replaces */
@@ -65,16 +66,37 @@ _setActiveSpanGetter(() => {
65
66
  */
66
67
  async function span(name, fn, opts) {
67
68
  const ctx = getContext();
68
- const parent = activeStack[activeStack.length - 1];
69
- const traceId = parent ? parent.trace_id : newTraceId();
69
+ const stackParent = activeStack[activeStack.length - 1];
70
+ // f08a4471 resolve the optional inbound parent first. A valid
71
+ // traceparent wins over the in-process stack parent so an ingress span
72
+ // inherits the upstream trace_id. A malformed traceparent falls back to
73
+ // root (or the stack parent, if any) + records a forensic attribute.
74
+ let inbound = null;
75
+ let inboundMalformed = false;
76
+ if (opts?.parent !== undefined) {
77
+ inbound = resolveSpanParent(opts.parent);
78
+ inboundMalformed = inbound === null;
79
+ }
80
+ // Trace-id precedence: inbound parent → in-process stack parent → new.
81
+ const traceId = inbound
82
+ ? inbound.traceId
83
+ : stackParent
84
+ ? stackParent.trace_id
85
+ : newTraceId();
86
+ // Parent-span-id precedence: inbound parent → in-process stack parent → null.
87
+ const parentSpanId = inbound
88
+ ? inbound.spanId
89
+ : (stackParent?.span_id ?? null);
70
90
  const spanId = newSpanId();
71
91
  const startNs = process.hrtime.bigint();
72
92
  // D26 mandatory attributes envelope. tenant_id and request_id come
73
- // from NodiiContext when present.
93
+ // from NodiiContext when present. The envelope is built UNCONDITIONALLY
94
+ // — bridged (parent-linked) spans still flow through the mandatory-attr
95
+ // SpanProcessor, which is the whole point of the bridge (vs raw OTel).
74
96
  const record = {
75
97
  trace_id: traceId,
76
98
  span_id: spanId,
77
- parent_span_id: parent?.span_id ?? null,
99
+ parent_span_id: parentSpanId,
78
100
  name,
79
101
  kind: opts?.kind ?? "INTERNAL",
80
102
  start_ns: startNs,
@@ -87,6 +109,13 @@ async function span(name, fn, opts) {
87
109
  intent_id: ctx.intent_id,
88
110
  }
89
111
  : {}),
112
+ // Forensic marker for a malformed inbound traceparent (preserves
113
+ // the edge interim behavior: record, don't throw, start as root).
114
+ ...(inboundMalformed && opts?.parent !== undefined
115
+ ? {
116
+ "telemetry.inbound_traceparent_malformed": capValue(forensicParentValue(opts.parent)),
117
+ }
118
+ : {}),
90
119
  ...(opts?.attributes ? capAttributes(opts.attributes) : {}),
91
120
  },
92
121
  status: "UNSET",
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"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"}