@alwaysmeticulous/cli 2.331.1 → 2.331.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 (41) hide show
  1. package/dist/commands/agent/complete-base-run.command.d.ts +0 -15
  2. package/dist/commands/agent/complete-base-run.command.d.ts.map +1 -1
  3. package/dist/commands/agent/complete-base-run.command.js +83 -88
  4. package/dist/commands/agent/complete-base-run.command.js.map +1 -1
  5. package/dist/commands/agent/complete-base-run.command.spec.js +113 -116
  6. package/dist/commands/agent/complete-base-run.command.spec.js.map +1 -1
  7. package/dist/commands/agent/js-coverage.command.handler.spec.js +2 -4
  8. package/dist/commands/agent/js-coverage.command.handler.spec.js.map +1 -1
  9. package/dist/commands/agent/js-coverage.command.js +6 -6
  10. package/dist/commands/agent/js-coverage.command.js.map +1 -1
  11. package/dist/commands/agent/test-run-check.command.d.ts.map +1 -1
  12. package/dist/commands/agent/test-run-check.command.js +17 -13
  13. package/dist/commands/agent/test-run-check.command.js.map +1 -1
  14. package/dist/commands/agent/test-run-check.command.spec.js +4 -4
  15. package/dist/commands/agent/test-run-check.command.spec.js.map +1 -1
  16. package/dist/commands/agent/test-run-diffs.command.d.ts.map +1 -1
  17. package/dist/commands/agent/test-run-diffs.command.js +27 -18
  18. package/dist/commands/agent/test-run-diffs.command.js.map +1 -1
  19. package/dist/commands/agent/test-run-diffs.command.spec.js +47 -3
  20. package/dist/commands/agent/test-run-diffs.command.spec.js.map +1 -1
  21. package/dist/commands/onboard/__tests__/install-skills.spec.js +120 -5
  22. package/dist/commands/onboard/__tests__/install-skills.spec.js.map +1 -1
  23. package/dist/commands/onboard/__tests__/safe-repo-fs.spec.js +104 -25
  24. package/dist/commands/onboard/__tests__/safe-repo-fs.spec.js.map +1 -1
  25. package/dist/commands/onboard/safe-repo-fs.d.ts +23 -16
  26. package/dist/commands/onboard/safe-repo-fs.d.ts.map +1 -1
  27. package/dist/commands/onboard/safe-repo-fs.js +78 -36
  28. package/dist/commands/onboard/safe-repo-fs.js.map +1 -1
  29. package/dist/commands/onboard/setup-agent-integrations.d.ts.map +1 -1
  30. package/dist/commands/onboard/setup-agent-integrations.js +92 -8
  31. package/dist/commands/onboard/setup-agent-integrations.js.map +1 -1
  32. package/dist/commands/onboard/templates/docs/reference/cli-commands.ts +1 -2
  33. package/dist/utils/base-run-rejection.d.ts +20 -0
  34. package/dist/utils/base-run-rejection.d.ts.map +1 -0
  35. package/dist/utils/base-run-rejection.js +48 -0
  36. package/dist/utils/base-run-rejection.js.map +1 -0
  37. package/dist/utils/resolve-test-run-from-commit.d.ts +0 -1
  38. package/dist/utils/resolve-test-run-from-commit.d.ts.map +1 -1
  39. package/dist/utils/resolve-test-run-from-commit.js +10 -8
  40. package/dist/utils/resolve-test-run-from-commit.js.map +1 -1
  41. package/package.json +8 -8
@@ -1,19 +1,4 @@
1
1
  import type { CommandModule } from "yargs";
2
- /**
3
- * `STALL_GRACE_MS` (imported as `POLL_TIMEOUT_MS`) is how long
4
- * `unexecutedSessionCount` must stay flat (no new sessions scheduled, count
5
- * unchanged) before giving up early rather than waiting out the full timeout.
6
- * A session pool has no status this command can wait on — see
7
- * {@link waitForBaseRunCompletion} — so a stall is detected from the
8
- * completeness count itself: sessions genuinely in flight keep moving as
9
- * their chunk completes, while sessions `completeBaseRun` currently has
10
- * nothing further to schedule for stay flat indefinitely. A chunk replays
11
- * many sessions together and only reports once the whole chunk finishes, so a
12
- * perfectly healthy chunk can show no progress at all for several minutes —
13
- * this has to be sized in minutes, not seconds, or it reads normal replay
14
- * time as a dead end. Kept well under `COMPLETION_TIMEOUT_MS` so a
15
- * genuinely-stuck run is still reported long before the full timeout.
16
- */
17
2
  interface Options {
18
3
  apiToken?: string | null | undefined;
19
4
  testRunId: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"complete-base-run.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/complete-base-run.command.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAkC3C;;;;;;;;;;;;;;GAcG;AAEH,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,4BAA4B,EAAE,OAAO,CAAC;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAmPD,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAkClE,CAAC"}
1
+ {"version":3,"file":"complete-base-run.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/complete-base-run.command.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AA8B3C,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,4BAA4B,EAAE,OAAO,CAAC;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AA4PD,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAkClE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="6ae8559d-2f56-59d9-bfee-229a83690c42")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="53799c39-30a2-5a99-9ca1-6b22a0620ad3")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.completeBaseRunCommand = void 0;
@@ -10,12 +10,6 @@ const sentry_utils_1 = require("../../command-utils/sentry.utils");
10
10
  const cli_user_error_1 = require("../../utils/cli-user-error");
11
11
  const error_response_body_1 = require("../../utils/error-response-body");
12
12
  const resolve_test_run_from_commit_1 = require("../../utils/resolve-test-run-from-commit");
13
- /**
14
- * How long to wait for a completed base run to finish. Longer than the usual
15
- * poll deadline: this waits out a full test run's replays (every selected
16
- * session), not a run that was already most of the way through.
17
- */
18
- const COMPLETION_TIMEOUT_MS = 45 * 60 * 1000;
19
13
  /** How often to re-check completion while waiting. */
20
14
  const POLL_INTERVAL_MS = 10_000;
21
15
  /**
@@ -56,40 +50,60 @@ const handler = async ({ apiToken, testRunId, commitSha, dontWaitForTestRunToCom
56
50
  else if (result.unexecutedSessionCount === 0) {
57
51
  (0, common_1.logNotice)(`Test run ${resolvedTestRunId} has already replayed all ${result.configuredSessionCount} of its selected sessions; nothing to do.`);
58
52
  }
59
- else {
53
+ else if (result.unexecutedSessionCount > result.unobtainableSessionCount) {
60
54
  (0, common_1.logNotice)(`Test run ${resolvedTestRunId} has nothing further to schedule right now, but ${result.unexecutedSessionCount} of its ${result.configuredSessionCount} selected sessions still lack a result — likely still in flight from an earlier call.`);
61
55
  }
62
- // Wait by default, so the run this returns is one whose coverage can be
63
- // asked for straight away the point of completing it. Nothing to wait for
64
- // once coverage is already servable.
65
- let { status, unexecutedSessionCount } = result;
66
- if (!dontWaitForTestRunToComplete && !isCoverageServable(result)) {
67
- ({ status, unexecutedSessionCount } = await waitForBaseRunCompletion(client, resolvedTestRunId, result));
56
+ else {
57
+ (0, common_1.logNotice)(`Test run ${resolvedTestRunId} has ${result.unobtainableSessionCount} of its ${result.configuredSessionCount} selected sessions that can no longer be replayed on it, and nothing left to schedule.`);
68
58
  }
59
+ // Wait by default, so the run this returns is one nothing more can be
60
+ // scheduled for — the point of completing it.
61
+ let { status, unexecutedSessionCount, unobtainableSessionCount } = result;
62
+ if (!dontWaitForTestRunToComplete && !hasReplayedAllItCan(result)) {
63
+ ({ status, unexecutedSessionCount, unobtainableSessionCount } =
64
+ await waitForBaseRunCompletion(client, resolvedTestRunId, result));
65
+ }
66
+ const output = {
67
+ ...result,
68
+ status,
69
+ unexecutedSessionCount,
70
+ unobtainableSessionCount,
71
+ };
69
72
  if (json) {
70
- (0, print_json_1.printJson)({ ...result, status, unexecutedSessionCount });
73
+ (0, print_json_1.printJson)(output);
71
74
  }
72
75
  else {
73
- printKeyValueLines({ ...result, status, unexecutedSessionCount });
76
+ printKeyValueLines(output);
74
77
  }
75
78
  };
76
79
  /**
77
- * Whether `js-coverage` will actually succeed for this run right now.
78
- * `unexecutedSessionCount === 0` alone isn't enough: session results land
79
- * per-chunk as soon as replays finish, but the coverage artifact `js-coverage`
80
- * serves is only rewritten by a later, separate post-process step — which is
81
- * also what settles a session pool's `status` into a genuinely completed one
82
- * once *its* snapshot of the configured set is fully covered (mirrors the
83
- * backend's own gate in `AgentApiService.assertBaseRunCoverageComplete`). So
84
- * both conditions must hold: nothing left unexecuted, and `status` has
85
- * settled rather than merely left `Partial` appending chunks takes a pool
86
- * through `Running`/`PostProcessing` first (`IN_PROGRESS_TEST_RUN_STATUS`),
87
- * and the artifact isn't guaranteed to include the new results until
88
- * post-process next runs.
80
+ * Whether the run is as complete as replaying can make it — what this command
81
+ * waits for, computed from the cheap read-only poll so the loop needs no
82
+ * write-path call to finish.
83
+ *
84
+ * `unexecutedSessionCount` reaching `unobtainableSessionCount` is the
85
+ * scheduling half: nothing is left that replaying could still supply.
86
+ * `isTestRunComplete` a usable `Success`/`Failure` verdict, matching the
87
+ * backend's own gate — is the artifact half: results land per-chunk as soon as
88
+ * replays finish, but the coverage `js-coverage` serves is only rewritten by a
89
+ * later, separate post-process step, which is also what settles a pool's
90
+ * status. Without it, a pool that has just been appended to looks done while
91
+ * the artifact still describes the old subset.
92
+ *
93
+ * Note this says nothing about whether the result is *good enough* for any
94
+ * particular consumer — whether a remainder that can never be replayed is a
95
+ * small enough share of the set to ignore is `js-coverage`'s question, and it
96
+ * answers it with the numbers when it refuses. This command's job ends at
97
+ * "nothing more can be scheduled".
89
98
  */
90
- const isCoverageServable = ({ status, unexecutedSessionCount, }) => unexecutedSessionCount === 0 &&
91
- status !== "Partial" &&
92
- !client_1.IN_PROGRESS_TEST_RUN_STATUS.includes(status);
99
+ const hasReplayedAllItCan = ({ status, unexecutedSessionCount, unobtainableSessionCount, }) => unexecutedSessionCount <= unobtainableSessionCount &&
100
+ (0, resolve_test_run_from_commit_1.isTestRunComplete)(status);
101
+ /** Reject a whole-run terminal failure instead of polling a state that cannot recover. */
102
+ const assertCoverageCanStillBecomeServable = (testRunId, status) => {
103
+ if ((0, resolve_test_run_from_commit_1.isTestRunFailed)(status) || status === "Skipped") {
104
+ (0, resolve_test_run_from_commit_1.assertTestRunComplete)(testRunId, status, { resultName: "coverage" });
105
+ }
106
+ };
93
107
  /**
94
108
  * The same session-completeness diff the backend's
95
109
  * `TestRunChunkService.findBaseRunSessionCompleteness` computes, done
@@ -110,85 +124,66 @@ const countUnexecutedSessions = (testRun) => {
110
124
  return unexecutedSessionCount;
111
125
  };
112
126
  /**
113
- * Waits until `complete-base-run`'s coverage is servable (see
114
- * {@link isCoverageServable}), polling the plain, read-only `getTestRun`
127
+ * Waits until the run has replayed everything it can (see
128
+ * {@link hasReplayedAllItCan}), polling the plain, read-only `getTestRun`
115
129
  * every {@link POLL_INTERVAL_MS} rather than re-invoking `complete-base-run`
116
130
  * itself (idempotent, but a write — see its own docstring) on every tick:
117
- * `getTestRun` already carries everything needed (see
118
- * {@link countUnexecutedSessions}), so most ticks need no write-path traffic
119
- * at all. `complete-base-run` is still re-invoked, at the coarser
120
- * {@link RESCHEDULE_INTERVAL_MS}, to actually pick up anything newly eligible
121
- * to (re-)schedule (see `BaseRunCompletionService.completeBaseRun`)
122
- * `getTestRun` only observes progress, it can't cause it.
131
+ * `getTestRun` carries enough to track progress (see
132
+ * {@link countUnexecutedSessions}), so most ticks need no write-path traffic at
133
+ * all. `complete-base-run` is re-invoked at the coarser
134
+ * {@link RESCHEDULE_INTERVAL_MS}, which is what picks up anything newly
135
+ * eligible to (re-)schedule (see `BaseRunCompletionService.completeBaseRun`)
136
+ * and what refreshes `unobtainableSessionCount`; `getTestRun` only observes
137
+ * progress, it can't cause it.
123
138
  *
124
139
  * A session pool's `status` by itself is not a wait-worthy signal: it can
125
140
  * rest in `Partial` indefinitely between requests (not "still running"), and
126
141
  * can equally sit in a stale `Success`/`Failure` from before this call's work
127
- * even starts (scheduling doesn't itself move the status). Unexecuted
128
- * sessions reaching `0` is the signal that scheduling is done; `status`
142
+ * even starts (scheduling doesn't itself move the status). Sessions that could
143
+ * still replay running out is the signal that scheduling is done; `status`
129
144
  * leaving `Partial` is the signal that the coverage artifact has caught up
130
145
  * with that.
131
146
  *
132
- * Gives up early rather than waiting out the full timeout — once the
133
- * unexecuted count has stayed flat for {@link STALL_GRACE_MS}. Sessions
134
- * actually in flight (scheduled by this call or an earlier one) keep moving
135
- * as their chunks complete, and a session whose chunk failed with
136
- * `ExecutionError` (e.g. its pod never actually ran) gets rescheduled the
137
- * next time this reaches {@link RESCHEDULE_INTERVAL_MS}so a *sustained*
138
- * flat count usually means the remainder is just taking longer than usual,
139
- * not that it's permanently stuck. This can't be told apart from a genuinely
140
- * wedged state with certainty, hence the hedged error message rather than a
141
- * confident diagnosis.
147
+ * Gives up after {@link POLL_TIMEOUT_MS} the same deadline
148
+ * `awaitTestRunCompletion` uses for a regular test run and returns
149
+ * whatever it has rather than erroring: a base run's remaining sessions can
150
+ * legitimately take longer than that to replay, so timing out here isn't a
151
+ * failure, just an "ask again later." A remainder that is definitively beyond
152
+ * recovering is not waited on at all it satisfies {@link hasReplayedAllItCan},
153
+ * so the command returns immediately and reports it.
142
154
  */
143
155
  const waitForBaseRunCompletion = async (client, testRunId, initial) => {
144
156
  (0, common_1.logProgress)(`Waiting for test run ${testRunId} to finish replaying...`);
145
- let unexecutedSessionCount = initial.unexecutedSessionCount;
157
+ let { unexecutedSessionCount, unobtainableSessionCount } = initial;
146
158
  let status = initial.status;
147
- let stalledSinceMs = null;
148
159
  let lastRescheduledAtMs = performance.now();
149
- const deadline = performance.now() + COMPLETION_TIMEOUT_MS;
150
- while (!isCoverageServable({ status, unexecutedSessionCount })) {
160
+ const deadline = performance.now() + resolve_test_run_from_commit_1.POLL_TIMEOUT_MS;
161
+ while (!hasReplayedAllItCan({
162
+ status,
163
+ unexecutedSessionCount,
164
+ unobtainableSessionCount,
165
+ })) {
151
166
  if (performance.now() >= deadline) {
152
- throw new cli_user_error_1.CliUserError(unexecutedSessionCount > 0
153
- ? `Test run ${testRunId} still has ${unexecutedSessionCount} session(s) without a result after ${Math.round(COMPLETION_TIMEOUT_MS / 60_000)} minutes. It may still be running — check back later, or re-run with --dontWaitForTestRunToComplete to return immediately.`
154
- : `Test run ${testRunId} has replayed all its selected sessions, but its coverage still hasn't finished being recomputed for the full set after ${Math.round(COMPLETION_TIMEOUT_MS / 60_000)} minutes (status: ${status}). Check back later, or re-run with --dontWaitForTestRunToComplete to return immediately.`);
167
+ (0, common_1.logNotice)(unexecutedSessionCount > unobtainableSessionCount
168
+ ? `Test run ${testRunId} still has ${unexecutedSessionCount - unobtainableSessionCount} session(s) that could still replay but have no result after ${Math.round(resolve_test_run_from_commit_1.POLL_TIMEOUT_MS / 60_000)} minutes. It may still be running — check back later, or re-run this command to keep waiting.`
169
+ : `Test run ${testRunId} has replayed everything it can, but its coverage still hasn't finished being recomputed for the full set after ${Math.round(resolve_test_run_from_commit_1.POLL_TIMEOUT_MS / 60_000)} minutes (status: ${status}). Check back later, or re-run this command to keep waiting.`);
170
+ return { status, unexecutedSessionCount, unobtainableSessionCount };
155
171
  }
156
172
  await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
157
173
  const testRun = await (0, client_1.getTestRun)({ client, testRunId });
158
- const newUnexecutedSessionCount = countUnexecutedSessions(testRun);
159
- const noProgress = newUnexecutedSessionCount === unexecutedSessionCount;
160
- unexecutedSessionCount = newUnexecutedSessionCount;
174
+ unexecutedSessionCount = countUnexecutedSessions(testRun);
161
175
  status = testRun.status;
162
- if (isCoverageServable({ status, unexecutedSessionCount })) {
163
- break;
164
- }
176
+ // A run that has gone fatally terminal will never serve coverage, so stop
177
+ // rather than polling a state that cannot recover.
178
+ assertCoverageCanStillBecomeServable(testRunId, status);
165
179
  const now = performance.now();
166
- if (!noProgress) {
167
- stalledSinceMs = null;
168
- }
169
- else if (stalledSinceMs == null) {
170
- stalledSinceMs = now;
171
- }
172
- else if (now - stalledSinceMs >= resolve_test_run_from_commit_1.POLL_TIMEOUT_MS) {
173
- throw new cli_user_error_1.CliUserError(unexecutedSessionCount > 0
174
- ? `Test run ${testRunId} still has ${unexecutedSessionCount} session(s) without a result, and complete-base-run has had nothing further to schedule for them for over ${Math.round(resolve_test_run_from_commit_1.POLL_TIMEOUT_MS / 60_000)} minutes — this may just need more time. Check back later, re-run with --dontWaitForTestRunToComplete to return immediately, or ask for the project's overall coverage instead (js-coverage --latestForProject).`
175
- : `Test run ${testRunId} has replayed all its selected sessions, but its coverage still hasn't finished being recomputed for the full set (status: ${status}) after over ${Math.round(resolve_test_run_from_commit_1.POLL_TIMEOUT_MS / 60_000)} minutes. This may just need more time — check back later, re-run with --dontWaitForTestRunToComplete to return immediately, or ask for the project's overall coverage instead (js-coverage --latestForProject).`);
176
- }
177
180
  if (now - lastRescheduledAtMs >= RESCHEDULE_INTERVAL_MS) {
178
181
  lastRescheduledAtMs = now;
179
- const rescheduled = await requestCompletion(client, testRunId);
180
- unexecutedSessionCount = rescheduled.unexecutedSessionCount;
181
- status = rescheduled.status;
182
- // Picking up newly-eligible work here is real progress even though
183
- // `unexecutedSessionCount` itself won't move until it lands a result —
184
- // without this, the stall clock (armed on an earlier, unrelated tick)
185
- // can still time out right after a reschedule found something to do.
186
- if (rescheduled.sessionsScheduled > 0) {
187
- stalledSinceMs = null;
188
- }
182
+ ({ unexecutedSessionCount, unobtainableSessionCount, status } =
183
+ await requestCompletion(client, testRunId));
189
184
  }
190
185
  }
191
- return { status, unexecutedSessionCount };
186
+ return { status, unexecutedSessionCount, unobtainableSessionCount };
192
187
  };
193
188
  /**
194
189
  * The backend's response-body `reason`s marking a request it declines as a
@@ -223,7 +218,7 @@ const printKeyValueLines = (result) => {
223
218
  };
224
219
  exports.completeBaseRunCommand = {
225
220
  command: "complete-base-run",
226
- describe: "Replay the selected sessions a base run has not run yet, so its coverage describes its commit. A base run (the usual outcome for a commit on your default branch) replays sessions on demand for whichever PRs compare against it, so it can sit at any fraction of the project's selected set, and agent js-coverage refuses it while any are missing or while its coverage hasn't finished being recomputed for the full set. This schedules the rest, then waits for its coverage to actually be servable (pass --dontWaitForTestRunToComplete to return as soon as the work is scheduled); a session pool's own status cannot be waited on directly, since it can rest indefinitely between requests. Outputs testRunId, status, unexecutedSessionCount, sessionsScheduled and configuredSessionCount, one per line; sessionsScheduled is 0 when the run had already replayed everything, or when everything left is already covered by a chunk from an earlier call (running this twice is a no-op, not an error), and unexecutedSessionCount is 0 once every selected session has a result — js-coverage additionally needs status to have settled into a completed status (not just left Partial: appending chunks passes through Running/PostProcessing first). Costs a full test run's replays, so ask for it when you want this commit's own coverage for a rough project-level picture 'agent js-coverage --latestForProject' is free. Fails for a run that is not a base run, is itself a dead end at the whole-run level (status ExecutionError/Aborted — not a single chunk, which is retried automatically), or whose deployment was an ephemeral tunnel that is no longer reachable; if nothing has changed for a while, this command reports that rather than waiting out the full timeout.",
221
+ describe: "Replay the selected sessions which a base run has not run yet. Outputs testRunId, status, unexecutedSessionCount, unobtainableSessionCount, sessionsScheduled and configuredSessionCount, one per line. A base run (in particular associated with a main branch commit) runs sessions on demand for whichever PRs compare against it, so only part of its selected set has run at any point. Useful when a run needs to stand for its whole commit rather than one PR's slice 'agent js-coverage', for instance, refuses an incomplete base run. Waits up to 10 minutes for nothing more to be schedulable (unexecutedSessionCount down to unobtainableSessionCount, the sessions that can never gain a result), returning whatever it has if that isn't reached by then; pass --dontWaitForTestRunToComplete to return as soon as the work is scheduled. Running it twice is a no-op, not an error.",
227
222
  builder: {
228
223
  apiToken: { string: true, description: "Meticulous API token." },
229
224
  testRunId: {
@@ -252,4 +247,4 @@ exports.completeBaseRunCommand = {
252
247
  handler: (0, sentry_utils_1.wrapHandler)(handler),
253
248
  };
254
249
  //# sourceMappingURL=complete-base-run.command.js.map
255
- //# debugId=6ae8559d-2f56-59d9-bfee-229a83690c42
250
+ //# debugId=53799c39-30a2-5a99-9ca1-6b22a0620ad3
@@ -1 +1 @@
1
- {"version":3,"file":"complete-base-run.command.js","sources":["../../../src/commands/agent/complete-base-run.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"6ae8559d-2f56-59d9-bfee-229a83690c42"}
1
+ {"version":3,"file":"complete-base-run.command.js","sources":["../../../src/commands/agent/complete-base-run.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"53799c39-30a2-5a99-9ca1-6b22a0620ad3"}