@alwaysmeticulous/cli 2.303.1 → 2.305.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 (181) hide show
  1. package/dist/command-utils/common-options.d.ts +5 -0
  2. package/dist/command-utils/common-options.d.ts.map +1 -1
  3. package/dist/command-utils/common-options.js +7 -2
  4. package/dist/command-utils/common-options.js.map +1 -1
  5. package/dist/command-utils/json-args.d.ts +14 -0
  6. package/dist/command-utils/json-args.d.ts.map +1 -0
  7. package/dist/command-utils/json-args.js +40 -0
  8. package/dist/command-utils/json-args.js.map +1 -0
  9. package/dist/command-utils/json-args.spec.d.ts +2 -0
  10. package/dist/command-utils/json-args.spec.d.ts.map +1 -0
  11. package/dist/command-utils/json-args.spec.js +37 -0
  12. package/dist/command-utils/json-args.spec.js.map +1 -0
  13. package/dist/command-utils/print-json.d.ts +7 -0
  14. package/dist/command-utils/print-json.d.ts.map +1 -0
  15. package/dist/command-utils/print-json.js +16 -0
  16. package/dist/command-utils/print-json.js.map +1 -0
  17. package/dist/commands/agent/build-git-options.d.ts +25 -20
  18. package/dist/commands/agent/build-git-options.d.ts.map +1 -1
  19. package/dist/commands/agent/build-git-options.js +62 -54
  20. package/dist/commands/agent/build-git-options.js.map +1 -1
  21. package/dist/commands/agent/build-git-options.spec.js +96 -62
  22. package/dist/commands/agent/build-git-options.spec.js.map +1 -1
  23. package/dist/commands/agent/index.d.ts.map +1 -1
  24. package/dist/commands/agent/index.js +11 -4
  25. package/dist/commands/agent/index.js.map +1 -1
  26. package/dist/commands/agent/js-coverage-diff.command.d.ts +1 -1
  27. package/dist/commands/agent/js-coverage-diff.command.d.ts.map +1 -1
  28. package/dist/commands/agent/js-coverage-diff.command.js +31 -38
  29. package/dist/commands/agent/js-coverage-diff.command.js.map +1 -1
  30. package/dist/commands/agent/js-coverage.command.d.ts +7 -4
  31. package/dist/commands/agent/js-coverage.command.d.ts.map +1 -1
  32. package/dist/commands/agent/js-coverage.command.js +104 -66
  33. package/dist/commands/agent/js-coverage.command.js.map +1 -1
  34. package/dist/commands/agent/js-coverage.command.spec.js +48 -2
  35. package/dist/commands/agent/js-coverage.command.spec.js.map +1 -1
  36. package/dist/commands/agent/screenshot-dom-diff.command.d.ts +1 -0
  37. package/dist/commands/agent/screenshot-dom-diff.command.d.ts.map +1 -1
  38. package/dist/commands/agent/screenshot-dom-diff.command.js +26 -18
  39. package/dist/commands/agent/screenshot-dom-diff.command.js.map +1 -1
  40. package/dist/commands/agent/screenshot-image-files.command.d.ts +1 -0
  41. package/dist/commands/agent/screenshot-image-files.command.d.ts.map +1 -1
  42. package/dist/commands/agent/screenshot-image-files.command.js +18 -5
  43. package/dist/commands/agent/screenshot-image-files.command.js.map +1 -1
  44. package/dist/commands/agent/screenshot-image.command.d.ts +1 -0
  45. package/dist/commands/agent/screenshot-image.command.d.ts.map +1 -1
  46. package/dist/commands/agent/screenshot-image.command.js +9 -4
  47. package/dist/commands/agent/screenshot-image.command.js.map +1 -1
  48. package/dist/commands/agent/test-run-diffs.command.d.ts +1 -0
  49. package/dist/commands/agent/test-run-diffs.command.d.ts.map +1 -1
  50. package/dist/commands/agent/test-run-diffs.command.js +40 -24
  51. package/dist/commands/agent/test-run-diffs.command.js.map +1 -1
  52. package/dist/commands/agent/test-run-diffs.utils.d.ts +7 -0
  53. package/dist/commands/agent/test-run-diffs.utils.d.ts.map +1 -1
  54. package/dist/commands/agent/test-run-diffs.utils.js +48 -3
  55. package/dist/commands/agent/test-run-diffs.utils.js.map +1 -1
  56. package/dist/commands/agent/test-run-diffs.utils.spec.js +145 -2
  57. package/dist/commands/agent/test-run-diffs.utils.spec.js.map +1 -1
  58. package/dist/commands/agent/test-run-for-commit.command.d.ts.map +1 -1
  59. package/dist/commands/agent/test-run-for-commit.command.js +12 -14
  60. package/dist/commands/agent/test-run-for-commit.command.js.map +1 -1
  61. package/dist/commands/agent/timeline.command.d.ts +1 -0
  62. package/dist/commands/agent/timeline.command.d.ts.map +1 -1
  63. package/dist/commands/agent/timeline.command.js +21 -7
  64. package/dist/commands/agent/timeline.command.js.map +1 -1
  65. package/dist/commands/agent/timeline.command.spec.d.ts +2 -0
  66. package/dist/commands/agent/timeline.command.spec.d.ts.map +1 -0
  67. package/dist/commands/agent/timeline.command.spec.js +77 -0
  68. package/dist/commands/agent/timeline.command.spec.js.map +1 -0
  69. package/dist/commands/agent/trigger-test-run.command.d.ts +27 -1
  70. package/dist/commands/agent/trigger-test-run.command.d.ts.map +1 -1
  71. package/dist/commands/agent/trigger-test-run.command.js +64 -53
  72. package/dist/commands/agent/trigger-test-run.command.js.map +1 -1
  73. package/dist/commands/agent/trigger-test-run.command.spec.d.ts +2 -0
  74. package/dist/commands/agent/trigger-test-run.command.spec.d.ts.map +1 -0
  75. package/dist/commands/agent/trigger-test-run.command.spec.js +88 -0
  76. package/dist/commands/agent/trigger-test-run.command.spec.js.map +1 -0
  77. package/dist/commands/agent/upload-build.command.d.ts +0 -1
  78. package/dist/commands/agent/upload-build.command.d.ts.map +1 -1
  79. package/dist/commands/agent/upload-build.command.js +12 -17
  80. package/dist/commands/agent/upload-build.command.js.map +1 -1
  81. package/dist/commands/all-commands.d.ts +38 -0
  82. package/dist/commands/all-commands.d.ts.map +1 -0
  83. package/dist/commands/all-commands.js +65 -0
  84. package/dist/commands/all-commands.js.map +1 -0
  85. package/dist/commands/auth/__tests__/list-projects.command.spec.js +22 -12
  86. package/dist/commands/auth/__tests__/list-projects.command.spec.js.map +1 -1
  87. package/dist/commands/auth/__tests__/login.command.spec.js +9 -7
  88. package/dist/commands/auth/__tests__/login.command.spec.js.map +1 -1
  89. package/dist/commands/auth/__tests__/logout.command.spec.js +4 -8
  90. package/dist/commands/auth/__tests__/logout.command.spec.js.map +1 -1
  91. package/dist/commands/auth/__tests__/whoami.command.spec.js +71 -21
  92. package/dist/commands/auth/__tests__/whoami.command.spec.js.map +1 -1
  93. package/dist/commands/auth/list-projects.command.d.ts.map +1 -1
  94. package/dist/commands/auth/list-projects.command.js +17 -14
  95. package/dist/commands/auth/list-projects.command.js.map +1 -1
  96. package/dist/commands/auth/login.command.d.ts.map +1 -1
  97. package/dist/commands/auth/login.command.js +4 -5
  98. package/dist/commands/auth/login.command.js.map +1 -1
  99. package/dist/commands/auth/logout.command.d.ts +1 -5
  100. package/dist/commands/auth/logout.command.d.ts.map +1 -1
  101. package/dist/commands/auth/logout.command.js +4 -9
  102. package/dist/commands/auth/logout.command.js.map +1 -1
  103. package/dist/commands/auth/set-project.command.d.ts.map +1 -1
  104. package/dist/commands/auth/set-project.command.js +7 -5
  105. package/dist/commands/auth/set-project.command.js.map +1 -1
  106. package/dist/commands/auth/unset-project.command.js +5 -5
  107. package/dist/commands/auth/unset-project.command.js.map +1 -1
  108. package/dist/commands/auth/whoami.command.d.ts +5 -1
  109. package/dist/commands/auth/whoami.command.d.ts.map +1 -1
  110. package/dist/commands/auth/whoami.command.js +75 -32
  111. package/dist/commands/auth/whoami.command.js.map +1 -1
  112. package/dist/commands/ci/prepare.command.d.ts.map +1 -1
  113. package/dist/commands/ci/prepare.command.js +3 -2
  114. package/dist/commands/ci/prepare.command.js.map +1 -1
  115. package/dist/commands/ci/run-local.command.d.ts.map +1 -1
  116. package/dist/commands/ci/run-local.command.js +6 -4
  117. package/dist/commands/ci/run-local.command.js.map +1 -1
  118. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.d.ts.map +1 -1
  119. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js +6 -3
  120. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js.map +1 -1
  121. package/dist/commands/ci/run.command.d.ts.map +1 -1
  122. package/dist/commands/ci/run.command.js +3 -2
  123. package/dist/commands/ci/run.command.js.map +1 -1
  124. package/dist/commands/ci/start-tunnel.command.d.ts.map +1 -1
  125. package/dist/commands/ci/start-tunnel.command.js +4 -2
  126. package/dist/commands/ci/start-tunnel.command.js.map +1 -1
  127. package/dist/commands/ci/trigger-test-run.core.d.ts.map +1 -1
  128. package/dist/commands/ci/trigger-test-run.core.js +6 -3
  129. package/dist/commands/ci/trigger-test-run.core.js.map +1 -1
  130. package/dist/commands/ci/upload-assets.command.d.ts +1 -0
  131. package/dist/commands/ci/upload-assets.command.d.ts.map +1 -1
  132. package/dist/commands/ci/upload-assets.command.js +3 -2
  133. package/dist/commands/ci/upload-assets.command.js.map +1 -1
  134. package/dist/commands/ci/upload-container.command.d.ts +1 -0
  135. package/dist/commands/ci/upload-container.command.d.ts.map +1 -1
  136. package/dist/commands/ci/upload-container.command.js +3 -2
  137. package/dist/commands/ci/upload-container.command.js.map +1 -1
  138. package/dist/commands/debug/index.d.ts.map +1 -1
  139. package/dist/commands/debug/index.js +43 -36
  140. package/dist/commands/debug/index.js.map +1 -1
  141. package/dist/commands/local/relevant-sessions.command.d.ts.map +1 -1
  142. package/dist/commands/local/relevant-sessions.command.js +6 -3
  143. package/dist/commands/local/relevant-sessions.command.js.map +1 -1
  144. package/dist/commands/project/show.command.d.ts.map +1 -1
  145. package/dist/commands/project/show.command.js +6 -3
  146. package/dist/commands/project/show.command.js.map +1 -1
  147. package/dist/commands/record/__tests__/login.command.spec.d.ts +2 -0
  148. package/dist/commands/record/__tests__/login.command.spec.d.ts.map +1 -0
  149. package/dist/commands/record/__tests__/login.command.spec.js +72 -0
  150. package/dist/commands/record/__tests__/login.command.spec.js.map +1 -0
  151. package/dist/commands/record/__tests__/session.command.spec.d.ts +2 -0
  152. package/dist/commands/record/__tests__/session.command.spec.d.ts.map +1 -0
  153. package/dist/commands/record/__tests__/session.command.spec.js +86 -0
  154. package/dist/commands/record/__tests__/session.command.spec.js.map +1 -0
  155. package/dist/commands/record/login.command.d.ts.map +1 -1
  156. package/dist/commands/record/login.command.js +9 -3
  157. package/dist/commands/record/login.command.js.map +1 -1
  158. package/dist/commands/record/session.command.d.ts.map +1 -1
  159. package/dist/commands/record/session.command.js +9 -3
  160. package/dist/commands/record/session.command.js.map +1 -1
  161. package/dist/commands/replay.command.d.ts.map +1 -1
  162. package/dist/commands/replay.command.js +11 -15
  163. package/dist/commands/replay.command.js.map +1 -1
  164. package/dist/commands/schema.command.d.ts +53 -0
  165. package/dist/commands/schema.command.d.ts.map +1 -1
  166. package/dist/commands/schema.command.js +232 -106
  167. package/dist/commands/schema.command.js.map +1 -1
  168. package/dist/commands/schema.command.spec.d.ts +2 -0
  169. package/dist/commands/schema.command.spec.d.ts.map +1 -0
  170. package/dist/commands/schema.command.spec.js +198 -0
  171. package/dist/commands/schema.command.spec.js.map +1 -0
  172. package/dist/main.d.ts.map +1 -1
  173. package/dist/main.js +60 -48
  174. package/dist/main.js.map +1 -1
  175. package/dist/utils/__tests__/select-project.spec.js +6 -12
  176. package/dist/utils/__tests__/select-project.spec.js.map +1 -1
  177. package/dist/utils/select-project.d.ts +1 -3
  178. package/dist/utils/select-project.d.ts.map +1 -1
  179. package/dist/utils/select-project.js +6 -5
  180. package/dist/utils/select-project.js.map +1 -1
  181. package/package.json +9 -9
@@ -1,10 +1,11 @@
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]="4567ef7d-85b7-51ec-a88f-41a6c7312232")}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]="7c46427f-0bd8-5b44-89b2-acad6e9443bb")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.jsCoverageCommand = exports.isAmbiguousTestRunError = exports.determineColumns = exports.assertTestRunOnlyFlagsUnsetForReplay = void 0;
5
+ exports.jsCoverageCommand = exports.isAmbiguousTestRunError = exports.coverageColumnValue = exports.coverageFileToJson = exports.determineColumns = exports.assertTestRunOnlyFlagsUnsetForReplay = void 0;
6
6
  const client_1 = require("@alwaysmeticulous/client");
7
7
  const common_1 = require("@alwaysmeticulous/common");
8
+ const print_json_1 = require("../../command-utils/print-json");
8
9
  const sentry_utils_1 = require("../../command-utils/sentry.utils");
9
10
  const cli_user_error_1 = require("../../utils/cli-user-error");
10
11
  const format_coverage_ranges_1 = require("../../utils/format-coverage-ranges");
@@ -17,9 +18,8 @@ const COVERAGE_COLUMN_FLAG = {
17
18
  uncoveredRanges: "includeUncoveredRanges",
18
19
  coveragePercentage: "includeCoveragePercentage",
19
20
  };
20
- const log = (...args) => process.stderr.write(args.join(" ") + "\n");
21
21
  const handler = async (options) => {
22
- const { apiToken, replayId, testRunId, commitSha, screenshotName, dontWaitForTestRunToComplete, globFilter, json, } = options;
22
+ const { apiToken, testRunId, commitSha, dontWaitForTestRunToComplete, replayId, screenshotName, globFilter, json, } = options;
23
23
  (0, common_1.initLogger)();
24
24
  if (screenshotName != null && replayId == null) {
25
25
  throw new cli_user_error_1.CliUserError("--screenshotName only applies to --replayId.");
@@ -47,12 +47,12 @@ const handler = async (options) => {
47
47
  // selecting test-run coverage.
48
48
  if (replayId != null) {
49
49
  await printReplayCoverage(client, apiToken_, {
50
- replayId,
51
- screenshotName,
52
50
  testRunId,
53
51
  commitSha,
54
- globFilter,
52
+ replayId,
53
+ screenshotName,
55
54
  includeAllFiles: options.includeAllFiles,
55
+ globFilter,
56
56
  json,
57
57
  });
58
58
  }
@@ -73,6 +73,15 @@ const handler = async (options) => {
73
73
  }
74
74
  const finishedStatus = await (0, resolve_test_run_from_commit_1.ensureTestRunFinished)(client, resolvedTestRunId, status, { dontWait: dontWaitForTestRunToComplete });
75
75
  if (finishedStatus == null) {
76
+ // Keep stdout's shape stable: an unfinished run has no coverage yet, so
77
+ // emit the empty JSON array / a header-only TSV (matching a finished run
78
+ // with zero files) rather than nothing — the notice went to stderr.
79
+ if (json) {
80
+ console.log("[]");
81
+ }
82
+ else {
83
+ console.log(["repoFilePath", ...columns].join("\t"));
84
+ }
76
85
  return;
77
86
  }
78
87
  // Reject session-pool bases (Partial); fatal failures already threw.
@@ -133,7 +142,7 @@ const resolveTestRunIdForCommit = async (client, apiToken, commitSha) => {
133
142
  const { testRunId } = await (0, resolve_test_run_from_commit_1.resolveTestRunForCommitOrThrow)(client, apiToken, commitSha);
134
143
  return testRunId;
135
144
  };
136
- const printReplayCoverage = async (client, apiToken, { replayId, screenshotName, testRunId, commitSha, globFilter, includeAllFiles, json, }) => {
145
+ const printReplayCoverage = async (client, apiToken, { testRunId, commitSha, replayId, screenshotName, includeAllFiles, globFilter, json, }) => {
137
146
  // An explicit --commitSha selects the run client-side (the endpoint only
138
147
  // understands testRunId); --testRunId is passed through as-is.
139
148
  const effectiveTestRunId = testRunId ??
@@ -143,8 +152,8 @@ const printReplayCoverage = async (client, apiToken, { replayId, screenshotName,
143
152
  try {
144
153
  const result = await (0, client_1.getReplayJsCoverage)(client, replayId, screenshotName, {
145
154
  testRunId: effectiveTestRunId,
146
- globFilter,
147
155
  includeAllFiles,
156
+ globFilter,
148
157
  });
149
158
  printReplayResult(result, json);
150
159
  }
@@ -161,12 +170,12 @@ const printReplayCoverage = async (client, apiToken, { replayId, screenshotName,
161
170
  try {
162
171
  const result = await (0, client_1.getReplayJsCoverage)(client, replayId, screenshotName, {
163
172
  testRunId: fallback.testRunId,
164
- globFilter,
165
173
  includeAllFiles,
174
+ globFilter,
166
175
  });
167
176
  // Only announce the fallback once it has actually worked, so a doomed
168
177
  // retry doesn't leave a misleading "retrying against run X" line.
169
- log(`Replay is the head of multiple test runs; resolved coverage against test run ${fallback.testRunId} from the local commit.`);
178
+ (0, common_1.logNotice)(`Replay is the head of multiple test runs; resolved coverage against test run ${fallback.testRunId} from the local commit.`);
170
179
  printReplayResult(result, json);
171
180
  return;
172
181
  }
@@ -182,18 +191,23 @@ const printReplayCoverage = async (client, apiToken, { replayId, screenshotName,
182
191
  }
183
192
  };
184
193
  const printReplayResult = (result, json) => {
185
- if (json) {
186
- console.log(JSON.stringify(result, null, 2));
187
- return;
188
- }
189
- console.log(["repoFilePath", "executedRanges"].join("\t"));
190
194
  // Replay coverage is keyed by repo path (source-map paths that don't resolve
191
195
  // are dropped), matching the test-run shape.
192
196
  const files = result.files ?? [];
193
- for (const [filePath, ranges] of files) {
194
- console.log([filePath, (0, format_coverage_ranges_1.formatCoverageRanges)(ranges)].join("\t"));
197
+ if (json) {
198
+ (0, print_json_1.printJson)(files.map(([repoFilePath, executedRanges]) => ({
199
+ repoFilePath,
200
+ executedRanges,
201
+ })));
202
+ }
203
+ else {
204
+ console.log(["repoFilePath", "executedRanges"].join("\t"));
205
+ for (const [filePath, ranges] of files) {
206
+ console.log([filePath, (0, format_coverage_ranges_1.formatCoverageRanges)(ranges)].join("\t"));
207
+ }
195
208
  }
196
- log(`${files.length} file(s) with coverage`);
209
+ // Summary on stderr regardless of --json (which only changes stdout).
210
+ (0, common_1.logNotice)(`${files.length} file(s) with coverage`);
197
211
  };
198
212
  const printTestRunCoverage = async (client, testRunId, options, columns, json) => {
199
213
  // Send the resolved columns as explicit flags (the default-to-executed rule
@@ -202,47 +216,76 @@ const printTestRunCoverage = async (client, testRunId, options, columns, json) =
202
216
  // the same `columns` array the headers/formatting use, so they stay in sync.
203
217
  const requestOptions = {
204
218
  includeAllFiles: options.includeAllFiles,
205
- prDiffOnly: options.prDiffOnly,
206
219
  ...(options.globFilter != null ? { globFilter: options.globFilter } : {}),
207
220
  };
208
221
  for (const column of columns) {
209
222
  requestOptions[COVERAGE_COLUMN_FLAG[column]] = true;
210
223
  }
224
+ requestOptions.prDiffOnly = options.prDiffOnly;
211
225
  const result = await (0, client_1.getTestRunJsCoverage)(client, testRunId, requestOptions);
212
226
  if (json) {
213
- console.log(JSON.stringify(result, null, 2));
214
- return;
227
+ (0, print_json_1.printJson)(result.files.map((file) => (0, exports.coverageFileToJson)(file, columns)));
228
+ }
229
+ else {
230
+ // Test-run coverage is the precomputed repo-mapped coverage, keyed by repo
231
+ // paths. Emit `repoFilePath` then the requested columns in fixed order.
232
+ console.log(["repoFilePath", ...columns].join("\t"));
233
+ for (const file of result.files) {
234
+ const fields = [
235
+ file.repoFilePath,
236
+ ...columns.map((column) => formatCoverageColumn(file, column)),
237
+ ];
238
+ console.log(fields.join("\t"));
239
+ }
215
240
  }
216
- // Test-run coverage is the precomputed repo-mapped coverage, keyed by repo
217
- // paths. Emit `repoFilePath` then the requested columns in fixed order.
218
- console.log(["repoFilePath", ...columns].join("\t"));
219
- for (const file of result.files) {
220
- const fields = [
221
- file.repoFilePath,
222
- ...columns.map((column) => formatCoverageColumn(file, column)),
223
- ];
224
- console.log(fields.join("\t"));
241
+ // Summary on stderr regardless of --json (which only changes stdout).
242
+ (0, common_1.logNotice)(`${result.files.length} file(s)`);
243
+ };
244
+ // The JSON equivalent of a TSV row: `repoFilePath` plus the requested columns,
245
+ // with structured values (raw ranges / numeric percentage) rather than the
246
+ // TSV-formatted strings.
247
+ const coverageFileToJson = (file, columns) => {
248
+ const row = { repoFilePath: file.repoFilePath };
249
+ for (const column of columns) {
250
+ row[column] = (0, exports.coverageColumnValue)(file, column);
225
251
  }
226
- log(`${result.files.length} file(s)`);
252
+ return row;
227
253
  };
228
- const formatCoverageColumn = (file, column) => {
254
+ exports.coverageFileToJson = coverageFileToJson;
255
+ const coverageColumnValue = (file, column) => {
229
256
  switch (column) {
230
257
  case "executedRanges":
231
- return (0, format_coverage_ranges_1.formatCoverageRanges)(file.executedRanges ?? []);
258
+ return file.executedRanges ?? [];
232
259
  case "executableRanges":
233
- return (0, format_coverage_ranges_1.formatCoverageRanges)(file.executableRanges ?? []);
260
+ return file.executableRanges ?? [];
234
261
  case "uncoveredRanges":
235
- return (0, format_coverage_ranges_1.formatCoverageRanges)(file.uncoveredRanges ?? []);
262
+ return file.uncoveredRanges ?? [];
236
263
  case "coveragePercentage":
237
- return file.coveragePercentage == null
238
- ? "n/a"
239
- : file.coveragePercentage.toFixed(1);
240
- default: {
241
- // Exhaustiveness guard: a new CoverageColumn must be handled above.
242
- const exhaustive = column;
243
- throw new Error(`Unhandled coverage column: ${String(exhaustive)}`);
244
- }
264
+ return file.coveragePercentage ?? null;
265
+ default:
266
+ return assertNever(column);
267
+ }
268
+ };
269
+ exports.coverageColumnValue = coverageColumnValue;
270
+ // The TSV rendering of a column: the same structured value as the JSON output,
271
+ // formatted as a string (ranges joined, percentage to 1dp, absent percentage as
272
+ // "n/a"). Delegating to `coverageColumnValue` keeps a single switch over the
273
+ // column union.
274
+ const formatCoverageColumn = (file, column) => {
275
+ const value = (0, exports.coverageColumnValue)(file, column);
276
+ if (typeof value === "number") {
277
+ return value.toFixed(1);
245
278
  }
279
+ if (value == null) {
280
+ return "n/a";
281
+ }
282
+ return (0, format_coverage_ranges_1.formatCoverageRanges)(value);
283
+ };
284
+ // Exhaustiveness guard for the CoverageColumn switch in `coverageColumnValue`.
285
+ // Local to this package since the public CLI can't depend on the internal
286
+ // common-utils helper.
287
+ const assertNever = (value) => {
288
+ throw new Error(`Unhandled coverage column: ${String(value)}`);
246
289
  };
247
290
  const isAmbiguousTestRunError = (error) => (0, client_1.isFetchError)(error) &&
248
291
  error.response?.data?.reason ===
@@ -250,13 +293,9 @@ const isAmbiguousTestRunError = (error) => (0, client_1.isFetchError)(error) &&
250
293
  exports.isAmbiguousTestRunError = isAmbiguousTestRunError;
251
294
  exports.jsCoverageCommand = {
252
295
  command: "js-coverage",
253
- describe: "Get JS coverage for a single replay or a whole test run (use js-coverage-diff for base vs head)",
296
+ describe: "Get JS coverage for a whole test run or a single replay. Outputs TSV, one row per repo file: repoFilePath plus the requested coverage columns (or JSON with --json).",
254
297
  builder: {
255
298
  apiToken: { string: true, description: "Meticulous API token" },
256
- replayId: {
257
- string: true,
258
- description: "The replay ID. Pass the base or head replay to get each side's coverage. Repo file paths are resolved against the run that executed the replay; --testRunId / --commitSha may be combined to disambiguate when the replay was the head of more than one run.",
259
- },
260
299
  testRunId: {
261
300
  string: true,
262
301
  description: "The test run ID. On its own, returns coverage for the whole test run. Combined with --replayId, the replay must belong to this run (head or base); if it was this run's head, paths resolve against this run, otherwise against the replay's own execution run.",
@@ -265,14 +304,27 @@ exports.jsCoverageCommand = {
265
304
  string: true,
266
305
  description: "A commit SHA, used as an alternative to --testRunId: the latest test run for the commit is resolved and used. For whole-test-run coverage, defaults to the local git HEAD when neither --testRunId nor --commitSha is given.",
267
306
  },
307
+ dontWaitForTestRunToComplete: {
308
+ boolean: true,
309
+ default: false,
310
+ description: "For whole-test-run coverage, return immediately instead of the default of blocking until the run finishes; an unfinished run is then reported as not complete.",
311
+ },
312
+ replayId: {
313
+ string: true,
314
+ description: "The replay ID. Pass the base or head replay to get each side's coverage. Repo file paths are resolved against the run that executed the replay; --testRunId / --commitSha may be combined to disambiguate when the replay was the head of more than one run.",
315
+ },
268
316
  screenshotName: {
269
317
  string: true,
270
318
  description: 'Screenshot name (e.g. "after-event-5" or "end-state"), for use with --replayId. Omit for the whole replay.',
271
319
  },
272
- dontWaitForTestRunToComplete: {
320
+ includeAllFiles: {
273
321
  boolean: true,
274
322
  default: false,
275
- description: "For whole-test-run coverage, return immediately instead of the default of blocking until the run finishes; an unfinished run is then reported as not complete.",
323
+ description: "Return every file, regardless of the requested columns. By default a file is dropped unless at least one requested column has a value for it (e.g. with only executed ranges, files with no executed lines are dropped). Works for both replay and whole-test-run coverage.",
324
+ },
325
+ globFilter: {
326
+ string: true,
327
+ description: 'Keep only repo file paths matching this gitignore-style glob, e.g. "src/components/**".',
276
328
  },
277
329
  includeExecutedRanges: {
278
330
  boolean: true,
@@ -294,27 +346,13 @@ exports.jsCoverageCommand = {
294
346
  default: false,
295
347
  description: "Include the coverage percentage column (0–100; executed / executable lines per file). Whole-test-run coverage only.",
296
348
  },
297
- includeAllFiles: {
298
- boolean: true,
299
- default: false,
300
- description: "Return every file, regardless of the requested columns. By default a file is dropped unless at least one requested column has a value for it (e.g. with only executed ranges, files with no executed lines are dropped). Works for both replay and whole-test-run coverage.",
301
- },
302
349
  prDiffOnly: {
303
350
  boolean: true,
304
351
  default: false,
305
352
  description: "Return only coverage for files changed in the PR diff (from coverage.pr.json). Whole-test-run coverage only.",
306
353
  },
307
- globFilter: {
308
- string: true,
309
- description: 'Keep only repo file paths matching this gitignore-style glob, e.g. "src/components/**".',
310
- },
311
- json: {
312
- boolean: true,
313
- description: "Output the raw coverage response as JSON",
314
- default: false,
315
- },
316
354
  },
317
355
  handler: (0, sentry_utils_1.wrapHandler)(handler),
318
356
  };
319
357
  //# sourceMappingURL=js-coverage.command.js.map
320
- //# debugId=4567ef7d-85b7-51ec-a88f-41a6c7312232
358
+ //# debugId=7c46427f-0bd8-5b44-89b2-acad6e9443bb
@@ -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":"4567ef7d-85b7-51ec-a88f-41a6c7312232"}
1
+ {"version":3,"file":"js-coverage.command.js","sources":["../../../src/commands/agent/js-coverage.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"7c46427f-0bd8-5b44-89b2-acad6e9443bb"}
@@ -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]="cf073f44-40d8-5583-ac32-28d6529a3bcd")}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]="932b13d6-7c8c-58e3-b30c-a0066dc57836")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  const vitest_1 = require("vitest");
@@ -70,6 +70,52 @@ const baseOptions = (overrides = {}) => ({
70
70
  }))).not.toThrow();
71
71
  });
72
72
  });
73
+ (0, vitest_1.describe)("coverageColumnValue", () => {
74
+ const file = {
75
+ repoFilePath: "src/a.ts",
76
+ executedRanges: [[1, 2]],
77
+ executableRanges: [[1, 5]],
78
+ uncoveredRanges: [[3, 5]],
79
+ coveragePercentage: 40,
80
+ };
81
+ (0, vitest_1.it)("returns the raw ranges for each range column", () => {
82
+ (0, vitest_1.expect)((0, js_coverage_command_1.coverageColumnValue)(file, "executedRanges")).toEqual([[1, 2]]);
83
+ (0, vitest_1.expect)((0, js_coverage_command_1.coverageColumnValue)(file, "executableRanges")).toEqual([[1, 5]]);
84
+ (0, vitest_1.expect)((0, js_coverage_command_1.coverageColumnValue)(file, "uncoveredRanges")).toEqual([[3, 5]]);
85
+ });
86
+ (0, vitest_1.it)("returns the numeric percentage (not the TSV-formatted string)", () => {
87
+ (0, vitest_1.expect)((0, js_coverage_command_1.coverageColumnValue)(file, "coveragePercentage")).toBe(40);
88
+ });
89
+ (0, vitest_1.it)("falls back to [] for a missing range column", () => {
90
+ (0, vitest_1.expect)((0, js_coverage_command_1.coverageColumnValue)({ repoFilePath: "src/b.ts" }, "executedRanges")).toEqual([]);
91
+ });
92
+ (0, vitest_1.it)("returns null for a null/absent coveragePercentage", () => {
93
+ (0, vitest_1.expect)((0, js_coverage_command_1.coverageColumnValue)({ repoFilePath: "src/b.ts", coveragePercentage: null }, "coveragePercentage")).toBeNull();
94
+ (0, vitest_1.expect)((0, js_coverage_command_1.coverageColumnValue)({ repoFilePath: "src/b.ts" }, "coveragePercentage")).toBeNull();
95
+ });
96
+ });
97
+ (0, vitest_1.describe)("coverageFileToJson", () => {
98
+ (0, vitest_1.it)("builds repoFilePath plus the requested columns, in structured form", () => {
99
+ const file = {
100
+ repoFilePath: "src/a.ts",
101
+ executedRanges: [[1, 2]],
102
+ coveragePercentage: 40,
103
+ };
104
+ (0, vitest_1.expect)((0, js_coverage_command_1.coverageFileToJson)(file, ["executedRanges", "coveragePercentage"])).toEqual({
105
+ repoFilePath: "src/a.ts",
106
+ executedRanges: [[1, 2]],
107
+ coveragePercentage: 40,
108
+ });
109
+ });
110
+ (0, vitest_1.it)("keeps a null coveragePercentage as null (rather than the 'n/a' TSV string)", () => {
111
+ (0, vitest_1.expect)((0, js_coverage_command_1.coverageFileToJson)({ repoFilePath: "src/b.ts", coveragePercentage: null }, ["coveragePercentage"])).toEqual({ repoFilePath: "src/b.ts", coveragePercentage: null });
112
+ });
113
+ (0, vitest_1.it)("emits only repoFilePath when no columns are requested", () => {
114
+ (0, vitest_1.expect)((0, js_coverage_command_1.coverageFileToJson)({ repoFilePath: "src/c.ts" }, [])).toEqual({
115
+ repoFilePath: "src/c.ts",
116
+ });
117
+ });
118
+ });
73
119
  (0, vitest_1.describe)("isAmbiguousTestRunError", () => {
74
120
  (0, vitest_1.it)("detects the ambiguous-test-run reason on a fetch error", () => {
75
121
  (0, vitest_1.expect)((0, js_coverage_command_1.isAmbiguousTestRunError)({
@@ -86,4 +132,4 @@ const baseOptions = (overrides = {}) => ({
86
132
  });
87
133
  });
88
134
  //# sourceMappingURL=js-coverage.command.spec.js.map
89
- //# debugId=cf073f44-40d8-5583-ac32-28d6529a3bcd
135
+ //# debugId=932b13d6-7c8c-58e3-b30c-a0066dc57836
@@ -1 +1 @@
1
- {"version":3,"file":"js-coverage.command.spec.js","sources":["../../../src/commands/agent/js-coverage.command.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"cf073f44-40d8-5583-ac32-28d6529a3bcd"}
1
+ {"version":3,"file":"js-coverage.command.spec.js","sources":["../../../src/commands/agent/js-coverage.command.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"932b13d6-7c8c-58e3-b30c-a0066dc57836"}
@@ -5,6 +5,7 @@ interface Options {
5
5
  screenshotName: string;
6
6
  index: number | undefined;
7
7
  context: string | undefined;
8
+ json: boolean;
8
9
  }
9
10
  export declare const domDiffCommand: CommandModule<unknown, Options>;
10
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot-dom-diff.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/screenshot-dom-diff.command.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AA6CD,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CA2B1D,CAAC"}
1
+ {"version":3,"file":"screenshot-dom-diff.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/screenshot-dom-diff.command.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;CACf;AAuDD,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CA4B1D,CAAC"}
@@ -1,41 +1,49 @@
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]="079c9d45-b02f-51a2-a12a-c3a08dd6afce")}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]="8cdbc90a-4012-5911-b7f0-5b672e4cccaf")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.domDiffCommand = void 0;
6
6
  const client_1 = require("@alwaysmeticulous/client");
7
7
  const common_1 = require("@alwaysmeticulous/common");
8
+ const print_json_1 = require("../../command-utils/print-json");
8
9
  const sentry_utils_1 = require("../../command-utils/sentry.utils");
9
- const handler = async ({ apiToken, replayDiffId, screenshotName, index, context, }) => {
10
+ const cli_user_error_1 = require("../../utils/cli-user-error");
11
+ const handler = async ({ apiToken, replayDiffId, screenshotName, index, context, json, }) => {
10
12
  (0, common_1.initLogger)();
11
13
  const client = await (0, client_1.createClientWithOAuth)({
12
14
  apiToken,
13
15
  enableOAuthLogin: true,
14
16
  });
15
17
  const result = await (0, client_1.getScreenshotDomDiff)(client, replayDiffId, screenshotName, index, context);
16
- if (result.diffs.length === 0) {
17
- if (result.totalDiffs === 0) {
18
- console.log("No differences found");
18
+ // An out-of-range --index is a user error regardless of output format.
19
+ if (result.diffs.length === 0 && result.totalDiffs > 0) {
20
+ throw new cli_user_error_1.CliUserError(`Index ${index} out of range (${result.totalDiffs} diff(s) available)`);
21
+ }
22
+ if (json) {
23
+ (0, print_json_1.printJson)(result.diffs.map((diff) => ({
24
+ index: diff.index,
25
+ content: diff.content,
26
+ })));
27
+ }
28
+ else if (result.diffs.length > 0) {
29
+ if (index != null) {
30
+ console.log(result.diffs[0].content);
19
31
  }
20
32
  else {
21
- console.error(`Index ${index} out of range (${result.totalDiffs} diff(s) available)`);
22
- process.exit(1);
33
+ for (const diff of result.diffs) {
34
+ console.log(`[diff ${diff.index}]`);
35
+ console.log(diff.content);
36
+ }
23
37
  }
24
- return;
25
38
  }
26
- if (index != null) {
27
- console.log(result.diffs[0].content);
28
- }
29
- else {
30
- for (const diff of result.diffs) {
31
- console.log(`[diff ${diff.index}]`);
32
- console.log(diff.content);
33
- }
39
+ // Guidance on stderr regardless of --json (which only changes stdout).
40
+ if (result.diffs.length === 0) {
41
+ (0, common_1.logNotice)("No differences found");
34
42
  }
35
43
  };
36
44
  exports.domDiffCommand = {
37
45
  command: "dom-diff",
38
- describe: "Get screenshot DOM diff for a replay diff screenshot",
46
+ describe: "Get the DOM diff for a replay diff screenshot. Outputs unified-diff-style text, one hunk per change (or JSON with --json).",
39
47
  builder: {
40
48
  apiToken: { string: true, description: "Meticulous API token" },
41
49
  replayDiffId: {
@@ -60,4 +68,4 @@ exports.domDiffCommand = {
60
68
  handler: (0, sentry_utils_1.wrapHandler)(handler),
61
69
  };
62
70
  //# sourceMappingURL=screenshot-dom-diff.command.js.map
63
- //# debugId=079c9d45-b02f-51a2-a12a-c3a08dd6afce
71
+ //# debugId=8cdbc90a-4012-5911-b7f0-5b672e4cccaf
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot-dom-diff.command.js","sources":["../../../src/commands/agent/screenshot-dom-diff.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAGkC;AAClC,qDAAsD;AAEtD,mEAA+D;AAU/D,MAAM,OAAO,GAAG,KAAK,EAAE,EACrB,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,KAAK,EACL,OAAO,GACC,EAAiB,EAAE;IAC3B,IAAA,mBAAU,GAAE,CAAC;IACb,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAqB,EAAC;QACzC,QAAQ;QACR,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAoB,EACvC,MAAM,EACN,YAAY,EACZ,cAAc,EACd,KAAK,EACL,OAAO,CACR,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CACX,SAAS,KAAK,kBAAkB,MAAM,CAAC,UAAU,qBAAqB,CACvE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,cAAc,GAAoC;IAC7D,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,sDAAsD;IAChE,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE;QAC/D,YAAY,EAAE;YACZ,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,oBAAoB;YACjC,YAAY,EAAE,IAAI;SACnB;QACD,cAAc,EAAE;YACd,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,uDAAuD;YACpE,YAAY,EAAE,IAAI;SACnB;QACD,KAAK,EAAE;YACL,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,qFAAqF;SACxF;QACD,OAAO,EAAE;YACP,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,6JAA6J;SAChK;KACF;IACD,OAAO,EAAE,IAAA,0BAAW,EAAC,OAAO,CAAC;CAC9B,CAAC","debugId":"079c9d45-b02f-51a2-a12a-c3a08dd6afce"}
1
+ {"version":3,"file":"screenshot-dom-diff.command.js","sources":["../../../src/commands/agent/screenshot-dom-diff.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAGkC;AAClC,qDAAiE;AAEjE,+DAA2D;AAC3D,mEAA+D;AAC/D,+DAA0D;AAW1D,MAAM,OAAO,GAAG,KAAK,EAAE,EACrB,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,KAAK,EACL,OAAO,EACP,IAAI,GACI,EAAiB,EAAE;IAC3B,IAAA,mBAAU,GAAE,CAAC;IACb,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAqB,EAAC;QACzC,QAAQ;QACR,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAoB,EACvC,MAAM,EACN,YAAY,EACZ,cAAc,EACd,KAAK,EACL,OAAO,CACR,CAAC;IAEF,uEAAuE;IACvE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,6BAAY,CACpB,SAAS,KAAK,kBAAkB,MAAM,CAAC,UAAU,qBAAqB,CACvE,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,IAAA,sBAAS,EACP,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAA,kBAAS,EAAC,sBAAsB,CAAC,CAAC;IACpC,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,cAAc,GAAoC;IAC7D,OAAO,EAAE,UAAU;IACnB,QAAQ,EACN,4HAA4H;IAC9H,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE;QAC/D,YAAY,EAAE;YACZ,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,oBAAoB;YACjC,YAAY,EAAE,IAAI;SACnB;QACD,cAAc,EAAE;YACd,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,uDAAuD;YACpE,YAAY,EAAE,IAAI;SACnB;QACD,KAAK,EAAE;YACL,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,qFAAqF;SACxF;QACD,OAAO,EAAE;YACP,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,6JAA6J;SAChK;KACF;IACD,OAAO,EAAE,IAAA,0BAAW,EAAC,OAAO,CAAC;CAC9B,CAAC","debugId":"8cdbc90a-4012-5911-b7f0-5b672e4cccaf"}
@@ -3,6 +3,7 @@ interface Options {
3
3
  apiToken?: string | null | undefined;
4
4
  replayDiffId: string;
5
5
  screenshotName: string;
6
+ json: boolean;
6
7
  }
7
8
  export declare const imageFilesCommand: CommandModule<unknown, Options>;
8
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot-image-files.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/screenshot-image-files.command.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAyFD,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAkB7D,CAAC"}
1
+ {"version":3,"file":"screenshot-image-files.command.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/screenshot-image-files.command.ts"],"names":[],"mappings":"AAWA,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,IAAI,EAAE,OAAO,CAAC;CACf;AAuGD,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAkB7D,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]="b55a7a0b-21e0-5b58-ac60-a3df3aed838e")}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]="29851392-7f68-5575-8e94-30ceef853647")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.imageFilesCommand = void 0;
@@ -8,6 +8,7 @@ const path_1 = require("path");
8
8
  const client_1 = require("@alwaysmeticulous/client");
9
9
  const common_1 = require("@alwaysmeticulous/common");
10
10
  const downloading_helpers_1 = require("@alwaysmeticulous/downloading-helpers");
11
+ const print_json_1 = require("../../command-utils/print-json");
11
12
  const sentry_utils_1 = require("../../command-utils/sentry.utils");
12
13
  const AGENT_IMAGES_SUBDIR = "agent-images";
13
14
  const MAX_AGE_MS = 24 * 60 * 60 * 1000;
@@ -40,7 +41,7 @@ const downloadImage = async (dir, fileName, url) => {
40
41
  await (0, downloading_helpers_1.downloadFile)(url, filePath);
41
42
  return filePath;
42
43
  };
43
- const handler = async ({ apiToken, replayDiffId, screenshotName, }) => {
44
+ const handler = async ({ apiToken, replayDiffId, screenshotName, json, }) => {
44
45
  (0, common_1.initLogger)();
45
46
  const client = await (0, client_1.createClientWithOAuth)({
46
47
  apiToken,
@@ -50,7 +51,6 @@ const handler = async ({ apiToken, replayDiffId, screenshotName, }) => {
50
51
  const dir = getAgentImagesDir();
51
52
  await (0, promises_1.mkdir)(dir, { recursive: true });
52
53
  await cleanupOldImages(dir);
53
- console.log(`outcome: ${urls.outcome}`);
54
54
  const downloads = [];
55
55
  if (urls.screenshot) {
56
56
  downloads.push({ label: "screenshot", url: urls.screenshot });
@@ -66,14 +66,27 @@ const handler = async ({ apiToken, replayDiffId, screenshotName, }) => {
66
66
  }
67
67
  const timestamp = Date.now();
68
68
  const prefix = `${timestamp}_${replayDiffId}_${screenshotName}`;
69
+ // Print the outcome up-front (non-JSON) so it's visible even if a download
70
+ // below fails; the JSON path emits it as part of the single object instead.
71
+ if (!json) {
72
+ console.log(`outcome: ${urls.outcome}`);
73
+ }
69
74
  const results = await Promise.all(downloads.map(({ label, url }) => downloadImage(dir, `${prefix}_${label}.png`, url)));
75
+ if (json) {
76
+ const output = { outcome: urls.outcome };
77
+ for (let i = 0; i < downloads.length; i++) {
78
+ output[downloads[i].label] = results[i];
79
+ }
80
+ (0, print_json_1.printJson)(output);
81
+ return;
82
+ }
70
83
  for (let i = 0; i < downloads.length; i++) {
71
84
  console.log(`${downloads[i].label}: ${results[i]}`);
72
85
  }
73
86
  };
74
87
  exports.imageFilesCommand = {
75
88
  command: "image-files",
76
- describe: "Download screenshot images for a replay diff screenshot to local files under ~/.meticulous/agent-images",
89
+ describe: "Download screenshot images for a replay diff screenshot to local files under ~/.meticulous/agent-images. Outputs an outcome line then a 'label: filepath' line per downloaded image (or JSON with --json).",
77
90
  builder: {
78
91
  apiToken: { string: true, description: "Meticulous API token" },
79
92
  replayDiffId: {
@@ -90,4 +103,4 @@ exports.imageFilesCommand = {
90
103
  handler: (0, sentry_utils_1.wrapHandler)(handler),
91
104
  };
92
105
  //# sourceMappingURL=screenshot-image-files.command.js.map
93
- //# debugId=b55a7a0b-21e0-5b58-ac60-a3df3aed838e
106
+ //# debugId=29851392-7f68-5575-8e94-30ceef853647