@alwaysmeticulous/custom-checks 2.291.2 → 2.292.1

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.
@@ -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]="81cc831a-9d1c-5d7f-bc42-c353685f8605")}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]="cd556762-8c3d-5988-af3c-a859d0147b2f")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  const vitest_1 = require("vitest");
@@ -121,30 +121,54 @@ const testRun = (id, status) => ({ id, status });
121
121
  });
122
122
  });
123
123
  (0, vitest_1.describe)("findTestRunByIdAndWaitForCompletion", () => {
124
+ // After the run reaches a terminal status the wait resolves the "effective"
125
+ // test run via the network-patching-result endpoint. These tests have no
126
+ // patching, so it reports the original run as not-in-progress.
127
+ const noNetworkPatching = (id) => ({
128
+ data: { effectiveTestRunId: id, isNetworkPatchingInProgress: false },
129
+ });
124
130
  (0, vitest_1.it)("polls until the test run reaches a terminal status", async () => {
125
- client.get
126
- .mockResolvedValueOnce({ data: testRun("tr-1", "Running") })
127
- .mockResolvedValueOnce({ data: testRun("tr-1", "PostProcessing") })
128
- .mockResolvedValueOnce({ data: testRun("tr-1", "Success") });
131
+ const statuses = [
132
+ "Running",
133
+ "PostProcessing",
134
+ "Success",
135
+ ];
136
+ let statusCalls = 0;
137
+ client.get.mockImplementation(async (url) => {
138
+ if (url.endsWith("/network-patching-result")) {
139
+ return noNetworkPatching("tr-1");
140
+ }
141
+ const status = statuses[Math.min(statusCalls, statuses.length - 1)];
142
+ statusCalls += 1;
143
+ return { data: testRun("tr-1", status) };
144
+ });
129
145
  const result = await (0, wait_for_test_run_1.findTestRunByIdAndWaitForCompletion)({
130
146
  client: asClient(),
131
147
  testRunId: "tr-1",
132
148
  pollIntervalMs: 1,
133
149
  });
134
150
  (0, vitest_1.expect)(result.testRun.status).toBe("Success");
135
- (0, vitest_1.expect)(client.get).toHaveBeenCalledTimes(3);
151
+ (0, vitest_1.expect)(result.testRunId).toBe("tr-1");
152
+ (0, vitest_1.expect)(statusCalls).toBe(3);
136
153
  });
137
154
  (0, vitest_1.it)("returns when a run leaves the in-progress states (e.g. Partial), not only on Success/Failure", async () => {
138
- client.get
139
- .mockResolvedValueOnce({ data: testRun("tr-1", "Running") })
140
- .mockResolvedValueOnce({ data: testRun("tr-1", "Partial") });
155
+ const statuses = ["Running", "Partial"];
156
+ let statusCalls = 0;
157
+ client.get.mockImplementation(async (url) => {
158
+ if (url.endsWith("/network-patching-result")) {
159
+ return noNetworkPatching("tr-1");
160
+ }
161
+ const status = statuses[Math.min(statusCalls, statuses.length - 1)];
162
+ statusCalls += 1;
163
+ return { data: testRun("tr-1", status) };
164
+ });
141
165
  const result = await (0, wait_for_test_run_1.findTestRunByIdAndWaitForCompletion)({
142
166
  client: asClient(),
143
167
  testRunId: "tr-1",
144
168
  pollIntervalMs: 1,
145
169
  });
146
170
  (0, vitest_1.expect)(result.testRun.status).toBe("Partial");
147
- (0, vitest_1.expect)(client.get).toHaveBeenCalledTimes(2);
171
+ (0, vitest_1.expect)(statusCalls).toBe(2);
148
172
  });
149
173
  (0, vitest_1.it)("throws once the timeout elapses", async () => {
150
174
  client.get.mockResolvedValue({ data: testRun("tr-1", "Running") });
@@ -158,9 +182,20 @@ const testRun = (id, status) => ({ id, status });
158
182
  });
159
183
  (0, vitest_1.describe)("findTestRunByCommitAndWaitForCompletion", () => {
160
184
  (0, vitest_1.it)("resolves the latest run for the commit, then waits for it to complete", async () => {
161
- client.get.mockImplementation(async (url) => url === "test-runs/cache"
162
- ? { data: testRun("tr-9", "Running") }
163
- : { data: testRun("tr-9", "Success") });
185
+ client.get.mockImplementation(async (url) => {
186
+ if (url === "test-runs/cache") {
187
+ return { data: testRun("tr-9", "Running") };
188
+ }
189
+ if (url.endsWith("/network-patching-result")) {
190
+ return {
191
+ data: {
192
+ effectiveTestRunId: "tr-9",
193
+ isNetworkPatchingInProgress: false,
194
+ },
195
+ };
196
+ }
197
+ return { data: testRun("tr-9", "Success") };
198
+ });
164
199
  const result = await (0, wait_for_test_run_1.findTestRunByCommitAndWaitForCompletion)({
165
200
  client: asClient(),
166
201
  commitSha: "abc123",
@@ -180,4 +215,4 @@ const testRun = (id, status) => ({ id, status });
180
215
  });
181
216
  });
182
217
  //# sourceMappingURL=custom-checks.spec.js.map
183
- //# debugId=81cc831a-9d1c-5d7f-bc42-c353685f8605
218
+ //# debugId=cd556762-8c3d-5988-af3c-a859d0147b2f
@@ -1 +1 @@
1
- {"version":3,"file":"custom-checks.spec.js","sources":["../../src/__tests__/custom-checks.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"81cc831a-9d1c-5d7f-bc42-c353685f8605"}
1
+ {"version":3,"file":"custom-checks.spec.js","sources":["../../src/__tests__/custom-checks.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"cd556762-8c3d-5988-af3c-a859d0147b2f"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,110 @@
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]="c05cdcf4-ae16-511c-91ec-5b0b321377ed")}catch(e){}}();
3
+
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ const client_1 = require("@alwaysmeticulous/client");
6
+ const common_1 = require("@alwaysmeticulous/common");
7
+ const vitest_1 = require("vitest");
8
+ const wait_for_test_run_1 = require("../wait-for-test-run");
9
+ vitest_1.vi.mock("@alwaysmeticulous/client", async (importOriginal) => {
10
+ const actual = await importOriginal();
11
+ return {
12
+ ...actual,
13
+ getTestRun: vitest_1.vi.fn(),
14
+ getTestRunNetworkPatchingResult: vitest_1.vi.fn(),
15
+ };
16
+ });
17
+ const ORIGINAL = "test-run-A";
18
+ const MERGED = "test-run-C";
19
+ const TIMEOUT_MS = 100;
20
+ const POLL_MS = 10;
21
+ // Fake clock that advances virtual time whenever the code sleeps, so the
22
+ // poll/timeout logic runs deterministically without real timers.
23
+ const makeClock = () => {
24
+ let current = 0;
25
+ return {
26
+ now: () => current,
27
+ sleep: vitest_1.vi.fn(async (ms) => {
28
+ current += ms;
29
+ }),
30
+ };
31
+ };
32
+ const phase = (clock) => ({
33
+ client: {},
34
+ testRunId: ORIGINAL,
35
+ pollIntervalMs: POLL_MS,
36
+ timeoutMs: TIMEOUT_MS,
37
+ startTime: 0,
38
+ logger: (0, common_1.initLogger)(),
39
+ clock,
40
+ });
41
+ const testRunFixture = (id) => ({ id, status: "Success" });
42
+ (0, vitest_1.beforeEach)(() => {
43
+ vitest_1.vi.clearAllMocks();
44
+ });
45
+ (0, vitest_1.describe)("resolveEffectiveTestRunId", () => {
46
+ (0, vitest_1.it)("returns the original run when the endpoint is unavailable (404 → null)", async () => {
47
+ client_1.getTestRunNetworkPatchingResult.mockResolvedValue(null);
48
+ await (0, vitest_1.expect)((0, wait_for_test_run_1.resolveEffectiveTestRunId)(phase(makeClock()))).resolves.toBe(ORIGINAL);
49
+ (0, vitest_1.expect)(client_1.getTestRunNetworkPatchingResult).toHaveBeenCalledTimes(1);
50
+ });
51
+ (0, vitest_1.it)("returns the merged run id once patching has settled", async () => {
52
+ client_1.getTestRunNetworkPatchingResult.mockResolvedValue({
53
+ effectiveTestRunId: MERGED,
54
+ isNetworkPatchingInProgress: false,
55
+ });
56
+ await (0, vitest_1.expect)((0, wait_for_test_run_1.resolveEffectiveTestRunId)(phase(makeClock()))).resolves.toBe(MERGED);
57
+ });
58
+ (0, vitest_1.it)("keeps polling while patching is in progress, then returns the merged run", async () => {
59
+ client_1.getTestRunNetworkPatchingResult
60
+ .mockResolvedValueOnce({
61
+ effectiveTestRunId: ORIGINAL,
62
+ isNetworkPatchingInProgress: true,
63
+ })
64
+ .mockResolvedValueOnce({
65
+ effectiveTestRunId: ORIGINAL,
66
+ isNetworkPatchingInProgress: true,
67
+ })
68
+ .mockResolvedValue({
69
+ effectiveTestRunId: MERGED,
70
+ isNetworkPatchingInProgress: false,
71
+ });
72
+ await (0, vitest_1.expect)((0, wait_for_test_run_1.resolveEffectiveTestRunId)(phase(makeClock()))).resolves.toBe(MERGED);
73
+ (0, vitest_1.expect)(client_1.getTestRunNetworkPatchingResult).toHaveBeenCalledTimes(3);
74
+ });
75
+ (0, vitest_1.it)("returns the best-known effective id if patching never settles before the timeout", async () => {
76
+ client_1.getTestRunNetworkPatchingResult.mockResolvedValue({
77
+ effectiveTestRunId: MERGED,
78
+ isNetworkPatchingInProgress: true,
79
+ });
80
+ await (0, vitest_1.expect)((0, wait_for_test_run_1.resolveEffectiveTestRunId)(phase(makeClock()))).resolves.toBe(MERGED);
81
+ });
82
+ (0, vitest_1.it)("retries transient errors and then succeeds", async () => {
83
+ client_1.getTestRunNetworkPatchingResult
84
+ .mockRejectedValueOnce(new Error("boom"))
85
+ .mockResolvedValue({
86
+ effectiveTestRunId: MERGED,
87
+ isNetworkPatchingInProgress: false,
88
+ });
89
+ await (0, vitest_1.expect)((0, wait_for_test_run_1.resolveEffectiveTestRunId)(phase(makeClock()))).resolves.toBe(MERGED);
90
+ (0, vitest_1.expect)(client_1.getTestRunNetworkPatchingResult).toHaveBeenCalledTimes(2);
91
+ });
92
+ (0, vitest_1.it)("falls back to the original run if transient errors persist past the timeout", async () => {
93
+ client_1.getTestRunNetworkPatchingResult.mockRejectedValue(new Error("persistent"));
94
+ await (0, vitest_1.expect)((0, wait_for_test_run_1.resolveEffectiveTestRunId)(phase(makeClock()))).resolves.toBe(ORIGINAL);
95
+ });
96
+ });
97
+ (0, vitest_1.describe)("fetchEffectiveTestRunOrFallback", () => {
98
+ (0, vitest_1.it)("returns the fetched merged run on success", async () => {
99
+ client_1.getTestRun.mockResolvedValue(testRunFixture(MERGED));
100
+ const original = testRunFixture(ORIGINAL);
101
+ await (0, vitest_1.expect)((0, wait_for_test_run_1.fetchEffectiveTestRunOrFallback)(phase(makeClock()), MERGED, original)).resolves.toEqual({ testRunId: MERGED, testRun: testRunFixture(MERGED) });
102
+ });
103
+ (0, vitest_1.it)("falls back to the original run if the merged run can't be fetched before the timeout", async () => {
104
+ client_1.getTestRun.mockRejectedValue(new Error("nope"));
105
+ const original = testRunFixture(ORIGINAL);
106
+ await (0, vitest_1.expect)((0, wait_for_test_run_1.fetchEffectiveTestRunOrFallback)(phase(makeClock()), MERGED, original)).resolves.toEqual({ testRunId: ORIGINAL, testRun: original });
107
+ });
108
+ });
109
+ //# sourceMappingURL=wait-for-test-run.spec.js.map
110
+ //# debugId=c05cdcf4-ae16-511c-91ec-5b0b321377ed
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-for-test-run.spec.js","sources":["../../src/__tests__/wait-for-test-run.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"c05cdcf4-ae16-511c-91ec-5b0b321377ed"}
@@ -1,5 +1,15 @@
1
1
  import type { TestRun } from "@alwaysmeticulous/api";
2
2
  import { type MeticulousClient } from "@alwaysmeticulous/client";
3
+ import { initLogger } from "@alwaysmeticulous/common";
4
+ type SdkLogger = ReturnType<typeof initLogger>;
5
+ /**
6
+ * Seam for the wall clock and sleeping, so the polling/grace logic can be
7
+ * unit-tested deterministically without real timers.
8
+ */
9
+ export interface WaitClock {
10
+ now: () => number;
11
+ sleep: (ms: number) => Promise<void>;
12
+ }
3
13
  export interface WaitForTestRunCompletionOptions {
4
14
  /** How often to poll the test run's status, in ms. Defaults to 10000. */
5
15
  pollIntervalMs?: number;
@@ -30,5 +40,45 @@ export type FindTestRunByIdAndWaitForCompletionOptions = WaitForTestRunCompletio
30
40
  /**
31
41
  * Waits for a known test run to reach a terminal status, returning it. Throws if
32
42
  * it does not complete within the timeout.
43
+ *
44
+ * If network patching (session repair) is or may be triggered for the run, the
45
+ * results surfaced in the Meticulous UI come from the merged test run, not the
46
+ * original run. In that case this waits for patching to settle and returns the
47
+ * merged test run, so that custom check results reported against the returned id
48
+ * are attached to the run the user actually sees. Resilient to runs where no
49
+ * patching happens, and to patching that never finishes (bounded by the timeout,
50
+ * after which the best-known effective test run is returned rather than throwing).
33
51
  */
34
52
  export declare const findTestRunByIdAndWaitForCompletion: ({ client, testRunId, pollIntervalMs, timeoutMs, }: FindTestRunByIdAndWaitForCompletionOptions) => Promise<WaitForTestRunResult>;
53
+ interface WaitPhaseOptions {
54
+ client: MeticulousClient;
55
+ testRunId: string;
56
+ pollIntervalMs: number;
57
+ timeoutMs: number;
58
+ startTime: number;
59
+ logger: SdkLogger;
60
+ clock: WaitClock;
61
+ }
62
+ export declare const pollUntilTestRunComplete: ({ client, testRunId, pollIntervalMs, timeoutMs, startTime, logger, clock, }: WaitPhaseOptions) => Promise<TestRun>;
63
+ /**
64
+ * Polls the backend for the effective test run to report custom check results
65
+ * against, waiting while network patching (session repair) is in progress.
66
+ *
67
+ * Returns the merged test run id once patching settles, or the original test run
68
+ * id when no patching applies. Resilient by design — it always returns an id
69
+ * rather than throwing, since the run has already completed by this point:
70
+ * - Older backends without the endpoint (404 → `null`) → original run.
71
+ * - Transient backend errors → keep retrying until the timeout, then fall back
72
+ * to the original run (rather than surfacing a brand-new failure mode in a
73
+ * window that previously couldn't fail).
74
+ * - Patching never settling → on timeout, the best-known effective id.
75
+ */
76
+ export declare const resolveEffectiveTestRunId: ({ client, testRunId, pollIntervalMs, timeoutMs, startTime, logger, clock, }: WaitPhaseOptions) => Promise<string>;
77
+ /**
78
+ * Fetches the resolved (merged) test run, retrying transient errors until the
79
+ * timeout and then falling back to the already-resolved original run. This keeps
80
+ * the guarantee that the wait returns a terminal run once the original is done,
81
+ * even if the merged run can't be fetched.
82
+ */
83
+ export declare const fetchEffectiveTestRunOrFallback: ({ client, pollIntervalMs, timeoutMs, startTime, logger, clock, }: WaitPhaseOptions, effectiveTestRunId: string, originalTestRun: TestRun) => Promise<WaitForTestRunResult>;
84
+ export {};
@@ -1,10 +1,14 @@
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]="a664558c-cc99-5c37-970f-d29df582961b")}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]="9d1e4052-118e-50cd-9450-c247768e5a1b")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.findTestRunByIdAndWaitForCompletion = exports.findTestRunByCommitAndWaitForCompletion = void 0;
5
+ exports.fetchEffectiveTestRunOrFallback = exports.resolveEffectiveTestRunId = exports.pollUntilTestRunComplete = exports.findTestRunByIdAndWaitForCompletion = exports.findTestRunByCommitAndWaitForCompletion = void 0;
6
6
  const client_1 = require("@alwaysmeticulous/client");
7
7
  const common_1 = require("@alwaysmeticulous/common");
8
+ const REAL_CLOCK = {
9
+ now: () => Date.now(),
10
+ sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms)),
11
+ };
8
12
  // Mirrors the base-test-run polling in the SDK's `pollWhileBaseNotFound`: poll on
9
13
  // a fixed interval, cap the total wait, and log progress at most once per
10
14
  // PROGRESS_LOG_INTERVAL_MS so a long-running script isn't silent.
@@ -32,10 +36,41 @@ exports.findTestRunByCommitAndWaitForCompletion = findTestRunByCommitAndWaitForC
32
36
  /**
33
37
  * Waits for a known test run to reach a terminal status, returning it. Throws if
34
38
  * it does not complete within the timeout.
39
+ *
40
+ * If network patching (session repair) is or may be triggered for the run, the
41
+ * results surfaced in the Meticulous UI come from the merged test run, not the
42
+ * original run. In that case this waits for patching to settle and returns the
43
+ * merged test run, so that custom check results reported against the returned id
44
+ * are attached to the run the user actually sees. Resilient to runs where no
45
+ * patching happens, and to patching that never finishes (bounded by the timeout,
46
+ * after which the best-known effective test run is returned rather than throwing).
35
47
  */
36
48
  const findTestRunByIdAndWaitForCompletion = async ({ client, testRunId, pollIntervalMs = DEFAULT_POLL_INTERVAL_MS, timeoutMs = DEFAULT_TIMEOUT_MS, }) => {
37
- const logger = (0, common_1.initLogger)();
38
- const startTime = Date.now();
49
+ const phase = {
50
+ client,
51
+ testRunId,
52
+ pollIntervalMs,
53
+ timeoutMs,
54
+ startTime: REAL_CLOCK.now(),
55
+ logger: (0, common_1.initLogger)(),
56
+ clock: REAL_CLOCK,
57
+ };
58
+ // Phase 1: wait for the requested test run to reach a terminal status.
59
+ const testRun = await (0, exports.pollUntilTestRunComplete)(phase);
60
+ // Phase 2: resolve the effective (merged) test run, accounting for network
61
+ // patching. Returns the original test run id when no patching applies.
62
+ const effectiveTestRunId = await (0, exports.resolveEffectiveTestRunId)(phase);
63
+ if (effectiveTestRunId === testRun.id) {
64
+ return { testRunId: testRun.id, testRun };
65
+ }
66
+ phase.logger.info(`Test run ${testRunId} was network patched; reporting against merged test run ${effectiveTestRunId}.`);
67
+ // Phase 3: fetch the merged run, falling back to the (already-terminal)
68
+ // original run if it can't be fetched, so a transient error here doesn't fail
69
+ // the whole wait after the run has completed.
70
+ return (0, exports.fetchEffectiveTestRunOrFallback)(phase, effectiveTestRunId, testRun);
71
+ };
72
+ exports.findTestRunByIdAndWaitForCompletion = findTestRunByIdAndWaitForCompletion;
73
+ const pollUntilTestRunComplete = async ({ client, testRunId, pollIntervalMs, timeoutMs, startTime, logger, clock, }) => {
39
74
  let lastLoggedElapsedMs = 0;
40
75
  for (;;) {
41
76
  const testRun = await (0, client_1.getTestRun)({ client, testRunId });
@@ -44,23 +79,101 @@ const findTestRunByIdAndWaitForCompletion = async ({ client, testRunId, pollInte
44
79
  // session pools), which is terminal enough and would otherwise hang here
45
80
  // until the timeout.
46
81
  if (!client_1.IN_PROGRESS_TEST_RUN_STATUS.includes(testRun.status)) {
47
- return { testRunId: testRun.id, testRun };
82
+ return testRun;
48
83
  }
49
- const elapsedMs = Date.now() - startTime;
84
+ const elapsedMs = clock.now() - startTime;
50
85
  if (elapsedMs > timeoutMs) {
51
86
  throw new Error(`Timed out after ${Math.round(timeoutMs / 1000)}s waiting for test run ${testRunId} to complete (current status: ${testRun.status}).`);
52
87
  }
53
88
  // Log progress at most once every PROGRESS_LOG_INTERVAL_MS (mirroring the
54
89
  // base-test-run wait) so a script blocked here for minutes isn't silent.
55
- if (lastLoggedElapsedMs === 0 ||
56
- elapsedMs - lastLoggedElapsedMs >= PROGRESS_LOG_INTERVAL_MS) {
90
+ if (shouldLogProgress(lastLoggedElapsedMs, elapsedMs)) {
57
91
  logger.info(`Waiting for test run ${testRunId} to complete (current status: ${testRun.status}). Time elapsed: ${Math.round(elapsedMs / 1000)}s`);
58
92
  lastLoggedElapsedMs = elapsedMs;
59
93
  }
60
- await sleep(pollIntervalMs);
94
+ await clock.sleep(pollIntervalMs);
61
95
  }
62
96
  };
63
- exports.findTestRunByIdAndWaitForCompletion = findTestRunByIdAndWaitForCompletion;
64
- const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
97
+ exports.pollUntilTestRunComplete = pollUntilTestRunComplete;
98
+ /**
99
+ * Polls the backend for the effective test run to report custom check results
100
+ * against, waiting while network patching (session repair) is in progress.
101
+ *
102
+ * Returns the merged test run id once patching settles, or the original test run
103
+ * id when no patching applies. Resilient by design — it always returns an id
104
+ * rather than throwing, since the run has already completed by this point:
105
+ * - Older backends without the endpoint (404 → `null`) → original run.
106
+ * - Transient backend errors → keep retrying until the timeout, then fall back
107
+ * to the original run (rather than surfacing a brand-new failure mode in a
108
+ * window that previously couldn't fail).
109
+ * - Patching never settling → on timeout, the best-known effective id.
110
+ */
111
+ const resolveEffectiveTestRunId = async ({ client, testRunId, pollIntervalMs, timeoutMs, startTime, logger, clock, }) => {
112
+ let lastLoggedElapsedMs = 0;
113
+ for (;;) {
114
+ let result;
115
+ try {
116
+ result = await (0, client_1.getTestRunNetworkPatchingResult)({ client, testRunId });
117
+ }
118
+ catch (error) {
119
+ // Transient error talking to the backend. The run already completed, so
120
+ // don't fail the wait — retry until the timeout, then fall back to the
121
+ // original run.
122
+ if (clock.now() - startTime > timeoutMs) {
123
+ logger.warn(`Giving up resolving the network-patched test run for ${testRunId} after a transient error; reporting against the original run. ${error}`);
124
+ return testRunId;
125
+ }
126
+ await clock.sleep(pollIntervalMs);
127
+ continue;
128
+ }
129
+ // Older backends don't support this endpoint; fall back to the original run.
130
+ if (!result) {
131
+ return testRunId;
132
+ }
133
+ if (!result.isNetworkPatchingInProgress) {
134
+ return result.effectiveTestRunId;
135
+ }
136
+ const elapsedMs = clock.now() - startTime;
137
+ if (elapsedMs > timeoutMs) {
138
+ logger.warn(`Timed out after ${Math.round(timeoutMs / 1000)}s waiting for network patching of test run ${testRunId} to complete; reporting against ${result.effectiveTestRunId}.`);
139
+ return result.effectiveTestRunId;
140
+ }
141
+ if (shouldLogProgress(lastLoggedElapsedMs, elapsedMs)) {
142
+ logger.info(`Test run ${testRunId} is being network patched; waiting for the merged test run to complete. Time elapsed: ${Math.round(elapsedMs / 1000)}s`);
143
+ lastLoggedElapsedMs = elapsedMs;
144
+ }
145
+ await clock.sleep(pollIntervalMs);
146
+ }
147
+ };
148
+ exports.resolveEffectiveTestRunId = resolveEffectiveTestRunId;
149
+ /**
150
+ * Fetches the resolved (merged) test run, retrying transient errors until the
151
+ * timeout and then falling back to the already-resolved original run. This keeps
152
+ * the guarantee that the wait returns a terminal run once the original is done,
153
+ * even if the merged run can't be fetched.
154
+ */
155
+ const fetchEffectiveTestRunOrFallback = async ({ client, pollIntervalMs, timeoutMs, startTime, logger, clock, }, effectiveTestRunId, originalTestRun) => {
156
+ for (;;) {
157
+ try {
158
+ const effectiveTestRun = await (0, client_1.getTestRun)({
159
+ client,
160
+ testRunId: effectiveTestRunId,
161
+ });
162
+ return { testRunId: effectiveTestRun.id, testRun: effectiveTestRun };
163
+ }
164
+ catch (error) {
165
+ if (clock.now() - startTime > timeoutMs) {
166
+ logger.warn(`Could not fetch merged test run ${effectiveTestRunId} after a transient error; reporting against the original run ${originalTestRun.id}. ${error}`);
167
+ return { testRunId: originalTestRun.id, testRun: originalTestRun };
168
+ }
169
+ await clock.sleep(pollIntervalMs);
170
+ }
171
+ }
172
+ };
173
+ exports.fetchEffectiveTestRunOrFallback = fetchEffectiveTestRunOrFallback;
174
+ // Log progress at most once every PROGRESS_LOG_INTERVAL_MS so a script blocked
175
+ // here for minutes isn't silent.
176
+ const shouldLogProgress = (lastLoggedElapsedMs, elapsedMs) => lastLoggedElapsedMs === 0 ||
177
+ elapsedMs - lastLoggedElapsedMs >= PROGRESS_LOG_INTERVAL_MS;
65
178
  //# sourceMappingURL=wait-for-test-run.js.map
66
- //# debugId=a664558c-cc99-5c37-970f-d29df582961b
179
+ //# debugId=9d1e4052-118e-50cd-9450-c247768e5a1b
@@ -1 +1 @@
1
- {"version":3,"file":"wait-for-test-run.js","sources":["../src/wait-for-test-run.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,qDAKkC;AAClC,qDAAsD;AAEtD,kFAAkF;AAClF,0EAA0E;AAC1E,kEAAkE;AAClE,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AAC3C,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAuBxC;;;;GAIG;AACI,MAAM,uCAAuC,GAAG,KAAK,EAAE,EAC5D,MAAM,EACN,SAAS,EACT,GAAG,WAAW,EACiC,EAAiC,EAAE;IAClF,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAuB,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,gCAAgC,SAAS,gGAAgG,CAC1I,CAAC;IACJ,CAAC;IACD,IAAA,mBAAU,GAAE,CAAC,IAAI,CACf,kBAAkB,MAAM,CAAC,EAAE,eAAe,SAAS,iCAAiC,CACrF,CAAC;IACF,OAAO,IAAA,2CAAmC,EAAC;QACzC,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,EAAE;QACpB,GAAG,WAAW;KACf,CAAC,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,uCAAuC,2CAmBlD;AAQF;;;GAGG;AACI,MAAM,mCAAmC,GAAG,KAAK,EAAE,EACxD,MAAM,EACN,SAAS,EACT,cAAc,GAAG,wBAAwB,EACzC,SAAS,GAAG,kBAAkB,GACa,EAAiC,EAAE;IAC9E,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAE5B,SAAS,CAAC;QACR,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAU,EAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACxD,6EAA6E;QAC7E,uEAAuE;QACvE,yEAAyE;QACzE,qBAAqB;QACrB,IAAI,CAAC,oCAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACzC,IAAI,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,CAAC,KAAK,CAC3B,SAAS,GAAG,IAAI,CACjB,0BAA0B,SAAS,iCAAiC,OAAO,CAAC,MAAM,IAAI,CACxF,CAAC;QACJ,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,IACE,mBAAmB,KAAK,CAAC;YACzB,SAAS,GAAG,mBAAmB,IAAI,wBAAwB,EAC3D,CAAC;YACD,MAAM,CAAC,IAAI,CACT,wBAAwB,SAAS,iCAAiC,OAAO,CAAC,MAAM,oBAAoB,IAAI,CAAC,KAAK,CAC5G,SAAS,GAAG,IAAI,CACjB,GAAG,CACL,CAAC;YACF,mBAAmB,GAAG,SAAS,CAAC;QAClC,CAAC;QAED,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC;AA7CW,QAAA,mCAAmC,uCA6C9C;AAEF,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAC1C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC","debugId":"a664558c-cc99-5c37-970f-d29df582961b"}
1
+ {"version":3,"file":"wait-for-test-run.js","sources":["../src/wait-for-test-run.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"9d1e4052-118e-50cd-9450-c247768e5a1b"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwaysmeticulous/custom-checks",
3
- "version": "2.291.2",
3
+ "version": "2.292.1",
4
4
  "description": "Helpers for writing Meticulous custom checks: fetch snapshots, wait for a test run, and report results from any script",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -10,10 +10,10 @@
10
10
  ],
11
11
  "dependencies": {
12
12
  "p-limit": "^3.1.0",
13
- "@alwaysmeticulous/api": "2.291.2",
14
- "@alwaysmeticulous/client": "2.291.2",
13
+ "@alwaysmeticulous/api": "2.292.1",
14
+ "@alwaysmeticulous/client": "2.292.1",
15
15
  "@alwaysmeticulous/common": "2.290.3",
16
- "@alwaysmeticulous/downloading-helpers": "2.291.2"
16
+ "@alwaysmeticulous/downloading-helpers": "2.292.1"
17
17
  },
18
18
  "devDependencies": {
19
19
  "vitest": "^4.1.4"