@introspection-sdk/introspection-node 0.20.0 → 0.21.1

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.
Files changed (211) hide show
  1. package/README.md +28 -8
  2. package/dist/auth.d.ts +1 -1
  3. package/dist/client.d.ts +4 -3
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +16 -7
  6. package/dist/client.js.map +1 -1
  7. package/dist/dev-target.js +1 -1
  8. package/dist/index.d.ts +3 -7
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -6
  11. package/dist/index.js.map +1 -1
  12. package/dist/otel/index.d.ts +1 -14
  13. package/dist/otel/index.d.ts.map +1 -1
  14. package/dist/otel/index.js +10 -18
  15. package/dist/otel/index.js.map +1 -1
  16. package/dist/otel/init.d.ts +19 -21
  17. package/dist/otel/init.d.ts.map +1 -1
  18. package/dist/otel/init.js +62 -48
  19. package/dist/otel/init.js.map +1 -1
  20. package/dist/otel/integrations/base.d.ts +17 -37
  21. package/dist/otel/integrations/base.d.ts.map +1 -1
  22. package/dist/otel/integrations/base.js +6 -13
  23. package/dist/otel/integrations/base.js.map +1 -1
  24. package/dist/otel/integrations/index.d.ts +3 -4
  25. package/dist/otel/integrations/index.d.ts.map +1 -1
  26. package/dist/otel/integrations/index.js +6 -25
  27. package/dist/otel/integrations/index.js.map +1 -1
  28. package/dist/otel/integrations/pi.d.ts.map +1 -1
  29. package/dist/otel/integrations/pi.js +9 -1
  30. package/dist/otel/integrations/pi.js.map +1 -1
  31. package/dist/otel/logs.d.ts +41 -8
  32. package/dist/otel/logs.d.ts.map +1 -1
  33. package/dist/otel/logs.js +95 -66
  34. package/dist/otel/logs.js.map +1 -1
  35. package/dist/otel/pi.d.ts +18 -5
  36. package/dist/otel/pi.d.ts.map +1 -1
  37. package/dist/otel/pi.js +38 -9
  38. package/dist/otel/pi.js.map +1 -1
  39. package/dist/otel/register.d.ts +2 -2
  40. package/dist/otel/register.d.ts.map +1 -1
  41. package/dist/otel/register.js +7 -9
  42. package/dist/otel/register.js.map +1 -1
  43. package/dist/otel/setup.d.ts +2 -2
  44. package/dist/otel/setup.d.ts.map +1 -1
  45. package/dist/otel/setup.js +16 -6
  46. package/dist/otel/setup.js.map +1 -1
  47. package/dist/otel/span-processor.d.ts +18 -5
  48. package/dist/otel/span-processor.d.ts.map +1 -1
  49. package/dist/otel/span-processor.js +50 -65
  50. package/dist/otel/span-processor.js.map +1 -1
  51. package/dist/resources/experiments.d.ts +10 -5
  52. package/dist/resources/experiments.d.ts.map +1 -1
  53. package/dist/resources/experiments.js +9 -25
  54. package/dist/resources/experiments.js.map +1 -1
  55. package/dist/resources/recipes.d.ts +6 -6
  56. package/dist/resources/recipes.d.ts.map +1 -1
  57. package/dist/resources/recipes.js +5 -23
  58. package/dist/resources/recipes.js.map +1 -1
  59. package/dist/resources/runtimes.d.ts +2 -2
  60. package/dist/resources/runtimes.d.ts.map +1 -1
  61. package/dist/resources/runtimes.js +2 -2
  62. package/dist/resources/runtimes.js.map +1 -1
  63. package/dist/runner.d.ts +8 -4
  64. package/dist/runner.d.ts.map +1 -1
  65. package/dist/runner.js +26 -18
  66. package/dist/runner.js.map +1 -1
  67. package/dist/types.d.ts +1 -1
  68. package/dist/types.d.ts.map +1 -1
  69. package/dist/types.js +1 -1
  70. package/dist/types.js.map +1 -1
  71. package/dist/utils.d.ts +45 -0
  72. package/dist/utils.d.ts.map +1 -1
  73. package/dist/utils.js +61 -2
  74. package/dist/utils.js.map +1 -1
  75. package/dist/version.d.ts +1 -1
  76. package/dist/version.d.ts.map +1 -1
  77. package/dist/version.js +1 -1
  78. package/dist/version.js.map +1 -1
  79. package/package.json +16 -58
  80. package/.turbo/turbo-build.log +0 -4
  81. package/dist/converters/claude.d.ts +0 -150
  82. package/dist/converters/claude.d.ts.map +0 -1
  83. package/dist/converters/claude.js +0 -211
  84. package/dist/converters/claude.js.map +0 -1
  85. package/dist/converters/gemini.d.ts +0 -90
  86. package/dist/converters/gemini.d.ts.map +0 -1
  87. package/dist/converters/gemini.js +0 -171
  88. package/dist/converters/gemini.js.map +0 -1
  89. package/dist/converters/index.d.ts +0 -9
  90. package/dist/converters/index.d.ts.map +0 -1
  91. package/dist/converters/index.js +0 -9
  92. package/dist/converters/index.js.map +0 -1
  93. package/dist/converters/openai.d.ts +0 -51
  94. package/dist/converters/openai.d.ts.map +0 -1
  95. package/dist/converters/openai.js +0 -269
  96. package/dist/converters/openai.js.map +0 -1
  97. package/dist/converters/openinference.d.ts +0 -107
  98. package/dist/converters/openinference.d.ts.map +0 -1
  99. package/dist/converters/openinference.js +0 -553
  100. package/dist/converters/openinference.js.map +0 -1
  101. package/dist/converters/vercel.d.ts +0 -21
  102. package/dist/converters/vercel.d.ts.map +0 -1
  103. package/dist/converters/vercel.js +0 -236
  104. package/dist/converters/vercel.js.map +0 -1
  105. package/dist/otel/anthropic.d.ts +0 -63
  106. package/dist/otel/anthropic.d.ts.map +0 -1
  107. package/dist/otel/anthropic.js +0 -475
  108. package/dist/otel/anthropic.js.map +0 -1
  109. package/dist/otel/claude-hooks.d.ts +0 -346
  110. package/dist/otel/claude-hooks.d.ts.map +0 -1
  111. package/dist/otel/claude-hooks.js +0 -647
  112. package/dist/otel/claude-hooks.js.map +0 -1
  113. package/dist/otel/claude-wrapper.d.ts +0 -93
  114. package/dist/otel/claude-wrapper.d.ts.map +0 -1
  115. package/dist/otel/claude-wrapper.js +0 -155
  116. package/dist/otel/claude-wrapper.js.map +0 -1
  117. package/dist/otel/gemini.d.ts +0 -56
  118. package/dist/otel/gemini.d.ts.map +0 -1
  119. package/dist/otel/gemini.js +0 -350
  120. package/dist/otel/gemini.js.map +0 -1
  121. package/dist/otel/integrations/anthropic.d.ts +0 -10
  122. package/dist/otel/integrations/anthropic.d.ts.map +0 -1
  123. package/dist/otel/integrations/anthropic.js +0 -26
  124. package/dist/otel/integrations/anthropic.js.map +0 -1
  125. package/dist/otel/integrations/claude-agent.d.ts +0 -12
  126. package/dist/otel/integrations/claude-agent.d.ts.map +0 -1
  127. package/dist/otel/integrations/claude-agent.js +0 -28
  128. package/dist/otel/integrations/claude-agent.js.map +0 -1
  129. package/dist/otel/integrations/gemini.d.ts +0 -11
  130. package/dist/otel/integrations/gemini.d.ts.map +0 -1
  131. package/dist/otel/integrations/gemini.js +0 -23
  132. package/dist/otel/integrations/gemini.js.map +0 -1
  133. package/dist/otel/integrations/langchain.d.ts +0 -15
  134. package/dist/otel/integrations/langchain.d.ts.map +0 -1
  135. package/dist/otel/integrations/langchain.js +0 -43
  136. package/dist/otel/integrations/langchain.js.map +0 -1
  137. package/dist/otel/integrations/mastra.d.ts +0 -14
  138. package/dist/otel/integrations/mastra.d.ts.map +0 -1
  139. package/dist/otel/integrations/mastra.js +0 -31
  140. package/dist/otel/integrations/mastra.js.map +0 -1
  141. package/dist/otel/integrations/openai-agents.d.ts +0 -11
  142. package/dist/otel/integrations/openai-agents.d.ts.map +0 -1
  143. package/dist/otel/integrations/openai-agents.js +0 -30
  144. package/dist/otel/integrations/openai-agents.js.map +0 -1
  145. package/dist/otel/integrations/vercel.d.ts +0 -14
  146. package/dist/otel/integrations/vercel.d.ts.map +0 -1
  147. package/dist/otel/integrations/vercel.js +0 -20
  148. package/dist/otel/integrations/vercel.js.map +0 -1
  149. package/dist/otel/langchain-handler.d.ts +0 -112
  150. package/dist/otel/langchain-handler.d.ts.map +0 -1
  151. package/dist/otel/langchain-handler.js +0 -561
  152. package/dist/otel/langchain-handler.js.map +0 -1
  153. package/dist/otel/mastra-exporter.d.ts +0 -87
  154. package/dist/otel/mastra-exporter.d.ts.map +0 -1
  155. package/dist/otel/mastra-exporter.js +0 -530
  156. package/dist/otel/mastra-exporter.js.map +0 -1
  157. package/dist/otel/openai.d.ts +0 -20
  158. package/dist/otel/openai.d.ts.map +0 -1
  159. package/dist/otel/openai.js +0 -55
  160. package/dist/otel/openai.js.map +0 -1
  161. package/dist/otel/tracing-processor.d.ts +0 -139
  162. package/dist/otel/tracing-processor.d.ts.map +0 -1
  163. package/dist/otel/tracing-processor.js +0 -434
  164. package/dist/otel/tracing-processor.js.map +0 -1
  165. package/eslint.config.mjs +0 -4
  166. package/src/auth.ts +0 -236
  167. package/src/client.ts +0 -163
  168. package/src/converters/claude.ts +0 -343
  169. package/src/converters/gemini.ts +0 -243
  170. package/src/converters/index.ts +0 -50
  171. package/src/converters/openai.ts +0 -300
  172. package/src/converters/openinference.ts +0 -665
  173. package/src/converters/vercel.ts +0 -302
  174. package/src/dev-target.ts +0 -79
  175. package/src/http.ts +0 -43
  176. package/src/index.ts +0 -277
  177. package/src/otel/anthropic.ts +0 -619
  178. package/src/otel/claude-hooks.ts +0 -1116
  179. package/src/otel/claude-wrapper.ts +0 -239
  180. package/src/otel/gemini.ts +0 -483
  181. package/src/otel/index.ts +0 -128
  182. package/src/otel/init.ts +0 -411
  183. package/src/otel/integrations/anthropic.ts +0 -36
  184. package/src/otel/integrations/base.ts +0 -158
  185. package/src/otel/integrations/claude-agent.ts +0 -36
  186. package/src/otel/integrations/gemini.ts +0 -30
  187. package/src/otel/integrations/index.ts +0 -152
  188. package/src/otel/integrations/langchain.ts +0 -60
  189. package/src/otel/integrations/mastra.ts +0 -48
  190. package/src/otel/integrations/openai-agents.ts +0 -47
  191. package/src/otel/integrations/pi.ts +0 -28
  192. package/src/otel/integrations/vercel.ts +0 -26
  193. package/src/otel/langchain-handler.ts +0 -804
  194. package/src/otel/logs.ts +0 -395
  195. package/src/otel/mastra-exporter.ts +0 -714
  196. package/src/otel/openai.ts +0 -93
  197. package/src/otel/pi.ts +0 -94
  198. package/src/otel/register.ts +0 -50
  199. package/src/otel/setup.ts +0 -215
  200. package/src/otel/span-processor.ts +0 -512
  201. package/src/otel/tracing-processor.ts +0 -637
  202. package/src/pagination.ts +0 -10
  203. package/src/proxy-from-env.d.ts +0 -7
  204. package/src/resources/experiments.ts +0 -176
  205. package/src/resources/recipes.ts +0 -74
  206. package/src/resources/runtimes.ts +0 -31
  207. package/src/runner.ts +0 -213
  208. package/src/types.ts +0 -13
  209. package/src/utils.ts +0 -95
  210. package/src/version.ts +0 -2
  211. package/tsconfig.json +0 -8
package/dist/otel/init.js CHANGED
@@ -2,39 +2,36 @@
2
2
  * One-liner bootstrap for the Introspection OTel surface.
3
3
  *
4
4
  * `init()` detects the installed LLM frameworks and wires them into one shared
5
- * pipeline, mirroring the Python SDK's `introspection.init()`:
5
+ * pipeline:
6
6
  *
7
7
  * ```ts
8
8
  * import * as introspection from "@introspection-sdk/introspection-node/otel";
9
- * import Anthropic from "@anthropic-ai/sdk";
10
9
  *
11
10
  * await introspection.init({ serviceName: "my-app" });
12
- *
13
- * const client = new Anthropic(); // auto-traced — no per-client wiring
14
- * await introspection.conversation(() =>
15
- * client.messages.create({ ... }),
16
- * );
11
+ * // An installed Pi agent is wired into the shared provider automatically.
17
12
  * ```
18
13
  *
19
14
  * It also exposes the `track` / `feedback` / `identify` analytics surface and a
20
15
  * `conversation()` scope, proxied to a global {@link IntrospectionLogs}.
21
16
  */
22
- import { resourceFromAttributes } from "@opentelemetry/resources";
17
+ import { context, propagation } from "@opentelemetry/api";
18
+ import { defaultResource, resourceFromAttributes, } from "@opentelemetry/resources";
23
19
  import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
24
20
  import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
25
- import { logger } from "../utils.js";
21
+ import { DEFAULT_SERVICE_NAME, logger } from "../utils.js";
26
22
  import { discoverIntegrations, setupIntegrations, teardownIntegrations, } from "./integrations/index.js";
27
23
  import { IntrospectionLogs } from "./logs.js";
28
24
  import { registerOTelGlobals } from "./setup.js";
29
25
  import { IntrospectionSpanProcessor } from "./span-processor.js";
30
26
  const state = {
31
27
  provider: null,
28
+ pending: null,
32
29
  ownsProvider: false,
33
30
  logs: null,
34
31
  handles: {},
35
32
  shutdownRegistered: false,
36
33
  };
37
- /** Generate a fresh conversation id (matches the Python SDK's format). */
34
+ /** Generate a fresh conversation id in the format the backend expects. */
38
35
  export function newConversationId() {
39
36
  return `intro_conv_${crypto.randomUUID().replace(/-/g, "")}`;
40
37
  }
@@ -45,9 +42,18 @@ function resolveProvider(options, token, serviceName, advanced) {
45
42
  if (options.tracerProvider)
46
43
  return options.tracerProvider;
47
44
  const provider = new NodeTracerProvider({
48
- resource: serviceName
49
- ? resourceFromAttributes({ [ATTR_SERVICE_NAME]: serviceName })
50
- : undefined,
45
+ // Merged onto the default resource, not substituted for it: a bare
46
+ // `resourceFromAttributes` replaces `defaultResource()` outright, which
47
+ // is where `telemetry.sdk.language` and the SDK version come from.
48
+ //
49
+ // Defaulted, because we are building this provider ourselves and the
50
+ // logs stream beside it defaults to the same name. Only here: a caller
51
+ // who passed their own `tracerProvider` returns above, and the span
52
+ // processor still gets `serviceName` undefined so it leaves a provider
53
+ // the caller already labelled alone.
54
+ resource: defaultResource().merge(resourceFromAttributes({
55
+ [ATTR_SERVICE_NAME]: serviceName ?? DEFAULT_SERVICE_NAME,
56
+ })),
51
57
  // Order is irrelevant (IntrospectionSpanProcessor exports an isolated
52
58
  // converted copy and never mutates the shared span); listed first to match
53
59
  // setupTracing()'s ordering.
@@ -65,15 +71,33 @@ function resolveProvider(options, token, serviceName, advanced) {
65
71
  * Idempotent: repeated calls return the already-configured provider without
66
72
  * re-installing integrations.
67
73
  */
68
- export async function init(options = {}) {
74
+ export function init(options = {}) {
69
75
  if (state.provider) {
70
76
  logger.debug("introspection.init() already called; returning provider");
71
- return state.provider;
77
+ return Promise.resolve(state.provider);
78
+ }
79
+ if (state.pending) {
80
+ logger.debug("introspection.init() already in flight; awaiting it");
81
+ return state.pending;
72
82
  }
83
+ // Cleared on both paths: on success the `state.provider` guard takes over,
84
+ // and on failure a later init() has to be free to retry.
85
+ const pending = initOnce(options).finally(() => {
86
+ state.pending = null;
87
+ });
88
+ state.pending = pending;
89
+ return pending;
90
+ }
91
+ async function initOnce(options) {
73
92
  const token = options.token ?? process.env.INTROSPECTION_TOKEN;
74
93
  const serviceName = options.serviceName ?? process.env.INTROSPECTION_SERVICE_NAME ?? undefined;
75
94
  const baseUrl = options.baseUrl ?? process.env.INTROSPECTION_BASE_OTEL_URL ?? undefined;
76
95
  const advanced = options.advanced;
96
+ // `AdvancedOptions.debug` is shared with the browser client, which honours
97
+ // it; Node only ever read INTROSPECTION_LOG_LEVEL, so passing it here was
98
+ // silently inert.
99
+ if (advanced?.debug)
100
+ logger.enableDebug();
77
101
  // A custom span exporter (tests) stands in for a token; otherwise a token is
78
102
  // required for anything to be exported.
79
103
  if (!token && !advanced?.spanExporter && !options.tracerProvider) {
@@ -89,6 +113,14 @@ export async function init(options = {}) {
89
113
  additionalHeaders: advanced?.additionalHeaders,
90
114
  flushInterval: advanced?.flushInterval,
91
115
  maxBatchSize: advanced?.maxBatchSize,
116
+ maxQueueSize: advanced?.maxQueueSize,
117
+ exportTimeoutMillis: advanced?.exportTimeoutMillis,
118
+ // Dropped here until now, so `init({ advanced: { logExporter } })` built
119
+ // an OTLP exporter anyway and every analytics event went to the real
120
+ // collector — from the one option documented as the seam for asserting
121
+ // what goes out on the wire. `spanExporter` was forwarded all along;
122
+ // this is its counterpart on the logs pipeline.
123
+ logExporter: advanced?.logExporter,
92
124
  });
93
125
  const ctx = {
94
126
  tracerProvider: provider,
@@ -112,6 +144,10 @@ export async function init(options = {}) {
112
144
  }
113
145
  catch (e) {
114
146
  state.handles = {};
147
+ // The logs client owns a LoggerProvider with a batch export timer. It was
148
+ // built before this try, so without shutting it down a failed init()
149
+ // leaves that timer running with nothing referencing it.
150
+ await logs.shutdown().catch(() => undefined);
115
151
  throw e;
116
152
  }
117
153
  state.provider = provider;
@@ -154,7 +190,8 @@ export function identify(userId, traits, anonymousId, eventId) {
154
190
  export function conversation(a, b) {
155
191
  const conversationId = typeof a === "string" ? a : newConversationId();
156
192
  const callback = (typeof a === "string" ? b : a);
157
- return getClient().withConversation(conversationId, undefined, () => callback(conversationId));
193
+ const ctx = propagation.setBaggage(context.active(), (propagation.getBaggage(context.active()) ?? propagation.createBaggage()).setEntry("gen_ai.conversation.id", { value: conversationId }));
194
+ return Promise.resolve(context.with(ctx, () => callback(conversationId)));
158
195
  }
159
196
  /**
160
197
  * Run `callback` with `gen_ai.agent.name` (+ optional `gen_ai.agent.id`) on the
@@ -180,25 +217,6 @@ export function withUserId(userId, callback) {
180
217
  export function withAnonymousId(anonymousId, callback) {
181
218
  return getClient().withAnonymousId(anonymousId, callback);
182
219
  }
183
- /**
184
- * The LangChain handler bound by `init()`. Attach it per-invoke:
185
- * `chain.invoke(input, { callbacks: [introspection.getLangchainHandler()] })`.
186
- */
187
- export function getLangchainHandler() {
188
- const handler = state.handles.langchainHandler;
189
- if (!handler) {
190
- throw new Error("LangChain integration not configured. Call introspection.init() with @langchain/core installed.");
191
- }
192
- return handler;
193
- }
194
- /** The Mastra exporter bound by `init()`. Put it in `observability.configs`. */
195
- export function getMastraExporter() {
196
- const exporter = state.handles.mastraExporter;
197
- if (!exporter) {
198
- throw new Error("Mastra integration not configured. Call introspection.init() with @mastra/core installed.");
199
- }
200
- return exporter;
201
- }
202
220
  /** Instrument a Pi `Agent` against the shared provider. Requires {@link init}. */
203
221
  export function instrumentPi(agent, meta) {
204
222
  const instrumentor = state.handles.piInstrumentor;
@@ -208,19 +226,14 @@ export function instrumentPi(agent, meta) {
208
226
  instrumentor.instrument(agent, meta);
209
227
  }
210
228
  /**
211
- * Wrap the Claude Agent SDK module so its `query()` calls are traced.
212
- * Equivalent to `withIntrospection(sdk)` but pre-bound to the `init()` config.
229
+ * Flush and shut down the logs client and, if `init()` created it, the
230
+ * provider.
231
+ *
232
+ * A provider you passed via `init({ tracerProvider })` is **yours** — this
233
+ * leaves it running, so any processors you attached to it (a second
234
+ * OTLP backend, for instance) are not flushed. Call `provider.shutdown()`
235
+ * yourself after this.
213
236
  */
214
- export function instrumentClaudeAgent(
215
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
216
- sdk) {
217
- const fn = state.handles.instrumentClaudeAgent;
218
- if (!fn) {
219
- throw new Error("Claude Agent integration not configured. Call introspection.init() with @anthropic-ai/claude-agent-sdk installed.");
220
- }
221
- return fn(sdk);
222
- }
223
- /** Flush and shut down the logs client and (if owned) the provider. */
224
237
  export async function shutdown() {
225
238
  const { logs, provider, ownsProvider } = state;
226
239
  if (logs) {
@@ -239,7 +252,7 @@ export async function shutdown() {
239
252
  logger.debug(`Error shutting down provider: ${String(e)}`);
240
253
  }
241
254
  }
242
- // Run integration teardowns (uninstrument prototype patches) + clear the
255
+ // Run integration teardowns + clear the
243
256
  // run-once guard so a later init() re-installs and rebuilds the handles
244
257
  // against the new provider instead of being skipped.
245
258
  teardownIntegrations();
@@ -252,6 +265,7 @@ export async function shutdown() {
252
265
  export function _resetForTests() {
253
266
  teardownIntegrations();
254
267
  state.provider = null;
268
+ state.pending = null;
255
269
  state.ownsProvider = false;
256
270
  state.logs = null;
257
271
  state.handles = {};
@@ -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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"}
@@ -1,49 +1,35 @@
1
1
  /**
2
- * Integration base contract, modeled on Sentry's integration registry and the
3
- * Python SDK's `Integration` ABC.
2
+ * Integration base contract, modeled on Sentry's integration registry.
4
3
  *
5
- * An {@link Integration} knows how to wire one framework (Anthropic, Gemini,
6
- * OpenAI Agents, …) into the shared Introspection trace pipeline. `init()`
4
+ * An {@link Integration} knows how to wire one framework (currently Pi) into
5
+ * the shared Introspection trace pipeline. `init()`
7
6
  * discovers the integrations whose framework is importable and runs each
8
7
  * `setupOnce()` exactly once.
9
8
  */
10
9
  import type { BasicTracerProvider } from "@opentelemetry/sdk-trace-base";
11
10
  import type { AdvancedOptions } from "../../types.js";
12
- import type { InstrumentedClaudeAgentSDK } from "../claude-wrapper.js";
13
- import type { IntrospectionCallbackHandler } from "../langchain-handler.js";
14
11
  import type { IntrospectionPiInstrumentor } from "../pi.js";
15
12
  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
13
  readonly piAgentCore: "@earendil-works/pi-agent-core";
23
- readonly vercelAi: "ai";
24
14
  };
25
15
  /**
26
16
  * Bound framework handles published by instance/config-based integrations.
27
17
  *
28
18
  * Some JS framework hooks cannot be wired globally — the caller still has to
29
- * pass a handler to `chain.invoke({ callbacks })`, put an exporter in the
30
- * Mastra config, instrument an Agent instance, or wrap the Claude Agent SDK
31
- * module. For those, the integration publishes a handle here, pre-bound to the
32
- * `init()` token / provider, and `init()` re-exposes it (e.g.
33
- * `introspection.getLangchainHandler()`).
19
+ * instrument an Agent instance. For those, the integration publishes a handle
20
+ * here, pre-bound to the `init()` token / provider, and `init()` re-exposes it
21
+ * (e.g. `introspection.instrumentPi()`).
34
22
  */
35
23
  export interface IntegrationHandles {
36
- langchainHandler?: IntrospectionCallbackHandler;
37
- mastraExporter?: any;
38
24
  piInstrumentor?: IntrospectionPiInstrumentor;
39
- instrumentClaudeAgent?: (sdk: any) => InstrumentedClaudeAgentSDK;
40
25
  }
41
26
  /**
42
27
  * Thrown by an integration module/`setupOnce` when the framework cannot be
43
28
  * activated (package missing, version too old, …).
44
29
  *
45
- * Swallowed during auto-discovery so a missing framework just skips its shim;
46
- * re-raised only when an integration is requested explicitly.
30
+ * Always swallowed by `setupIntegrations`, whether the integration was
31
+ * auto-discovered or requested explicitly — a framework that cannot activate
32
+ * skips its shim. Any other error propagates.
47
33
  */
48
34
  export declare class DidNotEnable extends Error {
49
35
  constructor(message: string);
@@ -64,10 +50,9 @@ export declare function isOptionalPeerInstalled(specifier: (typeof OPTIONAL_PEER
64
50
  /**
65
51
  * Everything an integration needs to wire itself into the shared pipeline.
66
52
  *
67
- * Most JS framework hooks (the OpenAI Agents processor, the LangChain handler,
68
- * the Mastra exporter) own their own OTLP export pipeline and only need the
69
- * `token` / `serviceName` / `baseUrl`. Instrumentors that emit onto the shared
70
- * `TracerProvider` (Anthropic, Gemini, Vercel AI SDK, Pi) use `tracerProvider`.
53
+ * Instrumentors that emit onto the shared `TracerProvider` (currently Pi) use
54
+ * `tracerProvider`; hooks that own their own OTLP export pipeline only need
55
+ * the `token` / `serviceName` / `baseUrl`.
71
56
  */
72
57
  export interface IntegrationSetupContext {
73
58
  /** The shared provider built (or adopted) by `init()`. */
@@ -88,23 +73,18 @@ export interface IntegrationSetupContext {
88
73
  * users may also pass custom integrations to `init({ integrations: [...] })`.
89
74
  */
90
75
  export interface Integration {
91
- /** Stable identifier used for the run-once guard and `deactivates`. */
76
+ /** Stable identifier used for the run-once guard. */
92
77
  readonly identifier: string;
93
- /**
94
- * Identifiers of other integrations to disable when this one is active, so a
95
- * wrapping framework (e.g. LangChain) does not double-trace the SDK it wraps.
96
- */
97
- readonly deactivates?: readonly string[];
98
78
  /**
99
79
  * 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.
80
+ * peer packages. Missing peers should return false so the integration is
81
+ * skipped quietly.
102
82
  */
103
83
  isAvailable?(): boolean | Promise<boolean>;
104
84
  /**
105
85
  * Wire the framework into the shared pipeline. Runs once; may throw
106
- * {@link DidNotEnable}. May return a teardown callback (e.g. to uninstrument a
107
- * prototype patch) that `introspection.shutdown()` runs so a later `init()`
86
+ * {@link DidNotEnable}. May return a teardown callback (e.g. to detach a
87
+ * framework hook) that `introspection.shutdown()` runs so a later `init()`
108
88
  * re-installs cleanly against the rebuilt provider.
109
89
  */
110
90
  setupOnce(ctx: IntegrationSetupContext): void | (() => void) | Promise<void | (() => void)>;
@@ -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,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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/base.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,cAAc;;CAEjB,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C;AAED;;;;;;;GAOG;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;;;;;;GAMG;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,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;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"}
@@ -1,28 +1,21 @@
1
1
  /**
2
- * Integration base contract, modeled on Sentry's integration registry and the
3
- * Python SDK's `Integration` ABC.
2
+ * Integration base contract, modeled on Sentry's integration registry.
4
3
  *
5
- * An {@link Integration} knows how to wire one framework (Anthropic, Gemini,
6
- * OpenAI Agents, …) into the shared Introspection trace pipeline. `init()`
4
+ * An {@link Integration} knows how to wire one framework (currently Pi) into
5
+ * the shared Introspection trace pipeline. `init()`
7
6
  * discovers the integrations whose framework is importable and runs each
8
7
  * `setupOnce()` exactly once.
9
8
  */
10
9
  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
10
  piAgentCore: "@earendil-works/pi-agent-core",
18
- vercelAi: "ai",
19
11
  };
20
12
  /**
21
13
  * Thrown by an integration module/`setupOnce` when the framework cannot be
22
14
  * activated (package missing, version too old, …).
23
15
  *
24
- * Swallowed during auto-discovery so a missing framework just skips its shim;
25
- * re-raised only when an integration is requested explicitly.
16
+ * Always swallowed by `setupIntegrations`, whether the integration was
17
+ * auto-discovered or requested explicitly — a framework that cannot activate
18
+ * skips its shim. Any other error propagates.
26
19
  */
27
20
  export class DidNotEnable extends Error {
28
21
  constructor(message) {
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/otel/integrations/base.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,WAAW,EAAE,+BAA+B;CACpC,CAAC;AAcX;;;;;;;GAOG;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"}
@@ -1,9 +1,8 @@
1
1
  /**
2
2
  * Integration discovery + setup loader for `introspection.init()`.
3
3
  *
4
- * Mirrors the Python SDK's registry: built-in integrations are resolved
5
- * lazily (a missing framework just skips its shim), `setupOnce` runs at most
6
- * once per identifier per process, and an integration may `deactivate` others.
4
+ * Built-in integrations are resolved lazily (a missing framework just skips
5
+ * its shim) and `setupOnce` runs at most once per identifier per process.
7
6
  */
8
7
  import { DidNotEnable, isModuleNotFound, type Integration, type IntegrationHandles, type IntegrationSetupContext } from "./base.js";
9
8
  export { DidNotEnable, isModuleNotFound };
@@ -17,7 +16,7 @@ export type { Integration, IntegrationHandles, IntegrationSetupContext };
17
16
  */
18
17
  export declare function discoverIntegrations(): Promise<Integration[]>;
19
18
  /**
20
- * Run each integration's `setupOnce` once, honouring `deactivates`.
19
+ * Run each integration's `setupOnce` exactly once.
21
20
  *
22
21
  * @returns the set of identifiers installed so far this process.
23
22
  */
@@ -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,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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;AA+BzE;;;;;;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,CAyBtB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAS3C;AAED,uEAAuE;AACvE,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
@@ -1,9 +1,8 @@
1
1
  /**
2
2
  * Integration discovery + setup loader for `introspection.init()`.
3
3
  *
4
- * Mirrors the Python SDK's registry: built-in integrations are resolved
5
- * lazily (a missing framework just skips its shim), `setupOnce` runs at most
6
- * once per identifier per process, and an integration may `deactivate` others.
4
+ * Built-in integrations are resolved lazily (a missing framework just skips
5
+ * its shim) and `setupOnce` runs at most once per identifier per process.
7
6
  */
8
7
  import { logger } from "../../utils.js";
9
8
  import { DidNotEnable, isModuleNotFound, } from "./base.js";
@@ -13,19 +12,10 @@ export { DidNotEnable, isModuleNotFound };
13
12
  * framework package at runtime, so importing the OTel barrel never requires
14
13
  * every optional framework SDK to be installed.
15
14
  */
16
- const BUILTIN_INTEGRATIONS = [
17
- () => import("./anthropic.js"),
18
- () => import("./gemini.js"),
19
- () => import("./openai-agents.js"),
20
- () => import("./vercel.js"),
21
- () => import("./claude-agent.js"),
22
- () => import("./langchain.js"),
23
- () => import("./mastra.js"),
24
- () => import("./pi.js"),
25
- ];
15
+ const BUILTIN_INTEGRATIONS = [() => import("./pi.js")];
26
16
  const installed = new Set();
27
- // Teardown callbacks returned by integration setupOnce (e.g. uninstrument a
28
- // prototype patch), run by teardownIntegrations() on shutdown.
17
+ // Teardown callbacks returned by integration setupOnce (e.g. detach a
18
+ // framework hook), run by teardownIntegrations() on shutdown.
29
19
  const teardowns = [];
30
20
  async function availableIntegrations(integrations) {
31
21
  const available = [];
@@ -64,7 +54,7 @@ export async function discoverIntegrations() {
64
54
  return availableIntegrations(found);
65
55
  }
66
56
  /**
67
- * Run each integration's `setupOnce` once, honouring `deactivates`.
57
+ * Run each integration's `setupOnce` exactly once.
68
58
  *
69
59
  * @returns the set of identifiers installed so far this process.
70
60
  */
@@ -76,16 +66,7 @@ export async function setupIntegrations(integrations, ctx) {
76
66
  byId.set(integration.identifier, integration);
77
67
  }
78
68
  }
79
- const disabled = new Set();
80
- for (const integration of byId.values()) {
81
- for (const id of integration.deactivates ?? [])
82
- disabled.add(id);
83
- }
84
69
  for (const [identifier, integration] of byId) {
85
- if (disabled.has(identifier)) {
86
- logger.debug(`Skipping ${identifier} (deactivated by another integration)`);
87
- continue;
88
- }
89
70
  if (installed.has(identifier))
90
71
  continue;
91
72
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/otel/integrations/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/otel/integrations/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/pi.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AAEnB,QAAA,MAAM,WAAW,EAAE,WASlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../../src/otel/integrations/pi.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AAEnB,QAAA,MAAM,WAAW,EAAE,WAiBlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -14,7 +14,15 @@ const integration = {
14
14
  await importOptionalPeer(OPTIONAL_PEERS.piAgentCore);
15
15
  // The instrumentor emits onto the global tracer, which `init()` has just
16
16
  // registered with the shared IntrospectionSpanProcessor.
17
- handles.piInstrumentor = new IntrospectionPiInstrumentor();
17
+ const instrumentor = new IntrospectionPiInstrumentor();
18
+ handles.piInstrumentor = instrumentor;
19
+ // Returning the teardown is what makes `introspection.shutdown()` reach
20
+ // the instrumentor. Without it, open `execute_tool` spans stayed open and
21
+ // instrumented agents kept emitting onto a shut-down provider.
22
+ return () => {
23
+ instrumentor.stop();
24
+ handles.piInstrumentor = undefined;
25
+ };
18
26
  },
19
27
  };
20
28
  export default integration;
@@ -1 +1 @@
1
- {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../../src/otel/integrations/pi.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,GAEf,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,GAAgB;IAC/B,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,cAAc,CAAC,WAAW,CAAC;IACtE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE;QACzB,MAAM,kBAAkB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACrD,yEAAyE;QACzE,yDAAyD;QACzD,OAAO,CAAC,cAAc,GAAG,IAAI,2BAA2B,EAAE,CAAC;IAC7D,CAAC;CACF,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../../src/otel/integrations/pi.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,GAEf,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,GAAgB;IAC/B,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,cAAc,CAAC,WAAW,CAAC;IACtE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE;QACzB,MAAM,kBAAkB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACrD,yEAAyE;QACzE,yDAAyD;QACzD,MAAM,YAAY,GAAG,IAAI,2BAA2B,EAAE,CAAC;QACvD,OAAO,CAAC,cAAc,GAAG,YAAY,CAAC;QACtC,wEAAwE;QACxE,0EAA0E;QAC1E,+DAA+D;QAC/D,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;QACrC,CAAC,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -27,6 +27,7 @@
27
27
  * await logs.shutdown();
28
28
  * ```
29
29
  */
30
+ import { type LogRecordExporter } from "@opentelemetry/sdk-logs";
30
31
  import { type FeedbackOptions, type UserTraits } from "../types.js";
31
32
  /**
32
33
  * Configuration for {@link IntrospectionLogs}.
@@ -45,19 +46,44 @@ export interface IntrospectionLogsOptions {
45
46
  additionalHeaders?: Record<string, string>;
46
47
  /** Flush interval in milliseconds (default: 5000). */
47
48
  flushInterval?: number;
48
- /** Maximum queue size before auto-flush (default: 100). */
49
+ /** Maximum export batch size (default: 100). */
49
50
  maxBatchSize?: number;
51
+ /**
52
+ * Maximum records buffered before new ones are dropped. Omit to keep the
53
+ * OTel SDK's default. See {@link AdvancedOptions.maxQueueSize}.
54
+ */
55
+ maxQueueSize?: number;
56
+ /**
57
+ * How long one export may take before it is abandoned, in milliseconds.
58
+ * Omit to keep the OTel SDK's default.
59
+ */
60
+ exportTimeoutMillis?: number;
61
+ /**
62
+ * Custom log record exporter, bypassing OTLP construction.
63
+ *
64
+ * The analytics stream is the contract that has to match across SDKs, and
65
+ * this is the seam for asserting what goes out on it. Matches the Python
66
+ * SDK's `log_exporter` constructor argument, the Rust config's
67
+ * `log_exporter`, and the browser client's `advanced.logExporter`.
68
+ */
69
+ logExporter?: LogRecordExporter;
50
70
  }
51
71
  export declare class IntrospectionLogs {
52
72
  private loggerProvider;
53
73
  private otelLogger;
54
- private userId;
55
- private anonymousId;
56
- private traits;
57
74
  constructor(options?: IntrospectionLogsOptions);
58
75
  /** Get gen_ai context from baggage */
59
76
  private getGenAiFromContext;
60
- /** Get identity from baggage or instance state */
77
+ /**
78
+ * Get identity from baggage.
79
+ *
80
+ * Baggage only, deliberately. This used to fall back to `userId` /
81
+ * `anonymousId` held on the instance, but `init()` builds one instance per
82
+ * process: under any concurrency, the identity of whichever request called
83
+ * `identify()` last attached itself to every other request's events. Scope
84
+ * identity with {@link withUserId} / {@link withAnonymousId} instead, which
85
+ * carry it on the async context where it belongs.
86
+ */
61
87
  private getIdentityFromContext;
62
88
  private getTimestamp;
63
89
  private buildAttributes;
@@ -65,17 +91,24 @@ export declare class IntrospectionLogs {
65
91
  eventId?: string;
66
92
  }): void;
67
93
  feedback(name: string, options?: FeedbackOptions): void;
94
+ /**
95
+ * Emit an `identify` event associating `userId` with `traits`.
96
+ *
97
+ * The identity lands on this event only. It does not persist onto later
98
+ * `track` / `feedback` calls — wrap those in {@link withUserId} (or set the
99
+ * baggage yourself) to scope identity across several events.
100
+ */
68
101
  identify(userId: string, traits?: UserTraits, anonymousId?: string, eventId?: string): void;
69
102
  createBaggageContext(values: Record<string, string>): import("@opentelemetry/api").Context;
70
103
  withBaggage<T>(values: Record<string, string>, callback: () => T | Promise<T>): Promise<T>;
71
104
  withAgent<T>(agentName: string, agentId: string | undefined, callback: () => T | Promise<T>): Promise<T>;
72
105
  withConversation<T>(conversationId: string | undefined, previousResponseId: string | undefined, callback: () => T | Promise<T>): Promise<T>;
73
- setUserId(userId: string): void;
74
- setAnonymousId(anonymousId: string): void;
75
106
  withUserId<T>(userId: string, callback: () => T | Promise<T>): Promise<T>;
76
107
  withAnonymousId<T>(anonymousId: string, callback: () => T | Promise<T>): Promise<T>;
108
+ /** The user id on the current async context, if one is scoped. */
109
+ getUserId(): string | undefined;
110
+ /** The anonymous id on the current async context, if one is scoped. */
77
111
  getAnonymousId(): string | undefined;
78
- reset(): void;
79
112
  flush(): Promise<void>;
80
113
  shutdown(): Promise<void>;
81
114
  }