braintrust 3.27.0 → 3.29.0
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 +1 -1
- package/dev/dist/index.d.mts +879 -197
- package/dev/dist/index.d.ts +879 -197
- package/dev/dist/index.js +2960 -1865
- package/dev/dist/index.mjs +2217 -1122
- package/dist/apply-auto-instrumentation.js +345 -260
- package/dist/apply-auto-instrumentation.mjs +137 -52
- package/dist/auto-instrumentations/bundler/esbuild.cjs +124 -7
- package/dist/auto-instrumentations/bundler/esbuild.mjs +2 -2
- package/dist/auto-instrumentations/bundler/next.cjs +124 -7
- package/dist/auto-instrumentations/bundler/next.mjs +3 -3
- package/dist/auto-instrumentations/bundler/rollup.cjs +124 -7
- package/dist/auto-instrumentations/bundler/rollup.mjs +2 -2
- package/dist/auto-instrumentations/bundler/vite.cjs +124 -7
- package/dist/auto-instrumentations/bundler/vite.mjs +2 -2
- package/dist/auto-instrumentations/bundler/webpack-loader.cjs +124 -7
- package/dist/auto-instrumentations/bundler/webpack.cjs +124 -7
- package/dist/auto-instrumentations/bundler/webpack.mjs +3 -3
- package/dist/auto-instrumentations/{chunk-ZNHTSSGI.mjs → chunk-AOIYCVEL.mjs} +34 -3
- package/dist/auto-instrumentations/{chunk-XEYKUBLY.mjs → chunk-DKTGDNA7.mjs} +91 -5
- package/dist/auto-instrumentations/{chunk-BW33ULMW.mjs → chunk-OMCZ3MV2.mjs} +1 -1
- package/dist/auto-instrumentations/hook.mjs +1186 -161
- package/dist/auto-instrumentations/index.cjs +34 -3
- package/dist/auto-instrumentations/index.mjs +1 -1
- package/dist/browser.d.mts +1388 -75
- package/dist/browser.d.ts +1388 -75
- package/dist/browser.js +3954 -1124
- package/dist/browser.mjs +3954 -1124
- package/dist/{chunk-MF7NU6BT.js → chunk-6Z5S7VOU.js} +175 -25
- package/dist/{chunk-CZM5JIQL.mjs → chunk-7FA6VP2S.mjs} +172 -22
- package/dist/{chunk-YKD22IMR.mjs → chunk-M6XPNJC4.mjs} +2102 -1113
- package/dist/{chunk-QRHGVBKU.js → chunk-XLLGRXGR.js} +3273 -2284
- package/dist/cli.js +6353 -1483
- package/dist/edge-light.d.mts +1 -1
- package/dist/edge-light.d.ts +1 -1
- package/dist/edge-light.js +3954 -1124
- package/dist/edge-light.mjs +3954 -1124
- package/dist/index.d.mts +1972 -659
- package/dist/index.d.ts +1972 -659
- package/dist/index.js +2453 -676
- package/dist/index.mjs +1973 -196
- package/dist/instrumentation/index.d.mts +738 -15
- package/dist/instrumentation/index.d.ts +738 -15
- package/dist/instrumentation/index.js +2791 -874
- package/dist/instrumentation/index.mjs +2791 -874
- package/dist/vitest-evals-reporter.js +16 -16
- package/dist/vitest-evals-reporter.mjs +2 -2
- package/dist/workerd.d.mts +1 -1
- package/dist/workerd.d.ts +1 -1
- package/dist/workerd.js +3954 -1124
- package/dist/workerd.mjs +3954 -1124
- package/package.json +2 -3
- package/util/dist/index.d.mts +1596 -109
- package/util/dist/index.d.ts +1596 -109
|
@@ -659,8 +659,6 @@ function newGlobalTracingChannel(nameOrChannels) {
|
|
|
659
659
|
var DefaultAsyncLocalStorage = class {
|
|
660
660
|
constructor() {
|
|
661
661
|
}
|
|
662
|
-
enterWith(_) {
|
|
663
|
-
}
|
|
664
662
|
run(_, callback) {
|
|
665
663
|
return callback();
|
|
666
664
|
}
|
|
@@ -687,6 +685,118 @@ var iso = {
|
|
|
687
685
|
};
|
|
688
686
|
var isomorph_default = iso;
|
|
689
687
|
|
|
688
|
+
// src/debug-logger.ts
|
|
689
|
+
var PREFIX = "[braintrust]";
|
|
690
|
+
var DEBUG_LOG_LEVEL_SYMBOL = /* @__PURE__ */ Symbol.for("braintrust-debug-log-level");
|
|
691
|
+
var LOG_LEVEL_PRIORITY = {
|
|
692
|
+
error: 0,
|
|
693
|
+
warn: 1,
|
|
694
|
+
info: 2,
|
|
695
|
+
debug: 3
|
|
696
|
+
};
|
|
697
|
+
var hasWarnedAboutInvalidEnvValue = false;
|
|
698
|
+
var debugLogStateResolver = void 0;
|
|
699
|
+
function warnInvalidEnvValue(value) {
|
|
700
|
+
if (hasWarnedAboutInvalidEnvValue) {
|
|
701
|
+
return;
|
|
702
|
+
}
|
|
703
|
+
hasWarnedAboutInvalidEnvValue = true;
|
|
704
|
+
console.warn(
|
|
705
|
+
PREFIX,
|
|
706
|
+
`Invalid BRAINTRUST_DEBUG_LOG_LEVEL value "${value}". Expected "error", "warn", "info", or "debug".`
|
|
707
|
+
);
|
|
708
|
+
}
|
|
709
|
+
function normalizeDebugLogLevelOption(option) {
|
|
710
|
+
if (option === false) {
|
|
711
|
+
return void 0;
|
|
712
|
+
}
|
|
713
|
+
if (option === "error" || option === "warn" || option === "info" || option === "debug") {
|
|
714
|
+
return option;
|
|
715
|
+
}
|
|
716
|
+
throw new Error(
|
|
717
|
+
`Invalid debugLogLevel value "${option}". Expected false, "error", "warn", "info", or "debug".`
|
|
718
|
+
);
|
|
719
|
+
}
|
|
720
|
+
function parseDebugLogLevelEnv(value) {
|
|
721
|
+
if (!value) {
|
|
722
|
+
return void 0;
|
|
723
|
+
}
|
|
724
|
+
if (value === "error" || value === "warn" || value === "info" || value === "debug") {
|
|
725
|
+
return value;
|
|
726
|
+
}
|
|
727
|
+
warnInvalidEnvValue(value);
|
|
728
|
+
return void 0;
|
|
729
|
+
}
|
|
730
|
+
function getEnvDebugLogLevel() {
|
|
731
|
+
return parseDebugLogLevelEnv(isomorph_default.getEnv("BRAINTRUST_DEBUG_LOG_LEVEL"));
|
|
732
|
+
}
|
|
733
|
+
function setGlobalDebugLogLevel(level) {
|
|
734
|
+
globalThis[DEBUG_LOG_LEVEL_SYMBOL] = level;
|
|
735
|
+
}
|
|
736
|
+
function resetDebugLoggerForTests() {
|
|
737
|
+
hasWarnedAboutInvalidEnvValue = false;
|
|
738
|
+
setGlobalDebugLogLevel(void 0);
|
|
739
|
+
}
|
|
740
|
+
function setDebugLogStateResolver(resolver) {
|
|
741
|
+
debugLogStateResolver = resolver;
|
|
742
|
+
}
|
|
743
|
+
function resolveDebugLogLevel(state) {
|
|
744
|
+
const stateLevel = _optionalChain([state, 'optionalAccess', _3 => _3.getDebugLogLevel, 'optionalCall', _4 => _4()]);
|
|
745
|
+
const hasStateOverride = _nullishCoalesce(_optionalChain([state, 'optionalAccess', _5 => _5.hasDebugLogLevelOverride, 'optionalCall', _6 => _6()]), () => ( false));
|
|
746
|
+
if (hasStateOverride) {
|
|
747
|
+
return stateLevel;
|
|
748
|
+
}
|
|
749
|
+
const globalLevel = (
|
|
750
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
751
|
+
globalThis[DEBUG_LOG_LEVEL_SYMBOL]
|
|
752
|
+
);
|
|
753
|
+
if (globalLevel !== void 0) {
|
|
754
|
+
return globalLevel === false ? void 0 : globalLevel;
|
|
755
|
+
}
|
|
756
|
+
return getEnvDebugLogLevel();
|
|
757
|
+
}
|
|
758
|
+
function emit(method, state, args) {
|
|
759
|
+
const level = resolveDebugLogLevel(state);
|
|
760
|
+
if (!level || LOG_LEVEL_PRIORITY[method] > LOG_LEVEL_PRIORITY[level]) {
|
|
761
|
+
return;
|
|
762
|
+
}
|
|
763
|
+
if (method === "info") {
|
|
764
|
+
console.log(PREFIX, ...args);
|
|
765
|
+
} else if (method === "debug") {
|
|
766
|
+
console.debug(PREFIX, ...args);
|
|
767
|
+
} else if (method === "warn") {
|
|
768
|
+
console.warn(PREFIX, ...args);
|
|
769
|
+
} else {
|
|
770
|
+
console.error(PREFIX, ...args);
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
function createDebugLogger(state) {
|
|
774
|
+
const resolveState = () => _nullishCoalesce(state, () => ( _optionalChain([debugLogStateResolver, 'optionalCall', _7 => _7()])));
|
|
775
|
+
return {
|
|
776
|
+
info(...args) {
|
|
777
|
+
emit("info", resolveState(), args);
|
|
778
|
+
},
|
|
779
|
+
debug(...args) {
|
|
780
|
+
emit("debug", resolveState(), args);
|
|
781
|
+
},
|
|
782
|
+
warn(...args) {
|
|
783
|
+
emit("warn", resolveState(), args);
|
|
784
|
+
},
|
|
785
|
+
error(...args) {
|
|
786
|
+
emit("error", resolveState(), args);
|
|
787
|
+
}
|
|
788
|
+
};
|
|
789
|
+
}
|
|
790
|
+
var debugLogger = {
|
|
791
|
+
...createDebugLogger(),
|
|
792
|
+
forState(state) {
|
|
793
|
+
return createDebugLogger(state);
|
|
794
|
+
}
|
|
795
|
+
};
|
|
796
|
+
setGlobalHookErrorReporter((error) => {
|
|
797
|
+
debugLogger.error("Global instrumentation hook error:", error);
|
|
798
|
+
});
|
|
799
|
+
|
|
690
800
|
// src/span-origin.ts
|
|
691
801
|
var INSTRUMENTATION_NAMES = {
|
|
692
802
|
AI_SDK: "ai-sdk",
|
|
@@ -699,6 +809,7 @@ var INSTRUMENTATION_NAMES = {
|
|
|
699
809
|
CLOUDFLARE_THINK: "cloudflare-think",
|
|
700
810
|
COHERE: "cohere",
|
|
701
811
|
CURSOR_SDK: "cursor-sdk",
|
|
812
|
+
DEEPSEEK_HARNESS: "deepseek-harness",
|
|
702
813
|
EVE: "eve",
|
|
703
814
|
FLUE: "flue",
|
|
704
815
|
GENKIT: "genkit",
|
|
@@ -718,12 +829,13 @@ var INSTRUMENTATION_NAMES = {
|
|
|
718
829
|
OPENROUTER: "openrouter",
|
|
719
830
|
OPENROUTER_AGENT: "openrouter-agent",
|
|
720
831
|
PI_CODING_AGENT: "pi-coding-agent",
|
|
721
|
-
STRANDS_AGENT_SDK: "strands-agent-sdk"
|
|
832
|
+
STRANDS_AGENT_SDK: "strands-agent-sdk",
|
|
833
|
+
VOYAGEAI: "voyageai"
|
|
722
834
|
};
|
|
723
835
|
var INTERNAL_SPAN_INSTRUMENTATION_NAME = /* @__PURE__ */ Symbol.for(
|
|
724
836
|
"braintrust.spanInstrumentationName"
|
|
725
837
|
);
|
|
726
|
-
var SDK_VERSION = true ? "3.
|
|
838
|
+
var SDK_VERSION = true ? "3.29.0" : "0.0.0";
|
|
727
839
|
function withSpanInstrumentationName(args, instrumentationName) {
|
|
728
840
|
return {
|
|
729
841
|
...args,
|
|
@@ -770,10 +882,10 @@ function detectSpanOriginEnvironment(explicit) {
|
|
|
770
882
|
return { type: "server", name: "ecs" };
|
|
771
883
|
}
|
|
772
884
|
const awsExecutionEnv = isomorph_default.getEnv("AWS_EXECUTION_ENV");
|
|
773
|
-
if (_optionalChain([awsExecutionEnv, 'optionalAccess',
|
|
885
|
+
if (_optionalChain([awsExecutionEnv, 'optionalAccess', _8 => _8.startsWith, 'call', _9 => _9("AWS_ECS_")])) {
|
|
774
886
|
return { type: "server", name: "ecs" };
|
|
775
887
|
}
|
|
776
|
-
if (_optionalChain([awsExecutionEnv, 'optionalAccess',
|
|
888
|
+
if (_optionalChain([awsExecutionEnv, 'optionalAccess', _10 => _10.startsWith, 'call', _11 => _11("AWS_Lambda_")])) {
|
|
777
889
|
return { type: "server", name: "aws_lambda" };
|
|
778
890
|
}
|
|
779
891
|
if (isomorph_default.getEnv("AWS_LAMBDA_FUNCTION_NAME")) {
|
|
@@ -812,7 +924,7 @@ function isSpanInstrumentationName(value) {
|
|
|
812
924
|
return Object.values(INSTRUMENTATION_NAMES).some((name) => name === value);
|
|
813
925
|
}
|
|
814
926
|
function firstPresent(entries) {
|
|
815
|
-
return _optionalChain([entries, 'access',
|
|
927
|
+
return _optionalChain([entries, 'access', _12 => _12.find, 'call', _13 => _13(([key]) => Boolean(isomorph_default.getEnv(key))), 'optionalAccess', _14 => _14[1]]);
|
|
816
928
|
}
|
|
817
929
|
function deploymentModeEnvironment(_key, value) {
|
|
818
930
|
if (!value) return void 0;
|
|
@@ -994,6 +1106,10 @@ var aiSDKChannels = defineChannels(
|
|
|
994
1106
|
channelName: "generateText",
|
|
995
1107
|
kind: "async"
|
|
996
1108
|
}),
|
|
1109
|
+
generateImage: channel({
|
|
1110
|
+
channelName: "generateImage",
|
|
1111
|
+
kind: "async"
|
|
1112
|
+
}),
|
|
997
1113
|
streamText: channel({
|
|
998
1114
|
channelName: "streamText",
|
|
999
1115
|
kind: "async"
|
|
@@ -1565,6 +1681,30 @@ var strandsAgentSDKChannels = defineChannels(
|
|
|
1565
1681
|
{ instrumentationName: INSTRUMENTATION_NAMES.STRANDS_AGENT_SDK }
|
|
1566
1682
|
);
|
|
1567
1683
|
|
|
1684
|
+
// src/instrumentation/plugins/voyageai-channels.ts
|
|
1685
|
+
var voyageAIChannels = defineChannels(
|
|
1686
|
+
"voyageai",
|
|
1687
|
+
{
|
|
1688
|
+
embed: channel({
|
|
1689
|
+
channelName: "embed",
|
|
1690
|
+
kind: "async"
|
|
1691
|
+
}),
|
|
1692
|
+
multimodalEmbed: channel({
|
|
1693
|
+
channelName: "multimodalEmbed",
|
|
1694
|
+
kind: "async"
|
|
1695
|
+
}),
|
|
1696
|
+
rerank: channel({
|
|
1697
|
+
channelName: "rerank",
|
|
1698
|
+
kind: "async"
|
|
1699
|
+
}),
|
|
1700
|
+
contextualizedEmbed: channel({
|
|
1701
|
+
channelName: "contextualizedEmbed",
|
|
1702
|
+
kind: "async"
|
|
1703
|
+
})
|
|
1704
|
+
},
|
|
1705
|
+
{ instrumentationName: INSTRUMENTATION_NAMES.VOYAGEAI }
|
|
1706
|
+
);
|
|
1707
|
+
|
|
1568
1708
|
// src/instrumentation/plugins/cloudflare-agents-channels.ts
|
|
1569
1709
|
var cloudflareAgentsChannels = defineChannels(
|
|
1570
1710
|
"agents",
|
|
@@ -1649,7 +1789,10 @@ var envIntegrationAliases = {
|
|
|
1649
1789
|
"langchain-js": "langchain",
|
|
1650
1790
|
"@langchain": "langchain",
|
|
1651
1791
|
langgraph: "langgraph",
|
|
1652
|
-
langsmith: "langsmith"
|
|
1792
|
+
langsmith: "langsmith",
|
|
1793
|
+
voyage: "voyageai",
|
|
1794
|
+
"voyage-ai": "voyageai",
|
|
1795
|
+
voyageai: "voyageai"
|
|
1653
1796
|
};
|
|
1654
1797
|
function getDefaultInstrumentationIntegrations() {
|
|
1655
1798
|
return {
|
|
@@ -1684,6 +1827,7 @@ function getDefaultInstrumentationIntegrations() {
|
|
|
1684
1827
|
langchain: true,
|
|
1685
1828
|
langgraph: true,
|
|
1686
1829
|
langsmith: true,
|
|
1830
|
+
voyageai: true,
|
|
1687
1831
|
piCodingAgent: true,
|
|
1688
1832
|
strandsAgentSDK: true,
|
|
1689
1833
|
cloudflareAgents: true
|
|
@@ -1703,7 +1847,7 @@ function readDisabledInstrumentationEnvConfig(disabledList) {
|
|
|
1703
1847
|
return { integrations };
|
|
1704
1848
|
}
|
|
1705
1849
|
function isInstrumentationIntegrationDisabled(integrations, ...names) {
|
|
1706
|
-
return names.some((name) => _optionalChain([integrations, 'optionalAccess',
|
|
1850
|
+
return names.some((name) => _optionalChain([integrations, 'optionalAccess', _15 => _15[name]]) === false);
|
|
1707
1851
|
}
|
|
1708
1852
|
|
|
1709
1853
|
// src/auto-instrumentations/loader/mastra-observability-patch.ts
|
|
@@ -1879,6 +2023,22 @@ function patchMastraSource(source, target, format) {
|
|
|
1879
2023
|
return source + OBSERVABILITY_APPEND_BODY;
|
|
1880
2024
|
}
|
|
1881
2025
|
|
|
2026
|
+
// src/instrumentation/plugins/cloudflare-ai-chat-channels.ts
|
|
2027
|
+
var cloudflareAIChatChannels = defineChannels(
|
|
2028
|
+
"@cloudflare/ai-chat",
|
|
2029
|
+
{
|
|
2030
|
+
runExclusiveChatTurn: channel({
|
|
2031
|
+
channelName: "AIChatAgent._runExclusiveChatTurn",
|
|
2032
|
+
kind: "async"
|
|
2033
|
+
}),
|
|
2034
|
+
onChatResponse: channel({
|
|
2035
|
+
channelName: "AIChatAgent.onChatResponse",
|
|
2036
|
+
kind: "sync-stream"
|
|
2037
|
+
})
|
|
2038
|
+
},
|
|
2039
|
+
{ instrumentationName: INSTRUMENTATION_NAMES.CLOUDFLARE_AI_CHAT }
|
|
2040
|
+
);
|
|
2041
|
+
|
|
1882
2042
|
// src/instrumentation/plugins/openai-agents-channels.ts
|
|
1883
2043
|
var openAIAgentsCoreChannels = defineChannels(
|
|
1884
2044
|
"@openai/agents-core",
|
|
@@ -1919,21 +2079,6 @@ var langChainChannels = defineChannels(
|
|
|
1919
2079
|
{ instrumentationName: INSTRUMENTATION_NAMES.LANGCHAIN }
|
|
1920
2080
|
);
|
|
1921
2081
|
|
|
1922
|
-
// src/instrumentation/plugins/cloudflare-ai-chat-channels.ts
|
|
1923
|
-
var cloudflareAIChatChannels = defineChannels(
|
|
1924
|
-
"@cloudflare/ai-chat",
|
|
1925
|
-
{
|
|
1926
|
-
runExclusiveChatTurn: channel({
|
|
1927
|
-
channelName: "AIChatAgent._runExclusiveChatTurn",
|
|
1928
|
-
kind: "async"
|
|
1929
|
-
}),
|
|
1930
|
-
onChatResponse: channel({
|
|
1931
|
-
channelName: "AIChatAgent.onChatResponse",
|
|
1932
|
-
kind: "sync-stream"
|
|
1933
|
-
})
|
|
1934
|
-
},
|
|
1935
|
-
{ instrumentationName: INSTRUMENTATION_NAMES.CLOUDFLARE_AI_CHAT }
|
|
1936
|
-
);
|
|
1937
2082
|
|
|
1938
2083
|
|
|
1939
2084
|
|
|
@@ -1989,4 +2134,9 @@ var cloudflareAIChatChannels = defineChannels(
|
|
|
1989
2134
|
|
|
1990
2135
|
|
|
1991
2136
|
|
|
1992
|
-
|
|
2137
|
+
|
|
2138
|
+
|
|
2139
|
+
|
|
2140
|
+
|
|
2141
|
+
|
|
2142
|
+
exports.__export = __export; exports.GLOBAL_INSTRUMENTATION_HOOKS_KEY = GLOBAL_INSTRUMENTATION_HOOKS_KEY; exports.GLOBAL_INSTRUMENTATION_HOOKS_PROTOCOL_VERSION = GLOBAL_INSTRUMENTATION_HOOKS_PROTOCOL_VERSION; exports.GLOBAL_INSTRUMENTATION_HOOKS_REGISTRY_BRAND = GLOBAL_INSTRUMENTATION_HOOKS_REGISTRY_BRAND; exports.GLOBAL_INSTRUMENTATION_HOOK_BRAND = GLOBAL_INSTRUMENTATION_HOOK_BRAND; exports.isomorph_default = isomorph_default; exports.normalizeDebugLogLevelOption = normalizeDebugLogLevelOption; exports.getEnvDebugLogLevel = getEnvDebugLogLevel; exports.setGlobalDebugLogLevel = setGlobalDebugLogLevel; exports.resetDebugLoggerForTests = resetDebugLoggerForTests; exports.setDebugLogStateResolver = setDebugLogStateResolver; exports.debugLogger = debugLogger; exports.INSTRUMENTATION_NAMES = INSTRUMENTATION_NAMES; exports.withSpanInstrumentationName = withSpanInstrumentationName; exports.getSpanInstrumentationName = getSpanInstrumentationName; exports.detectSpanOriginEnvironment = detectSpanOriginEnvironment; exports.mergeSpanOriginContext = mergeSpanOriginContext; exports.openAIChannels = openAIChannels; exports.openAICodexChannels = openAICodexChannels; exports.anthropicChannels = anthropicChannels; exports.aiSDKChannels = aiSDKChannels; exports.harnessAgentChannels = harnessAgentChannels; exports.claudeAgentSDKChannels = claudeAgentSDKChannels; exports.cloudflareThinkChannels = cloudflareThinkChannels; exports.cursorSDKChannels = cursorSDKChannels; exports.openAIAgentsCoreChannels = openAIAgentsCoreChannels; exports.googleGenAIChannels = googleGenAIChannels; exports.huggingFaceChannels = huggingFaceChannels; exports.isSupportedHuggingFaceTransformersTask = isSupportedHuggingFaceTransformersTask; exports.registerHuggingFaceTransformersPipeline = registerHuggingFaceTransformersPipeline; exports.getHuggingFaceTransformersPipelineInfo = getHuggingFaceTransformersPipelineInfo; exports.huggingFaceTransformersChannels = huggingFaceTransformersChannels; exports.openRouterAgentChannels = openRouterAgentChannels; exports.openRouterChannels = openRouterChannels; exports.mistralChannels = mistralChannels; exports.ollamaChannels = ollamaChannels; exports.googleADKChannels = googleADKChannels; exports.cohereChannels = cohereChannels; exports.groqChannels = groqChannels; exports.bedrockRuntimeChannels = bedrockRuntimeChannels; exports.smithyCoreChannels = smithyCoreChannels; exports.smithyClientChannels = smithyClientChannels; exports.genkitChannels = genkitChannels; exports.genkitCoreChannels = genkitCoreChannels; exports.gitHubCopilotChannels = gitHubCopilotChannels; exports.flueChannels = flueChannels; exports.langChainChannels = langChainChannels; exports.langSmithChannels = langSmithChannels; exports.piCodingAgentChannels = piCodingAgentChannels; exports.strandsAgentSDKChannels = strandsAgentSDKChannels; exports.voyageAIChannels = voyageAIChannels; exports.cloudflareAIChatChannels = cloudflareAIChatChannels; exports.cloudflareAgentsChannels = cloudflareAgentsChannels; exports.getDefaultInstrumentationIntegrations = getDefaultInstrumentationIntegrations; exports.readDisabledInstrumentationEnvConfig = readDisabledInstrumentationEnvConfig; exports.isInstrumentationIntegrationDisabled = isInstrumentationIntegrationDisabled; exports.installMastraExporterFactory = installMastraExporterFactory; exports.classifyMastraTarget = classifyMastraTarget; exports.patchMastraSource = patchMastraSource;
|
|
@@ -659,8 +659,6 @@ function newGlobalTracingChannel(nameOrChannels) {
|
|
|
659
659
|
var DefaultAsyncLocalStorage = class {
|
|
660
660
|
constructor() {
|
|
661
661
|
}
|
|
662
|
-
enterWith(_) {
|
|
663
|
-
}
|
|
664
662
|
run(_, callback) {
|
|
665
663
|
return callback();
|
|
666
664
|
}
|
|
@@ -687,6 +685,118 @@ var iso = {
|
|
|
687
685
|
};
|
|
688
686
|
var isomorph_default = iso;
|
|
689
687
|
|
|
688
|
+
// src/debug-logger.ts
|
|
689
|
+
var PREFIX = "[braintrust]";
|
|
690
|
+
var DEBUG_LOG_LEVEL_SYMBOL = /* @__PURE__ */ Symbol.for("braintrust-debug-log-level");
|
|
691
|
+
var LOG_LEVEL_PRIORITY = {
|
|
692
|
+
error: 0,
|
|
693
|
+
warn: 1,
|
|
694
|
+
info: 2,
|
|
695
|
+
debug: 3
|
|
696
|
+
};
|
|
697
|
+
var hasWarnedAboutInvalidEnvValue = false;
|
|
698
|
+
var debugLogStateResolver = void 0;
|
|
699
|
+
function warnInvalidEnvValue(value) {
|
|
700
|
+
if (hasWarnedAboutInvalidEnvValue) {
|
|
701
|
+
return;
|
|
702
|
+
}
|
|
703
|
+
hasWarnedAboutInvalidEnvValue = true;
|
|
704
|
+
console.warn(
|
|
705
|
+
PREFIX,
|
|
706
|
+
`Invalid BRAINTRUST_DEBUG_LOG_LEVEL value "${value}". Expected "error", "warn", "info", or "debug".`
|
|
707
|
+
);
|
|
708
|
+
}
|
|
709
|
+
function normalizeDebugLogLevelOption(option) {
|
|
710
|
+
if (option === false) {
|
|
711
|
+
return void 0;
|
|
712
|
+
}
|
|
713
|
+
if (option === "error" || option === "warn" || option === "info" || option === "debug") {
|
|
714
|
+
return option;
|
|
715
|
+
}
|
|
716
|
+
throw new Error(
|
|
717
|
+
`Invalid debugLogLevel value "${option}". Expected false, "error", "warn", "info", or "debug".`
|
|
718
|
+
);
|
|
719
|
+
}
|
|
720
|
+
function parseDebugLogLevelEnv(value) {
|
|
721
|
+
if (!value) {
|
|
722
|
+
return void 0;
|
|
723
|
+
}
|
|
724
|
+
if (value === "error" || value === "warn" || value === "info" || value === "debug") {
|
|
725
|
+
return value;
|
|
726
|
+
}
|
|
727
|
+
warnInvalidEnvValue(value);
|
|
728
|
+
return void 0;
|
|
729
|
+
}
|
|
730
|
+
function getEnvDebugLogLevel() {
|
|
731
|
+
return parseDebugLogLevelEnv(isomorph_default.getEnv("BRAINTRUST_DEBUG_LOG_LEVEL"));
|
|
732
|
+
}
|
|
733
|
+
function setGlobalDebugLogLevel(level) {
|
|
734
|
+
globalThis[DEBUG_LOG_LEVEL_SYMBOL] = level;
|
|
735
|
+
}
|
|
736
|
+
function resetDebugLoggerForTests() {
|
|
737
|
+
hasWarnedAboutInvalidEnvValue = false;
|
|
738
|
+
setGlobalDebugLogLevel(void 0);
|
|
739
|
+
}
|
|
740
|
+
function setDebugLogStateResolver(resolver) {
|
|
741
|
+
debugLogStateResolver = resolver;
|
|
742
|
+
}
|
|
743
|
+
function resolveDebugLogLevel(state) {
|
|
744
|
+
const stateLevel = state?.getDebugLogLevel?.();
|
|
745
|
+
const hasStateOverride = state?.hasDebugLogLevelOverride?.() ?? false;
|
|
746
|
+
if (hasStateOverride) {
|
|
747
|
+
return stateLevel;
|
|
748
|
+
}
|
|
749
|
+
const globalLevel = (
|
|
750
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
751
|
+
globalThis[DEBUG_LOG_LEVEL_SYMBOL]
|
|
752
|
+
);
|
|
753
|
+
if (globalLevel !== void 0) {
|
|
754
|
+
return globalLevel === false ? void 0 : globalLevel;
|
|
755
|
+
}
|
|
756
|
+
return getEnvDebugLogLevel();
|
|
757
|
+
}
|
|
758
|
+
function emit(method, state, args) {
|
|
759
|
+
const level = resolveDebugLogLevel(state);
|
|
760
|
+
if (!level || LOG_LEVEL_PRIORITY[method] > LOG_LEVEL_PRIORITY[level]) {
|
|
761
|
+
return;
|
|
762
|
+
}
|
|
763
|
+
if (method === "info") {
|
|
764
|
+
console.log(PREFIX, ...args);
|
|
765
|
+
} else if (method === "debug") {
|
|
766
|
+
console.debug(PREFIX, ...args);
|
|
767
|
+
} else if (method === "warn") {
|
|
768
|
+
console.warn(PREFIX, ...args);
|
|
769
|
+
} else {
|
|
770
|
+
console.error(PREFIX, ...args);
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
function createDebugLogger(state) {
|
|
774
|
+
const resolveState = () => state ?? debugLogStateResolver?.();
|
|
775
|
+
return {
|
|
776
|
+
info(...args) {
|
|
777
|
+
emit("info", resolveState(), args);
|
|
778
|
+
},
|
|
779
|
+
debug(...args) {
|
|
780
|
+
emit("debug", resolveState(), args);
|
|
781
|
+
},
|
|
782
|
+
warn(...args) {
|
|
783
|
+
emit("warn", resolveState(), args);
|
|
784
|
+
},
|
|
785
|
+
error(...args) {
|
|
786
|
+
emit("error", resolveState(), args);
|
|
787
|
+
}
|
|
788
|
+
};
|
|
789
|
+
}
|
|
790
|
+
var debugLogger = {
|
|
791
|
+
...createDebugLogger(),
|
|
792
|
+
forState(state) {
|
|
793
|
+
return createDebugLogger(state);
|
|
794
|
+
}
|
|
795
|
+
};
|
|
796
|
+
setGlobalHookErrorReporter((error) => {
|
|
797
|
+
debugLogger.error("Global instrumentation hook error:", error);
|
|
798
|
+
});
|
|
799
|
+
|
|
690
800
|
// src/span-origin.ts
|
|
691
801
|
var INSTRUMENTATION_NAMES = {
|
|
692
802
|
AI_SDK: "ai-sdk",
|
|
@@ -699,6 +809,7 @@ var INSTRUMENTATION_NAMES = {
|
|
|
699
809
|
CLOUDFLARE_THINK: "cloudflare-think",
|
|
700
810
|
COHERE: "cohere",
|
|
701
811
|
CURSOR_SDK: "cursor-sdk",
|
|
812
|
+
DEEPSEEK_HARNESS: "deepseek-harness",
|
|
702
813
|
EVE: "eve",
|
|
703
814
|
FLUE: "flue",
|
|
704
815
|
GENKIT: "genkit",
|
|
@@ -718,12 +829,13 @@ var INSTRUMENTATION_NAMES = {
|
|
|
718
829
|
OPENROUTER: "openrouter",
|
|
719
830
|
OPENROUTER_AGENT: "openrouter-agent",
|
|
720
831
|
PI_CODING_AGENT: "pi-coding-agent",
|
|
721
|
-
STRANDS_AGENT_SDK: "strands-agent-sdk"
|
|
832
|
+
STRANDS_AGENT_SDK: "strands-agent-sdk",
|
|
833
|
+
VOYAGEAI: "voyageai"
|
|
722
834
|
};
|
|
723
835
|
var INTERNAL_SPAN_INSTRUMENTATION_NAME = /* @__PURE__ */ Symbol.for(
|
|
724
836
|
"braintrust.spanInstrumentationName"
|
|
725
837
|
);
|
|
726
|
-
var SDK_VERSION = true ? "3.
|
|
838
|
+
var SDK_VERSION = true ? "3.29.0" : "0.0.0";
|
|
727
839
|
function withSpanInstrumentationName(args, instrumentationName) {
|
|
728
840
|
return {
|
|
729
841
|
...args,
|
|
@@ -994,6 +1106,10 @@ var aiSDKChannels = defineChannels(
|
|
|
994
1106
|
channelName: "generateText",
|
|
995
1107
|
kind: "async"
|
|
996
1108
|
}),
|
|
1109
|
+
generateImage: channel({
|
|
1110
|
+
channelName: "generateImage",
|
|
1111
|
+
kind: "async"
|
|
1112
|
+
}),
|
|
997
1113
|
streamText: channel({
|
|
998
1114
|
channelName: "streamText",
|
|
999
1115
|
kind: "async"
|
|
@@ -1565,6 +1681,30 @@ var strandsAgentSDKChannels = defineChannels(
|
|
|
1565
1681
|
{ instrumentationName: INSTRUMENTATION_NAMES.STRANDS_AGENT_SDK }
|
|
1566
1682
|
);
|
|
1567
1683
|
|
|
1684
|
+
// src/instrumentation/plugins/voyageai-channels.ts
|
|
1685
|
+
var voyageAIChannels = defineChannels(
|
|
1686
|
+
"voyageai",
|
|
1687
|
+
{
|
|
1688
|
+
embed: channel({
|
|
1689
|
+
channelName: "embed",
|
|
1690
|
+
kind: "async"
|
|
1691
|
+
}),
|
|
1692
|
+
multimodalEmbed: channel({
|
|
1693
|
+
channelName: "multimodalEmbed",
|
|
1694
|
+
kind: "async"
|
|
1695
|
+
}),
|
|
1696
|
+
rerank: channel({
|
|
1697
|
+
channelName: "rerank",
|
|
1698
|
+
kind: "async"
|
|
1699
|
+
}),
|
|
1700
|
+
contextualizedEmbed: channel({
|
|
1701
|
+
channelName: "contextualizedEmbed",
|
|
1702
|
+
kind: "async"
|
|
1703
|
+
})
|
|
1704
|
+
},
|
|
1705
|
+
{ instrumentationName: INSTRUMENTATION_NAMES.VOYAGEAI }
|
|
1706
|
+
);
|
|
1707
|
+
|
|
1568
1708
|
// src/instrumentation/plugins/cloudflare-agents-channels.ts
|
|
1569
1709
|
var cloudflareAgentsChannels = defineChannels(
|
|
1570
1710
|
"agents",
|
|
@@ -1649,7 +1789,10 @@ var envIntegrationAliases = {
|
|
|
1649
1789
|
"langchain-js": "langchain",
|
|
1650
1790
|
"@langchain": "langchain",
|
|
1651
1791
|
langgraph: "langgraph",
|
|
1652
|
-
langsmith: "langsmith"
|
|
1792
|
+
langsmith: "langsmith",
|
|
1793
|
+
voyage: "voyageai",
|
|
1794
|
+
"voyage-ai": "voyageai",
|
|
1795
|
+
voyageai: "voyageai"
|
|
1653
1796
|
};
|
|
1654
1797
|
function getDefaultInstrumentationIntegrations() {
|
|
1655
1798
|
return {
|
|
@@ -1684,6 +1827,7 @@ function getDefaultInstrumentationIntegrations() {
|
|
|
1684
1827
|
langchain: true,
|
|
1685
1828
|
langgraph: true,
|
|
1686
1829
|
langsmith: true,
|
|
1830
|
+
voyageai: true,
|
|
1687
1831
|
piCodingAgent: true,
|
|
1688
1832
|
strandsAgentSDK: true,
|
|
1689
1833
|
cloudflareAgents: true
|
|
@@ -1879,6 +2023,22 @@ function patchMastraSource(source, target, format) {
|
|
|
1879
2023
|
return source + OBSERVABILITY_APPEND_BODY;
|
|
1880
2024
|
}
|
|
1881
2025
|
|
|
2026
|
+
// src/instrumentation/plugins/cloudflare-ai-chat-channels.ts
|
|
2027
|
+
var cloudflareAIChatChannels = defineChannels(
|
|
2028
|
+
"@cloudflare/ai-chat",
|
|
2029
|
+
{
|
|
2030
|
+
runExclusiveChatTurn: channel({
|
|
2031
|
+
channelName: "AIChatAgent._runExclusiveChatTurn",
|
|
2032
|
+
kind: "async"
|
|
2033
|
+
}),
|
|
2034
|
+
onChatResponse: channel({
|
|
2035
|
+
channelName: "AIChatAgent.onChatResponse",
|
|
2036
|
+
kind: "sync-stream"
|
|
2037
|
+
})
|
|
2038
|
+
},
|
|
2039
|
+
{ instrumentationName: INSTRUMENTATION_NAMES.CLOUDFLARE_AI_CHAT }
|
|
2040
|
+
);
|
|
2041
|
+
|
|
1882
2042
|
// src/instrumentation/plugins/openai-agents-channels.ts
|
|
1883
2043
|
var openAIAgentsCoreChannels = defineChannels(
|
|
1884
2044
|
"@openai/agents-core",
|
|
@@ -1919,30 +2079,19 @@ var langChainChannels = defineChannels(
|
|
|
1919
2079
|
{ instrumentationName: INSTRUMENTATION_NAMES.LANGCHAIN }
|
|
1920
2080
|
);
|
|
1921
2081
|
|
|
1922
|
-
// src/instrumentation/plugins/cloudflare-ai-chat-channels.ts
|
|
1923
|
-
var cloudflareAIChatChannels = defineChannels(
|
|
1924
|
-
"@cloudflare/ai-chat",
|
|
1925
|
-
{
|
|
1926
|
-
runExclusiveChatTurn: channel({
|
|
1927
|
-
channelName: "AIChatAgent._runExclusiveChatTurn",
|
|
1928
|
-
kind: "async"
|
|
1929
|
-
}),
|
|
1930
|
-
onChatResponse: channel({
|
|
1931
|
-
channelName: "AIChatAgent.onChatResponse",
|
|
1932
|
-
kind: "sync-stream"
|
|
1933
|
-
})
|
|
1934
|
-
},
|
|
1935
|
-
{ instrumentationName: INSTRUMENTATION_NAMES.CLOUDFLARE_AI_CHAT }
|
|
1936
|
-
);
|
|
1937
|
-
|
|
1938
2082
|
export {
|
|
1939
2083
|
__export,
|
|
1940
2084
|
GLOBAL_INSTRUMENTATION_HOOKS_KEY,
|
|
1941
2085
|
GLOBAL_INSTRUMENTATION_HOOKS_PROTOCOL_VERSION,
|
|
1942
2086
|
GLOBAL_INSTRUMENTATION_HOOKS_REGISTRY_BRAND,
|
|
1943
2087
|
GLOBAL_INSTRUMENTATION_HOOK_BRAND,
|
|
1944
|
-
setGlobalHookErrorReporter,
|
|
1945
2088
|
isomorph_default,
|
|
2089
|
+
normalizeDebugLogLevelOption,
|
|
2090
|
+
getEnvDebugLogLevel,
|
|
2091
|
+
setGlobalDebugLogLevel,
|
|
2092
|
+
resetDebugLoggerForTests,
|
|
2093
|
+
setDebugLogStateResolver,
|
|
2094
|
+
debugLogger,
|
|
1946
2095
|
INSTRUMENTATION_NAMES,
|
|
1947
2096
|
withSpanInstrumentationName,
|
|
1948
2097
|
getSpanInstrumentationName,
|
|
@@ -1981,6 +2130,7 @@ export {
|
|
|
1981
2130
|
langSmithChannels,
|
|
1982
2131
|
piCodingAgentChannels,
|
|
1983
2132
|
strandsAgentSDKChannels,
|
|
2133
|
+
voyageAIChannels,
|
|
1984
2134
|
cloudflareAIChatChannels,
|
|
1985
2135
|
cloudflareAgentsChannels,
|
|
1986
2136
|
getDefaultInstrumentationIntegrations,
|