@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
@@ -2,10 +2,10 @@
2
2
  // Licensed under the MIT License.
3
3
  // Vendored from microsoft/Agent365-nodejs packages/agents-a365-observability-extensions-openai
4
4
  // Adapted: removed A365 ObservabilityManager dependency, uses local semconv + utils
5
- import { context, trace as OtelTrace, diag, } from "@opentelemetry/api";
6
- import { ATTR_GEN_AI_INPUT_MESSAGES, ATTR_GEN_AI_OPERATION_NAME, ATTR_GEN_AI_OUTPUT_MESSAGES, ATTR_GEN_AI_PROVIDER_NAME, ATTR_GEN_AI_REQUEST_MODEL, ATTR_GEN_AI_TOOL_TYPE, ATTR_GEN_AI_TOOL_NAME, GEN_AI_OPERATION_CHAT, GEN_AI_OPERATION_EXECUTE_TOOL, GEN_AI_OPERATION_INVOKE_AGENT, } from "../../index.js";
7
- import { truncateValue } from "../../utils.js";
8
- import { GEN_AI_GRAPH_NODE_ID, GEN_AI_GRAPH_NODE_PARENT_ID, GEN_AI_RESPONSE_CONTENT_KEY, GEN_AI_EXECUTION_PAYLOAD_KEY, } from "./semconv.js";
5
+ import { context, trace as OtelTrace, SpanKind, diag, } from "@opentelemetry/api";
6
+ import { ATTR_GEN_AI_AGENT_NAME, ATTR_GEN_AI_CALLER_AGENT_NAME, ATTR_GEN_AI_INPUT_MESSAGES, ATTR_GEN_AI_OPERATION_NAME, ATTR_GEN_AI_OUTPUT_MESSAGES, ATTR_GEN_AI_PROVIDER_NAME, ATTR_GEN_AI_REQUEST_MODEL, ATTR_GEN_AI_TOOL_TYPE, ATTR_GEN_AI_TOOL_NAME, ATTR_ERROR_TYPE, GEN_AI_OPERATION_CHAT, GEN_AI_OPERATION_EXECUTE_TOOL, GEN_AI_OPERATION_INVOKE_AGENT, } from "../../index.js";
7
+ import { serializeMessages } from "../../../a365/message-utils.js";
8
+ import { GEN_AI_RESPONSE_CONTENT_KEY, GEN_AI_EXECUTION_PAYLOAD_KEY } from "./semconv.js";
9
9
  import * as Utils from "./utils.js";
10
10
  /**
11
11
  * OpenTelemetry-based trace processor for the OpenAI Agents SDK.
@@ -20,15 +20,22 @@ import * as Utils from "./utils.js";
20
20
  * - Creates an OTel span on `onSpanStart` and ends it on `onSpanEnd`.
21
21
  * - Maintains parent–child span relationships via trace/span ID maps.
22
22
  * - Guards against unbounded memory with a hard cap of {@link MAX_SPANS_IN_FLIGHT}.
23
- * - Content-sensitive attributes (messages, tool args) are only recorded
24
- * when `isContentRecordingEnabled` is true.
23
+ * - Content attributes (messages, tool args) are always recorded
24
+ * (aligned with Python/.NET SDKs).
25
25
  */
26
26
  export class OpenAIAgentsTraceProcessor {
27
27
  static MAX_HANDOFFS_IN_FLIGHT = 1_000;
28
28
  static MAX_SPANS_IN_FLIGHT = 10_000;
29
+ static SERVER_SPAN_TYPES = new Set(["agent"]);
30
+ static CLIENT_SPAN_TYPES = new Set([
31
+ "handoff",
32
+ "response",
33
+ "generation",
34
+ "function",
35
+ "mcp_tools",
36
+ ]);
29
37
  tracer;
30
38
  suppressInvokeAgentInput;
31
- isContentRecordingEnabled;
32
39
  /** Root spans keyed by trace ID. */
33
40
  rootSpans = new Map();
34
41
  /** Active OTel spans keyed by OpenAI span ID. */
@@ -42,10 +49,6 @@ export class OpenAIAgentsTraceProcessor {
42
49
  constructor(tracer, options) {
43
50
  this.tracer = tracer;
44
51
  this.suppressInvokeAgentInput = options?.suppressInvokeAgentInput ?? false;
45
- this.isContentRecordingEnabled = options?.isContentRecordingEnabled ?? false;
46
- }
47
- isContentKey(key) {
48
- return Utils.CONTENT_KEYS.has(key);
49
52
  }
50
53
  getNewKey(spanType, key) {
51
54
  return Utils.KEY_MAPPINGS.get(`${spanType}${key}`) ?? null;
@@ -73,6 +76,11 @@ export class OpenAIAgentsTraceProcessor {
73
76
  if (!startedAt || !spanId || !traceId) {
74
77
  return;
75
78
  }
79
+ const spanType = spanData?.type;
80
+ // Skip span types we don't map to schema-defined operations.
81
+ if (!spanType || spanType === "custom" || spanType === "guardrail") {
82
+ return;
83
+ }
76
84
  if (this.otelSpans.size >= OpenAIAgentsTraceProcessor.MAX_SPANS_IN_FLIGHT) {
77
85
  diag.warn(`[OpenAIAgentsTraceProcessor] Max spans in flight (${OpenAIAgentsTraceProcessor.MAX_SPANS_IN_FLIGHT}) reached, skipping span`);
78
86
  return;
@@ -85,8 +93,15 @@ export class OpenAIAgentsTraceProcessor {
85
93
  ? OtelTrace.setSpan(context.active(), parentSpan)
86
94
  : context.active();
87
95
  const spanName = Utils.getSpanName(span);
96
+ // SpanKind per OTel client/server semantics + A365 schema:
97
+ const kind = OpenAIAgentsTraceProcessor.SERVER_SPAN_TYPES.has(spanType)
98
+ ? SpanKind.SERVER
99
+ : OpenAIAgentsTraceProcessor.CLIENT_SPAN_TYPES.has(spanType)
100
+ ? SpanKind.CLIENT
101
+ : undefined;
88
102
  // Start OpenTelemetry span
89
103
  const otelSpan = this.tracer.startSpan(spanName, {
104
+ kind,
90
105
  startTime,
91
106
  attributes: {
92
107
  [ATTR_GEN_AI_OPERATION_NAME]: Utils.getOperationName(spanData),
@@ -136,6 +151,13 @@ export class OpenAIAgentsTraceProcessor {
136
151
  const endTime = endedAt ? new Date(endedAt).getTime() : undefined;
137
152
  const status = Utils.getSpanStatus(span);
138
153
  otelSpan.setStatus(status);
154
+ if (span.error) {
155
+ const errData = span.error.data;
156
+ const errorType = (typeof errData?.type === "string" && errData.type) ||
157
+ span.error.name ||
158
+ "error";
159
+ otelSpan.setAttribute(ATTR_ERROR_TYPE, errorType);
160
+ }
139
161
  if (endTime) {
140
162
  otelSpan.end(endTime);
141
163
  }
@@ -155,16 +177,15 @@ export class OpenAIAgentsTraceProcessor {
155
177
  // -- Span data processors --
156
178
  processSpanData(otelSpan, data, traceId) {
157
179
  const type = data.type;
158
- const contentRecording = this.isContentRecordingEnabled;
159
180
  switch (type) {
160
181
  case "response":
161
- this.processResponseSpanData(otelSpan, data, contentRecording);
182
+ this.processResponseSpanData(otelSpan, data);
162
183
  break;
163
184
  case "generation":
164
- this.processGenerationSpanData(otelSpan, data, traceId, contentRecording);
185
+ this.processGenerationSpanData(otelSpan, data, traceId);
165
186
  break;
166
187
  case "function":
167
- this.processFunctionSpanData(otelSpan, data, traceId, contentRecording);
188
+ this.processFunctionSpanData(otelSpan, data, traceId);
168
189
  break;
169
190
  case "mcp_tools":
170
191
  this.processMCPListToolsSpanData(otelSpan, data);
@@ -177,18 +198,22 @@ export class OpenAIAgentsTraceProcessor {
177
198
  break;
178
199
  }
179
200
  }
180
- processResponseSpanData(otelSpan, data, contentRecording) {
201
+ processResponseSpanData(otelSpan, data) {
181
202
  const responseData = data;
182
203
  const responseObj = responseData._response || responseData.response;
183
204
  const inputObj = responseData._input || responseData.input;
184
205
  if (responseObj) {
185
206
  const resp = responseObj;
186
- if (resp.output && contentRecording) {
187
- if (typeof resp.output === "string") {
188
- otelSpan.setAttribute(ATTR_GEN_AI_OUTPUT_MESSAGES, truncateValue(resp.output));
207
+ // Store the output field as structured OutputMessages (always use versioned envelope)
208
+ if (resp.output != null) {
209
+ if (Array.isArray(resp.output)) {
210
+ const structured = Utils.buildStructuredOutputMessages(resp.output);
211
+ otelSpan.setAttribute(ATTR_GEN_AI_OUTPUT_MESSAGES, serializeMessages(structured));
189
212
  }
190
213
  else {
191
- otelSpan.setAttribute(ATTR_GEN_AI_OUTPUT_MESSAGES, truncateValue(Utils.buildOutputMessages(resp.output)));
214
+ // String or non-array object — wrap as raw content
215
+ const structured = Utils.wrapRawContentAsOutputMessages(resp.output);
216
+ otelSpan.setAttribute(ATTR_GEN_AI_OUTPUT_MESSAGES, serializeMessages(structured));
192
217
  }
193
218
  }
194
219
  // Get attributes but filter out response content key (handled above)
@@ -201,54 +226,54 @@ export class OpenAIAgentsTraceProcessor {
201
226
  const modelName = attrs[ATTR_GEN_AI_REQUEST_MODEL] ?? "";
202
227
  otelSpan.updateName(`${GEN_AI_OPERATION_CHAT} ${modelName}`);
203
228
  }
204
- if (inputObj && !this.suppressInvokeAgentInput && contentRecording) {
229
+ if (inputObj != null && !this.suppressInvokeAgentInput) {
205
230
  if (typeof inputObj === "string") {
206
231
  try {
207
232
  const parsed = JSON.parse(inputObj);
208
233
  if (Array.isArray(parsed)) {
209
- otelSpan.setAttribute(ATTR_GEN_AI_INPUT_MESSAGES, truncateValue(Utils.buildInputMessages(parsed)));
234
+ const structured = Utils.buildStructuredInputMessages(parsed);
235
+ otelSpan.setAttribute(ATTR_GEN_AI_INPUT_MESSAGES, serializeMessages(structured));
210
236
  return;
211
237
  }
212
238
  }
213
239
  catch {
214
- // Fall back to raw string
240
+ // If parsing fails, wrap raw string in versioned envelope
215
241
  }
216
- otelSpan.setAttribute(ATTR_GEN_AI_INPUT_MESSAGES, truncateValue(inputObj));
242
+ const wrappedInput = Utils.wrapRawContentAsInputMessages(inputObj);
243
+ otelSpan.setAttribute(ATTR_GEN_AI_INPUT_MESSAGES, serializeMessages(wrappedInput));
217
244
  }
218
245
  else if (Array.isArray(inputObj)) {
219
- otelSpan.setAttribute(ATTR_GEN_AI_INPUT_MESSAGES, truncateValue(Utils.buildInputMessages(inputObj)));
246
+ const structured = Utils.buildStructuredInputMessages(inputObj);
247
+ otelSpan.setAttribute(ATTR_GEN_AI_INPUT_MESSAGES, serializeMessages(structured));
220
248
  }
221
249
  }
222
250
  }
223
- processGenerationSpanData(otelSpan, data, traceId, contentRecording) {
251
+ processGenerationSpanData(otelSpan, data, traceId) {
224
252
  const attrs = Utils.getAttributesFromGenerationSpanData(data);
225
253
  Object.entries(attrs).forEach(([key, value]) => {
226
254
  const shouldExcludeKey = key === GEN_AI_EXECUTION_PAYLOAD_KEY;
227
255
  if (value !== null && value !== undefined && !shouldExcludeKey) {
228
256
  const newKey = this.getNewKey(data.type, key);
229
257
  const resolvedKey = newKey || key;
230
- if (!this.isContentKey(resolvedKey) || contentRecording) {
258
+ if (resolvedKey !== ATTR_GEN_AI_INPUT_MESSAGES || !this.suppressInvokeAgentInput) {
231
259
  otelSpan.setAttribute(resolvedKey, value);
232
260
  }
233
261
  }
234
262
  });
235
263
  this.stampCustomParent(otelSpan, traceId);
236
- const operationName = attrs[ATTR_GEN_AI_OPERATION_NAME];
237
264
  const modelName = attrs[ATTR_GEN_AI_REQUEST_MODEL];
238
- if (operationName && modelName) {
239
- otelSpan.updateName(`${operationName} ${modelName}`);
265
+ if (typeof modelName === "string" && modelName.length > 0) {
266
+ otelSpan.updateName(`${GEN_AI_OPERATION_CHAT} ${modelName}`);
240
267
  }
241
268
  }
242
- processFunctionSpanData(otelSpan, data, traceId, contentRecording) {
269
+ processFunctionSpanData(otelSpan, data, traceId) {
243
270
  const functionData = data;
244
271
  const attrs = Utils.getAttributesFromFunctionSpanData(data);
245
272
  Object.entries(attrs).forEach(([key, value]) => {
246
273
  if (value !== null && value !== undefined) {
247
274
  const newKey = this.getNewKey(data.type, key);
248
275
  const resolvedKey = newKey || key;
249
- if (!this.isContentKey(resolvedKey) || contentRecording) {
250
- otelSpan.setAttribute(resolvedKey, value);
251
- }
276
+ otelSpan.setAttribute(resolvedKey, value);
252
277
  }
253
278
  });
254
279
  otelSpan.setAttribute(ATTR_GEN_AI_TOOL_TYPE, "function");
@@ -274,9 +299,11 @@ export class OpenAIAgentsTraceProcessor {
274
299
  }
275
300
  processHandoffSpanData(_otelSpan, data, traceId) {
276
301
  const handoffData = data;
277
- if (handoffData.to_agent && handoffData.from_agent) {
278
- const key = `${handoffData.to_agent}:${traceId}`;
279
- this.reverseHandoffsDict.set(key, handoffData.from_agent);
302
+ const fromAgent = handoffData.from_agent;
303
+ const toAgent = handoffData.to_agent;
304
+ if (toAgent && fromAgent) {
305
+ const key = `${toAgent}:${traceId}`;
306
+ this.reverseHandoffsDict.set(key, fromAgent);
280
307
  while (this.reverseHandoffsDict.size > OpenAIAgentsTraceProcessor.MAX_HANDOFFS_IN_FLIGHT) {
281
308
  const firstKey = this.reverseHandoffsDict.keys().next().value;
282
309
  if (firstKey) {
@@ -284,18 +311,26 @@ export class OpenAIAgentsTraceProcessor {
284
311
  }
285
312
  }
286
313
  }
314
+ _otelSpan.setAttribute(ATTR_GEN_AI_OPERATION_NAME, GEN_AI_OPERATION_INVOKE_AGENT);
315
+ if (toAgent) {
316
+ _otelSpan.setAttribute(ATTR_GEN_AI_AGENT_NAME, toAgent);
317
+ _otelSpan.updateName(`${GEN_AI_OPERATION_INVOKE_AGENT} ${toAgent}`);
318
+ }
319
+ if (fromAgent) {
320
+ _otelSpan.setAttribute(ATTR_GEN_AI_CALLER_AGENT_NAME, fromAgent);
321
+ }
287
322
  }
288
323
  processAgentSpanData(otelSpan, data, traceId) {
289
324
  const agentData = data;
290
325
  if (agentData.name) {
291
- otelSpan.setAttribute(GEN_AI_GRAPH_NODE_ID, agentData.name);
326
+ otelSpan.setAttribute(ATTR_GEN_AI_AGENT_NAME, agentData.name);
292
327
  otelSpan.setAttribute(ATTR_GEN_AI_OPERATION_NAME, GEN_AI_OPERATION_INVOKE_AGENT);
293
- // Lookup parent node from handoff
328
+ // Link back to the agent that handed off to this one (A2A caller semantics)
294
329
  const key = `${agentData.name}:${traceId}`;
295
330
  const parentNode = this.reverseHandoffsDict.get(key);
296
331
  if (parentNode) {
297
332
  this.reverseHandoffsDict.delete(key);
298
- otelSpan.setAttribute(GEN_AI_GRAPH_NODE_PARENT_ID, parentNode);
333
+ otelSpan.setAttribute(ATTR_GEN_AI_CALLER_AGENT_NAME, parentNode);
299
334
  }
300
335
  otelSpan.updateName(`${GEN_AI_OPERATION_INVOKE_AGENT} ${agentData.name}`);
301
336
  }
@@ -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":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,+FAA+F;AAC/F,oFAAoF;AAEpF,OAAO,EACL,OAAO,EACP,KAAK,IAAI,SAAS,EAGlB,QAAQ,EACR,IAAI,GACL,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAIpC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,0BAA0B;IAC7B,MAAM,CAAU,sBAAsB,GAAG,KAAK,CAAC;IAC/C,MAAM,CAAU,mBAAmB,GAAG,MAAM,CAAC;IAC7C,MAAM,CAAU,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,CAAU,iBAAiB,GAAG,IAAI,GAAG,CAAC;QAClD,SAAS;QACT,UAAU;QACV,YAAY;QACZ,UAAU;QACV,WAAW;KACZ,CAAC,CAAC;IAEc,MAAM,CAAa;IACnB,wBAAwB,CAAU;IAEnD,oCAAoC;IACnB,SAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;IAC9D,iDAAiD;IAChC,SAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;IAC9D,0CAA0C;IACzB,MAAM,GAA8B,IAAI,GAAG,EAAE,CAAC;IAC/D,+DAA+D;IAC9C,mBAAmB,GAAwB,IAAI,GAAG,EAAE,CAAC;IACtE,6DAA6D;IAC5C,SAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;IAE9D,YACE,MAAkB,EAClB,OAEC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,wBAAwB,GAAG,OAAO,EAAE,wBAAwB,IAAI,KAAK,CAAC;IAC7E,CAAC;IAEO,SAAS,CAAC,QAAgB,EAAE,GAAW;QAC7C,OAAO,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC;IAC7D,CAAC;IAED,mCAAmC;IAE5B,KAAK,CAAC,KAAK;QAChB,QAAQ;IACV,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,MAAkB;QAC1C,QAAQ;IACV,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,KAAiB;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,IAA0B;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,EAAE,IAA0B,CAAC;QAEtD,6DAA6D;QAC7D,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YACnE,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,0BAA0B,CAAC,mBAAmB,EAAE,CAAC;YAC1E,IAAI,CAAC,IAAI,CACP,qDAAqD,0BAA0B,CAAC,mBAAmB,0BAA0B,CAC9H,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAEhD,mBAAmB;QACnB,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEzF,6BAA6B;QAC7B,MAAM,aAAa,GAAG,UAAU;YAC9B,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC;YACjD,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAErB,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEzC,2DAA2D;QAC3D,MAAM,IAAI,GAAG,0BAA0B,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;YACrE,CAAC,CAAC,QAAQ,CAAC,MAAM;YACjB,CAAC,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC1D,CAAC,CAAC,QAAQ,CAAC,MAAM;gBACjB,CAAC,CAAC,SAAS,CAAC;QAEhB,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CACpC,QAAQ,EACR;YACE,IAAI;YACJ,SAAS;YACT,UAAU,EAAE;gBACV,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC;gBAC9D,CAAC,yBAAyB,CAAC,EAAE,QAAQ;aACtC;SACF,EACD,aAAa,CACd,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,IAA0B;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhC,mDAAmD;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,mBAAmB;QACnB,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7C,kCAAkC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAI,IAAI,CAAC,KAA2D,CAAC,IAAI,CAAC;YACvF,MAAM,SAAS,GACb,CAAC,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;gBAClD,IAAI,CAAC,KAA2B,CAAC,IAAI;gBACtC,OAAO,CAAC;YACV,QAAQ,CAAC,YAAY,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,QAAQ;IACV,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,QAAiB;QACrC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,6BAA6B;IAErB,eAAe,CAAC,QAAkB,EAAE,IAAc,EAAE,OAAe;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU;gBACb,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC7C,MAAM;YAER,KAAK,YAAY;gBACf,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACxD,MAAM;YAER,KAAK,UAAU;gBACb,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACtD,MAAM;YAER,KAAK,WAAW;gBACd,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACjD,MAAM;YAER,KAAK,SAAS;gBACZ,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACrD,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM;QACV,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,QAAkB,EAAE,IAAc;QAChE,MAAM,YAAY,GAAG,IAA+B,CAAC;QACrD,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC;QACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC;QAE3D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,WAAsC,CAAC;YAEpD,sFAAsF;YACtF,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,6BAA6B,CACpD,IAAI,CAAC,MAAwC,CAC9C,CAAC;oBACF,QAAQ,CAAC,YAAY,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACN,mDAAmD;oBACnD,MAAM,UAAU,GAAG,KAAK,CAAC,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrE,QAAQ,CAAC,YAAY,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,MAAM,KAAK,GAAG,KAAK,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,2BAA2B,EAAE,CAAC;oBACjF,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,KAAkC,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC;YACzD,QAAQ,CAAC,UAAU,CAAC,GAAG,qBAAqB,IAAI,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACvD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAkB,CAAC,CAAC;oBAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;wBAC9D,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;wBACjF,OAAO;oBACT,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,0DAA0D;gBAC5D,CAAC;gBACD,MAAM,YAAY,GAAG,KAAK,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACnE,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;YACrF,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,KAAK,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;gBAChE,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;IACH,CAAC;IAEO,yBAAyB,CAAC,QAAkB,EAAE,IAAc,EAAE,OAAe;QACnF,MAAM,KAAK,GAAG,KAAK,CAAC,mCAAmC,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7C,MAAM,gBAAgB,GAAG,GAAG,KAAK,4BAA4B,CAAC;YAC9D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,GAAG,CAAC;gBAClC,IAAI,WAAW,KAAK,0BAA0B,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBACjF,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,KAAkC,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE1C,MAAM,SAAS,GAAG,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACnD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,QAAQ,CAAC,UAAU,CAAC,GAAG,qBAAqB,IAAI,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,QAAkB,EAAE,IAAc,EAAE,OAAe;QACjF,MAAM,YAAY,GAAG,IAA+B,CAAC;QACrD,MAAM,KAAK,GAAG,KAAK,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,GAAG,CAAC;gBAClC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,KAAkC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,YAAY,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QAEzD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1C,QAAQ,CAAC,UAAU,CAAC,GAAG,6BAA6B,IAAI,YAAY,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QACnF,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;IACnF,CAAC;IAEO,2BAA2B,CAAC,QAAkB,EAAE,IAAc;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,qCAAqC,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC9C,QAAQ,CAAC,YAAY,CAAC,MAAM,IAAI,GAAG,EAAE,KAAkC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;QACjF,MAAM,UAAU,GAAI,IAA6B,CAAC,MAAM,IAAI,SAAS,CAAC;QACtE,QAAQ,CAAC,UAAU,CAAC,GAAG,6BAA6B,IAAI,UAAU,EAAE,CAAC,CAAC;QACtE,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,CAAC,YAAY,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;QACD,QAAQ,CAAC,YAAY,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAEO,sBAAsB,CAAC,SAAmB,EAAE,IAAc,EAAE,OAAe;QACjF,MAAM,WAAW,GAAG,IAA+B,CAAC;QACpD,MAAM,SAAS,GAAG,WAAW,CAAC,UAAgC,CAAC;QAC/D,MAAM,OAAO,GAAG,WAAW,CAAC,QAA8B,CAAC;QAE3D,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAE7C,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,0BAA0B,CAAC,sBAAsB,EAAE,CAAC;gBACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;gBAC9D,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAED,SAAS,CAAC,YAAY,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;QAClF,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,CAAC,YAAY,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;YACxD,SAAS,CAAC,UAAU,CAAC,GAAG,6BAA6B,IAAI,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,YAAY,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,QAAkB,EAAE,IAAc,EAAE,OAAe;QAC9E,MAAM,SAAS,GAAG,IAA+B,CAAC;QAClD,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;YACnB,QAAQ,CAAC,YAAY,CAAC,sBAAsB,EAAE,SAAS,CAAC,IAAc,CAAC,CAAC;YACxE,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;YAEjF,4EAA4E;YAC5E,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrC,QAAQ,CAAC,YAAY,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;YACnE,CAAC;YAED,QAAQ,CAAC,UAAU,CAAC,GAAG,6BAA6B,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,QAAkB,EAAE,OAAe;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QACzC,QAAQ,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC"}
@@ -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"}
@@ -11,6 +11,4 @@ export const GEN_AI_SPAN_KIND_CHAT = "chat";
11
11
  export const GEN_AI_REQUEST_CONTENT_KEY = "gen_ai.request.content";
12
12
  export const GEN_AI_RESPONSE_CONTENT_KEY = "gen_ai.response.content";
13
13
  export const GEN_AI_EXECUTION_PAYLOAD_KEY = "gen_ai.execution.payload";
14
- export const GEN_AI_GRAPH_NODE_ID = "graph_node_id";
15
- export const GEN_AI_GRAPH_NODE_PARENT_ID = "graph_node_parent_id";
16
14
  //# 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;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAgB,CAAC;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAe,CAAC;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAgB,CAAC;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAe,CAAC;AAErD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,0BAA0B,GAAG,wBAAiC,CAAC;AAC5E,MAAM,CAAC,MAAM,2BAA2B,GAAG,yBAAkC,CAAC;AAC9E,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAAmC,CAAC;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAwB,CAAC;AAC7D,MAAM,CAAC,MAAM,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;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAgB,CAAC;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAe,CAAC;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAgB,CAAC;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAe,CAAC;AAErD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,0BAA0B,GAAG,wBAAiC,CAAC;AAC5E,MAAM,CAAC,MAAM,2BAA2B,GAAG,yBAAkC,CAAC;AAC9E,MAAM,CAAC,MAAM,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"}