@bitfab/sdk 0.76.1 → 0.76.3

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 (89) hide show
  1. package/dist/{babelPlugin-BpEeVvk4.cjs → babelPlugin-C4ERQ8DW.cjs} +118 -69
  2. package/dist/babelPlugin-C4ERQ8DW.cjs.map +1 -0
  3. package/dist/{babelPlugin-PgjdBuQe.js → babelPlugin-tupc_WZS.js} +50 -1
  4. package/dist/babelPlugin-tupc_WZS.js.map +1 -0
  5. package/dist/baml.cjs +1 -1
  6. package/dist/baml.js +1 -1
  7. package/dist/bamlPeer-BxJO7-pm.cjs +169 -0
  8. package/dist/bamlPeer-BxJO7-pm.cjs.map +1 -0
  9. package/dist/bamlPeer-CWPgBSlJ.js +109 -0
  10. package/dist/bamlPeer-CWPgBSlJ.js.map +1 -0
  11. package/dist/{http-ykHGNcju.cjs → http-7exfDbAK.cjs} +68 -3
  12. package/dist/{http-DS1QjBvx.js.map → http-7exfDbAK.cjs.map} +1 -1
  13. package/dist/{http-DS1QjBvx.js → http-BA7vmvuC.js} +56 -3
  14. package/dist/http-BA7vmvuC.js.map +1 -0
  15. package/dist/{index-BYv4DSsY.d.cts → index-CmO7Xmwl.d.cts} +1 -1
  16. package/dist/{index-BYv4DSsY.d.ts → index-CmO7Xmwl.d.ts} +1 -1
  17. package/dist/index.cjs +2 -2
  18. package/dist/index.d.cts +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.js +2 -2
  21. package/dist/{loaderRuntime-0huddOOP.d.ts → loaderRuntime-AETv8Pt4.d.ts} +1 -1
  22. package/dist/{loaderRuntime-CslfDFO7.d.cts → loaderRuntime-BGUu666e.d.cts} +1 -1
  23. package/dist/node.cjs +2 -2
  24. package/dist/node.d.cts +1 -1
  25. package/dist/node.d.ts +1 -1
  26. package/dist/node.js +2 -2
  27. package/dist/{registryCommand-D1VgfJjC.js → registryCommand-M1u4H9PI.js} +30 -14
  28. package/dist/registryCommand-M1u4H9PI.js.map +1 -0
  29. package/dist/replayCli.js +1 -1
  30. package/dist/seedCli.js +1 -1
  31. package/dist/{src-CLkegn-P.cjs → src-BMMKf1sR.cjs} +35 -34
  32. package/dist/src-BMMKf1sR.cjs.map +1 -0
  33. package/dist/{src-BJjbR3Nq.js → src-CYs1uXoX.js} +35 -34
  34. package/dist/src-CYs1uXoX.js.map +1 -0
  35. package/dist/transform/babel.cjs +1 -1
  36. package/dist/transform/babel.d.cts +1 -1
  37. package/dist/transform/babel.d.ts +1 -1
  38. package/dist/transform/babel.js +1 -1
  39. package/dist/transform/bun.d.cts +1 -1
  40. package/dist/transform/bun.d.ts +1 -1
  41. package/dist/transform/esbuild.d.cts +1 -1
  42. package/dist/transform/esbuild.d.ts +1 -1
  43. package/dist/transform/loaderRuntime.cjs +3 -3
  44. package/dist/transform/loaderRuntime.d.cts +1 -1
  45. package/dist/transform/loaderRuntime.d.ts +1 -1
  46. package/dist/transform/loaderRuntime.js +3 -3
  47. package/dist/transform/nest.d.cts +1 -1
  48. package/dist/transform/nest.d.ts +1 -1
  49. package/dist/transform/next.d.cts +1 -1
  50. package/dist/transform/next.d.ts +1 -1
  51. package/dist/transform/nodeLoader.js +56 -2
  52. package/dist/transform/nodeLoader.js.map +1 -1
  53. package/dist/transform/rolldown.d.cts +1 -1
  54. package/dist/transform/rolldown.d.ts +1 -1
  55. package/dist/transform/rollup.d.cts +1 -1
  56. package/dist/transform/rollup.d.ts +1 -1
  57. package/dist/transform/rsbuild.d.cts +1 -1
  58. package/dist/transform/rsbuild.d.ts +1 -1
  59. package/dist/transform/rspack.d.cts +1 -1
  60. package/dist/transform/rspack.d.ts +1 -1
  61. package/dist/transform/swc.cjs +1 -1
  62. package/dist/transform/swc.d.cts +1 -1
  63. package/dist/transform/swc.d.ts +1 -1
  64. package/dist/transform/swc.js +1 -1
  65. package/dist/transform/unplugin.cjs +2 -2
  66. package/dist/transform/unplugin.d.cts +1 -1
  67. package/dist/transform/unplugin.d.ts +1 -1
  68. package/dist/transform/unplugin.js +2 -2
  69. package/dist/transform/vite.d.cts +1 -1
  70. package/dist/transform/vite.d.ts +1 -1
  71. package/dist/transform/webpack.d.cts +1 -1
  72. package/dist/transform/webpack.d.ts +1 -1
  73. package/dist/{transform-Cdg7CSbP.cjs → transform-CcNCVr8A.cjs} +2 -2
  74. package/dist/{transform-Cdg7CSbP.cjs.map → transform-CcNCVr8A.cjs.map} +1 -1
  75. package/dist/{transform-BhazCKOg.js → transform-mb6EwHsJ.js} +2 -2
  76. package/dist/{transform-BhazCKOg.js.map → transform-mb6EwHsJ.js.map} +1 -1
  77. package/dist/{transformOptions-BsjCELkh.d.cts → transformOptions-uNuIpBAA.d.cts} +2 -0
  78. package/dist/{transformOptions-BsjCELkh.d.ts → transformOptions-uNuIpBAA.d.ts} +2 -0
  79. package/package.json +1 -1
  80. package/dist/babelPlugin-BpEeVvk4.cjs.map +0 -1
  81. package/dist/babelPlugin-PgjdBuQe.js.map +0 -1
  82. package/dist/bamlPeer-5Ohpq8q9.cjs +0 -74
  83. package/dist/bamlPeer-5Ohpq8q9.cjs.map +0 -1
  84. package/dist/bamlPeer-Dyeb3e5o.js +0 -20
  85. package/dist/bamlPeer-Dyeb3e5o.js.map +0 -1
  86. package/dist/http-ykHGNcju.cjs.map +0 -1
  87. package/dist/registryCommand-D1VgfJjC.js.map +0 -1
  88. package/dist/src-BJjbR3Nq.js.map +0 -1
  89. package/dist/src-CLkegn-P.cjs.map +0 -1
package/dist/replayCli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { a as runRegistryMain, c as runSeedCli, i as runIfEntrypoint, n as parseRegistryCommandArgs, o as checkReplayCliArgs, r as resolveRegistry, s as runReplayCli, t as importRegistry } from "./registryCommand-D1VgfJjC.js";
2
+ import { a as runRegistryMain, c as runSeedCli, i as runIfEntrypoint, n as parseRegistryCommandArgs, o as checkReplayCliArgs, r as resolveRegistry, s as runReplayCli, t as importRegistry } from "./registryCommand-M1u4H9PI.js";
3
3
  //#region src/cloudReplayCli.ts
4
4
  const CLOUD_REPLAY_HINT = "Add --cloud to run the same replay on GitHub Actions; bitfab-replay --cloud --help explains it.";
5
5
  function isCloudReplayCommand(argv) {
package/dist/seedCli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { a as runRegistryMain, c as runSeedCli, i as runIfEntrypoint, n as parseRegistryCommandArgs, r as resolveRegistry, t as importRegistry } from "./registryCommand-D1VgfJjC.js";
2
+ import { a as runRegistryMain, c as runSeedCli, i as runIfEntrypoint, n as parseRegistryCommandArgs, r as resolveRegistry, t as importRegistry } from "./registryCommand-M1u4H9PI.js";
3
3
  //#region src/seedCli.ts
4
4
  const USAGE = "Usage: bitfab-seed --registry <path> <pipeline> --from-trace <id>[,<id>...]\n bitfab-seed --registry <path> <pipeline> --cases <cases.jsonl> [--run]\nRun bitfab-seed --registry <path> <pipeline> --help for details.";
5
5
  async function runSeedCommand(argv, io = {}, importer = importRegistry) {
@@ -1,5 +1,5 @@
1
- const require_bamlPeer = require("./bamlPeer-5Ohpq8q9.cjs");
2
- const require_http = require("./http-ykHGNcju.cjs");
1
+ const require_bamlPeer = require("./bamlPeer-BxJO7-pm.cjs");
2
+ const require_http = require("./http-7exfDbAK.cjs");
3
3
  const require_autoTrace = require("./autoTrace-pZKu5Nk2.cjs");
4
4
  const require_optionalPeer = require("./optionalPeer-CUH756lt.cjs");
5
5
  let superjson = require("superjson");
@@ -4022,22 +4022,10 @@ function errorMessage(error) {
4022
4022
  }
4023
4023
  function replayItemErrorMessage(error) {
4024
4024
  if (error instanceof DbBranchReplayError) return `Replay requested a database branch for trace ${error.originalTraceId} but it could not be resolved (${error.code}): ${error.message}. The function was not run, because replaying it against the live database would produce a result that looks valid but did not use the historical data you asked for.`;
4025
- return errorMessage(error);
4025
+ return require_http.describeError(error);
4026
4026
  }
4027
4027
  function replayJsonReplacer(_key, value) {
4028
- if (value instanceof Error) {
4029
- const serialized = {
4030
- name: value.name,
4031
- message: value.message,
4032
- stack: value.stack
4033
- };
4034
- if (value instanceof DbBranchReplayError) {
4035
- serialized.code = value.code;
4036
- serialized.originalTraceId = value.originalTraceId;
4037
- if (value.cause !== void 0) serialized.cause = value.cause;
4038
- }
4039
- return serialized;
4040
- }
4028
+ if (value instanceof Error) return require_http.serializeError(value, (error) => error instanceof DbBranchReplayError ? { originalTraceId: error.originalTraceId } : {});
4041
4029
  return value;
4042
4030
  }
4043
4031
  function serializeReplayResult(result) {
@@ -4216,7 +4204,7 @@ async function processItem(httpClient, serverItem, fn, experimentId, mockStrateg
4216
4204
  } catch (e) {
4217
4205
  if (replayStarted !== null) replayDurationMs = Math.round(performance.now() - replayStarted);
4218
4206
  traceError = e;
4219
- error = errorMessage(e);
4207
+ error = require_http.describeError(e);
4220
4208
  }
4221
4209
  } catch (e) {
4222
4210
  if (replayStarted !== null) replayDurationMs = Math.round(performance.now() - replayStarted);
@@ -5700,7 +5688,7 @@ function wrapAsyncGenerator(source, spanStack, sendSpan, recordYielded) {
5700
5688
  } else yielded.push(result.value);
5701
5689
  return result;
5702
5690
  } catch (error) {
5703
- finalize(error instanceof Error ? error.message : String(error));
5691
+ finalize(require_http.describeError(error));
5704
5692
  throw error;
5705
5693
  }
5706
5694
  };
@@ -5724,12 +5712,18 @@ function wrapAsyncGenerator(source, spanStack, sendSpan, recordYielded) {
5724
5712
  return wrapped;
5725
5713
  }
5726
5714
  let cachedCollectorClass;
5727
- async function loadCollectorClass() {
5728
- if (cachedCollectorClass !== void 0) return cachedCollectorClass;
5729
- const baml = await require_bamlPeer.loadBamlModule();
5715
+ async function loadCollectorClass(options) {
5716
+ if (cachedCollectorClass !== void 0 && (cachedCollectorClass === null || options?.clientRuntime === void 0)) return cachedCollectorClass;
5717
+ const baml = await require_bamlPeer.loadBamlModule(options);
5730
5718
  if (!baml) return null;
5731
- cachedCollectorClass = baml.Collector;
5732
- return cachedCollectorClass;
5719
+ const CollectorClass = baml.Collector;
5720
+ if (require_bamlPeer.isSharedBamlModule(baml)) cachedCollectorClass = CollectorClass;
5721
+ return CollectorClass;
5722
+ }
5723
+ function bamlRuntimeOf(bamlClient) {
5724
+ if (typeof bamlClient !== "object" || bamlClient === null) return;
5725
+ const runtime = bamlClient.runtime;
5726
+ return typeof runtime === "object" && runtime !== null ? runtime : void 0;
5733
5727
  }
5734
5728
  function extractPromptFromCollector(collector) {
5735
5729
  try {
@@ -5849,13 +5843,19 @@ function invokeBamlWithCollector(invokeFn, CollectorClass) {
5849
5843
  settle();
5850
5844
  return result;
5851
5845
  }
5846
+ function warnIfAutoTracedBamlUntraced(CollectorClass) {
5847
+ if (!CollectorClass) require_autoTrace.warnOnce("autoTrace-baml-collector-unavailable", `@boundaryml/baml could not be loaded, so BAML calls under a trace root are recorded without their prompt, model, or token usage. If @boundaryml/baml is installed but your bundler hides it, add \`import "@bitfab/sdk/baml"\` once in your server code.`);
5848
+ }
5852
5849
  function invokeAutoTracedBaml(invokeFn, isAsync) {
5853
5850
  if (cachedCollectorClass) return invokeBamlWithCollector(invokeFn, cachedCollectorClass);
5854
5851
  if (cachedCollectorClass === null || !isAsync) {
5855
- loadCollectorClass();
5852
+ loadCollectorClass().then(warnIfAutoTracedBamlUntraced).catch(() => {});
5856
5853
  return invokeFn();
5857
5854
  }
5858
- return loadCollectorClass().then((CollectorClass) => CollectorClass ? invokeBamlWithCollector(invokeFn, CollectorClass) : invokeFn());
5855
+ return loadCollectorClass().then((CollectorClass) => {
5856
+ warnIfAutoTracedBamlUntraced(CollectorClass);
5857
+ return CollectorClass ? invokeBamlWithCollector(invokeFn, CollectorClass) : invokeFn();
5858
+ });
5859
5859
  }
5860
5860
  function isSpanType(value) {
5861
5861
  return require_http.SPAN_TYPES.some((spanType) => spanType === value);
@@ -6130,7 +6130,7 @@ var Bitfab = class {
6130
6130
  createAutoTraceRoot(traceFunctionKey, name, options, fn, rootFunctionName = "") {
6131
6131
  const self = this;
6132
6132
  self.simulationPlan.refresh();
6133
- loadCollectorClass();
6133
+ loadCollectorClass({ searchLoadedModules: false });
6134
6134
  require_autoTrace.installLangChainRunScopes();
6135
6135
  const runRootFunction = (receiver, args) => require_autoTrace.runAsAutoTraceRootFunction(rootFunctionName, () => fn.apply(receiver, args));
6136
6136
  const maxDepth = autoTraceLimit(options.maxDepth, DEFAULT_AUTO_TRACE_MAX_DEPTH);
@@ -6500,11 +6500,12 @@ var Bitfab = class {
6500
6500
  }
6501
6501
  const methodName = method.name;
6502
6502
  if (!methodName) throw new require_http.BitfabError("wrapBAML requires a named function (e.g., b.ClassifyText).");
6503
- loadCollectorClass();
6503
+ const collectorOptions = { clientRuntime: bamlRuntimeOf(bamlClient) };
6504
+ loadCollectorClass(collectorOptions);
6504
6505
  const wrappedFn = async (...args) => {
6505
- const CollectorClass = await loadCollectorClass();
6506
+ const CollectorClass = await loadCollectorClass(collectorOptions);
6506
6507
  if (!CollectorClass) {
6507
- require_autoTrace.warnOnce("wrapBAML-collector-unavailable", `@boundaryml/baml could not be loaded, so "${methodName}" and every other wrapBAML call run untraced: no prompt, model, or token usage is recorded and onCollector is not called. If @boundaryml/baml is installed and your app is bundled (Next.js with Turbopack, for example), add \`import "@bitfab/sdk/baml"\` once in your server code.`);
6508
+ require_autoTrace.warnOnce("wrapBAML-collector-unavailable", `@boundaryml/baml could not be loaded, so "${methodName}" and every other wrapBAML call run untraced: no prompt, model, or token usage is recorded and onCollector is not called. If @boundaryml/baml is installed but your bundler hides it, add \`import "@bitfab/sdk/baml"\` once in your server code.`);
6508
6509
  wrappedFn.collector = null;
6509
6510
  return await bamlClient[methodName](...args);
6510
6511
  }
@@ -6796,7 +6797,7 @@ var Bitfab = class {
6796
6797
  } catch (error) {
6797
6798
  sendSpan({
6798
6799
  result: void 0,
6799
- error: error instanceof Error ? error.message : String(error)
6800
+ error: require_http.describeError(error)
6800
6801
  });
6801
6802
  throw error;
6802
6803
  }
@@ -6806,7 +6807,7 @@ var Bitfab = class {
6806
6807
  }).catch((error) => {
6807
6808
  sendSpan({
6808
6809
  result: void 0,
6809
- error: error instanceof Error ? error.message : String(error)
6810
+ error: require_http.describeError(error)
6810
6811
  });
6811
6812
  throw error;
6812
6813
  });
@@ -7240,7 +7241,7 @@ var Bitfab = class {
7240
7241
  await runWithSeedContext({ traceId }, async () => target(...args));
7241
7242
  } finally {
7242
7243
  try {
7243
- const { flushTraces } = await Promise.resolve().then(() => require("./http-ykHGNcju.cjs")).then((n) => n.http_exports);
7244
+ const { flushTraces } = await Promise.resolve().then(() => require("./http-7exfDbAK.cjs")).then((n) => n.http_exports);
7244
7245
  await flushTraces(3e4);
7245
7246
  } finally {
7246
7247
  unrecorded = activeTraceStates.delete(traceId);
@@ -7458,7 +7459,7 @@ async function seedFromRegistry(registry, pipeline, cases, options = {}) {
7458
7459
  metadata: seedCase.metadata,
7459
7460
  sessionId: seedCase.sessionId
7460
7461
  }));
7461
- const { flushTraces } = await Promise.resolve().then(() => require("./http-ykHGNcju.cjs")).then((n) => n.http_exports);
7462
+ const { flushTraces } = await Promise.resolve().then(() => require("./http-7exfDbAK.cjs")).then((n) => n.http_exports);
7462
7463
  await flushTraces(3e4);
7463
7464
  return {
7464
7465
  pipeline,
@@ -7708,4 +7709,4 @@ Object.defineProperty(exports, "serializeReplayResult", {
7708
7709
  }
7709
7710
  });
7710
7711
 
7711
- //# sourceMappingURL=src-CLkegn-P.cjs.map
7712
+ //# sourceMappingURL=src-BMMKf1sR.cjs.map