autotel 2.26.3 → 3.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.
Files changed (144) hide show
  1. package/README.md +29 -19
  2. package/dist/attributes.d.cts +3 -3
  3. package/dist/attributes.d.ts +3 -3
  4. package/dist/business-baggage.d.cts +1 -1
  5. package/dist/business-baggage.d.ts +1 -1
  6. package/dist/{chunk-YN7USLHW.js → chunk-3QMFLJHJ.js} +11 -10
  7. package/dist/chunk-3QMFLJHJ.js.map +1 -0
  8. package/dist/{chunk-BJ2XPN77.js → chunk-4DAG3RFS.js} +4 -4
  9. package/dist/{chunk-BJ2XPN77.js.map → chunk-4DAG3RFS.js.map} +1 -1
  10. package/dist/chunk-4P6ZOARG.cjs +33 -0
  11. package/dist/chunk-4P6ZOARG.cjs.map +1 -0
  12. package/dist/{chunk-U54FTVFH.js → chunk-7HNQYHK4.js} +3 -3
  13. package/dist/{chunk-U54FTVFH.js.map → chunk-7HNQYHK4.js.map} +1 -1
  14. package/dist/chunk-CJ4PD2TZ.cjs +1207 -0
  15. package/dist/chunk-CJ4PD2TZ.cjs.map +1 -0
  16. package/dist/{chunk-HPUGKUMZ.js → chunk-DAAJLUTO.js} +13 -640
  17. package/dist/chunk-DAAJLUTO.js.map +1 -0
  18. package/dist/{chunk-B3ZHLLMP.js → chunk-DSMSIVTG.js} +2 -2
  19. package/dist/chunk-DSMSIVTG.js.map +1 -0
  20. package/dist/{chunk-6YGUN7IY.cjs → chunk-DWOBIBLY.cjs} +18 -17
  21. package/dist/chunk-DWOBIBLY.cjs.map +1 -0
  22. package/dist/{chunk-QC5MNKVF.js → chunk-IUDXKLS4.js} +13 -12
  23. package/dist/chunk-IUDXKLS4.js.map +1 -0
  24. package/dist/{chunk-OBWXM4NN.cjs → chunk-KHGA4OST.cjs} +15 -14
  25. package/dist/chunk-KHGA4OST.cjs.map +1 -0
  26. package/dist/chunk-KIL5CUN6.js +31 -0
  27. package/dist/chunk-KIL5CUN6.js.map +1 -0
  28. package/dist/{chunk-YEVCD6DR.cjs → chunk-L7JDUDJD.cjs} +7 -7
  29. package/dist/{chunk-YEVCD6DR.cjs.map → chunk-L7JDUDJD.cjs.map} +1 -1
  30. package/dist/{chunk-UTZR7P7E.cjs → chunk-MOK3E54E.cjs} +29 -659
  31. package/dist/chunk-MOK3E54E.cjs.map +1 -0
  32. package/dist/{chunk-GML3FBOT.cjs → chunk-NCSMD3TK.cjs} +2 -2
  33. package/dist/chunk-NCSMD3TK.cjs.map +1 -0
  34. package/dist/chunk-QG3U5ONP.js +1183 -0
  35. package/dist/chunk-QG3U5ONP.js.map +1 -0
  36. package/dist/chunk-SEO6NAQT.js +14 -0
  37. package/dist/chunk-SEO6NAQT.js.map +1 -0
  38. package/dist/chunk-VQTCQKHQ.cjs +17 -0
  39. package/dist/chunk-VQTCQKHQ.cjs.map +1 -0
  40. package/dist/{chunk-WZOKY3PW.cjs → chunk-ZSABTI3C.cjs} +8 -8
  41. package/dist/{chunk-WZOKY3PW.cjs.map → chunk-ZSABTI3C.cjs.map} +1 -1
  42. package/dist/correlation-id.cjs +22 -10
  43. package/dist/correlation-id.js +14 -2
  44. package/dist/decorators.cjs +5 -6
  45. package/dist/decorators.cjs.map +1 -1
  46. package/dist/decorators.d.cts +1 -1
  47. package/dist/decorators.d.ts +1 -1
  48. package/dist/decorators.js +4 -5
  49. package/dist/decorators.js.map +1 -1
  50. package/dist/event.cjs +6 -7
  51. package/dist/event.js +3 -4
  52. package/dist/functional.cjs +11 -12
  53. package/dist/functional.d.cts +1 -1
  54. package/dist/functional.d.ts +1 -1
  55. package/dist/functional.js +4 -5
  56. package/dist/http.cjs +13 -2
  57. package/dist/http.cjs.map +1 -1
  58. package/dist/http.js +12 -1
  59. package/dist/http.js.map +1 -1
  60. package/dist/index.cjs +134 -243
  61. package/dist/index.cjs.map +1 -1
  62. package/dist/index.d.cts +23 -8
  63. package/dist/index.d.ts +23 -8
  64. package/dist/index.js +52 -176
  65. package/dist/index.js.map +1 -1
  66. package/dist/messaging-adapters.d.cts +1 -1
  67. package/dist/messaging-adapters.d.ts +1 -1
  68. package/dist/messaging-testing.d.cts +1 -1
  69. package/dist/messaging-testing.d.ts +1 -1
  70. package/dist/messaging.cjs +9 -9
  71. package/dist/messaging.d.cts +1 -1
  72. package/dist/messaging.d.ts +1 -1
  73. package/dist/messaging.js +6 -6
  74. package/dist/semantic-helpers.cjs +9 -10
  75. package/dist/semantic-helpers.d.cts +1 -1
  76. package/dist/semantic-helpers.d.ts +1 -1
  77. package/dist/semantic-helpers.js +5 -6
  78. package/dist/{trace-context-t5X1AP-e.d.ts → trace-context-DbGKd1Rn.d.cts} +18 -5
  79. package/dist/{trace-context-t5X1AP-e.d.cts → trace-context-DbGKd1Rn.d.ts} +18 -5
  80. package/dist/trace-helpers.cjs +13 -13
  81. package/dist/trace-helpers.d.cts +2 -2
  82. package/dist/trace-helpers.d.ts +2 -2
  83. package/dist/trace-helpers.js +1 -1
  84. package/dist/{utils-CbUkl8r1.d.cts → utils-BahBCFtJ.d.cts} +1 -1
  85. package/dist/{utils-Buel3cj0.d.ts → utils-CLKwaUlG.d.ts} +1 -1
  86. package/dist/webhook.cjs +19 -10
  87. package/dist/webhook.cjs.map +1 -1
  88. package/dist/webhook.d.cts +1 -1
  89. package/dist/webhook.d.ts +1 -1
  90. package/dist/webhook.js +18 -9
  91. package/dist/webhook.js.map +1 -1
  92. package/dist/workflow-distributed.cjs +23 -19
  93. package/dist/workflow-distributed.cjs.map +1 -1
  94. package/dist/workflow-distributed.d.cts +1 -1
  95. package/dist/workflow-distributed.d.ts +1 -1
  96. package/dist/workflow-distributed.js +21 -17
  97. package/dist/workflow-distributed.js.map +1 -1
  98. package/dist/workflow.cjs +10 -10
  99. package/dist/workflow.d.cts +1 -1
  100. package/dist/workflow.d.ts +1 -1
  101. package/dist/workflow.js +6 -6
  102. package/package.json +1 -1
  103. package/skills/autotel-core/SKILL.md +2 -0
  104. package/skills/autotel-events/SKILL.md +2 -0
  105. package/skills/autotel-frameworks/SKILL.md +2 -0
  106. package/skills/autotel-instrumentation/SKILL.md +2 -0
  107. package/skills/autotel-request-logging/SKILL.md +2 -0
  108. package/skills/autotel-structured-errors/SKILL.md +2 -0
  109. package/src/correlated-events.test.ts +151 -0
  110. package/src/correlated-events.ts +47 -0
  111. package/src/functional.ts +2 -0
  112. package/src/gen-ai-events.ts +14 -5
  113. package/src/index.ts +20 -4
  114. package/src/messaging.ts +10 -9
  115. package/src/request-logger.ts +4 -3
  116. package/src/structured-error.test.ts +83 -1
  117. package/src/structured-error.ts +9 -2
  118. package/src/trace-context.ts +39 -11
  119. package/src/trace-helpers.ts +2 -2
  120. package/src/trace-hybrid.test.ts +42 -0
  121. package/src/trace-hybrid.ts +37 -0
  122. package/src/webhook.ts +16 -7
  123. package/src/workflow-distributed.ts +18 -13
  124. package/src/workflow.ts +7 -6
  125. package/dist/chunk-6YGUN7IY.cjs.map +0 -1
  126. package/dist/chunk-B3ZHLLMP.js.map +0 -1
  127. package/dist/chunk-BBBWDIYQ.js +0 -211
  128. package/dist/chunk-BBBWDIYQ.js.map +0 -1
  129. package/dist/chunk-D5LMF53P.cjs +0 -150
  130. package/dist/chunk-D5LMF53P.cjs.map +0 -1
  131. package/dist/chunk-GML3FBOT.cjs.map +0 -1
  132. package/dist/chunk-HPUGKUMZ.js.map +0 -1
  133. package/dist/chunk-HZ3FYBJG.cjs +0 -217
  134. package/dist/chunk-HZ3FYBJG.cjs.map +0 -1
  135. package/dist/chunk-JSNUWSBH.cjs +0 -62
  136. package/dist/chunk-JSNUWSBH.cjs.map +0 -1
  137. package/dist/chunk-OBWXM4NN.cjs.map +0 -1
  138. package/dist/chunk-QC5MNKVF.js.map +0 -1
  139. package/dist/chunk-S4OFEXLA.js +0 -53
  140. package/dist/chunk-S4OFEXLA.js.map +0 -1
  141. package/dist/chunk-UTZR7P7E.cjs.map +0 -1
  142. package/dist/chunk-WD4RP6IV.js +0 -146
  143. package/dist/chunk-WD4RP6IV.js.map +0 -1
  144. package/dist/chunk-YN7USLHW.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,25 +1,25 @@
1
1
  'use strict';
2
2
 
3
3
  var chunk7EQ4G4SI_cjs = require('./chunk-7EQ4G4SI.cjs');
4
- var chunk6YGUN7IY_cjs = require('./chunk-6YGUN7IY.cjs');
4
+ var chunkDWOBIBLY_cjs = require('./chunk-DWOBIBLY.cjs');
5
5
  var chunkJKIMEPI2_cjs = require('./chunk-JKIMEPI2.cjs');
6
6
  var chunk2ZKEORFN_cjs = require('./chunk-2ZKEORFN.cjs');
7
7
  var chunkESMHTKLJ_cjs = require('./chunk-ESMHTKLJ.cjs');
8
8
  var chunkT4B5LB6E_cjs = require('./chunk-T4B5LB6E.cjs');
9
- var chunkOBWXM4NN_cjs = require('./chunk-OBWXM4NN.cjs');
9
+ var chunkKHGA4OST_cjs = require('./chunk-KHGA4OST.cjs');
10
+ var chunk4P6ZOARG_cjs = require('./chunk-4P6ZOARG.cjs');
10
11
  var chunkINJD3G4K_cjs = require('./chunk-INJD3G4K.cjs');
11
12
  var chunkTC5ZPWM4_cjs = require('./chunk-TC5ZPWM4.cjs');
12
13
  require('./chunk-YTXEZ4SD.cjs');
13
14
  var chunkWJH6IYU2_cjs = require('./chunk-WJH6IYU2.cjs');
14
- var chunkYEVCD6DR_cjs = require('./chunk-YEVCD6DR.cjs');
15
- var chunkUTZR7P7E_cjs = require('./chunk-UTZR7P7E.cjs');
16
- var chunkGML3FBOT_cjs = require('./chunk-GML3FBOT.cjs');
17
- var chunkWZOKY3PW_cjs = require('./chunk-WZOKY3PW.cjs');
15
+ var chunkL7JDUDJD_cjs = require('./chunk-L7JDUDJD.cjs');
16
+ var chunkMOK3E54E_cjs = require('./chunk-MOK3E54E.cjs');
17
+ var chunkNCSMD3TK_cjs = require('./chunk-NCSMD3TK.cjs');
18
+ var chunkZSABTI3C_cjs = require('./chunk-ZSABTI3C.cjs');
18
19
  require('./chunk-NZ72VDNY.cjs');
19
20
  require('./chunk-UY3UYPBZ.cjs');
20
- var chunkD5LMF53P_cjs = require('./chunk-D5LMF53P.cjs');
21
- var chunkJSNUWSBH_cjs = require('./chunk-JSNUWSBH.cjs');
22
- var chunkHZ3FYBJG_cjs = require('./chunk-HZ3FYBJG.cjs');
21
+ var chunkVQTCQKHQ_cjs = require('./chunk-VQTCQKHQ.cjs');
22
+ var chunkCJ4PD2TZ_cjs = require('./chunk-CJ4PD2TZ.cjs');
23
23
  var chunk563EL6O6_cjs = require('./chunk-563EL6O6.cjs');
24
24
  require('./chunk-OC6X2VIN.cjs');
25
25
  require('./chunk-CEAQK2QY.cjs');
@@ -34,16 +34,37 @@ require('./chunk-FU6R566Y.cjs');
34
34
  require('./chunk-ESLWRGAG.cjs');
35
35
  var chunkYREV3LGG_cjs = require('./chunk-YREV3LGG.cjs');
36
36
  require('./chunk-JEQ2X3Z6.cjs');
37
- var async_hooks = require('async_hooks');
38
37
  var api = require('@opentelemetry/api');
38
+ var async_hooks = require('async_hooks');
39
39
  var sdkMetrics = require('@opentelemetry/sdk-metrics');
40
40
 
41
+ var otelMethods = {
42
+ // Class methods on TraceAPI — bind to the singleton.
43
+ setGlobalTracerProvider: api.trace.setGlobalTracerProvider.bind(api.trace),
44
+ getTracerProvider: api.trace.getTracerProvider.bind(api.trace),
45
+ getTracer: api.trace.getTracer.bind(api.trace),
46
+ disable: api.trace.disable.bind(api.trace),
47
+ // Instance fields on TraceAPI — already standalone, copy by reference.
48
+ wrapSpanContext: api.trace.wrapSpanContext,
49
+ isSpanContextValid: api.trace.isSpanContextValid,
50
+ deleteSpan: api.trace.deleteSpan,
51
+ getSpan: api.trace.getSpan,
52
+ getActiveSpan: api.trace.getActiveSpan,
53
+ getSpanContext: api.trace.getSpanContext,
54
+ setSpan: api.trace.setSpan,
55
+ setSpanContext: api.trace.setSpanContext
56
+ };
57
+ var trace2 = Object.assign(
58
+ chunkMOK3E54E_cjs.trace,
59
+ otelMethods
60
+ );
61
+
41
62
  // src/shutdown.ts
42
63
  async function flush(options) {
43
64
  const timeout = options?.timeout ?? 2e3;
44
65
  const forShutdown = options?.forShutdown ?? false;
45
66
  const doFlush = async () => {
46
- const eventsQueue = chunkUTZR7P7E_cjs.getEventQueue();
67
+ const eventsQueue = chunkCJ4PD2TZ_cjs.getEventQueue();
47
68
  if (eventsQueue) {
48
69
  if (forShutdown) {
49
70
  await eventsQueue.shutdown();
@@ -126,13 +147,13 @@ async function shutdown() {
126
147
  }
127
148
  } finally {
128
149
  await chunk563EL6O6_cjs._closeEmbeddedDevtools();
129
- const eventsQueue = chunkUTZR7P7E_cjs.getEventQueue();
150
+ const eventsQueue = chunkCJ4PD2TZ_cjs.getEventQueue();
130
151
  if (eventsQueue && typeof eventsQueue.cleanup === "function") {
131
152
  eventsQueue.cleanup();
132
153
  }
133
- chunkWZOKY3PW_cjs.resetEvents();
154
+ chunkZSABTI3C_cjs.resetEvents();
134
155
  chunkTC5ZPWM4_cjs.resetMetrics();
135
- chunkUTZR7P7E_cjs.resetEventQueue();
156
+ chunkCJ4PD2TZ_cjs.resetEventQueue();
136
157
  }
137
158
  if (shutdownError) {
138
159
  throw shutdownError;
@@ -168,159 +189,6 @@ function registerShutdownHooks() {
168
189
  }
169
190
  }
170
191
  registerShutdownHooks();
171
-
172
- // src/flatten-attributes.ts
173
- function toAttributeValue(value) {
174
- if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
175
- return value;
176
- }
177
- if (Array.isArray(value)) {
178
- if (value.every((v) => typeof v === "string") || value.every((v) => typeof v === "number") || value.every((v) => typeof v === "boolean")) {
179
- return value;
180
- }
181
- try {
182
- return JSON.stringify(value);
183
- } catch {
184
- return "<serialization-failed>";
185
- }
186
- }
187
- if (value instanceof Date) {
188
- return value.toISOString();
189
- }
190
- if (value instanceof Error) {
191
- return value.message;
192
- }
193
- return void 0;
194
- }
195
- function flattenToAttributes(fields, prefix = "") {
196
- const out = {};
197
- const seen = /* @__PURE__ */ new WeakSet();
198
- function flatten(obj, currentPrefix) {
199
- for (const [key, value] of Object.entries(obj)) {
200
- if (value == null) continue;
201
- const nextKey = currentPrefix ? `${currentPrefix}.${key}` : key;
202
- const attr = toAttributeValue(value);
203
- if (attr !== void 0) {
204
- out[nextKey] = attr;
205
- continue;
206
- }
207
- if (typeof value === "object" && value.constructor === Object) {
208
- if (seen.has(value)) {
209
- out[nextKey] = "<circular-reference>";
210
- continue;
211
- }
212
- seen.add(value);
213
- flatten(value, nextKey);
214
- continue;
215
- }
216
- try {
217
- out[nextKey] = JSON.stringify(value);
218
- } catch {
219
- out[nextKey] = "<serialization-failed>";
220
- }
221
- }
222
- }
223
- flatten(fields, prefix);
224
- return out;
225
- }
226
-
227
- // src/structured-error.ts
228
- var internalKey = /* @__PURE__ */ Symbol.for("autotel.error.internal");
229
- function createStructuredError(input) {
230
- const error = new Error(input.message, {
231
- cause: input.cause
232
- });
233
- error.name = input.name ?? "StructuredError";
234
- if (input.why !== void 0) error.why = input.why;
235
- if (input.fix !== void 0) error.fix = input.fix;
236
- if (input.link !== void 0) error.link = input.link;
237
- if (input.code !== void 0) error.code = input.code;
238
- if (input.status !== void 0) error.status = input.status;
239
- if (input.details !== void 0) error.details = input.details;
240
- if (input.internal !== void 0) {
241
- Object.defineProperty(error, internalKey, {
242
- value: input.internal,
243
- enumerable: false,
244
- writable: false,
245
- configurable: true
246
- });
247
- }
248
- Object.defineProperty(error, "internal", {
249
- get() {
250
- return this[internalKey];
251
- },
252
- enumerable: false,
253
- configurable: true
254
- });
255
- error.toString = () => {
256
- const lines = [`${error.name}: ${error.message}`];
257
- if (error.why) lines.push(` Why: ${error.why}`);
258
- if (error.fix) lines.push(` Fix: ${error.fix}`);
259
- if (error.link) lines.push(` Link: ${error.link}`);
260
- if (error.code !== void 0) lines.push(` Code: ${error.code}`);
261
- if (error.status !== void 0) lines.push(` Status: ${error.status}`);
262
- if (error.cause) {
263
- const cause = error.cause;
264
- lines.push(` Caused by: ${cause.name}: ${cause.message}`);
265
- }
266
- return lines.join("\n");
267
- };
268
- return error;
269
- }
270
- function structuredErrorToJSON(error) {
271
- const result = {
272
- name: error.name,
273
- message: error.message
274
- };
275
- if (error.status !== void 0) result.status = error.status;
276
- if (error.why || error.fix || error.link) {
277
- result.data = {
278
- ...error.why && { why: error.why },
279
- ...error.fix && { fix: error.fix },
280
- ...error.link && { link: error.link }
281
- };
282
- }
283
- if (error.code !== void 0) result.code = error.code;
284
- if (error.details) result.details = error.details;
285
- if (error.cause instanceof Error) {
286
- result.cause = { name: error.cause.name, message: error.cause.message };
287
- }
288
- return result;
289
- }
290
- function getStructuredErrorAttributes(error) {
291
- const structured = error;
292
- const attributes = {
293
- "error.type": error.name || "Error",
294
- "error.message": error.message
295
- };
296
- if (error.stack) attributes["error.stack"] = error.stack;
297
- if (structured.why) attributes["error.why"] = structured.why;
298
- if (structured.fix) attributes["error.fix"] = structured.fix;
299
- if (structured.link) attributes["error.link"] = structured.link;
300
- if (structured.code !== void 0) {
301
- attributes["error.code"] = typeof structured.code === "string" ? structured.code : String(structured.code);
302
- }
303
- if (structured.status !== void 0) {
304
- attributes["error.status"] = structured.status;
305
- }
306
- if (structured.details) {
307
- Object.assign(
308
- attributes,
309
- flattenToAttributes(structured.details, "error.details")
310
- );
311
- }
312
- return attributes;
313
- }
314
- function recordStructuredError(ctx2, error) {
315
- ctx2.recordException(error);
316
- ctx2.setStatus({
317
- code: api.SpanStatusCode.ERROR,
318
- message: error.message
319
- });
320
- ctx2.setAttributes(getStructuredErrorAttributes(error));
321
- }
322
-
323
- // src/request-logger.ts
324
192
  var POST_EMIT_FORK_HINT = "For intentional background work tied to this request, use log.fork('label', fn) when available.";
325
193
  function warnPostEmit(method, detail) {
326
194
  console.warn(
@@ -358,7 +226,7 @@ function resolveContext(ctx2) {
358
226
  "[autotel] getRequestLogger() requires an active span or runWithRequestContext(). Wrap your handler with trace() or use runWithRequestContext()."
359
227
  );
360
228
  }
361
- return chunkHZ3FYBJG_cjs.createTraceContext(span2);
229
+ return chunkCJ4PD2TZ_cjs.createTraceContext(span2);
362
230
  }
363
231
  function getRequestLogger(ctx2, options) {
364
232
  const activeContext = resolveContext(ctx2);
@@ -366,10 +234,10 @@ function getRequestLogger(ctx2, options) {
366
234
  let emitted = false;
367
235
  let lastSnapshot = null;
368
236
  const addLogEvent = (level, message, fields) => {
369
- const attrs2 = fields ? flattenToAttributes(fields) : void 0;
370
- activeContext.addEvent(`log.${level}`, {
237
+ const attrs2 = fields ? chunkCJ4PD2TZ_cjs.flattenToAttributes(fields) : void 0;
238
+ chunk4P6ZOARG_cjs.emitCorrelatedEvent(activeContext, `log.${level}`, {
371
239
  message,
372
- ...attrs2
240
+ ...attrs2 ?? {}
373
241
  });
374
242
  };
375
243
  const sealCheck = (method, keys) => {
@@ -385,7 +253,7 @@ function getRequestLogger(ctx2, options) {
385
253
  sealCheck("log.set()", Object.keys(fields));
386
254
  if (emitted) return;
387
255
  mergeInto(contextState, fields);
388
- activeContext.setAttributes(flattenToAttributes(fields));
256
+ activeContext.setAttributes(chunkCJ4PD2TZ_cjs.flattenToAttributes(fields));
389
257
  },
390
258
  info(message, fields) {
391
259
  const keys = fields ? ["message", ...Object.keys(fields).filter((k) => k !== "requestLogs")] : ["message"];
@@ -394,7 +262,7 @@ function getRequestLogger(ctx2, options) {
394
262
  addLogEvent("info", message, fields);
395
263
  if (fields) {
396
264
  mergeInto(contextState, fields);
397
- activeContext.setAttributes(flattenToAttributes(fields));
265
+ activeContext.setAttributes(chunkCJ4PD2TZ_cjs.flattenToAttributes(fields));
398
266
  }
399
267
  },
400
268
  warn(message, fields) {
@@ -405,7 +273,7 @@ function getRequestLogger(ctx2, options) {
405
273
  activeContext.setAttribute("autotel.log.level", "warn");
406
274
  if (fields) {
407
275
  mergeInto(contextState, fields);
408
- activeContext.setAttributes(flattenToAttributes(fields));
276
+ activeContext.setAttributes(chunkCJ4PD2TZ_cjs.flattenToAttributes(fields));
409
277
  }
410
278
  },
411
279
  error(error, fields) {
@@ -413,11 +281,11 @@ function getRequestLogger(ctx2, options) {
413
281
  sealCheck("log.error()", keys);
414
282
  if (emitted) return;
415
283
  const err = typeof error === "string" ? new Error(error) : error;
416
- recordStructuredError(activeContext, err);
284
+ chunkCJ4PD2TZ_cjs.recordStructuredError(activeContext, err);
417
285
  addLogEvent("error", err.message, fields);
418
286
  if (fields) {
419
287
  mergeInto(contextState, fields);
420
- activeContext.setAttributes(flattenToAttributes(fields));
288
+ activeContext.setAttributes(chunkCJ4PD2TZ_cjs.flattenToAttributes(fields));
421
289
  }
422
290
  activeContext.setAttribute("autotel.log.level", "error");
423
291
  },
@@ -433,7 +301,7 @@ function getRequestLogger(ctx2, options) {
433
301
  ...contextState,
434
302
  ...overrides ?? {}
435
303
  };
436
- const flattened = flattenToAttributes(mergedContext);
304
+ const flattened = chunkCJ4PD2TZ_cjs.flattenToAttributes(mergedContext);
437
305
  activeContext.setAttributes(flattened);
438
306
  const snapshot = {
439
307
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
@@ -442,7 +310,7 @@ function getRequestLogger(ctx2, options) {
442
310
  correlationId: activeContext.correlationId,
443
311
  context: mergedContext
444
312
  };
445
- activeContext.addEvent("log.emit.manual", {
313
+ chunk4P6ZOARG_cjs.emitCorrelatedEvent(activeContext, "log.emit.manual", {
446
314
  ...flattened
447
315
  });
448
316
  if (options?.onEmit) {
@@ -464,7 +332,7 @@ function getRequestLogger(ctx2, options) {
464
332
  const tracer = api.trace.getTracer("autotel.request-logger");
465
333
  void tracer.startActiveSpan(`request.fork:${label}`, (childSpan) => {
466
334
  const childContext = {
467
- ...chunkHZ3FYBJG_cjs.createTraceContext(childSpan),
335
+ ...chunkCJ4PD2TZ_cjs.createTraceContext(childSpan),
468
336
  correlationId: crypto.randomUUID()
469
337
  };
470
338
  requestContextStore.run(childContext, () => {
@@ -544,19 +412,27 @@ function genAiMetricViews(extra = []) {
544
412
 
545
413
  // src/gen-ai-events.ts
546
414
  function recordPromptSent(ctx2, event = {}) {
547
- ctx2.addEvent("gen_ai.prompt.sent", buildPromptSentAttrs(event));
415
+ chunk4P6ZOARG_cjs.emitCorrelatedEvent(ctx2, "gen_ai.prompt.sent", buildPromptSentAttrs(event));
548
416
  }
549
417
  function recordResponseReceived(ctx2, event = {}) {
550
- ctx2.addEvent("gen_ai.response.received", buildResponseAttrs(event));
418
+ chunk4P6ZOARG_cjs.emitCorrelatedEvent(
419
+ ctx2,
420
+ "gen_ai.response.received",
421
+ buildResponseAttrs(event)
422
+ );
551
423
  }
552
424
  function recordRetry(ctx2, event) {
553
- ctx2.addEvent("gen_ai.retry", buildRetryAttrs(event));
425
+ chunk4P6ZOARG_cjs.emitCorrelatedEvent(ctx2, "gen_ai.retry", buildRetryAttrs(event));
554
426
  }
555
427
  function recordToolCall(ctx2, event) {
556
- ctx2.addEvent("gen_ai.tool.call", buildToolCallAttrs(event));
428
+ chunk4P6ZOARG_cjs.emitCorrelatedEvent(ctx2, "gen_ai.tool.call", buildToolCallAttrs(event));
557
429
  }
558
430
  function recordStreamFirstToken(ctx2, event = {}) {
559
- ctx2.addEvent("gen_ai.stream.first_token", buildStreamFirstTokenAttrs(event));
431
+ chunk4P6ZOARG_cjs.emitCorrelatedEvent(
432
+ ctx2,
433
+ "gen_ai.stream.first_token",
434
+ buildStreamFirstTokenAttrs(event)
435
+ );
560
436
  }
561
437
  function buildPromptSentAttrs(event) {
562
438
  const attrs2 = {};
@@ -609,19 +485,19 @@ Object.defineProperty(exports, "createDrainPipeline", {
609
485
  });
610
486
  Object.defineProperty(exports, "getCurrentWorkflowContext", {
611
487
  enumerable: true,
612
- get: function () { return chunk6YGUN7IY_cjs.getCurrentWorkflowContext; }
488
+ get: function () { return chunkDWOBIBLY_cjs.getCurrentWorkflowContext; }
613
489
  });
614
490
  Object.defineProperty(exports, "isInWorkflow", {
615
491
  enumerable: true,
616
- get: function () { return chunk6YGUN7IY_cjs.isInWorkflow; }
492
+ get: function () { return chunkDWOBIBLY_cjs.isInWorkflow; }
617
493
  });
618
494
  Object.defineProperty(exports, "traceStep", {
619
495
  enumerable: true,
620
- get: function () { return chunk6YGUN7IY_cjs.traceStep; }
496
+ get: function () { return chunkDWOBIBLY_cjs.traceStep; }
621
497
  });
622
498
  Object.defineProperty(exports, "traceWorkflow", {
623
499
  enumerable: true,
624
- get: function () { return chunk6YGUN7IY_cjs.traceWorkflow; }
500
+ get: function () { return chunkDWOBIBLY_cjs.traceWorkflow; }
625
501
  });
626
502
  Object.defineProperty(exports, "attrs", {
627
503
  enumerable: true,
@@ -713,11 +589,11 @@ Object.defineProperty(exports, "parseError", {
713
589
  });
714
590
  Object.defineProperty(exports, "traceConsumer", {
715
591
  enumerable: true,
716
- get: function () { return chunkOBWXM4NN_cjs.traceConsumer; }
592
+ get: function () { return chunkKHGA4OST_cjs.traceConsumer; }
717
593
  });
718
594
  Object.defineProperty(exports, "traceProducer", {
719
595
  enumerable: true,
720
- get: function () { return chunkOBWXM4NN_cjs.traceProducer; }
596
+ get: function () { return chunkKHGA4OST_cjs.traceProducer; }
721
597
  });
722
598
  Object.defineProperty(exports, "BusinessBaggage", {
723
599
  enumerable: true,
@@ -761,151 +637,171 @@ Object.defineProperty(exports, "getMeter", {
761
637
  });
762
638
  Object.defineProperty(exports, "traceDB", {
763
639
  enumerable: true,
764
- get: function () { return chunkYEVCD6DR_cjs.traceDB; }
640
+ get: function () { return chunkL7JDUDJD_cjs.traceDB; }
765
641
  });
766
642
  Object.defineProperty(exports, "traceHTTP", {
767
643
  enumerable: true,
768
- get: function () { return chunkYEVCD6DR_cjs.traceHTTP; }
644
+ get: function () { return chunkL7JDUDJD_cjs.traceHTTP; }
769
645
  });
770
646
  Object.defineProperty(exports, "traceLLM", {
771
647
  enumerable: true,
772
- get: function () { return chunkYEVCD6DR_cjs.traceLLM; }
648
+ get: function () { return chunkL7JDUDJD_cjs.traceLLM; }
773
649
  });
774
650
  Object.defineProperty(exports, "traceMessaging", {
775
651
  enumerable: true,
776
- get: function () { return chunkYEVCD6DR_cjs.traceMessaging; }
652
+ get: function () { return chunkL7JDUDJD_cjs.traceMessaging; }
777
653
  });
778
654
  Object.defineProperty(exports, "ctx", {
779
655
  enumerable: true,
780
- get: function () { return chunkUTZR7P7E_cjs.ctx; }
781
- });
782
- Object.defineProperty(exports, "getEventQueue", {
783
- enumerable: true,
784
- get: function () { return chunkUTZR7P7E_cjs.getEventQueue; }
656
+ get: function () { return chunkMOK3E54E_cjs.ctx; }
785
657
  });
786
658
  Object.defineProperty(exports, "instrument", {
787
659
  enumerable: true,
788
- get: function () { return chunkUTZR7P7E_cjs.instrument; }
660
+ get: function () { return chunkMOK3E54E_cjs.instrument; }
789
661
  });
790
662
  Object.defineProperty(exports, "span", {
791
663
  enumerable: true,
792
- get: function () { return chunkUTZR7P7E_cjs.span; }
793
- });
794
- Object.defineProperty(exports, "trace", {
795
- enumerable: true,
796
- get: function () { return chunkUTZR7P7E_cjs.trace; }
797
- });
798
- Object.defineProperty(exports, "track", {
799
- enumerable: true,
800
- get: function () { return chunkUTZR7P7E_cjs.track; }
664
+ get: function () { return chunkMOK3E54E_cjs.span; }
801
665
  });
802
666
  Object.defineProperty(exports, "withBaggage", {
803
667
  enumerable: true,
804
- get: function () { return chunkUTZR7P7E_cjs.withBaggage; }
668
+ get: function () { return chunkMOK3E54E_cjs.withBaggage; }
805
669
  });
806
670
  Object.defineProperty(exports, "withNewContext", {
807
671
  enumerable: true,
808
- get: function () { return chunkUTZR7P7E_cjs.withNewContext; }
672
+ get: function () { return chunkMOK3E54E_cjs.withNewContext; }
809
673
  });
810
674
  Object.defineProperty(exports, "withTracing", {
811
675
  enumerable: true,
812
- get: function () { return chunkUTZR7P7E_cjs.withTracing; }
676
+ get: function () { return chunkMOK3E54E_cjs.withTracing; }
813
677
  });
814
678
  Object.defineProperty(exports, "createDeterministicTraceId", {
815
679
  enumerable: true,
816
- get: function () { return chunkGML3FBOT_cjs.createDeterministicTraceId; }
680
+ get: function () { return chunkNCSMD3TK_cjs.createDeterministicTraceId; }
817
681
  });
818
682
  Object.defineProperty(exports, "enrichWithTraceContext", {
819
683
  enumerable: true,
820
- get: function () { return chunkGML3FBOT_cjs.enrichWithTraceContext; }
684
+ get: function () { return chunkNCSMD3TK_cjs.enrichWithTraceContext; }
821
685
  });
822
686
  Object.defineProperty(exports, "finalizeSpan", {
823
687
  enumerable: true,
824
- get: function () { return chunkGML3FBOT_cjs.finalizeSpan; }
688
+ get: function () { return chunkNCSMD3TK_cjs.finalizeSpan; }
825
689
  });
826
690
  Object.defineProperty(exports, "flattenMetadata", {
827
691
  enumerable: true,
828
- get: function () { return chunkGML3FBOT_cjs.flattenMetadata; }
692
+ get: function () { return chunkNCSMD3TK_cjs.flattenMetadata; }
829
693
  });
830
694
  Object.defineProperty(exports, "getActiveContext", {
831
695
  enumerable: true,
832
- get: function () { return chunkGML3FBOT_cjs.getActiveContext; }
696
+ get: function () { return chunkNCSMD3TK_cjs.getActiveContext; }
833
697
  });
834
698
  Object.defineProperty(exports, "getActiveSpan", {
835
699
  enumerable: true,
836
- get: function () { return chunkGML3FBOT_cjs.getActiveSpan; }
700
+ get: function () { return chunkNCSMD3TK_cjs.getActiveSpan; }
837
701
  });
838
702
  Object.defineProperty(exports, "getTraceContext", {
839
703
  enumerable: true,
840
- get: function () { return chunkGML3FBOT_cjs.getTraceContext; }
704
+ get: function () { return chunkNCSMD3TK_cjs.getTraceContext; }
841
705
  });
842
706
  Object.defineProperty(exports, "getTracer", {
843
707
  enumerable: true,
844
- get: function () { return chunkGML3FBOT_cjs.getTracer; }
708
+ get: function () { return chunkNCSMD3TK_cjs.getTracer; }
845
709
  });
846
710
  Object.defineProperty(exports, "isTracing", {
847
711
  enumerable: true,
848
- get: function () { return chunkGML3FBOT_cjs.isTracing; }
712
+ get: function () { return chunkNCSMD3TK_cjs.isTracing; }
849
713
  });
850
714
  Object.defineProperty(exports, "resolveTraceUrl", {
851
715
  enumerable: true,
852
- get: function () { return chunkGML3FBOT_cjs.resolveTraceUrl; }
716
+ get: function () { return chunkNCSMD3TK_cjs.resolveTraceUrl; }
853
717
  });
854
718
  Object.defineProperty(exports, "runWithSpan", {
855
719
  enumerable: true,
856
- get: function () { return chunkGML3FBOT_cjs.runWithSpan; }
720
+ get: function () { return chunkNCSMD3TK_cjs.runWithSpan; }
857
721
  });
858
722
  Object.defineProperty(exports, "Event", {
859
723
  enumerable: true,
860
- get: function () { return chunkWZOKY3PW_cjs.Event; }
724
+ get: function () { return chunkZSABTI3C_cjs.Event; }
861
725
  });
862
726
  Object.defineProperty(exports, "getEvents", {
863
727
  enumerable: true,
864
- get: function () { return chunkWZOKY3PW_cjs.getEvents; }
728
+ get: function () { return chunkZSABTI3C_cjs.getEvents; }
865
729
  });
866
730
  Object.defineProperty(exports, "resetEvents", {
867
731
  enumerable: true,
868
- get: function () { return chunkWZOKY3PW_cjs.resetEvents; }
732
+ get: function () { return chunkZSABTI3C_cjs.resetEvents; }
869
733
  });
870
734
  Object.defineProperty(exports, "getOperationContext", {
871
735
  enumerable: true,
872
- get: function () { return chunkD5LMF53P_cjs.getOperationContext; }
736
+ get: function () { return chunkVQTCQKHQ_cjs.getOperationContext; }
873
737
  });
874
738
  Object.defineProperty(exports, "runInOperationContext", {
875
739
  enumerable: true,
876
- get: function () { return chunkD5LMF53P_cjs.runInOperationContext; }
740
+ get: function () { return chunkVQTCQKHQ_cjs.runInOperationContext; }
877
741
  });
878
742
  Object.defineProperty(exports, "CORRELATION_ID_BAGGAGE_KEY", {
879
743
  enumerable: true,
880
- get: function () { return chunkJSNUWSBH_cjs.CORRELATION_ID_BAGGAGE_KEY; }
744
+ get: function () { return chunkCJ4PD2TZ_cjs.CORRELATION_ID_BAGGAGE_KEY; }
745
+ });
746
+ Object.defineProperty(exports, "createStructuredError", {
747
+ enumerable: true,
748
+ get: function () { return chunkCJ4PD2TZ_cjs.createStructuredError; }
749
+ });
750
+ Object.defineProperty(exports, "defineBaggageSchema", {
751
+ enumerable: true,
752
+ get: function () { return chunkCJ4PD2TZ_cjs.defineBaggageSchema; }
753
+ });
754
+ Object.defineProperty(exports, "flattenToAttributes", {
755
+ enumerable: true,
756
+ get: function () { return chunkCJ4PD2TZ_cjs.flattenToAttributes; }
881
757
  });
882
758
  Object.defineProperty(exports, "generateCorrelationId", {
883
759
  enumerable: true,
884
- get: function () { return chunkJSNUWSBH_cjs.generateCorrelationId; }
760
+ get: function () { return chunkCJ4PD2TZ_cjs.generateCorrelationId; }
885
761
  });
886
762
  Object.defineProperty(exports, "getCorrelationId", {
887
763
  enumerable: true,
888
- get: function () { return chunkJSNUWSBH_cjs.getCorrelationId; }
764
+ get: function () { return chunkCJ4PD2TZ_cjs.getCorrelationId; }
765
+ });
766
+ Object.defineProperty(exports, "getEventQueue", {
767
+ enumerable: true,
768
+ get: function () { return chunkCJ4PD2TZ_cjs.getEventQueue; }
889
769
  });
890
770
  Object.defineProperty(exports, "getOrCreateCorrelationId", {
891
771
  enumerable: true,
892
- get: function () { return chunkJSNUWSBH_cjs.getOrCreateCorrelationId; }
772
+ get: function () { return chunkCJ4PD2TZ_cjs.getOrCreateCorrelationId; }
773
+ });
774
+ Object.defineProperty(exports, "getStructuredErrorAttributes", {
775
+ enumerable: true,
776
+ get: function () { return chunkCJ4PD2TZ_cjs.getStructuredErrorAttributes; }
777
+ });
778
+ Object.defineProperty(exports, "recordStructuredError", {
779
+ enumerable: true,
780
+ get: function () { return chunkCJ4PD2TZ_cjs.recordStructuredError; }
893
781
  });
894
782
  Object.defineProperty(exports, "runWithCorrelationId", {
895
783
  enumerable: true,
896
- get: function () { return chunkJSNUWSBH_cjs.runWithCorrelationId; }
784
+ get: function () { return chunkCJ4PD2TZ_cjs.runWithCorrelationId; }
897
785
  });
898
786
  Object.defineProperty(exports, "setCorrelationId", {
899
787
  enumerable: true,
900
- get: function () { return chunkJSNUWSBH_cjs.setCorrelationId; }
788
+ get: function () { return chunkCJ4PD2TZ_cjs.setCorrelationId; }
901
789
  });
902
790
  Object.defineProperty(exports, "setCorrelationIdInBaggage", {
903
791
  enumerable: true,
904
- get: function () { return chunkJSNUWSBH_cjs.setCorrelationIdInBaggage; }
792
+ get: function () { return chunkCJ4PD2TZ_cjs.setCorrelationIdInBaggage; }
905
793
  });
906
- Object.defineProperty(exports, "defineBaggageSchema", {
794
+ Object.defineProperty(exports, "structuredErrorToJSON", {
795
+ enumerable: true,
796
+ get: function () { return chunkCJ4PD2TZ_cjs.structuredErrorToJSON; }
797
+ });
798
+ Object.defineProperty(exports, "toAttributeValue", {
799
+ enumerable: true,
800
+ get: function () { return chunkCJ4PD2TZ_cjs.toAttributeValue; }
801
+ });
802
+ Object.defineProperty(exports, "track", {
907
803
  enumerable: true,
908
- get: function () { return chunkHZ3FYBJG_cjs.defineBaggageSchema; }
804
+ get: function () { return chunkCJ4PD2TZ_cjs.track; }
909
805
  });
910
806
  Object.defineProperty(exports, "BaggageSpanProcessor", {
911
807
  enumerable: true,
@@ -1050,22 +946,17 @@ Object.defineProperty(exports, "propagation", {
1050
946
  exports.GEN_AI_COST_USD_BUCKETS = GEN_AI_COST_USD_BUCKETS;
1051
947
  exports.GEN_AI_DURATION_BUCKETS_SECONDS = GEN_AI_DURATION_BUCKETS_SECONDS;
1052
948
  exports.GEN_AI_TOKEN_USAGE_BUCKETS = GEN_AI_TOKEN_USAGE_BUCKETS;
1053
- exports.createStructuredError = createStructuredError;
1054
- exports.flattenToAttributes = flattenToAttributes;
1055
949
  exports.flush = flush;
1056
950
  exports.genAiMetricViews = genAiMetricViews;
1057
951
  exports.getRequestLogger = getRequestLogger;
1058
- exports.getStructuredErrorAttributes = getStructuredErrorAttributes;
1059
952
  exports.llmHistogramAdvice = llmHistogramAdvice;
1060
953
  exports.recordPromptSent = recordPromptSent;
1061
954
  exports.recordResponseReceived = recordResponseReceived;
1062
955
  exports.recordRetry = recordRetry;
1063
956
  exports.recordStreamFirstToken = recordStreamFirstToken;
1064
- exports.recordStructuredError = recordStructuredError;
1065
957
  exports.recordToolCall = recordToolCall;
1066
958
  exports.runWithRequestContext = runWithRequestContext;
1067
959
  exports.shutdown = shutdown;
1068
- exports.structuredErrorToJSON = structuredErrorToJSON;
1069
- exports.toAttributeValue = toAttributeValue;
960
+ exports.trace = trace2;
1070
961
  //# sourceMappingURL=index.cjs.map
1071
962
  //# sourceMappingURL=index.cjs.map