@raindrop-ai/ai-sdk 0.0.29 → 0.0.30

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.
@@ -1024,7 +1024,7 @@ globalThis.RAINDROP_ASYNC_LOCAL_STORAGE = async_hooks.AsyncLocalStorage;
1024
1024
  // package.json
1025
1025
  var package_default = {
1026
1026
  name: "@raindrop-ai/ai-sdk",
1027
- version: "0.0.29"};
1027
+ version: "0.0.30"};
1028
1028
 
1029
1029
  // src/internal/version.ts
1030
1030
  var libraryName = package_default.name;
@@ -1740,13 +1740,76 @@ function readRaindropCallMetadataFromArgs(args) {
1740
1740
  return meta;
1741
1741
  }
1742
1742
 
1743
+ // src/internal/parent-tool-context.ts
1744
+ var SyncFallbackStorage2 = class {
1745
+ constructor() {
1746
+ this._stack = [];
1747
+ }
1748
+ getStore() {
1749
+ return this._stack[this._stack.length - 1];
1750
+ }
1751
+ run(store, callback) {
1752
+ this._stack.push(store);
1753
+ try {
1754
+ return callback();
1755
+ } finally {
1756
+ this._stack.pop();
1757
+ }
1758
+ }
1759
+ // `enterWith` is intentionally absent on the sync fallback — the
1760
+ // event-driven enter/clear pattern only makes sense when the runtime
1761
+ // can propagate state across awaits, which the sync stack cannot.
1762
+ };
1763
+ var _storage2 = null;
1764
+ function getStorage2() {
1765
+ if (_storage2) return _storage2;
1766
+ const Ctor = globalThis.RAINDROP_ASYNC_LOCAL_STORAGE;
1767
+ _storage2 = Ctor ? new Ctor() : new SyncFallbackStorage2();
1768
+ return _storage2;
1769
+ }
1770
+ function _resetParentToolContextStorage() {
1771
+ _storage2 = null;
1772
+ }
1773
+ function getCurrentParentToolContext() {
1774
+ return getStorage2().getStore();
1775
+ }
1776
+ function enterParentToolContext(ctx) {
1777
+ var _a;
1778
+ const storage = getStorage2();
1779
+ (_a = storage.enterWith) == null ? void 0 : _a.call(storage, ctx);
1780
+ }
1781
+ function clearParentToolContext() {
1782
+ var _a;
1783
+ const storage = getStorage2();
1784
+ (_a = storage.enterWith) == null ? void 0 : _a.call(storage, void 0);
1785
+ }
1786
+ function runWithParentToolContext(ctx, fn) {
1787
+ return getStorage2().run(ctx, fn);
1788
+ }
1789
+
1743
1790
  // src/internal/raindrop-telemetry-integration.ts
1744
1791
  var RaindropTelemetryIntegration = class {
1745
1792
  constructor(opts) {
1746
1793
  this.callStates = /* @__PURE__ */ new Map();
1794
+ /**
1795
+ * Per-tool-call snapshot of the parent-tool ALS context taken right
1796
+ * before `enterParentToolContext` overwrites it in `toolExecutionStart`.
1797
+ * Kept at the integration level (rather than on `CallState`) so the
1798
+ * snapshot survives even when the parent generation has no tracked
1799
+ * `CallState` — e.g. the AI SDK dispatches a tool callback for a
1800
+ * `callId` we never registered via `onStart`. Without this, the
1801
+ * unconditional ALS enter in `toolExecutionStart` would leave
1802
+ * `toolExecutionEnd` no way to restore the prior context, so it would
1803
+ * clear and wipe whatever the outer scope had set.
1804
+ *
1805
+ * Keyed by `toolCallId` because that's the only identifier guaranteed
1806
+ * to round-trip between `toolExecutionStart` and `toolExecutionEnd`
1807
+ * (the `event.callId` can be the same for parallel sibling tools).
1808
+ */
1809
+ this.priorParentContexts = /* @__PURE__ */ new Map();
1747
1810
  // ── onStart ─────────────────────────────────────────────────────────────
1748
1811
  this.onStart = (event) => {
1749
- var _a, _b, _c, _d;
1812
+ var _a, _b, _c, _d, _e;
1750
1813
  if (event.isEnabled === false) return;
1751
1814
  const isEmbed = event.operationId === "ai.embed" || event.operationId === "ai.embedMany";
1752
1815
  const recordInputs = event.recordInputs !== false;
@@ -1765,6 +1828,47 @@ var RaindropTelemetryIntegration = class {
1765
1828
  event.operationId,
1766
1829
  functionId
1767
1830
  );
1831
+ const parentToolContext = !isEmbed && this.subagentWrapping ? getCurrentParentToolContext() : void 0;
1832
+ const metadataSubagentName = !isEmbed && this.subagentWrapping && parentToolContext === void 0 ? typeof (metadata == null ? void 0 : metadata["ash.subagent.name"]) === "string" ? metadata["ash.subagent.name"] : void 0 : void 0;
1833
+ const subagentName = (_e = parentToolContext == null ? void 0 : parentToolContext.toolName) != null ? _e : metadataSubagentName;
1834
+ let subagentToolCallSpan;
1835
+ let rootParentOverride;
1836
+ if (subagentName && this.sendTraces) {
1837
+ const parentAttrs = parentToolContext ? [
1838
+ attrString("raindrop.parent.callId", parentToolContext.parentCallId),
1839
+ attrString("raindrop.parent.toolCallId", parentToolContext.toolCallId),
1840
+ attrString("raindrop.parent.toolName", parentToolContext.toolName)
1841
+ ] : [];
1842
+ subagentToolCallSpan = this.traceShipper.startSpan({
1843
+ name: subagentName,
1844
+ parent: inheritedParent,
1845
+ eventId,
1846
+ operationId: "ai.toolCall",
1847
+ attributes: [
1848
+ attrString("operation.name", "ai.toolCall"),
1849
+ attrString("resource.name", subagentName),
1850
+ attrString("raindrop.span.kind", "tool_call"),
1851
+ attrString("ai.toolCall.name", subagentName),
1852
+ attrString("raindrop.subagent.name", subagentName),
1853
+ attrString("raindrop.agent.role", "subagent"),
1854
+ ...parentAttrs
1855
+ ]
1856
+ });
1857
+ const subagentParentRef = this.spanParentRef(subagentToolCallSpan);
1858
+ const markerSpan = this.traceShipper.startSpan({
1859
+ name: "agent.subagent",
1860
+ parent: subagentParentRef,
1861
+ eventId,
1862
+ operationId: "agent.subagent",
1863
+ attributes: [
1864
+ attrString("operation.name", "agent.subagent"),
1865
+ attrString("raindrop.span.kind", "llm_call"),
1866
+ attrString("raindrop.subagent.name", subagentName)
1867
+ ]
1868
+ });
1869
+ this.traceShipper.endSpan(markerSpan);
1870
+ rootParentOverride = subagentParentRef;
1871
+ }
1768
1872
  let rootSpan;
1769
1873
  if (this.sendTraces) {
1770
1874
  const promptAttrs = !isEmbed && recordInputs ? [
@@ -1785,7 +1889,7 @@ var RaindropTelemetryIntegration = class {
1785
1889
  ] : [attrString("ai.value", safeJsonWithUint8(event.value))] : [];
1786
1890
  rootSpan = this.traceShipper.startSpan({
1787
1891
  name: event.operationId,
1788
- parent: inheritedParent,
1892
+ parent: rootParentOverride != null ? rootParentOverride : inheritedParent,
1789
1893
  eventId,
1790
1894
  operationId: event.operationId,
1791
1895
  attributes: [
@@ -1813,18 +1917,21 @@ var RaindropTelemetryIntegration = class {
1813
1917
  operationId: event.operationId,
1814
1918
  eventId,
1815
1919
  rootSpan,
1816
- rootParent: rootSpan ? this.spanParentRef(rootSpan) : inheritedParent,
1920
+ rootParent: rootSpan ? this.spanParentRef(rootSpan) : rootParentOverride != null ? rootParentOverride : inheritedParent,
1817
1921
  stepSpan: void 0,
1818
1922
  stepParent: void 0,
1819
1923
  toolSpans: /* @__PURE__ */ new Map(),
1820
1924
  embedSpans: /* @__PURE__ */ new Map(),
1925
+ parentContextToolCallIds: /* @__PURE__ */ new Set(),
1821
1926
  recordInputs,
1822
1927
  recordOutputs,
1823
1928
  functionId,
1824
1929
  metadata,
1825
1930
  accumulatedText: "",
1826
1931
  inputText: isEmbed ? void 0 : this.extractInputText(event),
1827
- toolCallCount: 0
1932
+ toolCallCount: 0,
1933
+ subagentName,
1934
+ subagentToolCallSpan
1828
1935
  });
1829
1936
  };
1830
1937
  // ── onStepStart ─────────────────────────────────────────────────────────
@@ -2048,6 +2155,9 @@ var RaindropTelemetryIntegration = class {
2048
2155
  } else {
2049
2156
  this.finishGenerate(event, state);
2050
2157
  }
2158
+ if (state.subagentToolCallSpan) {
2159
+ this.traceShipper.endSpan(state.subagentToolCallSpan);
2160
+ }
2051
2161
  this.cleanup(event.callId);
2052
2162
  };
2053
2163
  // ── onError ─────────────────────────────────────────────────────────────
@@ -2065,6 +2175,10 @@ var RaindropTelemetryIntegration = class {
2065
2175
  this.traceShipper.endSpan(embedSpan, { error: actualError });
2066
2176
  }
2067
2177
  state.embedSpans.clear();
2178
+ for (const toolCallId of state.parentContextToolCallIds) {
2179
+ this.priorParentContexts.delete(toolCallId);
2180
+ }
2181
+ state.parentContextToolCallIds.clear();
2068
2182
  for (const toolSpan of state.toolSpans.values()) {
2069
2183
  this.traceShipper.endSpan(toolSpan, { error: actualError });
2070
2184
  }
@@ -2072,6 +2186,9 @@ var RaindropTelemetryIntegration = class {
2072
2186
  if (state.rootSpan) {
2073
2187
  this.traceShipper.endSpan(state.rootSpan, { error: actualError });
2074
2188
  }
2189
+ if (state.subagentToolCallSpan) {
2190
+ this.traceShipper.endSpan(state.subagentToolCallSpan, { error: actualError });
2191
+ }
2075
2192
  this.cleanup(event.callId);
2076
2193
  };
2077
2194
  // ── executeTool ─────────────────────────────────────────────────────────
@@ -2096,6 +2213,7 @@ var RaindropTelemetryIntegration = class {
2096
2213
  this.eventShipper = opts.eventShipper;
2097
2214
  this.sendTraces = opts.sendTraces !== false;
2098
2215
  this.sendEvents = opts.sendEvents !== false;
2216
+ this.subagentWrapping = opts.subagentWrapping !== false;
2099
2217
  this.debug = opts.debug === true;
2100
2218
  this.defaultContext = opts.context;
2101
2219
  }
@@ -2177,9 +2295,20 @@ var RaindropTelemetryIntegration = class {
2177
2295
  // (see https://github.com/vercel/ai/pull/14589). Event shape is identical.
2178
2296
  // Both names are exposed and forward to a single implementation.
2179
2297
  toolExecutionStart(event) {
2298
+ const { toolCall } = event;
2299
+ const priorParent = getCurrentParentToolContext();
2300
+ this.priorParentContexts.set(
2301
+ toolCall.toolCallId,
2302
+ priorParent != null ? priorParent : null
2303
+ );
2304
+ enterParentToolContext({
2305
+ parentCallId: event.callId,
2306
+ toolCallId: toolCall.toolCallId,
2307
+ toolName: toolCall.toolName
2308
+ });
2180
2309
  const state = this.getState(event.callId);
2310
+ state == null ? void 0 : state.parentContextToolCallIds.add(toolCall.toolCallId);
2181
2311
  if (!(state == null ? void 0 : state.stepParent)) return;
2182
- const { toolCall } = event;
2183
2312
  const { operationName, resourceName } = opName(
2184
2313
  "ai.toolCall",
2185
2314
  state.functionId
@@ -2203,6 +2332,17 @@ var RaindropTelemetryIntegration = class {
2203
2332
  this.emitLive(state, "tool_start", toolCall.toolName, { args: toolCall.input });
2204
2333
  }
2205
2334
  toolExecutionEnd(event) {
2335
+ var _a;
2336
+ const toolCallId = (_a = event.toolCall) == null ? void 0 : _a.toolCallId;
2337
+ if (toolCallId && this.priorParentContexts.has(toolCallId)) {
2338
+ const prior = this.priorParentContexts.get(toolCallId);
2339
+ this.priorParentContexts.delete(toolCallId);
2340
+ if (prior) {
2341
+ enterParentToolContext(prior);
2342
+ } else {
2343
+ clearParentToolContext();
2344
+ }
2345
+ }
2206
2346
  const state = this.getState(event.callId);
2207
2347
  if (!state) return;
2208
2348
  const toolSpan = state.toolSpans.get(event.toolCall.toolCallId);
@@ -2266,7 +2406,8 @@ var RaindropTelemetryIntegration = class {
2266
2406
  );
2267
2407
  this.traceShipper.endSpan(state.rootSpan, { attributes: outputAttrs });
2268
2408
  }
2269
- if (this.sendEvents) {
2409
+ const suppressSubagentEvent = state.subagentName !== void 0 && state.subagentToolCallSpan !== void 0;
2410
+ if (this.sendEvents && !suppressSubagentEvent) {
2270
2411
  const callMeta = this.extractRaindropMetadata(state.metadata);
2271
2412
  const userId = (_f = callMeta.userId) != null ? _f : (_e = this.defaultContext) == null ? void 0 : _e.userId;
2272
2413
  if (userId) {
@@ -4428,12 +4569,16 @@ function createRaindropAISDK(opts) {
4428
4569
  const writeKey = opts.writeKey;
4429
4570
  const eventsRequested = ((_a = opts.events) == null ? void 0 : _a.enabled) !== false;
4430
4571
  const tracesRequested = ((_b = opts.traces) == null ? void 0 : _b.enabled) !== false;
4431
- const eventsEnabled = eventsRequested && !!writeKey;
4432
- const tracesEnabled = tracesRequested && !!writeKey;
4433
4572
  const envDebug = envDebugEnabled();
4434
- if (!writeKey && (eventsRequested || tracesRequested)) {
4573
+ const localWorkshopInput = opts.localWorkshopUrl === false ? null : opts.localWorkshopUrl;
4574
+ const resolvedLocalDebuggerUrl = resolveLocalDebuggerBaseUrl(localWorkshopInput);
4575
+ const localDebuggerUrl = localWorkshopInput === null ? null : resolvedLocalDebuggerUrl != null ? resolvedLocalDebuggerUrl : void 0;
4576
+ const hasDestination = !!writeKey || !!resolvedLocalDebuggerUrl;
4577
+ const eventsEnabled = eventsRequested && hasDestination;
4578
+ const tracesEnabled = tracesRequested && hasDestination;
4579
+ if (!hasDestination && (eventsRequested || tracesRequested)) {
4435
4580
  console.warn(
4436
- "[raindrop-ai/ai-sdk] writeKey not provided; telemetry shipping is disabled"
4581
+ "[raindrop-ai/ai-sdk] writeKey not provided and no local Workshop reachable; telemetry shipping is disabled"
4437
4582
  );
4438
4583
  }
4439
4584
  const eventShipper = new EventShipper2({
@@ -4441,9 +4586,9 @@ function createRaindropAISDK(opts) {
4441
4586
  endpoint: opts.endpoint,
4442
4587
  enabled: eventsEnabled,
4443
4588
  debug: ((_c = opts.events) == null ? void 0 : _c.debug) === true || envDebug,
4444
- partialFlushMs: (_d = opts.events) == null ? void 0 : _d.partialFlushMs
4589
+ partialFlushMs: (_d = opts.events) == null ? void 0 : _d.partialFlushMs,
4590
+ localDebuggerUrl
4445
4591
  });
4446
- const localDebuggerUrl = opts.localWorkshopUrl === false ? null : opts.localWorkshopUrl;
4447
4592
  const traceShipper = new TraceShipper2({
4448
4593
  writeKey,
4449
4594
  endpoint: opts.endpoint,
@@ -4465,12 +4610,30 @@ function createRaindropAISDK(opts) {
4465
4610
  traceShipper
4466
4611
  });
4467
4612
  },
4468
- createTelemetryIntegration(context) {
4613
+ createTelemetryIntegration(contextOrOptions) {
4614
+ const FLAT_CONTEXT_KEYS = [
4615
+ "userId",
4616
+ "eventId",
4617
+ "eventName",
4618
+ "convoId",
4619
+ "properties"
4620
+ ];
4621
+ let context;
4622
+ let subagentWrapping;
4623
+ if (contextOrOptions === void 0) ; else if ("context" in contextOrOptions) {
4624
+ context = contextOrOptions.context;
4625
+ subagentWrapping = contextOrOptions.subagentWrapping;
4626
+ } else if ("subagentWrapping" in contextOrOptions && !FLAT_CONTEXT_KEYS.some((k) => k in contextOrOptions)) {
4627
+ subagentWrapping = contextOrOptions.subagentWrapping;
4628
+ } else {
4629
+ context = contextOrOptions;
4630
+ }
4469
4631
  return new RaindropTelemetryIntegration({
4470
4632
  traceShipper,
4471
4633
  eventShipper,
4472
4634
  sendTraces: tracesEnabled,
4473
4635
  sendEvents: eventsEnabled,
4636
+ subagentWrapping,
4474
4637
  debug: envDebug,
4475
4638
  context
4476
4639
  });
@@ -4585,17 +4748,22 @@ exports.DEFAULT_REDACT_ATTRIBUTE_KEYS = DEFAULT_REDACT_ATTRIBUTE_KEYS;
4585
4748
  exports.DEFAULT_SECRET_KEY_NAMES = DEFAULT_SECRET_KEY_NAMES;
4586
4749
  exports.REDACTED_PLACEHOLDER = REDACTED_PLACEHOLDER;
4587
4750
  exports.RaindropTelemetryIntegration = RaindropTelemetryIntegration;
4751
+ exports._resetParentToolContextStorage = _resetParentToolContextStorage;
4588
4752
  exports._resetRaindropCallMetadataStorage = _resetRaindropCallMetadataStorage;
4589
4753
  exports._resetWarnedMissingUserId = _resetWarnedMissingUserId;
4754
+ exports.clearParentToolContext = clearParentToolContext;
4590
4755
  exports.createRaindropAISDK = createRaindropAISDK;
4591
4756
  exports.currentSpan = currentSpan;
4592
4757
  exports.defaultTransformSpan = defaultTransformSpan;
4758
+ exports.enterParentToolContext = enterParentToolContext;
4593
4759
  exports.eventMetadata = eventMetadata;
4594
4760
  exports.eventMetadataFromChatRequest = eventMetadataFromChatRequest;
4595
4761
  exports.getContextManager = getContextManager;
4762
+ exports.getCurrentParentToolContext = getCurrentParentToolContext;
4596
4763
  exports.getCurrentRaindropCallMetadata = getCurrentRaindropCallMetadata;
4597
4764
  exports.readRaindropCallMetadataFromArgs = readRaindropCallMetadataFromArgs;
4598
4765
  exports.redactJsonAttributeValue = redactJsonAttributeValue;
4599
4766
  exports.redactSecretsInObject = redactSecretsInObject;
4767
+ exports.runWithParentToolContext = runWithParentToolContext;
4600
4768
  exports.runWithRaindropCallMetadata = runWithRaindropCallMetadata;
4601
4769
  exports.withCurrent = withCurrent;
@@ -1,4 +1,4 @@
1
- export { DEFAULT_REDACT_ATTRIBUTE_KEYS, DEFAULT_SECRET_KEY_NAMES, REDACTED_PLACEHOLDER, RaindropTelemetryIntegration, _resetRaindropCallMetadataStorage, _resetWarnedMissingUserId, createRaindropAISDK, currentSpan, defaultTransformSpan, eventMetadata, eventMetadataFromChatRequest, getContextManager, getCurrentRaindropCallMetadata, readRaindropCallMetadataFromArgs, redactJsonAttributeValue, redactSecretsInObject, runWithRaindropCallMetadata, withCurrent } from './chunk-QGI4SABN.mjs';
1
+ export { DEFAULT_REDACT_ATTRIBUTE_KEYS, DEFAULT_SECRET_KEY_NAMES, REDACTED_PLACEHOLDER, RaindropTelemetryIntegration, _resetParentToolContextStorage, _resetRaindropCallMetadataStorage, _resetWarnedMissingUserId, clearParentToolContext, createRaindropAISDK, currentSpan, defaultTransformSpan, enterParentToolContext, eventMetadata, eventMetadataFromChatRequest, getContextManager, getCurrentParentToolContext, getCurrentRaindropCallMetadata, readRaindropCallMetadataFromArgs, redactJsonAttributeValue, redactSecretsInObject, runWithParentToolContext, runWithRaindropCallMetadata, withCurrent } from './chunk-LM3XO4KR.mjs';
2
2
  import { AsyncLocalStorage } from 'async_hooks';
3
3
 
4
4
  globalThis.RAINDROP_ASYNC_LOCAL_STORAGE = AsyncLocalStorage;
@@ -1,4 +1,4 @@
1
- export { A as AISDKChatRequestLike, a as AISDKChatRequestMessageLike, b as AISDKMessage, c as AgentCallMetadata, d as AgentWithMetadata, e as Attachment, B as BuildEventPatch, C as ContextManager, f as ContextSpan, g as CreateSpanArgs, D as DEFAULT_REDACT_ATTRIBUTE_KEYS, h as DEFAULT_SECRET_KEY_NAMES, E as EndSpanArgs, i as EventBuilder, j as EventMetadataOptions, I as IdentifyInput, O as OtlpAnyValue, k as OtlpSpan, R as REDACTED_PLACEHOLDER, l as RaindropAISDKClient, m as RaindropAISDKContext, n as RaindropAISDKOptions, o as RaindropCallMetadata, p as RaindropTelemetryIntegration, q as RaindropTelemetryIntegrationOptions, S as SelfDiagnosticsOptions, r as SelfDiagnosticsSignalDefinition, s as SelfDiagnosticsSignalDefinitions, t as StartSpanArgs, T as TraceSpan, u as TransformSpanHook, W as WrapAISDKOptions, v as WrappedAI, w as WrappedAISDK, _ as _resetRaindropCallMetadataStorage, x as _resetWarnedMissingUserId, y as createRaindropAISDK, z as currentSpan, F as defaultTransformSpan, G as eventMetadata, H as eventMetadataFromChatRequest, J as getContextManager, K as getCurrentRaindropCallMetadata, L as readRaindropCallMetadataFromArgs, M as redactJsonAttributeValue, N as redactSecretsInObject, P as runWithRaindropCallMetadata, Q as withCurrent } from './index-DKdCelJA.mjs';
1
+ export { A as AISDKChatRequestLike, a as AISDKChatRequestMessageLike, b as AISDKMessage, c as AgentCallMetadata, d as AgentWithMetadata, e as Attachment, B as BuildEventPatch, C as ContextManager, f as ContextSpan, g as CreateSpanArgs, D as DEFAULT_REDACT_ATTRIBUTE_KEYS, h as DEFAULT_SECRET_KEY_NAMES, E as EndSpanArgs, i as EventBuilder, j as EventMetadataOptions, I as IdentifyInput, O as OtlpAnyValue, k as OtlpSpan, P as ParentToolContext, R as REDACTED_PLACEHOLDER, l as RaindropAISDKClient, m as RaindropAISDKContext, n as RaindropAISDKOptions, o as RaindropCallMetadata, p as RaindropTelemetryIntegration, q as RaindropTelemetryIntegrationOptions, S as SelfDiagnosticsOptions, r as SelfDiagnosticsSignalDefinition, s as SelfDiagnosticsSignalDefinitions, t as StartSpanArgs, T as TraceSpan, u as TransformSpanHook, W as WrapAISDKOptions, v as WrappedAI, w as WrappedAISDK, _ as _resetParentToolContextStorage, x as _resetRaindropCallMetadataStorage, y as _resetWarnedMissingUserId, z as clearParentToolContext, F as createRaindropAISDK, G as currentSpan, H as defaultTransformSpan, J as enterParentToolContext, K as eventMetadata, L as eventMetadataFromChatRequest, M as getContextManager, N as getCurrentParentToolContext, Q as getCurrentRaindropCallMetadata, U as readRaindropCallMetadataFromArgs, V as redactJsonAttributeValue, X as redactSecretsInObject, Y as runWithParentToolContext, Z as runWithRaindropCallMetadata, $ as withCurrent } from './index-Ba_ZzUH4.mjs';
2
2
 
3
3
  declare global {
4
4
  var RAINDROP_ASYNC_LOCAL_STORAGE: (new <T>() => {
@@ -1,4 +1,4 @@
1
- export { A as AISDKChatRequestLike, a as AISDKChatRequestMessageLike, b as AISDKMessage, c as AgentCallMetadata, d as AgentWithMetadata, e as Attachment, B as BuildEventPatch, C as ContextManager, f as ContextSpan, g as CreateSpanArgs, D as DEFAULT_REDACT_ATTRIBUTE_KEYS, h as DEFAULT_SECRET_KEY_NAMES, E as EndSpanArgs, i as EventBuilder, j as EventMetadataOptions, I as IdentifyInput, O as OtlpAnyValue, k as OtlpSpan, R as REDACTED_PLACEHOLDER, l as RaindropAISDKClient, m as RaindropAISDKContext, n as RaindropAISDKOptions, o as RaindropCallMetadata, p as RaindropTelemetryIntegration, q as RaindropTelemetryIntegrationOptions, S as SelfDiagnosticsOptions, r as SelfDiagnosticsSignalDefinition, s as SelfDiagnosticsSignalDefinitions, t as StartSpanArgs, T as TraceSpan, u as TransformSpanHook, W as WrapAISDKOptions, v as WrappedAI, w as WrappedAISDK, _ as _resetRaindropCallMetadataStorage, x as _resetWarnedMissingUserId, y as createRaindropAISDK, z as currentSpan, F as defaultTransformSpan, G as eventMetadata, H as eventMetadataFromChatRequest, J as getContextManager, K as getCurrentRaindropCallMetadata, L as readRaindropCallMetadataFromArgs, M as redactJsonAttributeValue, N as redactSecretsInObject, P as runWithRaindropCallMetadata, Q as withCurrent } from './index-DKdCelJA.js';
1
+ export { A as AISDKChatRequestLike, a as AISDKChatRequestMessageLike, b as AISDKMessage, c as AgentCallMetadata, d as AgentWithMetadata, e as Attachment, B as BuildEventPatch, C as ContextManager, f as ContextSpan, g as CreateSpanArgs, D as DEFAULT_REDACT_ATTRIBUTE_KEYS, h as DEFAULT_SECRET_KEY_NAMES, E as EndSpanArgs, i as EventBuilder, j as EventMetadataOptions, I as IdentifyInput, O as OtlpAnyValue, k as OtlpSpan, P as ParentToolContext, R as REDACTED_PLACEHOLDER, l as RaindropAISDKClient, m as RaindropAISDKContext, n as RaindropAISDKOptions, o as RaindropCallMetadata, p as RaindropTelemetryIntegration, q as RaindropTelemetryIntegrationOptions, S as SelfDiagnosticsOptions, r as SelfDiagnosticsSignalDefinition, s as SelfDiagnosticsSignalDefinitions, t as StartSpanArgs, T as TraceSpan, u as TransformSpanHook, W as WrapAISDKOptions, v as WrappedAI, w as WrappedAISDK, _ as _resetParentToolContextStorage, x as _resetRaindropCallMetadataStorage, y as _resetWarnedMissingUserId, z as clearParentToolContext, F as createRaindropAISDK, G as currentSpan, H as defaultTransformSpan, J as enterParentToolContext, K as eventMetadata, L as eventMetadataFromChatRequest, M as getContextManager, N as getCurrentParentToolContext, Q as getCurrentRaindropCallMetadata, U as readRaindropCallMetadataFromArgs, V as redactJsonAttributeValue, X as redactSecretsInObject, Y as runWithParentToolContext, Z as runWithRaindropCallMetadata, $ as withCurrent } from './index-Ba_ZzUH4.js';
2
2
 
3
3
  declare global {
4
4
  var RAINDROP_ASYNC_LOCAL_STORAGE: (new <T>() => {