@alwaysmeticulous/cli 2.322.0 → 2.324.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 (134) hide show
  1. package/dist/commands/agent/agent-review-writes.command.spec.d.ts +2 -0
  2. package/dist/commands/agent/agent-review-writes.command.spec.d.ts.map +1 -0
  3. package/dist/commands/agent/agent-review-writes.command.spec.js +96 -0
  4. package/dist/commands/agent/agent-review-writes.command.spec.js.map +1 -0
  5. package/dist/commands/agent/create-diff-comment.command.d.ts +13 -0
  6. package/dist/commands/agent/create-diff-comment.command.d.ts.map +1 -0
  7. package/dist/commands/agent/create-diff-comment.command.js +57 -0
  8. package/dist/commands/agent/create-diff-comment.command.js.map +1 -0
  9. package/dist/commands/agent/diff-comment-write.utils.d.ts +13 -0
  10. package/dist/commands/agent/diff-comment-write.utils.d.ts.map +1 -0
  11. package/dist/commands/agent/diff-comment-write.utils.js +19 -0
  12. package/dist/commands/agent/diff-comment-write.utils.js.map +1 -0
  13. package/dist/commands/agent/diff-comments.command.d.ts.map +1 -1
  14. package/dist/commands/agent/diff-comments.command.js +15 -4
  15. package/dist/commands/agent/diff-comments.command.js.map +1 -1
  16. package/dist/commands/agent/diff-comments.command.spec.js +29 -4
  17. package/dist/commands/agent/diff-comments.command.spec.js.map +1 -1
  18. package/dist/commands/agent/ignore-diff.command.d.ts +13 -0
  19. package/dist/commands/agent/ignore-diff.command.d.ts.map +1 -0
  20. package/dist/commands/agent/ignore-diff.command.js +54 -0
  21. package/dist/commands/agent/ignore-diff.command.js.map +1 -0
  22. package/dist/commands/agent/index.d.ts.map +1 -1
  23. package/dist/commands/agent/index.js +16 -6
  24. package/dist/commands/agent/index.js.map +1 -1
  25. package/dist/commands/agent/js-coverage.command.d.ts +2 -2
  26. package/dist/commands/agent/js-coverage.command.d.ts.map +1 -1
  27. package/dist/commands/agent/js-coverage.command.js +6 -5
  28. package/dist/commands/agent/js-coverage.command.js.map +1 -1
  29. package/dist/commands/agent/js-coverage.command.spec.js +7 -6
  30. package/dist/commands/agent/js-coverage.command.spec.js.map +1 -1
  31. package/dist/commands/agent/reject-diff.command.d.ts +13 -0
  32. package/dist/commands/agent/reject-diff.command.d.ts.map +1 -0
  33. package/dist/commands/agent/reject-diff.command.js +54 -0
  34. package/dist/commands/agent/reject-diff.command.js.map +1 -0
  35. package/dist/commands/agent/reject-diff.command.spec.d.ts +2 -0
  36. package/dist/commands/agent/reject-diff.command.spec.d.ts.map +1 -0
  37. package/dist/commands/agent/reject-diff.command.spec.js +61 -0
  38. package/dist/commands/agent/reject-diff.command.spec.js.map +1 -0
  39. package/dist/commands/agent/reply-to-diff-comment.command.d.ts +10 -0
  40. package/dist/commands/agent/reply-to-diff-comment.command.d.ts.map +1 -0
  41. package/dist/commands/agent/reply-to-diff-comment.command.js +47 -0
  42. package/dist/commands/agent/reply-to-diff-comment.command.js.map +1 -0
  43. package/dist/commands/agent/sessions.command.d.ts +3 -0
  44. package/dist/commands/agent/sessions.command.d.ts.map +1 -1
  45. package/dist/commands/agent/sessions.command.js +46 -5
  46. package/dist/commands/agent/sessions.command.js.map +1 -1
  47. package/dist/commands/agent/sessions.command.spec.js +30 -7
  48. package/dist/commands/agent/sessions.command.spec.js.map +1 -1
  49. package/dist/commands/agent/test-run-checks.command.d.ts +15 -0
  50. package/dist/commands/agent/test-run-checks.command.d.ts.map +1 -0
  51. package/dist/commands/agent/test-run-checks.command.js +121 -0
  52. package/dist/commands/agent/test-run-checks.command.js.map +1 -0
  53. package/dist/commands/agent/test-run-checks.command.spec.d.ts +2 -0
  54. package/dist/commands/agent/test-run-checks.command.spec.d.ts.map +1 -0
  55. package/dist/commands/agent/test-run-checks.command.spec.js +132 -0
  56. package/dist/commands/agent/test-run-checks.command.spec.js.map +1 -0
  57. package/dist/commands/agent/test-run-diffs.command.d.ts +1 -0
  58. package/dist/commands/agent/test-run-diffs.command.d.ts.map +1 -1
  59. package/dist/commands/agent/test-run-diffs.command.js +32 -40
  60. package/dist/commands/agent/test-run-diffs.command.js.map +1 -1
  61. package/dist/commands/agent/test-run-diffs.command.spec.js +114 -52
  62. package/dist/commands/agent/test-run-diffs.command.spec.js.map +1 -1
  63. package/dist/commands/agent/test-run-diffs.utils.d.ts +1 -2
  64. package/dist/commands/agent/test-run-diffs.utils.d.ts.map +1 -1
  65. package/dist/commands/agent/test-run-diffs.utils.js +6 -7
  66. package/dist/commands/agent/test-run-diffs.utils.js.map +1 -1
  67. package/dist/commands/agent/test-run-diffs.utils.spec.js +7 -10
  68. package/dist/commands/agent/test-run-diffs.utils.spec.js.map +1 -1
  69. package/dist/commands/agent/test-run-for-commit.command.d.ts.map +1 -1
  70. package/dist/commands/agent/test-run-for-commit.command.js +5 -4
  71. package/dist/commands/agent/test-run-for-commit.command.js.map +1 -1
  72. package/dist/commands/auth/__tests__/get-project.command.spec.js +48 -42
  73. package/dist/commands/auth/__tests__/get-project.command.spec.js.map +1 -1
  74. package/dist/commands/auth/__tests__/list-projects.command.spec.js +11 -10
  75. package/dist/commands/auth/__tests__/list-projects.command.spec.js.map +1 -1
  76. package/dist/commands/auth/__tests__/set-project.command.spec.js +6 -7
  77. package/dist/commands/auth/__tests__/set-project.command.spec.js.map +1 -1
  78. package/dist/commands/auth/__tests__/whoami.command.spec.js +77 -124
  79. package/dist/commands/auth/__tests__/whoami.command.spec.js.map +1 -1
  80. package/dist/commands/auth/get-project.command.d.ts +6 -2
  81. package/dist/commands/auth/get-project.command.d.ts.map +1 -1
  82. package/dist/commands/auth/get-project.command.js +25 -24
  83. package/dist/commands/auth/get-project.command.js.map +1 -1
  84. package/dist/commands/auth/list-projects.command.d.ts.map +1 -1
  85. package/dist/commands/auth/list-projects.command.js +4 -8
  86. package/dist/commands/auth/list-projects.command.js.map +1 -1
  87. package/dist/commands/auth/set-project.command.d.ts +1 -0
  88. package/dist/commands/auth/set-project.command.d.ts.map +1 -1
  89. package/dist/commands/auth/set-project.command.js +22 -9
  90. package/dist/commands/auth/set-project.command.js.map +1 -1
  91. package/dist/commands/auth/whoami.command.d.ts.map +1 -1
  92. package/dist/commands/auth/whoami.command.js +94 -87
  93. package/dist/commands/auth/whoami.command.js.map +1 -1
  94. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.d.ts.map +1 -1
  95. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js +22 -14
  96. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js.map +1 -1
  97. package/dist/commands/ci/run.command.d.ts.map +1 -1
  98. package/dist/commands/ci/run.command.js +6 -4
  99. package/dist/commands/ci/run.command.js.map +1 -1
  100. package/dist/commands/record/__tests__/backend.command.spec.js +54 -4
  101. package/dist/commands/record/__tests__/backend.command.spec.js.map +1 -1
  102. package/dist/commands/record/backend.command.d.ts.map +1 -1
  103. package/dist/commands/record/backend.command.js +196 -100
  104. package/dist/commands/record/backend.command.js.map +1 -1
  105. package/dist/utils/__tests__/project-selection-hint.spec.d.ts +2 -0
  106. package/dist/utils/__tests__/project-selection-hint.spec.d.ts.map +1 -0
  107. package/dist/utils/__tests__/project-selection-hint.spec.js +73 -0
  108. package/dist/utils/__tests__/project-selection-hint.spec.js.map +1 -0
  109. package/dist/utils/__tests__/resolve-project-identifier.spec.js +2 -27
  110. package/dist/utils/__tests__/resolve-project-identifier.spec.js.map +1 -1
  111. package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js +9 -2
  112. package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js.map +1 -1
  113. package/dist/utils/__tests__/select-project.spec.js +23 -22
  114. package/dist/utils/__tests__/select-project.spec.js.map +1 -1
  115. package/dist/utils/handle-auth-failure.d.ts +27 -0
  116. package/dist/utils/handle-auth-failure.d.ts.map +1 -1
  117. package/dist/utils/handle-auth-failure.js +44 -3
  118. package/dist/utils/handle-auth-failure.js.map +1 -1
  119. package/dist/utils/project-selection-hint.d.ts +16 -0
  120. package/dist/utils/project-selection-hint.d.ts.map +1 -0
  121. package/dist/utils/project-selection-hint.js +82 -0
  122. package/dist/utils/project-selection-hint.js.map +1 -0
  123. package/dist/utils/resolve-project-identifier.d.ts +0 -13
  124. package/dist/utils/resolve-project-identifier.d.ts.map +1 -1
  125. package/dist/utils/resolve-project-identifier.js +3 -26
  126. package/dist/utils/resolve-project-identifier.js.map +1 -1
  127. package/dist/utils/resolve-test-run-from-commit.d.ts.map +1 -1
  128. package/dist/utils/resolve-test-run-from-commit.js +7 -3
  129. package/dist/utils/resolve-test-run-from-commit.js.map +1 -1
  130. package/dist/utils/select-project.d.ts +20 -4
  131. package/dist/utils/select-project.d.ts.map +1 -1
  132. package/dist/utils/select-project.js +39 -13
  133. package/dist/utils/select-project.js.map +1 -1
  134. package/package.json +14 -14
@@ -1,12 +1,46 @@
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]="92c2f965-765b-58d4-bf09-9eeac162ecee")}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]="b7c1abdc-fec6-516c-a649-5e9a92d8e438")}catch(e){}}();
3
3
 
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
4
37
  Object.defineProperty(exports, "__esModule", { value: true });
5
38
  exports.recordBackendCommand = void 0;
6
39
  const child_process_1 = require("child_process");
7
40
  const client_1 = require("@alwaysmeticulous/client");
8
41
  const common_1 = require("@alwaysmeticulous/common");
9
42
  const downloading_helpers_1 = require("@alwaysmeticulous/downloading-helpers");
43
+ const Sentry = __importStar(require("@sentry/node"));
10
44
  const common_options_1 = require("../../command-utils/common-options");
11
45
  const sentry_utils_1 = require("../../command-utils/sentry.utils");
12
46
  const cli_user_error_1 = require("../../utils/cli-user-error");
@@ -15,6 +49,152 @@ const resolve_project_identifier_1 = require("../../utils/resolve-project-identi
15
49
  const backend_dev_command_utils_1 = require("./backend-dev-command.utils");
16
50
  const backend_sidecar_utils_1 = require("./backend-sidecar.utils");
17
51
  const DEV_COMMAND_SIGTERM_TIMEOUT_MS = 10_000;
52
+ const handler = async (options) => {
53
+ const devCommand = (0, backend_dev_command_utils_1.extractPassthroughCommand)(process.argv);
54
+ if (!devCommand && (options.devCommand?.length ?? 0) > 0) {
55
+ // Without the separator, yargs would swallow the dev command's own flags
56
+ // (e.g. its --port) as our options — refuse rather than silently starting
57
+ // in sidecar-only mode.
58
+ throw new cli_user_error_1.CliUserError("Pass the dev command after a -- separator, e.g.: meticulous record backend -- npx wrangler dev");
59
+ }
60
+ if (devCommand) {
61
+ return runWrappedDevCommand(options, devCommand);
62
+ }
63
+ return runSidecarOnly(options);
64
+ };
65
+ /**
66
+ * Runs the user's dev command with recording alongside it.
67
+ *
68
+ * A recorder that cannot start is never a reason to stop the dev server, so
69
+ * every failure up to and including the sidecar's own startup degrades to
70
+ * running the dev command unrecorded.
71
+ */
72
+ const runWrappedDevCommand = async (options, devCommand) => {
73
+ const logger = (0, common_1.initLogger)();
74
+ const sidecar = await startRecorderOrContinueWithout(options);
75
+ const done = (0, common_1.defer)();
76
+ const shutdown = createShutdown(sidecar, done);
77
+ const argv = sidecar
78
+ ? wireSidecarIntoDevCommand(devCommand, options, sidecar.url)
79
+ : devCommand;
80
+ const child = (0, child_process_1.spawn)(argv[0], argv.slice(1), {
81
+ stdio: "inherit",
82
+ env: {
83
+ ...process.env,
84
+ // Harmless for workerd (host env is invisible inside the isolate) but
85
+ // lets non-workerd tooling in the dev command see the URL. Left
86
+ // untouched when there is no sidecar, so the dev command sees exactly
87
+ // the environment it would have seen without Meticulous in front of it.
88
+ ...(sidecar ? { [backend_dev_command_utils_1.SIDECAR_URL_VAR_NAME]: sidecar.url } : {}),
89
+ },
90
+ // npx/pnpm/yarn shims on Windows are .cmd files, which require a shell.
91
+ shell: process.platform === "win32",
92
+ });
93
+ child.on("error", (error) => {
94
+ logger.error(`Could not start dev command: ${String(error)}`);
95
+ void shutdown(1);
96
+ });
97
+ child.on("exit", (code, signal) => {
98
+ // Wrangler teardown may still emit late waitUntil capture events; the
99
+ // sidecar is flushed and stopped only now, after the dev command exited.
100
+ void shutdown(code ?? (signal ? 1 : 0));
101
+ });
102
+ const forwardSignal = (signal) => {
103
+ // On terminal Ctrl-C the child receives SIGINT alongside us (same
104
+ // process group); forwarding covers direct kills of the CLI process.
105
+ // The dev command's own exit then drives the shutdown path above.
106
+ if (child.exitCode === null && child.signalCode === null) {
107
+ child.kill(signal);
108
+ setTimeout(() => {
109
+ if (child.exitCode === null && child.signalCode === null) {
110
+ child.kill("SIGKILL");
111
+ }
112
+ }, DEV_COMMAND_SIGTERM_TIMEOUT_MS).unref();
113
+ }
114
+ };
115
+ process.on("SIGINT", () => forwardSignal("SIGINT"));
116
+ process.on("SIGTERM", () => forwardSignal("SIGTERM"));
117
+ const exitCode = await done.promise;
118
+ if (exitCode !== 0) {
119
+ process.exit(exitCode);
120
+ }
121
+ };
122
+ /**
123
+ * Runs the sidecar on its own, for a dev command the user starts themselves.
124
+ * There is no dev command to protect here, so a recorder that cannot start is
125
+ * fatal — the alternative is a process that sits there recording nothing.
126
+ */
127
+ const runSidecarOnly = async (options) => {
128
+ const logger = (0, common_1.initLogger)();
129
+ const sidecar = await startRecorder(options, "sidecar-only");
130
+ const done = (0, common_1.defer)();
131
+ const shutdown = createShutdown(sidecar, done);
132
+ printWorkerInstructions(sidecar.url);
133
+ logger.info("Press Ctrl-C to stop recording.");
134
+ process.on("SIGINT", () => void shutdown(0));
135
+ process.on("SIGTERM", () => void shutdown(0));
136
+ await done.promise;
137
+ };
138
+ /** Flushes and stops the sidecar (if any), then settles the run. Idempotent. */
139
+ const createShutdown = (sidecar, done) => {
140
+ let shuttingDown = false;
141
+ return async (exitCode) => {
142
+ if (shuttingDown) {
143
+ return;
144
+ }
145
+ shuttingDown = true;
146
+ await sidecar?.stop();
147
+ done.resolve(exitCode);
148
+ };
149
+ };
150
+ /** {@link startRecorder}, reporting a failure instead of propagating it. */
151
+ const startRecorderOrContinueWithout = async (options) => {
152
+ const logger = (0, common_1.initLogger)();
153
+ try {
154
+ return await startRecorder(options, "wrapped");
155
+ }
156
+ catch (error) {
157
+ // Mirrors reportHandlerError in sentry.utils.ts: a CliUserError already
158
+ // explains itself and is the user's to fix, anything else is a bug worth
159
+ // knowing about even though it did not stop the command.
160
+ if (error instanceof cli_user_error_1.CliUserError) {
161
+ logger[error.severity](error.message);
162
+ }
163
+ else {
164
+ logger.error(error instanceof Error ? error.message : String(error));
165
+ logger.debug(error);
166
+ Sentry.captureException(error);
167
+ }
168
+ logger.warn("Could not start backend recording — running your dev command without it. Nothing was recorded; re-run the command to try again.");
169
+ return null;
170
+ }
171
+ };
172
+ /**
173
+ * Resolves the recording token, fetches the sidecar bundle and brings the
174
+ * sidecar up healthy. Rejects if any of that fails; nothing is left running.
175
+ */
176
+ const startRecorder = async (options, mode) => {
177
+ const logger = (0, common_1.initLogger)();
178
+ const { recordingToken, projectName } = await resolveRecordingTarget(options);
179
+ logger.info("Fetching the Meticulous backend recorder sidecar...");
180
+ const bundlePath = await (0, downloading_helpers_1.fetchAsset)(constants_1.BACKEND_SIDECAR_BUNDLE_PATH);
181
+ const port = await (0, backend_sidecar_utils_1.resolveSidecarPort)(options.port, mode);
182
+ return (0, backend_sidecar_utils_1.startSidecar)({
183
+ bundlePath,
184
+ port,
185
+ env: {
186
+ METICULOUS_RECORDING_TOKEN: recordingToken,
187
+ METICULOUS_EXPORT_MODE: options.exportMode,
188
+ ...(options.localOutputDir
189
+ ? { METICULOUS_LOCAL_OUTPUT_DIR: options.localOutputDir }
190
+ : {}),
191
+ ...(projectName ? { METICULOUS_PROJECT_NAME: projectName } : {}),
192
+ },
193
+ // Recording stopping is not fatal to the user's dev loop — keep the dev
194
+ // command (or the wait in sidecar-only mode) running.
195
+ onRecordingStopped: () => { },
196
+ });
197
+ };
18
198
  const resolveRecordingTarget = async (options) => {
19
199
  const logger = (0, common_1.initLogger)();
20
200
  if (options.recordingToken) {
@@ -42,6 +222,20 @@ const resolveRecordingTarget = async (options) => {
42
222
  projectName: project.name,
43
223
  };
44
224
  };
225
+ /**
226
+ * Returns the argv to spawn, with the sidecar URL injected when the dev command
227
+ * is a recognized wrangler invocation, and tells the user which happened.
228
+ */
229
+ const wireSidecarIntoDevCommand = (devCommand, options, sidecarUrl) => {
230
+ const logger = (0, common_1.initLogger)();
231
+ const kind = (0, backend_dev_command_utils_1.classifyDevCommand)(devCommand);
232
+ if (!options.injectSidecarVar || kind === "unknown") {
233
+ printWorkerInstructions(sidecarUrl);
234
+ return devCommand;
235
+ }
236
+ logger.info(`Passing ${backend_dev_command_utils_1.SIDECAR_URL_VAR_NAME}=${sidecarUrl} to ${kind === "wrangler-dev" ? "wrangler dev" : "wrangler pages dev"}`);
237
+ return (0, backend_dev_command_utils_1.injectSidecarVar)(devCommand, kind, sidecarUrl);
238
+ };
45
239
  const printWorkerInstructions = (sidecarUrl) => {
46
240
  const logger = (0, common_1.initLogger)();
47
241
  logger.info("");
@@ -53,104 +247,6 @@ const printWorkerInstructions = (sidecarUrl) => {
53
247
  logger.info(` or add to .dev.vars: ${backend_dev_command_utils_1.SIDECAR_URL_VAR_NAME}=${sidecarUrl}`);
54
248
  logger.info("");
55
249
  };
56
- const handler = async (options) => {
57
- const logger = (0, common_1.initLogger)();
58
- const devCommand = (0, backend_dev_command_utils_1.extractPassthroughCommand)(process.argv);
59
- if (!devCommand && (options.devCommand?.length ?? 0) > 0) {
60
- // Without the separator, yargs would swallow the dev command's own flags
61
- // (e.g. its --port) as our options — refuse rather than silently starting
62
- // in sidecar-only mode.
63
- throw new cli_user_error_1.CliUserError("Pass the dev command after a -- separator, e.g.: meticulous record backend -- npx wrangler dev");
64
- }
65
- const mode = devCommand ? "wrapped" : "sidecar-only";
66
- // Fail fast on auth before spawning anything.
67
- const { recordingToken, projectName } = await resolveRecordingTarget(options);
68
- logger.info("Fetching the Meticulous backend recorder sidecar...");
69
- const bundlePath = await (0, downloading_helpers_1.fetchAsset)(constants_1.BACKEND_SIDECAR_BUNDLE_PATH);
70
- const port = await (0, backend_sidecar_utils_1.resolveSidecarPort)(options.port, mode);
71
- const done = (0, common_1.defer)();
72
- const sidecar = await (0, backend_sidecar_utils_1.startSidecar)({
73
- bundlePath,
74
- port,
75
- env: {
76
- METICULOUS_RECORDING_TOKEN: recordingToken,
77
- METICULOUS_EXPORT_MODE: options.exportMode,
78
- ...(options.localOutputDir
79
- ? { METICULOUS_LOCAL_OUTPUT_DIR: options.localOutputDir }
80
- : {}),
81
- ...(projectName ? { METICULOUS_PROJECT_NAME: projectName } : {}),
82
- },
83
- // Recording stopping is not fatal to the user's dev loop — keep the dev
84
- // command (or the wait in sidecar-only mode) running.
85
- onRecordingStopped: () => { },
86
- });
87
- let shuttingDown = false;
88
- const shutdown = async (exitCode) => {
89
- if (shuttingDown) {
90
- return;
91
- }
92
- shuttingDown = true;
93
- await sidecar.stop();
94
- done.resolve(exitCode);
95
- };
96
- if (devCommand) {
97
- const kind = (0, backend_dev_command_utils_1.classifyDevCommand)(devCommand);
98
- const argv = options.injectSidecarVar && kind !== "unknown"
99
- ? (0, backend_dev_command_utils_1.injectSidecarVar)(devCommand, kind, sidecar.url)
100
- : devCommand;
101
- if (options.injectSidecarVar && kind !== "unknown") {
102
- logger.info(`Passing ${backend_dev_command_utils_1.SIDECAR_URL_VAR_NAME}=${sidecar.url} to ${kind === "wrangler-dev" ? "wrangler dev" : "wrangler pages dev"}`);
103
- }
104
- else {
105
- printWorkerInstructions(sidecar.url);
106
- }
107
- const child = (0, child_process_1.spawn)(argv[0], argv.slice(1), {
108
- stdio: "inherit",
109
- env: {
110
- ...process.env,
111
- // Harmless for workerd (host env is invisible inside the isolate) but
112
- // lets non-workerd tooling in the dev command see the URL.
113
- [backend_dev_command_utils_1.SIDECAR_URL_VAR_NAME]: sidecar.url,
114
- },
115
- // npx/pnpm/yarn shims on Windows are .cmd files, which require a shell.
116
- shell: process.platform === "win32",
117
- });
118
- child.on("error", (error) => {
119
- logger.error(`Could not start dev command: ${String(error)}`);
120
- void shutdown(1);
121
- });
122
- child.on("exit", (code, signal) => {
123
- // Wrangler teardown may still emit late waitUntil capture events; the
124
- // sidecar is flushed and stopped only now, after the dev command exited.
125
- void shutdown(code ?? (signal ? 1 : 0));
126
- });
127
- const forwardSignal = (signal) => {
128
- // On terminal Ctrl-C the child receives SIGINT alongside us (same
129
- // process group); forwarding covers direct kills of the CLI process.
130
- // The dev command's own exit then drives the shutdown path above.
131
- if (child.exitCode === null && child.signalCode === null) {
132
- child.kill(signal);
133
- setTimeout(() => {
134
- if (child.exitCode === null && child.signalCode === null) {
135
- child.kill("SIGKILL");
136
- }
137
- }, DEV_COMMAND_SIGTERM_TIMEOUT_MS).unref();
138
- }
139
- };
140
- process.on("SIGINT", () => forwardSignal("SIGINT"));
141
- process.on("SIGTERM", () => forwardSignal("SIGTERM"));
142
- }
143
- else {
144
- printWorkerInstructions(sidecar.url);
145
- logger.info("Press Ctrl-C to stop recording.");
146
- process.on("SIGINT", () => void shutdown(0));
147
- process.on("SIGTERM", () => void shutdown(0));
148
- }
149
- const exitCode = await done.promise;
150
- if (exitCode !== 0) {
151
- process.exit(exitCode);
152
- }
153
- };
154
250
  exports.recordBackendCommand = {
155
251
  command: "backend [devCommand...]",
156
252
  describe: "Record backend sessions from a Cloudflare Workers (workerd) app during local development. " +
@@ -186,4 +282,4 @@ exports.recordBackendCommand = {
186
282
  handler: (0, sentry_utils_1.wrapHandler)(handler),
187
283
  };
188
284
  //# sourceMappingURL=backend.command.js.map
189
- //# debugId=92c2f965-765b-58d4-bf09-9eeac162ecee
285
+ //# debugId=b7c1abdc-fec6-516c-a649-5e9a92d8e438
@@ -1 +1 @@
1
- {"version":3,"file":"backend.command.js","sources":["../../../src/commands/record/backend.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"92c2f965-765b-58d4-bf09-9eeac162ecee"}
1
+ {"version":3,"file":"backend.command.js","sources":["../../../src/commands/record/backend.command.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"b7c1abdc-fec6-516c-a649-5e9a92d8e438"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=project-selection-hint.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-selection-hint.spec.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/project-selection-hint.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,73 @@
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]="281520e8-cd14-5df1-ac1e-fcd5077dbb3c")}catch(e){}}();
3
+
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ const vitest_1 = require("vitest");
6
+ const project_selection_hint_1 = require("../project-selection-hint");
7
+ const mocks = vitest_1.vi.hoisted(() => ({
8
+ getAgentCurrentProject: vitest_1.vi.fn(),
9
+ }));
10
+ vitest_1.vi.mock("@alwaysmeticulous/client", () => ({
11
+ getAgentCurrentProject: mocks.getAgentCurrentProject,
12
+ }));
13
+ const client = {};
14
+ (0, vitest_1.describe)("appendProjectSelectionHint", () => {
15
+ (0, vitest_1.beforeEach)(() => {
16
+ vitest_1.vi.clearAllMocks();
17
+ });
18
+ (0, vitest_1.it)("names an OAuth caller's stored default project and how to change it", async () => {
19
+ mocks.getAgentCurrentProject.mockResolvedValue({
20
+ project: "meticulous/Twenty Demo",
21
+ projectId: "id-1",
22
+ source: "user-default",
23
+ });
24
+ const message = await (0, project_selection_hint_1.appendProjectSelectionHint)("No test run found for commit abc123.", client, undefined);
25
+ (0, vitest_1.expect)(message).toContain("No test run found for commit abc123.");
26
+ (0, vitest_1.expect)(message).toContain("meticulous/Twenty Demo");
27
+ (0, vitest_1.expect)(message).toContain("auth set-project");
28
+ });
29
+ (0, vitest_1.it)("names an auto-picked project distinctly from a stored default", async () => {
30
+ mocks.getAgentCurrentProject.mockResolvedValue({
31
+ project: "meticulous/Only Project",
32
+ projectId: "id-2",
33
+ source: "auto-picked",
34
+ });
35
+ const message = await (0, project_selection_hint_1.appendProjectSelectionHint)("Nothing found.", client, undefined);
36
+ (0, vitest_1.expect)(message).toContain("meticulous/Only Project");
37
+ (0, vitest_1.expect)(message).toContain("automatically selected");
38
+ (0, vitest_1.expect)(message).toContain("auth set-project");
39
+ });
40
+ (0, vitest_1.it)("names the token's pinned project without suggesting set-project as a certainty", async () => {
41
+ mocks.getAgentCurrentProject.mockResolvedValue({
42
+ project: "Acme/Pinned",
43
+ projectId: "id-3",
44
+ source: "api-token",
45
+ });
46
+ const message = await (0, project_selection_hint_1.appendProjectSelectionHint)("No recorded sessions found for this project.", client, undefined);
47
+ (0, vitest_1.expect)(message).toContain("Acme/Pinned");
48
+ (0, vitest_1.expect)(message).toContain("does not apply to any API token");
49
+ (0, vitest_1.expect)(message).toContain("cross-project access");
50
+ });
51
+ (0, vitest_1.it)("leaves the message untouched when --project was passed", async () => {
52
+ (0, vitest_1.expect)(await (0, project_selection_hint_1.appendProjectSelectionHint)("Nothing found.", client, "org/proj")).toBe("Nothing found.");
53
+ (0, vitest_1.expect)(mocks.getAgentCurrentProject).not.toHaveBeenCalled();
54
+ });
55
+ (0, vitest_1.it)("treats an empty or whitespace-only --project as absent, not explicit", async () => {
56
+ mocks.getAgentCurrentProject.mockResolvedValue({
57
+ project: "meticulous/Twenty Demo",
58
+ projectId: "id-1",
59
+ source: "user-default",
60
+ });
61
+ const message = await (0, project_selection_hint_1.appendProjectSelectionHint)("Nothing found.", client, " ");
62
+ (0, vitest_1.expect)(message).toContain("meticulous/Twenty Demo");
63
+ (0, vitest_1.expect)(mocks.getAgentCurrentProject).toHaveBeenCalled();
64
+ });
65
+ (0, vitest_1.it)("still names the commands when the project can't be resolved", async () => {
66
+ mocks.getAgentCurrentProject.mockRejectedValue(new Error("offline"));
67
+ const message = await (0, project_selection_hint_1.appendProjectSelectionHint)("Nothing found.", client, undefined);
68
+ (0, vitest_1.expect)(message).toContain("auth get-project");
69
+ (0, vitest_1.expect)(message).toContain("auth set-project");
70
+ });
71
+ });
72
+ //# sourceMappingURL=project-selection-hint.spec.js.map
73
+ //# debugId=281520e8-cd14-5df1-ac1e-fcd5077dbb3c
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-selection-hint.spec.js","sources":["../../../src/utils/__tests__/project-selection-hint.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"281520e8-cd14-5df1-ac1e-fcd5077dbb3c"}
@@ -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]="135ef9f7-4002-539e-b2e8-22dcb3a74789")}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]="bed63ce2-ba7c-583a-ab71-66ca70f784a3")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  const vitest_1 = require("vitest");
@@ -8,14 +8,10 @@ const resolve_project_identifier_1 = require("../resolve-project-identifier");
8
8
  const mocks = vitest_1.vi.hoisted(() => ({
9
9
  resolveDefaultProjectId: vitest_1.vi.fn(),
10
10
  isOAuthJwt: vitest_1.vi.fn(),
11
- createClient: vitest_1.vi.fn(),
12
- getProject: vitest_1.vi.fn(),
13
11
  }));
14
12
  vitest_1.vi.mock("@alwaysmeticulous/client", () => ({
15
13
  resolveDefaultProjectId: mocks.resolveDefaultProjectId,
16
14
  isOAuthJwt: mocks.isOAuthJwt,
17
- createClient: mocks.createClient,
18
- getProject: mocks.getProject,
19
15
  }));
20
16
  vitest_1.vi.mock("@alwaysmeticulous/common", () => ({
21
17
  initLogger: vitest_1.vi.fn(),
@@ -45,26 +41,5 @@ vitest_1.vi.mock("@alwaysmeticulous/common", () => ({
45
41
  (0, vitest_1.expect)(caught.exitCode).toBe(1);
46
42
  });
47
43
  });
48
- (0, vitest_1.describe)("resolvePinnedProjectSlug", () => {
49
- (0, vitest_1.beforeEach)(() => {
50
- vitest_1.vi.clearAllMocks();
51
- mocks.createClient.mockReturnValue({});
52
- });
53
- (0, vitest_1.it)("returns the organization/name slug for the token's bound project", async () => {
54
- mocks.getProject.mockResolvedValue({
55
- name: "My App",
56
- organization: { name: "Acme" },
57
- });
58
- (0, vitest_1.expect)(await (0, resolve_project_identifier_1.resolvePinnedProjectSlug)("prat-abc")).toBe("Acme/My App");
59
- });
60
- (0, vitest_1.it)("returns null when the project can't be resolved", async () => {
61
- mocks.getProject.mockResolvedValue(null);
62
- (0, vitest_1.expect)(await (0, resolve_project_identifier_1.resolvePinnedProjectSlug)("prat-abc")).toBeNull();
63
- });
64
- (0, vitest_1.it)("swallows errors and returns null", async () => {
65
- mocks.getProject.mockRejectedValue(new Error("network error"));
66
- (0, vitest_1.expect)(await (0, resolve_project_identifier_1.resolvePinnedProjectSlug)("prat-abc")).toBeNull();
67
- });
68
- });
69
44
  //# sourceMappingURL=resolve-project-identifier.spec.js.map
70
- //# debugId=135ef9f7-4002-539e-b2e8-22dcb3a74789
45
+ //# debugId=bed63ce2-ba7c-583a-ab71-66ca70f784a3
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-project-identifier.spec.js","sources":["../../../src/utils/__tests__/resolve-project-identifier.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"135ef9f7-4002-539e-b2e8-22dcb3a74789"}
1
+ {"version":3,"file":"resolve-project-identifier.spec.js","sources":["../../../src/utils/__tests__/resolve-project-identifier.spec.ts"],"sourceRoot":"","names":[],"mappings":";;;;AAAA,mCAA8D;AAC9D,sDAAiD;AACjD,8EAAyE;AAEzE,MAAM,KAAK,GAAG,WAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,uBAAuB,EAAE,WAAE,CAAC,EAAE,EAAE;IAChC,UAAU,EAAE,WAAE,CAAC,EAAE,EAAE;CACpB,CAAC,CAAC,CAAC;AAEJ,WAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;IACtD,UAAU,EAAE,KAAK,CAAC,UAAU;CAC7B,CAAC,CAAC,CAAC;AAEJ,WAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,UAAU,EAAE,WAAE,CAAC,EAAE,EAAE;CACpB,CAAC,CAAC,CAAC;AAEJ,IAAA,iBAAQ,EAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAA,mBAAU,EAAC,GAAG,EAAE;QACd,WAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAExC,IAAA,eAAM,EAAC,MAAM,IAAA,qDAAwB,EAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAA,eAAM,EAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAA,eAAM,EAAC,MAAM,IAAA,qDAAwB,EAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YACpD,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,MAAM,IAAA,qDAAwB,EAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAErE,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,cAAc,CAAC,6BAAY,CAAC,CAAC;QAC5C,IAAA,eAAM,EAAE,MAAuB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAA,eAAM,EAAE,MAAuB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","debugId":"bed63ce2-ba7c-583a-ab71-66ca70f784a3"}
@@ -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]="cafa0aa8-de2b-5cc7-8b74-36cc15ac2a08")}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]="7b51c662-0530-586c-a305-09d9ec37ae95")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  const vitest_1 = require("vitest");
@@ -13,6 +13,7 @@ const resolve_test_run_from_commit_1 = require("../resolve-test-run-from-commit"
13
13
  ["Partial", false],
14
14
  ["Aborted", false],
15
15
  ["ExecutionError", false],
16
+ ["Skipped", false],
16
17
  ])("%s -> %s", (status, expected) => {
17
18
  (0, vitest_1.expect)((0, resolve_test_run_from_commit_1.isTestRunComplete)(status)).toBe(expected);
18
19
  });
@@ -25,6 +26,7 @@ const resolve_test_run_from_commit_1 = require("../resolve-test-run-from-commit"
25
26
  ["Failure", false],
26
27
  ["Partial", false],
27
28
  ["Running", false],
29
+ ["Skipped", false],
28
30
  ])("%s -> %s", (status, expected) => {
29
31
  (0, vitest_1.expect)((0, resolve_test_run_from_commit_1.isTestRunFailed)(status)).toBe(expected);
30
32
  });
@@ -37,6 +39,7 @@ const resolve_test_run_from_commit_1 = require("../resolve-test-run-from-commit"
37
39
  ["Running", false],
38
40
  ["Aborted", false],
39
41
  ["ExecutionError", false],
42
+ ["Skipped", false],
40
43
  ])("%s -> %s", (status, expected) => {
41
44
  (0, vitest_1.expect)((0, resolve_test_run_from_commit_1.isTestRunPartial)(status)).toBe(expected);
42
45
  });
@@ -49,6 +52,10 @@ const resolve_test_run_from_commit_1 = require("../resolve-test-run-from-commit"
49
52
  (0, vitest_1.expect)(() => (0, resolve_test_run_from_commit_1.assertTestRunComplete)("tr-1", status)).toThrow(cli_user_error_1.CliUserError);
50
53
  (0, vitest_1.expect)(() => (0, resolve_test_run_from_commit_1.assertTestRunComplete)("tr-1", status)).toThrow(/finished unsuccessfully/);
51
54
  });
55
+ (0, vitest_1.test)("throws a dedicated skipped message for Skipped", () => {
56
+ (0, vitest_1.expect)(() => (0, resolve_test_run_from_commit_1.assertTestRunComplete)("tr-1", "Skipped")).toThrow(cli_user_error_1.CliUserError);
57
+ (0, vitest_1.expect)(() => (0, resolve_test_run_from_commit_1.assertTestRunComplete)("tr-1", "Skipped")).toThrow(/was skipped \(no base test run was found, so nothing ran\)/);
58
+ });
52
59
  (0, vitest_1.test)("throws 'not complete' for Running", () => {
53
60
  (0, vitest_1.expect)(() => (0, resolve_test_run_from_commit_1.assertTestRunComplete)("tr-1", "Running")).toThrow(cli_user_error_1.CliUserError);
54
61
  (0, vitest_1.expect)(() => (0, resolve_test_run_from_commit_1.assertTestRunComplete)("tr-1", "Running")).toThrow(/is not complete/);
@@ -65,4 +72,4 @@ const resolve_test_run_from_commit_1 = require("../resolve-test-run-from-commit"
65
72
  });
66
73
  });
67
74
  //# sourceMappingURL=resolve-test-run-from-commit.spec.js.map
68
- //# debugId=cafa0aa8-de2b-5cc7-8b74-36cc15ac2a08
75
+ //# debugId=7b51c662-0530-586c-a305-09d9ec37ae95
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-test-run-from-commit.spec.js","sources":["../../../src/utils/__tests__/resolve-test-run-from-commit.spec.ts"],"sourceRoot":"","names":[],"mappings":";;;;AACA,mCAAgD;AAChD,sDAAiD;AACjD,kFAKyC;AAEzC,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,aAAI,CAAC,IAAI,CAA2B;QAClC,CAAC,SAAS,EAAE,IAAI,CAAC;QACjB,CAAC,SAAS,EAAE,IAAI,CAAC;QACjB,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,gBAAgB,EAAE,KAAK,CAAC;KAC1B,CAAC,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QAClC,IAAA,eAAM,EAAC,IAAA,gDAAiB,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,aAAI,CAAC,IAAI,CAA2B;QAClC,CAAC,SAAS,EAAE,IAAI,CAAC;QACjB,CAAC,gBAAgB,EAAE,IAAI,CAAC;QACxB,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,SAAS,EAAE,KAAK,CAAC;KACnB,CAAC,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QAClC,IAAA,eAAM,EAAC,IAAA,8CAAe,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,aAAI,CAAC,IAAI,CAA2B;QAClC,CAAC,SAAS,EAAE,IAAI,CAAC;QACjB,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,SAAS,EAAE,KAAK,CAAC;QAClB,CAAC,gBAAgB,EAAE,KAAK,CAAC;KAC1B,CAAC,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QAClC,IAAA,eAAM,EAAC,IAAA,+CAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,aAAI,CAAC,IAAI,CAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAC9C,uBAAuB,EACvB,CAAC,MAAM,EAAE,EAAE;QACT,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,oDAAqB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACpE,CAAC,CACF,CAAC;IAEF,aAAI,CAAC,IAAI,CAAgB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CACrD,yCAAyC,EACzC,CAAC,MAAM,EAAE,EAAE;QACT,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,oDAAqB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,6BAAY,CAAC,CAAC;QAC1E,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,oDAAqB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CACzD,yBAAyB,CAC1B,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,IAAA,aAAI,EAAC,mCAAmC,EAAE,GAAG,EAAE;QAC7C,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,oDAAqB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAC5D,6BAAY,CACb,CAAC;QACF,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,oDAAqB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAC5D,iBAAiB,CAClB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAA,aAAI,EAAC,+BAA+B,EAAE,GAAG,EAAE;QACzC,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,oDAAqB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAC5D,6BAAY,CACb,CAAC;QACF,IAAA,eAAM,EAAC,GAAG,EAAE,CAAC,IAAA,oDAAqB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAC5D,qCAAqC,CACtC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,sDAAsD,EAAE,GAAG,EAAE;QAChE,IAAA,eAAM,EAAC,GAAG,EAAE,CACV,IAAA,oDAAqB,EAAC,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CACrE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","debugId":"cafa0aa8-de2b-5cc7-8b74-36cc15ac2a08"}
1
+ {"version":3,"file":"resolve-test-run-from-commit.spec.js","sources":["../../../src/utils/__tests__/resolve-test-run-from-commit.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"7b51c662-0530-586c-a305-09d9ec37ae95"}