@arizeai/openinference-genai 0.1.10 → 0.3.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.
@@ -21,6 +21,17 @@ export declare const convertGenAISpanAttributesToOpenInferenceSpanAttributes: (s
21
21
  * @returns The mapped provider and system attributes
22
22
  */
23
23
  export declare const mapProviderAndSystem: (spanAttributes: Attributes) => Attributes;
24
+ /**
25
+ * Map GenAI agent attributes to OpenInference agent attributes.
26
+ *
27
+ * Currently only gen_ai.agent.name -> agent.name. gen_ai.agent.id and
28
+ * gen_ai.agent.description (which also drive AGENT span-kind detection in mapSpanKind) are
29
+ * intentionally not mapped, as OpenInference has no corresponding agent attributes for them.
30
+ *
31
+ * @param spanAttributes - The GenAI span attributes to read agent attributes from
32
+ * @returns The mapped OpenInference agent attributes
33
+ */
34
+ export declare const mapAgentAttributes: (spanAttributes: Attributes) => Attributes;
24
35
  /**
25
36
  * Map model name to openinference attributes
26
37
  * @param spanAttributes - The span attributes containing model name to map
@@ -51,6 +62,24 @@ export declare const mapInputValue: (spanAttributes: Attributes) => Attributes;
51
62
  * @returns The mapped output value attributes
52
63
  */
53
64
  export declare const mapOutputValue: (spanAttributes: Attributes) => Attributes;
65
+ /**
66
+ * Map GenAI agent attributes to OpenInference attributes.
67
+ * @param spanAttributes - The span attributes containing agent details
68
+ * @returns The mapped agent attributes
69
+ */
70
+ export declare const mapAgent: (spanAttributes: Attributes) => Attributes;
71
+ /**
72
+ * Map GenAI system instructions into metadata for preservation.
73
+ * @param spanAttributes - The span attributes containing system instructions
74
+ * @returns The mapped metadata attributes
75
+ */
76
+ export declare const mapSystemInstructions: (spanAttributes: Attributes) => Attributes;
77
+ /**
78
+ * Map GenAI tool definitions to OpenInference LLM tool schema attributes.
79
+ * @param spanAttributes - The span attributes containing tool definitions
80
+ * @returns The mapped tool schema attributes
81
+ */
82
+ export declare const mapToolDefinitions: (spanAttributes: Attributes) => Attributes;
54
83
  /**
55
84
  * Map input messages to openinference attributes
56
85
  * @param spanAttributes - The span attributes containing input messages to map
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../src/attributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAiCrD,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,+CAA+C,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAapF,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAC5C,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AA+GpE;;;;GAIG;AACH,eAAO,MAAM,uDAAuD,GAClE,gBAAgB,UAAU,KACzB,UAaF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,gBAAgB,UAAU,KAAG,UAKjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,gBAAgB,UAAU,KAAG,UAOtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,gBAAgB,UAAU,KAAG,UAgBxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,gBAAgB,UAAU,KAAG,UA+BpE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,gBAAgB,UAAU,KAAG,UAa1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,gBAAgB,UAAU,KAAG,UAa3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,gBAAgB,UAAU,KAAG,UAgB7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,gBAAgB,UAAU,KAAG,UAiB9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,gBAAgB,UAAU,KAAG,UAc3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,gBAAgB,UAAU,KAAG,UAY7D,CAAC"}
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../src/attributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA2CrD,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,+CAA+C,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAapF,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAC5C,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAiPpE;;;;GAIG;AACH,eAAO,MAAM,uDAAuD,GAClE,gBAAgB,UAAU,KACzB,UAiBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,gBAAgB,UAAU,KAAG,UAMjE,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAAI,gBAAgB,UAAU,KAAG,UAK/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,gBAAgB,UAAU,KAAG,UAOtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,gBAAgB,UAAU,KAAG,UAiCxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,gBAAgB,UAAU,KAAG,UA+BpE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,gBAAgB,UAAU,KAAG,UAgB1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,gBAAgB,UAAU,KAAG,UAgB3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,gBAAgB,UAAU,KAAG,UAIrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,gBAAgB,UAAU,KAAG,UAelE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,gBAAgB,UAAU,KAAG,UAc/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,gBAAgB,UAAU,KAAG,UAiC7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,gBAAgB,UAAU,KAAG,UAiB9D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,gBAAgB,UAAU,KAAG,UA4B3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,gBAAgB,UAAU,KAAG,UAsB7D,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapToolExecution = exports.mapTokenCounts = exports.mapOutputMessages = exports.mapInputMessages = exports.mapOutputValue = exports.mapInputValue = exports.mapInvocationParameters = exports.mapSpanKind = exports.mapModels = exports.mapProviderAndSystem = exports.convertGenAISpanAttributesToOpenInferenceSpanAttributes = void 0;
3
+ exports.mapToolExecution = exports.mapTokenCounts = exports.mapOutputMessages = exports.mapInputMessages = exports.mapToolDefinitions = exports.mapSystemInstructions = exports.mapAgent = exports.mapOutputValue = exports.mapInputValue = exports.mapInvocationParameters = exports.mapSpanKind = exports.mapModels = exports.mapAgentAttributes = exports.mapProviderAndSystem = exports.convertGenAISpanAttributesToOpenInferenceSpanAttributes = void 0;
4
4
  const incubating_1 = require("@opentelemetry/semantic-conventions/incubating");
5
5
  const openinference_semantic_conventions_1 = require("@arizeai/openinference-semantic-conventions");
6
6
  const utils_js_1 = require("./utils.js");
@@ -9,12 +9,51 @@ const AGENT_KIND_PREFIXES = [
9
9
  incubating_1.ATTR_GEN_AI_AGENT_NAME,
10
10
  incubating_1.ATTR_GEN_AI_AGENT_DESCRIPTION,
11
11
  ];
12
+ // "plan" was added to the OTel GenAI semantic conventions
13
+ // (open-telemetry/semantic-conventions-genai#97, merged 2026-05-11) but is not yet released,
14
+ // so @opentelemetry/semantic-conventions exports no constant for it — hence the literal.
15
+ const GEN_AI_OPERATION_NAME_VALUE_PLAN = "plan";
16
+ // gen_ai.operation.name values that classify a span by OpenInference span kind. Mirrors
17
+ // AGENT_KIND_PREFIXES / TOOL_EXECUTION_PREFIXES. These operations are recognized by value
18
+ // because the conversion target — OpenInferenceSpanKind — is a closed enum with no per-
19
+ // operation member, so each operation must be mapped into our vocabulary; the original
20
+ // operation name is not preserved on the OI span.
21
+ const AGENT_OPERATIONS = new Set([
22
+ incubating_1.GEN_AI_OPERATION_NAME_VALUE_CREATE_AGENT,
23
+ incubating_1.GEN_AI_OPERATION_NAME_VALUE_INVOKE_AGENT,
24
+ GEN_AI_OPERATION_NAME_VALUE_PLAN,
25
+ ]);
26
+ // "invoke_workflow" maps to CHAIN rather than AGENT: a workflow is a fixed orchestration of
27
+ // steps (a chain), whereas AGENT is reserved for autonomous, LLM-driven control flow. An
28
+ // explicit agent identity (agent.* attribute) still takes precedence and yields AGENT; see
29
+ // mapSpanKind.
30
+ const CHAIN_OPERATIONS = new Set([
31
+ incubating_1.GEN_AI_OPERATION_NAME_VALUE_INVOKE_WORKFLOW,
32
+ ]);
33
+ // Terminal operations describe a single concrete model/data call (a leaf in the span tree),
34
+ // each with a direct OpenInference span kind. operation.name is authoritative for these — an
35
+ // agent.* identity on them is context (which agent owns the call), not a signal to upgrade
36
+ // the span to AGENT (see mapSpanKind).
37
+ const TERMINAL_OPERATION_SPAN_KINDS = new Map([
38
+ [incubating_1.GEN_AI_OPERATION_NAME_VALUE_CHAT, openinference_semantic_conventions_1.OpenInferenceSpanKind.LLM],
39
+ [incubating_1.GEN_AI_OPERATION_NAME_VALUE_TEXT_COMPLETION, openinference_semantic_conventions_1.OpenInferenceSpanKind.LLM],
40
+ [incubating_1.GEN_AI_OPERATION_NAME_VALUE_GENERATE_CONTENT, openinference_semantic_conventions_1.OpenInferenceSpanKind.LLM],
41
+ [incubating_1.GEN_AI_OPERATION_NAME_VALUE_EMBEDDINGS, openinference_semantic_conventions_1.OpenInferenceSpanKind.EMBEDDING],
42
+ [incubating_1.GEN_AI_OPERATION_NAME_VALUE_RETRIEVAL, openinference_semantic_conventions_1.OpenInferenceSpanKind.RETRIEVER],
43
+ [incubating_1.GEN_AI_OPERATION_NAME_VALUE_EXECUTE_TOOL, openinference_semantic_conventions_1.OpenInferenceSpanKind.TOOL],
44
+ ]);
12
45
  const TOOL_EXECUTION_PREFIXES = [
13
46
  incubating_1.ATTR_GEN_AI_TOOL_NAME,
14
47
  incubating_1.ATTR_GEN_AI_TOOL_DESCRIPTION,
15
48
  incubating_1.ATTR_GEN_AI_TOOL_CALL_ID,
16
49
  incubating_1.ATTR_GEN_AI_TOOL_TYPE,
17
50
  ];
51
+ const ATTR_GEN_AI_SYSTEM_INSTRUCTIONS = "gen_ai.system_instructions";
52
+ const ATTR_GEN_AI_TOOL_DEFINITIONS = "gen_ai.tool.definitions";
53
+ const ATTR_GEN_AI_TOOL_CALL_ARGUMENTS = "gen_ai.tool.call.arguments";
54
+ const ATTR_GEN_AI_TOOL_CALL_RESULT = "gen_ai.tool.call.result";
55
+ const ATTR_GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS = "gen_ai.usage.cache_read.input_tokens";
56
+ const ATTR_GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS = "gen_ai.usage.cache_creation.input_tokens";
18
57
  /**
19
58
  * Type guard for a GenAI chat message
20
59
  * @param value - The value to check
@@ -31,6 +70,59 @@ const isGenAIChatMessage = (value) => {
31
70
  return false;
32
71
  return true;
33
72
  };
73
+ /**
74
+ * Normalize a GenAI tool definition into the OpenAI-style tool schema shape expected by OpenInference.
75
+ * @param toolDefinition - The tool definition to normalize
76
+ * @returns The normalized tool definition, or the original value when it cannot be normalized
77
+ */
78
+ const normalizeToolDefinition = (toolDefinition) => {
79
+ var _a, _b;
80
+ if (typeof toolDefinition !== "object" ||
81
+ toolDefinition === null ||
82
+ Array.isArray(toolDefinition)) {
83
+ return toolDefinition;
84
+ }
85
+ const definition = toolDefinition;
86
+ if (typeof definition.function === "object" && definition.function !== null) {
87
+ return definition;
88
+ }
89
+ if (typeof definition.name !== "string") {
90
+ return definition;
91
+ }
92
+ const parameters = (_b = (_a = definition.parameters) !== null && _a !== void 0 ? _a : definition.inputSchema) !== null && _b !== void 0 ? _b : definition.input_schema;
93
+ const normalizedFunction = { name: definition.name };
94
+ if (typeof definition.description === "string") {
95
+ normalizedFunction.description = definition.description;
96
+ }
97
+ if (parameters != null) {
98
+ normalizedFunction.parameters = parameters;
99
+ }
100
+ return {
101
+ type: typeof definition.type === "string" ? definition.type : "function",
102
+ function: normalizedFunction,
103
+ };
104
+ };
105
+ const getSystemInstructionParts = (spanAttributes) => {
106
+ const systemInstructions = (0, utils_js_1.getString)(spanAttributes[ATTR_GEN_AI_SYSTEM_INSTRUCTIONS]);
107
+ if (systemInstructions == null) {
108
+ return null;
109
+ }
110
+ const parsedInstructions = (0, utils_js_1.safelyParseJSON)(systemInstructions);
111
+ if (Array.isArray(parsedInstructions)) {
112
+ const parts = parsedInstructions.flatMap((part) => {
113
+ if (typeof part === "object" &&
114
+ part !== null &&
115
+ "type" in part &&
116
+ part.type === "text" &&
117
+ "content" in part) {
118
+ return [{ type: "text", content: (0, utils_js_1.toStringContent)(part.content) }];
119
+ }
120
+ return [];
121
+ });
122
+ return parts.length > 0 ? parts : null;
123
+ }
124
+ return [{ type: "text", content: systemInstructions }];
125
+ };
34
126
  /**
35
127
  * Process genai message parts into openinference attributes
36
128
  *
@@ -76,10 +168,7 @@ const processMessageParts = ({ attrs, msgPrefix, parts, }) => {
76
168
  const id = (_c = part.id) !== null && _c !== void 0 ? _c : undefined;
77
169
  const response = (0, utils_js_1.toStringContent)(part.response);
78
170
  (0, utils_js_1.set)(attrs, `${msgPrefix}${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_TOOL_CALL_ID}`, id);
79
- const contentPrefix = `${msgPrefix}${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_CONTENTS}.${contentIndex}.`;
80
- (0, utils_js_1.set)(attrs, `${contentPrefix}${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_CONTENT_TYPE}`, "text");
81
- (0, utils_js_1.set)(attrs, `${contentPrefix}${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_CONTENT_TEXT}`, response);
82
- contentIndex += 1;
171
+ (0, utils_js_1.set)(attrs, `${msgPrefix}${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_CONTENT}`, response);
83
172
  continue;
84
173
  }
85
174
  default: {
@@ -95,13 +184,28 @@ const processMessageParts = ({ attrs, msgPrefix, parts, }) => {
95
184
  }
96
185
  }
97
186
  };
187
+ /**
188
+ * Set OpenInference attributes for a single tool response message.
189
+ *
190
+ * GenAI can group multiple tool_call_response parts under one tool-role message;
191
+ * each response needs its own OpenInference message to avoid overwriting siblings.
192
+ * @param params - The tool response message mapping parameters
193
+ */
194
+ const setToolCallResponseMessage = ({ attrs, msgPrefix, part, }) => {
195
+ var _a;
196
+ const id = (_a = part.id) !== null && _a !== void 0 ? _a : undefined;
197
+ const response = (0, utils_js_1.toStringContent)(part.response);
198
+ (0, utils_js_1.set)(attrs, `${msgPrefix}${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_ROLE}`, "tool");
199
+ (0, utils_js_1.set)(attrs, `${msgPrefix}${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_TOOL_CALL_ID}`, id);
200
+ (0, utils_js_1.set)(attrs, `${msgPrefix}${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_CONTENT}`, response);
201
+ };
98
202
  /**
99
203
  * Convert GenAI span attributes to OpenInference span attributes
100
204
  * @param spanAttributes - The span attributes containing GenAI span attributes to convert
101
205
  * @returns The converted OpenInference span attributes
102
206
  */
103
207
  const convertGenAISpanAttributesToOpenInferenceSpanAttributes = (spanAttributes) => {
104
- return (0, utils_js_1.merge)((0, exports.mapProviderAndSystem)(spanAttributes), (0, exports.mapModels)(spanAttributes), (0, exports.mapSpanKind)(spanAttributes), (0, exports.mapInvocationParameters)(spanAttributes), (0, exports.mapInputMessages)(spanAttributes), (0, exports.mapOutputMessages)(spanAttributes), (0, exports.mapTokenCounts)(spanAttributes), (0, exports.mapToolExecution)(spanAttributes), (0, exports.mapInputValue)(spanAttributes), (0, exports.mapOutputValue)(spanAttributes));
208
+ return (0, utils_js_1.merge)((0, exports.mapProviderAndSystem)(spanAttributes), (0, exports.mapAgentAttributes)(spanAttributes), (0, exports.mapModels)(spanAttributes), (0, exports.mapSpanKind)(spanAttributes), (0, exports.mapInvocationParameters)(spanAttributes), (0, exports.mapInputMessages)(spanAttributes), (0, exports.mapOutputMessages)(spanAttributes), (0, exports.mapAgent)(spanAttributes), (0, exports.mapSystemInstructions)(spanAttributes), (0, exports.mapToolDefinitions)(spanAttributes), (0, exports.mapTokenCounts)(spanAttributes), (0, exports.mapToolExecution)(spanAttributes), (0, exports.mapInputValue)(spanAttributes), (0, exports.mapOutputValue)(spanAttributes));
105
209
  };
106
210
  exports.convertGenAISpanAttributesToOpenInferenceSpanAttributes = convertGenAISpanAttributesToOpenInferenceSpanAttributes;
107
211
  /**
@@ -113,10 +217,28 @@ exports.convertGenAISpanAttributesToOpenInferenceSpanAttributes = convertGenAISp
113
217
  const mapProviderAndSystem = (spanAttributes) => {
114
218
  const attrs = {};
115
219
  const provider = (0, utils_js_1.getString)(spanAttributes[incubating_1.ATTR_GEN_AI_PROVIDER_NAME]);
220
+ (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.LLM_SYSTEM, provider);
116
221
  (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.LLM_PROVIDER, provider);
117
222
  return attrs;
118
223
  };
119
224
  exports.mapProviderAndSystem = mapProviderAndSystem;
225
+ /**
226
+ * Map GenAI agent attributes to OpenInference agent attributes.
227
+ *
228
+ * Currently only gen_ai.agent.name -> agent.name. gen_ai.agent.id and
229
+ * gen_ai.agent.description (which also drive AGENT span-kind detection in mapSpanKind) are
230
+ * intentionally not mapped, as OpenInference has no corresponding agent attributes for them.
231
+ *
232
+ * @param spanAttributes - The GenAI span attributes to read agent attributes from
233
+ * @returns The mapped OpenInference agent attributes
234
+ */
235
+ const mapAgentAttributes = (spanAttributes) => {
236
+ const attrs = {};
237
+ const agentName = (0, utils_js_1.getString)(spanAttributes[incubating_1.ATTR_GEN_AI_AGENT_NAME]);
238
+ (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.AGENT_NAME, agentName);
239
+ return attrs;
240
+ };
241
+ exports.mapAgentAttributes = mapAgentAttributes;
120
242
  /**
121
243
  * Map model name to openinference attributes
122
244
  * @param spanAttributes - The span attributes containing model name to map
@@ -140,11 +262,27 @@ const mapSpanKind = (spanAttributes) => {
140
262
  const attrs = {};
141
263
  // default to LLM for now
142
264
  let spanKind = openinference_semantic_conventions_1.OpenInferenceSpanKind.LLM;
143
- // detect agent kind
144
- if (AGENT_KIND_PREFIXES.some((prefix) => spanAttributes[prefix])) {
265
+ const operationName = (0, utils_js_1.getString)(spanAttributes[incubating_1.ATTR_GEN_AI_OPERATION_NAME]);
266
+ const terminalSpanKind = operationName !== undefined ? TERMINAL_OPERATION_SPAN_KINDS.get(operationName) : undefined;
267
+ const hasAgentAttributes = AGENT_KIND_PREFIXES.some((prefix) => spanAttributes[prefix]);
268
+ if (terminalSpanKind !== undefined) {
269
+ // Concrete leaf operation (chat/text_completion/generate_content/embeddings/retrieval/
270
+ // execute_tool): authoritative. An agent.* identity here is just context (which agent
271
+ // owns the call) and does not upgrade it to AGENT.
272
+ spanKind = terminalSpanKind;
273
+ }
274
+ else if (hasAgentAttributes ||
275
+ (operationName !== undefined && AGENT_OPERATIONS.has(operationName))) {
276
+ // Control-flow span: an agent.* identity, or an agent-class operation, makes it AGENT —
277
+ // even over a CHAIN-class operation like invoke_workflow.
145
278
  spanKind = openinference_semantic_conventions_1.OpenInferenceSpanKind.AGENT;
146
279
  }
147
- // detect tool execution kind
280
+ else if (operationName !== undefined && CHAIN_OPERATIONS.has(operationName)) {
281
+ // CHAIN-class operation, only reached when no agent identity is present.
282
+ spanKind = openinference_semantic_conventions_1.OpenInferenceSpanKind.CHAIN;
283
+ }
284
+ // Tool attributes force TOOL even when the operation says otherwise — covers tool-execution
285
+ // spans not labeled with operation.name = execute_tool.
148
286
  if (TOOL_EXECUTION_PREFIXES.some((prefix) => spanAttributes[prefix])) {
149
287
  spanKind = openinference_semantic_conventions_1.OpenInferenceSpanKind.TOOL;
150
288
  }
@@ -205,6 +343,9 @@ const mapInputValue = (spanAttributes) => {
205
343
  // fallback to deprecated prompt attribute if input is not present
206
344
  input = (0, utils_js_1.getString)(spanAttributes[incubating_1.ATTR_GEN_AI_PROMPT]);
207
345
  }
346
+ if (!input) {
347
+ input = (0, utils_js_1.getString)(spanAttributes[incubating_1.ATTR_GEN_AI_INPUT_MESSAGES]);
348
+ }
208
349
  // only set input value and mime type if input is present
209
350
  if (input) {
210
351
  (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.INPUT_VALUE, input);
@@ -225,6 +366,9 @@ const mapOutputValue = (spanAttributes) => {
225
366
  // fallback to deprecated completion attribute if output is not present
226
367
  output = (0, utils_js_1.getString)(spanAttributes[incubating_1.ATTR_GEN_AI_COMPLETION]);
227
368
  }
369
+ if (!output) {
370
+ output = (0, utils_js_1.getString)(spanAttributes[incubating_1.ATTR_GEN_AI_OUTPUT_MESSAGES]);
371
+ }
228
372
  // only set output value and mime type if output is present
229
373
  if (output) {
230
374
  (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.OUTPUT_VALUE, output);
@@ -233,6 +377,56 @@ const mapOutputValue = (spanAttributes) => {
233
377
  return attrs;
234
378
  };
235
379
  exports.mapOutputValue = mapOutputValue;
380
+ /**
381
+ * Map GenAI agent attributes to OpenInference attributes.
382
+ * @param spanAttributes - The span attributes containing agent details
383
+ * @returns The mapped agent attributes
384
+ */
385
+ const mapAgent = (spanAttributes) => {
386
+ const attrs = {};
387
+ (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.AGENT_NAME, (0, utils_js_1.getString)(spanAttributes[incubating_1.ATTR_GEN_AI_AGENT_NAME]));
388
+ return attrs;
389
+ };
390
+ exports.mapAgent = mapAgent;
391
+ /**
392
+ * Map GenAI system instructions into metadata for preservation.
393
+ * @param spanAttributes - The span attributes containing system instructions
394
+ * @returns The mapped metadata attributes
395
+ */
396
+ const mapSystemInstructions = (spanAttributes) => {
397
+ var _a;
398
+ const attrs = {};
399
+ const systemInstructions = (0, utils_js_1.getString)(spanAttributes[ATTR_GEN_AI_SYSTEM_INSTRUCTIONS]);
400
+ if (systemInstructions) {
401
+ (0, utils_js_1.set)(attrs, `${openinference_semantic_conventions_1.SemanticConventions.METADATA}.gen_ai.system_instructions`, systemInstructions);
402
+ const msgPrefix = `${openinference_semantic_conventions_1.SemanticConventions.LLM_INPUT_MESSAGES}.0.`;
403
+ (0, utils_js_1.set)(attrs, `${msgPrefix}${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_ROLE}`, "system");
404
+ processMessageParts({
405
+ attrs,
406
+ msgPrefix,
407
+ parts: (_a = getSystemInstructionParts(spanAttributes)) !== null && _a !== void 0 ? _a : [],
408
+ });
409
+ }
410
+ return attrs;
411
+ };
412
+ exports.mapSystemInstructions = mapSystemInstructions;
413
+ /**
414
+ * Map GenAI tool definitions to OpenInference LLM tool schema attributes.
415
+ * @param spanAttributes - The span attributes containing tool definitions
416
+ * @returns The mapped tool schema attributes
417
+ */
418
+ const mapToolDefinitions = (spanAttributes) => {
419
+ const attrs = {};
420
+ const toolDefinitions = (0, utils_js_1.getString)(spanAttributes[ATTR_GEN_AI_TOOL_DEFINITIONS]);
421
+ const parsedToolDefinitions = (0, utils_js_1.safelyParseJSON)(toolDefinitions);
422
+ if (Array.isArray(parsedToolDefinitions)) {
423
+ parsedToolDefinitions.forEach((toolDefinition, index) => {
424
+ (0, utils_js_1.set)(attrs, `${openinference_semantic_conventions_1.SemanticConventions.LLM_TOOLS}.${index}.${openinference_semantic_conventions_1.SemanticConventions.TOOL_JSON_SCHEMA}`, (0, utils_js_1.safelyJSONStringify)(normalizeToolDefinition(toolDefinition)));
425
+ });
426
+ }
427
+ return attrs;
428
+ };
429
+ exports.mapToolDefinitions = mapToolDefinitions;
236
430
  /**
237
431
  * Map input messages to openinference attributes
238
432
  * @param spanAttributes - The span attributes containing input messages to map
@@ -242,14 +436,25 @@ const mapInputMessages = (spanAttributes) => {
242
436
  const attrs = {};
243
437
  const genAIInputMessages = (0, utils_js_1.safelyParseJSON)(spanAttributes[incubating_1.ATTR_GEN_AI_INPUT_MESSAGES]);
244
438
  if (Array.isArray(genAIInputMessages)) {
245
- genAIInputMessages.forEach((msg, msgIndex) => {
439
+ let msgIndex = getSystemInstructionParts(spanAttributes) != null ? 1 : 0;
440
+ genAIInputMessages.forEach((msg) => {
246
441
  if (!isGenAIChatMessage(msg))
247
442
  return;
443
+ const toolCallResponses = msg.parts.filter((part) => (part === null || part === void 0 ? void 0 : part.type) === "tool_call_response");
444
+ if (msg.role === "tool" && toolCallResponses.length > 0) {
445
+ toolCallResponses.forEach((part) => {
446
+ const msgPrefix = `${openinference_semantic_conventions_1.SemanticConventions.LLM_INPUT_MESSAGES}.${msgIndex}.`;
447
+ setToolCallResponseMessage({ attrs, msgPrefix, part });
448
+ msgIndex += 1;
449
+ });
450
+ return;
451
+ }
248
452
  const msgPrefix = `${openinference_semantic_conventions_1.SemanticConventions.LLM_INPUT_MESSAGES}.${msgIndex}.`;
249
453
  // set the message role
250
454
  (0, utils_js_1.set)(attrs, `${msgPrefix}${openinference_semantic_conventions_1.SemanticConventions.MESSAGE_ROLE}`, msg.role);
251
455
  // process and set the rest of the message parts
252
456
  processMessageParts({ attrs, msgPrefix, parts: msg.parts });
457
+ msgIndex += 1;
253
458
  });
254
459
  }
255
460
  return attrs;
@@ -287,6 +492,8 @@ const mapTokenCounts = (spanAttributes) => {
287
492
  const attrs = {};
288
493
  const inputTokens = (0, utils_js_1.getNumber)(spanAttributes[incubating_1.ATTR_GEN_AI_USAGE_INPUT_TOKENS]);
289
494
  const outputTokens = (0, utils_js_1.getNumber)(spanAttributes[incubating_1.ATTR_GEN_AI_USAGE_OUTPUT_TOKENS]);
495
+ const cacheReadInputTokens = (0, utils_js_1.getNumber)(spanAttributes[ATTR_GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS]);
496
+ const cacheCreationInputTokens = (0, utils_js_1.getNumber)(spanAttributes[ATTR_GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS]);
290
497
  if (typeof inputTokens === "number") {
291
498
  (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.LLM_TOKEN_COUNT_PROMPT, inputTokens);
292
499
  }
@@ -296,6 +503,12 @@ const mapTokenCounts = (spanAttributes) => {
296
503
  if (typeof inputTokens === "number" && typeof outputTokens === "number") {
297
504
  (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.LLM_TOKEN_COUNT_TOTAL, inputTokens + outputTokens);
298
505
  }
506
+ if (typeof cacheReadInputTokens === "number") {
507
+ (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.LLM_TOKEN_COUNT_PROMPT_DETAILS_CACHE_READ, cacheReadInputTokens);
508
+ }
509
+ if (typeof cacheCreationInputTokens === "number") {
510
+ (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.LLM_TOKEN_COUNT_PROMPT_DETAILS_CACHE_WRITE, cacheCreationInputTokens);
511
+ }
299
512
  return attrs;
300
513
  };
301
514
  exports.mapTokenCounts = mapTokenCounts;
@@ -310,11 +523,21 @@ const mapToolExecution = (spanAttributes) => {
310
523
  const toolName = (0, utils_js_1.getString)(spanAttributes[incubating_1.ATTR_GEN_AI_TOOL_NAME]);
311
524
  const toolDescription = (0, utils_js_1.getString)(spanAttributes[incubating_1.ATTR_GEN_AI_TOOL_DESCRIPTION]);
312
525
  const toolCallId = (0, utils_js_1.getString)(spanAttributes[incubating_1.ATTR_GEN_AI_TOOL_CALL_ID]);
526
+ const toolCallArguments = (0, utils_js_1.getString)(spanAttributes[ATTR_GEN_AI_TOOL_CALL_ARGUMENTS]);
527
+ const toolCallResult = (0, utils_js_1.getString)(spanAttributes[ATTR_GEN_AI_TOOL_CALL_RESULT]);
313
528
  // parse supported tool details
314
- // note: while openinference can track parameters, gen_ai does not provide this information
315
529
  (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.TOOL_NAME, toolName);
316
530
  (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.TOOL_DESCRIPTION, toolDescription);
317
531
  (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.TOOL_CALL_ID, toolCallId);
532
+ (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.TOOL_PARAMETERS, toolCallArguments);
533
+ if (toolCallArguments) {
534
+ (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.INPUT_VALUE, toolCallArguments);
535
+ (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.INPUT_MIME_TYPE, (0, utils_js_1.getMimeType)(toolCallArguments));
536
+ }
537
+ if (toolCallResult) {
538
+ (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.OUTPUT_VALUE, toolCallResult);
539
+ (0, utils_js_1.set)(attrs, openinference_semantic_conventions_1.SemanticConventions.OUTPUT_MIME_TYPE, (0, utils_js_1.getMimeType)(toolCallResult));
540
+ }
318
541
  return attrs;
319
542
  };
320
543
  exports.mapToolExecution = mapToolExecution;
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../src/attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../src/attributes.ts"],"names":[],"mappings":"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"}