@introspection-sdk/introspection-node 0.19.1 → 0.21.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/README.md +28 -8
- package/dist/auth.d.ts +1 -1
- package/dist/client.d.ts +4 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +16 -7
- package/dist/client.js.map +1 -1
- package/dist/dev-target.js +1 -1
- package/dist/index.d.ts +4 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -6
- package/dist/index.js.map +1 -1
- package/dist/otel/index.d.ts +1 -14
- package/dist/otel/index.d.ts.map +1 -1
- package/dist/otel/index.js +10 -18
- package/dist/otel/index.js.map +1 -1
- package/dist/otel/init.d.ts +19 -21
- package/dist/otel/init.d.ts.map +1 -1
- package/dist/otel/init.js +62 -48
- package/dist/otel/init.js.map +1 -1
- package/dist/otel/integrations/base.d.ts +17 -37
- package/dist/otel/integrations/base.d.ts.map +1 -1
- package/dist/otel/integrations/base.js +6 -13
- package/dist/otel/integrations/base.js.map +1 -1
- package/dist/otel/integrations/index.d.ts +3 -4
- package/dist/otel/integrations/index.d.ts.map +1 -1
- package/dist/otel/integrations/index.js +6 -25
- package/dist/otel/integrations/index.js.map +1 -1
- package/dist/otel/integrations/pi.d.ts.map +1 -1
- package/dist/otel/integrations/pi.js +9 -1
- package/dist/otel/integrations/pi.js.map +1 -1
- package/dist/otel/logs.d.ts +41 -8
- package/dist/otel/logs.d.ts.map +1 -1
- package/dist/otel/logs.js +95 -66
- package/dist/otel/logs.js.map +1 -1
- package/dist/otel/pi.d.ts +18 -5
- package/dist/otel/pi.d.ts.map +1 -1
- package/dist/otel/pi.js +38 -9
- package/dist/otel/pi.js.map +1 -1
- package/dist/otel/register.d.ts +2 -2
- package/dist/otel/register.d.ts.map +1 -1
- package/dist/otel/register.js +7 -9
- package/dist/otel/register.js.map +1 -1
- package/dist/otel/setup.d.ts +2 -2
- package/dist/otel/setup.d.ts.map +1 -1
- package/dist/otel/setup.js +16 -6
- package/dist/otel/setup.js.map +1 -1
- package/dist/otel/span-processor.d.ts +18 -5
- package/dist/otel/span-processor.d.ts.map +1 -1
- package/dist/otel/span-processor.js +50 -65
- package/dist/otel/span-processor.js.map +1 -1
- package/dist/resources/experiments.d.ts +10 -5
- package/dist/resources/experiments.d.ts.map +1 -1
- package/dist/resources/experiments.js +9 -25
- package/dist/resources/experiments.js.map +1 -1
- package/dist/resources/recipes.d.ts +6 -6
- package/dist/resources/recipes.d.ts.map +1 -1
- package/dist/resources/recipes.js +5 -23
- package/dist/resources/recipes.js.map +1 -1
- package/dist/resources/runtimes.d.ts +2 -2
- package/dist/resources/runtimes.d.ts.map +1 -1
- package/dist/resources/runtimes.js +2 -2
- package/dist/resources/runtimes.js.map +1 -1
- package/dist/runner.d.ts +8 -4
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +26 -18
- package/dist/runner.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +45 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +61 -2
- package/dist/utils.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +18 -60
- package/.turbo/turbo-build.log +0 -4
- package/dist/converters/claude.d.ts +0 -150
- package/dist/converters/claude.d.ts.map +0 -1
- package/dist/converters/claude.js +0 -211
- package/dist/converters/claude.js.map +0 -1
- package/dist/converters/gemini.d.ts +0 -90
- package/dist/converters/gemini.d.ts.map +0 -1
- package/dist/converters/gemini.js +0 -171
- package/dist/converters/gemini.js.map +0 -1
- package/dist/converters/index.d.ts +0 -9
- package/dist/converters/index.d.ts.map +0 -1
- package/dist/converters/index.js +0 -9
- package/dist/converters/index.js.map +0 -1
- package/dist/converters/openai.d.ts +0 -51
- package/dist/converters/openai.d.ts.map +0 -1
- package/dist/converters/openai.js +0 -269
- package/dist/converters/openai.js.map +0 -1
- package/dist/converters/openinference.d.ts +0 -107
- package/dist/converters/openinference.d.ts.map +0 -1
- package/dist/converters/openinference.js +0 -553
- package/dist/converters/openinference.js.map +0 -1
- package/dist/converters/vercel.d.ts +0 -21
- package/dist/converters/vercel.d.ts.map +0 -1
- package/dist/converters/vercel.js +0 -236
- package/dist/converters/vercel.js.map +0 -1
- package/dist/otel/anthropic.d.ts +0 -63
- package/dist/otel/anthropic.d.ts.map +0 -1
- package/dist/otel/anthropic.js +0 -475
- package/dist/otel/anthropic.js.map +0 -1
- package/dist/otel/claude-hooks.d.ts +0 -346
- package/dist/otel/claude-hooks.d.ts.map +0 -1
- package/dist/otel/claude-hooks.js +0 -647
- package/dist/otel/claude-hooks.js.map +0 -1
- package/dist/otel/claude-wrapper.d.ts +0 -93
- package/dist/otel/claude-wrapper.d.ts.map +0 -1
- package/dist/otel/claude-wrapper.js +0 -155
- package/dist/otel/claude-wrapper.js.map +0 -1
- package/dist/otel/gemini.d.ts +0 -56
- package/dist/otel/gemini.d.ts.map +0 -1
- package/dist/otel/gemini.js +0 -350
- package/dist/otel/gemini.js.map +0 -1
- package/dist/otel/integrations/anthropic.d.ts +0 -10
- package/dist/otel/integrations/anthropic.d.ts.map +0 -1
- package/dist/otel/integrations/anthropic.js +0 -26
- package/dist/otel/integrations/anthropic.js.map +0 -1
- package/dist/otel/integrations/claude-agent.d.ts +0 -12
- package/dist/otel/integrations/claude-agent.d.ts.map +0 -1
- package/dist/otel/integrations/claude-agent.js +0 -28
- package/dist/otel/integrations/claude-agent.js.map +0 -1
- package/dist/otel/integrations/gemini.d.ts +0 -11
- package/dist/otel/integrations/gemini.d.ts.map +0 -1
- package/dist/otel/integrations/gemini.js +0 -23
- package/dist/otel/integrations/gemini.js.map +0 -1
- package/dist/otel/integrations/langchain.d.ts +0 -15
- package/dist/otel/integrations/langchain.d.ts.map +0 -1
- package/dist/otel/integrations/langchain.js +0 -43
- package/dist/otel/integrations/langchain.js.map +0 -1
- package/dist/otel/integrations/mastra.d.ts +0 -14
- package/dist/otel/integrations/mastra.d.ts.map +0 -1
- package/dist/otel/integrations/mastra.js +0 -31
- package/dist/otel/integrations/mastra.js.map +0 -1
- package/dist/otel/integrations/openai-agents.d.ts +0 -11
- package/dist/otel/integrations/openai-agents.d.ts.map +0 -1
- package/dist/otel/integrations/openai-agents.js +0 -30
- package/dist/otel/integrations/openai-agents.js.map +0 -1
- package/dist/otel/integrations/vercel.d.ts +0 -14
- package/dist/otel/integrations/vercel.d.ts.map +0 -1
- package/dist/otel/integrations/vercel.js +0 -20
- package/dist/otel/integrations/vercel.js.map +0 -1
- package/dist/otel/langchain-handler.d.ts +0 -112
- package/dist/otel/langchain-handler.d.ts.map +0 -1
- package/dist/otel/langchain-handler.js +0 -561
- package/dist/otel/langchain-handler.js.map +0 -1
- package/dist/otel/mastra-exporter.d.ts +0 -87
- package/dist/otel/mastra-exporter.d.ts.map +0 -1
- package/dist/otel/mastra-exporter.js +0 -530
- package/dist/otel/mastra-exporter.js.map +0 -1
- package/dist/otel/openai.d.ts +0 -20
- package/dist/otel/openai.d.ts.map +0 -1
- package/dist/otel/openai.js +0 -55
- package/dist/otel/openai.js.map +0 -1
- package/dist/otel/tracing-processor.d.ts +0 -139
- package/dist/otel/tracing-processor.d.ts.map +0 -1
- package/dist/otel/tracing-processor.js +0 -434
- package/dist/otel/tracing-processor.js.map +0 -1
- package/eslint.config.mjs +0 -4
- package/src/auth.ts +0 -236
- package/src/client.ts +0 -163
- package/src/converters/claude.ts +0 -343
- package/src/converters/gemini.ts +0 -243
- package/src/converters/index.ts +0 -50
- package/src/converters/openai.ts +0 -300
- package/src/converters/openinference.ts +0 -665
- package/src/converters/vercel.ts +0 -302
- package/src/dev-target.ts +0 -79
- package/src/http.ts +0 -43
- package/src/index.ts +0 -266
- package/src/otel/anthropic.ts +0 -619
- package/src/otel/claude-hooks.ts +0 -1116
- package/src/otel/claude-wrapper.ts +0 -239
- package/src/otel/gemini.ts +0 -483
- package/src/otel/index.ts +0 -128
- package/src/otel/init.ts +0 -411
- package/src/otel/integrations/anthropic.ts +0 -36
- package/src/otel/integrations/base.ts +0 -158
- package/src/otel/integrations/claude-agent.ts +0 -36
- package/src/otel/integrations/gemini.ts +0 -30
- package/src/otel/integrations/index.ts +0 -152
- package/src/otel/integrations/langchain.ts +0 -60
- package/src/otel/integrations/mastra.ts +0 -48
- package/src/otel/integrations/openai-agents.ts +0 -47
- package/src/otel/integrations/pi.ts +0 -28
- package/src/otel/integrations/vercel.ts +0 -26
- package/src/otel/langchain-handler.ts +0 -804
- package/src/otel/logs.ts +0 -395
- package/src/otel/mastra-exporter.ts +0 -714
- package/src/otel/openai.ts +0 -93
- package/src/otel/pi.ts +0 -94
- package/src/otel/register.ts +0 -50
- package/src/otel/setup.ts +0 -215
- package/src/otel/span-processor.ts +0 -512
- package/src/otel/tracing-processor.ts +0 -637
- package/src/pagination.ts +0 -10
- package/src/proxy-from-env.d.ts +0 -7
- package/src/resources/experiments.ts +0 -176
- package/src/resources/recipes.ts +0 -74
- package/src/resources/runtimes.ts +0 -31
- package/src/runner.ts +0 -213
- package/src/types.ts +0 -13
- package/src/utils.ts +0 -95
- package/src/version.ts +0 -2
- package/tsconfig.json +0 -8
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OpenAI format conversion functions for OTel Gen AI Semantic Conventions.
|
|
3
|
-
*
|
|
4
|
-
* These functions convert OpenAI API formats (Responses API, Agents SDK) to the
|
|
5
|
-
* standardized OTel Gen AI Semantic Convention format for gen_ai.input.messages
|
|
6
|
-
* and gen_ai.output.messages attributes.
|
|
7
|
-
*/
|
|
8
|
-
/** Safely access a property from a union type by going through `unknown`. */
|
|
9
|
-
function asRecord(value) {
|
|
10
|
-
return value;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Extract text content from a message content field (string or array of content parts).
|
|
14
|
-
*/
|
|
15
|
-
function extractContentParts(content) {
|
|
16
|
-
const parts = [];
|
|
17
|
-
if (typeof content === "string") {
|
|
18
|
-
parts.push({ type: "text", content });
|
|
19
|
-
}
|
|
20
|
-
else if (Array.isArray(content)) {
|
|
21
|
-
for (const item of content) {
|
|
22
|
-
const rec = asRecord(item);
|
|
23
|
-
if (rec.type === "output_text") {
|
|
24
|
-
parts.push({
|
|
25
|
-
type: "text",
|
|
26
|
-
content: rec.text || "",
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
else if (typeof item === "object" && item !== null) {
|
|
30
|
-
parts.push(item);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
parts.push({ type: "text", content: String(item) });
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return parts;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Convert OpenAI Responses API inputs to OTel Gen AI Semantic Convention format.
|
|
41
|
-
*
|
|
42
|
-
* Handles `message`, `function_call`, and `function_call_output` input types.
|
|
43
|
-
* System instructions are returned separately so callers can set
|
|
44
|
-
* `gen_ai.system_instructions` independently from `gen_ai.input.messages`.
|
|
45
|
-
*
|
|
46
|
-
* @param inputs - Input items array from the Responses API request body.
|
|
47
|
-
* @param instructions - Optional system instructions / system prompt string.
|
|
48
|
-
* @returns A `[inputMessages, systemInstructions]` tuple of {@link InputMessage} arrays.
|
|
49
|
-
*/
|
|
50
|
-
export function convertResponsesInputsToSemconv(inputs, instructions) {
|
|
51
|
-
const inputMessages = [];
|
|
52
|
-
const systemInstructions = [];
|
|
53
|
-
if (instructions) {
|
|
54
|
-
systemInstructions.push({
|
|
55
|
-
role: "system",
|
|
56
|
-
parts: [{ type: "text", content: instructions }],
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
if (inputs) {
|
|
60
|
-
for (const inp of inputs) {
|
|
61
|
-
const item = asRecord(inp);
|
|
62
|
-
const role = item.role || "user";
|
|
63
|
-
const typ = item.type;
|
|
64
|
-
const content = item.content;
|
|
65
|
-
if ((typ === undefined || typ === "message") && content) {
|
|
66
|
-
const parts = extractContentParts(content);
|
|
67
|
-
inputMessages.push({ role: role, parts });
|
|
68
|
-
}
|
|
69
|
-
else if (typ === "function_call") {
|
|
70
|
-
inputMessages.push({
|
|
71
|
-
role: "assistant",
|
|
72
|
-
parts: [
|
|
73
|
-
{
|
|
74
|
-
type: "tool_call",
|
|
75
|
-
id: item.call_id,
|
|
76
|
-
name: item.name,
|
|
77
|
-
arguments: item.arguments,
|
|
78
|
-
},
|
|
79
|
-
],
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
else if (typ === "function_call_output") {
|
|
83
|
-
const msg = {
|
|
84
|
-
role: "tool",
|
|
85
|
-
parts: [
|
|
86
|
-
{
|
|
87
|
-
type: "tool_call_response",
|
|
88
|
-
id: item.call_id,
|
|
89
|
-
response: item.output,
|
|
90
|
-
},
|
|
91
|
-
],
|
|
92
|
-
};
|
|
93
|
-
if (item.name) {
|
|
94
|
-
msg.name = item.name;
|
|
95
|
-
}
|
|
96
|
-
inputMessages.push(msg);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return [inputMessages, systemInstructions];
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Convert OpenAI Responses API outputs to OTel Gen AI Semantic Convention format.
|
|
104
|
-
*
|
|
105
|
-
* Maps `message` and `function_call` output types to {@link OutputMessage} objects.
|
|
106
|
-
*
|
|
107
|
-
* @param outputs - Output items array from the Responses API response body.
|
|
108
|
-
* @returns An array of {@link OutputMessage} objects in semconv format.
|
|
109
|
-
*/
|
|
110
|
-
export function convertResponsesOutputsToSemconv(outputs) {
|
|
111
|
-
// Reasoning and web_search_call parts are collected as prefixes and merged
|
|
112
|
-
// into the next message's parts array, matching the format the frontend expects
|
|
113
|
-
// (thinking + text in the same message).
|
|
114
|
-
const prefixParts = [];
|
|
115
|
-
const outputMessages = [];
|
|
116
|
-
let pendingWebSearchId;
|
|
117
|
-
for (const out of outputs) {
|
|
118
|
-
const item = asRecord(out);
|
|
119
|
-
const typ = item.type;
|
|
120
|
-
const content = item.content;
|
|
121
|
-
if (typ === "mcp_call") {
|
|
122
|
-
const name = item.name || "mcp_tool";
|
|
123
|
-
const server = item.server_label || "";
|
|
124
|
-
const toolName = server ? `${server}/${name}` : name;
|
|
125
|
-
const args = item.arguments;
|
|
126
|
-
const output = item.output;
|
|
127
|
-
const error = item.error;
|
|
128
|
-
prefixParts.push({
|
|
129
|
-
type: "tool_call",
|
|
130
|
-
id: item.id,
|
|
131
|
-
name: toolName,
|
|
132
|
-
arguments: args,
|
|
133
|
-
});
|
|
134
|
-
prefixParts.push({
|
|
135
|
-
type: "tool_call_response",
|
|
136
|
-
id: item.id,
|
|
137
|
-
response: error || output || "",
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
else if (typ === "mcp_list_tools") {
|
|
141
|
-
// Skip — tool discovery metadata, not a user-facing message
|
|
142
|
-
}
|
|
143
|
-
else if (typ === "reasoning") {
|
|
144
|
-
const summary = item.summary;
|
|
145
|
-
const texts = (summary ?? [])
|
|
146
|
-
.map((s) => s.text || "")
|
|
147
|
-
.filter(Boolean);
|
|
148
|
-
const content = texts.length > 0 ? texts.join("\n") : undefined;
|
|
149
|
-
const signature = item.encrypted_content || undefined;
|
|
150
|
-
const thinkingPart = {
|
|
151
|
-
type: "reasoning",
|
|
152
|
-
content: content ?? "[redacted]",
|
|
153
|
-
signature,
|
|
154
|
-
provider_name: "openai",
|
|
155
|
-
};
|
|
156
|
-
prefixParts.push(thinkingPart);
|
|
157
|
-
}
|
|
158
|
-
else if (typ === "web_search_call") {
|
|
159
|
-
const action = item.action;
|
|
160
|
-
const query = action?.query;
|
|
161
|
-
prefixParts.push({
|
|
162
|
-
type: "tool_call",
|
|
163
|
-
id: item.id,
|
|
164
|
-
name: "web_search",
|
|
165
|
-
arguments: query ? JSON.stringify({ query }) : undefined,
|
|
166
|
-
});
|
|
167
|
-
pendingWebSearchId = item.id;
|
|
168
|
-
}
|
|
169
|
-
else if ((typ === undefined || typ === "message") && content) {
|
|
170
|
-
// Extract search result citations from annotations if this follows a web search
|
|
171
|
-
if (pendingWebSearchId) {
|
|
172
|
-
const contentItems = Array.isArray(content) ? content : [];
|
|
173
|
-
const citations = [];
|
|
174
|
-
for (const ci of contentItems) {
|
|
175
|
-
const rec = asRecord(ci);
|
|
176
|
-
const anns = rec.annotations;
|
|
177
|
-
if (anns) {
|
|
178
|
-
for (const ann of anns) {
|
|
179
|
-
if (ann.title && ann.url) {
|
|
180
|
-
citations.push(`${ann.title}: ${ann.url}`);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
prefixParts.push({
|
|
186
|
-
type: "tool_call_response",
|
|
187
|
-
id: pendingWebSearchId,
|
|
188
|
-
response: citations.length > 0 ? citations.join("\n") : "search completed",
|
|
189
|
-
});
|
|
190
|
-
pendingWebSearchId = undefined;
|
|
191
|
-
}
|
|
192
|
-
const parts = extractContentParts(content);
|
|
193
|
-
const status = item.status;
|
|
194
|
-
const finishReason = status === "completed" ? "stop" : undefined;
|
|
195
|
-
outputMessages.push({
|
|
196
|
-
role: "assistant",
|
|
197
|
-
parts: [...prefixParts, ...parts],
|
|
198
|
-
finish_reason: finishReason,
|
|
199
|
-
});
|
|
200
|
-
prefixParts.length = 0;
|
|
201
|
-
}
|
|
202
|
-
else if (typ === "function_call") {
|
|
203
|
-
outputMessages.push({
|
|
204
|
-
role: "assistant",
|
|
205
|
-
finish_reason: "tool-calls",
|
|
206
|
-
parts: [
|
|
207
|
-
{
|
|
208
|
-
type: "tool_call",
|
|
209
|
-
id: item.call_id,
|
|
210
|
-
name: item.name,
|
|
211
|
-
arguments: item.arguments,
|
|
212
|
-
},
|
|
213
|
-
],
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
// Leftover prefix parts with no message to attach to
|
|
218
|
-
if (prefixParts.length > 0) {
|
|
219
|
-
outputMessages.push({ role: "assistant", parts: [...prefixParts] });
|
|
220
|
-
}
|
|
221
|
-
return outputMessages;
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Convert OpenAI Responses API tool definitions to GenAI ToolDefinition format.
|
|
225
|
-
*
|
|
226
|
-
* @param tools - The tools array from the Response object.
|
|
227
|
-
* @returns An array of {@link ToolDefinition} objects.
|
|
228
|
-
*/
|
|
229
|
-
export function convertResponsesToolsToSemconv(tools) {
|
|
230
|
-
const toolDefs = [];
|
|
231
|
-
for (const tool of tools) {
|
|
232
|
-
if (tool.type === "function") {
|
|
233
|
-
const toolDef = { type: "function", name: tool.name };
|
|
234
|
-
if (tool.description)
|
|
235
|
-
toolDef.description = tool.description;
|
|
236
|
-
if (tool.parameters)
|
|
237
|
-
toolDef.parameters = tool.parameters;
|
|
238
|
-
toolDefs.push(toolDef);
|
|
239
|
-
}
|
|
240
|
-
else {
|
|
241
|
-
// For non-function tools (web_search, file_search, etc.)
|
|
242
|
-
toolDefs.push({ type: tool.type, name: tool.type });
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
return toolDefs;
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Convert OpenAI Response instructions to GenAI SystemInstruction format.
|
|
249
|
-
*
|
|
250
|
-
* @param instructions - The instructions field from the Response object.
|
|
251
|
-
* @returns An array of {@link SystemInstruction} objects, or undefined if no instructions.
|
|
252
|
-
*/
|
|
253
|
-
export function convertResponsesInstructionsToSemconv(instructions) {
|
|
254
|
-
if (!instructions)
|
|
255
|
-
return undefined;
|
|
256
|
-
if (typeof instructions === "string") {
|
|
257
|
-
return [{ type: "text", content: instructions }];
|
|
258
|
-
}
|
|
259
|
-
// Array of ResponseInputItem used as instructions
|
|
260
|
-
const result = [];
|
|
261
|
-
for (const item of instructions) {
|
|
262
|
-
const rec = asRecord(item);
|
|
263
|
-
if (typeof rec.content === "string") {
|
|
264
|
-
result.push({ type: "text", content: rec.content });
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
return result.length > 0 ? result : undefined;
|
|
268
|
-
}
|
|
269
|
-
//# sourceMappingURL=openai.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/converters/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import type { Attributes } from "@opentelemetry/api";
|
|
2
|
-
import type { ReadableSpan, SpanExporter } from "@opentelemetry/sdk-trace-base";
|
|
3
|
-
import type { GenAiAttributes } from "@introspection-sdk/types";
|
|
4
|
-
/**
|
|
5
|
-
* Check whether an OTel scope name belongs to an OpenInference instrumentor.
|
|
6
|
-
*
|
|
7
|
-
* @param scopeName - The `instrumentationScope.name` from a {@link ReadableSpan}.
|
|
8
|
-
* @returns `true` when the scope starts with `"openinference"` or `"@arizeai/openinference"`.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* if (isOpenInferenceSpan(span.instrumentationScope.name)) {
|
|
13
|
-
* // convert attributes …
|
|
14
|
-
* }
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
export declare function isOpenInferenceSpan(scopeName?: string): boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Convert OpenInference span attributes to camelCase {@link GenAiAttributes}.
|
|
20
|
-
*
|
|
21
|
-
* Extracts `llm.*`, `tool.*`, and `output.*` keys and maps them to the
|
|
22
|
-
* corresponding Gen AI semantic convention fields.
|
|
23
|
-
*
|
|
24
|
-
* @param attrs - Raw OTel {@link Attributes} from an OpenInference span.
|
|
25
|
-
* @returns A {@link GenAiAttributes} object with all recognised fields populated.
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```ts
|
|
29
|
-
* const genAi = convertOpenInferenceToGenAI(span.attributes);
|
|
30
|
-
* console.log(genAi.requestModel); // e.g. "gpt-4"
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
export declare function convertOpenInferenceToGenAI(attrs?: Attributes): GenAiAttributes;
|
|
34
|
-
/**
|
|
35
|
-
* Replace all OpenInference `llm.*` / `tool.*` / `output.*` attributes with
|
|
36
|
-
* their `gen_ai.*` equivalents, preserving every other attribute unchanged.
|
|
37
|
-
*
|
|
38
|
-
* @param attrs - Raw OTel {@link Attributes} that may contain OpenInference keys.
|
|
39
|
-
* @returns A new {@link Attributes} dictionary with OpenInference keys replaced.
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```ts
|
|
43
|
-
* const converted = replaceOpenInferenceWithGenAI(span.attributes);
|
|
44
|
-
* // converted["gen_ai.request.model"] is set; "llm.model_name" is removed
|
|
45
|
-
* ```
|
|
46
|
-
*/
|
|
47
|
-
export declare function replaceOpenInferenceWithGenAI(attrs?: Attributes): Attributes;
|
|
48
|
-
/**
|
|
49
|
-
* Enrich a {@link ReadableSpan} with OpenInference attributes derived from its
|
|
50
|
-
* `gen_ai.*` attributes.
|
|
51
|
-
*
|
|
52
|
-
* Use this when exporting Mastra traces to Arize / Phoenix, which expects
|
|
53
|
-
* OpenInference conventions (`openinference.span.kind`, `llm.model_name`,
|
|
54
|
-
* flattened `llm.input_messages.N.message.role`, token counts, etc.).
|
|
55
|
-
*
|
|
56
|
-
* @param span - The OTel {@link ReadableSpan} to enrich.
|
|
57
|
-
* @returns A shallow copy of the span with additional OpenInference attributes.
|
|
58
|
-
*
|
|
59
|
-
* @example
|
|
60
|
-
* ```ts
|
|
61
|
-
* const enriched = addOpenInferenceAttributes(span);
|
|
62
|
-
* exporter.export([enriched], cb);
|
|
63
|
-
* ```
|
|
64
|
-
*/
|
|
65
|
-
export declare function addOpenInferenceAttributes(span: ReadableSpan): ReadableSpan;
|
|
66
|
-
/**
|
|
67
|
-
* {@link SpanExporter} wrapper that enriches every span with OpenInference
|
|
68
|
-
* attributes before forwarding it to the inner exporter.
|
|
69
|
-
*
|
|
70
|
-
* Use this when exporting Mastra / `gen_ai` traces to Arize or Phoenix.
|
|
71
|
-
*
|
|
72
|
-
* @example
|
|
73
|
-
* ```ts
|
|
74
|
-
* const otlp = new OTLPTraceExporter({ url: "https://otlp.arize.com/v1/traces" });
|
|
75
|
-
* const exporter = new OpenInferenceSpanExporter(otlp);
|
|
76
|
-
* provider.addSpanProcessor(new BatchSpanProcessor(exporter));
|
|
77
|
-
* ```
|
|
78
|
-
*/
|
|
79
|
-
export declare class OpenInferenceSpanExporter implements SpanExporter {
|
|
80
|
-
private inner;
|
|
81
|
-
/**
|
|
82
|
-
* @param inner - The downstream {@link SpanExporter} to forward enriched spans to.
|
|
83
|
-
*/
|
|
84
|
-
constructor(inner: SpanExporter);
|
|
85
|
-
/**
|
|
86
|
-
* Enrich each span with OpenInference attributes, then forward the batch.
|
|
87
|
-
*
|
|
88
|
-
* @param spans - Completed spans to export.
|
|
89
|
-
* @param resultCallback - Callback invoked with the export result code.
|
|
90
|
-
*/
|
|
91
|
-
export(spans: ReadableSpan[], resultCallback: (result: {
|
|
92
|
-
code: number;
|
|
93
|
-
}) => void): void;
|
|
94
|
-
/**
|
|
95
|
-
* Shut down the inner exporter.
|
|
96
|
-
*
|
|
97
|
-
* @returns A promise that resolves when the inner exporter has shut down.
|
|
98
|
-
*/
|
|
99
|
-
shutdown(): Promise<void>;
|
|
100
|
-
/**
|
|
101
|
-
* Flush any buffered spans in the inner exporter.
|
|
102
|
-
*
|
|
103
|
-
* @returns A promise that resolves when the flush completes.
|
|
104
|
-
*/
|
|
105
|
-
forceFlush(): Promise<void>;
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=openinference.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openinference.d.ts","sourceRoot":"","sources":["../../src/converters/openinference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,eAAe,EAMhB,MAAM,0BAA0B,CAAC;AAwBlC;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAM/D;AAiTD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,CAAC,EAAE,UAAU,GACjB,eAAe,CAyCjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,CAsB5E;AAoED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CA4E3E;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,yBAA0B,YAAW,YAAY;IAIhD,OAAO,CAAC,KAAK;IAHzB;;OAEG;gBACiB,KAAK,EAAE,YAAY;IAEvC;;;;;OAKG;IACH,MAAM,CACJ,KAAK,EAAE,YAAY,EAAE,EACrB,cAAc,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GACjD,IAAI;IAIP;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
|