@alwaysmeticulous/cli 2.306.0 → 2.308.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 (238) hide show
  1. package/dist/command-utils/common-options.js +4 -1
  2. package/dist/command-utils/common-options.js.map +1 -1
  3. package/dist/command-utils/detect-upload-mode.js +4 -1
  4. package/dist/command-utils/detect-upload-mode.js.map +1 -1
  5. package/dist/command-utils/detect-upload-mode.spec.js +4 -1
  6. package/dist/command-utils/detect-upload-mode.spec.js.map +1 -1
  7. package/dist/command-utils/download-session.utils.js +4 -1
  8. package/dist/command-utils/download-session.utils.js.map +1 -1
  9. package/dist/command-utils/json-args.js +4 -1
  10. package/dist/command-utils/json-args.js.map +1 -1
  11. package/dist/command-utils/json-args.spec.js +4 -1
  12. package/dist/command-utils/json-args.spec.js.map +1 -1
  13. package/dist/command-utils/parse-container-env.js +4 -1
  14. package/dist/command-utils/parse-container-env.js.map +1 -1
  15. package/dist/command-utils/parse-rewrites.js +4 -1
  16. package/dist/command-utils/parse-rewrites.js.map +1 -1
  17. package/dist/command-utils/print-json.js +4 -1
  18. package/dist/command-utils/print-json.js.map +1 -1
  19. package/dist/command-utils/sentry.utils.js +4 -1
  20. package/dist/command-utils/sentry.utils.js.map +1 -1
  21. package/dist/commands/agent/build-git-options.js +4 -1
  22. package/dist/commands/agent/build-git-options.js.map +1 -1
  23. package/dist/commands/agent/build-git-options.spec.js +4 -1
  24. package/dist/commands/agent/build-git-options.spec.js.map +1 -1
  25. package/dist/commands/agent/index.js +10 -7
  26. package/dist/commands/agent/index.js.map +1 -1
  27. package/dist/commands/agent/js-coverage-diff.command.js +4 -1
  28. package/dist/commands/agent/js-coverage-diff.command.js.map +1 -1
  29. package/dist/commands/agent/js-coverage.command.d.ts +5 -0
  30. package/dist/commands/agent/js-coverage.command.d.ts.map +1 -1
  31. package/dist/commands/agent/js-coverage.command.js +122 -23
  32. package/dist/commands/agent/js-coverage.command.js.map +1 -1
  33. package/dist/commands/agent/js-coverage.command.spec.js +50 -1
  34. package/dist/commands/agent/js-coverage.command.spec.js.map +1 -1
  35. package/dist/commands/agent/screenshot-dom-diff.command.d.ts.map +1 -1
  36. package/dist/commands/agent/screenshot-dom-diff.command.js +5 -2
  37. package/dist/commands/agent/screenshot-dom-diff.command.js.map +1 -1
  38. package/dist/commands/agent/screenshot-image-files.command.d.ts.map +1 -1
  39. package/dist/commands/agent/screenshot-image-files.command.js +5 -2
  40. package/dist/commands/agent/screenshot-image-files.command.js.map +1 -1
  41. package/dist/commands/agent/screenshot-image.command.d.ts.map +1 -1
  42. package/dist/commands/agent/screenshot-image.command.js +5 -2
  43. package/dist/commands/agent/screenshot-image.command.js.map +1 -1
  44. package/dist/commands/agent/test-run-diffs.command.d.ts +4 -1
  45. package/dist/commands/agent/test-run-diffs.command.d.ts.map +1 -1
  46. package/dist/commands/agent/test-run-diffs.command.js +88 -30
  47. package/dist/commands/agent/test-run-diffs.command.js.map +1 -1
  48. package/dist/commands/agent/test-run-diffs.command.spec.js +95 -3
  49. package/dist/commands/agent/test-run-diffs.command.spec.js.map +1 -1
  50. package/dist/commands/agent/test-run-diffs.utils.d.ts +19 -27
  51. package/dist/commands/agent/test-run-diffs.utils.d.ts.map +1 -1
  52. package/dist/commands/agent/test-run-diffs.utils.js +42 -34
  53. package/dist/commands/agent/test-run-diffs.utils.js.map +1 -1
  54. package/dist/commands/agent/test-run-diffs.utils.spec.js +96 -66
  55. package/dist/commands/agent/test-run-diffs.utils.spec.js.map +1 -1
  56. package/dist/commands/agent/test-run-for-commit.command.d.ts +1 -0
  57. package/dist/commands/agent/test-run-for-commit.command.d.ts.map +1 -1
  58. package/dist/commands/agent/test-run-for-commit.command.js +13 -11
  59. package/dist/commands/agent/test-run-for-commit.command.js.map +1 -1
  60. package/dist/commands/agent/timeline.command.js +4 -1
  61. package/dist/commands/agent/timeline.command.js.map +1 -1
  62. package/dist/commands/agent/timeline.command.spec.js +4 -1
  63. package/dist/commands/agent/timeline.command.spec.js.map +1 -1
  64. package/dist/commands/agent/trigger-test-run.command.d.ts +1 -0
  65. package/dist/commands/agent/trigger-test-run.command.d.ts.map +1 -1
  66. package/dist/commands/agent/trigger-test-run.command.js +10 -5
  67. package/dist/commands/agent/trigger-test-run.command.js.map +1 -1
  68. package/dist/commands/agent/trigger-test-run.command.spec.js +4 -1
  69. package/dist/commands/agent/trigger-test-run.command.spec.js.map +1 -1
  70. package/dist/commands/agent/upload-build.command.js +5 -2
  71. package/dist/commands/agent/upload-build.command.js.map +1 -1
  72. package/dist/commands/all-commands.js +4 -1
  73. package/dist/commands/all-commands.js.map +1 -1
  74. package/dist/commands/auth/__tests__/get-project.command.spec.d.ts +2 -0
  75. package/dist/commands/auth/__tests__/get-project.command.spec.d.ts.map +1 -0
  76. package/dist/commands/auth/__tests__/get-project.command.spec.js +72 -0
  77. package/dist/commands/auth/__tests__/get-project.command.spec.js.map +1 -0
  78. package/dist/commands/auth/__tests__/list-projects.command.spec.js +4 -1
  79. package/dist/commands/auth/__tests__/list-projects.command.spec.js.map +1 -1
  80. package/dist/commands/auth/__tests__/login.command.spec.js +15 -28
  81. package/dist/commands/auth/__tests__/login.command.spec.js.map +1 -1
  82. package/dist/commands/auth/__tests__/logout.command.spec.js +5 -5
  83. package/dist/commands/auth/__tests__/logout.command.spec.js.map +1 -1
  84. package/dist/commands/auth/__tests__/set-project.command.spec.d.ts +2 -0
  85. package/dist/commands/auth/__tests__/set-project.command.spec.d.ts.map +1 -0
  86. package/dist/commands/auth/__tests__/set-project.command.spec.js +60 -0
  87. package/dist/commands/auth/__tests__/set-project.command.spec.js.map +1 -0
  88. package/dist/commands/auth/__tests__/whoami.command.spec.js +18 -7
  89. package/dist/commands/auth/__tests__/whoami.command.spec.js.map +1 -1
  90. package/dist/commands/auth/get-project.command.d.ts +10 -0
  91. package/dist/commands/auth/get-project.command.d.ts.map +1 -0
  92. package/dist/commands/auth/get-project.command.js +49 -0
  93. package/dist/commands/auth/get-project.command.js.map +1 -0
  94. package/dist/commands/auth/index.js +6 -3
  95. package/dist/commands/auth/index.js.map +1 -1
  96. package/dist/commands/auth/list-projects.command.js +4 -1
  97. package/dist/commands/auth/list-projects.command.js.map +1 -1
  98. package/dist/commands/auth/login.command.d.ts.map +1 -1
  99. package/dist/commands/auth/login.command.js +11 -23
  100. package/dist/commands/auth/login.command.js.map +1 -1
  101. package/dist/commands/auth/logout.command.d.ts.map +1 -1
  102. package/dist/commands/auth/logout.command.js +8 -3
  103. package/dist/commands/auth/logout.command.js.map +1 -1
  104. package/dist/commands/auth/set-project.command.js +4 -1
  105. package/dist/commands/auth/set-project.command.js.map +1 -1
  106. package/dist/commands/auth/whoami.command.d.ts.map +1 -1
  107. package/dist/commands/auth/whoami.command.js +12 -21
  108. package/dist/commands/auth/whoami.command.js.map +1 -1
  109. package/dist/commands/ci/__tests__/session-filter.utils.spec.d.ts +2 -0
  110. package/dist/commands/ci/__tests__/session-filter.utils.spec.d.ts.map +1 -0
  111. package/dist/commands/ci/__tests__/session-filter.utils.spec.js +66 -0
  112. package/dist/commands/ci/__tests__/session-filter.utils.spec.js.map +1 -0
  113. package/dist/commands/ci/deprecated-trigger-options.js +4 -1
  114. package/dist/commands/ci/deprecated-trigger-options.js.map +1 -1
  115. package/dist/commands/ci/index.js +4 -1
  116. package/dist/commands/ci/index.js.map +1 -1
  117. package/dist/commands/ci/prepare.command.js +4 -1
  118. package/dist/commands/ci/prepare.command.js.map +1 -1
  119. package/dist/commands/ci/resolve-git-options.js +4 -1
  120. package/dist/commands/ci/resolve-git-options.js.map +1 -1
  121. package/dist/commands/ci/run-local.command.js +4 -1
  122. package/dist/commands/ci/run-local.command.js.map +1 -1
  123. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.d.ts +1 -0
  124. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.d.ts.map +1 -1
  125. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js +31 -3
  126. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js.map +1 -1
  127. package/dist/commands/ci/run.command.js +4 -1
  128. package/dist/commands/ci/run.command.js.map +1 -1
  129. package/dist/commands/ci/session-filter.utils.d.ts +25 -0
  130. package/dist/commands/ci/session-filter.utils.d.ts.map +1 -0
  131. package/dist/commands/ci/session-filter.utils.js +80 -0
  132. package/dist/commands/ci/session-filter.utils.js.map +1 -0
  133. package/dist/commands/ci/start-tunnel.command.js +4 -1
  134. package/dist/commands/ci/start-tunnel.command.js.map +1 -1
  135. package/dist/commands/ci/trigger-test-run.core.js +5 -2
  136. package/dist/commands/ci/trigger-test-run.core.js.map +1 -1
  137. package/dist/commands/ci/trigger-test-run.types.js +4 -1
  138. package/dist/commands/ci/trigger-test-run.types.js.map +1 -1
  139. package/dist/commands/ci/upload-asset-chunk.command.js +5 -2
  140. package/dist/commands/ci/upload-asset-chunk.command.js.map +1 -1
  141. package/dist/commands/ci/upload-assets.command.js +4 -1
  142. package/dist/commands/ci/upload-assets.command.js.map +1 -1
  143. package/dist/commands/ci/upload-container.command.js +4 -1
  144. package/dist/commands/ci/upload-container.command.js.map +1 -1
  145. package/dist/commands/debug/clean-workspaces.js +4 -1
  146. package/dist/commands/debug/clean-workspaces.js.map +1 -1
  147. package/dist/commands/debug/index.d.ts.map +1 -1
  148. package/dist/commands/debug/index.js +8 -8
  149. package/dist/commands/debug/index.js.map +1 -1
  150. package/dist/commands/debug/present-workspace.js +4 -1
  151. package/dist/commands/debug/present-workspace.js.map +1 -1
  152. package/dist/commands/debug/project-worktree.js +4 -1
  153. package/dist/commands/debug/project-worktree.js.map +1 -1
  154. package/dist/commands/deprecated-aliases.js +4 -1
  155. package/dist/commands/deprecated-aliases.js.map +1 -1
  156. package/dist/commands/download/index.js +4 -1
  157. package/dist/commands/download/index.js.map +1 -1
  158. package/dist/commands/download/replay.command.js +4 -1
  159. package/dist/commands/download/replay.command.js.map +1 -1
  160. package/dist/commands/download/session.command.js +4 -1
  161. package/dist/commands/download/session.command.js.map +1 -1
  162. package/dist/commands/download/test-run.command.js +4 -1
  163. package/dist/commands/download/test-run.command.js.map +1 -1
  164. package/dist/commands/local/get-edited-files.utils.js +4 -1
  165. package/dist/commands/local/get-edited-files.utils.js.map +1 -1
  166. package/dist/commands/local/get-edited-files.utils.spec.js +4 -1
  167. package/dist/commands/local/get-edited-files.utils.spec.js.map +1 -1
  168. package/dist/commands/local/index.js +4 -1
  169. package/dist/commands/local/index.js.map +1 -1
  170. package/dist/commands/local/relevant-sessions.command.js +5 -2
  171. package/dist/commands/local/relevant-sessions.command.js.map +1 -1
  172. package/dist/commands/project/index.js +4 -1
  173. package/dist/commands/project/index.js.map +1 -1
  174. package/dist/commands/project/show.command.js +5 -2
  175. package/dist/commands/project/show.command.js.map +1 -1
  176. package/dist/commands/project/upload-source.command.js +4 -1
  177. package/dist/commands/project/upload-source.command.js.map +1 -1
  178. package/dist/commands/record/__tests__/login.command.spec.js +7 -2
  179. package/dist/commands/record/__tests__/login.command.spec.js.map +1 -1
  180. package/dist/commands/record/__tests__/session.command.spec.js +7 -2
  181. package/dist/commands/record/__tests__/session.command.spec.js.map +1 -1
  182. package/dist/commands/record/index.js +4 -1
  183. package/dist/commands/record/index.js.map +1 -1
  184. package/dist/commands/record/login.command.js +5 -2
  185. package/dist/commands/record/login.command.js.map +1 -1
  186. package/dist/commands/record/session.command.js +5 -2
  187. package/dist/commands/record/session.command.js.map +1 -1
  188. package/dist/commands/replay-debugger.ui.js +4 -1
  189. package/dist/commands/replay-debugger.ui.js.map +1 -1
  190. package/dist/commands/replay.command.js +4 -1
  191. package/dist/commands/replay.command.js.map +1 -1
  192. package/dist/commands/schema.command.js +4 -1
  193. package/dist/commands/schema.command.js.map +1 -1
  194. package/dist/commands/schema.command.spec.js +4 -1
  195. package/dist/commands/schema.command.spec.js.map +1 -1
  196. package/dist/index.js +4 -1
  197. package/dist/index.js.map +1 -1
  198. package/dist/main.js +4 -1
  199. package/dist/main.js.map +1 -1
  200. package/dist/utils/__tests__/handle-auth-failure.spec.js +4 -1
  201. package/dist/utils/__tests__/handle-auth-failure.spec.js.map +1 -1
  202. package/dist/utils/__tests__/resolve-project-identifier.spec.js +38 -31
  203. package/dist/utils/__tests__/resolve-project-identifier.spec.js.map +1 -1
  204. package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js +4 -1
  205. package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js.map +1 -1
  206. package/dist/utils/__tests__/select-project.spec.js +137 -46
  207. package/dist/utils/__tests__/select-project.spec.js.map +1 -1
  208. package/dist/utils/cli-user-error.js +4 -1
  209. package/dist/utils/cli-user-error.js.map +1 -1
  210. package/dist/utils/constants.js +4 -1
  211. package/dist/utils/constants.js.map +1 -1
  212. package/dist/utils/environment.utils.js +4 -1
  213. package/dist/utils/environment.utils.js.map +1 -1
  214. package/dist/utils/format-coverage-ranges.js +4 -1
  215. package/dist/utils/format-coverage-ranges.js.map +1 -1
  216. package/dist/utils/handle-auth-failure.d.ts +1 -0
  217. package/dist/utils/handle-auth-failure.d.ts.map +1 -1
  218. package/dist/utils/handle-auth-failure.js +7 -3
  219. package/dist/utils/handle-auth-failure.js.map +1 -1
  220. package/dist/utils/out-of-date-client-error.js +4 -1
  221. package/dist/utils/out-of-date-client-error.js.map +1 -1
  222. package/dist/utils/resolve-project-identifier.d.ts +12 -10
  223. package/dist/utils/resolve-project-identifier.d.ts.map +1 -1
  224. package/dist/utils/resolve-project-identifier.js +31 -17
  225. package/dist/utils/resolve-project-identifier.js.map +1 -1
  226. package/dist/utils/resolve-test-run-from-commit.d.ts +6 -2
  227. package/dist/utils/resolve-test-run-from-commit.d.ts.map +1 -1
  228. package/dist/utils/resolve-test-run-from-commit.js +12 -8
  229. package/dist/utils/resolve-test-run-from-commit.js.map +1 -1
  230. package/dist/utils/select-project.d.ts +37 -13
  231. package/dist/utils/select-project.d.ts.map +1 -1
  232. package/dist/utils/select-project.js +113 -40
  233. package/dist/utils/select-project.js.map +1 -1
  234. package/package.json +10 -10
  235. package/dist/commands/auth/unset-project.command.d.ts +0 -3
  236. package/dist/commands/auth/unset-project.command.d.ts.map +0 -1
  237. package/dist/commands/auth/unset-project.command.js +0 -24
  238. package/dist/commands/auth/unset-project.command.js.map +0 -1
@@ -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]="f829bfa3-8b9d-5d08-93a4-5d558c507380")}catch(e){}}();
3
+
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
5
  exports.ensureTestRunFinished = exports.awaitTestRunCompletion = exports.tryResolveTestRunForCommit = exports.resolveTestRunForCommitOrThrow = exports.assertTestRunComplete = exports.isTestRunPartial = exports.isTestRunFailed = exports.isTestRunComplete = exports.isTestRunInProgress = exports.logResolvedCommitSha = void 0;
4
6
  const client_1 = require("@alwaysmeticulous/client");
5
7
  const common_1 = require("@alwaysmeticulous/common");
6
8
  const cli_user_error_1 = require("./cli-user-error");
7
- const resolve_project_identifier_1 = require("./resolve-project-identifier");
8
9
  const POLL_INTERVAL_MS = 10_000;
9
10
  /** Give up waiting for a run after this long, rather than polling forever. */
10
11
  const POLL_TIMEOUT_MS = 10 * 60_000;
@@ -84,18 +85,21 @@ exports.assertTestRunComplete = assertTestRunComplete;
84
85
  * explicit `commitSha`, or the local checkout's HEAD when omitted), throwing a
85
86
  * `CliUserError` when the commit can't be determined or no run matches it.
86
87
  *
88
+ * `project` is a one-off override (resolved flexibly server-side); when
89
+ * omitted, project-scoped tokens use their own project and OAuth tokens fall
90
+ * back to the caller's stored default (`meticulous auth set-project`).
91
+ *
87
92
  * Logs the resolved commit (see {@link logResolvedCommitSha}) and the test run
88
93
  * id (under `--verbose`).
89
94
  */
90
- const resolveTestRunForCommitOrThrow = async (client, apiToken, commitSha) => {
95
+ const resolveTestRunForCommitOrThrow = async (client, commitSha, project) => {
91
96
  const sha = await (0, common_1.getCommitSha)(commitSha);
92
97
  if (!sha) {
93
98
  throw new cli_user_error_1.CliUserError("Could not determine a commit SHA. Pass --commitSha or --testRunId, or run inside a git repository.");
94
99
  }
95
100
  await (0, exports.logResolvedCommitSha)(commitSha, sha);
96
- const { projectId } = (0, resolve_project_identifier_1.resolveProjectIdentifier)(apiToken);
97
101
  const { testRunId, status } = await (0, client_1.getTestRunForCommit)(client, sha, {
98
- projectId,
102
+ project,
99
103
  });
100
104
  if (testRunId == null || status == null) {
101
105
  throw new cli_user_error_1.CliUserError(`No test run found for commit ${sha}.`);
@@ -109,15 +113,14 @@ exports.resolveTestRunForCommitOrThrow = resolveTestRunForCommitOrThrow;
109
113
  * throwing) when the commit can't be determined, no project is selected, or no
110
114
  * run matches, so the caller can fall back to its original behaviour.
111
115
  */
112
- const tryResolveTestRunForCommit = async (client, apiToken, commitSha) => {
116
+ const tryResolveTestRunForCommit = async (client, commitSha, project) => {
113
117
  try {
114
118
  const sha = await (0, common_1.getCommitSha)(commitSha);
115
119
  if (!sha) {
116
120
  return null;
117
121
  }
118
- const { projectId } = (0, resolve_project_identifier_1.resolveProjectIdentifier)(apiToken);
119
122
  const { testRunId, status } = await (0, client_1.getTestRunForCommit)(client, sha, {
120
- projectId,
123
+ project,
121
124
  });
122
125
  return testRunId != null && status != null ? { testRunId, status } : null;
123
126
  }
@@ -175,4 +178,5 @@ const ensureTestRunFinished = async (client, testRunId, status, { dontWait, thro
175
178
  return (0, exports.awaitTestRunCompletion)(client, testRunId, { throwOnFailure });
176
179
  };
177
180
  exports.ensureTestRunFinished = ensureTestRunFinished;
178
- //# sourceMappingURL=resolve-test-run-from-commit.js.map
181
+ //# sourceMappingURL=resolve-test-run-from-commit.js.map
182
+ //# debugId=f829bfa3-8b9d-5d08-93a4-5d558c507380
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-test-run-from-commit.js","sourceRoot":"","sources":["../../src/utils/resolve-test-run-from-commit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-test-run-from-commit.js","sources":["../../src/utils/resolve-test-run-from-commit.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"f829bfa3-8b9d-5d08-93a4-5d558c507380"}
@@ -1,29 +1,53 @@
1
- import type { MeticulousClient, OAuthProject } from "@alwaysmeticulous/client";
1
+ import type { MeticulousClient, OAuthDefaultProjectResponse, OAuthProject } from "@alwaysmeticulous/client";
2
2
  /**
3
3
  * Fetches the projects accessible to the OAuth caller, surfacing auth failures
4
4
  * via `handleAuthFailure`. Shared by the project selection and listing flows.
5
+ *
6
+ * Results are sorted alphabetically by `organization/project` slug
7
+ * (case-insensitive) so the interactive picker, listing output, and error
8
+ * messages present projects in a predictable order regardless of what the API
9
+ * returns.
5
10
  */
6
11
  export declare const fetchAccessibleProjects: (client: MeticulousClient) => Promise<OAuthProject[]>;
12
+ /** `"organization/name"` slug, falling back to the bare id if unnamed. */
13
+ export declare const formatProjectSlug: (project: Pick<OAuthDefaultProjectResponse, "projectId" | "name" | "organization">) => string;
7
14
  /**
8
- * Picks a project, stores it as the selected project, and logs the selection.
9
- * Shared by `auth login` and `auth set-project`.
15
+ * Picks a project and persists it as the caller's default (via the backend —
16
+ * see `setOAuthDefaultProject`, consistent across machines and visible to the
17
+ * MCP server). Shared by `auth login` and `auth set-project`.
10
18
  *
11
- * - When `project` (an `organization/project` slug) is given, selects that
12
- * project non-interactively, erroring with the available list if it does
13
- * not match.
19
+ * - When `project` is given, it's resolved by the backend, which accepts any of
20
+ * a bare id, an `organization/name` slug, or a unique bare name (see
21
+ * `ProjectService.resolveForUserByIdentifier`). We deliberately do NOT match
22
+ * client-side — the CLI would only understand the slug form and diverge from
23
+ * the backend (and from the `--project` override on agent commands).
14
24
  * - Otherwise auto-selects the only project, or prompts interactively when
15
25
  * there are several — unless `allowInteractivePrompt` is `false` (e.g. a
16
- * headless login), in which case it keeps `fallbackToProject` if that is
17
- * still accessible, and otherwise throws with guidance rather than blocking
18
- * on a prompt that no terminal can answer.
26
+ * headless login), in which case it throws with guidance rather than
27
+ * blocking on a prompt that no terminal can answer.
19
28
  *
20
- * Throws `CliUserError` when the caller has no accessible projects, or when a
21
- * project cannot be resolved without an interactive prompt.
29
+ * Throws `CliUserError` when the identifier can't be resolved, the caller has
30
+ * no accessible projects, or a project can't be resolved without a prompt.
22
31
  */
23
- export declare const selectAndStoreProject: ({ client, project, allowInteractivePrompt, fallbackToProject, }: {
32
+ export declare const selectAndStoreProject: ({ client, project, allowInteractivePrompt, }: {
24
33
  client: MeticulousClient;
25
34
  project?: string | undefined;
26
35
  allowInteractivePrompt?: boolean;
27
- fallbackToProject?: string | undefined;
28
36
  }) => Promise<string>;
37
+ /**
38
+ * Project selection for `auth login`. Behaves like `selectAndStoreProject`
39
+ * (persist an explicit `--project`, auto-select+persist a sole project, prompt
40
+ * among several) with one addition: if the user already has a stored default,
41
+ * respect it rather than re-prompting or failing — so a returning user (in
42
+ * particular a headless `--non-interactive` login) succeeds without re-picking.
43
+ *
44
+ * There's no "cleared default" to preserve here: clearing isn't user-reachable
45
+ * (no `unset-project` command, no web "no default" option), so always selecting
46
+ * a sole project can't silently undo an intentional clear.
47
+ */
48
+ export declare const selectProjectOnLogin: ({ client, project, interactive, }: {
49
+ client: MeticulousClient;
50
+ project?: string | undefined;
51
+ interactive: boolean;
52
+ }) => Promise<void>;
29
53
  //# sourceMappingURL=select-project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-project.d.ts","sourceRoot":"","sources":["../../src/utils/select-project.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAM/E;;;GAGG;AACH,eAAO,MAAM,uBAAuB,WAC1B,gBAAgB,KACvB,OAAO,CAAC,YAAY,EAAE,CAOxB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,oEAK/B;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC,KAAG,OAAO,CAAC,MAAM,CA0DjB,CAAC"}
1
+ {"version":3,"file":"select-project.d.ts","sourceRoot":"","sources":["../../src/utils/select-project.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,YAAY,EACb,MAAM,0BAA0B,CAAC;AAMlC;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,WAC1B,gBAAgB,KACvB,OAAO,CAAC,YAAY,EAAE,CAQxB,CAAC;AAgBF,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,YACnB,IAAI,CACX,2BAA2B,EAC3B,WAAW,GAAG,MAAM,GAAG,cAAc,CACtC,KACA,MAG4B,CAAC;AAEhC;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB,iDAI/B;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,KAAG,OAAO,CAAC,MAAM,CA6CjB,CAAC;AAwBF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,sCAI9B;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB,KAAG,OAAO,CAAC,IAAI,CA4Bf,CAAC"}
@@ -1,9 +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]="e3dd5fa0-bef9-583c-8433-9978a18d5a5d")}catch(e){}}();
3
+
2
4
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
5
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
6
  };
5
7
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.selectAndStoreProject = exports.fetchAccessibleProjects = void 0;
8
+ exports.selectProjectOnLogin = exports.selectAndStoreProject = exports.formatProjectSlug = exports.fetchAccessibleProjects = void 0;
7
9
  const client_1 = require("@alwaysmeticulous/client");
8
10
  const common_1 = require("@alwaysmeticulous/common");
9
11
  const inquirer_1 = __importDefault(require("inquirer"));
@@ -12,10 +14,16 @@ const handle_auth_failure_1 = require("./handle-auth-failure");
12
14
  /**
13
15
  * Fetches the projects accessible to the OAuth caller, surfacing auth failures
14
16
  * via `handleAuthFailure`. Shared by the project selection and listing flows.
17
+ *
18
+ * Results are sorted alphabetically by `organization/project` slug
19
+ * (case-insensitive) so the interactive picker, listing output, and error
20
+ * messages present projects in a predictable order regardless of what the API
21
+ * returns.
15
22
  */
16
23
  const fetchAccessibleProjects = async (client) => {
17
24
  try {
18
- return await (0, client_1.getOAuthProjects)(client);
25
+ const projects = await (0, client_1.getOAuthProjects)(client);
26
+ return [...projects].sort(compareProjectsBySlug);
19
27
  }
20
28
  catch (error) {
21
29
  (0, handle_auth_failure_1.handleAuthFailure)(error);
@@ -23,70 +31,134 @@ const fetchAccessibleProjects = async (client) => {
23
31
  }
24
32
  };
25
33
  exports.fetchAccessibleProjects = fetchAccessibleProjects;
34
+ const compareProjectsBySlug = (a, b) => {
35
+ const orgComparison = a.organization.name.localeCompare(b.organization.name, undefined, {
36
+ sensitivity: "base",
37
+ });
38
+ if (orgComparison !== 0) {
39
+ return orgComparison;
40
+ }
41
+ return a.name.localeCompare(b.name, undefined, { sensitivity: "base" });
42
+ };
43
+ /** `"organization/name"` slug, falling back to the bare id if unnamed. */
44
+ const formatProjectSlug = (project) => project.organization && project.name
45
+ ? `${project.organization.name}/${project.name}`
46
+ : (project.projectId ?? "");
47
+ exports.formatProjectSlug = formatProjectSlug;
26
48
  /**
27
- * Picks a project, stores it as the selected project, and logs the selection.
28
- * Shared by `auth login` and `auth set-project`.
49
+ * Picks a project and persists it as the caller's default (via the backend —
50
+ * see `setOAuthDefaultProject`, consistent across machines and visible to the
51
+ * MCP server). Shared by `auth login` and `auth set-project`.
29
52
  *
30
- * - When `project` (an `organization/project` slug) is given, selects that
31
- * project non-interactively, erroring with the available list if it does
32
- * not match.
53
+ * - When `project` is given, it's resolved by the backend, which accepts any of
54
+ * a bare id, an `organization/name` slug, or a unique bare name (see
55
+ * `ProjectService.resolveForUserByIdentifier`). We deliberately do NOT match
56
+ * client-side — the CLI would only understand the slug form and diverge from
57
+ * the backend (and from the `--project` override on agent commands).
33
58
  * - Otherwise auto-selects the only project, or prompts interactively when
34
59
  * there are several — unless `allowInteractivePrompt` is `false` (e.g. a
35
- * headless login), in which case it keeps `fallbackToProject` if that is
36
- * still accessible, and otherwise throws with guidance rather than blocking
37
- * on a prompt that no terminal can answer.
60
+ * headless login), in which case it throws with guidance rather than
61
+ * blocking on a prompt that no terminal can answer.
38
62
  *
39
- * Throws `CliUserError` when the caller has no accessible projects, or when a
40
- * project cannot be resolved without an interactive prompt.
63
+ * Throws `CliUserError` when the identifier can't be resolved, the caller has
64
+ * no accessible projects, or a project can't be resolved without a prompt.
41
65
  */
42
- const selectAndStoreProject = async ({ client, project, allowInteractivePrompt = true, fallbackToProject, }) => {
66
+ const selectAndStoreProject = async ({ client, project, allowInteractivePrompt = true, }) => {
67
+ if (project) {
68
+ // Tolerate accidental surrounding whitespace (e.g. from copy-paste). The
69
+ // backend resolves the identifier flexibly and returns the resolved
70
+ // project, so there's no client-side lookup here.
71
+ const trimmedProject = project.trim();
72
+ let stored;
73
+ try {
74
+ stored = await (0, client_1.setOAuthDefaultProject)(client, trimmedProject);
75
+ }
76
+ catch (error) {
77
+ (0, handle_auth_failure_1.handleAuthFailure)(error);
78
+ throw await toProjectResolutionError(client, trimmedProject, error);
79
+ }
80
+ const projectSlug = (0, exports.formatProjectSlug)(stored);
81
+ (0, common_1.logNotice)(`Selected project: ${projectSlug}`);
82
+ return projectSlug;
83
+ }
43
84
  const projects = await (0, exports.fetchAccessibleProjects)(client);
44
85
  if (projects.length === 0) {
45
86
  throw new cli_user_error_1.CliUserError("No projects are accessible to your account. Ask an organization " +
46
87
  "admin to add you to a project.");
47
88
  }
48
89
  let selected;
49
- if (project) {
50
- // Tolerate accidental surrounding whitespace (e.g. from copy-paste), but
51
- // keep the match case-sensitive: organization/project names are
52
- // case-sensitive, so two projects could differ only by case and a
53
- // case-insensitive match would be ambiguous.
54
- const trimmedProject = project.trim();
55
- const match = projects.find((p) => `${p.organization.name}/${p.name}` === trimmedProject);
56
- if (!match) {
57
- throw new cli_user_error_1.CliUserError(`Project '${trimmedProject}' not found. Available projects:\n${formatProjectList(projects)}`);
58
- }
59
- selected = match;
60
- }
61
- else if (projects.length === 1) {
90
+ if (projects.length === 1) {
62
91
  selected = projects[0];
63
92
  }
64
93
  else if (allowInteractivePrompt) {
65
94
  selected = await promptForProject(projects);
66
95
  }
67
96
  else {
68
- // No interactive terminal to answer the picker. Keep the previously
69
- // selected project if it's still accessible; otherwise fail with guidance
70
- // on how to choose one, so callers (and scripts) know no project is set.
71
- const fallback = fallbackToProject
72
- ? projects.find((p) => `${p.organization.name}/${p.name}` === fallbackToProject)
73
- : undefined;
74
- if (fallback) {
75
- const fallbackSlug = `${fallback.organization.name}/${fallback.name}`;
76
- (0, client_1.setStoredProject)({ project: fallbackSlug, projectId: fallback.id });
77
- (0, common_1.logNotice)(`Kept previously selected project: ${fallbackSlug}`);
78
- return fallbackSlug;
79
- }
80
97
  throw new cli_user_error_1.CliUserError("Multiple projects are accessible but none was selected (no interactive " +
81
98
  "terminal). Pass `--project` or run `meticulous auth set-project` to " +
82
99
  "choose one.", 1, "warn");
83
100
  }
84
101
  const projectSlug = `${selected.organization.name}/${selected.name}`;
85
- (0, client_1.setStoredProject)({ project: projectSlug, projectId: selected.id });
102
+ await (0, client_1.setOAuthDefaultProject)(client, selected.id);
86
103
  (0, common_1.logNotice)(`Selected project: ${projectSlug}`);
87
104
  return projectSlug;
88
105
  };
89
106
  exports.selectAndStoreProject = selectAndStoreProject;
107
+ /**
108
+ * Turns a failed explicit-project resolution into a helpful `CliUserError`: the
109
+ * backend's own message (not found / not accessible / ambiguous name) plus the
110
+ * list of accessible projects to pick from.
111
+ */
112
+ const toProjectResolutionError = async (client, identifier, error) => {
113
+ const serverMessage = (0, client_1.isFetchError)(error)
114
+ ? (0, handle_auth_failure_1.extractServerMessage)(error.response?.data)
115
+ : null;
116
+ const projects = await (0, exports.fetchAccessibleProjects)(client).catch(() => []);
117
+ const list = projects.length
118
+ ? `\n\nAvailable projects:\n${formatProjectList(projects)}`
119
+ : "";
120
+ const detail = serverMessage ?? `Project '${identifier}' not found or not accessible.`;
121
+ return new cli_user_error_1.CliUserError(`${detail}${list}`);
122
+ };
123
+ /**
124
+ * Project selection for `auth login`. Behaves like `selectAndStoreProject`
125
+ * (persist an explicit `--project`, auto-select+persist a sole project, prompt
126
+ * among several) with one addition: if the user already has a stored default,
127
+ * respect it rather than re-prompting or failing — so a returning user (in
128
+ * particular a headless `--non-interactive` login) succeeds without re-picking.
129
+ *
130
+ * There's no "cleared default" to preserve here: clearing isn't user-reachable
131
+ * (no `unset-project` command, no web "no default" option), so always selecting
132
+ * a sole project can't silently undo an intentional clear.
133
+ */
134
+ const selectProjectOnLogin = async ({ client, project, interactive, }) => {
135
+ // An explicit `--project` always wins.
136
+ if (project) {
137
+ await (0, exports.selectAndStoreProject)({
138
+ client,
139
+ project,
140
+ allowInteractivePrompt: interactive,
141
+ });
142
+ return;
143
+ }
144
+ // With several accessible projects, respect an already-stored default (the
145
+ // backend only auto-picks when there's exactly one project, so a non-null
146
+ // result here is necessarily the stored preference). This is what lets a
147
+ // returning `--non-interactive` login succeed instead of failing for lack of
148
+ // a picker.
149
+ const projects = await (0, exports.fetchAccessibleProjects)(client);
150
+ if (projects.length > 1) {
151
+ const existing = await (0, client_1.getOAuthDefaultProject)(client);
152
+ if (existing.projectId) {
153
+ (0, common_1.logNotice)(`Using your default project: ${(0, exports.formatProjectSlug)(existing)}.`);
154
+ return;
155
+ }
156
+ }
157
+ // Otherwise select-and-persist: a sole project is auto-selected, several
158
+ // prompt interactively (or, headless, error with guidance).
159
+ await (0, exports.selectAndStoreProject)({ client, allowInteractivePrompt: interactive });
160
+ };
161
+ exports.selectProjectOnLogin = selectProjectOnLogin;
90
162
  const promptForProject = async (projects) => {
91
163
  const { projectId } = await inquirer_1.default.prompt([
92
164
  {
@@ -106,4 +178,5 @@ const promptForProject = async (projects) => {
106
178
  return selected;
107
179
  };
108
180
  const formatProjectList = (projects) => projects.map((p) => ` - ${p.organization.name}/${p.name}`).join("\n");
109
- //# sourceMappingURL=select-project.js.map
181
+ //# sourceMappingURL=select-project.js.map
182
+ //# debugId=e3dd5fa0-bef9-583c-8433-9978a18d5a5d
@@ -1 +1 @@
1
- {"version":3,"file":"select-project.js","sourceRoot":"","sources":["../../src/utils/select-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-project.js","sources":["../../src/utils/select-project.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"e3dd5fa0-bef9-583c-8433-9978a18d5a5d"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alwaysmeticulous/cli",
3
- "version": "2.306.0",
3
+ "version": "2.308.0",
4
4
  "description": "The Meticulous CLI",
5
5
  "license": "ISC",
6
6
  "main": "dist/index.js",
@@ -23,18 +23,18 @@
23
23
  "puppeteer-core": "24.14.0",
24
24
  "tar": "^7.5.8",
25
25
  "yargs": "^17.5.1",
26
- "@alwaysmeticulous/api": "2.306.0",
26
+ "@alwaysmeticulous/api": "2.307.0",
27
+ "@alwaysmeticulous/client": "2.308.0",
27
28
  "@alwaysmeticulous/common": "2.301.0",
28
- "@alwaysmeticulous/client": "2.306.0",
29
- "@alwaysmeticulous/record": "2.306.0",
30
- "@alwaysmeticulous/debug-workspace": "2.306.0",
31
- "@alwaysmeticulous/remote-replay-launcher": "2.306.0",
29
+ "@alwaysmeticulous/debug-workspace": "2.308.0",
30
+ "@alwaysmeticulous/record": "2.307.0",
31
+ "@alwaysmeticulous/downloading-helpers": "2.308.0",
32
+ "@alwaysmeticulous/remote-replay-launcher": "2.308.0",
32
33
  "@alwaysmeticulous/replay-debugger-ui": "2.283.1",
33
- "@alwaysmeticulous/downloading-helpers": "2.306.0",
34
- "@alwaysmeticulous/replay-orchestrator-launcher": "2.306.0",
35
- "@alwaysmeticulous/sdk-bundles-api": "2.306.0",
34
+ "@alwaysmeticulous/replay-orchestrator-launcher": "2.308.0",
35
+ "@alwaysmeticulous/sdk-bundles-api": "2.307.0",
36
36
  "@alwaysmeticulous/sentry": "2.301.0",
37
- "@alwaysmeticulous/session-filters": "2.306.0",
37
+ "@alwaysmeticulous/session-filters": "2.308.0",
38
38
  "@alwaysmeticulous/tunnels-client": "2.301.0"
39
39
  },
40
40
  "devDependencies": {
@@ -1,3 +0,0 @@
1
- import type { CommandModule } from "yargs";
2
- export declare const unsetProjectCommand: CommandModule;
3
- //# sourceMappingURL=unset-project.command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unset-project.command.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/unset-project.command.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,eAAO,MAAM,mBAAmB,EAAE,aAejC,CAAC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unsetProjectCommand = void 0;
4
- const client_1 = require("@alwaysmeticulous/client");
5
- const common_1 = require("@alwaysmeticulous/common");
6
- const sentry_utils_1 = require("../../command-utils/sentry.utils");
7
- exports.unsetProjectCommand = {
8
- command: "unset-project",
9
- describe: "Clear the project selected via `auth set-project`",
10
- builder: {},
11
- handler: (0, sentry_utils_1.wrapHandler)(() => {
12
- (0, common_1.initLogger)();
13
- const previous = (0, client_1.getStoredProject)();
14
- (0, client_1.clearStoredProject)();
15
- if (previous) {
16
- (0, common_1.logNotice)(`Cleared selected project (was: ${previous}).`);
17
- }
18
- else {
19
- (0, common_1.logNotice)("No project was selected.");
20
- }
21
- return Promise.resolve();
22
- }),
23
- };
24
- //# sourceMappingURL=unset-project.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unset-project.command.js","sourceRoot":"","sources":["../../../src/commands/auth/unset-project.command.ts"],"names":[],"mappings":";;;AAAA,qDAAgF;AAChF,qDAAiE;AAEjE,mEAA+D;AAElD,QAAA,mBAAmB,GAAkB;IAChD,OAAO,EAAE,eAAe;IACxB,QAAQ,EAAE,mDAAmD;IAC7D,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,IAAA,0BAAW,EAAC,GAAG,EAAE;QACxB,IAAA,mBAAU,GAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAA,yBAAgB,GAAE,CAAC;QACpC,IAAA,2BAAkB,GAAE,CAAC;QACrB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAA,kBAAS,EAAC,kCAAkC,QAAQ,IAAI,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAA,kBAAS,EAAC,0BAA0B,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC,CAAC;CACH,CAAC"}