@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.
- package/dist/commonjs/attributes.d.ts +29 -0
- package/dist/commonjs/attributes.d.ts.map +1 -1
- package/dist/commonjs/attributes.js +234 -11
- package/dist/commonjs/attributes.js.map +1 -1
- package/dist/commonjs/tsconfig.commonjs.tsbuildinfo +1 -1
- package/dist/esm/attributes.d.ts +29 -0
- package/dist/esm/attributes.d.ts.map +1 -1
- package/dist/esm/attributes.js +227 -11
- package/dist/esm/attributes.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/attributes.ts +289 -9
package/dist/esm/attributes.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ATTR_GEN_AI_AGENT_DESCRIPTION, ATTR_GEN_AI_AGENT_ID, ATTR_GEN_AI_AGENT_NAME, ATTR_GEN_AI_COMPLETION, ATTR_GEN_AI_INPUT_MESSAGES, ATTR_GEN_AI_OUTPUT_MESSAGES, ATTR_GEN_AI_PROMPT, ATTR_GEN_AI_PROVIDER_NAME, ATTR_GEN_AI_REQUEST_FREQUENCY_PENALTY, ATTR_GEN_AI_REQUEST_MAX_TOKENS, ATTR_GEN_AI_REQUEST_MODEL, ATTR_GEN_AI_REQUEST_PRESENCE_PENALTY, ATTR_GEN_AI_REQUEST_SEED, ATTR_GEN_AI_REQUEST_STOP_SEQUENCES, ATTR_GEN_AI_REQUEST_TEMPERATURE, ATTR_GEN_AI_REQUEST_TOP_K, ATTR_GEN_AI_REQUEST_TOP_P, ATTR_GEN_AI_RESPONSE_MODEL, ATTR_GEN_AI_TOOL_CALL_ID, ATTR_GEN_AI_TOOL_DESCRIPTION, ATTR_GEN_AI_TOOL_NAME, ATTR_GEN_AI_TOOL_TYPE, ATTR_GEN_AI_USAGE_INPUT_TOKENS, ATTR_GEN_AI_USAGE_OUTPUT_TOKENS, } from "@opentelemetry/semantic-conventions/incubating";
|
|
1
|
+
import { ATTR_GEN_AI_AGENT_DESCRIPTION, ATTR_GEN_AI_AGENT_ID, ATTR_GEN_AI_AGENT_NAME, ATTR_GEN_AI_COMPLETION, ATTR_GEN_AI_INPUT_MESSAGES, ATTR_GEN_AI_OPERATION_NAME, ATTR_GEN_AI_OUTPUT_MESSAGES, ATTR_GEN_AI_PROMPT, ATTR_GEN_AI_PROVIDER_NAME, ATTR_GEN_AI_REQUEST_FREQUENCY_PENALTY, ATTR_GEN_AI_REQUEST_MAX_TOKENS, ATTR_GEN_AI_REQUEST_MODEL, ATTR_GEN_AI_REQUEST_PRESENCE_PENALTY, ATTR_GEN_AI_REQUEST_SEED, ATTR_GEN_AI_REQUEST_STOP_SEQUENCES, ATTR_GEN_AI_REQUEST_TEMPERATURE, ATTR_GEN_AI_REQUEST_TOP_K, ATTR_GEN_AI_REQUEST_TOP_P, ATTR_GEN_AI_RESPONSE_MODEL, ATTR_GEN_AI_TOOL_CALL_ID, ATTR_GEN_AI_TOOL_DESCRIPTION, ATTR_GEN_AI_TOOL_NAME, ATTR_GEN_AI_TOOL_TYPE, ATTR_GEN_AI_USAGE_INPUT_TOKENS, ATTR_GEN_AI_USAGE_OUTPUT_TOKENS, GEN_AI_OPERATION_NAME_VALUE_CHAT, GEN_AI_OPERATION_NAME_VALUE_CREATE_AGENT, GEN_AI_OPERATION_NAME_VALUE_EMBEDDINGS, GEN_AI_OPERATION_NAME_VALUE_EXECUTE_TOOL, GEN_AI_OPERATION_NAME_VALUE_GENERATE_CONTENT, GEN_AI_OPERATION_NAME_VALUE_INVOKE_AGENT, GEN_AI_OPERATION_NAME_VALUE_INVOKE_WORKFLOW, GEN_AI_OPERATION_NAME_VALUE_RETRIEVAL, GEN_AI_OPERATION_NAME_VALUE_TEXT_COMPLETION, } from "@opentelemetry/semantic-conventions/incubating";
|
|
2
2
|
import { OpenInferenceSpanKind, SemanticConventions, } from "@arizeai/openinference-semantic-conventions";
|
|
3
3
|
import { getMimeType, getNumber, getString, getStringArray, merge, safelyJSONStringify, safelyParseJSON, set, toStringContent, } from "./utils.js";
|
|
4
4
|
const AGENT_KIND_PREFIXES = [
|
|
@@ -6,12 +6,51 @@ const AGENT_KIND_PREFIXES = [
|
|
|
6
6
|
ATTR_GEN_AI_AGENT_NAME,
|
|
7
7
|
ATTR_GEN_AI_AGENT_DESCRIPTION,
|
|
8
8
|
];
|
|
9
|
+
// "plan" was added to the OTel GenAI semantic conventions
|
|
10
|
+
// (open-telemetry/semantic-conventions-genai#97, merged 2026-05-11) but is not yet released,
|
|
11
|
+
// so @opentelemetry/semantic-conventions exports no constant for it — hence the literal.
|
|
12
|
+
const GEN_AI_OPERATION_NAME_VALUE_PLAN = "plan";
|
|
13
|
+
// gen_ai.operation.name values that classify a span by OpenInference span kind. Mirrors
|
|
14
|
+
// AGENT_KIND_PREFIXES / TOOL_EXECUTION_PREFIXES. These operations are recognized by value
|
|
15
|
+
// because the conversion target — OpenInferenceSpanKind — is a closed enum with no per-
|
|
16
|
+
// operation member, so each operation must be mapped into our vocabulary; the original
|
|
17
|
+
// operation name is not preserved on the OI span.
|
|
18
|
+
const AGENT_OPERATIONS = new Set([
|
|
19
|
+
GEN_AI_OPERATION_NAME_VALUE_CREATE_AGENT,
|
|
20
|
+
GEN_AI_OPERATION_NAME_VALUE_INVOKE_AGENT,
|
|
21
|
+
GEN_AI_OPERATION_NAME_VALUE_PLAN,
|
|
22
|
+
]);
|
|
23
|
+
// "invoke_workflow" maps to CHAIN rather than AGENT: a workflow is a fixed orchestration of
|
|
24
|
+
// steps (a chain), whereas AGENT is reserved for autonomous, LLM-driven control flow. An
|
|
25
|
+
// explicit agent identity (agent.* attribute) still takes precedence and yields AGENT; see
|
|
26
|
+
// mapSpanKind.
|
|
27
|
+
const CHAIN_OPERATIONS = new Set([
|
|
28
|
+
GEN_AI_OPERATION_NAME_VALUE_INVOKE_WORKFLOW,
|
|
29
|
+
]);
|
|
30
|
+
// Terminal operations describe a single concrete model/data call (a leaf in the span tree),
|
|
31
|
+
// each with a direct OpenInference span kind. operation.name is authoritative for these — an
|
|
32
|
+
// agent.* identity on them is context (which agent owns the call), not a signal to upgrade
|
|
33
|
+
// the span to AGENT (see mapSpanKind).
|
|
34
|
+
const TERMINAL_OPERATION_SPAN_KINDS = new Map([
|
|
35
|
+
[GEN_AI_OPERATION_NAME_VALUE_CHAT, OpenInferenceSpanKind.LLM],
|
|
36
|
+
[GEN_AI_OPERATION_NAME_VALUE_TEXT_COMPLETION, OpenInferenceSpanKind.LLM],
|
|
37
|
+
[GEN_AI_OPERATION_NAME_VALUE_GENERATE_CONTENT, OpenInferenceSpanKind.LLM],
|
|
38
|
+
[GEN_AI_OPERATION_NAME_VALUE_EMBEDDINGS, OpenInferenceSpanKind.EMBEDDING],
|
|
39
|
+
[GEN_AI_OPERATION_NAME_VALUE_RETRIEVAL, OpenInferenceSpanKind.RETRIEVER],
|
|
40
|
+
[GEN_AI_OPERATION_NAME_VALUE_EXECUTE_TOOL, OpenInferenceSpanKind.TOOL],
|
|
41
|
+
]);
|
|
9
42
|
const TOOL_EXECUTION_PREFIXES = [
|
|
10
43
|
ATTR_GEN_AI_TOOL_NAME,
|
|
11
44
|
ATTR_GEN_AI_TOOL_DESCRIPTION,
|
|
12
45
|
ATTR_GEN_AI_TOOL_CALL_ID,
|
|
13
46
|
ATTR_GEN_AI_TOOL_TYPE,
|
|
14
47
|
];
|
|
48
|
+
const ATTR_GEN_AI_SYSTEM_INSTRUCTIONS = "gen_ai.system_instructions";
|
|
49
|
+
const ATTR_GEN_AI_TOOL_DEFINITIONS = "gen_ai.tool.definitions";
|
|
50
|
+
const ATTR_GEN_AI_TOOL_CALL_ARGUMENTS = "gen_ai.tool.call.arguments";
|
|
51
|
+
const ATTR_GEN_AI_TOOL_CALL_RESULT = "gen_ai.tool.call.result";
|
|
52
|
+
const ATTR_GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS = "gen_ai.usage.cache_read.input_tokens";
|
|
53
|
+
const ATTR_GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS = "gen_ai.usage.cache_creation.input_tokens";
|
|
15
54
|
/**
|
|
16
55
|
* Type guard for a GenAI chat message
|
|
17
56
|
* @param value - The value to check
|
|
@@ -28,6 +67,58 @@ const isGenAIChatMessage = (value) => {
|
|
|
28
67
|
return false;
|
|
29
68
|
return true;
|
|
30
69
|
};
|
|
70
|
+
/**
|
|
71
|
+
* Normalize a GenAI tool definition into the OpenAI-style tool schema shape expected by OpenInference.
|
|
72
|
+
* @param toolDefinition - The tool definition to normalize
|
|
73
|
+
* @returns The normalized tool definition, or the original value when it cannot be normalized
|
|
74
|
+
*/
|
|
75
|
+
const normalizeToolDefinition = (toolDefinition) => {
|
|
76
|
+
if (typeof toolDefinition !== "object" ||
|
|
77
|
+
toolDefinition === null ||
|
|
78
|
+
Array.isArray(toolDefinition)) {
|
|
79
|
+
return toolDefinition;
|
|
80
|
+
}
|
|
81
|
+
const definition = toolDefinition;
|
|
82
|
+
if (typeof definition.function === "object" && definition.function !== null) {
|
|
83
|
+
return definition;
|
|
84
|
+
}
|
|
85
|
+
if (typeof definition.name !== "string") {
|
|
86
|
+
return definition;
|
|
87
|
+
}
|
|
88
|
+
const parameters = definition.parameters ?? definition.inputSchema ?? definition.input_schema;
|
|
89
|
+
const normalizedFunction = { name: definition.name };
|
|
90
|
+
if (typeof definition.description === "string") {
|
|
91
|
+
normalizedFunction.description = definition.description;
|
|
92
|
+
}
|
|
93
|
+
if (parameters != null) {
|
|
94
|
+
normalizedFunction.parameters = parameters;
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
type: typeof definition.type === "string" ? definition.type : "function",
|
|
98
|
+
function: normalizedFunction,
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
const getSystemInstructionParts = (spanAttributes) => {
|
|
102
|
+
const systemInstructions = getString(spanAttributes[ATTR_GEN_AI_SYSTEM_INSTRUCTIONS]);
|
|
103
|
+
if (systemInstructions == null) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
const parsedInstructions = safelyParseJSON(systemInstructions);
|
|
107
|
+
if (Array.isArray(parsedInstructions)) {
|
|
108
|
+
const parts = parsedInstructions.flatMap((part) => {
|
|
109
|
+
if (typeof part === "object" &&
|
|
110
|
+
part !== null &&
|
|
111
|
+
"type" in part &&
|
|
112
|
+
part.type === "text" &&
|
|
113
|
+
"content" in part) {
|
|
114
|
+
return [{ type: "text", content: toStringContent(part.content) }];
|
|
115
|
+
}
|
|
116
|
+
return [];
|
|
117
|
+
});
|
|
118
|
+
return parts.length > 0 ? parts : null;
|
|
119
|
+
}
|
|
120
|
+
return [{ type: "text", content: systemInstructions }];
|
|
121
|
+
};
|
|
31
122
|
/**
|
|
32
123
|
* Process genai message parts into openinference attributes
|
|
33
124
|
*
|
|
@@ -72,10 +163,7 @@ const processMessageParts = ({ attrs, msgPrefix, parts, }) => {
|
|
|
72
163
|
const id = part.id ?? undefined;
|
|
73
164
|
const response = toStringContent(part.response);
|
|
74
165
|
set(attrs, `${msgPrefix}${SemanticConventions.MESSAGE_TOOL_CALL_ID}`, id);
|
|
75
|
-
|
|
76
|
-
set(attrs, `${contentPrefix}${SemanticConventions.MESSAGE_CONTENT_TYPE}`, "text");
|
|
77
|
-
set(attrs, `${contentPrefix}${SemanticConventions.MESSAGE_CONTENT_TEXT}`, response);
|
|
78
|
-
contentIndex += 1;
|
|
166
|
+
set(attrs, `${msgPrefix}${SemanticConventions.MESSAGE_CONTENT}`, response);
|
|
79
167
|
continue;
|
|
80
168
|
}
|
|
81
169
|
default: {
|
|
@@ -91,13 +179,27 @@ const processMessageParts = ({ attrs, msgPrefix, parts, }) => {
|
|
|
91
179
|
}
|
|
92
180
|
}
|
|
93
181
|
};
|
|
182
|
+
/**
|
|
183
|
+
* Set OpenInference attributes for a single tool response message.
|
|
184
|
+
*
|
|
185
|
+
* GenAI can group multiple tool_call_response parts under one tool-role message;
|
|
186
|
+
* each response needs its own OpenInference message to avoid overwriting siblings.
|
|
187
|
+
* @param params - The tool response message mapping parameters
|
|
188
|
+
*/
|
|
189
|
+
const setToolCallResponseMessage = ({ attrs, msgPrefix, part, }) => {
|
|
190
|
+
const id = part.id ?? undefined;
|
|
191
|
+
const response = toStringContent(part.response);
|
|
192
|
+
set(attrs, `${msgPrefix}${SemanticConventions.MESSAGE_ROLE}`, "tool");
|
|
193
|
+
set(attrs, `${msgPrefix}${SemanticConventions.MESSAGE_TOOL_CALL_ID}`, id);
|
|
194
|
+
set(attrs, `${msgPrefix}${SemanticConventions.MESSAGE_CONTENT}`, response);
|
|
195
|
+
};
|
|
94
196
|
/**
|
|
95
197
|
* Convert GenAI span attributes to OpenInference span attributes
|
|
96
198
|
* @param spanAttributes - The span attributes containing GenAI span attributes to convert
|
|
97
199
|
* @returns The converted OpenInference span attributes
|
|
98
200
|
*/
|
|
99
201
|
export const convertGenAISpanAttributesToOpenInferenceSpanAttributes = (spanAttributes) => {
|
|
100
|
-
return merge(mapProviderAndSystem(spanAttributes), mapModels(spanAttributes), mapSpanKind(spanAttributes), mapInvocationParameters(spanAttributes), mapInputMessages(spanAttributes), mapOutputMessages(spanAttributes), mapTokenCounts(spanAttributes), mapToolExecution(spanAttributes), mapInputValue(spanAttributes), mapOutputValue(spanAttributes));
|
|
202
|
+
return merge(mapProviderAndSystem(spanAttributes), mapAgentAttributes(spanAttributes), mapModels(spanAttributes), mapSpanKind(spanAttributes), mapInvocationParameters(spanAttributes), mapInputMessages(spanAttributes), mapOutputMessages(spanAttributes), mapAgent(spanAttributes), mapSystemInstructions(spanAttributes), mapToolDefinitions(spanAttributes), mapTokenCounts(spanAttributes), mapToolExecution(spanAttributes), mapInputValue(spanAttributes), mapOutputValue(spanAttributes));
|
|
101
203
|
};
|
|
102
204
|
/**
|
|
103
205
|
* Map provider and system to openinference attributes
|
|
@@ -108,9 +210,26 @@ export const convertGenAISpanAttributesToOpenInferenceSpanAttributes = (spanAttr
|
|
|
108
210
|
export const mapProviderAndSystem = (spanAttributes) => {
|
|
109
211
|
const attrs = {};
|
|
110
212
|
const provider = getString(spanAttributes[ATTR_GEN_AI_PROVIDER_NAME]);
|
|
213
|
+
set(attrs, SemanticConventions.LLM_SYSTEM, provider);
|
|
111
214
|
set(attrs, SemanticConventions.LLM_PROVIDER, provider);
|
|
112
215
|
return attrs;
|
|
113
216
|
};
|
|
217
|
+
/**
|
|
218
|
+
* Map GenAI agent attributes to OpenInference agent attributes.
|
|
219
|
+
*
|
|
220
|
+
* Currently only gen_ai.agent.name -> agent.name. gen_ai.agent.id and
|
|
221
|
+
* gen_ai.agent.description (which also drive AGENT span-kind detection in mapSpanKind) are
|
|
222
|
+
* intentionally not mapped, as OpenInference has no corresponding agent attributes for them.
|
|
223
|
+
*
|
|
224
|
+
* @param spanAttributes - The GenAI span attributes to read agent attributes from
|
|
225
|
+
* @returns The mapped OpenInference agent attributes
|
|
226
|
+
*/
|
|
227
|
+
export const mapAgentAttributes = (spanAttributes) => {
|
|
228
|
+
const attrs = {};
|
|
229
|
+
const agentName = getString(spanAttributes[ATTR_GEN_AI_AGENT_NAME]);
|
|
230
|
+
set(attrs, SemanticConventions.AGENT_NAME, agentName);
|
|
231
|
+
return attrs;
|
|
232
|
+
};
|
|
114
233
|
/**
|
|
115
234
|
* Map model name to openinference attributes
|
|
116
235
|
* @param spanAttributes - The span attributes containing model name to map
|
|
@@ -133,11 +252,27 @@ export const mapSpanKind = (spanAttributes) => {
|
|
|
133
252
|
const attrs = {};
|
|
134
253
|
// default to LLM for now
|
|
135
254
|
let spanKind = OpenInferenceSpanKind.LLM;
|
|
136
|
-
|
|
137
|
-
|
|
255
|
+
const operationName = getString(spanAttributes[ATTR_GEN_AI_OPERATION_NAME]);
|
|
256
|
+
const terminalSpanKind = operationName !== undefined ? TERMINAL_OPERATION_SPAN_KINDS.get(operationName) : undefined;
|
|
257
|
+
const hasAgentAttributes = AGENT_KIND_PREFIXES.some((prefix) => spanAttributes[prefix]);
|
|
258
|
+
if (terminalSpanKind !== undefined) {
|
|
259
|
+
// Concrete leaf operation (chat/text_completion/generate_content/embeddings/retrieval/
|
|
260
|
+
// execute_tool): authoritative. An agent.* identity here is just context (which agent
|
|
261
|
+
// owns the call) and does not upgrade it to AGENT.
|
|
262
|
+
spanKind = terminalSpanKind;
|
|
263
|
+
}
|
|
264
|
+
else if (hasAgentAttributes ||
|
|
265
|
+
(operationName !== undefined && AGENT_OPERATIONS.has(operationName))) {
|
|
266
|
+
// Control-flow span: an agent.* identity, or an agent-class operation, makes it AGENT —
|
|
267
|
+
// even over a CHAIN-class operation like invoke_workflow.
|
|
138
268
|
spanKind = OpenInferenceSpanKind.AGENT;
|
|
139
269
|
}
|
|
140
|
-
|
|
270
|
+
else if (operationName !== undefined && CHAIN_OPERATIONS.has(operationName)) {
|
|
271
|
+
// CHAIN-class operation, only reached when no agent identity is present.
|
|
272
|
+
spanKind = OpenInferenceSpanKind.CHAIN;
|
|
273
|
+
}
|
|
274
|
+
// Tool attributes force TOOL even when the operation says otherwise — covers tool-execution
|
|
275
|
+
// spans not labeled with operation.name = execute_tool.
|
|
141
276
|
if (TOOL_EXECUTION_PREFIXES.some((prefix) => spanAttributes[prefix])) {
|
|
142
277
|
spanKind = OpenInferenceSpanKind.TOOL;
|
|
143
278
|
}
|
|
@@ -196,6 +331,9 @@ export const mapInputValue = (spanAttributes) => {
|
|
|
196
331
|
// fallback to deprecated prompt attribute if input is not present
|
|
197
332
|
input = getString(spanAttributes[ATTR_GEN_AI_PROMPT]);
|
|
198
333
|
}
|
|
334
|
+
if (!input) {
|
|
335
|
+
input = getString(spanAttributes[ATTR_GEN_AI_INPUT_MESSAGES]);
|
|
336
|
+
}
|
|
199
337
|
// only set input value and mime type if input is present
|
|
200
338
|
if (input) {
|
|
201
339
|
set(attrs, SemanticConventions.INPUT_VALUE, input);
|
|
@@ -215,6 +353,9 @@ export const mapOutputValue = (spanAttributes) => {
|
|
|
215
353
|
// fallback to deprecated completion attribute if output is not present
|
|
216
354
|
output = getString(spanAttributes[ATTR_GEN_AI_COMPLETION]);
|
|
217
355
|
}
|
|
356
|
+
if (!output) {
|
|
357
|
+
output = getString(spanAttributes[ATTR_GEN_AI_OUTPUT_MESSAGES]);
|
|
358
|
+
}
|
|
218
359
|
// only set output value and mime type if output is present
|
|
219
360
|
if (output) {
|
|
220
361
|
set(attrs, SemanticConventions.OUTPUT_VALUE, output);
|
|
@@ -222,6 +363,52 @@ export const mapOutputValue = (spanAttributes) => {
|
|
|
222
363
|
}
|
|
223
364
|
return attrs;
|
|
224
365
|
};
|
|
366
|
+
/**
|
|
367
|
+
* Map GenAI agent attributes to OpenInference attributes.
|
|
368
|
+
* @param spanAttributes - The span attributes containing agent details
|
|
369
|
+
* @returns The mapped agent attributes
|
|
370
|
+
*/
|
|
371
|
+
export const mapAgent = (spanAttributes) => {
|
|
372
|
+
const attrs = {};
|
|
373
|
+
set(attrs, SemanticConventions.AGENT_NAME, getString(spanAttributes[ATTR_GEN_AI_AGENT_NAME]));
|
|
374
|
+
return attrs;
|
|
375
|
+
};
|
|
376
|
+
/**
|
|
377
|
+
* Map GenAI system instructions into metadata for preservation.
|
|
378
|
+
* @param spanAttributes - The span attributes containing system instructions
|
|
379
|
+
* @returns The mapped metadata attributes
|
|
380
|
+
*/
|
|
381
|
+
export const mapSystemInstructions = (spanAttributes) => {
|
|
382
|
+
const attrs = {};
|
|
383
|
+
const systemInstructions = getString(spanAttributes[ATTR_GEN_AI_SYSTEM_INSTRUCTIONS]);
|
|
384
|
+
if (systemInstructions) {
|
|
385
|
+
set(attrs, `${SemanticConventions.METADATA}.gen_ai.system_instructions`, systemInstructions);
|
|
386
|
+
const msgPrefix = `${SemanticConventions.LLM_INPUT_MESSAGES}.0.`;
|
|
387
|
+
set(attrs, `${msgPrefix}${SemanticConventions.MESSAGE_ROLE}`, "system");
|
|
388
|
+
processMessageParts({
|
|
389
|
+
attrs,
|
|
390
|
+
msgPrefix,
|
|
391
|
+
parts: getSystemInstructionParts(spanAttributes) ?? [],
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
return attrs;
|
|
395
|
+
};
|
|
396
|
+
/**
|
|
397
|
+
* Map GenAI tool definitions to OpenInference LLM tool schema attributes.
|
|
398
|
+
* @param spanAttributes - The span attributes containing tool definitions
|
|
399
|
+
* @returns The mapped tool schema attributes
|
|
400
|
+
*/
|
|
401
|
+
export const mapToolDefinitions = (spanAttributes) => {
|
|
402
|
+
const attrs = {};
|
|
403
|
+
const toolDefinitions = getString(spanAttributes[ATTR_GEN_AI_TOOL_DEFINITIONS]);
|
|
404
|
+
const parsedToolDefinitions = safelyParseJSON(toolDefinitions);
|
|
405
|
+
if (Array.isArray(parsedToolDefinitions)) {
|
|
406
|
+
parsedToolDefinitions.forEach((toolDefinition, index) => {
|
|
407
|
+
set(attrs, `${SemanticConventions.LLM_TOOLS}.${index}.${SemanticConventions.TOOL_JSON_SCHEMA}`, safelyJSONStringify(normalizeToolDefinition(toolDefinition)));
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
return attrs;
|
|
411
|
+
};
|
|
225
412
|
/**
|
|
226
413
|
* Map input messages to openinference attributes
|
|
227
414
|
* @param spanAttributes - The span attributes containing input messages to map
|
|
@@ -231,14 +418,25 @@ export const mapInputMessages = (spanAttributes) => {
|
|
|
231
418
|
const attrs = {};
|
|
232
419
|
const genAIInputMessages = safelyParseJSON(spanAttributes[ATTR_GEN_AI_INPUT_MESSAGES]);
|
|
233
420
|
if (Array.isArray(genAIInputMessages)) {
|
|
234
|
-
|
|
421
|
+
let msgIndex = getSystemInstructionParts(spanAttributes) != null ? 1 : 0;
|
|
422
|
+
genAIInputMessages.forEach((msg) => {
|
|
235
423
|
if (!isGenAIChatMessage(msg))
|
|
236
424
|
return;
|
|
425
|
+
const toolCallResponses = msg.parts.filter((part) => part?.type === "tool_call_response");
|
|
426
|
+
if (msg.role === "tool" && toolCallResponses.length > 0) {
|
|
427
|
+
toolCallResponses.forEach((part) => {
|
|
428
|
+
const msgPrefix = `${SemanticConventions.LLM_INPUT_MESSAGES}.${msgIndex}.`;
|
|
429
|
+
setToolCallResponseMessage({ attrs, msgPrefix, part });
|
|
430
|
+
msgIndex += 1;
|
|
431
|
+
});
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
237
434
|
const msgPrefix = `${SemanticConventions.LLM_INPUT_MESSAGES}.${msgIndex}.`;
|
|
238
435
|
// set the message role
|
|
239
436
|
set(attrs, `${msgPrefix}${SemanticConventions.MESSAGE_ROLE}`, msg.role);
|
|
240
437
|
// process and set the rest of the message parts
|
|
241
438
|
processMessageParts({ attrs, msgPrefix, parts: msg.parts });
|
|
439
|
+
msgIndex += 1;
|
|
242
440
|
});
|
|
243
441
|
}
|
|
244
442
|
return attrs;
|
|
@@ -274,6 +472,8 @@ export const mapTokenCounts = (spanAttributes) => {
|
|
|
274
472
|
const attrs = {};
|
|
275
473
|
const inputTokens = getNumber(spanAttributes[ATTR_GEN_AI_USAGE_INPUT_TOKENS]);
|
|
276
474
|
const outputTokens = getNumber(spanAttributes[ATTR_GEN_AI_USAGE_OUTPUT_TOKENS]);
|
|
475
|
+
const cacheReadInputTokens = getNumber(spanAttributes[ATTR_GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS]);
|
|
476
|
+
const cacheCreationInputTokens = getNumber(spanAttributes[ATTR_GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS]);
|
|
277
477
|
if (typeof inputTokens === "number") {
|
|
278
478
|
set(attrs, SemanticConventions.LLM_TOKEN_COUNT_PROMPT, inputTokens);
|
|
279
479
|
}
|
|
@@ -283,6 +483,12 @@ export const mapTokenCounts = (spanAttributes) => {
|
|
|
283
483
|
if (typeof inputTokens === "number" && typeof outputTokens === "number") {
|
|
284
484
|
set(attrs, SemanticConventions.LLM_TOKEN_COUNT_TOTAL, inputTokens + outputTokens);
|
|
285
485
|
}
|
|
486
|
+
if (typeof cacheReadInputTokens === "number") {
|
|
487
|
+
set(attrs, SemanticConventions.LLM_TOKEN_COUNT_PROMPT_DETAILS_CACHE_READ, cacheReadInputTokens);
|
|
488
|
+
}
|
|
489
|
+
if (typeof cacheCreationInputTokens === "number") {
|
|
490
|
+
set(attrs, SemanticConventions.LLM_TOKEN_COUNT_PROMPT_DETAILS_CACHE_WRITE, cacheCreationInputTokens);
|
|
491
|
+
}
|
|
286
492
|
return attrs;
|
|
287
493
|
};
|
|
288
494
|
/**
|
|
@@ -296,11 +502,21 @@ export const mapToolExecution = (spanAttributes) => {
|
|
|
296
502
|
const toolName = getString(spanAttributes[ATTR_GEN_AI_TOOL_NAME]);
|
|
297
503
|
const toolDescription = getString(spanAttributes[ATTR_GEN_AI_TOOL_DESCRIPTION]);
|
|
298
504
|
const toolCallId = getString(spanAttributes[ATTR_GEN_AI_TOOL_CALL_ID]);
|
|
505
|
+
const toolCallArguments = getString(spanAttributes[ATTR_GEN_AI_TOOL_CALL_ARGUMENTS]);
|
|
506
|
+
const toolCallResult = getString(spanAttributes[ATTR_GEN_AI_TOOL_CALL_RESULT]);
|
|
299
507
|
// parse supported tool details
|
|
300
|
-
// note: while openinference can track parameters, gen_ai does not provide this information
|
|
301
508
|
set(attrs, SemanticConventions.TOOL_NAME, toolName);
|
|
302
509
|
set(attrs, SemanticConventions.TOOL_DESCRIPTION, toolDescription);
|
|
303
510
|
set(attrs, SemanticConventions.TOOL_CALL_ID, toolCallId);
|
|
511
|
+
set(attrs, SemanticConventions.TOOL_PARAMETERS, toolCallArguments);
|
|
512
|
+
if (toolCallArguments) {
|
|
513
|
+
set(attrs, SemanticConventions.INPUT_VALUE, toolCallArguments);
|
|
514
|
+
set(attrs, SemanticConventions.INPUT_MIME_TYPE, getMimeType(toolCallArguments));
|
|
515
|
+
}
|
|
516
|
+
if (toolCallResult) {
|
|
517
|
+
set(attrs, SemanticConventions.OUTPUT_VALUE, toolCallResult);
|
|
518
|
+
set(attrs, SemanticConventions.OUTPUT_MIME_TYPE, getMimeType(toolCallResult));
|
|
519
|
+
}
|
|
304
520
|
return attrs;
|
|
305
521
|
};
|
|
306
522
|
//# sourceMappingURL=attributes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../src/attributes.ts"],"names":[],"mappings":"AACA,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,yBAAyB,EACzB,qCAAqC,EACrC,8BAA8B,EAC9B,yBAAyB,EACzB,oCAAoC,EACpC,wBAAwB,EACxB,kCAAkC,EAClC,+BAA+B,EAC/B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,gDAAgD,CAAC;AAExD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EACL,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,KAAK,EACL,mBAAmB,EACnB,eAAe,EACf,GAAG,EACH,eAAe,GAChB,MAAM,YAAY,CAAC;AAUpB,MAAM,mBAAmB,GAAG;IAC1B,oBAAoB;IACpB,sBAAsB;IACtB,6BAA6B;CACrB,CAAC;AAEX,MAAM,uBAAuB,GAAG;IAC9B,qBAAqB;IACrB,4BAA4B;IAC5B,wBAAwB;IACxB,qBAAqB;CACb,CAAC;AAKX;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAwB,EAAE;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChF,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,EAC3B,KAAK,EACL,SAAS,EACT,KAAK,GAQN,EAAQ,EAAE;IACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAExD,iEAAiE;IACjE,iDAAiD;IACjD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS;QAEzB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,2BAA2B;oBAC3B,MAAM,aAAa,GAAG,GAAG,SAAS,GAAG,mBAAmB,CAAC,gBAAgB,IAAI,YAAY,GAAG,CAAC;oBAC7F,GAAG,CAAC,KAAK,EAAE,GAAG,aAAa,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC;oBAClF,GAAG,CAAC,KAAK,EAAE,GAAG,aAAa,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;oBAChF,YAAY,IAAI,CAAC,CAAC;gBACpB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,SAAS,CAAC;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,GAAG,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,IAAI,SAAS,GAAG,CAAC;gBACzF,GAAG,CAAC,KAAK,EAAE,GAAG,UAAU,GAAG,mBAAmB,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnE,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,mBAAmB,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;gBAC3E,GAAG,CACD,KAAK,EACL,UAAU,GAAG,mBAAmB,CAAC,iCAAiC,EAClE,mBAAmB,CAAC,IAAI,CAAC,CAC1B,CAAC;gBACF,SAAS,IAAI,CAAC,CAAC;gBACf,SAAS;YACX,CAAC;YACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,SAAS,CAAC;gBAChC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEhD,GAAG,CAAC,KAAK,EAAE,GAAG,SAAS,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC1E,MAAM,aAAa,GAAG,GAAG,SAAS,GAAG,mBAAmB,CAAC,gBAAgB,IAAI,YAAY,GAAG,CAAC;gBAC7F,GAAG,CAAC,KAAK,EAAE,GAAG,aAAa,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC;gBAClF,GAAG,CAAC,KAAK,EAAE,GAAG,aAAa,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,EAAE,QAAQ,CAAC,CAAC;gBACpF,YAAY,IAAI,CAAC,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,4DAA4D;gBAC5D,MAAM,WAAW,GAAG,IAAmB,CAAC;gBACxC,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;gBACjD,MAAM,aAAa,GAAG,GAAG,SAAS,GAAG,mBAAmB,CAAC,gBAAgB,IAAI,YAAY,GAAG,CAAC;gBAC7F,GAAG,CAAC,KAAK,EAAE,GAAG,aAAa,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC5F,GAAG,CAAC,KAAK,EAAE,GAAG,aAAa,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,EAAE,WAAW,CAAC,CAAC;gBACvF,GAAG,CAAC,KAAK,EAAE,GAAG,SAAS,GAAG,mBAAmB,CAAC,eAAe,EAAE,EAAE,WAAW,CAAC,CAAC;gBAC9E,YAAY,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uDAAuD,GAAG,CACrE,cAA0B,EACd,EAAE;IACd,OAAO,KAAK,CACV,oBAAoB,CAAC,cAAc,CAAC,EACpC,SAAS,CAAC,cAAc,CAAC,EACzB,WAAW,CAAC,cAAc,CAAC,EAC3B,uBAAuB,CAAC,cAAc,CAAC,EACvC,gBAAgB,CAAC,cAAc,CAAC,EAChC,iBAAiB,CAAC,cAAc,CAAC,EACjC,cAAc,CAAC,cAAc,CAAC,EAC9B,gBAAgB,CAAC,cAAc,CAAC,EAChC,aAAa,CAAC,cAAc,CAAC,EAC7B,cAAc,CAAC,cAAc,CAAC,CAC/B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,cAA0B,EAAc,EAAE;IAC7E,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACtE,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,cAA0B,EAAc,EAAE;IAClE,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,aAAa,IAAI,YAAY,CAAC;IAChD,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,cAA0B,EAAc,EAAE;IACpE,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,yBAAyB;IACzB,IAAI,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC;IACzC,oBAAoB;IACpB,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACjE,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC;IACzC,CAAC;IACD,6BAA6B;IAC7B,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACrE,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;IAElE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,cAA0B,EAAc,EAAE;IAChF,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC,CAAC;IACxF,MAAM,gBAAgB,GAAG,SAAS,CAAC,cAAc,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,cAAc,CAAC,cAAc,CAAC,kCAAkC,CAAC,CAAC,CAAC;IACzF,MAAM,oBAAoB,GAA4B,EAAE,CAAC;IACzD,IAAI,YAAY;QAAE,oBAAoB,CAAC,KAAK,GAAG,YAAY,CAAC;IAC5D,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,oBAAoB,CAAC,WAAW,GAAG,WAAW,CAAC;IACpF,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,oBAAoB,CAAC,KAAK,GAAG,IAAI,CAAC;IAChE,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,oBAAoB,CAAC,KAAK,GAAG,IAAI,CAAC;IAChE,IAAI,OAAO,eAAe,KAAK,QAAQ;QAAE,oBAAoB,CAAC,gBAAgB,GAAG,eAAe,CAAC;IACjG,IAAI,OAAO,gBAAgB,KAAK,QAAQ;QACtC,oBAAoB,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5D,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC;IAC/D,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAC3C,oBAAoB,CAAC,cAAc,GAAG,aAAa,CAAC;IACtD,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,oBAAoB,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAC1F,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,GAAG,CACD,KAAK,EACL,mBAAmB,CAAC,yBAAyB,EAC7C,mBAAmB,CAAC,oBAAoB,CAAC,CAC1C,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,cAA0B,EAAc,EAAE;IACtE,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAG,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,kEAAkE;QAClE,KAAK,GAAG,SAAS,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,yDAAyD;IACzD,IAAI,KAAK,EAAE,CAAC;QACV,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACnD,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,eAAe,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAA0B,EAAc,EAAE;IACvE,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,uEAAuE;QACvE,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,2DAA2D;IAC3D,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACrD,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,cAA0B,EAAc,EAAE;IACzE,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,kBAAkB,GAAG,eAAe,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAEvF,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrC,kBAAgC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC1D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;gBAAE,OAAO;YACrC,MAAM,SAAS,GAAG,GAAG,mBAAmB,CAAC,kBAAkB,IAAI,QAAQ,GAAG,CAAC;YAC3E,uBAAuB;YACvB,GAAG,CAAC,KAAK,EAAE,GAAG,SAAS,GAAG,mBAAmB,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACxE,gDAAgD;YAChD,mBAAmB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,cAA0B,EAAc,EAAE;IAC1E,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,mBAAmB,GAAG,eAAe,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAEzF,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzE,sEAAsE;QACrE,mBAAiC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC3D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;gBAAE,OAAO;YACrC,MAAM,SAAS,GAAG,GAAG,mBAAmB,CAAC,mBAAmB,IAAI,QAAQ,GAAG,CAAC;YAC5E,uBAAuB;YACvB,GAAG,CAAC,KAAK,EAAE,GAAG,SAAS,GAAG,mBAAmB,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACxE,gDAAgD;YAChD,mBAAmB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAA0B,EAAc,EAAE;IACvE,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,SAAS,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAChF,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACxE,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,qBAAqB,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,cAA0B,EAAc,EAAE;IACzE,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAClE,MAAM,eAAe,GAAG,SAAS,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACvE,+BAA+B;IAC/B,2FAA2F;IAC3F,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpD,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAClE,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../src/attributes.ts"],"names":[],"mappings":"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"}
|