191 lines
7.9 KiB
JavaScript
191 lines
7.9 KiB
JavaScript
// Module ID: 953
|
|
// Function ID: 10321
|
|
// Name: createLangChainCallbackHandler
|
|
// Dependencies: []
|
|
// Exports: createLangChainCallbackHandler
|
|
|
|
// Module 953 (createLangChainCallbackHandler)
|
|
let closure_2 = require(dependencyMap[0]);
|
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
|
export const createLangChainCallbackHandler = function createLangChainCallbackHandler() {
|
|
if (arguments.length > 0) {
|
|
if (undefined !== arguments[0]) {
|
|
let first = arguments[0];
|
|
}
|
|
const recordInputs = first.recordInputs;
|
|
let closure_0 = null != recordInputs && recordInputs;
|
|
const recordOutputs = first.recordOutputs;
|
|
let closure_1 = null != recordOutputs && recordOutputs;
|
|
const _Map = Map;
|
|
const map = new Map();
|
|
let closure_2 = map;
|
|
function exitSpan(arg0) {
|
|
const value = map.get(arg0);
|
|
if (tmp) {
|
|
value.end();
|
|
map.delete(arg0);
|
|
}
|
|
}
|
|
const obj = {
|
|
lc_serializable: false,
|
|
lc_namespace: [null, null, null],
|
|
lc_secrets: undefined,
|
|
lc_attributes: undefined,
|
|
lc_aliases: undefined,
|
|
lc_serializable_keys: undefined,
|
|
lc_id: [null, null, null],
|
|
lc_kwargs: {},
|
|
name: "SentryCallbackHandler",
|
|
ignoreLLM: false,
|
|
ignoreChain: false,
|
|
ignoreAgent: false,
|
|
ignoreRetriever: false,
|
|
ignoreCustomEvent: false,
|
|
raiseError: false,
|
|
awaitHandlers: true,
|
|
handleLLMStart(arg0, arr, closure_0, arg3, arg4, invocation_params, ls_provider) {
|
|
const callback = closure_0;
|
|
let obj = callback(closure_1[1]);
|
|
const invocationParams = obj.getInvocationParams(invocation_params);
|
|
const result = callback(closure_1[1]).extractLLMRequestAttributes(arg0, arr, callback, invocationParams, ls_provider);
|
|
const obj2 = callback(closure_1[1]);
|
|
obj = { name: "" + result[closure_0(undefined, closure_1[2]).GEN_AI_OPERATION_NAME_ATTRIBUTE] + " " + result[closure_0(undefined, closure_1[2]).GEN_AI_REQUEST_MODEL_ATTRIBUTE], op: "gen_ai.pipeline", attributes: Object.assign({}, result, map({}, callback(closure_1[4]).SEMANTIC_ATTRIBUTE_SENTRY_OP, "gen_ai.pipeline")) };
|
|
callback(closure_1[3]).startSpanManual(obj, (arg0) => {
|
|
const result = closure_2.set(arg2, arg0);
|
|
return arg0;
|
|
});
|
|
},
|
|
handleChatModelStart(id, arr, closure_0, arg3, arg4, invocation_params, ls_provider) {
|
|
const callback = closure_0;
|
|
let obj = callback(closure_1[1]);
|
|
const invocationParams = obj.getInvocationParams(invocation_params);
|
|
const result = callback(closure_1[1]).extractChatModelRequestAttributes(id, arr, callback, invocationParams, ls_provider);
|
|
const obj2 = callback(closure_1[1]);
|
|
obj = { name: "" + result[closure_0(undefined, closure_1[2]).GEN_AI_OPERATION_NAME_ATTRIBUTE] + " " + result[closure_0(undefined, closure_1[2]).GEN_AI_REQUEST_MODEL_ATTRIBUTE], op: "gen_ai.chat", attributes: Object.assign({}, result, map({}, callback(closure_1[4]).SEMANTIC_ATTRIBUTE_SENTRY_OP, "gen_ai.chat")) };
|
|
callback(closure_1[3]).startSpanManual(obj, (arg0) => {
|
|
const result = closure_2.set(arg2, arg0);
|
|
return arg0;
|
|
});
|
|
},
|
|
handleLLMEnd(generations) {
|
|
const value = map.get(arg1);
|
|
if (null != value) {
|
|
if (value.isRecording()) {
|
|
const result = callback(closure_1[1]).extractLlmResponseAttributes(generations, closure_1);
|
|
if (result) {
|
|
value.setAttributes(result);
|
|
}
|
|
exitSpan(arg1);
|
|
const obj2 = callback(closure_1[1]);
|
|
}
|
|
}
|
|
},
|
|
handleLLMError(arg0, arg1) {
|
|
const value = map.get(arg1);
|
|
if (tmp) {
|
|
let obj = { code: callback(closure_1[5]).SPAN_STATUS_ERROR, message: "llm_error" };
|
|
value.setStatus(obj);
|
|
exitSpan(arg1);
|
|
}
|
|
const tmp = null != value && value.isRecording();
|
|
obj = {};
|
|
const obj3 = callback(closure_1[6]);
|
|
obj.mechanism = { handled: false, type: "" + callback(closure_1[7]).LANGCHAIN_ORIGIN + ".llm_error_handler" };
|
|
obj3.captureException(arg0, obj);
|
|
},
|
|
handleChainStart(name) {
|
|
const callback = arg2;
|
|
const tmp2 = map(map({}, callback(closure_1[4]).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, "auto.ai.langchain"), "langchain.chain.name", name.name || "unknown_chain");
|
|
if (callback) {
|
|
const _JSON = JSON;
|
|
tmp2.langchain.chain.inputs = JSON.stringify(arg1);
|
|
}
|
|
let obj = callback(closure_1[3]);
|
|
obj = { name: "chain " + tmp, op: "gen_ai.invoke_agent", attributes: Object.assign({}, tmp2, map({}, callback(closure_1[4]).SEMANTIC_ATTRIBUTE_SENTRY_OP, "gen_ai.invoke_agent")) };
|
|
obj.startSpanManual(obj, (arg0) => {
|
|
const result = closure_2.set(arg2, arg0);
|
|
return arg0;
|
|
});
|
|
},
|
|
handleChainEnd(arg0, arg1) {
|
|
const value = map.get(arg1);
|
|
if (tmp) {
|
|
if (closure_1) {
|
|
const obj = {};
|
|
const _JSON = JSON;
|
|
obj.langchain.chain.outputs = JSON.stringify(arg0);
|
|
value.setAttributes(obj);
|
|
}
|
|
exitSpan(arg1);
|
|
}
|
|
},
|
|
handleChainError(arg0, arg1) {
|
|
const value = map.get(arg1);
|
|
if (tmp) {
|
|
let obj = { code: callback(closure_1[5]).SPAN_STATUS_ERROR, message: "chain_error" };
|
|
value.setStatus(obj);
|
|
exitSpan(arg1);
|
|
}
|
|
const tmp = null != value && value.isRecording();
|
|
obj = {};
|
|
const obj3 = callback(closure_1[6]);
|
|
obj.mechanism = { handled: false, type: "" + callback(closure_1[7]).LANGCHAIN_ORIGIN + ".chain_error_handler" };
|
|
obj3.captureException(arg0, obj);
|
|
},
|
|
handleToolStart(name, gen_ai.tool.input) {
|
|
const callback = arg2;
|
|
const tmp2 = map(map({}, callback(closure_1[4]).SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, callback(closure_1[7]).LANGCHAIN_ORIGIN), "gen_ai.tool.name", name.name || "unknown_tool");
|
|
if (callback) {
|
|
tmp2.gen_ai.tool.input = gen_ai_tool_input;
|
|
}
|
|
let obj = callback(closure_1[3]);
|
|
obj = { name: "execute_tool " + tmp, op: "gen_ai.execute_tool", attributes: Object.assign({}, tmp2, map({}, callback(closure_1[4]).SEMANTIC_ATTRIBUTE_SENTRY_OP, "gen_ai.execute_tool")) };
|
|
obj.startSpanManual(obj, (arg0) => {
|
|
const result = closure_2.set(arg2, arg0);
|
|
return arg0;
|
|
});
|
|
},
|
|
handleToolEnd(arg0, arg1) {
|
|
const value = map.get(arg1);
|
|
if (tmp) {
|
|
if (closure_1) {
|
|
const obj = {};
|
|
const _JSON = JSON;
|
|
obj.gen_ai.tool.output = JSON.stringify(arg0);
|
|
value.setAttributes(obj);
|
|
}
|
|
exitSpan(arg1);
|
|
}
|
|
},
|
|
handleToolError(arg0, arg1) {
|
|
const value = map.get(arg1);
|
|
if (tmp) {
|
|
let obj = { code: callback(closure_1[5]).SPAN_STATUS_ERROR, message: "tool_error" };
|
|
value.setStatus(obj);
|
|
exitSpan(arg1);
|
|
}
|
|
const tmp = null != value && value.isRecording();
|
|
obj = {};
|
|
const obj3 = callback(closure_1[6]);
|
|
obj.mechanism = { handled: false, type: "" + callback(closure_1[7]).LANGCHAIN_ORIGIN + ".tool_error_handler" };
|
|
obj3.captureException(arg0, obj);
|
|
},
|
|
copy() {
|
|
return obj;
|
|
},
|
|
toJSON() {
|
|
const obj = { "Bool(false)": "ktz", "Bool(false)": "av" };
|
|
obj.id = obj.lc_id;
|
|
return obj;
|
|
},
|
|
toJSONNotImplemented() {
|
|
const obj = { "Bool(false)": "ktz", "Bool(false)": "av" };
|
|
obj.id = obj.lc_id;
|
|
return obj;
|
|
}
|
|
};
|
|
return obj;
|
|
}
|
|
first = {};
|
|
};
|