newrelic
Version:
New Relic agent
26 lines (21 loc) • 695 B
JavaScript
/*
* Copyright 2025 New Relic Corporation. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
const Subscriber = require('../base')
const { langchainRunId } = require('../../symbols')
class LangchainCallbackManagerSubscriber extends Subscriber {
constructor({ agent, logger, channelName = 'nr_handleToolStart' }) {
super({ agent, logger, packageName: '@langchain/core', channelName })
this.events = ['asyncEnd']
}
asyncEnd(data) {
const { result } = data
const ctx = this.agent.tracer.getContext()
const { segment } = ctx
if (segment) {
segment[langchainRunId] = result?.runId
}
}
}
module.exports = LangchainCallbackManagerSubscriber