@introspection-sdk/introspection-node 0.20.0 → 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 +3 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -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 -277
- 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,236 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converter for Vercel AI SDK telemetry spans → Gen AI semantic conventions.
|
|
3
|
-
*
|
|
4
|
-
* The Vercel AI SDK emits spans with `ai.*` attributes when
|
|
5
|
-
* `experimental_telemetry: { isEnabled: true }` is set on streamText/generateText.
|
|
6
|
-
* This converter translates those to `gen_ai.*` so the Introspection frontend
|
|
7
|
-
* can render them in the conversation view.
|
|
8
|
-
*/
|
|
9
|
-
/** Check if a span is a Vercel AI SDK span worth converting.
|
|
10
|
-
* Only converts child "do*" spans (doStream, doGenerate) which have
|
|
11
|
-
* the actual prompt/response data with proper message windows.
|
|
12
|
-
* Parent wrapper spans (ai.streamText, ai.generateText) are skipped
|
|
13
|
-
* to avoid duplicate conversation steps without user messages. */
|
|
14
|
-
export function isVercelAISpan(attrs) {
|
|
15
|
-
const operationId = attrs["ai.operationId"];
|
|
16
|
-
return typeof operationId === "string" && operationId.includes(".do");
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Convert Vercel AI SDK `ai.*` attributes to `gen_ai.*` semconv attributes.
|
|
20
|
-
* Returns only the gen_ai attributes to merge — does NOT remove originals.
|
|
21
|
-
*/
|
|
22
|
-
export function convertVercelAIToGenAI(attrs) {
|
|
23
|
-
const result = {};
|
|
24
|
-
// gen_ai.operation.name
|
|
25
|
-
result["gen_ai.operation.name"] = "chat";
|
|
26
|
-
// gen_ai.usage.cache_read.input_tokens from ai.usage.cachedInputTokens
|
|
27
|
-
const cachedInput = attrs["ai.usage.cachedInputTokens"];
|
|
28
|
-
if (typeof cachedInput === "number") {
|
|
29
|
-
result["gen_ai.usage.cache_read.input_tokens"] = cachedInput;
|
|
30
|
-
}
|
|
31
|
-
// gen_ai.conversation.id from telemetry metadata (set by app)
|
|
32
|
-
const metadataConvId = attrs["ai.telemetry.metadata.gen_ai.conversation.id"];
|
|
33
|
-
if (typeof metadataConvId === "string") {
|
|
34
|
-
result["gen_ai.conversation.id"] = metadataConvId;
|
|
35
|
-
}
|
|
36
|
-
// gen_ai.request.model and gen_ai.provider.name from ai.model.*
|
|
37
|
-
const modelId = attrs["ai.model.id"];
|
|
38
|
-
if (typeof modelId === "string" && !attrs["gen_ai.request.model"]) {
|
|
39
|
-
result["gen_ai.request.model"] = modelId;
|
|
40
|
-
}
|
|
41
|
-
const modelProvider = attrs["ai.model.provider"];
|
|
42
|
-
if (typeof modelProvider === "string" && !attrs["gen_ai.provider.name"]) {
|
|
43
|
-
result["gen_ai.provider.name"] = modelProvider;
|
|
44
|
-
}
|
|
45
|
-
// Vercel AI SDK stores prompt data in two formats:
|
|
46
|
-
// - Child spans (doStream): flat keys like ai.prompt.messages, ai.prompt.toolChoice
|
|
47
|
-
// - Parent spans (streamText): single JSON string in ai.prompt
|
|
48
|
-
const promptMessages = attrs["ai.prompt.messages"];
|
|
49
|
-
const promptRaw = attrs["ai.prompt"];
|
|
50
|
-
let parsedMessages = null;
|
|
51
|
-
let parsedSystem = null;
|
|
52
|
-
if (typeof promptMessages === "string") {
|
|
53
|
-
try {
|
|
54
|
-
const parsed = JSON.parse(promptMessages);
|
|
55
|
-
if (Array.isArray(parsed))
|
|
56
|
-
parsedMessages = parsed;
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
/* ignore */
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else if (typeof promptRaw === "string") {
|
|
63
|
-
try {
|
|
64
|
-
const parsed = JSON.parse(promptRaw);
|
|
65
|
-
if (Array.isArray(parsed?.messages))
|
|
66
|
-
parsedMessages = parsed.messages;
|
|
67
|
-
if (typeof parsed?.system === "string")
|
|
68
|
-
parsedSystem = parsed.system;
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
/* ignore */
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
// gen_ai.input.messages — excluding system messages
|
|
75
|
-
const nonSystemMessages = parsedMessages
|
|
76
|
-
? parsedMessages.filter((m) => m.role !== "system")
|
|
77
|
-
: null;
|
|
78
|
-
if (nonSystemMessages && nonSystemMessages.length > 0) {
|
|
79
|
-
const converted = nonSystemMessages.map(convertVercelMessageToGenAI);
|
|
80
|
-
result["gen_ai.input.messages"] = JSON.stringify(converted);
|
|
81
|
-
}
|
|
82
|
-
// gen_ai.output.messages — build from ai.response.text + ai.response.reasoning
|
|
83
|
-
const responseText = attrs["ai.response.text"];
|
|
84
|
-
const responseReasoning = attrs["ai.response.reasoning"];
|
|
85
|
-
if (typeof responseText === "string" && responseText) {
|
|
86
|
-
const parts = [];
|
|
87
|
-
if (typeof responseReasoning === "string" && responseReasoning) {
|
|
88
|
-
parts.push({ type: "reasoning", content: responseReasoning });
|
|
89
|
-
}
|
|
90
|
-
parts.push({ type: "text", content: responseText });
|
|
91
|
-
result["gen_ai.output.messages"] = JSON.stringify([
|
|
92
|
-
{ role: "assistant", parts },
|
|
93
|
-
]);
|
|
94
|
-
}
|
|
95
|
-
// gen_ai.tool.definitions — parse ai.prompt.tools JSON strings
|
|
96
|
-
const promptTools = attrs["ai.prompt.tools"];
|
|
97
|
-
if (typeof promptTools === "string") {
|
|
98
|
-
try {
|
|
99
|
-
const parsed = JSON.parse(promptTools);
|
|
100
|
-
if (Array.isArray(parsed)) {
|
|
101
|
-
result["gen_ai.tool.definitions"] = JSON.stringify(parsed
|
|
102
|
-
.map((t) => {
|
|
103
|
-
if (typeof t === "string") {
|
|
104
|
-
try {
|
|
105
|
-
return JSON.parse(t);
|
|
106
|
-
}
|
|
107
|
-
catch {
|
|
108
|
-
return { name: t };
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return t;
|
|
112
|
-
})
|
|
113
|
-
.map((t) => ({
|
|
114
|
-
type: t.type || "function",
|
|
115
|
-
name: t.name || "",
|
|
116
|
-
description: t.description || "",
|
|
117
|
-
parameters: t.inputSchema || t.parameters || undefined,
|
|
118
|
-
})));
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
catch {
|
|
122
|
-
// ignore
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
else if (Array.isArray(promptTools)) {
|
|
126
|
-
const tools = promptTools.map((t) => {
|
|
127
|
-
const parsed = (typeof t === "string" ? JSON.parse(t) : t);
|
|
128
|
-
return {
|
|
129
|
-
type: parsed.type || "function",
|
|
130
|
-
name: parsed.name || "",
|
|
131
|
-
description: parsed.description || "",
|
|
132
|
-
parameters: parsed.inputSchema || parsed.parameters || undefined,
|
|
133
|
-
};
|
|
134
|
-
});
|
|
135
|
-
result["gen_ai.tool.definitions"] = JSON.stringify(tools);
|
|
136
|
-
}
|
|
137
|
-
// gen_ai.agent.name — from telemetry functionId or operation
|
|
138
|
-
const functionId = attrs["ai.telemetry.functionId"];
|
|
139
|
-
if (typeof functionId === "string" && functionId) {
|
|
140
|
-
result["gen_ai.agent.name"] = functionId;
|
|
141
|
-
}
|
|
142
|
-
// gen_ai.system_instructions — from parsed system prompt or system role messages
|
|
143
|
-
if (parsedSystem) {
|
|
144
|
-
result["gen_ai.system_instructions"] = JSON.stringify([
|
|
145
|
-
{ type: "text", content: parsedSystem },
|
|
146
|
-
]);
|
|
147
|
-
}
|
|
148
|
-
else if (parsedMessages) {
|
|
149
|
-
const systemMsgs = parsedMessages.filter((m) => m.role === "system");
|
|
150
|
-
if (systemMsgs.length > 0) {
|
|
151
|
-
result["gen_ai.system_instructions"] = JSON.stringify(systemMsgs.map((m) => ({
|
|
152
|
-
type: "text",
|
|
153
|
-
content: typeof m.content === "string"
|
|
154
|
-
? m.content
|
|
155
|
-
: JSON.stringify(m.content),
|
|
156
|
-
})));
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
return result;
|
|
160
|
-
}
|
|
161
|
-
function convertVercelMessageToGenAI(msg) {
|
|
162
|
-
const role = msg.role || "user";
|
|
163
|
-
if (role === "system") {
|
|
164
|
-
return {
|
|
165
|
-
role,
|
|
166
|
-
parts: [{ type: "text", content: extractTextContent(msg.content) }],
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
return {
|
|
170
|
-
role,
|
|
171
|
-
parts: extractParts(msg.content),
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
function extractTextContent(content) {
|
|
175
|
-
if (typeof content === "string")
|
|
176
|
-
return content;
|
|
177
|
-
if (Array.isArray(content)) {
|
|
178
|
-
return content
|
|
179
|
-
.filter((p) => p.type === "text")
|
|
180
|
-
.map((p) => p.text || p.content || "")
|
|
181
|
-
.join("");
|
|
182
|
-
}
|
|
183
|
-
return String(content || "");
|
|
184
|
-
}
|
|
185
|
-
function extractParts(content) {
|
|
186
|
-
if (typeof content === "string") {
|
|
187
|
-
return [{ type: "text", content }];
|
|
188
|
-
}
|
|
189
|
-
if (Array.isArray(content)) {
|
|
190
|
-
return content.map((part) => {
|
|
191
|
-
if (part.type === "text") {
|
|
192
|
-
return { type: "text", content: part.text || part.content || "" };
|
|
193
|
-
}
|
|
194
|
-
if (part.type === "tool-call" || part.type === "tool_call") {
|
|
195
|
-
// AI SDK v6 emits `input`; older versions emitted `args`.
|
|
196
|
-
const rawArgs = part.input ?? part.args;
|
|
197
|
-
return {
|
|
198
|
-
type: "tool_call",
|
|
199
|
-
name: part.toolName || part.name || "",
|
|
200
|
-
id: part.toolCallId || part.id || "",
|
|
201
|
-
arguments: typeof rawArgs === "string" ? rawArgs : JSON.stringify(rawArgs),
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
if (part.type === "tool-result" || part.type === "tool_result") {
|
|
205
|
-
// AI SDK v6 wraps text outputs in `{ output: { type: "text", value } }`.
|
|
206
|
-
// Older shapes used `result`. Unwrap to the raw string when we can so
|
|
207
|
-
// brightstaff's execution.failure.* / environment.exhaustion.* regex
|
|
208
|
-
// detectors see the error text directly — otherwise downstream
|
|
209
|
-
// consumers get a JSON-stringified blob and the canonical
|
|
210
|
-
// `tool_call_response` shape is lost.
|
|
211
|
-
const rawOutput = part.result !== undefined ? part.result : part.output;
|
|
212
|
-
let response;
|
|
213
|
-
if (typeof rawOutput === "string") {
|
|
214
|
-
response = rawOutput;
|
|
215
|
-
}
|
|
216
|
-
else if (rawOutput &&
|
|
217
|
-
typeof rawOutput === "object" &&
|
|
218
|
-
"value" in rawOutput) {
|
|
219
|
-
const value = rawOutput.value;
|
|
220
|
-
response = typeof value === "string" ? value : JSON.stringify(value);
|
|
221
|
-
}
|
|
222
|
-
else {
|
|
223
|
-
response = JSON.stringify(rawOutput);
|
|
224
|
-
}
|
|
225
|
-
return {
|
|
226
|
-
type: "tool_call_response",
|
|
227
|
-
id: part.toolCallId || part.id || "",
|
|
228
|
-
response,
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
return { type: "text", content: JSON.stringify(part) };
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
return [{ type: "text", content: String(content || "") }];
|
|
235
|
-
}
|
|
236
|
-
//# sourceMappingURL=vercel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../src/converters/vercel.ts"],"names":[],"mappings":"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"}
|
package/dist/otel/anthropic.d.ts
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lightweight Anthropic instrumentor for Introspection SDK.
|
|
3
|
-
*
|
|
4
|
-
* Captures the full Anthropic response including thinking blocks (extended
|
|
5
|
-
* thinking) with signatures, which third-party instrumentors drop.
|
|
6
|
-
*
|
|
7
|
-
* Supports both non-streaming (`messages.create`) and streaming
|
|
8
|
-
* (`messages.create({ stream: true })`) calls.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* import { AnthropicInstrumentor } from "@introspection-sdk/introspection-node";
|
|
13
|
-
*
|
|
14
|
-
* const instrumentor = new AnthropicInstrumentor();
|
|
15
|
-
* instrumentor.instrument({ tracerProvider: provider });
|
|
16
|
-
* // All client.messages.create calls are now traced
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
import type { Tracer, TracerProvider } from "@opentelemetry/api";
|
|
20
|
-
/** Sentinel value for redacted thinking blocks — content was encrypted by safety systems. */
|
|
21
|
-
export declare const REDACTED_THINKING_CONTENT = "[redacted]";
|
|
22
|
-
/**
|
|
23
|
-
* Traced wrapper around `client.messages.create(kwargs)`.
|
|
24
|
-
* Creates a gen_ai span with full Anthropic response including thinking blocks.
|
|
25
|
-
*/
|
|
26
|
-
export declare function tracedMessagesCreate(tracer: Tracer, client: {
|
|
27
|
-
messages: {
|
|
28
|
-
create: (...args: unknown[]) => Promise<unknown>;
|
|
29
|
-
};
|
|
30
|
-
}, kwargs: Record<string, unknown>, conversationId?: string): Promise<unknown>;
|
|
31
|
-
export declare class AnthropicInstrumentor {
|
|
32
|
-
private tracer;
|
|
33
|
-
private patchedClients;
|
|
34
|
-
private protoRestores;
|
|
35
|
-
private conversationId;
|
|
36
|
-
instrument(opts: {
|
|
37
|
-
tracerProvider?: TracerProvider;
|
|
38
|
-
/** The Anthropic client instance to instrument. */
|
|
39
|
-
client: any;
|
|
40
|
-
/**
|
|
41
|
-
* Conversation ID shared across all spans produced by this instrumentor.
|
|
42
|
-
* Enables the Introspection processor to reliably link multi-turn API calls
|
|
43
|
-
* into a single conversation without relying on history-hash matching.
|
|
44
|
-
* Defaults to a random UUID generated at instrument() time.
|
|
45
|
-
*/
|
|
46
|
-
conversationId?: string;
|
|
47
|
-
}): void;
|
|
48
|
-
/**
|
|
49
|
-
* Patch `Anthropic.Messages.prototype.create` so **every** client constructed
|
|
50
|
-
* from the given module is traced — the one-liner path used by
|
|
51
|
-
* `introspection.init()`. Idempotent: a second call is a no-op.
|
|
52
|
-
*
|
|
53
|
-
* @param opts.anthropic The `@anthropic-ai/sdk` module's default export
|
|
54
|
-
* (the `Anthropic` class). Its `.Messages.prototype.create` is patched.
|
|
55
|
-
*/
|
|
56
|
-
instrumentClass(opts: {
|
|
57
|
-
anthropic: any;
|
|
58
|
-
tracerProvider?: TracerProvider;
|
|
59
|
-
conversationId?: string;
|
|
60
|
-
}): void;
|
|
61
|
-
uninstrument(): void;
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/otel/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAiBH,OAAO,KAAK,EAAE,MAAM,EAAQ,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMvE,6FAA6F;AAC7F,eAAO,MAAM,yBAAyB,eAAe,CAAC;AAuWtD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;IAAE,QAAQ,EAAE;QAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,EAC1E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC,CAuBlB;AA+FD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAuB;IAErC,OAAO,CAAC,cAAc,CAAmD;IACzE,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,cAAc,CAAqB;IAE3C,UAAU,CAAC,IAAI,EAAE;QACf,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,mDAAmD;QAEnD,MAAM,EAAE,GAAG,CAAC;QACZ;;;;;WAKG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,IAAI;IAuBR;;;;;;;OAOG;IACH,eAAe,CAAC,IAAI,EAAE;QAEpB,SAAS,EAAE,GAAG,CAAC;QACf,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,IAAI;IA2BR,YAAY,IAAI,IAAI;CASrB"}
|