@alwaysmeticulous/cli 2.320.0 → 2.323.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 (67) hide show
  1. package/dist/command-utils/print-json.d.ts.map +1 -1
  2. package/dist/command-utils/print-json.js +4 -3
  3. package/dist/command-utils/print-json.js.map +1 -1
  4. package/dist/commands/agent/diff-comments.command.d.ts +11 -0
  5. package/dist/commands/agent/diff-comments.command.d.ts.map +1 -0
  6. package/dist/commands/agent/diff-comments.command.js +83 -0
  7. package/dist/commands/agent/diff-comments.command.js.map +1 -0
  8. package/dist/commands/agent/diff-comments.command.spec.d.ts +2 -0
  9. package/dist/commands/agent/diff-comments.command.spec.d.ts.map +1 -0
  10. package/dist/commands/agent/diff-comments.command.spec.js +128 -0
  11. package/dist/commands/agent/diff-comments.command.spec.js.map +1 -0
  12. package/dist/commands/agent/index.d.ts.map +1 -1
  13. package/dist/commands/agent/index.js +4 -2
  14. package/dist/commands/agent/index.js.map +1 -1
  15. package/dist/commands/agent/test-run-diffs.command.d.ts +4 -0
  16. package/dist/commands/agent/test-run-diffs.command.d.ts.map +1 -1
  17. package/dist/commands/agent/test-run-diffs.command.js +51 -26
  18. package/dist/commands/agent/test-run-diffs.command.js.map +1 -1
  19. package/dist/commands/agent/test-run-diffs.command.spec.js +110 -8
  20. package/dist/commands/agent/test-run-diffs.command.spec.js.map +1 -1
  21. package/dist/commands/agent/test-run-diffs.utils.d.ts +7 -26
  22. package/dist/commands/agent/test-run-diffs.utils.d.ts.map +1 -1
  23. package/dist/commands/agent/test-run-diffs.utils.js +18 -72
  24. package/dist/commands/agent/test-run-diffs.utils.js.map +1 -1
  25. package/dist/commands/agent/test-run-diffs.utils.spec.js +50 -228
  26. package/dist/commands/agent/test-run-diffs.utils.spec.js.map +1 -1
  27. package/dist/commands/ci/label-commit.command.d.ts +2 -7
  28. package/dist/commands/ci/label-commit.command.d.ts.map +1 -1
  29. package/dist/commands/ci/label-commit.command.js +5 -15
  30. package/dist/commands/ci/label-commit.command.js.map +1 -1
  31. package/dist/commands/ci/label-commit.core.d.ts +7 -0
  32. package/dist/commands/ci/label-commit.core.d.ts.map +1 -0
  33. package/dist/commands/ci/label-commit.core.js +28 -0
  34. package/dist/commands/ci/label-commit.core.js.map +1 -0
  35. package/dist/commands/ci/label-commit.types.d.ts +10 -0
  36. package/dist/commands/ci/label-commit.types.d.ts.map +1 -0
  37. package/dist/commands/ci/label-commit.types.js +6 -0
  38. package/dist/commands/ci/label-commit.types.js.map +1 -0
  39. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.d.ts.map +1 -1
  40. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js +22 -14
  41. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js.map +1 -1
  42. package/dist/commands/ci/run.command.d.ts.map +1 -1
  43. package/dist/commands/ci/run.command.js +6 -4
  44. package/dist/commands/ci/run.command.js.map +1 -1
  45. package/dist/commands/ci/trigger-test-run.core.js +25 -3
  46. package/dist/commands/ci/trigger-test-run.core.js.map +1 -1
  47. package/dist/commands/ci/trigger-test-run.types.d.ts +11 -0
  48. package/dist/commands/ci/trigger-test-run.types.d.ts.map +1 -1
  49. package/dist/commands/ci/upload-container.command.d.ts +4 -0
  50. package/dist/commands/ci/upload-container.command.d.ts.map +1 -1
  51. package/dist/commands/ci/upload-container.command.js +18 -2
  52. package/dist/commands/ci/upload-container.command.js.map +1 -1
  53. package/dist/commands/record/__tests__/backend.command.spec.js +54 -4
  54. package/dist/commands/record/__tests__/backend.command.spec.js.map +1 -1
  55. package/dist/commands/record/backend.command.d.ts.map +1 -1
  56. package/dist/commands/record/backend.command.js +196 -100
  57. package/dist/commands/record/backend.command.js.map +1 -1
  58. package/dist/index.d.ts +2 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +5 -3
  61. package/dist/index.js.map +1 -1
  62. package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js +9 -2
  63. package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js.map +1 -1
  64. package/dist/utils/resolve-test-run-from-commit.d.ts.map +1 -1
  65. package/dist/utils/resolve-test-run-from-commit.js +5 -2
  66. package/dist/utils/resolve-test-run-from-commit.js.map +1 -1
  67. package/package.json +13 -13
@@ -1 +1 @@
1
- {"version":3,"file":"print-json.d.ts","sourceRoot":"","sources":["../../src/command-utils/print-json.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,IAE1C,CAAC"}
1
+ {"version":3,"file":"print-json.d.ts","sourceRoot":"","sources":["../../src/command-utils/print-json.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,SAAS,UAAW,OAAO,KAAG,IAE1C,CAAC"}
@@ -1,16 +1,17 @@
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]="ce55db0d-3eb9-5c20-9ce0-365273d93dae")}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]="2b5cc120-f13a-5096-8d83-5f4feb3c2cd8")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.printJson = void 0;
6
+ const json_1 = require("@alwaysmeticulous/common/json");
6
7
  /**
7
8
  * Prints a value as pretty-printed JSON on stdout — the single formatting
8
9
  * decision (2-space indent, trailing newline) shared by every command's
9
10
  * `--json` output, so machine-readable output stays consistent.
10
11
  */
11
12
  const printJson = (value) => {
12
- console.log(JSON.stringify(value, null, 2));
13
+ console.log((0, json_1.serializeJson)(value));
13
14
  };
14
15
  exports.printJson = printJson;
15
16
  //# sourceMappingURL=print-json.js.map
16
- //# debugId=ce55db0d-3eb9-5c20-9ce0-365273d93dae
17
+ //# debugId=2b5cc120-f13a-5096-8d83-5f4feb3c2cd8
@@ -1 +1 @@
1
- {"version":3,"file":"print-json.js","sources":["../../src/command-utils/print-json.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,KAAc,EAAQ,EAAE;IAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB","debugId":"ce55db0d-3eb9-5c20-9ce0-365273d93dae"}
1
+ {"version":3,"file":"print-json.js","sources":["../../src/command-utils/print-json.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,wDAA8D;AAE9D;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,KAAc,EAAQ,EAAE;IAChD,OAAO,CAAC,GAAG,CAAC,IAAA,oBAAa,EAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB","debugId":"2b5cc120-f13a-5096-8d83-5f4feb3c2cd8"}
@@ -0,0 +1,11 @@
1
+ import type { CommandModule } from "yargs";
2
+ interface Options {
3
+ apiToken?: string | null | undefined;
4
+ replayDiffId: string;
5
+ screenshotName: string;
6
+ includeResolved: boolean;
7
+ json: boolean;
8
+ }
9
+ export declare const diffCommentsCommand: CommandModule<unknown, Options>;
10
+ export {};
11
+ //# sourceMappingURL=diff-comments.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-comments.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/diff-comments.command.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;CACf;AAyED,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAyB/D,CAAC"}
@@ -0,0 +1,83 @@
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]="2cf7770d-d89b-57a1-9000-d495a4dad27d")}catch(e){}}();
3
+
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.diffCommentsCommand = void 0;
6
+ const client_1 = require("@alwaysmeticulous/client");
7
+ const common_1 = require("@alwaysmeticulous/common");
8
+ const print_json_1 = require("../../command-utils/print-json");
9
+ const sentry_utils_1 = require("../../command-utils/sentry.utils");
10
+ const handler = async ({ apiToken, replayDiffId, screenshotName, includeResolved, json, }) => {
11
+ (0, common_1.initLogger)();
12
+ const client = await (0, client_1.createClientWithOAuth)({
13
+ apiToken,
14
+ enableOAuthLogin: true,
15
+ });
16
+ const comments = await (0, client_1.getDiffComments)(client, replayDiffId, screenshotName, {
17
+ includeResolved,
18
+ });
19
+ if (json) {
20
+ (0, print_json_1.printJson)(comments);
21
+ return;
22
+ }
23
+ const columns = ["id", "replyToCommentId", "author", "text", "x", "y"];
24
+ if (includeResolved)
25
+ columns.push("isResolved");
26
+ console.log(columns.join("\t"));
27
+ for (const comment of flattenCommentsForTsv(comments)) {
28
+ console.log([
29
+ comment.id,
30
+ comment.replyToCommentId ?? "",
31
+ comment.author ?? "",
32
+ // Preserve a one-row-per-comment TSV shape for multiline/tabbed text.
33
+ JSON.stringify(comment.text),
34
+ comment.x.toFixed(5),
35
+ comment.y.toFixed(5),
36
+ ...(includeResolved ? [comment.isResolved ?? false] : []),
37
+ ].join("\t"));
38
+ }
39
+ };
40
+ const flattenCommentsForTsv = (comments) => comments.flatMap((comment) => [
41
+ {
42
+ id: comment.id,
43
+ ...(comment.author != null ? { author: comment.author } : {}),
44
+ text: comment.text,
45
+ x: comment.x,
46
+ y: comment.y,
47
+ ...(comment.isResolved != null ? { isResolved: comment.isResolved } : {}),
48
+ },
49
+ ...comment.replies.map((reply) => ({
50
+ id: reply.id,
51
+ replyToCommentId: comment.id,
52
+ ...(reply.author != null ? { author: reply.author } : {}),
53
+ text: reply.text,
54
+ x: comment.x,
55
+ y: comment.y,
56
+ ...(comment.isResolved != null ? { isResolved: comment.isResolved } : {}),
57
+ })),
58
+ ]);
59
+ exports.diffCommentsCommand = {
60
+ command: "diff-comments",
61
+ describe: "Get the list of review comments for a given screenshot diff. Outputs a TSV table with columns id, replyToCommentId, author, text, x, y plus the requested additional columns, with each comment followed by its replies; comments and replies are in oldest-first order. replyToCommentId is TSV-only (blank for top-level comments, no JSON/MCP equivalent) so a reply row can be linked back to its parent; a reply's x/y repeat the parent's, since replies don't carry their own coordinates. Outputs only open comments by default. The text column is JSON-quoted (the only column that is) to keep multiline/tabbed comment bodies on one row.",
62
+ builder: {
63
+ apiToken: { string: true, description: "Meticulous API token." },
64
+ replayDiffId: {
65
+ string: true,
66
+ description: "The replay diff ID.",
67
+ demandOption: true,
68
+ },
69
+ screenshotName: {
70
+ string: true,
71
+ description: 'The screenshot name, as listed in the screenshotName column of `agent test-run-diffs` (e.g. "after-event-5" or "end-state").',
72
+ demandOption: true,
73
+ },
74
+ includeResolved: {
75
+ boolean: true,
76
+ description: "Output resolved comments in addition to open comments; adds an isResolved column with the comment's resolved state.",
77
+ default: false,
78
+ },
79
+ },
80
+ handler: (0, sentry_utils_1.wrapHandler)(handler),
81
+ };
82
+ //# sourceMappingURL=diff-comments.command.js.map
83
+ //# debugId=2cf7770d-d89b-57a1-9000-d495a4dad27d
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-comments.command.js","sources":["../../../src/commands/agent/diff-comments.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"2cf7770d-d89b-57a1-9000-d495a4dad27d"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diff-comments.command.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-comments.command.spec.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/diff-comments.command.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,128 @@
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]="4763084d-90c5-5042-a6d2-8404245a39a1")}catch(e){}}();
3
+
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ const vitest_1 = require("vitest");
6
+ const json_1 = require("@alwaysmeticulous/common/json");
7
+ const diff_comments_command_1 = require("./diff-comments.command");
8
+ vitest_1.vi.mock("../../command-utils/sentry.utils", () => ({
9
+ wrapHandler: (fn) => fn,
10
+ }));
11
+ const mocks = vitest_1.vi.hoisted(() => ({
12
+ createClientWithOAuth: vitest_1.vi.fn(),
13
+ getDiffComments: vitest_1.vi.fn(),
14
+ }));
15
+ vitest_1.vi.mock("@alwaysmeticulous/common", () => ({ initLogger: vitest_1.vi.fn() }));
16
+ vitest_1.vi.mock("@alwaysmeticulous/client", () => ({
17
+ createClientWithOAuth: mocks.createClientWithOAuth,
18
+ getDiffComments: mocks.getDiffComments,
19
+ }));
20
+ const runHandler = (json, includeResolved = false) => diff_comments_command_1.diffCommentsCommand.handler({
21
+ replayDiffId: "rd-1",
22
+ screenshotName: "after-event-5",
23
+ includeResolved,
24
+ json,
25
+ });
26
+ const comments = [
27
+ {
28
+ id: "comment-1",
29
+ x: 0.25,
30
+ y: 0.5,
31
+ text: "first\tline\nsecond line",
32
+ author: "Ada Lovelace",
33
+ replies: [
34
+ {
35
+ id: "reply-1",
36
+ author: "Grace Hopper",
37
+ text: "first reply",
38
+ },
39
+ {
40
+ id: "reply-2",
41
+ text: "second reply",
42
+ },
43
+ ],
44
+ },
45
+ {
46
+ id: "comment-2",
47
+ x: 0.75,
48
+ y: 0.8,
49
+ text: "second comment",
50
+ replies: [],
51
+ },
52
+ ];
53
+ (0, vitest_1.describe)("diff-comments command", () => {
54
+ let logSpy;
55
+ const stdoutText = () => logSpy.mock.calls.map(([value]) => String(value)).join("\n");
56
+ const stdoutBytes = () => logSpy.mock.calls.map(([value]) => `${String(value)}\n`).join("");
57
+ (0, vitest_1.beforeEach)(() => {
58
+ vitest_1.vi.clearAllMocks();
59
+ mocks.createClientWithOAuth.mockResolvedValue({});
60
+ mocks.getDiffComments.mockResolvedValue(comments);
61
+ logSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
62
+ });
63
+ (0, vitest_1.afterEach)(() => logSpy.mockRestore());
64
+ (0, vitest_1.it)("emits JSON byte-identical to the MCP tool result", async () => {
65
+ await runHandler(true);
66
+ (0, vitest_1.expect)(stdoutBytes()).toBe(`${(0, json_1.serializeJson)(comments)}\n`);
67
+ (0, vitest_1.expect)(mocks.getDiffComments).toHaveBeenCalledWith(vitest_1.expect.anything(), "rd-1", "after-event-5", { includeResolved: false });
68
+ });
69
+ (0, vitest_1.it)("flattens each comment followed by its replies in oldest-first order", async () => {
70
+ await runHandler(false);
71
+ const lines = stdoutText().split("\n");
72
+ (0, vitest_1.expect)(lines).toHaveLength(5);
73
+ (0, vitest_1.expect)(lines[0]).toBe(["id", "replyToCommentId", "author", "text", "x", "y"].join("\t"));
74
+ (0, vitest_1.expect)(lines[1].split("\t")).toEqual([
75
+ "comment-1",
76
+ "",
77
+ "Ada Lovelace",
78
+ '"first\\tline\\nsecond line"',
79
+ "0.25000",
80
+ "0.50000",
81
+ ]);
82
+ (0, vitest_1.expect)(lines.slice(1).map((line) => line.split("\t")[0])).toEqual([
83
+ "comment-1",
84
+ "reply-1",
85
+ "reply-2",
86
+ "comment-2",
87
+ ]);
88
+ (0, vitest_1.expect)(lines[2].split("\t")).toEqual([
89
+ "reply-1",
90
+ "comment-1",
91
+ "Grace Hopper",
92
+ '"first reply"',
93
+ "0.25000",
94
+ "0.50000",
95
+ ]);
96
+ (0, vitest_1.expect)(lines[3].split("\t")).toEqual([
97
+ "reply-2",
98
+ "comment-1",
99
+ "",
100
+ '"second reply"',
101
+ "0.25000",
102
+ "0.50000",
103
+ ]);
104
+ });
105
+ (0, vitest_1.it)("adds resolved comments and the isResolved column only when requested", async () => {
106
+ mocks.getDiffComments.mockResolvedValue(comments.map((comment, index) => ({
107
+ ...comment,
108
+ isResolved: index === 0,
109
+ })));
110
+ await runHandler(false, true);
111
+ const lines = stdoutText().split("\n");
112
+ (0, vitest_1.expect)(lines[0]).toBe(["id", "replyToCommentId", "author", "text", "x", "y", "isResolved"].join("\t"));
113
+ (0, vitest_1.expect)(lines.slice(1).map((line) => line.split("\t").at(-1))).toEqual([
114
+ "true",
115
+ "true",
116
+ "true",
117
+ "false",
118
+ ]);
119
+ (0, vitest_1.expect)(mocks.getDiffComments).toHaveBeenCalledWith(vitest_1.expect.anything(), "rd-1", "after-event-5", { includeResolved: true });
120
+ });
121
+ (0, vitest_1.it)("emits a header-only table when there are no comments", async () => {
122
+ mocks.getDiffComments.mockResolvedValue([]);
123
+ await runHandler(false);
124
+ (0, vitest_1.expect)(logSpy).toHaveBeenCalledTimes(1);
125
+ });
126
+ });
127
+ //# sourceMappingURL=diff-comments.command.spec.js.map
128
+ //# debugId=4763084d-90c5-5042-a6d2-8404245a39a1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-comments.command.spec.js","sources":["../../../src/commands/agent/diff-comments.command.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"4763084d-90c5-5042-a6d2-8404245a39a1"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAc3C,eAAO,MAAM,YAAY,EAAE,aAqC1B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAe3C,eAAO,MAAM,YAAY,EAAE,aAsC1B,CAAC"}
@@ -1,8 +1,9 @@
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]="508d3789-34b4-5226-bd70-47824366ddcc")}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]="a9218534-e158-59cf-8f4a-98eb28e0efee")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.agentCommand = void 0;
6
+ const diff_comments_command_1 = require("./diff-comments.command");
6
7
  const js_coverage_diff_command_1 = require("./js-coverage-diff.command");
7
8
  const js_coverage_command_1 = require("./js-coverage.command");
8
9
  const screenshot_dom_diff_command_1 = require("./screenshot-dom-diff.command");
@@ -21,6 +22,7 @@ exports.agentCommand = {
21
22
  builder: (yargs) => yargs
22
23
  .command(test_run_for_commit_command_1.testRunForCommitCommand)
23
24
  .command(test_run_diffs_command_1.testRunDiffsCommand)
25
+ .command(diff_comments_command_1.diffCommentsCommand)
24
26
  .command(js_coverage_command_1.jsCoverageCommand)
25
27
  .command(js_coverage_diff_command_1.jsCoverageDiffCommand)
26
28
  .command(screenshot_image_files_command_1.imageFilesCommand)
@@ -50,4 +52,4 @@ exports.agentCommand = {
50
52
  },
51
53
  };
52
54
  //# sourceMappingURL=index.js.map
53
- //# debugId=508d3789-34b4-5226-bd70-47824366ddcc
55
+ //# debugId=a9218534-e158-59cf-8f4a-98eb28e0efee
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/commands/agent/index.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,yEAAmE;AACnE,+DAA0D;AAC1D,+EAA+D;AAC/D,qFAAqE;AACrE,yEAA8D;AAC9D,yDAAqD;AACrD,uEAAkE;AAClE,qEAA+D;AAC/D,+EAAwE;AACxE,yDAAyD;AACzD,yEAAmE;AACnE,iEAA4D;AAE/C,QAAA,YAAY,GAAkB;IACzC,OAAO,EAAE,OAAO;IAChB,QAAQ,EACN,0EAA0E;IAC5E,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,OAAO,CAAC,qDAAuB,CAAC;SAChC,OAAO,CAAC,4CAAmB,CAAC;SAC5B,OAAO,CAAC,uCAAiB,CAAC;SAC1B,OAAO,CAAC,gDAAqB,CAAC;SAC9B,OAAO,CAAC,kDAAiB,CAAC;SAC1B,OAAO,CAAC,2CAAgB,CAAC;SACzB,OAAO,CAAC,4CAAc,CAAC;SACvB,OAAO,CAAC,sCAAmB,CAAC;SAC5B,OAAO,CAAC,yCAAkB,CAAC;SAC3B,OAAO,CAAC,gDAAqB,CAAC;SAC9B,OAAO,CAAC,kCAAe,CAAC;SACxB,OAAO,CAAC,+CAAqB,CAAC;SAC9B,MAAM,CAAC,SAAS,EAAE;QACjB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EACT,4GAA4G;KAC/G,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EACT,oEAAoE;YACpE,gEAAgE;YAChE,0DAA0D;KAC7D,CAAC;SACD,aAAa,EAAE;SACf,IAAI,EAAE;IACX,OAAO,EAAE,GAAG,EAAE;QACZ,0BAA0B;IAC5B,CAAC;CACF,CAAC","debugId":"508d3789-34b4-5226-bd70-47824366ddcc"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/commands/agent/index.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AACA,mEAA8D;AAC9D,yEAAmE;AACnE,+DAA0D;AAC1D,+EAA+D;AAC/D,qFAAqE;AACrE,yEAA8D;AAC9D,yDAAqD;AACrD,uEAAkE;AAClE,qEAA+D;AAC/D,+EAAwE;AACxE,yDAAyD;AACzD,yEAAmE;AACnE,iEAA4D;AAE/C,QAAA,YAAY,GAAkB;IACzC,OAAO,EAAE,OAAO;IAChB,QAAQ,EACN,0EAA0E;IAC5E,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,OAAO,CAAC,qDAAuB,CAAC;SAChC,OAAO,CAAC,4CAAmB,CAAC;SAC5B,OAAO,CAAC,2CAAmB,CAAC;SAC5B,OAAO,CAAC,uCAAiB,CAAC;SAC1B,OAAO,CAAC,gDAAqB,CAAC;SAC9B,OAAO,CAAC,kDAAiB,CAAC;SAC1B,OAAO,CAAC,2CAAgB,CAAC;SACzB,OAAO,CAAC,4CAAc,CAAC;SACvB,OAAO,CAAC,sCAAmB,CAAC;SAC5B,OAAO,CAAC,yCAAkB,CAAC;SAC3B,OAAO,CAAC,gDAAqB,CAAC;SAC9B,OAAO,CAAC,kCAAe,CAAC;SACxB,OAAO,CAAC,+CAAqB,CAAC;SAC9B,MAAM,CAAC,SAAS,EAAE;QACjB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EACT,4GAA4G;KAC/G,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,WAAW,EACT,oEAAoE;YACpE,gEAAgE;YAChE,0DAA0D;KAC7D,CAAC;SACD,aAAa,EAAE;SACf,IAAI,EAAE;IACX,OAAO,EAAE,GAAG,EAAE;QACZ,0BAA0B;IAC5B,CAAC;CACF,CAAC","debugId":"a9218534-e158-59cf-8f4a-98eb28e0efee"}
@@ -5,10 +5,14 @@ interface Options {
5
5
  commitSha: string | undefined;
6
6
  dontWaitForTestRunToComplete: boolean;
7
7
  includeReplayIds: boolean;
8
+ includeMismatchFraction: boolean;
9
+ includeReviews: boolean;
8
10
  includeReviewDecisions: boolean;
9
11
  includeDomDiffIds: boolean;
10
12
  includeAllDiffs: boolean;
11
13
  onlyUnreviewed: boolean;
14
+ onlyRejected: boolean;
15
+ onlyWithComments: boolean;
12
16
  orderByReplayDiffs: boolean;
13
17
  counts: boolean;
14
18
  json: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"test-run-diffs.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/test-run-diffs.command.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAkB3C,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,gBAAgB,EAAE,OAAO,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAsPD,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAwE/D,CAAC"}
1
+ {"version":3,"file":"test-run-diffs.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/test-run-diffs.command.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAgB3C,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,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,OAAO,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAiQD,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAgG/D,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]="19c1a413-874e-5570-b853-ea9106e2e943")}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]="038998bd-a46c-5863-855f-760472c4af2c")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.testRunDiffsCommand = void 0;
@@ -13,7 +13,7 @@ const test_run_diffs_utils_1 = require("./test-run-diffs.utils");
13
13
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
14
14
  /** Give up polling the diffs summary after this long, rather than forever. */
15
15
  const SUMMARY_POLL_TIMEOUT_MS = 10 * 60_000;
16
- const handler = async ({ apiToken, testRunId, commitSha, dontWaitForTestRunToComplete, includeReplayIds, includeReviewDecisions, includeDomDiffIds, includeAllDiffs, onlyUnreviewed, orderByReplayDiffs, counts, json, project, }) => {
16
+ const handler = async ({ apiToken, testRunId, commitSha, dontWaitForTestRunToComplete, includeReplayIds, includeMismatchFraction, includeReviews, includeReviewDecisions, includeDomDiffIds, includeAllDiffs, onlyUnreviewed, onlyRejected, onlyWithComments, orderByReplayDiffs, counts, json, project, }) => {
17
17
  if (testRunId != null && commitSha != null) {
18
18
  throw new cli_user_error_1.CliUserError("Pass either --testRunId or --commitSha, not both.");
19
19
  }
@@ -24,11 +24,15 @@ const handler = async ({ apiToken, testRunId, commitSha, dontWaitForTestRunToCom
24
24
  if (counts) {
25
25
  const incompatible = [
26
26
  [includeReplayIds, "--includeReplayIds"],
27
+ [includeMismatchFraction, "--includeMismatchFraction"],
27
28
  [includeDomDiffIds, "--includeDomDiffIds"],
28
29
  [includeAllDiffs, "--includeAllDiffs"],
29
30
  [orderByReplayDiffs, "--orderByReplayDiffs"],
31
+ [includeReviews, "--includeReviews"],
30
32
  [includeReviewDecisions, "--includeReviewDecisions"],
31
33
  [onlyUnreviewed, "--onlyUnreviewed"],
34
+ [onlyRejected, "--onlyRejected"],
35
+ [onlyWithComments, "--onlyWithComments"],
32
36
  ]
33
37
  .filter(([enabled]) => enabled)
34
38
  .map(([, name]) => name);
@@ -66,15 +70,12 @@ const handler = async ({ apiToken, testRunId, commitSha, dontWaitForTestRunToCom
66
70
  resolvedTestRunId = run.testRunId;
67
71
  status = run.status;
68
72
  }
69
- // --onlyUnreviewed spans every unreviewed difference (selected or not), so it
70
- // implies --includeAllDiffs: the isSelected column is included to tell them
71
- // apart, matching the backend, which resolves the same implication.
72
- const includeAllDiffsResolved = includeAllDiffs || onlyUnreviewed;
73
+ const includeReviewsResolved = includeReviews || includeReviewDecisions;
73
74
  const columns = {
74
75
  includeDomDiffIds,
75
- includeAllDiffs: includeAllDiffsResolved,
76
76
  includeReplayIds,
77
- includeReviewDecisions,
77
+ includeMismatchFraction,
78
+ includeReviews: includeReviewsResolved,
78
79
  };
79
80
  // Diffs are only meaningful once the run has finished with a verdict
80
81
  // (Success/Failure). Block until it finishes (default) or, with
@@ -117,11 +118,14 @@ const handler = async ({ apiToken, testRunId, commitSha, dontWaitForTestRunToCom
117
118
  (0, common_1.logProgress)(`Fetching diffs summary for test run ${resolvedTestRunId}...`);
118
119
  const diffsSummaryOptions = {
119
120
  includeReplayIds,
121
+ includeMismatchFraction,
120
122
  includeDomDiffIds,
121
- includeAllDiffs: includeAllDiffsResolved,
123
+ includeAllDiffs,
122
124
  orderByReplayDiffs,
123
- includeReviewDecisions,
125
+ includeReviews: includeReviewsResolved,
124
126
  onlyUnreviewed,
127
+ onlyRejected,
128
+ onlyWithComments,
125
129
  };
126
130
  let response = await (0, client_1.getTestRunDiffsSummary)(client, resolvedTestRunId, diffsSummaryOptions);
127
131
  // A cold start finding the last computation already `failed` retriggers
@@ -162,32 +166,32 @@ const handler = async ({ apiToken, testRunId, commitSha, dontWaitForTestRunToCom
162
166
  response = await (0, client_1.getTestRunDiffsSummary)(client, resolvedTestRunId, diffsSummaryOptions);
163
167
  }
164
168
  const data = response.data ?? [];
165
- // The backend sets `index` to a global rank — a flat priority rank by default,
166
- // or a replayDiff-grouped rank under orderByReplayDiffs; rows sort by it.
167
- const rows = (0, test_run_diffs_utils_1.flattenDiffRows)(data);
168
169
  if (json) {
169
- (0, print_json_1.printJson)((0, test_run_diffs_utils_1.buildDiffsSummaryJson)(data));
170
+ (0, print_json_1.printJson)(data);
170
171
  }
171
172
  else {
172
173
  // Always emit the TSV header so a zero-diff run is a header with no rows (the
173
174
  // same shape as the in-progress short-circuit above), never empty stdout.
174
175
  console.log((0, test_run_diffs_utils_1.buildDiffsSummaryHeader)(columns).join("\t"));
175
- for (const row of rows) {
176
- console.log((0, test_run_diffs_utils_1.formatDiffRow)(row, columns).join("\t"));
176
+ for (const diff of data) {
177
+ console.log((0, test_run_diffs_utils_1.formatDiffRow)(diff, columns).join("\t"));
177
178
  }
178
179
  }
180
+ if (response.selectionApplied) {
181
+ (0, common_1.logNotice)("Only selected representative diffs are included. Set includeAllDiffs to true to return all diffs.");
182
+ }
179
183
  // Summaries on stderr regardless of --json (which only changes stdout).
180
184
  if (data.length === 0) {
181
- (0, common_1.logNotice)(`Test run ${resolvedTestRunId} does not have diffs.`);
185
+ (0, common_1.logNotice)(`Test run ${resolvedTestRunId} does not have any diffs matching the query.`);
182
186
  return;
183
187
  }
184
- const totalDiffScreenshots = rows.filter((row) => row.screenshot.userVisibleOutcome === "difference").length;
188
+ const numReplayDiffs = new Set(data.map((diff) => diff.replayDiffId)).size;
185
189
  const tEnd = performance.now();
186
- (0, common_1.logNotice)(`${data.length} replay diff(s), ${totalDiffScreenshots} screenshot diff(s), total ${((tEnd - t0) / 1000).toFixed(1)}s`);
190
+ (0, common_1.logNotice)(`${numReplayDiffs} replay diff(s), ${data.length} screenshot diff(s), total ${((tEnd - t0) / 1000).toFixed(1)}s`);
187
191
  };
188
192
  exports.testRunDiffsCommand = {
189
193
  command: "test-run-diffs",
190
- describe: "Get the list of screenshot diffs for a given test run (by default a selected subset of representative diffs in priority order). Outputs a TSV table with columns replayDiffId, screenshotName, index, outcome, mismatchFraction plus the requested additional columns. Pass --counts to print just the totals instead of the list.",
194
+ describe: "Get the list of screenshot diffs for a given test run (by default all diffs when there are at most five; above that, a selected representative subset in priority order). Outputs a priority-ordered TSV table with columns replayDiffId and screenshotName plus the requested additional columns. Pass --counts to print just the totals instead of the list.",
191
195
  builder: {
192
196
  apiToken: { string: true, description: "Meticulous API token." },
193
197
  testRunId: {
@@ -205,12 +209,22 @@ exports.testRunDiffsCommand = {
205
209
  },
206
210
  includeAllDiffs: {
207
211
  boolean: true,
208
- description: "Output all screenshot diffs instead of only the selected representative subset; adds an isSelected column.",
212
+ description: "Output all screenshot diffs instead of only the selected representative subset.",
209
213
  default: false,
210
214
  },
211
215
  onlyUnreviewed: {
212
216
  boolean: true,
213
- description: "Output only screenshot diffs still awaiting review (decision unreviewed), across every difference rather than just the selected subset i.e. everything left to review. Implies --includeAllDiffs, so the isSelected column is included to tell selected from unselected differences.",
217
+ description: "Output only screenshot diffs still awaiting review (decision unreviewed). The --only* flags are additive: when several are set, diffs matching any of them are output, so combining them widens the output rather than narrowing it.",
218
+ default: false,
219
+ },
220
+ onlyRejected: {
221
+ boolean: true,
222
+ description: "Output only screenshot diffs rejected during review (decision rejected). The --only* flags are additive: when several are set, diffs matching any of them are output, so combining them widens the output rather than narrowing it.",
223
+ default: false,
224
+ },
225
+ onlyWithComments: {
226
+ boolean: true,
227
+ description: "Output only screenshot diffs with one or more open review comments. The --only* flags are additive: when several are set, diffs matching any of them are output, so combining them widens the output rather than narrowing it.",
214
228
  default: false,
215
229
  },
216
230
  includeReplayIds: {
@@ -218,9 +232,20 @@ exports.testRunDiffsCommand = {
218
232
  description: "Add baseReplayId and headReplayId columns with each diff's base and head replay IDs.",
219
233
  default: false,
220
234
  },
235
+ includeMismatchFraction: {
236
+ boolean: true,
237
+ description: "Add a mismatchFraction column with the fraction of pixels that differ between the before and after screenshots.",
238
+ default: false,
239
+ },
240
+ includeReviews: {
241
+ boolean: true,
242
+ description: "Add decision and openComments columns with the PR review decision and number of open review comments per diff.",
243
+ default: false,
244
+ },
221
245
  includeReviewDecisions: {
222
246
  boolean: true,
223
- description: "Add a decision column with the PR review decision per diff (accepted/rejected/ignored/unreviewed; unreviewed when undecided or no PR).",
247
+ description: "Deprecated alias for --includeReviews.",
248
+ deprecated: "use --includeReviews instead",
224
249
  default: false,
225
250
  },
226
251
  includeDomDiffIds: {
@@ -230,7 +255,7 @@ exports.testRunDiffsCommand = {
230
255
  },
231
256
  orderByReplayDiffs: {
232
257
  boolean: true,
233
- description: "Order the list by replay diff (a replay diff's differences get consecutive index values) instead of the default global priority order.",
258
+ description: "Order the list by replay diff (a replay diff's differences are consecutive) instead of the default global priority order.",
234
259
  default: false,
235
260
  },
236
261
  dontWaitForTestRunToComplete: {
@@ -240,11 +265,11 @@ exports.testRunDiffsCommand = {
240
265
  },
241
266
  counts: {
242
267
  boolean: true,
243
- description: "Get the aggregate diff counts for a given test run instead of the per-diff list: number of replays, number of differences, and the PR review-decision breakdown (approved/ignored/rejected/unreviewed). Cannot be combined with the list/filter flags, only with --json.",
268
+ description: "Get the aggregate diff counts for a given test run instead of the per-diff list: number of replays, number of differences, the PR review-decision breakdown (approved/ignored/rejected/unreviewed), and the number of differences with open review comments. Cannot be combined with the list/filter flags, only with --json.",
244
269
  default: false,
245
270
  },
246
271
  },
247
272
  handler: (0, sentry_utils_1.wrapHandler)(handler),
248
273
  };
249
274
  //# sourceMappingURL=test-run-diffs.command.js.map
250
- //# debugId=19c1a413-874e-5570-b853-ea9106e2e943
275
+ //# debugId=038998bd-a46c-5863-855f-760472c4af2c
@@ -1 +1 @@
1
- {"version":3,"file":"test-run-diffs.command.js","sources":["../../../src/commands/agent/test-run-diffs.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"19c1a413-874e-5570-b853-ea9106e2e943"}
1
+ {"version":3,"file":"test-run-diffs.command.js","sources":["../../../src/commands/agent/test-run-diffs.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"038998bd-a46c-5863-855f-760472c4af2c"}