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
@@ -1219,7 +1219,10 @@ var envIntegrationAliases = {
1219
1219
  "langchain-js": "langchain",
1220
1220
  "@langchain": "langchain",
1221
1221
  langgraph: "langgraph",
1222
- langsmith: "langsmith"
1222
+ langsmith: "langsmith",
1223
+ voyage: "voyageai",
1224
+ "voyage-ai": "voyageai",
1225
+ voyageai: "voyageai"
1223
1226
  };
1224
1227
  function readDisabledInstrumentationEnvConfig(disabledList) {
1225
1228
  const integrations = {};
@@ -1242,8 +1245,6 @@ function isInstrumentationIntegrationDisabled(integrations, ...names) {
1242
1245
  var DefaultAsyncLocalStorage = class {
1243
1246
  constructor() {
1244
1247
  }
1245
- enterWith(_) {
1246
- }
1247
1248
  run(_, callback) {
1248
1249
  return callback();
1249
1250
  }
@@ -1351,6 +1352,7 @@ var INSTRUMENTATION_NAMES = {
1351
1352
  CLOUDFLARE_THINK: "cloudflare-think",
1352
1353
  COHERE: "cohere",
1353
1354
  CURSOR_SDK: "cursor-sdk",
1355
+ DEEPSEEK_HARNESS: "deepseek-harness",
1354
1356
  EVE: "eve",
1355
1357
  FLUE: "flue",
1356
1358
  GENKIT: "genkit",
@@ -1370,7 +1372,8 @@ var INSTRUMENTATION_NAMES = {
1370
1372
  OPENROUTER: "openrouter",
1371
1373
  OPENROUTER_AGENT: "openrouter-agent",
1372
1374
  PI_CODING_AGENT: "pi-coding-agent",
1373
- STRANDS_AGENT_SDK: "strands-agent-sdk"
1375
+ STRANDS_AGENT_SDK: "strands-agent-sdk",
1376
+ VOYAGEAI: "voyageai"
1374
1377
  };
1375
1378
 
1376
1379
  // src/instrumentation/plugins/ai-sdk-channels.ts
@@ -1381,6 +1384,10 @@ var aiSDKChannels = defineChannels(
1381
1384
  channelName: "generateText",
1382
1385
  kind: "async"
1383
1386
  }),
1387
+ generateImage: channel({
1388
+ channelName: "generateImage",
1389
+ kind: "async"
1390
+ }),
1384
1391
  streamText: channel({
1385
1392
  channelName: "streamText",
1386
1393
  kind: "async"
@@ -1520,6 +1527,33 @@ var aiSDKConfigs = [
1520
1527
  kind: "Async"
1521
1528
  }
1522
1529
  },
1530
+ // generateImage - stable in v6+, experimental alias in v5
1531
+ ...[
1532
+ {
1533
+ functionName: "generateImage",
1534
+ versionRange: ">=6.0.0 <8.0.0",
1535
+ isExportAlias: false
1536
+ },
1537
+ {
1538
+ functionName: "experimental_generateImage",
1539
+ versionRange: ">=5.0.0 <6.0.0",
1540
+ isExportAlias: true
1541
+ }
1542
+ ].flatMap(
1543
+ ({ functionName, versionRange: versionRange2, isExportAlias }) => ["dist/index.mjs", "dist/index.js"].map((filePath) => ({
1544
+ channelName: aiSDKChannels.generateImage.channelName,
1545
+ module: {
1546
+ name: "ai",
1547
+ versionRange: versionRange2,
1548
+ filePath
1549
+ },
1550
+ functionQuery: {
1551
+ functionName,
1552
+ kind: "Async",
1553
+ ...isExportAlias ? { isExportAlias } : {}
1554
+ }
1555
+ }))
1556
+ ),
1523
1557
  // streamText - async function (v3 only, before the sync refactor in v4)
1524
1558
  {
1525
1559
  channelName: aiSDKChannels.streamText.channelName,
@@ -4761,6 +4795,77 @@ var strandsAgentSDKConfigs = [
4761
4795
  }
4762
4796
  ];
4763
4797
 
4798
+ // src/instrumentation/plugins/voyageai-channels.ts
4799
+ var voyageAIChannels = defineChannels(
4800
+ "voyageai",
4801
+ {
4802
+ embed: channel({
4803
+ channelName: "embed",
4804
+ kind: "async"
4805
+ }),
4806
+ multimodalEmbed: channel({
4807
+ channelName: "multimodalEmbed",
4808
+ kind: "async"
4809
+ }),
4810
+ rerank: channel({
4811
+ channelName: "rerank",
4812
+ kind: "async"
4813
+ }),
4814
+ contextualizedEmbed: channel({
4815
+ channelName: "contextualizedEmbed",
4816
+ kind: "async"
4817
+ })
4818
+ },
4819
+ { instrumentationName: INSTRUMENTATION_NAMES.VOYAGEAI }
4820
+ );
4821
+
4822
+ // src/auto-instrumentations/configs/voyageai.ts
4823
+ var GENERATED_CLIENT_MODULES = [
4824
+ "dist/cjs/Client.js",
4825
+ "dist/esm/Client.mjs"
4826
+ ];
4827
+ var generatedClientOperations = [
4828
+ {
4829
+ channelName: voyageAIChannels.embed.channelName,
4830
+ methodName: "embed",
4831
+ versionRange: ">=0.2.0 <1.0.0"
4832
+ },
4833
+ {
4834
+ channelName: voyageAIChannels.multimodalEmbed.channelName,
4835
+ methodName: "multimodalEmbed",
4836
+ versionRange: ">=0.2.0 <1.0.0"
4837
+ },
4838
+ {
4839
+ channelName: voyageAIChannels.rerank.channelName,
4840
+ methodName: "rerank",
4841
+ versionRange: ">=0.2.0 <1.0.0"
4842
+ },
4843
+ {
4844
+ channelName: voyageAIChannels.contextualizedEmbed.channelName,
4845
+ methodName: "contextualizedEmbed",
4846
+ versionRange: ">=0.2.0 <1.0.0"
4847
+ }
4848
+ ];
4849
+ var voyageAIConfigs = [
4850
+ ...GENERATED_CLIENT_MODULES.flatMap(
4851
+ (filePath) => generatedClientOperations.map(
4852
+ ({ channelName, methodName, versionRange: versionRange2 }) => ({
4853
+ channelName,
4854
+ module: {
4855
+ name: "voyageai",
4856
+ versionRange: versionRange2,
4857
+ filePath
4858
+ },
4859
+ functionQuery: {
4860
+ className: "VoyageAIClient",
4861
+ methodName,
4862
+ kind: "Async"
4863
+ }
4864
+ })
4865
+ )
4866
+ )
4867
+ ];
4868
+
4764
4869
  // src/auto-instrumentations/configs/all.ts
4765
4870
  var defaultInstrumentationConfigGroups = [
4766
4871
  { integrations: ["openai"], configs: openaiConfigs },
@@ -4840,6 +4945,10 @@ var defaultInstrumentationConfigGroups = [
4840
4945
  {
4841
4946
  integrations: ["flue"],
4842
4947
  configs: flueConfigs
4948
+ },
4949
+ {
4950
+ integrations: ["voyageai"],
4951
+ configs: voyageAIConfigs
4843
4952
  }
4844
4953
  // Note: `@mastra/core` is not listed here because its instrumentation
4845
4954
  // doesn't go through the AST `code-transformer` matcher — Mastra's
@@ -4864,6 +4973,14 @@ function getDefaultInstrumentationConfigs({
4864
4973
  ...additionalInstrumentations ?? []
4865
4974
  ];
4866
4975
  }
4976
+ function getDefaultAutoInstrumentationConfigs(additionalInstrumentations) {
4977
+ return getDefaultInstrumentationConfigs({
4978
+ additionalInstrumentations,
4979
+ disabledIntegrationConfig: readDisabledInstrumentationEnvConfig(
4980
+ process.env.BRAINTRUST_DISABLE_INSTRUMENTATION
4981
+ ).integrations
4982
+ });
4983
+ }
4867
4984
 
4868
4985
  // src/auto-instrumentations/loader/mastra-observability-patch.ts
4869
4986
  var MASTRA_EXPORTER_FACTORY_GLOBAL = "__braintrustMastraExporterFactory";
@@ -5130,9 +5247,9 @@ function getModuleVersion(basedir) {
5130
5247
  }
5131
5248
  var unplugin = (0, import_unplugin.createUnplugin)((options = {}) => {
5132
5249
  const browser = options.browser ?? options.useDiagnosticChannelCompatShim ?? false;
5133
- const allInstrumentations = getDefaultInstrumentationConfigs({
5134
- additionalInstrumentations: options.instrumentations
5135
- });
5250
+ const allInstrumentations = getDefaultAutoInstrumentationConfigs(
5251
+ options.instrumentations
5252
+ );
5136
5253
  const instrumentationMatcher = create(allInstrumentations);
5137
5254
  return {
5138
5255
  name: "code-transformer",
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  webpackPlugin
3
- } from "../chunk-BW33ULMW.mjs";
4
- import "../chunk-XEYKUBLY.mjs";
5
- import "../chunk-ZNHTSSGI.mjs";
3
+ } from "../chunk-OMCZ3MV2.mjs";
4
+ import "../chunk-DKTGDNA7.mjs";
5
+ import "../chunk-AOIYCVEL.mjs";
6
6
  import "../chunk-I55G56ZL.mjs";
7
7
  import "../chunk-JPUFNW7X.mjs";
8
8
  import "../chunk-P5YLNB2A.mjs";
@@ -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,7 +1,7 @@
1
1
  import {
2
2
  unplugin
3
- } from "../chunk-XEYKUBLY.mjs";
4
- import "../chunk-ZNHTSSGI.mjs";
3
+ } from "../chunk-DKTGDNA7.mjs";
4
+ import "../chunk-AOIYCVEL.mjs";
5
5
  import "../chunk-I55G56ZL.mjs";
6
6
  import "../chunk-JPUFNW7X.mjs";
7
7
  import "../chunk-P5YLNB2A.mjs";
@@ -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,7 +1,7 @@
1
1
  import {
2
2
  unplugin
3
- } from "../chunk-XEYKUBLY.mjs";
4
- import "../chunk-ZNHTSSGI.mjs";
3
+ } from "../chunk-DKTGDNA7.mjs";
4
+ import "../chunk-AOIYCVEL.mjs";
5
5
  import "../chunk-I55G56ZL.mjs";
6
6
  import "../chunk-JPUFNW7X.mjs";
7
7
  import "../chunk-P5YLNB2A.mjs";