UNPKG

n8n

Version:

n8n Workflow Automation Tool

48 lines 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isLangSmithEnabled = isLangSmithEnabled; exports.resolveModelIdForTelemetry = resolveModelIdForTelemetry; exports.buildBuilderTelemetry = buildBuilderTelemetry; const agents_1 = require("@n8n/agents"); const DEFAULT_PROJECT_NAME = 'agent-builder'; const UNKNOWN_MODEL_ID = 'unknown'; function isLangSmithEnabled(env = process.env) { const tracingFlag = env.LANGCHAIN_TRACING_V2 ?? env.LANGSMITH_TRACING; if (tracingFlag?.toLowerCase() === 'false') return false; return Boolean(env.LANGSMITH_API_KEY ?? env.LANGCHAIN_API_KEY); } function resolveModelIdForTelemetry(modelConfig) { if (typeof modelConfig === 'string') return modelConfig; if (typeof modelConfig === 'object' && modelConfig !== null) { const record = modelConfig; if (typeof record.id === 'string') return record.id; if (typeof record.modelId === 'string') { return typeof record.provider === 'string' ? `${record.provider}/${record.modelId}` : record.modelId; } } return UNKNOWN_MODEL_ID; } function buildBuilderTelemetry(options, env = process.env) { if (!isLangSmithEnabled(env)) return undefined; const project = env.LANGSMITH_PROJECT ?? env.LANGCHAIN_PROJECT ?? DEFAULT_PROJECT_NAME; const endpoint = env.LANGSMITH_ENDPOINT ?? env.LANGCHAIN_ENDPOINT; return new agents_1.LangSmithTelemetry({ project, ...(endpoint ? { endpoint } : {}), }) .functionId('agent-builder') .metadata({ agent_id: options.agentId, project_id: options.projectId, user_id: options.userId, thread_id: options.threadId, model_id: resolveModelIdForTelemetry(options.model), }); } //# sourceMappingURL=builder-telemetry.js.map