@raindrop-ai/ai-sdk 0.0.24 → 0.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -4
- package/dist/{chunk-WHP2SVAR.mjs → chunk-76JSTQY3.mjs} +208 -91
- package/dist/{index-sxjvhkYW.d.mts → index-7aDHuHHR.d.mts} +70 -11
- package/dist/{index-sxjvhkYW.d.ts → index-7aDHuHHR.d.ts} +70 -11
- package/dist/index.browser.d.mts +70 -11
- package/dist/index.browser.d.ts +70 -11
- package/dist/index.browser.js +211 -90
- package/dist/index.browser.mjs +208 -91
- package/dist/index.node.d.mts +1 -1
- package/dist/index.node.d.ts +1 -1
- package/dist/index.node.js +211 -90
- package/dist/index.node.mjs +1 -1
- package/dist/index.workers.d.mts +1 -1
- package/dist/index.workers.d.ts +1 -1
- package/dist/index.workers.js +211 -90
- package/dist/index.workers.mjs +1 -1
- package/package.json +1 -1
package/dist/index.browser.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// ../core/dist/chunk-
|
|
1
|
+
// ../core/dist/chunk-Y7SM66SW.js
|
|
2
2
|
function getCrypto() {
|
|
3
3
|
const c = globalThis.crypto;
|
|
4
4
|
return c;
|
|
@@ -476,21 +476,6 @@ function resolveLocalDebuggerBaseUrl(baseUrl) {
|
|
|
476
476
|
function localDebuggerEnabled(baseUrl) {
|
|
477
477
|
return resolveLocalDebuggerBaseUrl(baseUrl) !== null;
|
|
478
478
|
}
|
|
479
|
-
function normalizeLocalDebuggerLiveEventType(type) {
|
|
480
|
-
switch (type) {
|
|
481
|
-
case "text-delta":
|
|
482
|
-
return "text_delta";
|
|
483
|
-
case "reasoning":
|
|
484
|
-
case "reasoning-delta":
|
|
485
|
-
return "reasoning_delta";
|
|
486
|
-
case "tool-call":
|
|
487
|
-
return "tool_start";
|
|
488
|
-
case "tool-result":
|
|
489
|
-
return "tool_result";
|
|
490
|
-
default:
|
|
491
|
-
return type;
|
|
492
|
-
}
|
|
493
|
-
}
|
|
494
479
|
function mirrorTraceExportToLocalDebugger(body, options = {}) {
|
|
495
480
|
var _a;
|
|
496
481
|
const baseUrl = resolveLocalDebuggerBaseUrl(options.baseUrl);
|
|
@@ -510,7 +495,7 @@ function sendLocalDebuggerLiveEvent(event, options = {}) {
|
|
|
510
495
|
`${baseUrl}live`,
|
|
511
496
|
{
|
|
512
497
|
...event,
|
|
513
|
-
type:
|
|
498
|
+
type: event.type,
|
|
514
499
|
timestamp: (_a = event.timestamp) != null ? _a : Date.now()
|
|
515
500
|
},
|
|
516
501
|
{},
|
|
@@ -830,7 +815,7 @@ async function* asyncGeneratorWithCurrent(span, gen) {
|
|
|
830
815
|
// package.json
|
|
831
816
|
var package_default = {
|
|
832
817
|
name: "@raindrop-ai/ai-sdk",
|
|
833
|
-
version: "0.0.
|
|
818
|
+
version: "0.0.26"};
|
|
834
819
|
|
|
835
820
|
// src/internal/version.ts
|
|
836
821
|
var libraryName = package_default.name;
|
|
@@ -1470,6 +1455,77 @@ function attrsFromGenAiRequest(options) {
|
|
|
1470
1455
|
];
|
|
1471
1456
|
}
|
|
1472
1457
|
|
|
1458
|
+
// src/internal/call-metadata.ts
|
|
1459
|
+
var SyncFallbackStorage = class {
|
|
1460
|
+
constructor() {
|
|
1461
|
+
this._stack = [];
|
|
1462
|
+
}
|
|
1463
|
+
getStore() {
|
|
1464
|
+
return this._stack[this._stack.length - 1];
|
|
1465
|
+
}
|
|
1466
|
+
run(store, callback) {
|
|
1467
|
+
this._stack.push(store);
|
|
1468
|
+
try {
|
|
1469
|
+
return callback();
|
|
1470
|
+
} finally {
|
|
1471
|
+
this._stack.pop();
|
|
1472
|
+
}
|
|
1473
|
+
}
|
|
1474
|
+
};
|
|
1475
|
+
var _storage = null;
|
|
1476
|
+
function getStorage() {
|
|
1477
|
+
if (_storage) return _storage;
|
|
1478
|
+
const Ctor = globalThis.RAINDROP_ASYNC_LOCAL_STORAGE;
|
|
1479
|
+
_storage = Ctor ? new Ctor() : new SyncFallbackStorage();
|
|
1480
|
+
return _storage;
|
|
1481
|
+
}
|
|
1482
|
+
function _resetRaindropCallMetadataStorage() {
|
|
1483
|
+
_storage = null;
|
|
1484
|
+
}
|
|
1485
|
+
function getCurrentRaindropCallMetadata() {
|
|
1486
|
+
return getStorage().getStore();
|
|
1487
|
+
}
|
|
1488
|
+
function runWithRaindropCallMetadata(metadata, fn) {
|
|
1489
|
+
return getStorage().run(metadata, fn);
|
|
1490
|
+
}
|
|
1491
|
+
function readRaindropCallMetadataFromArgs(args) {
|
|
1492
|
+
var _a;
|
|
1493
|
+
if (args.length === 0) return void 0;
|
|
1494
|
+
const first = args[0];
|
|
1495
|
+
if (!isRecord(first)) return void 0;
|
|
1496
|
+
const topLevel = isRecord(first["metadata"]) ? first["metadata"] : void 0;
|
|
1497
|
+
const stable = isRecord(first["telemetry"]) ? first["telemetry"]["metadata"] : void 0;
|
|
1498
|
+
const stableMetadata = isRecord(stable) ? stable : void 0;
|
|
1499
|
+
const exp = extractExperimentalTelemetry(first);
|
|
1500
|
+
const expMetadata = (exp == null ? void 0 : exp.metadata) && typeof exp.metadata === "object" ? exp.metadata : void 0;
|
|
1501
|
+
const raw = (_a = topLevel != null ? topLevel : stableMetadata) != null ? _a : expMetadata;
|
|
1502
|
+
if (!raw) return void 0;
|
|
1503
|
+
const meta = { rawMetadata: raw };
|
|
1504
|
+
const userId = raw["raindrop.userId"];
|
|
1505
|
+
if (typeof userId === "string" && userId) meta.userId = userId;
|
|
1506
|
+
const eventId = raw["raindrop.eventId"];
|
|
1507
|
+
if (typeof eventId === "string" && eventId) meta.eventId = eventId;
|
|
1508
|
+
const eventIdGenerated = raw["raindrop.internal.eventIdGenerated"];
|
|
1509
|
+
if (eventIdGenerated === true || eventIdGenerated === "true" || eventIdGenerated === "1") {
|
|
1510
|
+
meta.eventIdGenerated = true;
|
|
1511
|
+
}
|
|
1512
|
+
const convoId = raw["raindrop.convoId"];
|
|
1513
|
+
if (typeof convoId === "string" && convoId) meta.convoId = convoId;
|
|
1514
|
+
const eventName = raw["raindrop.eventName"];
|
|
1515
|
+
if (typeof eventName === "string" && eventName) meta.eventName = eventName;
|
|
1516
|
+
const properties = raw["raindrop.properties"];
|
|
1517
|
+
if (typeof properties === "string") {
|
|
1518
|
+
try {
|
|
1519
|
+
const parsed = JSON.parse(properties);
|
|
1520
|
+
if (parsed && typeof parsed === "object") meta.properties = parsed;
|
|
1521
|
+
} catch (e) {
|
|
1522
|
+
}
|
|
1523
|
+
} else if (properties && typeof properties === "object") {
|
|
1524
|
+
meta.properties = properties;
|
|
1525
|
+
}
|
|
1526
|
+
return meta;
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1473
1529
|
// src/internal/raindrop-telemetry-integration.ts
|
|
1474
1530
|
var RaindropTelemetryIntegration = class {
|
|
1475
1531
|
constructor(opts) {
|
|
@@ -1477,15 +1533,17 @@ var RaindropTelemetryIntegration = class {
|
|
|
1477
1533
|
// ── onStart ─────────────────────────────────────────────────────────────
|
|
1478
1534
|
this.onStart = (event) => {
|
|
1479
1535
|
var _a, _b, _c, _d;
|
|
1480
|
-
if (event.isEnabled
|
|
1536
|
+
if (event.isEnabled === false) return;
|
|
1481
1537
|
const isEmbed = event.operationId === "ai.embed" || event.operationId === "ai.embedMany";
|
|
1482
1538
|
const recordInputs = event.recordInputs !== false;
|
|
1483
1539
|
const recordOutputs = event.recordOutputs !== false;
|
|
1484
1540
|
const functionId = event.functionId;
|
|
1485
|
-
const
|
|
1541
|
+
const eventMetadata2 = event.metadata;
|
|
1542
|
+
const callContextMetadata = getCurrentRaindropCallMetadata();
|
|
1543
|
+
const metadata = eventMetadata2 != null ? eventMetadata2 : callContextMetadata == null ? void 0 : callContextMetadata.rawMetadata;
|
|
1486
1544
|
const callMeta = this.extractRaindropMetadata(metadata);
|
|
1487
1545
|
const inherited = getContextManager().getParentSpanIds();
|
|
1488
|
-
const eventIdGenerated = (metadata == null ? void 0 : metadata["raindrop.internal.eventIdGenerated"]) === "true" || (metadata == null ? void 0 : metadata["raindrop.internal.eventIdGenerated"]) === true;
|
|
1546
|
+
const eventIdGenerated = (metadata == null ? void 0 : metadata["raindrop.internal.eventIdGenerated"]) === "true" || (metadata == null ? void 0 : metadata["raindrop.internal.eventIdGenerated"]) === true || (callContextMetadata == null ? void 0 : callContextMetadata.eventIdGenerated) === true;
|
|
1489
1547
|
const explicitEventId = callMeta.eventId && !eventIdGenerated ? callMeta.eventId : void 0;
|
|
1490
1548
|
const eventId = (_d = (_c = (_b = explicitEventId != null ? explicitEventId : (_a = this.defaultContext) == null ? void 0 : _a.eventId) != null ? _b : inherited == null ? void 0 : inherited.eventId) != null ? _c : callMeta.eventId) != null ? _d : randomUUID();
|
|
1491
1549
|
const inheritedParent = inherited && inherited.eventId === eventId ? { traceIdB64: inherited.traceIdB64, spanIdB64: inherited.spanIdB64 } : void 0;
|
|
@@ -1611,48 +1669,25 @@ var RaindropTelemetryIntegration = class {
|
|
|
1611
1669
|
state.stepSpan = stepSpan;
|
|
1612
1670
|
state.stepParent = this.spanParentRef(stepSpan);
|
|
1613
1671
|
};
|
|
1614
|
-
|
|
1615
|
-
this.
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
attrString("resource.name", resourceName),
|
|
1632
|
-
attrString("ai.telemetry.functionId", state.functionId),
|
|
1633
|
-
attrString("ai.toolCall.name", toolCall.toolName),
|
|
1634
|
-
attrString("ai.toolCall.id", toolCall.toolCallId),
|
|
1635
|
-
...inputAttrs
|
|
1636
|
-
]
|
|
1637
|
-
});
|
|
1638
|
-
state.toolSpans.set(toolCall.toolCallId, toolSpan);
|
|
1639
|
-
this.emitLive(state, "tool_start", toolCall.toolName, { args: toolCall.input });
|
|
1672
|
+
this.onToolExecutionStart = (event) => this.toolExecutionStart(event);
|
|
1673
|
+
this.onToolExecutionEnd = (event) => this.toolExecutionEnd(event);
|
|
1674
|
+
// Older v7 betas (< beta.111) emit these names. Kept as thin aliases so
|
|
1675
|
+
// applications pinned to those betas continue to work.
|
|
1676
|
+
this.onToolCallStart = (event) => this.toolExecutionStart(event);
|
|
1677
|
+
this.onToolCallFinish = (event) => this.toolExecutionEnd(event);
|
|
1678
|
+
// ── language-model call (v7 beta.111+) ─────────────────────────────────
|
|
1679
|
+
//
|
|
1680
|
+
// `onLanguageModelCallStart` / `onLanguageModelCallEnd` are scoped to the
|
|
1681
|
+
// model invocation only and exclude later client-side tool execution.
|
|
1682
|
+
// Raindrop already spans at the operation + step level, so these are
|
|
1683
|
+
// intentional no-ops — declared so the dispatcher's `mergeCallbacks` sees
|
|
1684
|
+
// them and so we don't accidentally rely on them later.
|
|
1685
|
+
//
|
|
1686
|
+
// Defined as no-ops rather than omitted so adding logic here later is a
|
|
1687
|
+
// strictly additive change.
|
|
1688
|
+
this.onLanguageModelCallStart = (_event) => {
|
|
1640
1689
|
};
|
|
1641
|
-
|
|
1642
|
-
this.onToolCallFinish = (event) => {
|
|
1643
|
-
const state = this.getState(event.callId);
|
|
1644
|
-
if (!state) return;
|
|
1645
|
-
const toolSpan = state.toolSpans.get(event.toolCall.toolCallId);
|
|
1646
|
-
if (!toolSpan) return;
|
|
1647
|
-
state.toolCallCount += 1;
|
|
1648
|
-
if (event.success) {
|
|
1649
|
-
const outputAttrs = state.recordOutputs ? [attrString("ai.toolCall.result", safeJsonWithUint8(event.output))] : [];
|
|
1650
|
-
this.traceShipper.endSpan(toolSpan, { attributes: outputAttrs });
|
|
1651
|
-
} else {
|
|
1652
|
-
this.traceShipper.endSpan(toolSpan, { error: event.error });
|
|
1653
|
-
}
|
|
1654
|
-
this.emitLive(state, "tool_result", event.toolCall.toolName);
|
|
1655
|
-
state.toolSpans.delete(event.toolCall.toolCallId);
|
|
1690
|
+
this.onLanguageModelCallEnd = (_event) => {
|
|
1656
1691
|
};
|
|
1657
1692
|
// ── onChunk (streaming) ─────────────────────────────────────────────────
|
|
1658
1693
|
this.onChunk = (event) => {
|
|
@@ -1921,6 +1956,53 @@ var RaindropTelemetryIntegration = class {
|
|
|
1921
1956
|
}
|
|
1922
1957
|
return void 0;
|
|
1923
1958
|
}
|
|
1959
|
+
// ── tool execution start / end ──────────────────────────────────────────
|
|
1960
|
+
//
|
|
1961
|
+
// v7 < beta.111 dispatched `onToolCallStart` / `onToolCallFinish`.
|
|
1962
|
+
// v7 >= beta.111 renamed them to `onToolExecutionStart` / `onToolExecutionEnd`
|
|
1963
|
+
// (see https://github.com/vercel/ai/pull/14589). Event shape is identical.
|
|
1964
|
+
// Both names are exposed and forward to a single implementation.
|
|
1965
|
+
toolExecutionStart(event) {
|
|
1966
|
+
const state = this.getState(event.callId);
|
|
1967
|
+
if (!(state == null ? void 0 : state.stepParent)) return;
|
|
1968
|
+
const { toolCall } = event;
|
|
1969
|
+
const { operationName, resourceName } = opName(
|
|
1970
|
+
"ai.toolCall",
|
|
1971
|
+
state.functionId
|
|
1972
|
+
);
|
|
1973
|
+
const inputAttrs = state.recordInputs ? [attrString("ai.toolCall.args", safeJsonWithUint8(toolCall.input))] : [];
|
|
1974
|
+
const toolSpan = this.traceShipper.startSpan({
|
|
1975
|
+
name: "ai.toolCall",
|
|
1976
|
+
parent: state.stepParent,
|
|
1977
|
+
eventId: state.eventId,
|
|
1978
|
+
operationId: "ai.toolCall",
|
|
1979
|
+
attributes: [
|
|
1980
|
+
attrString("operation.name", operationName),
|
|
1981
|
+
attrString("resource.name", resourceName),
|
|
1982
|
+
attrString("ai.telemetry.functionId", state.functionId),
|
|
1983
|
+
attrString("ai.toolCall.name", toolCall.toolName),
|
|
1984
|
+
attrString("ai.toolCall.id", toolCall.toolCallId),
|
|
1985
|
+
...inputAttrs
|
|
1986
|
+
]
|
|
1987
|
+
});
|
|
1988
|
+
state.toolSpans.set(toolCall.toolCallId, toolSpan);
|
|
1989
|
+
this.emitLive(state, "tool_start", toolCall.toolName, { args: toolCall.input });
|
|
1990
|
+
}
|
|
1991
|
+
toolExecutionEnd(event) {
|
|
1992
|
+
const state = this.getState(event.callId);
|
|
1993
|
+
if (!state) return;
|
|
1994
|
+
const toolSpan = state.toolSpans.get(event.toolCall.toolCallId);
|
|
1995
|
+
if (!toolSpan) return;
|
|
1996
|
+
state.toolCallCount += 1;
|
|
1997
|
+
if (event.success) {
|
|
1998
|
+
const outputAttrs = state.recordOutputs ? [attrString("ai.toolCall.result", safeJsonWithUint8(event.output))] : [];
|
|
1999
|
+
this.traceShipper.endSpan(toolSpan, { attributes: outputAttrs });
|
|
2000
|
+
} else {
|
|
2001
|
+
this.traceShipper.endSpan(toolSpan, { error: event.error });
|
|
2002
|
+
}
|
|
2003
|
+
this.emitLive(state, "tool_result", event.toolCall.toolName);
|
|
2004
|
+
state.toolSpans.delete(event.toolCall.toolCallId);
|
|
2005
|
+
}
|
|
1924
2006
|
finishGenerate(event, state) {
|
|
1925
2007
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
1926
2008
|
if (state.rootSpan) {
|
|
@@ -2248,7 +2330,16 @@ function detectAISDKVersion(aiSDK) {
|
|
|
2248
2330
|
return "4";
|
|
2249
2331
|
}
|
|
2250
2332
|
function hasStructuredTelemetryEvents(aiSDK) {
|
|
2251
|
-
|
|
2333
|
+
if (!isRecord(aiSDK)) return false;
|
|
2334
|
+
const hasRegister = isFunction(aiSDK["registerTelemetry"]) || isFunction(aiSDK["registerTelemetryIntegration"]);
|
|
2335
|
+
const hasV7Marker = isFunction(aiSDK["experimental_streamLanguageModelCall"]) || isFunction(aiSDK["experimental_streamModelCall"]);
|
|
2336
|
+
return hasRegister && hasV7Marker;
|
|
2337
|
+
}
|
|
2338
|
+
function resolveRegisterTelemetry(aiSDK) {
|
|
2339
|
+
var _a;
|
|
2340
|
+
if (!isRecord(aiSDK)) return void 0;
|
|
2341
|
+
const fn = (_a = aiSDK["registerTelemetry"]) != null ? _a : aiSDK["registerTelemetryIntegration"];
|
|
2342
|
+
return isFunction(fn) ? fn : void 0;
|
|
2252
2343
|
}
|
|
2253
2344
|
function asVercelSchema(jsonSchemaObj) {
|
|
2254
2345
|
const validatorSymbol = /* @__PURE__ */ Symbol.for("vercel.ai.validator");
|
|
@@ -2526,7 +2617,7 @@ function setupOperation(params) {
|
|
|
2526
2617
|
attrString("ai.model.id", modelInfoFromArgs.modelId),
|
|
2527
2618
|
attrString("ai.telemetry.metadata.raindrop.eventId", eventId),
|
|
2528
2619
|
attrString("ai.telemetry.metadata.raindrop.eventName", mergedCtx.eventName),
|
|
2529
|
-
attrString("ai.telemetry.metadata.raindrop.userId", mergedCtx.userId),
|
|
2620
|
+
attrString("ai.telemetry.metadata.raindrop.ai.userId", mergedCtx.userId),
|
|
2530
2621
|
attrString("ai.telemetry.metadata.raindrop.convoId", mergedCtx.convoId),
|
|
2531
2622
|
...attrsFromTelemetryMetadata(telemetry == null ? void 0 : telemetry.metadata),
|
|
2532
2623
|
...attrsFromHeaders(isRecord(arg) ? arg["headers"] : void 0),
|
|
@@ -2889,31 +2980,44 @@ function wrapAISDK(aiSDK, deps) {
|
|
|
2889
2980
|
properties: wrapTimeCtx.properties
|
|
2890
2981
|
}
|
|
2891
2982
|
});
|
|
2892
|
-
const registerFn = aiSDK
|
|
2893
|
-
if (
|
|
2983
|
+
const registerFn = resolveRegisterTelemetry(aiSDK);
|
|
2984
|
+
if (registerFn) {
|
|
2894
2985
|
registerFn(integration);
|
|
2895
2986
|
}
|
|
2896
2987
|
if (debug) {
|
|
2897
|
-
console.log(
|
|
2988
|
+
console.log(
|
|
2989
|
+
"[raindrop-ai/ai-sdk] nativeTelemetry: registered RaindropTelemetryIntegration (Proxy installed for per-call metadata propagation)"
|
|
2990
|
+
);
|
|
2898
2991
|
}
|
|
2899
2992
|
const selfDiagnostics2 = normalizeSelfDiagnosticsConfig(deps.options.selfDiagnostics);
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2993
|
+
const jsonSchemaFactory = selfDiagnostics2 ? resolveJsonSchemaFactory(aiSDK) : void 0;
|
|
2994
|
+
const metadataAwareOps = /* @__PURE__ */ new Set([
|
|
2995
|
+
"generateText",
|
|
2996
|
+
"streamText",
|
|
2997
|
+
"generateObject",
|
|
2998
|
+
"streamObject",
|
|
2999
|
+
"embed",
|
|
3000
|
+
"embedMany",
|
|
3001
|
+
"rerank"
|
|
3002
|
+
]);
|
|
3003
|
+
const selfDiagnosticsOps = /* @__PURE__ */ new Set(["generateText", "streamText"]);
|
|
3004
|
+
const proxyTarget2 = isModuleNamespace(aiSDK) ? Object.setPrototypeOf({}, aiSDK) : aiSDK;
|
|
3005
|
+
return new Proxy(proxyTarget2, {
|
|
3006
|
+
get(target, prop, receiver) {
|
|
3007
|
+
const original = Reflect.get(target, prop, receiver);
|
|
3008
|
+
if (typeof prop !== "string" || !metadataAwareOps.has(prop) || !isFunction(original)) {
|
|
3009
|
+
return original;
|
|
3010
|
+
}
|
|
3011
|
+
const propName = prop;
|
|
3012
|
+
return (...callArgs) => {
|
|
3013
|
+
var _a2, _b2, _c2;
|
|
3014
|
+
const arg = callArgs[0];
|
|
3015
|
+
const callMetadata = readRaindropCallMetadataFromArgs(callArgs);
|
|
3016
|
+
const callOriginal = () => original.call(aiSDK, ...callArgs);
|
|
3017
|
+
if (selfDiagnostics2 && selfDiagnosticsOps.has(propName) && isRecord(arg)) {
|
|
2914
3018
|
const telemetry = extractExperimentalTelemetry(arg);
|
|
2915
3019
|
const callMeta = (telemetry == null ? void 0 : telemetry.metadata) ? extractRaindropMetadata(telemetry.metadata) : {};
|
|
2916
|
-
const perCallEventIdExplicit = (_a2 =
|
|
3020
|
+
const perCallEventIdExplicit = (_b2 = (_a2 = callMetadata == null ? void 0 : callMetadata.eventId) != null ? _a2 : callMeta.eventId) != null ? _b2 : wrapTimeCtx.eventId;
|
|
2917
3021
|
const perCallEventId = perCallEventIdExplicit != null ? perCallEventIdExplicit : randomUUID();
|
|
2918
3022
|
const perCallEventIdGenerated = !perCallEventIdExplicit;
|
|
2919
3023
|
const perCallCtx = {
|
|
@@ -2950,12 +3054,25 @@ function wrapAISDK(aiSDK, deps) {
|
|
|
2950
3054
|
metadata: mergedMetadata
|
|
2951
3055
|
}
|
|
2952
3056
|
};
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
3057
|
+
const mergedAlsMetadata = {
|
|
3058
|
+
...callMetadata != null ? callMetadata : {},
|
|
3059
|
+
eventId: perCallEventId,
|
|
3060
|
+
eventIdGenerated: perCallEventIdGenerated || (callMetadata == null ? void 0 : callMetadata.eventIdGenerated),
|
|
3061
|
+
rawMetadata: {
|
|
3062
|
+
...(_c2 = callMetadata == null ? void 0 : callMetadata.rawMetadata) != null ? _c2 : {},
|
|
3063
|
+
"raindrop.eventId": perCallEventId,
|
|
3064
|
+
...perCallEventIdGenerated ? { "raindrop.internal.eventIdGenerated": "true" } : {}
|
|
3065
|
+
}
|
|
3066
|
+
};
|
|
3067
|
+
return runWithRaindropCallMetadata(mergedAlsMetadata, callOriginal);
|
|
3068
|
+
}
|
|
3069
|
+
if (callMetadata) {
|
|
3070
|
+
return runWithRaindropCallMetadata(callMetadata, callOriginal);
|
|
3071
|
+
}
|
|
3072
|
+
return callOriginal();
|
|
3073
|
+
};
|
|
3074
|
+
}
|
|
3075
|
+
});
|
|
2959
3076
|
}
|
|
2960
3077
|
const instrumentedOps = /* @__PURE__ */ new Set([
|
|
2961
3078
|
"generateText",
|
|
@@ -3091,7 +3208,7 @@ function wrapAgentGenerate(generate, instance, agentSettings, className, aiSDK,
|
|
|
3091
3208
|
attrString("ai.model.id", modelInfoFromArgs.modelId),
|
|
3092
3209
|
attrString("ai.telemetry.metadata.raindrop.eventId", eventId),
|
|
3093
3210
|
attrString("ai.telemetry.metadata.raindrop.eventName", ctx.eventName),
|
|
3094
|
-
attrString("ai.telemetry.metadata.raindrop.userId", ctx.userId),
|
|
3211
|
+
attrString("ai.telemetry.metadata.raindrop.ai.userId", ctx.userId),
|
|
3095
3212
|
attrString("ai.telemetry.metadata.raindrop.convoId", ctx.convoId),
|
|
3096
3213
|
...attrsFromTelemetryMetadata(telemetry == null ? void 0 : telemetry.metadata),
|
|
3097
3214
|
...attrsFromHeaders(mergedArgs["headers"]),
|
|
@@ -3299,7 +3416,7 @@ function wrapAgentStream(stream, instance, agentSettings, className, aiSDK, deps
|
|
|
3299
3416
|
attrString("ai.model.id", modelInfoFromArgs.modelId),
|
|
3300
3417
|
attrString("ai.telemetry.metadata.raindrop.eventId", eventId),
|
|
3301
3418
|
attrString("ai.telemetry.metadata.raindrop.eventName", ctx.eventName),
|
|
3302
|
-
attrString("ai.telemetry.metadata.raindrop.userId", ctx.userId),
|
|
3419
|
+
attrString("ai.telemetry.metadata.raindrop.ai.userId", ctx.userId),
|
|
3303
3420
|
attrString("ai.telemetry.metadata.raindrop.convoId", ctx.convoId),
|
|
3304
3421
|
...attrsFromTelemetryMetadata(telemetry == null ? void 0 : telemetry.metadata),
|
|
3305
3422
|
...attrsFromHeaders(mergedArgs["headers"]),
|
|
@@ -4241,4 +4358,4 @@ function createRaindropAISDK(opts) {
|
|
|
4241
4358
|
};
|
|
4242
4359
|
}
|
|
4243
4360
|
|
|
4244
|
-
export { RaindropTelemetryIntegration, _resetWarnedMissingUserId, createRaindropAISDK, currentSpan, eventMetadata, eventMetadataFromChatRequest, getContextManager, withCurrent };
|
|
4361
|
+
export { RaindropTelemetryIntegration, _resetRaindropCallMetadataStorage, _resetWarnedMissingUserId, createRaindropAISDK, currentSpan, eventMetadata, eventMetadataFromChatRequest, getContextManager, getCurrentRaindropCallMetadata, readRaindropCallMetadataFromArgs, runWithRaindropCallMetadata, withCurrent };
|
package/dist/index.node.d.mts
CHANGED
|
@@ -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, E as EndSpanArgs, h as EventBuilder, i as EventMetadataOptions, I as IdentifyInput, R as RaindropAISDKClient, j as RaindropAISDKContext, k as RaindropAISDKOptions, l as
|
|
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, E as EndSpanArgs, h as EventBuilder, i as EventMetadataOptions, I as IdentifyInput, R as RaindropAISDKClient, j as RaindropAISDKContext, k as RaindropAISDKOptions, l as RaindropCallMetadata, m as RaindropTelemetryIntegration, n as RaindropTelemetryIntegrationOptions, S as SelfDiagnosticsOptions, o as SelfDiagnosticsSignalDefinition, p as SelfDiagnosticsSignalDefinitions, q as StartSpanArgs, T as TraceSpan, W as WrapAISDKOptions, r as WrappedAI, s as WrappedAISDK, _ as _resetRaindropCallMetadataStorage, t as _resetWarnedMissingUserId, u as createRaindropAISDK, v as currentSpan, w as eventMetadata, x as eventMetadataFromChatRequest, y as getContextManager, z as getCurrentRaindropCallMetadata, D as readRaindropCallMetadataFromArgs, F as runWithRaindropCallMetadata, G as withCurrent } from './index-7aDHuHHR.mjs';
|
|
2
2
|
|
|
3
3
|
declare global {
|
|
4
4
|
var RAINDROP_ASYNC_LOCAL_STORAGE: (new <T>() => {
|
package/dist/index.node.d.ts
CHANGED
|
@@ -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, E as EndSpanArgs, h as EventBuilder, i as EventMetadataOptions, I as IdentifyInput, R as RaindropAISDKClient, j as RaindropAISDKContext, k as RaindropAISDKOptions, l as
|
|
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, E as EndSpanArgs, h as EventBuilder, i as EventMetadataOptions, I as IdentifyInput, R as RaindropAISDKClient, j as RaindropAISDKContext, k as RaindropAISDKOptions, l as RaindropCallMetadata, m as RaindropTelemetryIntegration, n as RaindropTelemetryIntegrationOptions, S as SelfDiagnosticsOptions, o as SelfDiagnosticsSignalDefinition, p as SelfDiagnosticsSignalDefinitions, q as StartSpanArgs, T as TraceSpan, W as WrapAISDKOptions, r as WrappedAI, s as WrappedAISDK, _ as _resetRaindropCallMetadataStorage, t as _resetWarnedMissingUserId, u as createRaindropAISDK, v as currentSpan, w as eventMetadata, x as eventMetadataFromChatRequest, y as getContextManager, z as getCurrentRaindropCallMetadata, D as readRaindropCallMetadataFromArgs, F as runWithRaindropCallMetadata, G as withCurrent } from './index-7aDHuHHR.js';
|
|
2
2
|
|
|
3
3
|
declare global {
|
|
4
4
|
var RAINDROP_ASYNC_LOCAL_STORAGE: (new <T>() => {
|