bitfab 0.62.7 → 0.63.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 (36) hide show
  1. package/dist/autoTrace.cjs.map +1 -1
  2. package/dist/autoTrace.js +2 -2
  3. package/dist/{chunk-DAHOCXKQ.js → chunk-GNDDPHTZ.js} +24 -7
  4. package/dist/chunk-GNDDPHTZ.js.map +1 -0
  5. package/dist/{chunk-S2YDBMPJ.js → chunk-KI2TAU36.js} +8 -8
  6. package/dist/{chunk-S2YDBMPJ.js.map → chunk-KI2TAU36.js.map} +1 -1
  7. package/dist/{chunk-BAOIRE5T.js → chunk-MT36GJMW.js} +13 -2
  8. package/dist/{chunk-BAOIRE5T.js.map → chunk-MT36GJMW.js.map} +1 -1
  9. package/dist/{chunk-ACULRSMF.js → chunk-NUMYG5MD.js} +5 -5
  10. package/dist/{chunk-ACULRSMF.js.map → chunk-NUMYG5MD.js.map} +1 -1
  11. package/dist/{chunk-U6S5C7WE.js → chunk-TTWRFQPU.js} +22 -25
  12. package/dist/chunk-TTWRFQPU.js.map +1 -0
  13. package/dist/{chunk-ALEQLDHW.js → chunk-VLBEFEIP.js} +15 -4
  14. package/dist/chunk-VLBEFEIP.js.map +1 -0
  15. package/dist/{chunk-K4XCWQBC.js → chunk-YWXQM6J3.js} +2 -2
  16. package/dist/{http-M63AQ3XH.js → http-EVUZHBV4.js} +2 -2
  17. package/dist/{http-7Z2B7R4F.js → http-N3TK6ASX.js} +3 -3
  18. package/dist/index.cjs +34 -27
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.d.cts +3 -7
  21. package/dist/index.d.ts +3 -7
  22. package/dist/index.js +5 -5
  23. package/dist/node.cjs +34 -27
  24. package/dist/node.cjs.map +1 -1
  25. package/dist/node.js +5 -5
  26. package/dist/{replay-E4YOU476.js → replay-ZH6CNI22.js} +10 -6
  27. package/dist/replayCli.js +2 -2
  28. package/dist/seedCli.js +2 -2
  29. package/package.json +1 -1
  30. package/dist/chunk-ALEQLDHW.js.map +0 -1
  31. package/dist/chunk-DAHOCXKQ.js.map +0 -1
  32. package/dist/chunk-U6S5C7WE.js.map +0 -1
  33. /package/dist/{chunk-K4XCWQBC.js.map → chunk-YWXQM6J3.js.map} +0 -0
  34. /package/dist/{http-7Z2B7R4F.js.map → http-EVUZHBV4.js.map} +0 -0
  35. /package/dist/{http-M63AQ3XH.js.map → http-N3TK6ASX.js.map} +0 -0
  36. /package/dist/{replay-E4YOU476.js.map → replay-ZH6CNI22.js.map} +0 -0
package/dist/index.cjs CHANGED
@@ -51,7 +51,7 @@ var __version__, __packageName__;
51
51
  var init_version_generated = __esm({
52
52
  "src/version.generated.ts"() {
53
53
  "use strict";
54
- __version__ = "0.62.7";
54
+ __version__ = "0.63.0";
55
55
  __packageName__ = "bitfab";
56
56
  }
57
57
  });
@@ -722,6 +722,16 @@ function warnOnce(key, message) {
722
722
  warned.add(key);
723
723
  warn(message);
724
724
  }
725
+ function writeOnce(key, line, write = console.warn) {
726
+ if (warned.has(key)) {
727
+ return;
728
+ }
729
+ warned.add(key);
730
+ try {
731
+ write(line);
732
+ } catch {
733
+ }
734
+ }
725
735
  var warned;
726
736
  var init_warnOnce = __esm({
727
737
  "src/warnOnce.ts"() {
@@ -2894,7 +2904,7 @@ var init_http = __esm({
2894
2904
  * Start a replay session by fetching historical traces.
2895
2905
  * Blocking call - creates an experiment and returns lightweight item references.
2896
2906
  */
2897
- async startReplay(traceFunctionKey, limit, traceIds, name, codeChangeDescription, codeChangeFiles, includeDbBranchLease, experimentGroupId, datasetIds, graderIds, dbBranchSettings, attempts, includeOriginalMetadata, onlyWithAssertions, judgeAssertions, experimentalSelectiveReplay, notes, metadata) {
2907
+ async startReplay(traceFunctionKey, limit, traceIds, name, codeChangeDescription, codeChangeFiles, includeDbBranchLease, experimentGroupId, datasetIds, graderIds, dbBranchSettings, attempts, includeOriginalMetadata, onlyWithAssertions, skipAssertionJudging, experimentalSelectiveReplay, notes, metadata) {
2898
2908
  const payload = { traceFunctionKey };
2899
2909
  if (experimentalSelectiveReplay !== void 0) {
2900
2910
  payload.experimentalSelectiveReplay = experimentalSelectiveReplay;
@@ -2949,7 +2959,7 @@ var init_http = __esm({
2949
2959
  if (onlyWithAssertions) {
2950
2960
  payload.onlyWithAssertions = true;
2951
2961
  }
2952
- if (judgeAssertions) {
2962
+ if (skipAssertionJudging !== true) {
2953
2963
  payload.judgeAssertions = true;
2954
2964
  }
2955
2965
  const git = await resolvedGitState();
@@ -3456,7 +3466,7 @@ async function captureCodeChangeFromGit(cwd, label) {
3456
3466
  if (!resolved2) {
3457
3467
  return null;
3458
3468
  }
3459
- const { base, fromTrunk } = resolved2;
3469
+ const { base, against } = resolved2;
3460
3470
  const blobBytes = async (ref2, path) => {
3461
3471
  const out = await git(root, ["cat-file", "-s", `${ref2}:${path}`]);
3462
3472
  const n = out ? Number.parseInt(out.trim(), 10) : Number.NaN;
@@ -3524,7 +3534,6 @@ async function captureCodeChangeFromGit(cwd, label) {
3524
3534
  const subject = (await git(root, ["log", "-1", "--format=%s", "HEAD"]))?.trim();
3525
3535
  const fileWord = files.length === 1 ? "file" : "files";
3526
3536
  const head = label?.trim() || subject || "Working-tree change";
3527
- const against = fromTrunk ? "vs trunk" : "uncommitted (vs HEAD)";
3528
3537
  return {
3529
3538
  description: `${head} (${files.length} ${fileWord} changed ${against})`,
3530
3539
  files
@@ -3537,18 +3546,9 @@ async function resolveBase(git, root) {
3537
3546
  const forced = process.env?.BITFAB_CODE_CHANGE_BASE;
3538
3547
  if (forced && await refExists(git, root, forced)) {
3539
3548
  const base = (await git(root, ["merge-base", "HEAD", forced]))?.trim() || (await git(root, ["rev-parse", "--verify", forced]))?.trim() || null;
3540
- return base ? { base, fromTrunk: true } : null;
3549
+ return base ? { base, against: `vs ${forced}` } : null;
3541
3550
  }
3542
- for (const candidate of TRUNK_CANDIDATES) {
3543
- if (!await refExists(git, root, candidate)) {
3544
- continue;
3545
- }
3546
- const mb = (await git(root, ["merge-base", "HEAD", candidate]))?.trim();
3547
- if (mb) {
3548
- return { base: mb, fromTrunk: true };
3549
- }
3550
- }
3551
- return await refExists(git, root, "HEAD") ? { base: "HEAD", fromTrunk: false } : null;
3551
+ return await refExists(git, root, "HEAD") ? { base: "HEAD", against: "uncommitted (vs HEAD)" } : null;
3552
3552
  }
3553
3553
  async function refExists(git, root, ref2) {
3554
3554
  return await git(root, ["rev-parse", "--verify", `${ref2}^{object}`]) !== null;
@@ -3582,7 +3582,7 @@ function parseNameStatusZ(raw) {
3582
3582
  function looksBinary(s) {
3583
3583
  return s.slice(0, 8e3).includes(NUL);
3584
3584
  }
3585
- var MAX_FILES, MAX_FILE_BYTES, MAX_TOTAL_BYTES, TRUNK_CANDIDATES, NUL;
3585
+ var MAX_FILES, MAX_FILE_BYTES, MAX_TOTAL_BYTES, NUL;
3586
3586
  var init_codeChange = __esm({
3587
3587
  "src/codeChange.ts"() {
3588
3588
  "use strict";
@@ -3590,13 +3590,6 @@ var init_codeChange = __esm({
3590
3590
  MAX_FILES = 60;
3591
3591
  MAX_FILE_BYTES = 5e5;
3592
3592
  MAX_TOTAL_BYTES = 2e6;
3593
- TRUNK_CANDIDATES = [
3594
- "origin/HEAD",
3595
- "origin/main",
3596
- "origin/master",
3597
- "main",
3598
- "master"
3599
- ];
3600
3593
  NUL = String.fromCharCode(0);
3601
3594
  }
3602
3595
  });
@@ -4051,13 +4044,15 @@ var replay_exports = {};
4051
4044
  __export(replay_exports, {
4052
4045
  BITFAB_PROGRESS_PREFIX: () => BITFAB_PROGRESS_PREFIX,
4053
4046
  DbBranchReplayError: () => DbBranchReplayError,
4047
+ JUDGE_ASSERTIONS_DEPRECATION_WARNING: () => JUDGE_ASSERTIONS_DEPRECATION_WARNING,
4054
4048
  ReplayError: () => ReplayError,
4055
4049
  deserializeInputs: () => deserializeInputs,
4056
4050
  replay: () => replay,
4057
4051
  reportReplayProgress: () => reportReplayProgress,
4058
4052
  serializeReplayResult: () => serializeReplayResult,
4059
4053
  sleepForReplayPersistence: () => sleepForReplayPersistence,
4060
- waitForReplayPersistence: () => waitForReplayPersistence
4054
+ waitForReplayPersistence: () => waitForReplayPersistence,
4055
+ warnJudgeAssertionsDeprecated: () => warnJudgeAssertionsDeprecated
4061
4056
  });
4062
4057
  function expandReplayWork(serverItems, attempts) {
4063
4058
  return Array.from(
@@ -4608,7 +4603,17 @@ async function mapWithConcurrency2(tasks, maxConcurrency, onSettled, onStarted,
4608
4603
  await Promise.all(workers);
4609
4604
  return results.slice(0, nextIndex);
4610
4605
  }
4606
+ function warnJudgeAssertionsDeprecated(write = console.warn) {
4607
+ writeOnce(
4608
+ "judgeAssertions-deprecated",
4609
+ JUDGE_ASSERTIONS_DEPRECATION_WARNING,
4610
+ write
4611
+ );
4612
+ }
4611
4613
  async function replay(httpClient, serviceUrl, traceFunctionKey, fn, options, registeredOverrides = []) {
4614
+ if (options?.judgeAssertions !== void 0) {
4615
+ warnJudgeAssertionsDeprecated();
4616
+ }
4612
4617
  if (options?.resume !== void 0) {
4613
4618
  validateResume(options.resume, options);
4614
4619
  } else if (options?.force === true) {
@@ -4685,7 +4690,7 @@ async function replay(httpClient, serviceUrl, traceFunctionKey, fn, options, reg
4685
4690
  requestedAttempts,
4686
4691
  options?.adaptInputs !== void 0,
4687
4692
  options?.onlyWithAssertions,
4688
- options?.judgeAssertions,
4693
+ options?.skipAssertionJudging === true || options?.judgeAssertions === false,
4689
4694
  options?.experimentalSelectiveReplay,
4690
4695
  options?.notes,
4691
4696
  options?.metadata
@@ -5060,7 +5065,7 @@ async function writeReplayResultFile(result) {
5060
5065
  }
5061
5066
  }
5062
5067
  }
5063
- var REPLAY_PERSISTENCE_TIMEOUT_MS, MAX_REPLAY_ATTEMPTS, RESUME_CONFLICTING_OPTIONS, CARRIED_OVER_ERROR, BITFAB_PROGRESS_PREFIX, ReplayError, DbBranchReplayError;
5068
+ var REPLAY_PERSISTENCE_TIMEOUT_MS, MAX_REPLAY_ATTEMPTS, RESUME_CONFLICTING_OPTIONS, CARRIED_OVER_ERROR, BITFAB_PROGRESS_PREFIX, ReplayError, DbBranchReplayError, JUDGE_ASSERTIONS_DEPRECATION_WARNING;
5064
5069
  var init_replay = __esm({
5065
5070
  "src/replay.ts"() {
5066
5071
  "use strict";
@@ -5075,6 +5080,7 @@ var init_replay = __esm({
5075
5080
  init_replayInterrupt();
5076
5081
  init_selectiveReplayRuntime();
5077
5082
  init_serialize();
5083
+ init_warnOnce();
5078
5084
  REPLAY_PERSISTENCE_TIMEOUT_MS = 3e4;
5079
5085
  MAX_REPLAY_ATTEMPTS = 100;
5080
5086
  RESUME_CONFLICTING_OPTIONS = [
@@ -5111,6 +5117,7 @@ var init_replay = __esm({
5111
5117
  this.name = "DbBranchReplayError";
5112
5118
  }
5113
5119
  };
5120
+ JUDGE_ASSERTIONS_DEPRECATION_WARNING = "Bitfab: judgeAssertions is deprecated. Assertion judging is on by default; pass skipAssertionJudging: true (--skip-assertion-judging) to turn it off.";
5114
5121
  }
5115
5122
  });
5116
5123