@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,19 +1,34 @@
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]="70c20c11-cb70-5b2b-bc55-56149e6c15a3")}catch(e){}}();
3
+
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
5
  const vitest_1 = require("vitest");
4
6
  const cli_user_error_1 = require("../cli-user-error");
5
7
  const select_project_1 = require("../select-project");
6
8
  const mocks = vitest_1.vi.hoisted(() => ({
7
9
  getOAuthProjects: vitest_1.vi.fn(),
8
- setStoredProject: vitest_1.vi.fn(),
10
+ setOAuthDefaultProject: vitest_1.vi.fn(),
11
+ getOAuthDefaultProject: vitest_1.vi.fn(),
12
+ isFetchError: vitest_1.vi.fn(() => false),
13
+ prompt: vitest_1.vi.fn(),
9
14
  }));
10
15
  vitest_1.vi.mock("@alwaysmeticulous/client", () => ({
11
16
  getOAuthProjects: mocks.getOAuthProjects,
12
- setStoredProject: mocks.setStoredProject,
17
+ setOAuthDefaultProject: mocks.setOAuthDefaultProject,
18
+ getOAuthDefaultProject: mocks.getOAuthDefaultProject,
19
+ isFetchError: mocks.isFetchError,
13
20
  }));
21
+ // The backend resolves the identifier and returns the resolved project; model
22
+ // that here.
23
+ const resolved = (org, name, id) => ({
24
+ projectId: id,
25
+ name,
26
+ organization: { id: `${org}-id`, name: org },
27
+ });
14
28
  vitest_1.vi.mock("@alwaysmeticulous/common", () => ({
15
29
  logNotice: vitest_1.vi.fn(),
16
30
  }));
31
+ vitest_1.vi.mock("inquirer", () => ({ default: { prompt: mocks.prompt } }));
17
32
  const project = (org, name, id) => ({
18
33
  id,
19
34
  name,
@@ -24,54 +39,43 @@ const fakeClient = {};
24
39
  (0, vitest_1.beforeEach)(() => {
25
40
  vitest_1.vi.clearAllMocks();
26
41
  });
27
- (0, vitest_1.it)("selects an exact organization/project slug match", async () => {
28
- mocks.getOAuthProjects.mockResolvedValue([
29
- project("OrgA", "App1", "id-1"),
30
- project("OrgB", "App2", "id-2"),
31
- ]);
42
+ (0, vitest_1.it)("sends an explicit identifier to the backend verbatim (not matched client-side)", async () => {
43
+ // A bare name, id, or slug all go straight to the backend, which resolves
44
+ // flexibly and returns the resolved project.
45
+ mocks.setOAuthDefaultProject.mockResolvedValue(resolved("OrgB", "App2", "id-2"));
32
46
  const result = await (0, select_project_1.selectAndStoreProject)({
33
47
  client: fakeClient,
34
- project: "OrgB/App2",
48
+ project: "App2",
35
49
  });
36
50
  (0, vitest_1.expect)(result).toBe("OrgB/App2");
37
- (0, vitest_1.expect)(mocks.setStoredProject).toHaveBeenCalledWith({
38
- project: "OrgB/App2",
39
- projectId: "id-2",
40
- });
51
+ (0, vitest_1.expect)(mocks.setOAuthDefaultProject).toHaveBeenCalledWith(fakeClient, "App2");
52
+ // No client-side project listing for an explicit identifier.
53
+ (0, vitest_1.expect)(mocks.getOAuthProjects).not.toHaveBeenCalled();
41
54
  });
42
- (0, vitest_1.it)("trims surrounding whitespace from the provided slug", async () => {
43
- mocks.getOAuthProjects.mockResolvedValue([project("OrgA", "App1", "id-1")]);
55
+ (0, vitest_1.it)("trims surrounding whitespace from the provided identifier", async () => {
56
+ mocks.setOAuthDefaultProject.mockResolvedValue(resolved("OrgA", "App1", "id-1"));
44
57
  const result = await (0, select_project_1.selectAndStoreProject)({
45
58
  client: fakeClient,
46
59
  project: " OrgA/App1 ",
47
60
  });
48
61
  (0, vitest_1.expect)(result).toBe("OrgA/App1");
62
+ (0, vitest_1.expect)(mocks.setOAuthDefaultProject).toHaveBeenCalledWith(fakeClient, "OrgA/App1");
49
63
  });
50
- (0, vitest_1.it)("matches case-sensitively", async () => {
51
- mocks.getOAuthProjects.mockResolvedValue([project("OrgA", "App1", "id-1")]);
52
- await (0, vitest_1.expect)((0, select_project_1.selectAndStoreProject)({
53
- client: fakeClient,
54
- project: "orga/app1",
55
- })).rejects.toBeInstanceOf(cli_user_error_1.CliUserError);
56
- (0, vitest_1.expect)(mocks.setStoredProject).not.toHaveBeenCalled();
57
- });
58
- (0, vitest_1.it)("throws with the available list when the slug is not found", async () => {
64
+ (0, vitest_1.it)("throws with the available list when the backend can't resolve the identifier", async () => {
65
+ mocks.setOAuthDefaultProject.mockRejectedValueOnce(new Error("not found"));
59
66
  mocks.getOAuthProjects.mockResolvedValue([project("OrgA", "App1", "id-1")]);
60
67
  await (0, vitest_1.expect)((0, select_project_1.selectAndStoreProject)({
61
68
  client: fakeClient,
62
- project: "OrgA/Missing",
69
+ project: "Missing",
63
70
  })).rejects.toThrow(/Available projects/);
64
71
  });
65
- (0, vitest_1.it)("auto-selects the only project when no slug is provided", async () => {
72
+ (0, vitest_1.it)("auto-selects the only project when no identifier is provided", async () => {
66
73
  mocks.getOAuthProjects.mockResolvedValue([project("OrgA", "App1", "id-1")]);
67
74
  const result = await (0, select_project_1.selectAndStoreProject)({
68
75
  client: fakeClient,
69
76
  });
70
77
  (0, vitest_1.expect)(result).toBe("OrgA/App1");
71
- (0, vitest_1.expect)(mocks.setStoredProject).toHaveBeenCalledWith({
72
- project: "OrgA/App1",
73
- projectId: "id-1",
74
- });
78
+ (0, vitest_1.expect)(mocks.setOAuthDefaultProject).toHaveBeenCalledWith(fakeClient, "id-1");
75
79
  });
76
80
  (0, vitest_1.it)("throws when no projects are accessible", async () => {
77
81
  mocks.getOAuthProjects.mockResolvedValue([]);
@@ -89,35 +93,122 @@ const fakeClient = {};
89
93
  (0, vitest_1.expect)(caught).toBeInstanceOf(cli_user_error_1.CliUserError);
90
94
  (0, vitest_1.expect)(caught.severity).toBe("warn");
91
95
  (0, vitest_1.expect)(caught.exitCode).toBe(1);
92
- (0, vitest_1.expect)(mocks.setStoredProject).not.toHaveBeenCalled();
96
+ (0, vitest_1.expect)(mocks.setOAuthDefaultProject).not.toHaveBeenCalled();
97
+ });
98
+ });
99
+ (0, vitest_1.describe)("selectProjectOnLogin", () => {
100
+ (0, vitest_1.beforeEach)(() => {
101
+ vitest_1.vi.clearAllMocks();
102
+ });
103
+ (0, vitest_1.it)("persists an explicit --project (resolved by the backend)", async () => {
104
+ mocks.setOAuthDefaultProject.mockResolvedValue(resolved("OrgB", "App2", "id-2"));
105
+ await (0, select_project_1.selectProjectOnLogin)({
106
+ client: fakeClient,
107
+ project: "OrgB/App2",
108
+ interactive: true,
109
+ });
110
+ (0, vitest_1.expect)(mocks.setOAuthDefaultProject).toHaveBeenCalledWith(fakeClient, "OrgB/App2");
111
+ });
112
+ (0, vitest_1.it)("auto-selects and persists the sole project (no stored-default lookup needed)", async () => {
113
+ mocks.getOAuthProjects.mockResolvedValue([project("OrgA", "App1", "id-1")]);
114
+ await (0, select_project_1.selectProjectOnLogin)({ client: fakeClient, interactive: true });
115
+ (0, vitest_1.expect)(mocks.setOAuthDefaultProject).toHaveBeenCalledWith(fakeClient, "id-1");
116
+ // Only >1-project accounts consult the stored default (to respect it);
117
+ // a sole project is selected directly.
118
+ (0, vitest_1.expect)(mocks.getOAuthDefaultProject).not.toHaveBeenCalled();
93
119
  });
94
- (0, vitest_1.it)("keeps the fallback project when it is still accessible and prompting is disabled", async () => {
120
+ (0, vitest_1.it)("respects an existing stored default (multi-project) without re-persisting", async () => {
95
121
  mocks.getOAuthProjects.mockResolvedValue([
96
122
  project("OrgA", "App1", "id-1"),
97
123
  project("OrgB", "App2", "id-2"),
98
124
  ]);
99
- const result = await (0, select_project_1.selectAndStoreProject)({
100
- client: fakeClient,
101
- allowInteractivePrompt: false,
102
- fallbackToProject: "OrgB/App2",
103
- });
104
- (0, vitest_1.expect)(result).toBe("OrgB/App2");
105
- (0, vitest_1.expect)(mocks.setStoredProject).toHaveBeenCalledWith({
106
- project: "OrgB/App2",
125
+ mocks.getOAuthDefaultProject.mockResolvedValue({
107
126
  projectId: "id-2",
127
+ name: "App2",
128
+ organization: { id: "OrgB-id", name: "OrgB" },
108
129
  });
130
+ await (0, select_project_1.selectProjectOnLogin)({ client: fakeClient, interactive: false });
131
+ (0, vitest_1.expect)(mocks.setOAuthDefaultProject).not.toHaveBeenCalled();
109
132
  });
110
- (0, vitest_1.it)("throws when the fallback project is no longer accessible", async () => {
133
+ (0, vitest_1.it)("succeeds non-interactively when a default already exists, even with multiple projects", async () => {
111
134
  mocks.getOAuthProjects.mockResolvedValue([
112
135
  project("OrgA", "App1", "id-1"),
113
136
  project("OrgB", "App2", "id-2"),
114
137
  ]);
115
- await (0, vitest_1.expect)((0, select_project_1.selectAndStoreProject)({
138
+ mocks.getOAuthDefaultProject.mockResolvedValue({
139
+ projectId: "id-1",
140
+ name: "App1",
141
+ organization: { id: "OrgA-id", name: "OrgA" },
142
+ });
143
+ await (0, vitest_1.expect)((0, select_project_1.selectProjectOnLogin)({ client: fakeClient, interactive: false })).resolves.toBeUndefined();
144
+ });
145
+ (0, vitest_1.it)("throws headlessly when several projects exist and no default is set", async () => {
146
+ mocks.getOAuthProjects.mockResolvedValue([
147
+ project("OrgA", "App1", "id-1"),
148
+ project("OrgB", "App2", "id-2"),
149
+ ]);
150
+ mocks.getOAuthDefaultProject.mockResolvedValue({ projectId: null });
151
+ const caught = await (0, select_project_1.selectProjectOnLogin)({
116
152
  client: fakeClient,
117
- allowInteractivePrompt: false,
118
- fallbackToProject: "OrgC/Gone",
119
- })).rejects.toBeInstanceOf(cli_user_error_1.CliUserError);
120
- (0, vitest_1.expect)(mocks.setStoredProject).not.toHaveBeenCalled();
153
+ interactive: false,
154
+ }).catch((error) => error);
155
+ (0, vitest_1.expect)(caught).toBeInstanceOf(cli_user_error_1.CliUserError);
156
+ (0, vitest_1.expect)(mocks.setOAuthDefaultProject).not.toHaveBeenCalled();
157
+ });
158
+ (0, vitest_1.it)("prompts and persists when interactive with several projects and no default", async () => {
159
+ mocks.getOAuthProjects.mockResolvedValue([
160
+ project("OrgA", "App1", "id-1"),
161
+ project("OrgB", "App2", "id-2"),
162
+ ]);
163
+ mocks.getOAuthDefaultProject.mockResolvedValue({ projectId: null });
164
+ mocks.prompt.mockResolvedValue({ projectId: "id-2" });
165
+ await (0, select_project_1.selectProjectOnLogin)({ client: fakeClient, interactive: true });
166
+ (0, vitest_1.expect)(mocks.setOAuthDefaultProject).toHaveBeenCalledWith(fakeClient, "id-2");
167
+ });
168
+ });
169
+ (0, vitest_1.describe)("formatProjectSlug", () => {
170
+ (0, vitest_1.it)("formats organization/name when both are present", () => {
171
+ (0, vitest_1.expect)((0, select_project_1.formatProjectSlug)({
172
+ projectId: "id-1",
173
+ name: "App1",
174
+ organization: { id: "org-1", name: "OrgA" },
175
+ })).toBe("OrgA/App1");
176
+ });
177
+ (0, vitest_1.it)("falls back to the bare id when name/organization are absent", () => {
178
+ (0, vitest_1.expect)((0, select_project_1.formatProjectSlug)({ projectId: "id-1" })).toBe("id-1");
179
+ });
180
+ (0, vitest_1.it)("falls back to an empty string when nothing is set", () => {
181
+ (0, vitest_1.expect)((0, select_project_1.formatProjectSlug)({ projectId: null })).toBe("");
182
+ });
183
+ });
184
+ (0, vitest_1.describe)("fetchAccessibleProjects", () => {
185
+ (0, vitest_1.beforeEach)(() => {
186
+ vitest_1.vi.clearAllMocks();
187
+ });
188
+ (0, vitest_1.it)("returns projects sorted alphabetically by organization/project slug (case-insensitive)", async () => {
189
+ mocks.getOAuthProjects.mockResolvedValue([
190
+ project("orgB", "App1", "id-b1"),
191
+ project("OrgA", "Zeta", "id-az"),
192
+ project("OrgA", "alpha", "id-aa"),
193
+ project("orgB", "app2", "id-b2"),
194
+ ]);
195
+ const result = await (0, select_project_1.fetchAccessibleProjects)(fakeClient);
196
+ (0, vitest_1.expect)(result.map((p) => `${p.organization.name}/${p.name}`)).toEqual([
197
+ "OrgA/alpha",
198
+ "OrgA/Zeta",
199
+ "orgB/App1",
200
+ "orgB/app2",
201
+ ]);
202
+ });
203
+ (0, vitest_1.it)("does not mutate the array returned by the client", async () => {
204
+ const original = [
205
+ project("orgB", "App1", "id-b1"),
206
+ project("OrgA", "alpha", "id-aa"),
207
+ ];
208
+ mocks.getOAuthProjects.mockResolvedValue(original);
209
+ await (0, select_project_1.fetchAccessibleProjects)(fakeClient);
210
+ (0, vitest_1.expect)(original.map((p) => p.id)).toEqual(["id-b1", "id-aa"]);
121
211
  });
122
212
  });
123
- //# sourceMappingURL=select-project.spec.js.map
213
+ //# sourceMappingURL=select-project.spec.js.map
214
+ //# debugId=70c20c11-cb70-5b2b-bc55-56149e6c15a3
@@ -1 +1 @@
1
- {"version":3,"file":"select-project.spec.js","sourceRoot":"","sources":["../../../src/utils/__tests__/select-project.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-project.spec.js","sources":["../../../src/utils/__tests__/select-project.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"70c20c11-cb70-5b2b-bc55-56149e6c15a3"}
@@ -1,4 +1,6 @@
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]="e721f599-90d6-5a66-8b3a-0c8e243f28ee")}catch(e){}}();
3
+
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
5
  exports.CliUserError = void 0;
4
6
  class CliUserError extends Error {
@@ -12,4 +14,5 @@ class CliUserError extends Error {
12
14
  }
13
15
  }
14
16
  exports.CliUserError = CliUserError;
15
- //# sourceMappingURL=cli-user-error.js.map
17
+ //# sourceMappingURL=cli-user-error.js.map
18
+ //# debugId=e721f599-90d6-5a66-8b3a-0c8e243f28ee
@@ -1 +1 @@
1
- {"version":3,"file":"cli-user-error.js","sourceRoot":"","sources":["../../src/utils/cli-user-error.ts"],"names":[],"mappings":";;;AAaA,MAAa,YAAa,SAAQ,KAAK;IAC5B,QAAQ,CAAS;IACjB,QAAQ,CAAuB;IAExC,YACE,OAAe,EACf,QAAQ,GAAG,CAAC,EACZ,WAAiC,OAAO;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAdD,oCAcC"}
1
+ {"version":3,"file":"cli-user-error.js","sources":["../../src/utils/cli-user-error.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAaA,MAAa,YAAa,SAAQ,KAAK;IAC5B,QAAQ,CAAS;IACjB,QAAQ,CAAuB;IAExC,YACE,OAAe,EACf,QAAQ,GAAG,CAAC,EACZ,WAAiC,OAAO;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAdD,oCAcC","debugId":"e721f599-90d6-5a66-8b3a-0c8e243f28ee"}
@@ -1,7 +1,10 @@
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]="9608f336-62b9-5c89-a5c8-126bdea85d19")}catch(e){}}();
3
+
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
5
  exports.BACKEND_RECORDING_SNIPPET_PATH = exports.WORKER_RECORDING_SNIPPET_PATH = exports.RECORDING_SNIPPET_PATH = void 0;
4
6
  exports.RECORDING_SNIPPET_PATH = "v1/meticulous.js";
5
7
  exports.WORKER_RECORDING_SNIPPET_PATH = "record/v1/worker-network-recorder.bundle.js";
6
8
  exports.BACKEND_RECORDING_SNIPPET_PATH = "backend-record-js/v1/manual-init.bundle.js";
7
- //# sourceMappingURL=constants.js.map
9
+ //# sourceMappingURL=constants.js.map
10
+ //# debugId=9608f336-62b9-5c89-a5c8-126bdea85d19
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,kBAAkB,CAAC;AAC5C,QAAA,6BAA6B,GACxC,6CAA6C,CAAC;AACnC,QAAA,8BAA8B,GACzC,4CAA4C,CAAC"}
1
+ {"version":3,"file":"constants.js","sources":["../../src/utils/constants.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAa,QAAA,sBAAsB,GAAG,kBAAkB,CAAC;AAC5C,QAAA,6BAA6B,GACxC,6CAA6C,CAAC;AACnC,QAAA,8BAA8B,GACzC,4CAA4C,CAAC","debugId":"9608f336-62b9-5c89-a5c8-126bdea85d19"}
@@ -1,4 +1,6 @@
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]="6f06c51f-e9a0-562e-be65-aaf80b95c859")}catch(e){}}();
3
+
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
5
  exports.getEnvironment = void 0;
4
6
  const ci_info_1 = require("ci-info");
@@ -14,4 +16,5 @@ const getEnvironment = () => {
14
16
  };
15
17
  };
16
18
  exports.getEnvironment = getEnvironment;
17
- //# sourceMappingURL=environment.utils.js.map
19
+ //# sourceMappingURL=environment.utils.js.map
20
+ //# debugId=6f06c51f-e9a0-562e-be65-aaf80b95c859
@@ -1 +1 @@
1
- {"version":3,"file":"environment.utils.js","sourceRoot":"","sources":["../../src/utils/environment.utils.ts"],"names":[],"mappings":";;;AAAA,qCAA+C;AAaxC,MAAM,cAAc,GAAG,GAAgB,EAAE;IAC9C,IAAI,CAAC,cAAI,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI;QACV,EAAE,EAAE;YACF,IAAI,EAAE,cAAM;SACb;KACF,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,cAAc,kBAWzB"}
1
+ {"version":3,"file":"environment.utils.js","sources":["../../src/utils/environment.utils.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qCAA+C;AAaxC,MAAM,cAAc,GAAG,GAAgB,EAAE;IAC9C,IAAI,CAAC,cAAI,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI;QACV,EAAE,EAAE;YACF,IAAI,EAAE,cAAM;SACb;KACF,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,cAAc,kBAWzB","debugId":"6f06c51f-e9a0-562e-be65-aaf80b95c859"}
@@ -1,4 +1,6 @@
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]="113db5c7-d290-522f-ae19-a67ddabc8608")}catch(e){}}();
3
+
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
5
  exports.formatCoverageRanges = void 0;
4
6
  /**
@@ -10,4 +12,5 @@ const formatCoverageRanges = (ranges) => ranges
10
12
  .map(([start, end]) => (start === end ? `${start}` : `${start}-${end}`))
11
13
  .join(";");
12
14
  exports.formatCoverageRanges = formatCoverageRanges;
13
- //# sourceMappingURL=format-coverage-ranges.js.map
15
+ //# sourceMappingURL=format-coverage-ranges.js.map
16
+ //# debugId=113db5c7-d290-522f-ae19-a67ddabc8608
@@ -1 +1 @@
1
- {"version":3,"file":"format-coverage-ranges.js","sourceRoot":"","sources":["../../src/utils/format-coverage-ranges.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAC,MAAsB,EAAU,EAAE,CACrE,MAAM;KACH,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;KACvE,IAAI,CAAC,GAAG,CAAC,CAAC;AAHF,QAAA,oBAAoB,wBAGlB"}
1
+ {"version":3,"file":"format-coverage-ranges.js","sources":["../../src/utils/format-coverage-ranges.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAEA;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAC,MAAsB,EAAU,EAAE,CACrE,MAAM;KACH,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;KACvE,IAAI,CAAC,GAAG,CAAC,CAAC;AAHF,QAAA,oBAAoB,wBAGlB","debugId":"113db5c7-d290-522f-ae19-a67ddabc8608"}
@@ -15,4 +15,5 @@
15
15
  * try { ... } catch (error) { handleAuthFailure(error); throw error; }
16
16
  */
17
17
  export declare const handleAuthFailure: (error: unknown) => false;
18
+ export declare const extractServerMessage: (data: unknown) => string | null;
18
19
  //# sourceMappingURL=handle-auth-failure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle-auth-failure.d.ts","sourceRoot":"","sources":["../../src/utils/handle-auth-failure.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,UAAW,OAAO,KAAG,KA0BlD,CAAC"}
1
+ {"version":3,"file":"handle-auth-failure.d.ts","sourceRoot":"","sources":["../../src/utils/handle-auth-failure.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,UAAW,OAAO,KAAG,KA0BlD,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,OAAO,KAAG,MAAM,GAAG,IAc7D,CAAC"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="af5c9326-089d-5aeb-a695-cc7891267cdd")}catch(e){}}();
3
+
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleAuthFailure = void 0;
5
+ exports.extractServerMessage = exports.handleAuthFailure = void 0;
4
6
  const client_1 = require("@alwaysmeticulous/client");
5
7
  const cli_user_error_1 = require("./cli-user-error");
6
8
  /**
@@ -34,7 +36,7 @@ const handleAuthFailure = (error) => {
34
36
  throw new cli_user_error_1.CliUserError("Your stored OAuth token has expired and could not be refreshed. " +
35
37
  "Re-run the command to start a fresh login.");
36
38
  }
37
- const serverMessage = extractServerMessage(error.response?.data);
39
+ const serverMessage = (0, exports.extractServerMessage)(error.response?.data);
38
40
  const detail = serverMessage ? `: ${serverMessage}` : ".";
39
41
  throw new cli_user_error_1.CliUserError(`Authentication failed (HTTP ${status})${detail}\n` +
40
42
  "If the token is stale, run `meticulous auth logout` and re-run the command.");
@@ -55,4 +57,6 @@ const extractServerMessage = (data) => {
55
57
  }
56
58
  return null;
57
59
  };
58
- //# sourceMappingURL=handle-auth-failure.js.map
60
+ exports.extractServerMessage = extractServerMessage;
61
+ //# sourceMappingURL=handle-auth-failure.js.map
62
+ //# debugId=af5c9326-089d-5aeb-a695-cc7891267cdd
@@ -1 +1 @@
1
- {"version":3,"file":"handle-auth-failure.js","sourceRoot":"","sources":["../../src/utils/handle-auth-failure.ts"],"names":[],"mappings":";;;AAAA,qDAKkC;AAClC,qDAAgD;AAEhD;;;;;;;;;;;;;;;GAeG;AACI,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAS,EAAE;IACzD,IAAI,CAAC,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;IACtC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,6BAAoB,GAAE,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAElE,IAAI,OAAO,EAAE,CAAC;QACZ,IAAA,yBAAgB,GAAE,CAAC;QACnB,MAAM,IAAI,6BAAY,CACpB,kEAAkE;YAChE,4CAA4C,CAC/C,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1D,MAAM,IAAI,6BAAY,CACpB,+BAA+B,MAAM,IAAI,MAAM,IAAI;QACjD,6EAA6E,CAChF,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,iBAAiB,qBA0B5B;AAEF,MAAM,oBAAoB,GAAG,CAAC,IAAa,EAAiB,EAAE;IAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAI,IAA8B,CAAC,OAAO,CAAC;QACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
1
+ {"version":3,"file":"handle-auth-failure.js","sources":["../../src/utils/handle-auth-failure.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAKkC;AAClC,qDAAgD;AAEhD;;;;;;;;;;;;;;;GAeG;AACI,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAS,EAAE;IACzD,IAAI,CAAC,IAAA,qBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;IACtC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,6BAAoB,GAAE,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAElE,IAAI,OAAO,EAAE,CAAC;QACZ,IAAA,yBAAgB,GAAE,CAAC;QACnB,MAAM,IAAI,6BAAY,CACpB,kEAAkE;YAChE,4CAA4C,CAC/C,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,4BAAoB,EAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1D,MAAM,IAAI,6BAAY,CACpB,+BAA+B,MAAM,IAAI,MAAM,IAAI;QACjD,6EAA6E,CAChF,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,iBAAiB,qBA0B5B;AAEK,MAAM,oBAAoB,GAAG,CAAC,IAAa,EAAiB,EAAE;IACnE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAI,IAA8B,CAAC,OAAO,CAAC;QACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B","debugId":"af5c9326-089d-5aeb-a695-cc7891267cdd"}
@@ -1,4 +1,6 @@
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]="0aca0fb3-0d1b-5eb2-9571-239dbe63bea6")}catch(e){}}();
3
+
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
5
  exports.OutOfDateCLIError = exports.isOutOfDateClientError = void 0;
4
6
  const isOutOfDateClientError = (error) => {
@@ -12,4 +14,5 @@ class OutOfDateCLIError extends Error {
12
14
  }
13
15
  }
14
16
  exports.OutOfDateCLIError = OutOfDateCLIError;
15
- //# sourceMappingURL=out-of-date-client-error.js.map
17
+ //# sourceMappingURL=out-of-date-client-error.js.map
18
+ //# debugId=0aca0fb3-0d1b-5eb2-9571-239dbe63bea6
@@ -1 +1 @@
1
- {"version":3,"file":"out-of-date-client-error.js","sourceRoot":"","sources":["../../src/utils/out-of-date-client-error.ts"],"names":[],"mappings":";;;AAEO,MAAM,sBAAsB,GAAG,CACpC,KAAc,EACiB,EAAE;IACjC,OAAQ,KAAe,CAAC,IAAI,KAAK,iBAAiB,CAAC;AACrD,CAAC,CAAC;AAJW,QAAA,sBAAsB,0BAIjC;AAEF,MAAa,iBAAkB,SAAQ,KAAK;IAC1C;QACE,KAAK,CACH,2IAA2I,CAC5I,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAPD,8CAOC"}
1
+ {"version":3,"file":"out-of-date-client-error.js","sources":["../../src/utils/out-of-date-client-error.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAEO,MAAM,sBAAsB,GAAG,CACpC,KAAc,EACiB,EAAE;IACjC,OAAQ,KAAe,CAAC,IAAI,KAAK,iBAAiB,CAAC;AACrD,CAAC,CAAC;AAJW,QAAA,sBAAsB,0BAIjC;AAEF,MAAa,iBAAkB,SAAQ,KAAK;IAC1C;QACE,KAAK,CACH,2IAA2I,CAC5I,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAPD,8CAOC","debugId":"0aca0fb3-0d1b-5eb2-9571-239dbe63bea6"}
@@ -3,22 +3,24 @@
3
3
  * resolved API token.
4
4
  *
5
5
  * - OAuth tokens are user-scoped (not project-scoped), so they require a
6
- * stored project id (set via `meticulous auth set-project`).
6
+ * default project set via `meticulous auth set-project` or the web app's
7
+ * user settings, resolved from the backend (not a local file: it needs to
8
+ * be consistent across machines and visible to the hosted MCP server).
7
9
  * - Project-scoped API tokens already pin the project, so no extra
8
10
  * identifier is needed.
9
11
  *
10
- * Throws `CliUserError` when an OAuth caller has no project selected. The
12
+ * Throws `CliUserError` when an OAuth caller has no default project. The
11
13
  * top-level `wrapHandler` catches it and exits non-zero with the message.
12
14
  */
13
- export declare const resolveProjectIdentifier: (apiToken: string) => {
15
+ export declare const resolveProjectIdentifier: (apiToken: string) => Promise<{
14
16
  projectId?: string;
15
- };
17
+ }>;
16
18
  /**
17
- * Best-effort lookup of the stored projectId for OAuth callers. Returns
18
- * `undefined` for project-scoped API tokens (the token already pins the
19
- * project) and for OAuth tokens with no stored project. Use this for calls
20
- * where the project context is useful but not strictly required — e.g. agent
21
- * telemetry and a missing project should not abort the command.
19
+ * Resolves the single project a project-scoped API token is bound to, via the
20
+ * `token-info` endpoint, as an `"organization/name"` slug. Best-effort: any
21
+ * failure (network, older backend without the endpoint, etc.) resolves to
22
+ * `null` rather than throwing used for informational display (`whoami`,
23
+ * `get-project`), where a missing project name shouldn't fail the command.
22
24
  */
23
- export declare const getProjectIdForOAuthCaller: (apiToken: string) => string | undefined;
25
+ export declare const resolvePinnedProjectSlug: (apiToken: string) => Promise<string | null>;
24
26
  //# sourceMappingURL=resolve-project-identifier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-project-identifier.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-project-identifier.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,aACzB,MAAM,KACf;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAatB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,aAC3B,MAAM,KACf,MAAM,GAAG,SAKX,CAAC"}
1
+ {"version":3,"file":"resolve-project-identifier.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-project-identifier.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,aACzB,MAAM,KACf,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBhC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,aACzB,MAAM,KACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAQvB,CAAC"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="0129f18e-5e5d-5b0a-89b3-e66803d56a18")}catch(e){}}();
3
+
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getProjectIdForOAuthCaller = exports.resolveProjectIdentifier = void 0;
5
+ exports.resolvePinnedProjectSlug = exports.resolveProjectIdentifier = void 0;
6
+ const common_1 = require("@alwaysmeticulous/common");
4
7
  const client_1 = require("@alwaysmeticulous/client");
5
8
  const cli_user_error_1 = require("./cli-user-error");
6
9
  /**
@@ -8,37 +11,48 @@ const cli_user_error_1 = require("./cli-user-error");
8
11
  * resolved API token.
9
12
  *
10
13
  * - OAuth tokens are user-scoped (not project-scoped), so they require a
11
- * stored project id (set via `meticulous auth set-project`).
14
+ * default project set via `meticulous auth set-project` or the web app's
15
+ * user settings, resolved from the backend (not a local file: it needs to
16
+ * be consistent across machines and visible to the hosted MCP server).
12
17
  * - Project-scoped API tokens already pin the project, so no extra
13
18
  * identifier is needed.
14
19
  *
15
- * Throws `CliUserError` when an OAuth caller has no project selected. The
20
+ * Throws `CliUserError` when an OAuth caller has no default project. The
16
21
  * top-level `wrapHandler` catches it and exits non-zero with the message.
17
22
  */
18
- const resolveProjectIdentifier = (apiToken) => {
23
+ const resolveProjectIdentifier = async (apiToken) => {
19
24
  if (!(0, client_1.isOAuthJwt)(apiToken)) {
20
25
  return {};
21
26
  }
22
- const projectId = (0, client_1.getStoredProjectId)();
27
+ const logger = (0, common_1.initLogger)();
28
+ // The legacy `selected-project.json` migration runs in the shared OAuth
29
+ // token-init path (`resolveApiTokenWithOAuth`), so by the time we resolve the
30
+ // default here it has already been migrated if it was present.
31
+ const projectId = await (0, client_1.resolveDefaultProjectId)(apiToken, logger);
23
32
  if (!projectId) {
24
- throw new cli_user_error_1.CliUserError("No project selected. Run `meticulous auth set-project` to choose " +
33
+ throw new cli_user_error_1.CliUserError("No default project set. Run `meticulous auth set-project` to choose " +
25
34
  "one before running OAuth-authenticated commands.");
26
35
  }
27
36
  return { projectId };
28
37
  };
29
38
  exports.resolveProjectIdentifier = resolveProjectIdentifier;
30
39
  /**
31
- * Best-effort lookup of the stored projectId for OAuth callers. Returns
32
- * `undefined` for project-scoped API tokens (the token already pins the
33
- * project) and for OAuth tokens with no stored project. Use this for calls
34
- * where the project context is useful but not strictly required — e.g. agent
35
- * telemetry and a missing project should not abort the command.
40
+ * Resolves the single project a project-scoped API token is bound to, via the
41
+ * `token-info` endpoint, as an `"organization/name"` slug. Best-effort: any
42
+ * failure (network, older backend without the endpoint, etc.) resolves to
43
+ * `null` rather than throwing used for informational display (`whoami`,
44
+ * `get-project`), where a missing project name shouldn't fail the command.
36
45
  */
37
- const getProjectIdForOAuthCaller = (apiToken) => {
38
- if (!(0, client_1.isOAuthJwt)(apiToken)) {
39
- return undefined;
46
+ const resolvePinnedProjectSlug = async (apiToken) => {
47
+ try {
48
+ const client = (0, client_1.createClient)({ apiToken });
49
+ const project = await (0, client_1.getProject)(client);
50
+ return project ? `${project.organization.name}/${project.name}` : null;
51
+ }
52
+ catch {
53
+ return null;
40
54
  }
41
- return (0, client_1.getStoredProjectId)() ?? undefined;
42
55
  };
43
- exports.getProjectIdForOAuthCaller = getProjectIdForOAuthCaller;
44
- //# sourceMappingURL=resolve-project-identifier.js.map
56
+ exports.resolvePinnedProjectSlug = resolvePinnedProjectSlug;
57
+ //# sourceMappingURL=resolve-project-identifier.js.map
58
+ //# debugId=0129f18e-5e5d-5b0a-89b3-e66803d56a18
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-project-identifier.js","sourceRoot":"","sources":["../../src/utils/resolve-project-identifier.ts"],"names":[],"mappings":";;;AAAA,qDAA0E;AAC1E,qDAAgD;AAEhD;;;;;;;;;;;GAWG;AACI,MAAM,wBAAwB,GAAG,CACtC,QAAgB,EACQ,EAAE;IAC1B,IAAI,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,2BAAkB,GAAE,CAAC;IACvC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,6BAAY,CACpB,mEAAmE;YACjE,kDAAkD,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC,CAAC;AAfW,QAAA,wBAAwB,4BAenC;AAEF;;;;;;GAMG;AACI,MAAM,0BAA0B,GAAG,CACxC,QAAgB,EACI,EAAE;IACtB,IAAI,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAA,2BAAkB,GAAE,IAAI,SAAS,CAAC;AAC3C,CAAC,CAAC;AAPW,QAAA,0BAA0B,8BAOrC"}
1
+ {"version":3,"file":"resolve-project-identifier.js","sources":["../../src/utils/resolve-project-identifier.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAAsD;AACtD,qDAKkC;AAClC,qDAAgD;AAEhD;;;;;;;;;;;;;GAaG;AACI,MAAM,wBAAwB,GAAG,KAAK,EAC3C,QAAgB,EACiB,EAAE;IACnC,IAAI,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC5B,wEAAwE;IACxE,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,SAAS,GAAG,MAAM,IAAA,gCAAuB,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,6BAAY,CACpB,sEAAsE;YACpE,kDAAkD,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC,CAAC;AAnBW,QAAA,wBAAwB,4BAmBnC;AAEF;;;;;;GAMG;AACI,MAAM,wBAAwB,GAAG,KAAK,EAC3C,QAAgB,EACQ,EAAE;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,wBAAwB,4BAUnC","debugId":"0129f18e-5e5d-5b0a-89b3-e66803d56a18"}
@@ -42,16 +42,20 @@ export declare const assertTestRunComplete: (testRunId: string, status: TestRunS
42
42
  * explicit `commitSha`, or the local checkout's HEAD when omitted), throwing a
43
43
  * `CliUserError` when the commit can't be determined or no run matches it.
44
44
  *
45
+ * `project` is a one-off override (resolved flexibly server-side); when
46
+ * omitted, project-scoped tokens use their own project and OAuth tokens fall
47
+ * back to the caller's stored default (`meticulous auth set-project`).
48
+ *
45
49
  * Logs the resolved commit (see {@link logResolvedCommitSha}) and the test run
46
50
  * id (under `--verbose`).
47
51
  */
48
- export declare const resolveTestRunForCommitOrThrow: (client: MeticulousClient, apiToken: string, commitSha: string | undefined) => Promise<ResolvedTestRun>;
52
+ export declare const resolveTestRunForCommitOrThrow: (client: MeticulousClient, commitSha: string | undefined, project?: string) => Promise<ResolvedTestRun>;
49
53
  /**
50
54
  * Best-effort variant for auto-retry paths: returns `null` (rather than
51
55
  * throwing) when the commit can't be determined, no project is selected, or no
52
56
  * run matches, so the caller can fall back to its original behaviour.
53
57
  */
54
- export declare const tryResolveTestRunForCommit: (client: MeticulousClient, apiToken: string, commitSha: string | undefined) => Promise<ResolvedTestRun | null>;
58
+ export declare const tryResolveTestRunForCommit: (client: MeticulousClient, commitSha: string | undefined, project?: string) => Promise<ResolvedTestRun | null>;
55
59
  /**
56
60
  * Polls a (possibly in-progress) test run until it reaches a terminal status,
57
61
  * logging a single "Waiting for test run X to complete..." line when it starts
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-test-run-from-commit.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-test-run-from-commit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAqBjE;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,cACpB,MAAM,GAAG,SAAS,eAChB,MAAM,KAClB,OAAO,CAAC,IAAI,CAQd,CAAC;AAUF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,WAAY,aAAa,KAAG,OACd,CAAC;AAS/C,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,WAAY,aAAa,KAAG,OACf,CAAC;AAK5C,2EAA2E;AAC3E,eAAO,MAAM,eAAe,WAAY,aAAa,KAAG,OACf,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,WAAY,aAAa,KAAG,OACnC,CAAC;AAEvB;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,cACrB,MAAM,UACT,aAAa,mBACO;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,KAClD,IAgBF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,WACjC,gBAAgB,YACd,MAAM,aACL,MAAM,GAAG,SAAS,KAC5B,OAAO,CAAC,eAAe,CAkBzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,WAC7B,gBAAgB,YACd,MAAM,aACL,MAAM,GAAG,SAAS,KAC5B,OAAO,CAAC,eAAe,GAAG,IAAI,CAoBhC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,WACzB,gBAAgB,aACb,MAAM,uBACU;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,KACtD,OAAO,CAAC,aAAa,CAsBvB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,WACxB,gBAAgB,aACb,MAAM,UACT,aAAa,iCAIlB;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,KACjD,OAAO,CAAC,aAAa,GAAG,IAAI,CAM9B,CAAC"}
1
+ {"version":3,"file":"resolve-test-run-from-commit.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-test-run-from-commit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAoBjE;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,cACpB,MAAM,GAAG,SAAS,eAChB,MAAM,KAClB,OAAO,CAAC,IAAI,CAQd,CAAC;AAUF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,WAAY,aAAa,KAAG,OACd,CAAC;AAS/C,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,WAAY,aAAa,KAAG,OACf,CAAC;AAK5C,2EAA2E;AAC3E,eAAO,MAAM,eAAe,WAAY,aAAa,KAAG,OACf,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,WAAY,aAAa,KAAG,OACnC,CAAC;AAEvB;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,cACrB,MAAM,UACT,aAAa,mBACO;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,KAClD,IAgBF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,8BAA8B,WACjC,gBAAgB,aACb,MAAM,GAAG,SAAS,YACnB,MAAM,KACf,OAAO,CAAC,eAAe,CAiBzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,WAC7B,gBAAgB,aACb,MAAM,GAAG,SAAS,YACnB,MAAM,KACf,OAAO,CAAC,eAAe,GAAG,IAAI,CAmBhC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,WACzB,gBAAgB,aACb,MAAM,uBACU;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,KACtD,OAAO,CAAC,aAAa,CAsBvB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,WACxB,gBAAgB,aACb,MAAM,UACT,aAAa,iCAIlB;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,KACjD,OAAO,CAAC,aAAa,GAAG,IAAI,CAM9B,CAAC"}