@sentry/node
Version:
Sentry Node SDK using OpenTelemetry for performance instrumentation
32 lines (28 loc) • 1.13 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const core = require('@sentry/core');
const serverUtils = require('@sentry/server-utils');
const index = require('./sdk/index.js');
function eveInstrumentation(options = {}) {
const { getConversationId, ...initOptions } = options;
const setConversationIdFromSession = (sessionId) => {
core.setConversationId(getConversationId ? getConversationId({ session: { id: sessionId } }) : sessionId);
};
return {
setup() {
index.init({ ...initOptions, integrations: withEveIntegration(initOptions.integrations) });
},
events: {
"turn.started": (event) => setConversationIdFromSession(event.sessionId),
"step.attempt.started": (event) => setConversationIdFromSession(event.scope.sessionId)
}
};
}
function withEveIntegration(integrations) {
const eve = serverUtils.eveIntegration();
if (typeof integrations === "function") {
return (defaults) => [...integrations(defaults), eve];
}
return [...integrations ?? [], eve];
}
exports.eveInstrumentation = eveInstrumentation;
//# sourceMappingURL=eve.js.map