@microsoft/opentelemetry 0.1.0-alpha.6 → 0.1.0-beta.1

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 (150) hide show
  1. package/README.md +86 -1
  2. package/dist/commonjs/a365/configuration/A365Configuration.js +1 -1
  3. package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -1
  4. package/dist/commonjs/a365/constants.d.ts +1 -1
  5. package/dist/commonjs/a365/constants.d.ts.map +1 -1
  6. package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts +4 -2
  7. package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -1
  8. package/dist/commonjs/a365/exporter/Agent365Exporter.js +55 -30
  9. package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -1
  10. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts +3 -0
  11. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  12. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js +5 -1
  13. package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js.map +1 -1
  14. package/dist/commonjs/a365/exporter/utils.d.ts +29 -1
  15. package/dist/commonjs/a365/exporter/utils.d.ts.map +1 -1
  16. package/dist/commonjs/a365/exporter/utils.js +121 -5
  17. package/dist/commonjs/a365/exporter/utils.js.map +1 -1
  18. package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts +58 -0
  19. package/dist/commonjs/a365/hosting/agenticTokenCache.d.ts.map +1 -0
  20. package/dist/commonjs/a365/hosting/agenticTokenCache.js +229 -0
  21. package/dist/commonjs/a365/hosting/agenticTokenCache.js.map +1 -0
  22. package/dist/commonjs/a365/hosting/index.d.ts +2 -0
  23. package/dist/commonjs/a365/hosting/index.d.ts.map +1 -1
  24. package/dist/commonjs/a365/hosting/index.js +4 -1
  25. package/dist/commonjs/a365/hosting/index.js.map +1 -1
  26. package/dist/commonjs/a365/index.d.ts +2 -2
  27. package/dist/commonjs/a365/index.d.ts.map +1 -1
  28. package/dist/commonjs/a365/index.js +3 -1
  29. package/dist/commonjs/a365/index.js.map +1 -1
  30. package/dist/commonjs/distro/distro.d.ts +8 -1
  31. package/dist/commonjs/distro/distro.d.ts.map +1 -1
  32. package/dist/commonjs/distro/distro.js +75 -6
  33. package/dist/commonjs/distro/distro.js.map +1 -1
  34. package/dist/commonjs/distro/loader.d.ts +10 -0
  35. package/dist/commonjs/distro/loader.d.ts.map +1 -0
  36. package/dist/commonjs/distro/loader.js +16 -0
  37. package/dist/commonjs/distro/loader.js.map +1 -0
  38. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +2 -6
  39. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
  40. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js +10 -14
  41. package/dist/commonjs/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
  42. package/dist/commonjs/genai/instrumentations/langchain/tracer.d.ts +9 -8
  43. package/dist/commonjs/genai/instrumentations/langchain/tracer.d.ts.map +1 -1
  44. package/dist/commonjs/genai/instrumentations/langchain/tracer.js +40 -15
  45. package/dist/commonjs/genai/instrumentations/langchain/tracer.js.map +1 -1
  46. package/dist/commonjs/genai/instrumentations/langchain/utils.d.ts.map +1 -1
  47. package/dist/commonjs/genai/instrumentations/langchain/utils.js +259 -75
  48. package/dist/commonjs/genai/instrumentations/langchain/utils.js.map +1 -1
  49. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts.map +1 -1
  50. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js +0 -1
  51. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js.map +1 -1
  52. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts +4 -5
  53. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts.map +1 -1
  54. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.js +72 -37
  55. package/dist/commonjs/genai/instrumentations/openai/openAIAgentsTraceProcessor.js.map +1 -1
  56. package/dist/commonjs/genai/instrumentations/openai/semconv.d.ts +0 -2
  57. package/dist/commonjs/genai/instrumentations/openai/semconv.d.ts.map +1 -1
  58. package/dist/commonjs/genai/instrumentations/openai/semconv.js +1 -3
  59. package/dist/commonjs/genai/instrumentations/openai/semconv.js.map +1 -1
  60. package/dist/commonjs/genai/instrumentations/openai/utils.d.ts +37 -16
  61. package/dist/commonjs/genai/instrumentations/openai/utils.d.ts.map +1 -1
  62. package/dist/commonjs/genai/instrumentations/openai/utils.js +239 -60
  63. package/dist/commonjs/genai/instrumentations/openai/utils.js.map +1 -1
  64. package/dist/commonjs/genai/semconv.d.ts +2 -0
  65. package/dist/commonjs/genai/semconv.d.ts.map +1 -1
  66. package/dist/commonjs/genai/semconv.js +5 -1
  67. package/dist/commonjs/genai/semconv.js.map +1 -1
  68. package/dist/commonjs/index.d.ts +2 -2
  69. package/dist/commonjs/index.d.ts.map +1 -1
  70. package/dist/commonjs/index.js +3 -1
  71. package/dist/commonjs/index.js.map +1 -1
  72. package/dist/commonjs/types.d.ts +1 -8
  73. package/dist/commonjs/types.d.ts.map +1 -1
  74. package/dist/commonjs/types.js +1 -1
  75. package/dist/commonjs/types.js.map +1 -1
  76. package/dist/esm/a365/configuration/A365Configuration.js +1 -1
  77. package/dist/esm/a365/configuration/A365Configuration.js.map +1 -1
  78. package/dist/esm/a365/constants.d.ts +1 -1
  79. package/dist/esm/a365/constants.d.ts.map +1 -1
  80. package/dist/esm/a365/exporter/Agent365Exporter.d.ts +4 -2
  81. package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -1
  82. package/dist/esm/a365/exporter/Agent365Exporter.js +56 -31
  83. package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -1
  84. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts +3 -0
  85. package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -1
  86. package/dist/esm/a365/exporter/Agent365ExporterOptions.js +5 -1
  87. package/dist/esm/a365/exporter/Agent365ExporterOptions.js.map +1 -1
  88. package/dist/esm/a365/exporter/utils.d.ts +29 -1
  89. package/dist/esm/a365/exporter/utils.d.ts.map +1 -1
  90. package/dist/esm/a365/exporter/utils.js +119 -6
  91. package/dist/esm/a365/exporter/utils.js.map +1 -1
  92. package/dist/esm/a365/hosting/agenticTokenCache.d.ts +58 -0
  93. package/dist/esm/a365/hosting/agenticTokenCache.d.ts.map +1 -0
  94. package/dist/esm/a365/hosting/agenticTokenCache.js +225 -0
  95. package/dist/esm/a365/hosting/agenticTokenCache.js.map +1 -0
  96. package/dist/esm/a365/hosting/index.d.ts +2 -0
  97. package/dist/esm/a365/hosting/index.d.ts.map +1 -1
  98. package/dist/esm/a365/hosting/index.js +1 -0
  99. package/dist/esm/a365/hosting/index.js.map +1 -1
  100. package/dist/esm/a365/index.d.ts +2 -2
  101. package/dist/esm/a365/index.d.ts.map +1 -1
  102. package/dist/esm/a365/index.js +1 -1
  103. package/dist/esm/a365/index.js.map +1 -1
  104. package/dist/esm/distro/distro.d.ts +8 -1
  105. package/dist/esm/distro/distro.d.ts.map +1 -1
  106. package/dist/esm/distro/distro.js +74 -6
  107. package/dist/esm/distro/distro.js.map +1 -1
  108. package/dist/esm/distro/loader.d.ts +10 -0
  109. package/dist/esm/distro/loader.d.ts.map +1 -0
  110. package/dist/esm/distro/loader.js +14 -0
  111. package/dist/esm/distro/loader.js.map +1 -0
  112. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts +2 -6
  113. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.d.ts.map +1 -1
  114. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js +10 -14
  115. package/dist/esm/genai/instrumentations/langchain/langchainTraceInstrumentor.js.map +1 -1
  116. package/dist/esm/genai/instrumentations/langchain/tracer.d.ts +9 -8
  117. package/dist/esm/genai/instrumentations/langchain/tracer.d.ts.map +1 -1
  118. package/dist/esm/genai/instrumentations/langchain/tracer.js +41 -16
  119. package/dist/esm/genai/instrumentations/langchain/tracer.js.map +1 -1
  120. package/dist/esm/genai/instrumentations/langchain/utils.d.ts.map +1 -1
  121. package/dist/esm/genai/instrumentations/langchain/utils.js +260 -76
  122. package/dist/esm/genai/instrumentations/langchain/utils.js.map +1 -1
  123. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.d.ts.map +1 -1
  124. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js +0 -1
  125. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceInstrumentor.js.map +1 -1
  126. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts +4 -5
  127. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.d.ts.map +1 -1
  128. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.js +75 -40
  129. package/dist/esm/genai/instrumentations/openai/openAIAgentsTraceProcessor.js.map +1 -1
  130. package/dist/esm/genai/instrumentations/openai/semconv.d.ts +0 -2
  131. package/dist/esm/genai/instrumentations/openai/semconv.d.ts.map +1 -1
  132. package/dist/esm/genai/instrumentations/openai/semconv.js +0 -2
  133. package/dist/esm/genai/instrumentations/openai/semconv.js.map +1 -1
  134. package/dist/esm/genai/instrumentations/openai/utils.d.ts +37 -16
  135. package/dist/esm/genai/instrumentations/openai/utils.d.ts.map +1 -1
  136. package/dist/esm/genai/instrumentations/openai/utils.js +233 -57
  137. package/dist/esm/genai/instrumentations/openai/utils.js.map +1 -1
  138. package/dist/esm/genai/semconv.d.ts +2 -0
  139. package/dist/esm/genai/semconv.d.ts.map +1 -1
  140. package/dist/esm/genai/semconv.js +4 -0
  141. package/dist/esm/genai/semconv.js.map +1 -1
  142. package/dist/esm/index.d.ts +2 -2
  143. package/dist/esm/index.d.ts.map +1 -1
  144. package/dist/esm/index.js +1 -1
  145. package/dist/esm/index.js.map +1 -1
  146. package/dist/esm/types.d.ts +1 -8
  147. package/dist/esm/types.d.ts.map +1 -1
  148. package/dist/esm/types.js +1 -1
  149. package/dist/esm/types.js.map +1 -1
  150. package/package.json +5 -5
@@ -40,7 +40,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.OpenAIAgentsTraceProcessor = void 0;
41
41
  const api_1 = require("@opentelemetry/api");
42
42
  const index_js_1 = require("../../index.js");
43
- const utils_js_1 = require("../../utils.js");
43
+ const message_utils_js_1 = require("../../../a365/message-utils.js");
44
44
  const semconv_js_1 = require("./semconv.js");
45
45
  const Utils = __importStar(require("./utils.js"));
46
46
  /**
@@ -56,15 +56,22 @@ const Utils = __importStar(require("./utils.js"));
56
56
  * - Creates an OTel span on `onSpanStart` and ends it on `onSpanEnd`.
57
57
  * - Maintains parent–child span relationships via trace/span ID maps.
58
58
  * - Guards against unbounded memory with a hard cap of {@link MAX_SPANS_IN_FLIGHT}.
59
- * - Content-sensitive attributes (messages, tool args) are only recorded
60
- * when `isContentRecordingEnabled` is true.
59
+ * - Content attributes (messages, tool args) are always recorded
60
+ * (aligned with Python/.NET SDKs).
61
61
  */
62
62
  class OpenAIAgentsTraceProcessor {
63
63
  static MAX_HANDOFFS_IN_FLIGHT = 1_000;
64
64
  static MAX_SPANS_IN_FLIGHT = 10_000;
65
+ static SERVER_SPAN_TYPES = new Set(["agent"]);
66
+ static CLIENT_SPAN_TYPES = new Set([
67
+ "handoff",
68
+ "response",
69
+ "generation",
70
+ "function",
71
+ "mcp_tools",
72
+ ]);
65
73
  tracer;
66
74
  suppressInvokeAgentInput;
67
- isContentRecordingEnabled;
68
75
  /** Root spans keyed by trace ID. */
69
76
  rootSpans = new Map();
70
77
  /** Active OTel spans keyed by OpenAI span ID. */
@@ -78,10 +85,6 @@ class OpenAIAgentsTraceProcessor {
78
85
  constructor(tracer, options) {
79
86
  this.tracer = tracer;
80
87
  this.suppressInvokeAgentInput = options?.suppressInvokeAgentInput ?? false;
81
- this.isContentRecordingEnabled = options?.isContentRecordingEnabled ?? false;
82
- }
83
- isContentKey(key) {
84
- return Utils.CONTENT_KEYS.has(key);
85
88
  }
86
89
  getNewKey(spanType, key) {
87
90
  return Utils.KEY_MAPPINGS.get(`${spanType}${key}`) ?? null;
@@ -109,6 +112,11 @@ class OpenAIAgentsTraceProcessor {
109
112
  if (!startedAt || !spanId || !traceId) {
110
113
  return;
111
114
  }
115
+ const spanType = spanData?.type;
116
+ // Skip span types we don't map to schema-defined operations.
117
+ if (!spanType || spanType === "custom" || spanType === "guardrail") {
118
+ return;
119
+ }
112
120
  if (this.otelSpans.size >= OpenAIAgentsTraceProcessor.MAX_SPANS_IN_FLIGHT) {
113
121
  api_1.diag.warn(`[OpenAIAgentsTraceProcessor] Max spans in flight (${OpenAIAgentsTraceProcessor.MAX_SPANS_IN_FLIGHT}) reached, skipping span`);
114
122
  return;
@@ -121,8 +129,15 @@ class OpenAIAgentsTraceProcessor {
121
129
  ? api_1.trace.setSpan(api_1.context.active(), parentSpan)
122
130
  : api_1.context.active();
123
131
  const spanName = Utils.getSpanName(span);
132
+ // SpanKind per OTel client/server semantics + A365 schema:
133
+ const kind = OpenAIAgentsTraceProcessor.SERVER_SPAN_TYPES.has(spanType)
134
+ ? api_1.SpanKind.SERVER
135
+ : OpenAIAgentsTraceProcessor.CLIENT_SPAN_TYPES.has(spanType)
136
+ ? api_1.SpanKind.CLIENT
137
+ : undefined;
124
138
  // Start OpenTelemetry span
125
139
  const otelSpan = this.tracer.startSpan(spanName, {
140
+ kind,
126
141
  startTime,
127
142
  attributes: {
128
143
  [index_js_1.ATTR_GEN_AI_OPERATION_NAME]: Utils.getOperationName(spanData),
@@ -172,6 +187,13 @@ class OpenAIAgentsTraceProcessor {
172
187
  const endTime = endedAt ? new Date(endedAt).getTime() : undefined;
173
188
  const status = Utils.getSpanStatus(span);
174
189
  otelSpan.setStatus(status);
190
+ if (span.error) {
191
+ const errData = span.error.data;
192
+ const errorType = (typeof errData?.type === "string" && errData.type) ||
193
+ span.error.name ||
194
+ "error";
195
+ otelSpan.setAttribute(index_js_1.ATTR_ERROR_TYPE, errorType);
196
+ }
175
197
  if (endTime) {
176
198
  otelSpan.end(endTime);
177
199
  }
@@ -191,16 +213,15 @@ class OpenAIAgentsTraceProcessor {
191
213
  // -- Span data processors --
192
214
  processSpanData(otelSpan, data, traceId) {
193
215
  const type = data.type;
194
- const contentRecording = this.isContentRecordingEnabled;
195
216
  switch (type) {
196
217
  case "response":
197
- this.processResponseSpanData(otelSpan, data, contentRecording);
218
+ this.processResponseSpanData(otelSpan, data);
198
219
  break;
199
220
  case "generation":
200
- this.processGenerationSpanData(otelSpan, data, traceId, contentRecording);
221
+ this.processGenerationSpanData(otelSpan, data, traceId);
201
222
  break;
202
223
  case "function":
203
- this.processFunctionSpanData(otelSpan, data, traceId, contentRecording);
224
+ this.processFunctionSpanData(otelSpan, data, traceId);
204
225
  break;
205
226
  case "mcp_tools":
206
227
  this.processMCPListToolsSpanData(otelSpan, data);
@@ -213,18 +234,22 @@ class OpenAIAgentsTraceProcessor {
213
234
  break;
214
235
  }
215
236
  }
216
- processResponseSpanData(otelSpan, data, contentRecording) {
237
+ processResponseSpanData(otelSpan, data) {
217
238
  const responseData = data;
218
239
  const responseObj = responseData._response || responseData.response;
219
240
  const inputObj = responseData._input || responseData.input;
220
241
  if (responseObj) {
221
242
  const resp = responseObj;
222
- if (resp.output && contentRecording) {
223
- if (typeof resp.output === "string") {
224
- otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_OUTPUT_MESSAGES, (0, utils_js_1.truncateValue)(resp.output));
243
+ // Store the output field as structured OutputMessages (always use versioned envelope)
244
+ if (resp.output != null) {
245
+ if (Array.isArray(resp.output)) {
246
+ const structured = Utils.buildStructuredOutputMessages(resp.output);
247
+ otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_OUTPUT_MESSAGES, (0, message_utils_js_1.serializeMessages)(structured));
225
248
  }
226
249
  else {
227
- otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_OUTPUT_MESSAGES, (0, utils_js_1.truncateValue)(Utils.buildOutputMessages(resp.output)));
250
+ // String or non-array object — wrap as raw content
251
+ const structured = Utils.wrapRawContentAsOutputMessages(resp.output);
252
+ otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_OUTPUT_MESSAGES, (0, message_utils_js_1.serializeMessages)(structured));
228
253
  }
229
254
  }
230
255
  // Get attributes but filter out response content key (handled above)
@@ -237,54 +262,54 @@ class OpenAIAgentsTraceProcessor {
237
262
  const modelName = attrs[index_js_1.ATTR_GEN_AI_REQUEST_MODEL] ?? "";
238
263
  otelSpan.updateName(`${index_js_1.GEN_AI_OPERATION_CHAT} ${modelName}`);
239
264
  }
240
- if (inputObj && !this.suppressInvokeAgentInput && contentRecording) {
265
+ if (inputObj != null && !this.suppressInvokeAgentInput) {
241
266
  if (typeof inputObj === "string") {
242
267
  try {
243
268
  const parsed = JSON.parse(inputObj);
244
269
  if (Array.isArray(parsed)) {
245
- otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_INPUT_MESSAGES, (0, utils_js_1.truncateValue)(Utils.buildInputMessages(parsed)));
270
+ const structured = Utils.buildStructuredInputMessages(parsed);
271
+ otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_INPUT_MESSAGES, (0, message_utils_js_1.serializeMessages)(structured));
246
272
  return;
247
273
  }
248
274
  }
249
275
  catch {
250
- // Fall back to raw string
276
+ // If parsing fails, wrap raw string in versioned envelope
251
277
  }
252
- otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_INPUT_MESSAGES, (0, utils_js_1.truncateValue)(inputObj));
278
+ const wrappedInput = Utils.wrapRawContentAsInputMessages(inputObj);
279
+ otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_INPUT_MESSAGES, (0, message_utils_js_1.serializeMessages)(wrappedInput));
253
280
  }
254
281
  else if (Array.isArray(inputObj)) {
255
- otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_INPUT_MESSAGES, (0, utils_js_1.truncateValue)(Utils.buildInputMessages(inputObj)));
282
+ const structured = Utils.buildStructuredInputMessages(inputObj);
283
+ otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_INPUT_MESSAGES, (0, message_utils_js_1.serializeMessages)(structured));
256
284
  }
257
285
  }
258
286
  }
259
- processGenerationSpanData(otelSpan, data, traceId, contentRecording) {
287
+ processGenerationSpanData(otelSpan, data, traceId) {
260
288
  const attrs = Utils.getAttributesFromGenerationSpanData(data);
261
289
  Object.entries(attrs).forEach(([key, value]) => {
262
290
  const shouldExcludeKey = key === semconv_js_1.GEN_AI_EXECUTION_PAYLOAD_KEY;
263
291
  if (value !== null && value !== undefined && !shouldExcludeKey) {
264
292
  const newKey = this.getNewKey(data.type, key);
265
293
  const resolvedKey = newKey || key;
266
- if (!this.isContentKey(resolvedKey) || contentRecording) {
294
+ if (resolvedKey !== index_js_1.ATTR_GEN_AI_INPUT_MESSAGES || !this.suppressInvokeAgentInput) {
267
295
  otelSpan.setAttribute(resolvedKey, value);
268
296
  }
269
297
  }
270
298
  });
271
299
  this.stampCustomParent(otelSpan, traceId);
272
- const operationName = attrs[index_js_1.ATTR_GEN_AI_OPERATION_NAME];
273
300
  const modelName = attrs[index_js_1.ATTR_GEN_AI_REQUEST_MODEL];
274
- if (operationName && modelName) {
275
- otelSpan.updateName(`${operationName} ${modelName}`);
301
+ if (typeof modelName === "string" && modelName.length > 0) {
302
+ otelSpan.updateName(`${index_js_1.GEN_AI_OPERATION_CHAT} ${modelName}`);
276
303
  }
277
304
  }
278
- processFunctionSpanData(otelSpan, data, traceId, contentRecording) {
305
+ processFunctionSpanData(otelSpan, data, traceId) {
279
306
  const functionData = data;
280
307
  const attrs = Utils.getAttributesFromFunctionSpanData(data);
281
308
  Object.entries(attrs).forEach(([key, value]) => {
282
309
  if (value !== null && value !== undefined) {
283
310
  const newKey = this.getNewKey(data.type, key);
284
311
  const resolvedKey = newKey || key;
285
- if (!this.isContentKey(resolvedKey) || contentRecording) {
286
- otelSpan.setAttribute(resolvedKey, value);
287
- }
312
+ otelSpan.setAttribute(resolvedKey, value);
288
313
  }
289
314
  });
290
315
  otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_TOOL_TYPE, "function");
@@ -310,9 +335,11 @@ class OpenAIAgentsTraceProcessor {
310
335
  }
311
336
  processHandoffSpanData(_otelSpan, data, traceId) {
312
337
  const handoffData = data;
313
- if (handoffData.to_agent && handoffData.from_agent) {
314
- const key = `${handoffData.to_agent}:${traceId}`;
315
- this.reverseHandoffsDict.set(key, handoffData.from_agent);
338
+ const fromAgent = handoffData.from_agent;
339
+ const toAgent = handoffData.to_agent;
340
+ if (toAgent && fromAgent) {
341
+ const key = `${toAgent}:${traceId}`;
342
+ this.reverseHandoffsDict.set(key, fromAgent);
316
343
  while (this.reverseHandoffsDict.size > OpenAIAgentsTraceProcessor.MAX_HANDOFFS_IN_FLIGHT) {
317
344
  const firstKey = this.reverseHandoffsDict.keys().next().value;
318
345
  if (firstKey) {
@@ -320,18 +347,26 @@ class OpenAIAgentsTraceProcessor {
320
347
  }
321
348
  }
322
349
  }
350
+ _otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_OPERATION_NAME, index_js_1.GEN_AI_OPERATION_INVOKE_AGENT);
351
+ if (toAgent) {
352
+ _otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_AGENT_NAME, toAgent);
353
+ _otelSpan.updateName(`${index_js_1.GEN_AI_OPERATION_INVOKE_AGENT} ${toAgent}`);
354
+ }
355
+ if (fromAgent) {
356
+ _otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_CALLER_AGENT_NAME, fromAgent);
357
+ }
323
358
  }
324
359
  processAgentSpanData(otelSpan, data, traceId) {
325
360
  const agentData = data;
326
361
  if (agentData.name) {
327
- otelSpan.setAttribute(semconv_js_1.GEN_AI_GRAPH_NODE_ID, agentData.name);
362
+ otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_AGENT_NAME, agentData.name);
328
363
  otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_OPERATION_NAME, index_js_1.GEN_AI_OPERATION_INVOKE_AGENT);
329
- // Lookup parent node from handoff
364
+ // Link back to the agent that handed off to this one (A2A caller semantics)
330
365
  const key = `${agentData.name}:${traceId}`;
331
366
  const parentNode = this.reverseHandoffsDict.get(key);
332
367
  if (parentNode) {
333
368
  this.reverseHandoffsDict.delete(key);
334
- otelSpan.setAttribute(semconv_js_1.GEN_AI_GRAPH_NODE_PARENT_ID, parentNode);
369
+ otelSpan.setAttribute(index_js_1.ATTR_GEN_AI_CALLER_AGENT_NAME, parentNode);
335
370
  }
336
371
  otelSpan.updateName(`${index_js_1.GEN_AI_OPERATION_INVOKE_AGENT} ${agentData.name}`);
337
372
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openAIAgentsTraceProcessor.js","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/openai/openAIAgentsTraceProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openAIAgentsTraceProcessor.js","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/openai/openAIAgentsTraceProcessor.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,4 @@ export declare const GEN_AI_SPAN_KIND_CHAT: "chat";
5
5
  export declare const GEN_AI_REQUEST_CONTENT_KEY: "gen_ai.request.content";
6
6
  export declare const GEN_AI_RESPONSE_CONTENT_KEY: "gen_ai.response.content";
7
7
  export declare const GEN_AI_EXECUTION_PAYLOAD_KEY: "gen_ai.execution.payload";
8
- export declare const GEN_AI_GRAPH_NODE_ID: "graph_node_id";
9
- export declare const GEN_AI_GRAPH_NODE_PARENT_ID: "graph_node_parent_id";
10
8
  //# sourceMappingURL=semconv.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"semconv.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/openai/semconv.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sBAAsB,EAAG,OAAgB,CAAC;AACvD,eAAO,MAAM,qBAAqB,EAAG,MAAe,CAAC;AACrD,eAAO,MAAM,sBAAsB,EAAG,OAAgB,CAAC;AACvD,eAAO,MAAM,qBAAqB,EAAG,MAAe,CAAC;AAGrD,eAAO,MAAM,0BAA0B,EAAG,wBAAiC,CAAC;AAC5E,eAAO,MAAM,2BAA2B,EAAG,yBAAkC,CAAC;AAC9E,eAAO,MAAM,4BAA4B,EAAG,0BAAmC,CAAC;AAChF,eAAO,MAAM,oBAAoB,EAAG,eAAwB,CAAC;AAC7D,eAAO,MAAM,2BAA2B,EAAG,sBAA+B,CAAC"}
1
+ {"version":3,"file":"semconv.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/openai/semconv.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sBAAsB,EAAG,OAAgB,CAAC;AACvD,eAAO,MAAM,qBAAqB,EAAG,MAAe,CAAC;AACrD,eAAO,MAAM,sBAAsB,EAAG,OAAgB,CAAC;AACvD,eAAO,MAAM,qBAAqB,EAAG,MAAe,CAAC;AAGrD,eAAO,MAAM,0BAA0B,EAAG,wBAAiC,CAAC;AAC5E,eAAO,MAAM,2BAA2B,EAAG,yBAAkC,CAAC;AAC9E,eAAO,MAAM,4BAA4B,EAAG,0BAAmC,CAAC"}
@@ -4,7 +4,7 @@
4
4
  // Vendored from microsoft/Agent365-nodejs packages/agents-a365-observability-extensions-openai
5
5
  // Adapted: uses local semconv constants instead of A365 imports
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.GEN_AI_GRAPH_NODE_PARENT_ID = exports.GEN_AI_GRAPH_NODE_ID = exports.GEN_AI_EXECUTION_PAYLOAD_KEY = exports.GEN_AI_RESPONSE_CONTENT_KEY = exports.GEN_AI_REQUEST_CONTENT_KEY = exports.GEN_AI_SPAN_KIND_CHAT = exports.GEN_AI_SPAN_KIND_CHAIN = exports.GEN_AI_SPAN_KIND_TOOL = exports.GEN_AI_SPAN_KIND_AGENT = void 0;
7
+ exports.GEN_AI_EXECUTION_PAYLOAD_KEY = exports.GEN_AI_RESPONSE_CONTENT_KEY = exports.GEN_AI_REQUEST_CONTENT_KEY = exports.GEN_AI_SPAN_KIND_CHAT = exports.GEN_AI_SPAN_KIND_CHAIN = exports.GEN_AI_SPAN_KIND_TOOL = exports.GEN_AI_SPAN_KIND_AGENT = void 0;
8
8
  // Span kind classifiers (map OpenAI span data types to GenAI operation kinds)
9
9
  exports.GEN_AI_SPAN_KIND_AGENT = "agent";
10
10
  exports.GEN_AI_SPAN_KIND_TOOL = "tool";
@@ -14,6 +14,4 @@ exports.GEN_AI_SPAN_KIND_CHAT = "chat";
14
14
  exports.GEN_AI_REQUEST_CONTENT_KEY = "gen_ai.request.content";
15
15
  exports.GEN_AI_RESPONSE_CONTENT_KEY = "gen_ai.response.content";
16
16
  exports.GEN_AI_EXECUTION_PAYLOAD_KEY = "gen_ai.execution.payload";
17
- exports.GEN_AI_GRAPH_NODE_ID = "graph_node_id";
18
- exports.GEN_AI_GRAPH_NODE_PARENT_ID = "graph_node_parent_id";
19
17
  //# sourceMappingURL=semconv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"semconv.js","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/openai/semconv.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAClC,+FAA+F;AAC/F,gEAAgE;;;AAEhE,8EAA8E;AACjE,QAAA,sBAAsB,GAAG,OAAgB,CAAC;AAC1C,QAAA,qBAAqB,GAAG,MAAe,CAAC;AACxC,QAAA,sBAAsB,GAAG,OAAgB,CAAC;AAC1C,QAAA,qBAAqB,GAAG,MAAe,CAAC;AAErD,4DAA4D;AAC/C,QAAA,0BAA0B,GAAG,wBAAiC,CAAC;AAC/D,QAAA,2BAA2B,GAAG,yBAAkC,CAAC;AACjE,QAAA,4BAA4B,GAAG,0BAAmC,CAAC;AACnE,QAAA,oBAAoB,GAAG,eAAwB,CAAC;AAChD,QAAA,2BAA2B,GAAG,sBAA+B,CAAC"}
1
+ {"version":3,"file":"semconv.js","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/openai/semconv.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAClC,+FAA+F;AAC/F,gEAAgE;;;AAEhE,8EAA8E;AACjE,QAAA,sBAAsB,GAAG,OAAgB,CAAC;AAC1C,QAAA,qBAAqB,GAAG,MAAe,CAAC;AACxC,QAAA,sBAAsB,GAAG,OAAgB,CAAC;AAC1C,QAAA,qBAAqB,GAAG,MAAe,CAAC;AAErD,4DAA4D;AAC/C,QAAA,0BAA0B,GAAG,wBAAiC,CAAC;AAC/D,QAAA,2BAA2B,GAAG,yBAAkC,CAAC;AACjE,QAAA,4BAA4B,GAAG,0BAAmC,CAAC"}
@@ -1,7 +1,18 @@
1
1
  import { SpanStatusCode } from "@opentelemetry/api";
2
2
  import type { Span as AgentsSpan, SpanData } from "@openai/agents-core";
3
+ import type { InputMessages, OutputMessages } from "../../../a365/contracts.js";
3
4
  /**
4
- * Safely stringify an object to JSON, truncating to the attribute limit.
5
+ * Locate and normalize usage counts across OpenAI API shapes:
6
+ * - Responses API: { input_tokens, output_tokens }
7
+ * - Chat Completions: { prompt_tokens, completion_tokens }
8
+ * Usage may live directly on the span data, on `.output`, or inside `.output[0]`.
9
+ */
10
+ export declare function extractUsageTokens(data: Record<string, unknown>): {
11
+ inputTokens?: number;
12
+ outputTokens?: number;
13
+ };
14
+ /**
15
+ * Safely stringify an object to JSON.
5
16
  */
6
17
  export declare function safeJsonDumps(obj: unknown): string;
7
18
  /**
@@ -39,25 +50,35 @@ export declare function getAttributesFromMCPListToolsSpanData(data: SpanData): R
39
50
  * Extract attributes from a response span.
40
51
  */
41
52
  export declare function getAttributesFromResponse(response: unknown): Record<string, unknown>;
42
- /** Content-sensitive attribute keys that should only be recorded when content recording is enabled. */
43
- export declare const CONTENT_KEYS: Set<string>;
44
53
  /** Key remapping table: `${spanType}${originalKey}` → target semconv key */
45
54
  export declare const KEY_MAPPINGS: Map<string, string>;
55
+ type OpenAIInputMessage = {
56
+ role: string;
57
+ content: string | unknown[] | unknown;
58
+ };
59
+ type OpenAIOutputItem = {
60
+ role?: string;
61
+ content?: unknown[];
62
+ type?: string;
63
+ text?: string;
64
+ [key: string]: unknown;
65
+ };
46
66
  /**
47
- * Build a JSON string of input messages, extracting user-role content.
67
+ * Build structured InputMessages from an OpenAI _input message array.
68
+ * Includes all roles (system, user, assistant, tool).
48
69
  */
49
- export declare function buildInputMessages(arr: Array<{
50
- role: string;
51
- content: string;
52
- }>): string;
70
+ export declare function buildStructuredInputMessages(arr: OpenAIInputMessage[]): InputMessages;
53
71
  /**
54
- * Build a JSON string of output messages, extracting output_text content.
72
+ * Build structured OutputMessages from an OpenAI response.output array.
55
73
  */
56
- export declare function buildOutputMessages(arr: Array<{
57
- role: string;
58
- content: Array<{
59
- type: string;
60
- text: string;
61
- }>;
62
- }>): string;
74
+ export declare function buildStructuredOutputMessages(arr: OpenAIOutputItem[]): OutputMessages;
75
+ /**
76
+ * Wrap opaque raw content as InputMessages (for generation span data).
77
+ */
78
+ export declare function wrapRawContentAsInputMessages(raw: unknown): InputMessages;
79
+ /**
80
+ * Wrap opaque raw content as OutputMessages (for generation span data).
81
+ */
82
+ export declare function wrapRawContentAsOutputMessages(raw: unknown): OutputMessages;
83
+ export {};
63
84
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/openai/utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAuBxE;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAgB9D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAmBlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAmBvE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG;IACzD,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAMA;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsC3F;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBzF;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ7F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBpF;AAED,uGAAuG;AACvG,eAAO,MAAM,YAAY,aAOvB,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,YAAY,qBAOvB,CAAC;AAEH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAKxF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,GAC3E,MAAM,CAaR"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/genai/instrumentations/openai/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAcxE,OAAO,KAAK,EAGV,aAAa,EACb,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAYpC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CA+BA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,MAAM,CAgB9D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAmBlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAoBvE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG;IACzD,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAMA;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwC3F;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4BzF;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ7F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBpF;AAED,4EAA4E;AAC5E,eAAO,MAAM,YAAY,qBAOvB,CAAC;AAMH,KAAK,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,OAAO,CAAA;CAAE,CAAC;AAClF,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AA6HF;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,aAAa,CAqBrF;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,cAAc,CA8BrF;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAEzE;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAE3E"}