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.
Files changed (54) hide show
  1. package/README.md +1 -1
  2. package/dev/dist/index.d.mts +879 -197
  3. package/dev/dist/index.d.ts +879 -197
  4. package/dev/dist/index.js +2960 -1865
  5. package/dev/dist/index.mjs +2217 -1122
  6. package/dist/apply-auto-instrumentation.js +345 -260
  7. package/dist/apply-auto-instrumentation.mjs +137 -52
  8. package/dist/auto-instrumentations/bundler/esbuild.cjs +124 -7
  9. package/dist/auto-instrumentations/bundler/esbuild.mjs +2 -2
  10. package/dist/auto-instrumentations/bundler/next.cjs +124 -7
  11. package/dist/auto-instrumentations/bundler/next.mjs +3 -3
  12. package/dist/auto-instrumentations/bundler/rollup.cjs +124 -7
  13. package/dist/auto-instrumentations/bundler/rollup.mjs +2 -2
  14. package/dist/auto-instrumentations/bundler/vite.cjs +124 -7
  15. package/dist/auto-instrumentations/bundler/vite.mjs +2 -2
  16. package/dist/auto-instrumentations/bundler/webpack-loader.cjs +124 -7
  17. package/dist/auto-instrumentations/bundler/webpack.cjs +124 -7
  18. package/dist/auto-instrumentations/bundler/webpack.mjs +3 -3
  19. package/dist/auto-instrumentations/{chunk-ZNHTSSGI.mjs → chunk-AOIYCVEL.mjs} +34 -3
  20. package/dist/auto-instrumentations/{chunk-XEYKUBLY.mjs → chunk-DKTGDNA7.mjs} +91 -5
  21. package/dist/auto-instrumentations/{chunk-BW33ULMW.mjs → chunk-OMCZ3MV2.mjs} +1 -1
  22. package/dist/auto-instrumentations/hook.mjs +1186 -161
  23. package/dist/auto-instrumentations/index.cjs +34 -3
  24. package/dist/auto-instrumentations/index.mjs +1 -1
  25. package/dist/browser.d.mts +1388 -75
  26. package/dist/browser.d.ts +1388 -75
  27. package/dist/browser.js +3954 -1124
  28. package/dist/browser.mjs +3954 -1124
  29. package/dist/{chunk-MF7NU6BT.js → chunk-6Z5S7VOU.js} +175 -25
  30. package/dist/{chunk-CZM5JIQL.mjs → chunk-7FA6VP2S.mjs} +172 -22
  31. package/dist/{chunk-YKD22IMR.mjs → chunk-M6XPNJC4.mjs} +2102 -1113
  32. package/dist/{chunk-QRHGVBKU.js → chunk-XLLGRXGR.js} +3273 -2284
  33. package/dist/cli.js +6353 -1483
  34. package/dist/edge-light.d.mts +1 -1
  35. package/dist/edge-light.d.ts +1 -1
  36. package/dist/edge-light.js +3954 -1124
  37. package/dist/edge-light.mjs +3954 -1124
  38. package/dist/index.d.mts +1972 -659
  39. package/dist/index.d.ts +1972 -659
  40. package/dist/index.js +2453 -676
  41. package/dist/index.mjs +1973 -196
  42. package/dist/instrumentation/index.d.mts +738 -15
  43. package/dist/instrumentation/index.d.ts +738 -15
  44. package/dist/instrumentation/index.js +2791 -874
  45. package/dist/instrumentation/index.mjs +2791 -874
  46. package/dist/vitest-evals-reporter.js +16 -16
  47. package/dist/vitest-evals-reporter.mjs +2 -2
  48. package/dist/workerd.d.mts +1 -1
  49. package/dist/workerd.d.ts +1 -1
  50. package/dist/workerd.js +3954 -1124
  51. package/dist/workerd.mjs +3954 -1124
  52. package/package.json +2 -3
  53. package/util/dist/index.d.mts +1596 -109
  54. package/util/dist/index.d.ts +1596 -109
@@ -1201,7 +1201,10 @@ var envIntegrationAliases = {
1201
1201
  "langchain-js": "langchain",
1202
1202
  "@langchain": "langchain",
1203
1203
  langgraph: "langgraph",
1204
- langsmith: "langsmith"
1204
+ langsmith: "langsmith",
1205
+ voyage: "voyageai",
1206
+ "voyage-ai": "voyageai",
1207
+ voyageai: "voyageai"
1205
1208
  };
1206
1209
  function readDisabledInstrumentationEnvConfig(disabledList) {
1207
1210
  const integrations = {};
@@ -1224,8 +1227,6 @@ function isInstrumentationIntegrationDisabled(integrations, ...names) {
1224
1227
  var DefaultAsyncLocalStorage = class {
1225
1228
  constructor() {
1226
1229
  }
1227
- enterWith(_) {
1228
- }
1229
1230
  run(_, callback) {
1230
1231
  return callback();
1231
1232
  }
@@ -1333,6 +1334,7 @@ var INSTRUMENTATION_NAMES = {
1333
1334
  CLOUDFLARE_THINK: "cloudflare-think",
1334
1335
  COHERE: "cohere",
1335
1336
  CURSOR_SDK: "cursor-sdk",
1337
+ DEEPSEEK_HARNESS: "deepseek-harness",
1336
1338
  EVE: "eve",
1337
1339
  FLUE: "flue",
1338
1340
  GENKIT: "genkit",
@@ -1352,7 +1354,8 @@ var INSTRUMENTATION_NAMES = {
1352
1354
  OPENROUTER: "openrouter",
1353
1355
  OPENROUTER_AGENT: "openrouter-agent",
1354
1356
  PI_CODING_AGENT: "pi-coding-agent",
1355
- STRANDS_AGENT_SDK: "strands-agent-sdk"
1357
+ STRANDS_AGENT_SDK: "strands-agent-sdk",
1358
+ VOYAGEAI: "voyageai"
1356
1359
  };
1357
1360
 
1358
1361
  // src/instrumentation/plugins/ai-sdk-channels.ts
@@ -1363,6 +1366,10 @@ var aiSDKChannels = defineChannels(
1363
1366
  channelName: "generateText",
1364
1367
  kind: "async"
1365
1368
  }),
1369
+ generateImage: channel({
1370
+ channelName: "generateImage",
1371
+ kind: "async"
1372
+ }),
1366
1373
  streamText: channel({
1367
1374
  channelName: "streamText",
1368
1375
  kind: "async"
@@ -1502,6 +1509,33 @@ var aiSDKConfigs = [
1502
1509
  kind: "Async"
1503
1510
  }
1504
1511
  },
1512
+ // generateImage - stable in v6+, experimental alias in v5
1513
+ ...[
1514
+ {
1515
+ functionName: "generateImage",
1516
+ versionRange: ">=6.0.0 <8.0.0",
1517
+ isExportAlias: false
1518
+ },
1519
+ {
1520
+ functionName: "experimental_generateImage",
1521
+ versionRange: ">=5.0.0 <6.0.0",
1522
+ isExportAlias: true
1523
+ }
1524
+ ].flatMap(
1525
+ ({ functionName, versionRange: versionRange2, isExportAlias }) => ["dist/index.mjs", "dist/index.js"].map((filePath) => ({
1526
+ channelName: aiSDKChannels.generateImage.channelName,
1527
+ module: {
1528
+ name: "ai",
1529
+ versionRange: versionRange2,
1530
+ filePath
1531
+ },
1532
+ functionQuery: {
1533
+ functionName,
1534
+ kind: "Async",
1535
+ ...isExportAlias ? { isExportAlias } : {}
1536
+ }
1537
+ }))
1538
+ ),
1505
1539
  // streamText - async function (v3 only, before the sync refactor in v4)
1506
1540
  {
1507
1541
  channelName: aiSDKChannels.streamText.channelName,
@@ -4743,6 +4777,77 @@ var strandsAgentSDKConfigs = [
4743
4777
  }
4744
4778
  ];
4745
4779
 
4780
+ // src/instrumentation/plugins/voyageai-channels.ts
4781
+ var voyageAIChannels = defineChannels(
4782
+ "voyageai",
4783
+ {
4784
+ embed: channel({
4785
+ channelName: "embed",
4786
+ kind: "async"
4787
+ }),
4788
+ multimodalEmbed: channel({
4789
+ channelName: "multimodalEmbed",
4790
+ kind: "async"
4791
+ }),
4792
+ rerank: channel({
4793
+ channelName: "rerank",
4794
+ kind: "async"
4795
+ }),
4796
+ contextualizedEmbed: channel({
4797
+ channelName: "contextualizedEmbed",
4798
+ kind: "async"
4799
+ })
4800
+ },
4801
+ { instrumentationName: INSTRUMENTATION_NAMES.VOYAGEAI }
4802
+ );
4803
+
4804
+ // src/auto-instrumentations/configs/voyageai.ts
4805
+ var GENERATED_CLIENT_MODULES = [
4806
+ "dist/cjs/Client.js",
4807
+ "dist/esm/Client.mjs"
4808
+ ];
4809
+ var generatedClientOperations = [
4810
+ {
4811
+ channelName: voyageAIChannels.embed.channelName,
4812
+ methodName: "embed",
4813
+ versionRange: ">=0.2.0 <1.0.0"
4814
+ },
4815
+ {
4816
+ channelName: voyageAIChannels.multimodalEmbed.channelName,
4817
+ methodName: "multimodalEmbed",
4818
+ versionRange: ">=0.2.0 <1.0.0"
4819
+ },
4820
+ {
4821
+ channelName: voyageAIChannels.rerank.channelName,
4822
+ methodName: "rerank",
4823
+ versionRange: ">=0.2.0 <1.0.0"
4824
+ },
4825
+ {
4826
+ channelName: voyageAIChannels.contextualizedEmbed.channelName,
4827
+ methodName: "contextualizedEmbed",
4828
+ versionRange: ">=0.2.0 <1.0.0"
4829
+ }
4830
+ ];
4831
+ var voyageAIConfigs = [
4832
+ ...GENERATED_CLIENT_MODULES.flatMap(
4833
+ (filePath) => generatedClientOperations.map(
4834
+ ({ channelName, methodName, versionRange: versionRange2 }) => ({
4835
+ channelName,
4836
+ module: {
4837
+ name: "voyageai",
4838
+ versionRange: versionRange2,
4839
+ filePath
4840
+ },
4841
+ functionQuery: {
4842
+ className: "VoyageAIClient",
4843
+ methodName,
4844
+ kind: "Async"
4845
+ }
4846
+ })
4847
+ )
4848
+ )
4849
+ ];
4850
+
4746
4851
  // src/auto-instrumentations/configs/all.ts
4747
4852
  var defaultInstrumentationConfigGroups = [
4748
4853
  { integrations: ["openai"], configs: openaiConfigs },
@@ -4822,6 +4927,10 @@ var defaultInstrumentationConfigGroups = [
4822
4927
  {
4823
4928
  integrations: ["flue"],
4824
4929
  configs: flueConfigs
4930
+ },
4931
+ {
4932
+ integrations: ["voyageai"],
4933
+ configs: voyageAIConfigs
4825
4934
  }
4826
4935
  // Note: `@mastra/core` is not listed here because its instrumentation
4827
4936
  // doesn't go through the AST `code-transformer` matcher — Mastra's
@@ -4846,6 +4955,14 @@ function getDefaultInstrumentationConfigs({
4846
4955
  ...additionalInstrumentations ?? []
4847
4956
  ];
4848
4957
  }
4958
+ function getDefaultAutoInstrumentationConfigs(additionalInstrumentations) {
4959
+ return getDefaultInstrumentationConfigs({
4960
+ additionalInstrumentations,
4961
+ disabledIntegrationConfig: readDisabledInstrumentationEnvConfig(
4962
+ process.env.BRAINTRUST_DISABLE_INSTRUMENTATION
4963
+ ).integrations
4964
+ });
4965
+ }
4849
4966
 
4850
4967
  // src/auto-instrumentations/loader/mastra-observability-patch.ts
4851
4968
  var MASTRA_EXPORTER_FACTORY_GLOBAL = "__braintrustMastraExporterFactory";
@@ -5112,9 +5229,9 @@ function getModuleVersion(basedir) {
5112
5229
  }
5113
5230
  var matcherCache = /* @__PURE__ */ new Map();
5114
5231
  function getMatcher(options) {
5115
- const allInstrumentations = getDefaultInstrumentationConfigs({
5116
- additionalInstrumentations: options.instrumentations
5117
- });
5232
+ const allInstrumentations = getDefaultAutoInstrumentationConfigs(
5233
+ options.instrumentations
5234
+ );
5118
5235
  const configHash = JSON.stringify({ allInstrumentations });
5119
5236
  if (matcherCache.has(configHash)) {
5120
5237
  return matcherCache.get(configHash);
@@ -1218,7 +1218,10 @@ var envIntegrationAliases = {
1218
1218
  "langchain-js": "langchain",
1219
1219
  "@langchain": "langchain",
1220
1220
  langgraph: "langgraph",
1221
- langsmith: "langsmith"
1221
+ langsmith: "langsmith",
1222
+ voyage: "voyageai",
1223
+ "voyage-ai": "voyageai",
1224
+ voyageai: "voyageai"
1222
1225
  };
1223
1226
  function readDisabledInstrumentationEnvConfig(disabledList) {
1224
1227
  const integrations = {};
@@ -1241,8 +1244,6 @@ function isInstrumentationIntegrationDisabled(integrations, ...names) {
1241
1244
  var DefaultAsyncLocalStorage = class {
1242
1245
  constructor() {
1243
1246
  }
1244
- enterWith(_) {
1245
- }
1246
1247
  run(_, callback) {
1247
1248
  return callback();
1248
1249
  }
@@ -1350,6 +1351,7 @@ var INSTRUMENTATION_NAMES = {
1350
1351
  CLOUDFLARE_THINK: "cloudflare-think",
1351
1352
  COHERE: "cohere",
1352
1353
  CURSOR_SDK: "cursor-sdk",
1354
+ DEEPSEEK_HARNESS: "deepseek-harness",
1353
1355
  EVE: "eve",
1354
1356
  FLUE: "flue",
1355
1357
  GENKIT: "genkit",
@@ -1369,7 +1371,8 @@ var INSTRUMENTATION_NAMES = {
1369
1371
  OPENROUTER: "openrouter",
1370
1372
  OPENROUTER_AGENT: "openrouter-agent",
1371
1373
  PI_CODING_AGENT: "pi-coding-agent",
1372
- STRANDS_AGENT_SDK: "strands-agent-sdk"
1374
+ STRANDS_AGENT_SDK: "strands-agent-sdk",
1375
+ VOYAGEAI: "voyageai"
1373
1376
  };
1374
1377
 
1375
1378
  // src/instrumentation/plugins/ai-sdk-channels.ts
@@ -1380,6 +1383,10 @@ var aiSDKChannels = defineChannels(
1380
1383
  channelName: "generateText",
1381
1384
  kind: "async"
1382
1385
  }),
1386
+ generateImage: channel({
1387
+ channelName: "generateImage",
1388
+ kind: "async"
1389
+ }),
1383
1390
  streamText: channel({
1384
1391
  channelName: "streamText",
1385
1392
  kind: "async"
@@ -1519,6 +1526,33 @@ var aiSDKConfigs = [
1519
1526
  kind: "Async"
1520
1527
  }
1521
1528
  },
1529
+ // generateImage - stable in v6+, experimental alias in v5
1530
+ ...[
1531
+ {
1532
+ functionName: "generateImage",
1533
+ versionRange: ">=6.0.0 <8.0.0",
1534
+ isExportAlias: false
1535
+ },
1536
+ {
1537
+ functionName: "experimental_generateImage",
1538
+ versionRange: ">=5.0.0 <6.0.0",
1539
+ isExportAlias: true
1540
+ }
1541
+ ].flatMap(
1542
+ ({ functionName, versionRange: versionRange2, isExportAlias }) => ["dist/index.mjs", "dist/index.js"].map((filePath) => ({
1543
+ channelName: aiSDKChannels.generateImage.channelName,
1544
+ module: {
1545
+ name: "ai",
1546
+ versionRange: versionRange2,
1547
+ filePath
1548
+ },
1549
+ functionQuery: {
1550
+ functionName,
1551
+ kind: "Async",
1552
+ ...isExportAlias ? { isExportAlias } : {}
1553
+ }
1554
+ }))
1555
+ ),
1522
1556
  // streamText - async function (v3 only, before the sync refactor in v4)
1523
1557
  {
1524
1558
  channelName: aiSDKChannels.streamText.channelName,
@@ -4760,6 +4794,77 @@ var strandsAgentSDKConfigs = [
4760
4794
  }
4761
4795
  ];
4762
4796
 
4797
+ // src/instrumentation/plugins/voyageai-channels.ts
4798
+ var voyageAIChannels = defineChannels(
4799
+ "voyageai",
4800
+ {
4801
+ embed: channel({
4802
+ channelName: "embed",
4803
+ kind: "async"
4804
+ }),
4805
+ multimodalEmbed: channel({
4806
+ channelName: "multimodalEmbed",
4807
+ kind: "async"
4808
+ }),
4809
+ rerank: channel({
4810
+ channelName: "rerank",
4811
+ kind: "async"
4812
+ }),
4813
+ contextualizedEmbed: channel({
4814
+ channelName: "contextualizedEmbed",
4815
+ kind: "async"
4816
+ })
4817
+ },
4818
+ { instrumentationName: INSTRUMENTATION_NAMES.VOYAGEAI }
4819
+ );
4820
+
4821
+ // src/auto-instrumentations/configs/voyageai.ts
4822
+ var GENERATED_CLIENT_MODULES = [
4823
+ "dist/cjs/Client.js",
4824
+ "dist/esm/Client.mjs"
4825
+ ];
4826
+ var generatedClientOperations = [
4827
+ {
4828
+ channelName: voyageAIChannels.embed.channelName,
4829
+ methodName: "embed",
4830
+ versionRange: ">=0.2.0 <1.0.0"
4831
+ },
4832
+ {
4833
+ channelName: voyageAIChannels.multimodalEmbed.channelName,
4834
+ methodName: "multimodalEmbed",
4835
+ versionRange: ">=0.2.0 <1.0.0"
4836
+ },
4837
+ {
4838
+ channelName: voyageAIChannels.rerank.channelName,
4839
+ methodName: "rerank",
4840
+ versionRange: ">=0.2.0 <1.0.0"
4841
+ },
4842
+ {
4843
+ channelName: voyageAIChannels.contextualizedEmbed.channelName,
4844
+ methodName: "contextualizedEmbed",
4845
+ versionRange: ">=0.2.0 <1.0.0"
4846
+ }
4847
+ ];
4848
+ var voyageAIConfigs = [
4849
+ ...GENERATED_CLIENT_MODULES.flatMap(
4850
+ (filePath) => generatedClientOperations.map(
4851
+ ({ channelName, methodName, versionRange: versionRange2 }) => ({
4852
+ channelName,
4853
+ module: {
4854
+ name: "voyageai",
4855
+ versionRange: versionRange2,
4856
+ filePath
4857
+ },
4858
+ functionQuery: {
4859
+ className: "VoyageAIClient",
4860
+ methodName,
4861
+ kind: "Async"
4862
+ }
4863
+ })
4864
+ )
4865
+ )
4866
+ ];
4867
+
4763
4868
  // src/auto-instrumentations/configs/all.ts
4764
4869
  var defaultInstrumentationConfigGroups = [
4765
4870
  { integrations: ["openai"], configs: openaiConfigs },
@@ -4839,6 +4944,10 @@ var defaultInstrumentationConfigGroups = [
4839
4944
  {
4840
4945
  integrations: ["flue"],
4841
4946
  configs: flueConfigs
4947
+ },
4948
+ {
4949
+ integrations: ["voyageai"],
4950
+ configs: voyageAIConfigs
4842
4951
  }
4843
4952
  // Note: `@mastra/core` is not listed here because its instrumentation
4844
4953
  // doesn't go through the AST `code-transformer` matcher — Mastra's
@@ -4863,6 +4972,14 @@ function getDefaultInstrumentationConfigs({
4863
4972
  ...additionalInstrumentations ?? []
4864
4973
  ];
4865
4974
  }
4975
+ function getDefaultAutoInstrumentationConfigs(additionalInstrumentations) {
4976
+ return getDefaultInstrumentationConfigs({
4977
+ additionalInstrumentations,
4978
+ disabledIntegrationConfig: readDisabledInstrumentationEnvConfig(
4979
+ process.env.BRAINTRUST_DISABLE_INSTRUMENTATION
4980
+ ).integrations
4981
+ });
4982
+ }
4866
4983
 
4867
4984
  // src/auto-instrumentations/loader/mastra-observability-patch.ts
4868
4985
  var MASTRA_EXPORTER_FACTORY_GLOBAL = "__braintrustMastraExporterFactory";
@@ -5129,9 +5246,9 @@ function getModuleVersion(basedir) {
5129
5246
  }
5130
5247
  var unplugin = (0, import_unplugin.createUnplugin)((options = {}) => {
5131
5248
  const browser = options.browser ?? options.useDiagnosticChannelCompatShim ?? false;
5132
- const allInstrumentations = getDefaultInstrumentationConfigs({
5133
- additionalInstrumentations: options.instrumentations
5134
- });
5249
+ const allInstrumentations = getDefaultAutoInstrumentationConfigs(
5250
+ options.instrumentations
5251
+ );
5135
5252
  const instrumentationMatcher = create(allInstrumentations);
5136
5253
  return {
5137
5254
  name: "code-transformer",
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  braintrustWebpackPlugin,
3
3
  webpackPlugin
4
- } from "../chunk-BW33ULMW.mjs";
5
- import "../chunk-XEYKUBLY.mjs";
6
- import "../chunk-ZNHTSSGI.mjs";
4
+ } from "../chunk-OMCZ3MV2.mjs";
5
+ import "../chunk-DKTGDNA7.mjs";
6
+ import "../chunk-AOIYCVEL.mjs";
7
7
  import "../chunk-I55G56ZL.mjs";
8
8
  import "../chunk-JPUFNW7X.mjs";
9
9
  import "../chunk-P5YLNB2A.mjs";
@@ -6,8 +6,6 @@ import {
6
6
  var DefaultAsyncLocalStorage = class {
7
7
  constructor() {
8
8
  }
9
- enterWith(_) {
10
- }
11
9
  run(_, callback) {
12
10
  return callback();
13
11
  }
@@ -115,6 +113,7 @@ var INSTRUMENTATION_NAMES = {
115
113
  CLOUDFLARE_THINK: "cloudflare-think",
116
114
  COHERE: "cohere",
117
115
  CURSOR_SDK: "cursor-sdk",
116
+ DEEPSEEK_HARNESS: "deepseek-harness",
118
117
  EVE: "eve",
119
118
  FLUE: "flue",
120
119
  GENKIT: "genkit",
@@ -134,7 +133,8 @@ var INSTRUMENTATION_NAMES = {
134
133
  OPENROUTER: "openrouter",
135
134
  OPENROUTER_AGENT: "openrouter-agent",
136
135
  PI_CODING_AGENT: "pi-coding-agent",
137
- STRANDS_AGENT_SDK: "strands-agent-sdk"
136
+ STRANDS_AGENT_SDK: "strands-agent-sdk",
137
+ VOYAGEAI: "voyageai"
138
138
  };
139
139
 
140
140
  // src/instrumentation/plugins/openai-channels.ts
@@ -675,6 +675,10 @@ var aiSDKChannels = defineChannels(
675
675
  channelName: "generateText",
676
676
  kind: "async"
677
677
  }),
678
+ generateImage: channel({
679
+ channelName: "generateImage",
680
+ kind: "async"
681
+ }),
678
682
  streamText: channel({
679
683
  channelName: "streamText",
680
684
  kind: "async"
@@ -814,6 +818,33 @@ var aiSDKConfigs = [
814
818
  kind: "Async"
815
819
  }
816
820
  },
821
+ // generateImage - stable in v6+, experimental alias in v5
822
+ ...[
823
+ {
824
+ functionName: "generateImage",
825
+ versionRange: ">=6.0.0 <8.0.0",
826
+ isExportAlias: false
827
+ },
828
+ {
829
+ functionName: "experimental_generateImage",
830
+ versionRange: ">=5.0.0 <6.0.0",
831
+ isExportAlias: true
832
+ }
833
+ ].flatMap(
834
+ ({ functionName, versionRange: versionRange2, isExportAlias }) => ["dist/index.mjs", "dist/index.js"].map((filePath) => ({
835
+ channelName: aiSDKChannels.generateImage.channelName,
836
+ module: {
837
+ name: "ai",
838
+ versionRange: versionRange2,
839
+ filePath
840
+ },
841
+ functionQuery: {
842
+ functionName,
843
+ kind: "Async",
844
+ ...isExportAlias ? { isExportAlias } : {}
845
+ }
846
+ }))
847
+ ),
817
848
  // streamText - async function (v3 only, before the sync refactor in v4)
818
849
  {
819
850
  channelName: aiSDKChannels.streamText.channelName,
@@ -27,7 +27,7 @@ import {
27
27
  openRouterConfigs,
28
28
  openaiConfigs,
29
29
  piCodingAgentConfigs
30
- } from "./chunk-ZNHTSSGI.mjs";
30
+ } from "./chunk-AOIYCVEL.mjs";
31
31
  import {
32
32
  applySpecialCasePatch,
33
33
  create
@@ -115,7 +115,10 @@ var envIntegrationAliases = {
115
115
  "langchain-js": "langchain",
116
116
  "@langchain": "langchain",
117
117
  langgraph: "langgraph",
118
- langsmith: "langsmith"
118
+ langsmith: "langsmith",
119
+ voyage: "voyageai",
120
+ "voyage-ai": "voyageai",
121
+ voyageai: "voyageai"
119
122
  };
120
123
  function readDisabledInstrumentationEnvConfig(disabledList) {
121
124
  const integrations = {};
@@ -304,6 +307,77 @@ var strandsAgentSDKConfigs = [
304
307
  }
305
308
  ];
306
309
 
310
+ // src/instrumentation/plugins/voyageai-channels.ts
311
+ var voyageAIChannels = defineChannels(
312
+ "voyageai",
313
+ {
314
+ embed: channel({
315
+ channelName: "embed",
316
+ kind: "async"
317
+ }),
318
+ multimodalEmbed: channel({
319
+ channelName: "multimodalEmbed",
320
+ kind: "async"
321
+ }),
322
+ rerank: channel({
323
+ channelName: "rerank",
324
+ kind: "async"
325
+ }),
326
+ contextualizedEmbed: channel({
327
+ channelName: "contextualizedEmbed",
328
+ kind: "async"
329
+ })
330
+ },
331
+ { instrumentationName: INSTRUMENTATION_NAMES.VOYAGEAI }
332
+ );
333
+
334
+ // src/auto-instrumentations/configs/voyageai.ts
335
+ var GENERATED_CLIENT_MODULES = [
336
+ "dist/cjs/Client.js",
337
+ "dist/esm/Client.mjs"
338
+ ];
339
+ var generatedClientOperations = [
340
+ {
341
+ channelName: voyageAIChannels.embed.channelName,
342
+ methodName: "embed",
343
+ versionRange: ">=0.2.0 <1.0.0"
344
+ },
345
+ {
346
+ channelName: voyageAIChannels.multimodalEmbed.channelName,
347
+ methodName: "multimodalEmbed",
348
+ versionRange: ">=0.2.0 <1.0.0"
349
+ },
350
+ {
351
+ channelName: voyageAIChannels.rerank.channelName,
352
+ methodName: "rerank",
353
+ versionRange: ">=0.2.0 <1.0.0"
354
+ },
355
+ {
356
+ channelName: voyageAIChannels.contextualizedEmbed.channelName,
357
+ methodName: "contextualizedEmbed",
358
+ versionRange: ">=0.2.0 <1.0.0"
359
+ }
360
+ ];
361
+ var voyageAIConfigs = [
362
+ ...GENERATED_CLIENT_MODULES.flatMap(
363
+ (filePath) => generatedClientOperations.map(
364
+ ({ channelName, methodName, versionRange }) => ({
365
+ channelName,
366
+ module: {
367
+ name: "voyageai",
368
+ versionRange,
369
+ filePath
370
+ },
371
+ functionQuery: {
372
+ className: "VoyageAIClient",
373
+ methodName,
374
+ kind: "Async"
375
+ }
376
+ })
377
+ )
378
+ )
379
+ ];
380
+
307
381
  // src/auto-instrumentations/configs/all.ts
308
382
  var defaultInstrumentationConfigGroups = [
309
383
  { integrations: ["openai"], configs: openaiConfigs },
@@ -383,6 +457,10 @@ var defaultInstrumentationConfigGroups = [
383
457
  {
384
458
  integrations: ["flue"],
385
459
  configs: flueConfigs
460
+ },
461
+ {
462
+ integrations: ["voyageai"],
463
+ configs: voyageAIConfigs
386
464
  }
387
465
  // Note: `@mastra/core` is not listed here because its instrumentation
388
466
  // doesn't go through the AST `code-transformer` matcher — Mastra's
@@ -407,6 +485,14 @@ function getDefaultInstrumentationConfigs({
407
485
  ...additionalInstrumentations ?? []
408
486
  ];
409
487
  }
488
+ function getDefaultAutoInstrumentationConfigs(additionalInstrumentations) {
489
+ return getDefaultInstrumentationConfigs({
490
+ additionalInstrumentations,
491
+ disabledIntegrationConfig: readDisabledInstrumentationEnvConfig(
492
+ process.env.BRAINTRUST_DISABLE_INSTRUMENTATION
493
+ ).integrations
494
+ });
495
+ }
410
496
 
411
497
  // src/auto-instrumentations/bundler/plugin.ts
412
498
  function getModuleVersion(basedir) {
@@ -422,9 +508,9 @@ function getModuleVersion(basedir) {
422
508
  }
423
509
  var unplugin = createUnplugin((options = {}) => {
424
510
  const browser = options.browser ?? options.useDiagnosticChannelCompatShim ?? false;
425
- const allInstrumentations = getDefaultInstrumentationConfigs({
426
- additionalInstrumentations: options.instrumentations
427
- });
511
+ const allInstrumentations = getDefaultAutoInstrumentationConfigs(
512
+ options.instrumentations
513
+ );
428
514
  const instrumentationMatcher = create(allInstrumentations);
429
515
  return {
430
516
  name: "code-transformer",
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unplugin
3
- } from "./chunk-XEYKUBLY.mjs";
3
+ } from "./chunk-DKTGDNA7.mjs";
4
4
 
5
5
  // src/auto-instrumentations/bundler/webpack.ts
6
6
  function braintrustWebpackPlugin(options = {}) {