@alwaysmeticulous/cli 2.314.0 → 2.317.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 (79) hide show
  1. package/dist/command-utils/parse-container-env.d.ts +2 -2
  2. package/dist/command-utils/parse-container-env.js +2 -2
  3. package/dist/commands/agent/js-coverage.command.d.ts +29 -0
  4. package/dist/commands/agent/js-coverage.command.d.ts.map +1 -1
  5. package/dist/commands/agent/js-coverage.command.handler.spec.d.ts +2 -0
  6. package/dist/commands/agent/js-coverage.command.handler.spec.d.ts.map +1 -0
  7. package/dist/commands/agent/js-coverage.command.handler.spec.js +148 -0
  8. package/dist/commands/agent/js-coverage.command.handler.spec.js.map +1 -0
  9. package/dist/commands/agent/js-coverage.command.js +120 -22
  10. package/dist/commands/agent/js-coverage.command.js.map +1 -1
  11. package/dist/commands/agent/js-coverage.command.spec.js +83 -2
  12. package/dist/commands/agent/js-coverage.command.spec.js.map +1 -1
  13. package/dist/commands/agent/test-run-diffs.command.d.ts.map +1 -1
  14. package/dist/commands/agent/test-run-diffs.command.js +10 -5
  15. package/dist/commands/agent/test-run-diffs.command.js.map +1 -1
  16. package/dist/commands/agent/test-run-diffs.command.spec.js +17 -2
  17. package/dist/commands/agent/test-run-diffs.command.spec.js.map +1 -1
  18. package/dist/commands/all-commands.d.ts.map +1 -1
  19. package/dist/commands/all-commands.js +4 -2
  20. package/dist/commands/all-commands.js.map +1 -1
  21. package/dist/commands/auth/__tests__/get-project.command.spec.js +9 -3
  22. package/dist/commands/auth/__tests__/get-project.command.spec.js.map +1 -1
  23. package/dist/commands/auth/__tests__/set-project.command.spec.js +9 -4
  24. package/dist/commands/auth/__tests__/set-project.command.spec.js.map +1 -1
  25. package/dist/commands/auth/__tests__/whoami.command.spec.js +40 -2
  26. package/dist/commands/auth/__tests__/whoami.command.spec.js.map +1 -1
  27. package/dist/commands/ci/agent-test.command.d.ts +1 -0
  28. package/dist/commands/ci/agent-test.command.d.ts.map +1 -1
  29. package/dist/commands/ci/agent-test.command.js +19 -4
  30. package/dist/commands/ci/agent-test.command.js.map +1 -1
  31. package/dist/commands/crawl.command.d.ts +11 -0
  32. package/dist/commands/crawl.command.d.ts.map +1 -0
  33. package/dist/commands/crawl.command.js +118 -0
  34. package/dist/commands/crawl.command.js.map +1 -0
  35. package/dist/commands/record/__tests__/backend-dev-command.utils.spec.d.ts +2 -0
  36. package/dist/commands/record/__tests__/backend-dev-command.utils.spec.d.ts.map +1 -0
  37. package/dist/commands/record/__tests__/backend-dev-command.utils.spec.js +94 -0
  38. package/dist/commands/record/__tests__/backend-dev-command.utils.spec.js.map +1 -0
  39. package/dist/commands/record/__tests__/backend-sidecar.utils.spec.d.ts +2 -0
  40. package/dist/commands/record/__tests__/backend-sidecar.utils.spec.d.ts.map +1 -0
  41. package/dist/commands/record/__tests__/backend-sidecar.utils.spec.js +183 -0
  42. package/dist/commands/record/__tests__/backend-sidecar.utils.spec.js.map +1 -0
  43. package/dist/commands/record/__tests__/backend.command.spec.d.ts +2 -0
  44. package/dist/commands/record/__tests__/backend.command.spec.d.ts.map +1 -0
  45. package/dist/commands/record/__tests__/backend.command.spec.js +219 -0
  46. package/dist/commands/record/__tests__/backend.command.spec.js.map +1 -0
  47. package/dist/commands/record/backend-dev-command.utils.d.ts +29 -0
  48. package/dist/commands/record/backend-dev-command.utils.d.ts.map +1 -0
  49. package/dist/commands/record/backend-dev-command.utils.js +91 -0
  50. package/dist/commands/record/backend-dev-command.utils.js.map +1 -0
  51. package/dist/commands/record/backend-sidecar.utils.d.ts +39 -0
  52. package/dist/commands/record/backend-sidecar.utils.d.ts.map +1 -0
  53. package/dist/commands/record/backend-sidecar.utils.js +273 -0
  54. package/dist/commands/record/backend-sidecar.utils.js.map +1 -0
  55. package/dist/commands/record/backend.command.d.ts +14 -0
  56. package/dist/commands/record/backend.command.d.ts.map +1 -0
  57. package/dist/commands/record/backend.command.js +189 -0
  58. package/dist/commands/record/backend.command.js.map +1 -0
  59. package/dist/commands/record/index.d.ts.map +1 -1
  60. package/dist/commands/record/index.js +4 -2
  61. package/dist/commands/record/index.js.map +1 -1
  62. package/dist/commands/replay.command.d.ts +2 -0
  63. package/dist/commands/replay.command.d.ts.map +1 -1
  64. package/dist/commands/replay.command.js +10 -3
  65. package/dist/commands/replay.command.js.map +1 -1
  66. package/dist/main.d.ts.map +1 -1
  67. package/dist/main.js +6 -2
  68. package/dist/main.js.map +1 -1
  69. package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js +7 -4
  70. package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js.map +1 -1
  71. package/dist/utils/constants.d.ts +1 -0
  72. package/dist/utils/constants.d.ts.map +1 -1
  73. package/dist/utils/constants.js +4 -3
  74. package/dist/utils/constants.js.map +1 -1
  75. package/dist/utils/resolve-test-run-from-commit.d.ts +8 -4
  76. package/dist/utils/resolve-test-run-from-commit.d.ts.map +1 -1
  77. package/dist/utils/resolve-test-run-from-commit.js +10 -9
  78. package/dist/utils/resolve-test-run-from-commit.js.map +1 -1
  79. package/package.json +7 -7
@@ -2,8 +2,8 @@ import type { ContainerEnvVariable } from "@alwaysmeticulous/client";
2
2
  /**
3
3
  * Parses repeated `--containerEnv name=value` CLI flags into the structured
4
4
  * array the API expects. Throws a `CliUserError` on malformed input (reported
5
- * cleanly by the top-level `wrapHandler`). Shared by `agent upload-build` and
6
- * the deprecated `ci upload-container`.
5
+ * cleanly by the top-level `wrapHandler`). Shared by `agent upload-build`,
6
+ * `simulate`, and the deprecated `ci upload-container`.
7
7
  */
8
8
  export declare const parseContainerEnv: (value: string[]) => ContainerEnvVariable[];
9
9
  //# sourceMappingURL=parse-container-env.d.ts.map
@@ -7,8 +7,8 @@ const cli_user_error_1 = require("../utils/cli-user-error");
7
7
  /**
8
8
  * Parses repeated `--containerEnv name=value` CLI flags into the structured
9
9
  * array the API expects. Throws a `CliUserError` on malformed input (reported
10
- * cleanly by the top-level `wrapHandler`). Shared by `agent upload-build` and
11
- * the deprecated `ci upload-container`.
10
+ * cleanly by the top-level `wrapHandler`). Shared by `agent upload-build`,
11
+ * `simulate`, and the deprecated `ci upload-container`.
12
12
  */
13
13
  const parseContainerEnv = (value) => value.map((v) => {
14
14
  const [name, ...rest] = v.split("=");
@@ -1,3 +1,4 @@
1
+ import type { TestRunStatus } from "@alwaysmeticulous/api";
1
2
  import type { ProjectJsCoverageOptions, ProjectJsCoverageResponse } from "@alwaysmeticulous/client";
2
3
  import type { CommandModule } from "yargs";
3
4
  import { coverageColumnValue, coverageFileToJson, determineColumns, type CoverageColumn } from "./coverage-columns.util";
@@ -22,6 +23,34 @@ export interface Options {
22
23
  dontWaitForTestRunToComplete: boolean;
23
24
  json: boolean;
24
25
  }
26
+ /**
27
+ * Whether a run can serve coverage. `Partial` base runs can: coverage is
28
+ * recorded per replay as sessions execute, so a session pool that has replayed
29
+ * anything has coverage even though it never reaches a verdict — the backend
30
+ * serves it, and the webapp and Relevant Session Execution both read it.
31
+ */
32
+ export declare const canServeCoverage: (status: TestRunStatus) => boolean;
33
+ /**
34
+ * Asserts a resolved run can serve coverage, throwing for a fatal or unfinished
35
+ * one and accepting a `Partial` base run. Throw-only: the base run is explained
36
+ * by {@link logBaseRunCoverageNotice} once coverage has actually been returned,
37
+ * since a run with nothing recorded yet fails instead and shouldn't first be
38
+ * told its coverage "grows over time".
39
+ */
40
+ export declare const assertTestRunCoverageAvailable: (testRunId: string, status: TestRunStatus) => void;
41
+ /**
42
+ * A base run keeps executing sessions on demand, so its coverage is a moving
43
+ * total rather than a fixed one — say so rather than letting the numbers read
44
+ * as final. Emitted per base run involved (the primary and/or any unioned in).
45
+ */
46
+ export declare const logBaseRunCoverageNotice: (baseRunIds: string[]) => void;
47
+ /**
48
+ * A base run has no PR, so its `coverage.pr.json` is written empty — scoping
49
+ * coverage to it would answer "nothing covered" to a question that doesn't
50
+ * apply to this kind of run. Rejected client-side to save the round trip; the
51
+ * backend enforces the same rule for the MCP surface.
52
+ */
53
+ export declare const assertPrDiffOnlyCompatible: (testRunId: string, status: TestRunStatus, { prDiffOnly }: Pick<Options, "prDiffOnly">) => void;
25
54
  export declare const assertLatestForProjectCompatible: (options: Options) => void;
26
55
  export declare const assertTestRunOnlyFlagsUnsetForReplay: (options: Options) => void;
27
56
  export declare const parseHeadPlusTestRunIds: (raw: string | undefined) => string[];
@@ -1 +1 @@
1
- {"version":3,"file":"js-coverage.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/js-coverage.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,wBAAwB,EACxB,yBAAyB,EAG1B,MAAM,0BAA0B,CAAC;AAUlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAY3C,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAEhB,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;AAErE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,uBAAuB,EAAE,OAAO,CAAC;IACjC,sBAAsB,EAAE,OAAO,CAAC;IAChC,yBAAyB,EAAE,OAAO,CAAC;IACnC,4BAA4B,EAAE,OAAO,CAAC;IACtC,IAAI,EAAE,OAAO,CAAC;CACf;AA4KD,eAAO,MAAM,gCAAgC,YAAa,OAAO,KAAG,IAuBnE,CAAC;AAMF,eAAO,MAAM,oCAAoC,YACtC,OAAO,KACf,IAkBF,CAAC;AAOF,eAAO,MAAM,uBAAuB,QAAS,MAAM,GAAG,SAAS,KAAG,MAAM,EAcvE,CAAC;AASF,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,MAAM,EAWnD,CAAC;AA6HF,eAAO,MAAM,kCAAkC,YACpC,OAAO,WACP,cAAc,EAAE,KACxB,wBAUF,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,yBAAyB,WACxB,cAAc,EAAE,QACnB,OAAO,KACZ,IAUF,CAAC;AAkDF,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,OAGjC,CAAC;AAEzB,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CA2G7D,CAAC"}
1
+ {"version":3,"file":"js-coverage.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/js-coverage.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAEV,wBAAwB,EACxB,yBAAyB,EAI1B,MAAM,0BAA0B,CAAC;AAUlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAa3C,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAEhB,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC;AAErE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,uBAAuB,EAAE,OAAO,CAAC;IACjC,sBAAsB,EAAE,OAAO,CAAC;IAChC,yBAAyB,EAAE,OAAO,CAAC;IACnC,4BAA4B,EAAE,OAAO,CAAC;IACtC,IAAI,EAAE,OAAO,CAAC;CACf;AAqLD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,WAAY,aAAa,KAAG,OACF,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,cAC9B,MAAM,UACT,aAAa,KACpB,IAKF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,eAAgB,MAAM,EAAE,KAAG,IAM/D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,cAC1B,MAAM,UACT,aAAa,kBACL,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,KAC1C,IAIF,CAAC;AAmBF,eAAO,MAAM,gCAAgC,YAAa,OAAO,KAAG,IAuBnE,CAAC;AAMF,eAAO,MAAM,oCAAoC,YACtC,OAAO,KACf,IAkBF,CAAC;AAOF,eAAO,MAAM,uBAAuB,QAAS,MAAM,GAAG,SAAS,KAAG,MAAM,EAcvE,CAAC;AASF,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,MAAM,EAWnD,CAAC;AA+HF,eAAO,MAAM,kCAAkC,YACpC,OAAO,WACP,cAAc,EAAE,KACxB,wBAUF,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,yBAAyB,WACxB,cAAc,EAAE,QACnB,OAAO,KACZ,IAUF,CAAC;AA0FF,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,OAGjC,CAAC;AAEzB,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CA2G7D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=js-coverage.command.handler.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-coverage.command.handler.spec.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/js-coverage.command.handler.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,148 @@
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]="11bb4554-0332-5f69-a5a9-5132dcea9cae")}catch(e){}}();
3
+
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ const vitest_1 = require("vitest");
6
+ const cli_user_error_1 = require("../../utils/cli-user-error");
7
+ const js_coverage_command_1 = require("./js-coverage.command");
8
+ // Make wrapHandler a passthrough so handler errors propagate directly to tests
9
+ // rather than being swallowed by process.exit().
10
+ vitest_1.vi.mock("../../command-utils/sentry.utils", () => ({
11
+ wrapHandler: (fn) => fn,
12
+ }));
13
+ const mocks = vitest_1.vi.hoisted(() => ({
14
+ createClientWithOAuth: vitest_1.vi.fn(),
15
+ getTestRun: vitest_1.vi.fn(),
16
+ getTestRunJsCoverage: vitest_1.vi.fn(),
17
+ getProjectJsCoverage: vitest_1.vi.fn(),
18
+ getReplayJsCoverage: vitest_1.vi.fn(),
19
+ isFetchError: vitest_1.vi.fn(),
20
+ logNotice: vitest_1.vi.fn(),
21
+ logProgress: vitest_1.vi.fn(),
22
+ initLogger: vitest_1.vi.fn(),
23
+ }));
24
+ // Partial: the column-selection helpers are real logic this command depends on,
25
+ // only the network calls are stubbed.
26
+ vitest_1.vi.mock("@alwaysmeticulous/client", async (importOriginal) => ({
27
+ ...(await importOriginal()),
28
+ createClientWithOAuth: mocks.createClientWithOAuth,
29
+ getTestRun: mocks.getTestRun,
30
+ getTestRunJsCoverage: mocks.getTestRunJsCoverage,
31
+ getProjectJsCoverage: mocks.getProjectJsCoverage,
32
+ getReplayJsCoverage: mocks.getReplayJsCoverage,
33
+ isFetchError: mocks.isFetchError,
34
+ }));
35
+ vitest_1.vi.mock("@alwaysmeticulous/common", () => ({
36
+ logNotice: mocks.logNotice,
37
+ logProgress: mocks.logProgress,
38
+ initLogger: mocks.initLogger,
39
+ // Used by the resolver's dirty-tree notice, which no test here exercises
40
+ // (every case passes an explicit --testRunId).
41
+ getCommitSha: vitest_1.vi.fn(),
42
+ getUntrackedFiles: vitest_1.vi.fn().mockResolvedValue([]),
43
+ hasUncommittedChanges: vitest_1.vi.fn().mockResolvedValue(false),
44
+ }));
45
+ const runHandler = (overrides = {}) => js_coverage_command_1.jsCoverageCommand.handler({
46
+ apiToken: undefined,
47
+ testRunId: "tr-1",
48
+ commitSha: undefined,
49
+ latestForProject: false,
50
+ project: undefined,
51
+ replayId: undefined,
52
+ screenshotName: undefined,
53
+ headPlusTestRunIds: undefined,
54
+ testRunIds: undefined,
55
+ includeAllFiles: false,
56
+ globFilter: undefined,
57
+ prDiffOnly: false,
58
+ includeExecutedRanges: false,
59
+ includeExecutableRanges: false,
60
+ includeUncoveredRanges: false,
61
+ includeCoveragePercentage: false,
62
+ dontWaitForTestRunToComplete: false,
63
+ json: false,
64
+ ...overrides,
65
+ });
66
+ /** A backend 404 as the client surfaces it (an axios-shaped fetch error). */
67
+ const notFoundError = (message, reason) => ({
68
+ response: { status: 404, data: { message, ...(reason ? { reason } : {}) } },
69
+ });
70
+ /** The backend's expected-empty-base-run 404 (see BASE_RUN_NO_COVERAGE_REASON). */
71
+ const baseRunEmptyError = (testRunId) => notFoundError(`Test run ${testRunId} is a base run whose sessions have not been replayed yet, so it has no coverage recorded.`, "base-run-no-coverage");
72
+ (0, vitest_1.describe)("js-coverage handler on a base run", () => {
73
+ (0, vitest_1.beforeEach)(() => {
74
+ vitest_1.vi.clearAllMocks();
75
+ mocks.createClientWithOAuth.mockResolvedValue({});
76
+ mocks.getTestRun.mockResolvedValue({ status: "Partial" });
77
+ mocks.getTestRunJsCoverage.mockResolvedValue({ files: [] });
78
+ mocks.isFetchError.mockImplementation((error) => typeof error === "object" && error != null && "response" in error);
79
+ vitest_1.vi.spyOn(console, "log").mockImplementation(() => undefined);
80
+ });
81
+ // The whole point of the change: a Partial run is no longer refused before
82
+ // the fetch, so coverage is actually requested for it.
83
+ (0, vitest_1.it)("proceeds to fetch coverage rather than rejecting", async () => {
84
+ await runHandler();
85
+ (0, vitest_1.expect)(mocks.getTestRunJsCoverage).toHaveBeenCalledWith({}, "tr-1", vitest_1.expect.objectContaining({ includeExecutedRanges: true }));
86
+ });
87
+ (0, vitest_1.it)("caveats the returned coverage as a moving total", async () => {
88
+ await runHandler();
89
+ (0, vitest_1.expect)(mocks.logNotice).toHaveBeenCalledWith(vitest_1.expect.stringMatching(/tr-1 is a base run .*grows over time/));
90
+ });
91
+ // Regression guard: this used to reach the generic error path, which pairs a
92
+ // routine "this base run hasn't replayed anything yet" with the unhelpful
93
+ // `--help` tip and reports it to Sentry.
94
+ (0, vitest_1.it)("turns the expected-empty-base-run 404 into a CliUserError", async () => {
95
+ mocks.getTestRunJsCoverage.mockRejectedValue(baseRunEmptyError("tr-1"));
96
+ await (0, vitest_1.expect)(runHandler()).rejects.toBeInstanceOf(cli_user_error_1.CliUserError);
97
+ await (0, vitest_1.expect)(runHandler()).rejects.toThrow(/is a base run whose sessions have not/);
98
+ });
99
+ // The caveat belongs with results that exist; a run with nothing recorded
100
+ // shouldn't be told its coverage "grows over time" and then handed an error.
101
+ (0, vitest_1.it)("emits no base-run notice when there is no coverage to caveat", async () => {
102
+ mocks.getTestRunJsCoverage.mockRejectedValue(baseRunEmptyError("tr-1"));
103
+ await (0, vitest_1.expect)(runHandler()).rejects.toThrow();
104
+ (0, vitest_1.expect)(mocks.logNotice).not.toHaveBeenCalledWith(vitest_1.expect.stringMatching(/grows over time/));
105
+ });
106
+ // A union can mix a base run with completed ones. Keying off "a base run was
107
+ // involved" would blame the base run for a completed sibling's genuinely
108
+ // missing artifact, and quietly keep that real fault out of Sentry.
109
+ (0, vitest_1.it)("leaves a completed sibling's missing artifact as an unexpected error", async () => {
110
+ const error = notFoundError("JS coverage artifact not found");
111
+ mocks.getTestRunJsCoverage.mockRejectedValue(error);
112
+ await (0, vitest_1.expect)(runHandler()).rejects.toBe(error);
113
+ });
114
+ // Only the expected-absence case is reinterpreted; anything else is still a
115
+ // genuine failure and must keep reaching the generic (Sentry) path.
116
+ (0, vitest_1.it)("leaves a non-404 failure alone", async () => {
117
+ const serverError = { response: { status: 500, data: {} } };
118
+ mocks.getTestRunJsCoverage.mockRejectedValue(serverError);
119
+ await (0, vitest_1.expect)(runHandler()).rejects.toBe(serverError);
120
+ });
121
+ (0, vitest_1.it)("rejects --prDiffOnly before fetching", async () => {
122
+ await (0, vitest_1.expect)(runHandler({ prDiffOnly: true })).rejects.toThrow(/has no PR diff to scope coverage to/);
123
+ (0, vitest_1.expect)(mocks.getTestRunJsCoverage).not.toHaveBeenCalled();
124
+ });
125
+ });
126
+ (0, vitest_1.describe)("js-coverage handler on a completed run", () => {
127
+ (0, vitest_1.beforeEach)(() => {
128
+ vitest_1.vi.clearAllMocks();
129
+ mocks.createClientWithOAuth.mockResolvedValue({});
130
+ mocks.getTestRun.mockResolvedValue({ status: "Success" });
131
+ mocks.getTestRunJsCoverage.mockResolvedValue({ files: [] });
132
+ mocks.isFetchError.mockImplementation((error) => typeof error === "object" && error != null && "response" in error);
133
+ vitest_1.vi.spyOn(console, "log").mockImplementation(() => undefined);
134
+ });
135
+ // The base-run reinterpretation must not swallow a real 404 (e.g. a run whose
136
+ // post-process genuinely failed to upload its artifact).
137
+ (0, vitest_1.it)("leaves a missing coverage artifact as a plain fetch error", async () => {
138
+ const error = notFoundError("JS coverage artifact not found");
139
+ mocks.getTestRunJsCoverage.mockRejectedValue(error);
140
+ await (0, vitest_1.expect)(runHandler()).rejects.toBe(error);
141
+ });
142
+ (0, vitest_1.it)("allows --prDiffOnly", async () => {
143
+ await runHandler({ prDiffOnly: true });
144
+ (0, vitest_1.expect)(mocks.getTestRunJsCoverage).toHaveBeenCalledWith({}, "tr-1", vitest_1.expect.objectContaining({ prDiffOnly: true }));
145
+ });
146
+ });
147
+ //# sourceMappingURL=js-coverage.command.handler.spec.js.map
148
+ //# debugId=11bb4554-0332-5f69-a5a9-5132dcea9cae
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-coverage.command.handler.spec.js","sources":["../../../src/commands/agent/js-coverage.command.handler.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"11bb4554-0332-5f69-a5a9-5132dcea9cae"}
@@ -1,8 +1,8 @@
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]="1e9e6330-3e2f-5e8e-8c64-be08ee6e40f2")}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]="de11791c-794b-5fc7-adc2-88cf6c927918")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.jsCoverageCommand = exports.isAmbiguousTestRunError = exports.printProjectCoverage = exports.buildProjectCoverageRequestOptions = exports.parseTestRunIds = exports.parseHeadPlusTestRunIds = exports.assertTestRunOnlyFlagsUnsetForReplay = exports.assertLatestForProjectCompatible = exports.determineColumns = exports.coverageFileToJson = exports.coverageColumnValue = void 0;
5
+ exports.jsCoverageCommand = exports.isAmbiguousTestRunError = exports.printProjectCoverage = exports.buildProjectCoverageRequestOptions = exports.parseTestRunIds = exports.parseHeadPlusTestRunIds = exports.assertTestRunOnlyFlagsUnsetForReplay = exports.assertLatestForProjectCompatible = exports.assertPrDiffOnlyCompatible = exports.logBaseRunCoverageNotice = exports.assertTestRunCoverageAvailable = exports.canServeCoverage = exports.determineColumns = exports.coverageFileToJson = exports.coverageColumnValue = void 0;
6
6
  const client_1 = require("@alwaysmeticulous/client");
7
7
  const common_1 = require("@alwaysmeticulous/common");
8
8
  const print_json_1 = require("../../command-utils/print-json");
@@ -70,8 +70,9 @@ const handler = async (options) => {
70
70
  // Test-run coverage: --testRunIds names the primary (its first ID) and the
71
71
  // extras to union in directly; otherwise resolve a single primary from
72
72
  // --testRunId, else --commitSha, else the local checkout's HEAD, and take
73
- // extras (if any) from --headPlusTestRunIds. Coverage only exists once the
74
- // run has finished, so block until it does (default) or, with
73
+ // extras (if any) from --headPlusTestRunIds. Coverage exists once the run
74
+ // has stopped running — a finished verdict, or a base run that keeps
75
+ // accumulating it — so block until it does (default) or, with
75
76
  // --dontWaitForTestRunToComplete, report the in-progress run and stop.
76
77
  let resolvedTestRunId;
77
78
  let status;
@@ -109,10 +110,16 @@ const handler = async (options) => {
109
110
  printEmptyResult();
110
111
  return;
111
112
  }
112
- // Reject session-pool bases (Partial); fatal failures already threw.
113
- (0, resolve_test_run_from_commit_1.assertTestRunComplete)(resolvedTestRunId, finishedStatus, {
114
- resultName: "coverage",
115
- });
113
+ // Base runs (Partial) do have coverage and are accepted; fatal failures
114
+ // already threw.
115
+ (0, exports.assertTestRunCoverageAvailable)(resolvedTestRunId, finishedStatus);
116
+ (0, exports.assertPrDiffOnlyCompatible)(resolvedTestRunId, finishedStatus, options);
117
+ // Tracked so the "coverage grows over time" caveat can be attached to the
118
+ // results, once there are some — a base run with nothing recorded yet
119
+ // errors instead.
120
+ const baseRunIds = (0, resolve_test_run_from_commit_1.isTestRunPartial)(finishedStatus)
121
+ ? [resolvedTestRunId]
122
+ : [];
116
123
  // The extra runs (from --headPlusTestRunIds or the tail of --testRunIds)
117
124
  // don't change how the primary run above was resolved — they just add more
118
125
  // coverage to union in. Each extra run needs the same "finished" guarantee
@@ -125,13 +132,73 @@ const handler = async (options) => {
125
132
  printEmptyResult();
126
133
  return;
127
134
  }
128
- (0, resolve_test_run_from_commit_1.assertTestRunComplete)(unionTestRunId, unionFinishedStatus, {
129
- resultName: "coverage",
130
- });
135
+ (0, exports.assertTestRunCoverageAvailable)(unionTestRunId, unionFinishedStatus);
136
+ if ((0, resolve_test_run_from_commit_1.isTestRunPartial)(unionFinishedStatus)) {
137
+ baseRunIds.push(unionTestRunId);
138
+ }
131
139
  }
132
- await printTestRunCoverage(client, resolvedTestRunId, options, columns, json, unionTestRunIds);
140
+ await printTestRunCoverage(client, resolvedTestRunId, options, columns, json, unionTestRunIds, baseRunIds);
141
+ }
142
+ };
143
+ /**
144
+ * Whether a run can serve coverage. `Partial` base runs can: coverage is
145
+ * recorded per replay as sessions execute, so a session pool that has replayed
146
+ * anything has coverage even though it never reaches a verdict — the backend
147
+ * serves it, and the webapp and Relevant Session Execution both read it.
148
+ */
149
+ const canServeCoverage = (status) => (0, resolve_test_run_from_commit_1.isTestRunComplete)(status) || (0, resolve_test_run_from_commit_1.isTestRunPartial)(status);
150
+ exports.canServeCoverage = canServeCoverage;
151
+ /**
152
+ * Asserts a resolved run can serve coverage, throwing for a fatal or unfinished
153
+ * one and accepting a `Partial` base run. Throw-only: the base run is explained
154
+ * by {@link logBaseRunCoverageNotice} once coverage has actually been returned,
155
+ * since a run with nothing recorded yet fails instead and shouldn't first be
156
+ * told its coverage "grows over time".
157
+ */
158
+ const assertTestRunCoverageAvailable = (testRunId, status) => {
159
+ if ((0, resolve_test_run_from_commit_1.isTestRunPartial)(status)) {
160
+ return;
161
+ }
162
+ (0, resolve_test_run_from_commit_1.assertTestRunComplete)(testRunId, status, { resultName: "coverage" });
163
+ };
164
+ exports.assertTestRunCoverageAvailable = assertTestRunCoverageAvailable;
165
+ /**
166
+ * A base run keeps executing sessions on demand, so its coverage is a moving
167
+ * total rather than a fixed one — say so rather than letting the numbers read
168
+ * as final. Emitted per base run involved (the primary and/or any unioned in).
169
+ */
170
+ const logBaseRunCoverageNotice = (baseRunIds) => {
171
+ for (const testRunId of baseRunIds) {
172
+ (0, common_1.logNotice)(`Test run ${testRunId} is a base run (status: Partial): its sessions are executed on demand, so its coverage reflects the sessions replayed so far and grows over time.`);
173
+ }
174
+ };
175
+ exports.logBaseRunCoverageNotice = logBaseRunCoverageNotice;
176
+ /**
177
+ * A base run has no PR, so its `coverage.pr.json` is written empty — scoping
178
+ * coverage to it would answer "nothing covered" to a question that doesn't
179
+ * apply to this kind of run. Rejected client-side to save the round trip; the
180
+ * backend enforces the same rule for the MCP surface.
181
+ */
182
+ const assertPrDiffOnlyCompatible = (testRunId, status, { prDiffOnly }) => {
183
+ if (prDiffOnly && (0, resolve_test_run_from_commit_1.isTestRunPartial)(status)) {
184
+ throw new cli_user_error_1.CliUserError(BASE_RUN_NO_PR_DIFF_MESSAGE(testRunId));
133
185
  }
134
186
  };
187
+ exports.assertPrDiffOnlyCompatible = assertPrDiffOnlyCompatible;
188
+ /**
189
+ * The base-run coverage messages, kept in step with the backend's
190
+ * (`packages/webapp-backend/src/agent/agent.base-run.utils.ts`) so the CLI and
191
+ * MCP surfaces explain a base run the same way, whichever side rejects first —
192
+ * differing only in naming a `--flag` rather than an MCP argument.
193
+ */
194
+ const BASE_RUN_NO_PR_DIFF_MESSAGE = (testRunId) => `Test run ${testRunId} is a base run other test runs compare against, so it has no PR diff to scope coverage to. Drop --prDiffOnly to get its whole-run coverage.`;
195
+ /**
196
+ * The backend's response-body `reason` marking an absent artifact as the
197
+ * expected state for a base run, rather than a fault. Matched instead of the
198
+ * prose (same convention as `isAmbiguousTestRunError`) so a genuinely missing
199
+ * artifact on a completed run stays an unexpected error.
200
+ */
201
+ const BASE_RUN_NO_COVERAGE_REASON = "base-run-no-coverage";
135
202
  const assertLatestForProjectCompatible = (options) => {
136
203
  if (!options.latestForProject) {
137
204
  return;
@@ -241,9 +308,11 @@ const printReplayCoverage = async (client, project, { testRunId, commitSha, repl
241
308
  // original (actionable "pass testRunId") error unchanged.
242
309
  if (effectiveTestRunId == null && (0, exports.isAmbiguousTestRunError)(error)) {
243
310
  const fallback = await (0, resolve_test_run_from_commit_1.tryResolveTestRunForCommit)(client, undefined, project);
244
- // Only retry against a run that finished with a verdict — an unfinished
245
- // or failed one has no usable coverage.
246
- if (fallback != null && (0, resolve_test_run_from_commit_1.isTestRunComplete)(fallback.status)) {
311
+ // Only retry against a run whose coverage we'd serve anyway (a verdict, or
312
+ // a base run) — an unfinished or failed one has no usable coverage. A
313
+ // default-branch checkout resolves to a base run, so excluding those here
314
+ // would skip disambiguation for the most common local case.
315
+ if (fallback != null && (0, exports.canServeCoverage)(fallback.status)) {
247
316
  try {
248
317
  const result = await (0, client_1.getReplayJsCoverage)(client, replayId, screenshotName, {
249
318
  testRunId: fallback.testRunId,
@@ -323,7 +392,7 @@ const printCoverageFiles = (files, columns, json) => {
323
392
  }
324
393
  }
325
394
  };
326
- const printTestRunCoverage = async (client, testRunId, options, columns, json, unionTestRunIds) => {
395
+ const printTestRunCoverage = async (client, testRunId, options, columns, json, unionTestRunIds, baseRunIds) => {
327
396
  // Send the resolved columns as explicit flags (the default-to-executed rule
328
397
  // lives here in `determineColumns`, not the backend), so the backend never
329
398
  // has to guess which columns a flagless request wants. Derive the flags from
@@ -337,11 +406,40 @@ const printTestRunCoverage = async (client, testRunId, options, columns, json, u
337
406
  requestOptions[coverage_columns_util_1.COVERAGE_COLUMN_FLAG[column]] = true;
338
407
  }
339
408
  requestOptions.prDiffOnly = options.prDiffOnly;
340
- const result = await (0, client_1.getTestRunJsCoverage)(client, testRunId, requestOptions);
409
+ const result = await fetchTestRunCoverage(client, testRunId, requestOptions);
341
410
  printCoverageFiles(result.files, columns, json);
342
- // Summary on stderr regardless of --json (which only changes stdout).
411
+ // Summary on stderr regardless of --json (which only changes stdout). The
412
+ // base-run caveat comes first, so the count below is read in its light.
413
+ (0, exports.logBaseRunCoverageNotice)(baseRunIds);
343
414
  (0, common_1.logNotice)(`${result.files.length} file(s)`);
344
415
  };
416
+ /**
417
+ * A base run whose sessions nothing has replayed yet has no coverage artifact,
418
+ * which the backend reports as a 404 carrying
419
+ * {@link BASE_RUN_NO_COVERAGE_REASON}. That's an expected outcome, not a bug, so
420
+ * it's re-thrown as a `CliUserError` — otherwise it reaches the generic error
421
+ * path, which pairs it with the unhelpful `--help` tip and reports it to Sentry.
422
+ *
423
+ * Keyed on that reason rather than "the request involved a base run": a union
424
+ * can mix a base run with completed ones, and a completed run's missing
425
+ * artifact is a real fault that must keep reaching Sentry. The backend's message
426
+ * names the specific run, so it's surfaced as-is.
427
+ */
428
+ const fetchTestRunCoverage = async (client, testRunId, requestOptions) => {
429
+ try {
430
+ return await (0, client_1.getTestRunJsCoverage)(client, testRunId, requestOptions);
431
+ }
432
+ catch (error) {
433
+ const body = errorResponseBody(error);
434
+ if (body?.reason === BASE_RUN_NO_COVERAGE_REASON && body.message != null) {
435
+ throw new cli_user_error_1.CliUserError(body.message);
436
+ }
437
+ throw error;
438
+ }
439
+ };
440
+ const errorResponseBody = (error) => (0, client_1.isFetchError)(error)
441
+ ? error.response?.data
442
+ : undefined;
345
443
  const isAmbiguousTestRunError = (error) => (0, client_1.isFetchError)(error) &&
346
444
  error.response?.data?.reason ===
347
445
  "ambiguous-test-run";
@@ -373,7 +471,7 @@ exports.jsCoverageCommand = {
373
471
  },
374
472
  project: {
375
473
  string: true,
376
- description: "The project to use for --latestForProject or commit lookup (id, 'org/proj', or simply 'proj'). One-off override; when omitted, uses the token's project or the OAuth user's configured default project.",
474
+ description: "The project to use for --latestForProject or commit lookup (id, 'org/proj', or simply 'proj'). One-off override; when omitted, uses the token's project or the OAuth user's configured default project. Cannot be combined with --testRunId or --testRunIds, which already determine the project.",
377
475
  conflicts: ["testRunId", "testRunIds"],
378
476
  },
379
477
  replayId: {
@@ -387,7 +485,7 @@ exports.jsCoverageCommand = {
387
485
  headPlusTestRunIds: {
388
486
  string: true,
389
487
  description: "Comma-separated additional test run IDs to union with the run resolved via --commitSha, or the current git HEAD by default (cannot be combined with --testRunId — use --testRunIds instead when you already have an explicit primary ID). " +
390
- "Useful for checking combined coverage of the base (resolved from --commitSha or the current git HEAD) with additional custom-session test runs, each covering a subset of sessions. All runs must be finished, belong to the same project, and have executed the exact same commit as the run resolved above " +
488
+ "Useful for checking combined coverage of the base (resolved from --commitSha or the current git HEAD) with additional custom-session test runs, each covering a subset of sessions. No run may still be running, and all must belong to the same project and have executed the exact same commit as the run resolved above " +
391
489
  "(a PR's merge commit is recomputed whenever its base branch moves, so a run triggered against a since-advanced base is rejected). Whole-test-run coverage only.",
392
490
  },
393
491
  testRunIds: {
@@ -407,7 +505,7 @@ exports.jsCoverageCommand = {
407
505
  prDiffOnly: {
408
506
  boolean: true,
409
507
  default: false,
410
- description: "Output only files changed in the PR diff (from coverage.pr.json). Whole-test-run coverage only.",
508
+ description: "Output only files changed in the PR diff (from coverage.pr.json). Whole-test-run coverage only, and not for a base run, which has no PR.",
411
509
  },
412
510
  includeExecutedRanges: {
413
511
  boolean: true,
@@ -438,4 +536,4 @@ exports.jsCoverageCommand = {
438
536
  handler: (0, sentry_utils_1.wrapHandler)(handler),
439
537
  };
440
538
  //# sourceMappingURL=js-coverage.command.js.map
441
- //# debugId=1e9e6330-3e2f-5e8e-8c64-be08ee6e40f2
539
+ //# debugId=de11791c-794b-5fc7-adc2-88cf6c927918
@@ -1 +1 @@
1
- {"version":3,"file":"js-coverage.command.js","sources":["../../../src/commands/agent/js-coverage.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"1e9e6330-3e2f-5e8e-8c64-be08ee6e40f2"}
1
+ {"version":3,"file":"js-coverage.command.js","sources":["../../../src/commands/agent/js-coverage.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"de11791c-794b-5fc7-adc2-88cf6c927918"}