@respan/instrumentation-vercel 1.0.3 → 1.0.5
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/_translator/messages.d.ts +7 -0
- package/dist/_translator/messages.js +439 -0
- package/dist/_translator/messages.js.map +1 -0
- package/dist/_translator/shared.d.ts +63 -0
- package/dist/_translator/shared.js +162 -0
- package/dist/_translator/shared.js.map +1 -0
- package/dist/_translator/span-enrichment.d.ts +5 -0
- package/dist/_translator/span-enrichment.js +181 -0
- package/dist/_translator/span-enrichment.js.map +1 -0
- package/dist/_translator.d.ts +2 -15
- package/dist/_translator.js +52 -650
- package/dist/_translator.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type SpanAttributes } from "./shared.js";
|
|
2
|
+
export declare function parseToolsValue(attrs: SpanAttributes): unknown[] | undefined;
|
|
3
|
+
export declare function parseToolChoice(attrs: SpanAttributes): string | undefined;
|
|
4
|
+
export declare function formatPromptInput(attrs: SpanAttributes): string | undefined;
|
|
5
|
+
export declare function formatCompletionOutput(attrs: SpanAttributes): string | undefined;
|
|
6
|
+
export declare function formatToolInput(attrs: SpanAttributes): string | undefined;
|
|
7
|
+
export declare function formatToolOutput(attrs: SpanAttributes): string | undefined;
|
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
import { AI_PROMPT, AI_PROMPT_MESSAGES, AI_PROMPT_TOOLS, AI_PROMPT_TOOL_CHOICE, AI_RESPONSE_OBJECT, AI_RESPONSE_TEXT, AI_RESPONSE_TOOL_CALLS, AI_TOOL_CALL, AI_TOOL_CALLS, AI_TOOL_CALL_ARGS, AI_TOOL_CALL_ID, AI_TOOL_CALL_NAME, AI_TOOL_CALL_PREFIX, AI_TOOL_CALL_RESULT, RESPAN_SPAN_TOOL_CALLS, isRecord, safeJsonParse, safeJsonStr, } from "./shared.js";
|
|
2
|
+
function normalizeToolCallShape(call) {
|
|
3
|
+
if (!isRecord(call)) {
|
|
4
|
+
return undefined;
|
|
5
|
+
}
|
|
6
|
+
const callFunction = isRecord(call.function) ? call.function : undefined;
|
|
7
|
+
const rawName = callFunction?.name ??
|
|
8
|
+
call.name ??
|
|
9
|
+
call.toolName ??
|
|
10
|
+
call.tool_name;
|
|
11
|
+
const rawArguments = callFunction?.arguments ??
|
|
12
|
+
callFunction?.args ??
|
|
13
|
+
call.args ??
|
|
14
|
+
call.arguments ??
|
|
15
|
+
call.input;
|
|
16
|
+
const rawId = call.id ?? call.toolCallId ?? call.tool_call_id;
|
|
17
|
+
const normalized = { type: "function" };
|
|
18
|
+
if (rawId !== undefined) {
|
|
19
|
+
normalized.id = String(rawId);
|
|
20
|
+
}
|
|
21
|
+
const functionPayload = {};
|
|
22
|
+
if (rawName !== undefined) {
|
|
23
|
+
functionPayload.name = String(rawName);
|
|
24
|
+
}
|
|
25
|
+
if (rawArguments !== undefined) {
|
|
26
|
+
functionPayload.arguments =
|
|
27
|
+
typeof rawArguments === "string"
|
|
28
|
+
? rawArguments
|
|
29
|
+
: safeJsonStr(rawArguments);
|
|
30
|
+
}
|
|
31
|
+
if (Object.keys(functionPayload).length > 0) {
|
|
32
|
+
normalized.function = functionPayload;
|
|
33
|
+
}
|
|
34
|
+
return normalized;
|
|
35
|
+
}
|
|
36
|
+
function normalizeToolCallList(value) {
|
|
37
|
+
const parsed = safeJsonParse(value);
|
|
38
|
+
const rawCalls = Array.isArray(parsed) ? parsed : parsed !== undefined ? [parsed] : [];
|
|
39
|
+
const normalized = rawCalls
|
|
40
|
+
.map((call) => normalizeToolCallShape(call))
|
|
41
|
+
.filter((call) => Boolean(call));
|
|
42
|
+
return normalized.length > 0 ? normalized : undefined;
|
|
43
|
+
}
|
|
44
|
+
function parseToolCalls(attrs) {
|
|
45
|
+
for (const key of [AI_RESPONSE_TOOL_CALLS, AI_TOOL_CALL, AI_TOOL_CALLS]) {
|
|
46
|
+
if (!attrs[key]) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const normalized = normalizeToolCallList(attrs[key]);
|
|
50
|
+
if (normalized) {
|
|
51
|
+
return normalized;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (attrs[AI_TOOL_CALL_ID] || attrs[AI_TOOL_CALL_NAME] || attrs[AI_TOOL_CALL_ARGS]) {
|
|
55
|
+
const toolCall = { type: "function" };
|
|
56
|
+
for (const [key, value] of Object.entries(attrs)) {
|
|
57
|
+
if (key.startsWith(AI_TOOL_CALL_PREFIX)) {
|
|
58
|
+
toolCall[key.replace(AI_TOOL_CALL_PREFIX, "")] = value;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return normalizeToolCallList(toolCall);
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
function parseToolDefinition(tool) {
|
|
66
|
+
const parsedTool = typeof tool === "string" ? safeJsonParse(tool) : tool;
|
|
67
|
+
if (!isRecord(parsedTool) || parsedTool.type !== "function") {
|
|
68
|
+
return parsedTool;
|
|
69
|
+
}
|
|
70
|
+
if (isRecord(parsedTool.function)) {
|
|
71
|
+
if (parsedTool.inputSchema && !parsedTool.function.parameters) {
|
|
72
|
+
const { inputSchema, ...rest } = parsedTool;
|
|
73
|
+
return {
|
|
74
|
+
...rest,
|
|
75
|
+
function: { ...parsedTool.function, parameters: inputSchema },
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
return parsedTool;
|
|
79
|
+
}
|
|
80
|
+
const { name, description, parameters, inputSchema, ...rest } = parsedTool;
|
|
81
|
+
const resolvedParameters = parameters ?? inputSchema;
|
|
82
|
+
return {
|
|
83
|
+
...rest,
|
|
84
|
+
type: "function",
|
|
85
|
+
function: {
|
|
86
|
+
name,
|
|
87
|
+
...(description ? { description } : {}),
|
|
88
|
+
...(resolvedParameters ? { parameters: resolvedParameters } : {}),
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export function parseToolsValue(attrs) {
|
|
93
|
+
try {
|
|
94
|
+
const tools = attrs[AI_PROMPT_TOOLS];
|
|
95
|
+
if (!tools) {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
const rawTools = Array.isArray(tools) ? tools : [tools];
|
|
99
|
+
const parsedTools = rawTools
|
|
100
|
+
.map((tool) => parseToolDefinition(tool))
|
|
101
|
+
.filter(Boolean);
|
|
102
|
+
return parsedTools.length > 0 ? parsedTools : undefined;
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export function parseToolChoice(attrs) {
|
|
109
|
+
try {
|
|
110
|
+
const toolChoice = attrs[AI_PROMPT_TOOL_CHOICE];
|
|
111
|
+
if (!toolChoice) {
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
const parsed = typeof toolChoice === "string" ? JSON.parse(toolChoice) : toolChoice;
|
|
115
|
+
if (parsed.function?.name) {
|
|
116
|
+
return safeJsonStr({
|
|
117
|
+
type: String(parsed.type),
|
|
118
|
+
function: { name: String(parsed.function.name) },
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
return safeJsonStr({ type: String(parsed.type) });
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function isMessageLike(value) {
|
|
128
|
+
if (!isRecord(value) || typeof value.role !== "string") {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
return ("content" in value ||
|
|
132
|
+
"tool_calls" in value ||
|
|
133
|
+
"toolCalls" in value ||
|
|
134
|
+
"tool_call_id" in value ||
|
|
135
|
+
"toolCallId" in value);
|
|
136
|
+
}
|
|
137
|
+
function isMessageArray(value) {
|
|
138
|
+
return Array.isArray(value) && value.length > 0 && value.every((item) => isMessageLike(item));
|
|
139
|
+
}
|
|
140
|
+
function unwrapKnownResponseWrapper(value) {
|
|
141
|
+
if (!isRecord(value)) {
|
|
142
|
+
return value;
|
|
143
|
+
}
|
|
144
|
+
return value.response ?? value.object ?? value.output ?? value.result ?? value;
|
|
145
|
+
}
|
|
146
|
+
function extractMessagePayload(value) {
|
|
147
|
+
const parsed = safeJsonParse(value);
|
|
148
|
+
if (typeof parsed === "string") {
|
|
149
|
+
const nested = safeJsonParse(parsed);
|
|
150
|
+
return nested === parsed ? undefined : extractMessagePayload(nested);
|
|
151
|
+
}
|
|
152
|
+
if (isMessageLike(parsed) || isMessageArray(parsed)) {
|
|
153
|
+
return parsed;
|
|
154
|
+
}
|
|
155
|
+
if (Array.isArray(parsed)) {
|
|
156
|
+
for (const item of parsed) {
|
|
157
|
+
const nested = extractMessagePayload(item);
|
|
158
|
+
if (nested !== undefined) {
|
|
159
|
+
return nested;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return undefined;
|
|
163
|
+
}
|
|
164
|
+
if (!isRecord(parsed)) {
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
const unwrapped = unwrapKnownResponseWrapper(parsed);
|
|
168
|
+
if (unwrapped !== parsed) {
|
|
169
|
+
const nested = extractMessagePayload(unwrapped);
|
|
170
|
+
if (nested !== undefined) {
|
|
171
|
+
return nested;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
for (const key of ["message", "messages", "text", "content", "value"]) {
|
|
175
|
+
if (!(key in parsed)) {
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
const nested = extractMessagePayload(parsed[key]);
|
|
179
|
+
if (nested !== undefined) {
|
|
180
|
+
return nested;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return undefined;
|
|
184
|
+
}
|
|
185
|
+
function collapseNestedMessageWrapper(value) {
|
|
186
|
+
if (!isMessageLike(value)) {
|
|
187
|
+
return value;
|
|
188
|
+
}
|
|
189
|
+
const hasTopLevelMessageFields = "tool_calls" in value ||
|
|
190
|
+
"toolCalls" in value ||
|
|
191
|
+
"tool_call_id" in value ||
|
|
192
|
+
"toolCallId" in value ||
|
|
193
|
+
"name" in value;
|
|
194
|
+
if (hasTopLevelMessageFields) {
|
|
195
|
+
return value;
|
|
196
|
+
}
|
|
197
|
+
const nested = extractMessagePayload(value.content);
|
|
198
|
+
return nested ?? value;
|
|
199
|
+
}
|
|
200
|
+
function isContentBlockType(block, type) {
|
|
201
|
+
return isRecord(block) && block.type === type;
|
|
202
|
+
}
|
|
203
|
+
function normalizeToolResultMessage(block) {
|
|
204
|
+
const result = block.result ?? block.content ?? block.output ?? "";
|
|
205
|
+
const message = {
|
|
206
|
+
role: "tool",
|
|
207
|
+
content: typeof result === "string" ? result : safeJsonStr(result),
|
|
208
|
+
};
|
|
209
|
+
const toolCallId = block.toolCallId ?? block.tool_call_id ?? block.id;
|
|
210
|
+
if (toolCallId !== undefined) {
|
|
211
|
+
message.tool_call_id = String(toolCallId);
|
|
212
|
+
}
|
|
213
|
+
const toolName = block.toolName ?? block.tool_name ?? block.name;
|
|
214
|
+
if (toolName !== undefined) {
|
|
215
|
+
message.name = String(toolName);
|
|
216
|
+
}
|
|
217
|
+
return message;
|
|
218
|
+
}
|
|
219
|
+
function normalizeMessageForBackend(message) {
|
|
220
|
+
if (!isRecord(message)) {
|
|
221
|
+
return [];
|
|
222
|
+
}
|
|
223
|
+
const normalizedToolCalls = normalizeToolCallList(message.tool_calls) ??
|
|
224
|
+
normalizeToolCallList(message.toolCalls);
|
|
225
|
+
if (!Array.isArray(message.content)) {
|
|
226
|
+
const normalized = { ...message };
|
|
227
|
+
if (normalizedToolCalls) {
|
|
228
|
+
normalized.tool_calls = normalizedToolCalls;
|
|
229
|
+
}
|
|
230
|
+
delete normalized.toolCalls;
|
|
231
|
+
if (normalized.role === "tool") {
|
|
232
|
+
if (normalized.toolCallId !== undefined && normalized.tool_call_id === undefined) {
|
|
233
|
+
normalized.tool_call_id = String(normalized.toolCallId);
|
|
234
|
+
}
|
|
235
|
+
delete normalized.toolCallId;
|
|
236
|
+
if (normalized.content !== undefined && typeof normalized.content !== "string") {
|
|
237
|
+
normalized.content = safeJsonStr(normalized.content);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
return [normalized];
|
|
241
|
+
}
|
|
242
|
+
const textParts = [];
|
|
243
|
+
const toolCallBlocks = message.content.filter((block) => isContentBlockType(block, "tool-call"));
|
|
244
|
+
const toolResultBlocks = message.content.filter((block) => isContentBlockType(block, "tool-result"));
|
|
245
|
+
const unknownBlocks = message.content.filter((block) => {
|
|
246
|
+
if (typeof block === "string") {
|
|
247
|
+
return false;
|
|
248
|
+
}
|
|
249
|
+
if (!isRecord(block)) {
|
|
250
|
+
return true;
|
|
251
|
+
}
|
|
252
|
+
return !["text", "output_text", "tool-call", "tool-result"].includes(String(block.type ?? ""));
|
|
253
|
+
});
|
|
254
|
+
for (const block of message.content) {
|
|
255
|
+
if (typeof block === "string") {
|
|
256
|
+
textParts.push(block);
|
|
257
|
+
continue;
|
|
258
|
+
}
|
|
259
|
+
if (!isRecord(block)) {
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
if ((block.type === "text" || block.type === "output_text") && typeof block.text === "string") {
|
|
263
|
+
textParts.push(block.text);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
const textContent = textParts.join("\n");
|
|
267
|
+
if (message.role === "assistant" && (toolCallBlocks.length > 0 || normalizedToolCalls)) {
|
|
268
|
+
const normalizedMessage = {
|
|
269
|
+
...message,
|
|
270
|
+
content: textContent,
|
|
271
|
+
};
|
|
272
|
+
const toolCalls = normalizeToolCallList(toolCallBlocks) ?? normalizedToolCalls;
|
|
273
|
+
if (toolCalls) {
|
|
274
|
+
normalizedMessage.tool_calls = toolCalls;
|
|
275
|
+
}
|
|
276
|
+
delete normalizedMessage.toolCalls;
|
|
277
|
+
return [normalizedMessage];
|
|
278
|
+
}
|
|
279
|
+
if (message.role === "tool" && toolResultBlocks.length > 0) {
|
|
280
|
+
return toolResultBlocks.map((block) => normalizeToolResultMessage(block));
|
|
281
|
+
}
|
|
282
|
+
if (unknownBlocks.length === 0) {
|
|
283
|
+
return [{ ...message, content: textContent }];
|
|
284
|
+
}
|
|
285
|
+
return [{ ...message, content: message.content }];
|
|
286
|
+
}
|
|
287
|
+
function normalizeMessageCollection(value) {
|
|
288
|
+
const parsed = safeJsonParse(value);
|
|
289
|
+
if (parsed === undefined || parsed === null) {
|
|
290
|
+
return undefined;
|
|
291
|
+
}
|
|
292
|
+
if (Array.isArray(parsed)) {
|
|
293
|
+
const normalized = parsed.flatMap((message) => normalizeMessageForBackend(message));
|
|
294
|
+
return normalized.length > 0 ? normalized : undefined;
|
|
295
|
+
}
|
|
296
|
+
if (isRecord(parsed)) {
|
|
297
|
+
const normalized = normalizeMessageForBackend(parsed);
|
|
298
|
+
return normalized.length > 0 ? normalized : undefined;
|
|
299
|
+
}
|
|
300
|
+
return undefined;
|
|
301
|
+
}
|
|
302
|
+
function collapseSingleMessagePayload(messages) {
|
|
303
|
+
return messages.length === 1 ? messages[0] : messages;
|
|
304
|
+
}
|
|
305
|
+
function buildToolResultMessage(attrs) {
|
|
306
|
+
if (!attrs[AI_TOOL_CALL_RESULT]) {
|
|
307
|
+
return undefined;
|
|
308
|
+
}
|
|
309
|
+
return {
|
|
310
|
+
role: "tool",
|
|
311
|
+
tool_call_id: String(attrs[AI_TOOL_CALL_ID] || ""),
|
|
312
|
+
content: String(attrs[AI_TOOL_CALL_RESULT] || ""),
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
function hasToolResultMessage(payload, toolResult) {
|
|
316
|
+
const messages = Array.isArray(payload) ? payload : [payload];
|
|
317
|
+
return messages.some((message) => {
|
|
318
|
+
if (!isRecord(message) || message.role !== "tool") {
|
|
319
|
+
return false;
|
|
320
|
+
}
|
|
321
|
+
if (toolResult.tool_call_id) {
|
|
322
|
+
return message.tool_call_id === toolResult.tool_call_id || message.toolCallId === toolResult.tool_call_id;
|
|
323
|
+
}
|
|
324
|
+
return message.content === toolResult.content;
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
function appendToolResultMessage(payload, attrs) {
|
|
328
|
+
const toolResult = buildToolResultMessage(attrs);
|
|
329
|
+
if (!toolResult || hasToolResultMessage(payload, toolResult)) {
|
|
330
|
+
return payload;
|
|
331
|
+
}
|
|
332
|
+
return Array.isArray(payload) ? [...payload, toolResult] : [payload, toolResult];
|
|
333
|
+
}
|
|
334
|
+
function selectPrimaryAssistantMessage(value) {
|
|
335
|
+
if (isMessageLike(value)) {
|
|
336
|
+
return value.role === "assistant" ? value : undefined;
|
|
337
|
+
}
|
|
338
|
+
if (Array.isArray(value)) {
|
|
339
|
+
for (const item of value) {
|
|
340
|
+
if (isMessageLike(item) && item.role === "assistant") {
|
|
341
|
+
return item;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
return undefined;
|
|
346
|
+
}
|
|
347
|
+
function enrichCompletionAttrs(attrs, payload) {
|
|
348
|
+
const message = selectPrimaryAssistantMessage(payload);
|
|
349
|
+
if (!message) {
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
attrs["gen_ai.completion.0.role"] = "assistant";
|
|
353
|
+
attrs["gen_ai.completion.0.content"] =
|
|
354
|
+
typeof message.content === "string"
|
|
355
|
+
? message.content
|
|
356
|
+
: message.content !== undefined
|
|
357
|
+
? safeJsonStr(message.content)
|
|
358
|
+
: "";
|
|
359
|
+
const toolCalls = normalizeToolCallList(message.tool_calls) ||
|
|
360
|
+
normalizeToolCallList(message.toolCalls) ||
|
|
361
|
+
parseToolCalls(attrs);
|
|
362
|
+
if (toolCalls && toolCalls.length > 0) {
|
|
363
|
+
attrs["gen_ai.completion.0.tool_calls"] = toolCalls;
|
|
364
|
+
attrs[RESPAN_SPAN_TOOL_CALLS] = safeJsonStr(toolCalls);
|
|
365
|
+
attrs["has_tool_calls"] = true;
|
|
366
|
+
attrs["parallel_tool_calls"] = toolCalls.length > 1;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
function parsePromptInputValue(attrs) {
|
|
370
|
+
const normalizedMessages = normalizeMessageCollection(attrs[AI_PROMPT_MESSAGES]);
|
|
371
|
+
if (normalizedMessages && normalizedMessages.length > 0) {
|
|
372
|
+
return normalizedMessages;
|
|
373
|
+
}
|
|
374
|
+
const prompt = attrs[AI_PROMPT];
|
|
375
|
+
if (prompt) {
|
|
376
|
+
return [{ role: "user", content: String(prompt) }];
|
|
377
|
+
}
|
|
378
|
+
return undefined;
|
|
379
|
+
}
|
|
380
|
+
export function formatPromptInput(attrs) {
|
|
381
|
+
const messages = parsePromptInputValue(attrs);
|
|
382
|
+
return messages ? safeJsonStr(messages) : undefined;
|
|
383
|
+
}
|
|
384
|
+
export function formatCompletionOutput(attrs) {
|
|
385
|
+
// `ai.response.text` may itself be a JSON-encoded chat message. Normalize that
|
|
386
|
+
// shape first so assistant messages and tool calls are preserved for the backend.
|
|
387
|
+
const existingPayload = extractMessagePayload(attrs[AI_RESPONSE_TEXT]);
|
|
388
|
+
if (existingPayload !== undefined) {
|
|
389
|
+
const normalizedMessages = normalizeMessageCollection(collapseNestedMessageWrapper(existingPayload));
|
|
390
|
+
const normalizedPayload = normalizedMessages
|
|
391
|
+
? collapseSingleMessagePayload(normalizedMessages)
|
|
392
|
+
: collapseNestedMessageWrapper(existingPayload);
|
|
393
|
+
const outputPayload = appendToolResultMessage(normalizedPayload, attrs);
|
|
394
|
+
enrichCompletionAttrs(attrs, outputPayload);
|
|
395
|
+
return safeJsonStr(outputPayload);
|
|
396
|
+
}
|
|
397
|
+
let content = "";
|
|
398
|
+
if (attrs[AI_RESPONSE_OBJECT]) {
|
|
399
|
+
const parsed = unwrapKnownResponseWrapper(safeJsonParse(attrs[AI_RESPONSE_OBJECT]));
|
|
400
|
+
content = safeJsonStr(parsed);
|
|
401
|
+
}
|
|
402
|
+
else {
|
|
403
|
+
content = String(attrs[AI_RESPONSE_TEXT] ?? "");
|
|
404
|
+
}
|
|
405
|
+
const toolCalls = parseToolCalls(attrs);
|
|
406
|
+
if (!content && (!toolCalls || toolCalls.length === 0)) {
|
|
407
|
+
return undefined;
|
|
408
|
+
}
|
|
409
|
+
const message = { role: "assistant", content };
|
|
410
|
+
if (toolCalls && toolCalls.length > 0) {
|
|
411
|
+
message.tool_calls = toolCalls;
|
|
412
|
+
}
|
|
413
|
+
const normalizedPayload = appendToolResultMessage(message, attrs);
|
|
414
|
+
enrichCompletionAttrs(attrs, normalizedPayload);
|
|
415
|
+
return safeJsonStr(normalizedPayload);
|
|
416
|
+
}
|
|
417
|
+
export function formatToolInput(attrs) {
|
|
418
|
+
const name = attrs[AI_TOOL_CALL_NAME];
|
|
419
|
+
const args = attrs[AI_TOOL_CALL_ARGS];
|
|
420
|
+
if (!name && !args) {
|
|
421
|
+
return undefined;
|
|
422
|
+
}
|
|
423
|
+
const input = {};
|
|
424
|
+
if (name) {
|
|
425
|
+
input.name = name;
|
|
426
|
+
}
|
|
427
|
+
if (args) {
|
|
428
|
+
input.args = typeof args === "string" ? safeJsonParse(args) : args;
|
|
429
|
+
}
|
|
430
|
+
return safeJsonStr(input);
|
|
431
|
+
}
|
|
432
|
+
export function formatToolOutput(attrs) {
|
|
433
|
+
const result = attrs[AI_TOOL_CALL_RESULT];
|
|
434
|
+
if (result === undefined) {
|
|
435
|
+
return undefined;
|
|
436
|
+
}
|
|
437
|
+
return safeJsonStr(typeof result === "string" ? safeJsonParse(result) : result);
|
|
438
|
+
}
|
|
439
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/_translator/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ReadableSpan } from "@opentelemetry/sdk-trace-base";
|
|
2
|
+
import { RespanSpanAttributes } from "@respan/respan-sdk";
|
|
3
|
+
export type SpanAttributes = Record<string, any>;
|
|
4
|
+
export declare const RESPAN_LOG_TYPE = RespanSpanAttributes.RESPAN_LOG_TYPE;
|
|
5
|
+
export declare const GEN_AI_REQUEST_MODEL = RespanSpanAttributes.GEN_AI_REQUEST_MODEL;
|
|
6
|
+
export declare const GEN_AI_USAGE_PROMPT_TOKENS = RespanSpanAttributes.GEN_AI_USAGE_PROMPT_TOKENS;
|
|
7
|
+
export declare const GEN_AI_USAGE_COMPLETION_TOKENS = RespanSpanAttributes.GEN_AI_USAGE_COMPLETION_TOKENS;
|
|
8
|
+
export declare const LLM_REQUEST_TYPE = RespanSpanAttributes.LLM_REQUEST_TYPE;
|
|
9
|
+
export declare const CUSTOMER_ID = RespanSpanAttributes.RESPAN_CUSTOMER_PARAMS_ID;
|
|
10
|
+
export declare const CUSTOMER_EMAIL = RespanSpanAttributes.RESPAN_CUSTOMER_PARAMS_EMAIL;
|
|
11
|
+
export declare const CUSTOMER_NAME = RespanSpanAttributes.RESPAN_CUSTOMER_PARAMS_NAME;
|
|
12
|
+
export declare const THREAD_ID = RespanSpanAttributes.RESPAN_THREADS_ID;
|
|
13
|
+
export declare const SESSION_ID = "respan.sessions.session_identifier";
|
|
14
|
+
export declare const TRACE_GROUP_ID = RespanSpanAttributes.RESPAN_TRACE_GROUP_ID;
|
|
15
|
+
export declare const RESPAN_SPAN_TOOLS = RespanSpanAttributes.RESPAN_SPAN_TOOLS;
|
|
16
|
+
export declare const RESPAN_SPAN_TOOL_CALLS = RespanSpanAttributes.RESPAN_SPAN_TOOL_CALLS;
|
|
17
|
+
export declare const RESPAN_METADATA_AGENT_NAME = RespanSpanAttributes.RESPAN_METADATA_AGENT_NAME;
|
|
18
|
+
export declare const RESPAN_METADATA_PREFIX = RespanSpanAttributes.RESPAN_METADATA;
|
|
19
|
+
export declare const TL_SPAN_KIND = "traceloop.span.kind";
|
|
20
|
+
export declare const TL_ENTITY_INPUT = "traceloop.entity.input";
|
|
21
|
+
export declare const TL_ENTITY_OUTPUT = "traceloop.entity.output";
|
|
22
|
+
export declare const TL_REQUEST_FUNCTIONS = "llm.request.functions";
|
|
23
|
+
export declare const AI_PREFIX = "ai.";
|
|
24
|
+
export declare const AI_SDK = "ai.sdk";
|
|
25
|
+
export declare const AI_OPERATION_ID = "ai.operationId";
|
|
26
|
+
export declare const AI_MODEL_ID = "ai.model.id";
|
|
27
|
+
export declare const AI_EMBEDDING = "ai.embedding";
|
|
28
|
+
export declare const AI_EMBEDDINGS = "ai.embeddings";
|
|
29
|
+
export declare const AI_AGENT_ID = "ai.agent.id";
|
|
30
|
+
export declare const AI_WORKFLOW_ID = "ai.workflow.id";
|
|
31
|
+
export declare const AI_TRANSCRIPT = "ai.transcript";
|
|
32
|
+
export declare const AI_SPEECH = "ai.speech";
|
|
33
|
+
export declare const AI_TELEMETRY_METADATA_PREFIX = "ai.telemetry.metadata.";
|
|
34
|
+
export declare const AI_PROMPT = "ai.prompt";
|
|
35
|
+
export declare const AI_PROMPT_MESSAGES = "ai.prompt.messages";
|
|
36
|
+
export declare const AI_PROMPT_TOOLS = "ai.prompt.tools";
|
|
37
|
+
export declare const AI_PROMPT_TOOL_CHOICE = "ai.prompt.toolChoice";
|
|
38
|
+
export declare const AI_RESPONSE_OBJECT = "ai.response.object";
|
|
39
|
+
export declare const AI_RESPONSE_TEXT = "ai.response.text";
|
|
40
|
+
export declare const AI_RESPONSE_TOOL_CALLS = "ai.response.toolCalls";
|
|
41
|
+
export declare const AI_RESPONSE_MS_TO_FINISH = "ai.response.msToFinish";
|
|
42
|
+
export declare const AI_TOOL_CALL = "ai.toolCall";
|
|
43
|
+
export declare const AI_TOOL_CALLS = "ai.toolCalls";
|
|
44
|
+
export declare const AI_TOOL_CALL_PREFIX = "ai.toolCall.";
|
|
45
|
+
export declare const AI_TOOL_CALL_ID = "ai.toolCall.id";
|
|
46
|
+
export declare const AI_TOOL_CALL_NAME = "ai.toolCall.name";
|
|
47
|
+
export declare const AI_TOOL_CALL_ARGS = "ai.toolCall.args";
|
|
48
|
+
export declare const AI_TOOL_CALL_RESULT = "ai.toolCall.result";
|
|
49
|
+
export declare const GEN_AI_USAGE_INPUT_TOKENS = "gen_ai.usage.input_tokens";
|
|
50
|
+
export declare const GEN_AI_USAGE_OUTPUT_TOKENS = "gen_ai.usage.output_tokens";
|
|
51
|
+
export declare const GEN_AI_USAGE_COST = "gen_ai.usage.cost";
|
|
52
|
+
export declare const GEN_AI_USAGE_TTFT = "gen_ai.usage.ttft";
|
|
53
|
+
export declare const GEN_AI_USAGE_GENERATION_TIME = "gen_ai.usage.generation_time";
|
|
54
|
+
export declare const GEN_AI_USAGE_WARNINGS = "gen_ai.usage.warnings";
|
|
55
|
+
export declare const GEN_AI_USAGE_TYPE = "gen_ai.usage.type";
|
|
56
|
+
export declare function metadataKey(key: string): string;
|
|
57
|
+
export declare function setDefault(attrs: SpanAttributes, key: string, value: any): void;
|
|
58
|
+
export declare function safeJsonStr(value: unknown): string;
|
|
59
|
+
export declare function safeJsonParse(value: unknown): unknown;
|
|
60
|
+
export declare function isRecord(value: unknown): value is Record<string, any>;
|
|
61
|
+
export declare function isVercelAISpan(span: ReadableSpan): boolean;
|
|
62
|
+
export declare function resolveLogType(name: string, attrs: SpanAttributes): string;
|
|
63
|
+
export declare function normalizeModel(modelId: string): string;
|