@introspection-sdk/introspection-node 0.4.6 → 0.4.8
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/.turbo/turbo-build.log +1 -1
- package/README.md +262 -0
- package/dist/otel/init.js +1 -1
- package/dist/otel/init.js.map +1 -1
- package/dist/otel/integrations/anthropic.d.ts +1 -1
- package/dist/otel/integrations/anthropic.d.ts.map +1 -1
- package/dist/otel/integrations/anthropic.js +8 -4
- package/dist/otel/integrations/anthropic.js.map +1 -1
- package/dist/otel/integrations/base.d.ts +30 -1
- package/dist/otel/integrations/base.d.ts.map +1 -1
- package/dist/otel/integrations/base.js +50 -0
- package/dist/otel/integrations/base.js.map +1 -1
- package/dist/otel/integrations/claude-agent.d.ts +1 -2
- package/dist/otel/integrations/claude-agent.d.ts.map +1 -1
- package/dist/otel/integrations/claude-agent.js +4 -3
- package/dist/otel/integrations/claude-agent.js.map +1 -1
- package/dist/otel/integrations/gemini.d.ts +1 -1
- package/dist/otel/integrations/gemini.d.ts.map +1 -1
- package/dist/otel/integrations/gemini.js +4 -2
- package/dist/otel/integrations/gemini.js.map +1 -1
- package/dist/otel/integrations/index.d.ts +6 -12
- package/dist/otel/integrations/index.d.ts.map +1 -1
- package/dist/otel/integrations/index.js +20 -24
- package/dist/otel/integrations/index.js.map +1 -1
- package/dist/otel/integrations/langchain.d.ts +1 -2
- package/dist/otel/integrations/langchain.d.ts.map +1 -1
- package/dist/otel/integrations/langchain.js +6 -4
- package/dist/otel/integrations/langchain.js.map +1 -1
- package/dist/otel/integrations/mastra.d.ts +1 -1
- package/dist/otel/integrations/mastra.d.ts.map +1 -1
- package/dist/otel/integrations/mastra.js +6 -2
- package/dist/otel/integrations/mastra.js.map +1 -1
- package/dist/otel/integrations/openai-agents.d.ts +1 -1
- package/dist/otel/integrations/openai-agents.d.ts.map +1 -1
- package/dist/otel/integrations/openai-agents.js +7 -2
- package/dist/otel/integrations/openai-agents.js.map +1 -1
- package/dist/otel/integrations/pi.d.ts +1 -2
- package/dist/otel/integrations/pi.d.ts.map +1 -1
- package/dist/otel/integrations/pi.js +4 -3
- package/dist/otel/integrations/pi.js.map +1 -1
- package/dist/otel/integrations/vercel.d.ts +1 -2
- package/dist/otel/integrations/vercel.d.ts.map +1 -1
- package/dist/otel/integrations/vercel.js +2 -2
- package/dist/otel/integrations/vercel.js.map +1 -1
- package/package.json +12 -12
- package/src/otel/init.ts +1 -1
- package/src/otel/integrations/anthropic.ts +16 -6
- package/src/otel/integrations/base.ts +64 -1
- package/src/otel/integrations/claude-agent.ts +9 -5
- package/src/otel/integrations/gemini.ts +9 -4
- package/src/otel/integrations/index.ts +25 -24
- package/src/otel/integrations/langchain.ts +20 -5
- package/src/otel/integrations/mastra.ts +21 -3
- package/src/otel/integrations/openai-agents.ts +20 -4
- package/src/otel/integrations/pi.ts +9 -5
- package/src/otel/integrations/vercel.ts +6 -4
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @introspection-sdk/introspection-node@0.4.
|
|
2
|
+
> @introspection-sdk/introspection-node@0.4.8 build /home/runner/work/introspection-js-sdk/introspection-js-sdk/packages/introspection-node
|
|
3
3
|
> tsc
|
|
4
4
|
|
package/README.md
ADDED
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
# @introspection-sdk/introspection-node
|
|
2
|
+
|
|
3
|
+
Node.js SDK for [Introspection](https://introspection.dev) — API client, analytics events, and OpenTelemetry trace instrumentation.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```shell
|
|
8
|
+
pnpm add @introspection-sdk/introspection-node
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
For OTel features (analytics, traces, instrumentors), also install the peer dependencies:
|
|
12
|
+
|
|
13
|
+
```shell
|
|
14
|
+
pnpm add @opentelemetry/api @opentelemetry/api-logs \
|
|
15
|
+
@opentelemetry/sdk-trace-base @opentelemetry/sdk-trace-node \
|
|
16
|
+
@opentelemetry/sdk-logs @opentelemetry/exporter-trace-otlp-proto \
|
|
17
|
+
@opentelemetry/exporter-logs-otlp-proto @opentelemetry/resources \
|
|
18
|
+
@opentelemetry/semantic-conventions @opentelemetry/context-async-hooks \
|
|
19
|
+
@opentelemetry/core
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Introspection API (runtimes, tasks, files)
|
|
23
|
+
|
|
24
|
+
The main Introspection API surface. No OTel packages required.
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
import { IntrospectionClient } from "@introspection-sdk/introspection-node";
|
|
28
|
+
|
|
29
|
+
const client = new IntrospectionClient();
|
|
30
|
+
|
|
31
|
+
const runner = await client.runtimes("customer-agent").run();
|
|
32
|
+
|
|
33
|
+
const run = await runner.tasks.start({
|
|
34
|
+
prompt: "Say hello in one sentence.",
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
for await (const event of run.stream()) {
|
|
38
|
+
console.log(`[${event.event}] ${event.data}`);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
await runner.close();
|
|
42
|
+
await client.shutdown();
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## One-liner `introspection.init()`
|
|
46
|
+
|
|
47
|
+
`init()` auto-detects installed LLM frameworks (Anthropic, Gemini, OpenAI Agents, Vercel AI SDK, Claude Agent SDK, LangChain, Mastra, Pi) and wires them into a single shared trace pipeline:
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
import * as introspection from "@introspection-sdk/introspection-node/otel";
|
|
51
|
+
import Anthropic from "@anthropic-ai/sdk";
|
|
52
|
+
|
|
53
|
+
await introspection.init({ serviceName: "my-app" });
|
|
54
|
+
|
|
55
|
+
const client = new Anthropic();
|
|
56
|
+
await introspection.conversation(() =>
|
|
57
|
+
client.messages.create({
|
|
58
|
+
model: "claude-sonnet-4-6",
|
|
59
|
+
max_tokens: 256,
|
|
60
|
+
messages: [{ role: "user", content: "Hello!" }],
|
|
61
|
+
}),
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
introspection.track("Signed up", { plan: "pro" });
|
|
65
|
+
await introspection.shutdown();
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Both import styles work:
|
|
69
|
+
|
|
70
|
+
```typescript
|
|
71
|
+
import {
|
|
72
|
+
init,
|
|
73
|
+
conversation,
|
|
74
|
+
track,
|
|
75
|
+
} from "@introspection-sdk/introspection-node/otel";
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Dual export
|
|
79
|
+
|
|
80
|
+
Build the OpenTelemetry provider yourself with both span processors:
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
|
|
84
|
+
import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-base";
|
|
85
|
+
import { IntrospectionSpanProcessor } from "@introspection-sdk/introspection-node/otel";
|
|
86
|
+
|
|
87
|
+
const provider = new NodeTracerProvider({
|
|
88
|
+
spanProcessors: [
|
|
89
|
+
new IntrospectionSpanProcessor({ token: process.env.INTROSPECTION_TOKEN }),
|
|
90
|
+
new BatchSpanProcessor(langfuseExporter),
|
|
91
|
+
],
|
|
92
|
+
});
|
|
93
|
+
provider.register();
|
|
94
|
+
|
|
95
|
+
await introspection.init({ tracerProvider: provider });
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
`IntrospectionSpanProcessor` exports its own converted copy of each span, so the vendor processor receives the raw span and processor order is irrelevant. For a quick alternative: `init({ spanProcessors: [new BatchSpanProcessor(langfuseExporter)] })`.
|
|
99
|
+
|
|
100
|
+
Frameworks whose hooks are attached per-call (LangChain), per-config (Mastra), or per-instance (Pi, Claude Agent SDK) are bound by `init()` and exposed via accessors — `introspection.getLangchainHandler()`, `introspection.getMastraExporter()`, `introspection.instrumentPi(agent, meta)`, `introspection.instrumentClaudeAgent(sdk)`.
|
|
101
|
+
|
|
102
|
+
## Analytics events (track, feedback, identify)
|
|
103
|
+
|
|
104
|
+
```typescript
|
|
105
|
+
import { IntrospectionLogs } from "@introspection-sdk/introspection-node/otel";
|
|
106
|
+
|
|
107
|
+
const logs = new IntrospectionLogs({
|
|
108
|
+
token: process.env.INTROSPECTION_TOKEN,
|
|
109
|
+
serviceName: "my-service",
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
await logs.withUserId("user_123", async () => {
|
|
113
|
+
await logs.withConversation("conv_456", "msg_123", async () => {
|
|
114
|
+
logs.feedback("thumbs_up", { comments: "Great response!" });
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
logs.track("Button Clicked", { buttonId: "submit" });
|
|
119
|
+
logs.identify("user_123", { email: "user@example.com" });
|
|
120
|
+
|
|
121
|
+
await logs.shutdown();
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Methods
|
|
125
|
+
|
|
126
|
+
| Method | Description |
|
|
127
|
+
| --------------------------- | ------------------------------ |
|
|
128
|
+
| `track(event, properties?)` | Track any user action |
|
|
129
|
+
| `feedback(type, options?)` | Track feedback on AI responses |
|
|
130
|
+
| `identify(userId, traits?)` | Associate a user with traits |
|
|
131
|
+
| `flush()` | Flush pending events |
|
|
132
|
+
| `shutdown()` | Shutdown and flush |
|
|
133
|
+
|
|
134
|
+
### Context helpers (OTel baggage)
|
|
135
|
+
|
|
136
|
+
| Method | Description |
|
|
137
|
+
| ---------------------------------------------- | ---------------------------- |
|
|
138
|
+
| `withUserId(id, callback)` | Set user context |
|
|
139
|
+
| `withConversation(id?, responseId?, callback)` | Set conversation context |
|
|
140
|
+
| `withAgent(name, id?, callback)` | Set agent context |
|
|
141
|
+
| `withAnonymousId(id, callback)` | Set anonymous ID |
|
|
142
|
+
| `withBaggage(values, callback)` | Set arbitrary baggage values |
|
|
143
|
+
|
|
144
|
+
## Framework integrations
|
|
145
|
+
|
|
146
|
+
### OpenTelemetry Span Processor
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
import { IntrospectionSpanProcessor } from "@introspection-sdk/introspection-node/otel";
|
|
150
|
+
import logfire from "@logfire/node";
|
|
151
|
+
|
|
152
|
+
logfire.configure({
|
|
153
|
+
additionalSpanProcessors: [
|
|
154
|
+
new IntrospectionSpanProcessor({ token: process.env.INTROSPECTION_TOKEN }),
|
|
155
|
+
],
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
logfire.instrumentOpenAI();
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### OpenAI Agents SDK
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
import { Agent, run, addTraceProcessor } from "@openai/agents";
|
|
165
|
+
import { IntrospectionTracingProcessor } from "@introspection-sdk/introspection-node/otel";
|
|
166
|
+
|
|
167
|
+
const processor = new IntrospectionTracingProcessor();
|
|
168
|
+
addTraceProcessor(processor);
|
|
169
|
+
|
|
170
|
+
const agent = new Agent({ name: "my-agent", model: "gpt-4o" });
|
|
171
|
+
const result = await run(agent, "Hello!");
|
|
172
|
+
|
|
173
|
+
await processor.shutdown();
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Claude Agent SDK
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
import * as sdk from "@anthropic-ai/claude-agent-sdk";
|
|
180
|
+
import { withIntrospection } from "@introspection-sdk/introspection-node/otel";
|
|
181
|
+
|
|
182
|
+
const tracedSdk = withIntrospection(sdk);
|
|
183
|
+
const stream = tracedSdk.query({
|
|
184
|
+
prompt: "What is 2 + 2?",
|
|
185
|
+
options: { model: "claude-sonnet-4-5-20250929", maxTurns: 1 },
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
for await (const message of stream) {
|
|
189
|
+
/* ... */
|
|
190
|
+
}
|
|
191
|
+
await tracedSdk.shutdown();
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Vercel AI SDK
|
|
195
|
+
|
|
196
|
+
```typescript
|
|
197
|
+
import { setupTracing } from "@introspection-sdk/introspection-node/otel";
|
|
198
|
+
import { generateText } from "ai";
|
|
199
|
+
import { openai } from "@ai-sdk/openai";
|
|
200
|
+
|
|
201
|
+
const provider = setupTracing({ serviceName: "my-app" });
|
|
202
|
+
|
|
203
|
+
const { text } = await generateText({
|
|
204
|
+
model: openai("gpt-4o"),
|
|
205
|
+
prompt: "Hello!",
|
|
206
|
+
experimental_telemetry: { isEnabled: true },
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
await provider.shutdown();
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Mastra
|
|
213
|
+
|
|
214
|
+
```typescript
|
|
215
|
+
import { Mastra } from "@mastra/core/mastra";
|
|
216
|
+
import { IntrospectionMastraExporter } from "@introspection-sdk/introspection-node/mastra";
|
|
217
|
+
|
|
218
|
+
const mastra = new Mastra({
|
|
219
|
+
agents: { myAgent },
|
|
220
|
+
observability: {
|
|
221
|
+
configs: {
|
|
222
|
+
otel: {
|
|
223
|
+
serviceName: "my-mastra-app",
|
|
224
|
+
exporters: [new IntrospectionMastraExporter()],
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### LangChain / LangGraph
|
|
232
|
+
|
|
233
|
+
```typescript
|
|
234
|
+
import { IntrospectionCallbackHandler } from "@introspection-sdk/introspection-node/langchain";
|
|
235
|
+
import { ChatOpenAI } from "@langchain/openai";
|
|
236
|
+
|
|
237
|
+
const handler = new IntrospectionCallbackHandler();
|
|
238
|
+
const model = new ChatOpenAI({ modelName: "gpt-4o" });
|
|
239
|
+
const response = await model.invoke("Hello!", { callbacks: [handler] });
|
|
240
|
+
|
|
241
|
+
await handler.shutdown();
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
For LangGraph, pass the app's session id as `thread_id`:
|
|
245
|
+
|
|
246
|
+
```typescript
|
|
247
|
+
await graph.invoke(input, {
|
|
248
|
+
callbacks: [handler],
|
|
249
|
+
configurable: { thread_id: "user-session-123" },
|
|
250
|
+
});
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
> See [examples/](../../examples/) for complete integration patterns including dual-export with Arize, Langfuse, Braintrust, and LangSmith.
|
|
254
|
+
|
|
255
|
+
## Environment variables
|
|
256
|
+
|
|
257
|
+
```shell
|
|
258
|
+
export INTROSPECTION_TOKEN="intro_xxx"
|
|
259
|
+
export INTROSPECTION_BASE_API_URL="https://api.introspection.dev" # optional
|
|
260
|
+
export INTROSPECTION_BASE_OTEL_URL="https://otel.introspection.dev" # optional
|
|
261
|
+
export INTROSPECTION_SERVICE_NAME="my-service" # optional
|
|
262
|
+
```
|
package/dist/otel/init.js
CHANGED
|
@@ -108,7 +108,7 @@ export async function init(options = {}) {
|
|
|
108
108
|
}
|
|
109
109
|
if (options.integrations)
|
|
110
110
|
toInstall.push(...options.integrations);
|
|
111
|
-
setupIntegrations(toInstall, ctx);
|
|
111
|
+
await setupIntegrations(toInstall, ctx);
|
|
112
112
|
}
|
|
113
113
|
catch (e) {
|
|
114
114
|
state.handles = {};
|
package/dist/otel/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/otel/init.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/otel/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Patches `Anthropic.Messages.prototype.create` so every `new Anthropic()`
|
|
5
5
|
* client is traced against the shared provider — no per-client wiring.
|
|
6
6
|
*/
|
|
7
|
-
import type
|
|
7
|
+
import { type Integration } from "./base.js";
|
|
8
8
|
declare const integration: Integration;
|
|
9
9
|
export default integration;
|
|
10
10
|
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AASnB,QAAA,MAAM,WAAW,EAAE,WAWlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -4,13 +4,17 @@
|
|
|
4
4
|
* Patches `Anthropic.Messages.prototype.create` so every `new Anthropic()`
|
|
5
5
|
* client is traced against the shared provider — no per-client wiring.
|
|
6
6
|
*/
|
|
7
|
-
// Top-level import gates availability: if `@anthropic-ai/sdk` is not installed
|
|
8
|
-
// the dynamic import of this module rejects and discovery skips the shim.
|
|
9
|
-
import Anthropic from "@anthropic-ai/sdk";
|
|
10
7
|
import { AnthropicInstrumentor } from "../anthropic.js";
|
|
8
|
+
import { importOptionalPeer, isOptionalPeerInstalled, OPTIONAL_PEERS, } from "./base.js";
|
|
9
|
+
async function loadAnthropicSdk() {
|
|
10
|
+
const mod = await importOptionalPeer(OPTIONAL_PEERS.anthropic);
|
|
11
|
+
return mod.default ?? mod;
|
|
12
|
+
}
|
|
11
13
|
const integration = {
|
|
12
14
|
identifier: "anthropic",
|
|
13
|
-
|
|
15
|
+
isAvailable: () => isOptionalPeerInstalled(OPTIONAL_PEERS.anthropic),
|
|
16
|
+
async setupOnce({ tracerProvider }) {
|
|
17
|
+
const Anthropic = await loadAnthropicSdk();
|
|
14
18
|
const instrumentor = new AnthropicInstrumentor();
|
|
15
19
|
instrumentor.instrumentClass({ anthropic: Anthropic, tracerProvider });
|
|
16
20
|
// Restore the original prototype on shutdown so a later init() re-patches
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/otel/integrations/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/otel/integrations/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,GAEf,MAAM,WAAW,CAAC;AAEnB,KAAK,UAAU,gBAAgB;IAC7B,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAClC,cAAc,CAAC,SAAS,CACzB,CAAC;IACF,OAAO,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;AAC5B,CAAC;AAED,MAAM,WAAW,GAAgB;IAC/B,UAAU,EAAE,WAAW;IACvB,WAAW,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,cAAc,CAAC,SAAS,CAAC;IACpE,KAAK,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE;QAChC,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACjD,YAAY,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;QACvE,0EAA0E;QAC1E,2EAA2E;QAC3E,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;CACF,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -12,6 +12,16 @@ import type { AdvancedOptions } from "../../types.js";
|
|
|
12
12
|
import type { InstrumentedClaudeAgentSDK } from "../claude-wrapper.js";
|
|
13
13
|
import type { IntrospectionCallbackHandler } from "../langchain-handler.js";
|
|
14
14
|
import type { IntrospectionPiInstrumentor } from "../pi.js";
|
|
15
|
+
export declare const OPTIONAL_PEERS: {
|
|
16
|
+
readonly anthropic: "@anthropic-ai/sdk";
|
|
17
|
+
readonly claudeAgent: "@anthropic-ai/claude-agent-sdk";
|
|
18
|
+
readonly gemini: "@google/genai";
|
|
19
|
+
readonly langchainCallbacks: "@langchain/core/callbacks/base";
|
|
20
|
+
readonly mastraObservability: "@mastra/observability";
|
|
21
|
+
readonly openaiAgents: "@openai/agents";
|
|
22
|
+
readonly piAgentCore: "@earendil-works/pi-agent-core";
|
|
23
|
+
readonly vercelAi: "ai";
|
|
24
|
+
};
|
|
15
25
|
/**
|
|
16
26
|
* Bound framework handles published by instance/config-based integrations.
|
|
17
27
|
*
|
|
@@ -38,6 +48,19 @@ export interface IntegrationHandles {
|
|
|
38
48
|
export declare class DidNotEnable extends Error {
|
|
39
49
|
constructor(message: string);
|
|
40
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Distinguish "framework package not installed" (expected — skip quietly) from
|
|
53
|
+
* a real error inside an installed integration (a bug we shouldn't hide).
|
|
54
|
+
*/
|
|
55
|
+
export declare function isModuleNotFound(e: unknown): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Import an optional peer without leaving a static import edge for bundlers.
|
|
58
|
+
* Keep the `import()` argument variable-based: built-in framework integrations
|
|
59
|
+
* use this so importing `@introspection-sdk/introspection-node/otel` does not
|
|
60
|
+
* require every optional framework SDK to be installed.
|
|
61
|
+
*/
|
|
62
|
+
export declare function importOptionalPeer<T = unknown>(specifier: string): Promise<T>;
|
|
63
|
+
export declare function isOptionalPeerInstalled(specifier: (typeof OPTIONAL_PEERS)[keyof typeof OPTIONAL_PEERS]): Promise<boolean>;
|
|
41
64
|
/**
|
|
42
65
|
* Everything an integration needs to wire itself into the shared pipeline.
|
|
43
66
|
*
|
|
@@ -72,12 +95,18 @@ export interface Integration {
|
|
|
72
95
|
* wrapping framework (e.g. LangChain) does not double-trace the SDK it wraps.
|
|
73
96
|
*/
|
|
74
97
|
readonly deactivates?: readonly string[];
|
|
98
|
+
/**
|
|
99
|
+
* Optional availability probe for built-in integrations backed by optional
|
|
100
|
+
* peer packages. Missing peers should return false so their `deactivates`
|
|
101
|
+
* rules do not affect installed integrations.
|
|
102
|
+
*/
|
|
103
|
+
isAvailable?(): boolean | Promise<boolean>;
|
|
75
104
|
/**
|
|
76
105
|
* Wire the framework into the shared pipeline. Runs once; may throw
|
|
77
106
|
* {@link DidNotEnable}. May return a teardown callback (e.g. to uninstrument a
|
|
78
107
|
* prototype patch) that `introspection.shutdown()` runs so a later `init()`
|
|
79
108
|
* re-installs cleanly against the rebuilt provider.
|
|
80
109
|
*/
|
|
81
|
-
setupOnce(ctx: IntegrationSetupContext): void | (() => void)
|
|
110
|
+
setupOnce(ctx: IntegrationSetupContext): void | (() => void) | Promise<void | (() => void)>;
|
|
82
111
|
}
|
|
83
112
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;IAEhD,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C,qBAAqB,CAAC,EAAE,CAEtB,GAAG,EAAE,GAAG,KACL,0BAA0B,CAAC;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,cAAc,EAAE,mBAAmB,CAAC;IACpC,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,2EAA2E;IAC3E,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;;;OAKG;IACH,SAAS,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,cAAc;;;;;;;;;CASjB,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,4BAA4B,CAAC;IAEhD,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C,qBAAqB,CAAC,EAAE,CAEtB,GAAG,EAAE,GAAG,KACL,0BAA0B,CAAC;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAOpD;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAClD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,CAAC,CASZ;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,GAC9D,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,cAAc,EAAE,mBAAmB,CAAC;IACpC,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,2EAA2E;IAC3E,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;;OAIG;IACH,WAAW,CAAC,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,SAAS,CACP,GAAG,EAAE,uBAAuB,GAC3B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;CACvD"}
|
|
@@ -7,6 +7,16 @@
|
|
|
7
7
|
* discovers the integrations whose framework is importable and runs each
|
|
8
8
|
* `setupOnce()` exactly once.
|
|
9
9
|
*/
|
|
10
|
+
export const OPTIONAL_PEERS = {
|
|
11
|
+
anthropic: "@anthropic-ai/sdk",
|
|
12
|
+
claudeAgent: "@anthropic-ai/claude-agent-sdk",
|
|
13
|
+
gemini: "@google/genai",
|
|
14
|
+
langchainCallbacks: "@langchain/core/callbacks/base",
|
|
15
|
+
mastraObservability: "@mastra/observability",
|
|
16
|
+
openaiAgents: "@openai/agents",
|
|
17
|
+
piAgentCore: "@earendil-works/pi-agent-core",
|
|
18
|
+
vercelAi: "ai",
|
|
19
|
+
};
|
|
10
20
|
/**
|
|
11
21
|
* Thrown by an integration module/`setupOnce` when the framework cannot be
|
|
12
22
|
* activated (package missing, version too old, …).
|
|
@@ -20,4 +30,44 @@ export class DidNotEnable extends Error {
|
|
|
20
30
|
this.name = "DidNotEnable";
|
|
21
31
|
}
|
|
22
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Distinguish "framework package not installed" (expected — skip quietly) from
|
|
35
|
+
* a real error inside an installed integration (a bug we shouldn't hide).
|
|
36
|
+
*/
|
|
37
|
+
export function isModuleNotFound(e) {
|
|
38
|
+
const code = e?.code;
|
|
39
|
+
if (code === "ERR_MODULE_NOT_FOUND" || code === "MODULE_NOT_FOUND") {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
43
|
+
return /Cannot find (module|package)|Failed to resolve/i.test(msg);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Import an optional peer without leaving a static import edge for bundlers.
|
|
47
|
+
* Keep the `import()` argument variable-based: built-in framework integrations
|
|
48
|
+
* use this so importing `@introspection-sdk/introspection-node/otel` does not
|
|
49
|
+
* require every optional framework SDK to be installed.
|
|
50
|
+
*/
|
|
51
|
+
export async function importOptionalPeer(specifier) {
|
|
52
|
+
try {
|
|
53
|
+
return (await import(specifier));
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
if (isModuleNotFound(e)) {
|
|
57
|
+
throw new DidNotEnable(`Optional peer ${specifier} is not installed`);
|
|
58
|
+
}
|
|
59
|
+
throw e;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export async function isOptionalPeerInstalled(specifier) {
|
|
63
|
+
try {
|
|
64
|
+
await importOptionalPeer(specifier);
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
if (e instanceof DidNotEnable)
|
|
69
|
+
return false;
|
|
70
|
+
throw e;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
23
73
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/otel/integrations/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/otel/integrations/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS,EAAE,mBAAmB;IAC9B,WAAW,EAAE,gCAAgC;IAC7C,MAAM,EAAE,eAAe;IACvB,kBAAkB,EAAE,gCAAgC;IACpD,mBAAmB,EAAE,uBAAuB;IAC5C,YAAY,EAAE,gBAAgB;IAC9B,WAAW,EAAE,+BAA+B;IAC5C,QAAQ,EAAE,IAAI;CACN,CAAC;AAuBX;;;;;;GAMG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAU;IACzC,MAAM,IAAI,GAAI,CAA8B,EAAE,IAAI,CAAC;IACnD,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,iDAAiD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB;IAEjB,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAM,CAAC;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,YAAY,CAAC,iBAAiB,SAAS,mBAAmB,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAA+D;IAE/D,IAAI,CAAC;QACH,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,YAAY;YAAE,OAAO,KAAK,CAAC;QAC5C,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* integration publishes a pre-bound `instrumentClaudeAgent(sdk)` handle that
|
|
7
7
|
* `init()` re-exposes as `introspection.instrumentClaudeAgent(sdk)`.
|
|
8
8
|
*/
|
|
9
|
-
import "
|
|
10
|
-
import type { Integration } from "./base.js";
|
|
9
|
+
import { type Integration } from "./base.js";
|
|
11
10
|
declare const integration: Integration;
|
|
12
11
|
export default integration;
|
|
13
12
|
//# sourceMappingURL=claude-agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/claude-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/claude-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AAEnB,QAAA,MAAM,WAAW,EAAE,WAgBlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -6,12 +6,13 @@
|
|
|
6
6
|
* integration publishes a pre-bound `instrumentClaudeAgent(sdk)` handle that
|
|
7
7
|
* `init()` re-exposes as `introspection.instrumentClaudeAgent(sdk)`.
|
|
8
8
|
*/
|
|
9
|
-
// Presence gate.
|
|
10
|
-
import "@anthropic-ai/claude-agent-sdk";
|
|
11
9
|
import { withIntrospection } from "../claude-wrapper.js";
|
|
10
|
+
import { importOptionalPeer, isOptionalPeerInstalled, OPTIONAL_PEERS, } from "./base.js";
|
|
12
11
|
const integration = {
|
|
13
12
|
identifier: "claude_agent",
|
|
14
|
-
|
|
13
|
+
isAvailable: () => isOptionalPeerInstalled(OPTIONAL_PEERS.claudeAgent),
|
|
14
|
+
async setupOnce({ token, serviceName, baseUrl, advanced, handles }) {
|
|
15
|
+
await importOptionalPeer(OPTIONAL_PEERS.claudeAgent);
|
|
15
16
|
handles.instrumentClaudeAgent = (sdk) => withIntrospection(sdk, {
|
|
16
17
|
token,
|
|
17
18
|
serviceName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent.js","sourceRoot":"","sources":["../../../src/otel/integrations/claude-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,iBAAiB
|
|
1
|
+
{"version":3,"file":"claude-agent.js","sourceRoot":"","sources":["../../../src/otel/integrations/claude-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,GAEf,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,GAAgB;IAC/B,UAAU,EAAE,cAAc;IAC1B,WAAW,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,cAAc,CAAC,WAAW,CAAC;IACtE,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE;QAChE,MAAM,kBAAkB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,CAAC,qBAAqB,GAAG,CAAC,GAAG,EAAE,EAAE,CACtC,iBAAiB,CAAC,GAAG,EAAE;YACrB,KAAK;YACL,WAAW;YACX,OAAO;YACP,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB;YAC9C,QAAQ,EAAE,QAAQ,EAAE,YAAY;gBAC9B,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE;gBACzC,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACP,CAAC;CACF,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* every `GoogleGenAI` client is traced. Preserves the thought-signature
|
|
6
6
|
* capture the standalone `GeminiInstrumentor` is built for.
|
|
7
7
|
*/
|
|
8
|
-
import type
|
|
8
|
+
import { type Integration } from "./base.js";
|
|
9
9
|
declare const integration: Integration;
|
|
10
10
|
export default integration;
|
|
11
11
|
//# sourceMappingURL=gemini.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AAEnB,QAAA,MAAM,WAAW,EAAE,WAWlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
* every `GoogleGenAI` client is traced. Preserves the thought-signature
|
|
6
6
|
* capture the standalone `GeminiInstrumentor` is built for.
|
|
7
7
|
*/
|
|
8
|
-
import * as genai from "@google/genai";
|
|
9
8
|
import { GeminiInstrumentor } from "../gemini.js";
|
|
9
|
+
import { importOptionalPeer, isOptionalPeerInstalled, OPTIONAL_PEERS, } from "./base.js";
|
|
10
10
|
const integration = {
|
|
11
11
|
identifier: "gemini",
|
|
12
|
-
|
|
12
|
+
isAvailable: () => isOptionalPeerInstalled(OPTIONAL_PEERS.gemini),
|
|
13
|
+
async setupOnce({ tracerProvider }) {
|
|
14
|
+
const genai = await importOptionalPeer(OPTIONAL_PEERS.gemini);
|
|
13
15
|
const instrumentor = new GeminiInstrumentor();
|
|
14
16
|
instrumentor.instrumentClass({ genai, tracerProvider });
|
|
15
17
|
// Restore the original prototype on shutdown so a later init() re-patches
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/otel/integrations/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/otel/integrations/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,GAEf,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,GAAgB;IAC/B,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,cAAc,CAAC,MAAM,CAAC;IACjE,KAAK,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE;QAChC,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC9C,YAAY,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACxD,0EAA0E;QAC1E,2EAA2E;QAC3E,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;CACF,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -5,21 +5,15 @@
|
|
|
5
5
|
* lazily (a missing framework just skips its shim), `setupOnce` runs at most
|
|
6
6
|
* once per identifier per process, and an integration may `deactivate` others.
|
|
7
7
|
*/
|
|
8
|
-
import { DidNotEnable, type Integration, type IntegrationHandles, type IntegrationSetupContext } from "./base.js";
|
|
9
|
-
export { DidNotEnable };
|
|
8
|
+
import { DidNotEnable, isModuleNotFound, type Integration, type IntegrationHandles, type IntegrationSetupContext } from "./base.js";
|
|
9
|
+
export { DidNotEnable, isModuleNotFound };
|
|
10
10
|
export type { Integration, IntegrationHandles, IntegrationSetupContext };
|
|
11
|
-
/**
|
|
12
|
-
* Distinguish "framework package not installed" (expected — skip quietly) from
|
|
13
|
-
* a real error inside an installed integration (a bug we shouldn't hide).
|
|
14
|
-
*/
|
|
15
|
-
export declare function isModuleNotFound(e: unknown): boolean;
|
|
16
11
|
/**
|
|
17
12
|
* Return the built-in integrations whose framework is importable.
|
|
18
13
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* warn level rather than silently swallowed — it's a bug, not an absent peer.
|
|
14
|
+
* Missing optional peer packages are expected and skipped quietly. Any OTHER
|
|
15
|
+
* failure is surfaced at warn level rather than silently swallowed — it's a
|
|
16
|
+
* bug, not an absent peer.
|
|
23
17
|
*/
|
|
24
18
|
export declare function discoverIntegrations(): Promise<Integration[]>;
|
|
25
19
|
/**
|
|
@@ -27,7 +21,7 @@ export declare function discoverIntegrations(): Promise<Integration[]>;
|
|
|
27
21
|
*
|
|
28
22
|
* @returns the set of identifiers installed so far this process.
|
|
29
23
|
*/
|
|
30
|
-
export declare function setupIntegrations(integrations: Integration[], ctx: IntegrationSetupContext): Set<string
|
|
24
|
+
export declare function setupIntegrations(integrations: Integration[], ctx: IntegrationSetupContext): Promise<Set<string>>;
|
|
31
25
|
/**
|
|
32
26
|
* Run every integration teardown and clear the run-once guard, so the next
|
|
33
27
|
* `setupIntegrations()` (e.g. after `introspection.shutdown()` + a fresh
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,CAAC;AAwCzE;;;;;;GAMG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAmBnE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,WAAW,EAAE,EAC3B,GAAG,EAAE,uBAAuB,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAoCtB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAS3C;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
|