@alwaysmeticulous/cli 2.322.0 → 2.324.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/commands/agent/agent-review-writes.command.spec.d.ts +2 -0
  2. package/dist/commands/agent/agent-review-writes.command.spec.d.ts.map +1 -0
  3. package/dist/commands/agent/agent-review-writes.command.spec.js +96 -0
  4. package/dist/commands/agent/agent-review-writes.command.spec.js.map +1 -0
  5. package/dist/commands/agent/create-diff-comment.command.d.ts +13 -0
  6. package/dist/commands/agent/create-diff-comment.command.d.ts.map +1 -0
  7. package/dist/commands/agent/create-diff-comment.command.js +57 -0
  8. package/dist/commands/agent/create-diff-comment.command.js.map +1 -0
  9. package/dist/commands/agent/diff-comment-write.utils.d.ts +13 -0
  10. package/dist/commands/agent/diff-comment-write.utils.d.ts.map +1 -0
  11. package/dist/commands/agent/diff-comment-write.utils.js +19 -0
  12. package/dist/commands/agent/diff-comment-write.utils.js.map +1 -0
  13. package/dist/commands/agent/diff-comments.command.d.ts.map +1 -1
  14. package/dist/commands/agent/diff-comments.command.js +15 -4
  15. package/dist/commands/agent/diff-comments.command.js.map +1 -1
  16. package/dist/commands/agent/diff-comments.command.spec.js +29 -4
  17. package/dist/commands/agent/diff-comments.command.spec.js.map +1 -1
  18. package/dist/commands/agent/ignore-diff.command.d.ts +13 -0
  19. package/dist/commands/agent/ignore-diff.command.d.ts.map +1 -0
  20. package/dist/commands/agent/ignore-diff.command.js +54 -0
  21. package/dist/commands/agent/ignore-diff.command.js.map +1 -0
  22. package/dist/commands/agent/index.d.ts.map +1 -1
  23. package/dist/commands/agent/index.js +16 -6
  24. package/dist/commands/agent/index.js.map +1 -1
  25. package/dist/commands/agent/js-coverage.command.d.ts +2 -2
  26. package/dist/commands/agent/js-coverage.command.d.ts.map +1 -1
  27. package/dist/commands/agent/js-coverage.command.js +6 -5
  28. package/dist/commands/agent/js-coverage.command.js.map +1 -1
  29. package/dist/commands/agent/js-coverage.command.spec.js +7 -6
  30. package/dist/commands/agent/js-coverage.command.spec.js.map +1 -1
  31. package/dist/commands/agent/reject-diff.command.d.ts +13 -0
  32. package/dist/commands/agent/reject-diff.command.d.ts.map +1 -0
  33. package/dist/commands/agent/reject-diff.command.js +54 -0
  34. package/dist/commands/agent/reject-diff.command.js.map +1 -0
  35. package/dist/commands/agent/reject-diff.command.spec.d.ts +2 -0
  36. package/dist/commands/agent/reject-diff.command.spec.d.ts.map +1 -0
  37. package/dist/commands/agent/reject-diff.command.spec.js +61 -0
  38. package/dist/commands/agent/reject-diff.command.spec.js.map +1 -0
  39. package/dist/commands/agent/reply-to-diff-comment.command.d.ts +10 -0
  40. package/dist/commands/agent/reply-to-diff-comment.command.d.ts.map +1 -0
  41. package/dist/commands/agent/reply-to-diff-comment.command.js +47 -0
  42. package/dist/commands/agent/reply-to-diff-comment.command.js.map +1 -0
  43. package/dist/commands/agent/sessions.command.d.ts +3 -0
  44. package/dist/commands/agent/sessions.command.d.ts.map +1 -1
  45. package/dist/commands/agent/sessions.command.js +46 -5
  46. package/dist/commands/agent/sessions.command.js.map +1 -1
  47. package/dist/commands/agent/sessions.command.spec.js +30 -7
  48. package/dist/commands/agent/sessions.command.spec.js.map +1 -1
  49. package/dist/commands/agent/test-run-checks.command.d.ts +15 -0
  50. package/dist/commands/agent/test-run-checks.command.d.ts.map +1 -0
  51. package/dist/commands/agent/test-run-checks.command.js +121 -0
  52. package/dist/commands/agent/test-run-checks.command.js.map +1 -0
  53. package/dist/commands/agent/test-run-checks.command.spec.d.ts +2 -0
  54. package/dist/commands/agent/test-run-checks.command.spec.d.ts.map +1 -0
  55. package/dist/commands/agent/test-run-checks.command.spec.js +132 -0
  56. package/dist/commands/agent/test-run-checks.command.spec.js.map +1 -0
  57. package/dist/commands/agent/test-run-diffs.command.d.ts +1 -0
  58. package/dist/commands/agent/test-run-diffs.command.d.ts.map +1 -1
  59. package/dist/commands/agent/test-run-diffs.command.js +32 -40
  60. package/dist/commands/agent/test-run-diffs.command.js.map +1 -1
  61. package/dist/commands/agent/test-run-diffs.command.spec.js +114 -52
  62. package/dist/commands/agent/test-run-diffs.command.spec.js.map +1 -1
  63. package/dist/commands/agent/test-run-diffs.utils.d.ts +1 -2
  64. package/dist/commands/agent/test-run-diffs.utils.d.ts.map +1 -1
  65. package/dist/commands/agent/test-run-diffs.utils.js +6 -7
  66. package/dist/commands/agent/test-run-diffs.utils.js.map +1 -1
  67. package/dist/commands/agent/test-run-diffs.utils.spec.js +7 -10
  68. package/dist/commands/agent/test-run-diffs.utils.spec.js.map +1 -1
  69. package/dist/commands/agent/test-run-for-commit.command.d.ts.map +1 -1
  70. package/dist/commands/agent/test-run-for-commit.command.js +5 -4
  71. package/dist/commands/agent/test-run-for-commit.command.js.map +1 -1
  72. package/dist/commands/auth/__tests__/get-project.command.spec.js +48 -42
  73. package/dist/commands/auth/__tests__/get-project.command.spec.js.map +1 -1
  74. package/dist/commands/auth/__tests__/list-projects.command.spec.js +11 -10
  75. package/dist/commands/auth/__tests__/list-projects.command.spec.js.map +1 -1
  76. package/dist/commands/auth/__tests__/set-project.command.spec.js +6 -7
  77. package/dist/commands/auth/__tests__/set-project.command.spec.js.map +1 -1
  78. package/dist/commands/auth/__tests__/whoami.command.spec.js +77 -124
  79. package/dist/commands/auth/__tests__/whoami.command.spec.js.map +1 -1
  80. package/dist/commands/auth/get-project.command.d.ts +6 -2
  81. package/dist/commands/auth/get-project.command.d.ts.map +1 -1
  82. package/dist/commands/auth/get-project.command.js +25 -24
  83. package/dist/commands/auth/get-project.command.js.map +1 -1
  84. package/dist/commands/auth/list-projects.command.d.ts.map +1 -1
  85. package/dist/commands/auth/list-projects.command.js +4 -8
  86. package/dist/commands/auth/list-projects.command.js.map +1 -1
  87. package/dist/commands/auth/set-project.command.d.ts +1 -0
  88. package/dist/commands/auth/set-project.command.d.ts.map +1 -1
  89. package/dist/commands/auth/set-project.command.js +22 -9
  90. package/dist/commands/auth/set-project.command.js.map +1 -1
  91. package/dist/commands/auth/whoami.command.d.ts.map +1 -1
  92. package/dist/commands/auth/whoami.command.js +94 -87
  93. package/dist/commands/auth/whoami.command.js.map +1 -1
  94. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.d.ts.map +1 -1
  95. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js +22 -14
  96. package/dist/commands/ci/run-with-uploaded-asset-chunks.command.js.map +1 -1
  97. package/dist/commands/ci/run.command.d.ts.map +1 -1
  98. package/dist/commands/ci/run.command.js +6 -4
  99. package/dist/commands/ci/run.command.js.map +1 -1
  100. package/dist/commands/record/__tests__/backend.command.spec.js +54 -4
  101. package/dist/commands/record/__tests__/backend.command.spec.js.map +1 -1
  102. package/dist/commands/record/backend.command.d.ts.map +1 -1
  103. package/dist/commands/record/backend.command.js +196 -100
  104. package/dist/commands/record/backend.command.js.map +1 -1
  105. package/dist/utils/__tests__/project-selection-hint.spec.d.ts +2 -0
  106. package/dist/utils/__tests__/project-selection-hint.spec.d.ts.map +1 -0
  107. package/dist/utils/__tests__/project-selection-hint.spec.js +73 -0
  108. package/dist/utils/__tests__/project-selection-hint.spec.js.map +1 -0
  109. package/dist/utils/__tests__/resolve-project-identifier.spec.js +2 -27
  110. package/dist/utils/__tests__/resolve-project-identifier.spec.js.map +1 -1
  111. package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js +9 -2
  112. package/dist/utils/__tests__/resolve-test-run-from-commit.spec.js.map +1 -1
  113. package/dist/utils/__tests__/select-project.spec.js +23 -22
  114. package/dist/utils/__tests__/select-project.spec.js.map +1 -1
  115. package/dist/utils/handle-auth-failure.d.ts +27 -0
  116. package/dist/utils/handle-auth-failure.d.ts.map +1 -1
  117. package/dist/utils/handle-auth-failure.js +44 -3
  118. package/dist/utils/handle-auth-failure.js.map +1 -1
  119. package/dist/utils/project-selection-hint.d.ts +16 -0
  120. package/dist/utils/project-selection-hint.d.ts.map +1 -0
  121. package/dist/utils/project-selection-hint.js +82 -0
  122. package/dist/utils/project-selection-hint.js.map +1 -0
  123. package/dist/utils/resolve-project-identifier.d.ts +0 -13
  124. package/dist/utils/resolve-project-identifier.d.ts.map +1 -1
  125. package/dist/utils/resolve-project-identifier.js +3 -26
  126. package/dist/utils/resolve-project-identifier.js.map +1 -1
  127. package/dist/utils/resolve-test-run-from-commit.d.ts.map +1 -1
  128. package/dist/utils/resolve-test-run-from-commit.js +7 -3
  129. package/dist/utils/resolve-test-run-from-commit.js.map +1 -1
  130. package/dist/utils/select-project.d.ts +20 -4
  131. package/dist/utils/select-project.d.ts.map +1 -1
  132. package/dist/utils/select-project.js +39 -13
  133. package/dist/utils/select-project.js.map +1 -1
  134. package/package.json +14 -14
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="18ed7094-f308-527d-bf06-886b217cd0be")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8e435f27-9eb3-5ca0-aeba-03f6af8843ad")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  const vitest_1 = require("vitest");
@@ -16,13 +16,9 @@ const loggerMock = {
16
16
  debug: vitest_1.vi.fn(),
17
17
  };
18
18
  const mocks = vitest_1.vi.hoisted(() => ({
19
- resolveApiTokenWithOAuth: vitest_1.vi.fn(),
20
- isOAuthJwt: vitest_1.vi.fn(),
21
- createClient: vitest_1.vi.fn(),
19
+ getAuthToken: vitest_1.vi.fn(),
22
20
  createClientWithOAuth: vitest_1.vi.fn(),
23
- getWhoami: vitest_1.vi.fn(),
24
- getOAuthDefaultProject: vitest_1.vi.fn(),
25
- getProject: vitest_1.vi.fn(),
21
+ getAgentWhoami: vitest_1.vi.fn(),
26
22
  logNotice: vitest_1.vi.fn(),
27
23
  }));
28
24
  vitest_1.vi.mock("@alwaysmeticulous/common", () => ({
@@ -30,16 +26,13 @@ vitest_1.vi.mock("@alwaysmeticulous/common", () => ({
30
26
  logNotice: mocks.logNotice,
31
27
  }));
32
28
  vitest_1.vi.mock("@alwaysmeticulous/client", () => ({
33
- resolveApiTokenWithOAuth: mocks.resolveApiTokenWithOAuth,
34
- isOAuthJwt: mocks.isOAuthJwt,
35
- createClient: mocks.createClient,
29
+ getAuthToken: mocks.getAuthToken,
36
30
  createClientWithOAuth: mocks.createClientWithOAuth,
37
- getWhoami: mocks.getWhoami,
38
- getOAuthDefaultProject: mocks.getOAuthDefaultProject,
39
- getProject: mocks.getProject,
31
+ getAgentWhoami: mocks.getAgentWhoami,
40
32
  }));
41
33
  vitest_1.vi.mock("../../../utils/handle-auth-failure", () => ({
42
34
  handleAuthFailure: vitest_1.vi.fn().mockReturnValue(false),
35
+ toServerMessageError: (error) => error,
43
36
  }));
44
37
  const runHandler = (args = {}) => whoami_command_1.whoamiCommand.handler({
45
38
  json: false,
@@ -48,23 +41,26 @@ const runHandler = (args = {}) => whoami_command_1.whoamiCommand.handler({
48
41
  let logSpy;
49
42
  const stdoutText = () => logSpy.mock.calls.flat().join("\n");
50
43
  const noticeText = () => mocks.logNotice.mock.calls.flat().join("\n");
51
- const FAKE_WHOAMI = {
44
+ const OAUTH_WHOAMI = {
45
+ authenticatedVia: "oauth",
52
46
  email: "alice@example.com",
53
47
  firstName: "Alice",
54
48
  lastName: "Smith",
55
49
  isAdmin: false,
56
50
  organizations: [],
51
+ selectedProject: null,
52
+ };
53
+ const TOKEN_WHOAMI = {
54
+ authenticatedVia: "project-api-token",
55
+ selectedProject: "Org/App",
57
56
  };
58
57
  (0, vitest_1.describe)("whoami command", () => {
59
58
  const originalEnvToken = process.env["METICULOUS_API_TOKEN"];
60
59
  (0, vitest_1.beforeEach)(() => {
61
60
  vitest_1.vi.clearAllMocks();
62
61
  delete process.env["METICULOUS_API_TOKEN"];
63
- mocks.createClient.mockReturnValue({});
64
62
  mocks.createClientWithOAuth.mockResolvedValue({});
65
- mocks.getWhoami.mockResolvedValue(FAKE_WHOAMI);
66
- mocks.getOAuthDefaultProject.mockResolvedValue({ projectId: null });
67
- mocks.getProject.mockResolvedValue(null);
63
+ mocks.getAgentWhoami.mockResolvedValue(OAUTH_WHOAMI);
68
64
  logSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
69
65
  });
70
66
  (0, vitest_1.afterEach)(() => {
@@ -80,52 +76,40 @@ const FAKE_WHOAMI = {
80
76
  });
81
77
  (0, vitest_1.describe)("OAuth token", () => {
82
78
  (0, vitest_1.beforeEach)(() => {
83
- mocks.resolveApiTokenWithOAuth.mockResolvedValue("oauth-jwt");
84
- mocks.isOAuthJwt.mockReturnValue(true);
79
+ mocks.getAuthToken.mockResolvedValue("oauth-jwt");
85
80
  });
86
- (0, vitest_1.it)("reports the OAuth user and skips the project-token path", async () => {
81
+ (0, vitest_1.it)("reports the OAuth user", async () => {
87
82
  await runHandler();
88
- (0, vitest_1.expect)(mocks.getWhoami).toHaveBeenCalled();
89
- (0, vitest_1.expect)(mocks.getProject).not.toHaveBeenCalled();
90
- // OAuth path uses the refreshing client, not the static one.
91
- (0, vitest_1.expect)(mocks.createClientWithOAuth).toHaveBeenCalledTimes(1);
92
- (0, vitest_1.expect)(mocks.createClient).not.toHaveBeenCalled();
93
83
  const out = stdoutText();
94
84
  (0, vitest_1.expect)(out).toContain("Authenticated via: OAuth");
95
85
  (0, vitest_1.expect)(out).toContain("alice@example.com");
96
86
  (0, vitest_1.expect)(out).toContain("Alice Smith");
97
87
  });
98
88
  (0, vitest_1.it)("prints organizations with their role", async () => {
99
- mocks.getWhoami.mockResolvedValue({
100
- ...FAKE_WHOAMI,
101
- organizations: [{ id: "org-1", name: "Acme", role: "owner" }],
89
+ mocks.getAgentWhoami.mockResolvedValue({
90
+ ...OAUTH_WHOAMI,
91
+ organizations: [{ name: "Acme", role: "owner" }],
102
92
  });
103
93
  await runHandler();
104
94
  (0, vitest_1.expect)(stdoutText()).toContain("Acme (owner)");
105
95
  });
106
96
  (0, vitest_1.it)("prints the selected project when one is stored", async () => {
107
- mocks.getOAuthDefaultProject.mockResolvedValue({
108
- projectId: "proj-1",
109
- name: "my-project",
110
- organization: { id: "org-1", name: "Acme" },
97
+ mocks.getAgentWhoami.mockResolvedValue({
98
+ ...OAUTH_WHOAMI,
99
+ selectedProject: "Acme/my-project",
111
100
  });
112
101
  await runHandler();
113
102
  (0, vitest_1.expect)(stdoutText()).toContain("Acme/my-project");
114
103
  });
115
104
  (0, vitest_1.it)("prompts (on stderr) to set a project when none is selected", async () => {
116
- mocks.getOAuthDefaultProject.mockResolvedValue({ projectId: null });
117
105
  await runHandler();
118
106
  (0, vitest_1.expect)(noticeText()).toContain("auth set-project");
119
107
  });
120
108
  (0, vitest_1.it)("emits structured JSON with --json", async () => {
121
- mocks.getOAuthDefaultProject.mockResolvedValue({
122
- projectId: "proj-1",
123
- name: "my-project",
124
- organization: { id: "org-1", name: "Acme" },
125
- });
126
- mocks.getWhoami.mockResolvedValue({
127
- ...FAKE_WHOAMI,
128
- organizations: [{ id: "org-1", name: "Acme", role: "owner" }],
109
+ mocks.getAgentWhoami.mockResolvedValue({
110
+ ...OAUTH_WHOAMI,
111
+ organizations: [{ name: "Acme", role: "owner" }],
112
+ selectedProject: "Acme/my-project",
129
113
  });
130
114
  await runHandler({ json: true });
131
115
  (0, vitest_1.expect)(JSON.parse(stdoutText())).toEqual({
@@ -139,131 +123,100 @@ const FAKE_WHOAMI = {
139
123
  });
140
124
  });
141
125
  });
142
- (0, vitest_1.describe)("no local token (request-time injected auth)", () => {
143
- (0, vitest_1.beforeEach)(() => {
144
- mocks.resolveApiTokenWithOAuth.mockResolvedValue(null);
145
- });
146
- (0, vitest_1.it)("reports injected credentials when the probe resolves a project", async () => {
147
- mocks.getProject.mockResolvedValue({
148
- id: "p1",
149
- name: "App",
150
- organization: { id: "o1", name: "Org" },
151
- });
152
- await runHandler();
153
- // The OAuth-only whoami endpoint would reject the injected project
154
- // token — the probe must be the only round-trip.
155
- (0, vitest_1.expect)(mocks.getWhoami).not.toHaveBeenCalled();
156
- (0, vitest_1.expect)(mocks.createClientWithOAuth).not.toHaveBeenCalled();
157
- const out = stdoutText();
158
- (0, vitest_1.expect)(out).toContain("credentials injected at request time");
159
- (0, vitest_1.expect)(out).toContain("Pinned project: Org/App");
160
- });
161
- (0, vitest_1.it)("emits structured JSON with --json", async () => {
162
- mocks.getProject.mockResolvedValue({
163
- id: "p1",
164
- name: "App",
165
- organization: { id: "o1", name: "Org" },
166
- });
167
- await runHandler({ json: true });
168
- (0, vitest_1.expect)(JSON.parse(stdoutText())).toEqual({
169
- authenticatedVia: "injected-credentials",
170
- pinnedProject: "Org/App",
171
- });
172
- });
173
- (0, vitest_1.it)("errors with not-logged-in guidance when the probe request fails", async () => {
174
- mocks.getProject.mockRejectedValue(new Error("HTTP 403"));
175
- await (0, vitest_1.expect)(runHandler()).rejects.toThrow(/Not logged in/);
176
- (0, vitest_1.expect)(mocks.getWhoami).not.toHaveBeenCalled();
177
- });
178
- (0, vitest_1.it)("errors when the probe resolves no project", async () => {
179
- mocks.getProject.mockResolvedValue(null);
180
- await (0, vitest_1.expect)(runHandler()).rejects.toThrow(/Not logged in/);
181
- });
182
- });
183
126
  (0, vitest_1.describe)("project API token", () => {
184
127
  (0, vitest_1.beforeEach)(() => {
185
- mocks.resolveApiTokenWithOAuth.mockResolvedValue("project-token");
186
- mocks.isOAuthJwt.mockReturnValue(false);
128
+ mocks.getAuthToken.mockResolvedValue("project-token");
129
+ mocks.getAgentWhoami.mockResolvedValue(TOKEN_WHOAMI);
187
130
  });
188
- (0, vitest_1.it)("reports the env var as the source and never calls getWhoami", async () => {
131
+ (0, vitest_1.it)("reports the env var as the source", async () => {
189
132
  process.env["METICULOUS_API_TOKEN"] = "project-token";
190
133
  await runHandler();
191
- (0, vitest_1.expect)(mocks.getWhoami).not.toHaveBeenCalled();
192
- // Project-token path stays on the static client (never expires).
193
- (0, vitest_1.expect)(mocks.createClient).toHaveBeenCalled();
194
- (0, vitest_1.expect)(mocks.createClientWithOAuth).not.toHaveBeenCalled();
195
134
  (0, vitest_1.expect)(stdoutText()).toContain("project API token (METICULOUS_API_TOKEN environment variable)");
196
135
  });
136
+ // Which local file or env var supplied the token is knowable only in the
137
+ // CLI — the backend sees a bearer, not where it came from.
197
138
  (0, vitest_1.it)("reports the config file as the source when the env var is unset", async () => {
198
139
  await runHandler();
199
140
  (0, vitest_1.expect)(stdoutText()).toContain("project API token (~/.meticulous/config.json)");
200
141
  });
201
- (0, vitest_1.it)("shows the pinned project resolved via token-info", async () => {
202
- mocks.getProject.mockResolvedValue({
203
- id: "p1",
204
- name: "App",
205
- organization: { id: "o1", name: "Org" },
206
- });
142
+ (0, vitest_1.it)("shows the project the token is pinned to", async () => {
207
143
  await runHandler();
208
144
  (0, vitest_1.expect)(stdoutText()).toContain("Pinned project: Org/App");
209
- });
210
- (0, vitest_1.it)("swallows token-info failures without failing whoami", async () => {
211
- mocks.getProject.mockRejectedValue(new Error("boom"));
212
- await (0, vitest_1.expect)(runHandler()).resolves.toBeUndefined();
213
145
  (0, vitest_1.expect)(noticeText()).toContain("scoped to a single project");
214
146
  });
215
147
  (0, vitest_1.it)("emits structured JSON with --json", async () => {
216
- mocks.getProject.mockResolvedValue({
217
- id: "p1",
218
- name: "App",
219
- organization: { id: "o1", name: "Org" },
220
- });
221
148
  await runHandler({ json: true });
222
149
  (0, vitest_1.expect)(JSON.parse(stdoutText())).toEqual({
223
150
  authenticatedVia: "project-api-token",
224
151
  tokenSource: "~/.meticulous/config.json",
152
+ selectedProject: "Org/App",
225
153
  pinnedProject: "Org/App",
226
154
  });
227
155
  });
228
156
  });
229
- (0, vitest_1.describe)("no local credentials (empty token)", () => {
157
+ (0, vitest_1.describe)("no local token (request-time injected auth)", () => {
230
158
  (0, vitest_1.beforeEach)(() => {
231
- mocks.resolveApiTokenWithOAuth.mockResolvedValue(null);
159
+ mocks.getAuthToken.mockResolvedValue(null);
232
160
  });
233
- (0, vitest_1.it)("reports injected credentials when a pinned project resolves", async () => {
234
- mocks.getProject.mockResolvedValue({
235
- id: "p1",
236
- name: "App",
237
- organization: { id: "o1", name: "Org" },
238
- });
161
+ (0, vitest_1.it)("reports injected credentials when the header-less call is answered", async () => {
162
+ mocks.getAgentWhoami.mockResolvedValue(TOKEN_WHOAMI);
239
163
  await runHandler();
240
- (0, vitest_1.expect)(mocks.getWhoami).not.toHaveBeenCalled();
241
164
  const out = stdoutText();
242
165
  (0, vitest_1.expect)(out).toContain("credentials injected at request time");
243
166
  (0, vitest_1.expect)(out).toContain("Pinned project: Org/App");
244
167
  });
245
- (0, vitest_1.it)("emits structured JSON for injected credentials with --json", async () => {
246
- mocks.getProject.mockResolvedValue({
247
- id: "p1",
248
- name: "App",
249
- organization: { id: "o1", name: "Org" },
250
- });
168
+ (0, vitest_1.it)("emits structured JSON with --json", async () => {
169
+ mocks.getAgentWhoami.mockResolvedValue(TOKEN_WHOAMI);
251
170
  await runHandler({ json: true });
252
171
  (0, vitest_1.expect)(JSON.parse(stdoutText())).toEqual({
253
172
  authenticatedVia: "injected-credentials",
173
+ selectedProject: "Org/App",
254
174
  pinnedProject: "Org/App",
255
175
  });
256
176
  });
257
- (0, vitest_1.it)("reports not logged in when nothing is injected", async () => {
258
- mocks.getProject.mockResolvedValue(null);
177
+ (0, vitest_1.it)("errors with not-logged-in guidance when nothing is injected", async () => {
178
+ mocks.getAgentWhoami.mockRejectedValue(new Error("HTTP 401"));
259
179
  await (0, vitest_1.expect)(runHandler()).rejects.toThrow(/Not logged in/);
260
180
  });
261
181
  (0, vitest_1.it)("prints nothing to stdout before throwing not-logged-in with --json", async () => {
262
- mocks.getProject.mockResolvedValue(null);
182
+ mocks.getAgentWhoami.mockRejectedValue(new Error("HTTP 401"));
263
183
  await (0, vitest_1.expect)(runHandler({ json: true })).rejects.toThrow(/Not logged in/);
264
184
  (0, vitest_1.expect)(stdoutText()).toBe("");
265
185
  });
186
+ (0, vitest_1.it)("omits the Pinned project line when the injected credentials have no selected project", async () => {
187
+ mocks.getAgentWhoami.mockResolvedValue({
188
+ ...TOKEN_WHOAMI,
189
+ selectedProject: null,
190
+ });
191
+ await runHandler();
192
+ (0, vitest_1.expect)(stdoutText()).not.toContain("Pinned project");
193
+ });
194
+ });
195
+ (0, vitest_1.describe)("test-run API token", () => {
196
+ (0, vitest_1.beforeEach)(() => {
197
+ mocks.getAuthToken.mockResolvedValue("test-run-token");
198
+ mocks.getAgentWhoami.mockResolvedValue({
199
+ authenticatedVia: "test-run-token",
200
+ selectedProject: "Org/App",
201
+ });
202
+ });
203
+ (0, vitest_1.it)("reports itself distinctly from a project API token", async () => {
204
+ await runHandler();
205
+ const out = stdoutText();
206
+ (0, vitest_1.expect)(out).toContain("test-run API token");
207
+ (0, vitest_1.expect)(out).toContain("Pinned project: Org/App");
208
+ (0, vitest_1.expect)(noticeText()).toContain("scoped to a single project");
209
+ });
210
+ (0, vitest_1.it)("emits structured JSON with --json", async () => {
211
+ await runHandler({ json: true });
212
+ (0, vitest_1.expect)(JSON.parse(stdoutText())).toEqual({
213
+ authenticatedVia: "test-run-token",
214
+ tokenSource: "~/.meticulous/config.json",
215
+ selectedProject: "Org/App",
216
+ pinnedProject: "Org/App",
217
+ });
218
+ });
266
219
  });
267
220
  });
268
221
  //# sourceMappingURL=whoami.command.spec.js.map
269
- //# debugId=18ed7094-f308-527d-bf06-886b217cd0be
222
+ //# debugId=8e435f27-9eb3-5ca0-aeba-03f6af8843ad
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.command.spec.js","sources":["../../../../src/commands/auth/__tests__/whoami.command.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"18ed7094-f308-527d-bf06-886b217cd0be"}
1
+ {"version":3,"file":"whoami.command.spec.js","sources":["../../../../src/commands/auth/__tests__/whoami.command.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"8e435f27-9eb3-5ca0-aeba-03f6af8843ad"}
@@ -1,10 +1,14 @@
1
1
  import type { CommandModule } from "yargs";
2
+ interface Options {
3
+ json: boolean;
4
+ }
2
5
  /**
3
6
  * Prints the project that project-scoped CLI commands would currently use —
4
7
  * the token's own pinned project for a project/test-run API token, or the
5
8
  * OAuth caller's default project (`auth set-project`) otherwise. Scriptable:
6
9
  * only the resolved `organization/name` slug goes to stdout; exits non-zero
7
- * with guidance on stderr if nothing is resolved.
10
+ * with the backend's guidance on stderr if nothing is resolved.
8
11
  */
9
- export declare const getProjectCommand: CommandModule;
12
+ export declare const getProjectCommand: CommandModule<unknown, Options>;
13
+ export {};
10
14
  //# sourceMappingURL=get-project.command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-project.command.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/get-project.command.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAoC/B,CAAC"}
1
+ {"version":3,"file":"get-project.command.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/get-project.command.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQ3C,UAAU,OAAO;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAiC7D,CAAC"}
@@ -1,49 +1,50 @@
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]="303abb7d-8d9b-55a8-88d5-83351e50e41a")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8f3f1b14-f959-504b-939e-a5b88b923978")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.getProjectCommand = void 0;
6
6
  const client_1 = require("@alwaysmeticulous/client");
7
7
  const common_1 = require("@alwaysmeticulous/common");
8
+ const print_json_1 = require("../../command-utils/print-json");
8
9
  const sentry_utils_1 = require("../../command-utils/sentry.utils");
9
- const cli_user_error_1 = require("../../utils/cli-user-error");
10
- const resolve_project_identifier_1 = require("../../utils/resolve-project-identifier");
11
- const select_project_1 = require("../../utils/select-project");
10
+ const handle_auth_failure_1 = require("../../utils/handle-auth-failure");
12
11
  /**
13
12
  * Prints the project that project-scoped CLI commands would currently use —
14
13
  * the token's own pinned project for a project/test-run API token, or the
15
14
  * OAuth caller's default project (`auth set-project`) otherwise. Scriptable:
16
15
  * only the resolved `organization/name` slug goes to stdout; exits non-zero
17
- * with guidance on stderr if nothing is resolved.
16
+ * with the backend's guidance on stderr if nothing is resolved.
18
17
  */
19
18
  exports.getProjectCommand = {
20
19
  command: "get-project",
21
20
  describe: "Print the project that project-scoped commands would currently use",
22
- builder: {},
23
- handler: (0, sentry_utils_1.wrapHandler)(async () => {
21
+ builder: {
22
+ json: {
23
+ boolean: true,
24
+ default: false,
25
+ description: "Output the result as JSON ({project, projectId, source}, where source " +
26
+ "is 'user-default' or 'api-token') instead of the bare " +
27
+ "'organization/project' slug. Only stdout is affected — notices still " +
28
+ "go to stderr.",
29
+ },
30
+ },
31
+ handler: (0, sentry_utils_1.wrapHandler)(async ({ json }) => {
24
32
  (0, common_1.initLogger)();
25
- const apiToken = await (0, client_1.resolveApiTokenWithOAuth)({
26
- apiToken: null,
27
- enableOAuthLogin: true,
28
- });
29
- if (apiToken && !(0, client_1.isOAuthJwt)(apiToken)) {
30
- const pinned = await (0, resolve_project_identifier_1.resolvePinnedProjectSlug)(apiToken);
31
- if (!pinned) {
32
- throw new cli_user_error_1.CliUserError("Could not resolve the project this API token is bound to.");
33
- }
34
- console.log(pinned);
35
- return;
36
- }
37
33
  const client = await (0, client_1.createClientWithOAuth)({
38
34
  apiToken: null,
39
35
  enableOAuthLogin: true,
40
36
  });
41
- const defaultProject = await (0, client_1.getOAuthDefaultProject)(client);
42
- if (!defaultProject.projectId) {
43
- throw new cli_user_error_1.CliUserError("No default project set. Run `meticulous auth set-project` to choose one.");
37
+ const current = await (0, client_1.getAgentCurrentProject)(client).catch((error) => {
38
+ (0, handle_auth_failure_1.handleAuthFailure)(error);
39
+ throw (0, handle_auth_failure_1.toServerMessageError)(error);
40
+ });
41
+ if (json) {
42
+ (0, print_json_1.printJson)(current);
43
+ }
44
+ else {
45
+ console.log(current.project);
44
46
  }
45
- console.log((0, select_project_1.formatProjectSlug)(defaultProject));
46
47
  }),
47
48
  };
48
49
  //# sourceMappingURL=get-project.command.js.map
49
- //# debugId=303abb7d-8d9b-55a8-88d5-83351e50e41a
50
+ //# debugId=8f3f1b14-f959-504b-939e-a5b88b923978
@@ -1 +1 @@
1
- {"version":3,"file":"get-project.command.js","sources":["../../../src/commands/auth/get-project.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAKkC;AAClC,qDAAsD;AAEtD,mEAA+D;AAC/D,+DAA0D;AAC1D,uFAAkF;AAClF,+DAA+D;AAE/D;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAkB;IAC9C,OAAO,EAAE,aAAa;IACtB,QAAQ,EACN,oEAAoE;IACtE,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,IAAA,0BAAW,EAAC,KAAK,IAAI,EAAE;QAC9B,IAAA,mBAAU,GAAE,CAAC;QAEb,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAAC;YAC9C,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,IAAI,QAAQ,IAAI,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,IAAA,qDAAwB,EAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,6BAAY,CACpB,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAqB,EAAC;YACzC,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,IAAA,+BAAsB,EAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,6BAAY,CACpB,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAA,kCAAiB,EAAC,cAAc,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;CACH,CAAC","debugId":"303abb7d-8d9b-55a8-88d5-83351e50e41a"}
1
+ {"version":3,"file":"get-project.command.js","sources":["../../../src/commands/auth/get-project.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAGkC;AAClC,qDAAsD;AAEtD,+DAA2D;AAC3D,mEAA+D;AAC/D,yEAGyC;AAMzC;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAoC;IAChE,OAAO,EAAE,aAAa;IACtB,QAAQ,EACN,oEAAoE;IACtE,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,WAAW,EACT,wEAAwE;gBACxE,wDAAwD;gBACxD,uEAAuE;gBACvE,eAAe;SAClB;KACF;IACD,OAAO,EAAE,IAAA,0BAAW,EAAC,KAAK,EAAE,EAAE,IAAI,EAAW,EAAE,EAAE;QAC/C,IAAA,mBAAU,GAAE,CAAC;QAEb,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAqB,EAAC;YACzC,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,+BAAsB,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACnE,IAAA,uCAAiB,EAAC,KAAK,CAAC,CAAC;YACzB,MAAM,IAAA,0CAAoB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,EAAE,CAAC;YACT,IAAA,sBAAS,EAAC,OAAO,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;CACH,CAAC","debugId":"8f3f1b14-f959-504b-939e-a5b88b923978"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-projects.command.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/list-projects.command.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,UAAU,OAAO;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CA6C/D,CAAC"}
1
+ {"version":3,"file":"list-projects.command.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/list-projects.command.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,UAAU,OAAO;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAuC/D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="ff1d263b-8c49-5577-b678-dd28914b6398")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="abc4eb30-d968-5734-b82a-18a5e28cd6eb")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.listProjectsCommand = void 0;
@@ -30,13 +30,9 @@ exports.listProjectsCommand = {
30
30
  // there isn't a stored one yet (interactive only; CI can't show a browser).
31
31
  const apiToken = await resolveOAuthToken();
32
32
  const client = (0, client_1.createClient)({ apiToken });
33
- const projects = await (0, select_project_1.fetchAccessibleProjects)(client);
33
+ const projects = await (0, select_project_1.listProjectsForUser)(client);
34
34
  if (json) {
35
- (0, print_json_1.printJson)(projects.map((p) => ({
36
- id: p.id,
37
- name: p.name,
38
- organization: { name: p.organization.name },
39
- })));
35
+ (0, print_json_1.printJson)(projects);
40
36
  }
41
37
  else {
42
38
  for (const p of projects) {
@@ -66,4 +62,4 @@ const resolveOAuthToken = async () => {
66
62
  return tokens.accessToken;
67
63
  };
68
64
  //# sourceMappingURL=list-projects.command.js.map
69
- //# debugId=ff1d263b-8c49-5577-b678-dd28914b6398
65
+ //# debugId=abc4eb30-d968-5734-b82a-18a5e28cd6eb
@@ -1 +1 @@
1
- {"version":3,"file":"list-projects.command.js","sources":["../../../src/commands/auth/list-projects.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAKkC;AAClC,qDAAiE;AAEjE,+DAA2D;AAC3D,mEAA+D;AAC/D,+DAA0D;AAC1D,+DAAqE;AAMxD,QAAA,mBAAmB,GAAoC;IAClE,OAAO,EAAE,eAAe;IACxB,QAAQ,EAAE,mEAAmE;IAC7E,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,WAAW,EACT,sEAAsE;gBACtE,gEAAgE;gBAChE,mEAAmE;YACrE,OAAO,EAAE,KAAK;SACf;KACF;IACD,OAAO,EAAE,IAAA,0BAAW,EAAC,KAAK,EAAE,EAAE,IAAI,EAAW,EAAE,EAAE;QAC/C,IAAA,mBAAU,GAAE,CAAC;QAEb,gEAAgE;QAChE,2EAA2E;QAC3E,2EAA2E;QAC3E,uEAAuE;QACvE,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAA,wCAAuB,EAAC,MAAM,CAAC,CAAC;QAEvD,IAAI,IAAI,EAAE,CAAC;YACT,IAAA,sBAAS,EACP,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE;aAC5C,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAA,kBAAS,EAAC,6CAA6C,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC;CACH,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,IAAqB,EAAE;IACpD,MAAM,UAAU,GAAG,MAAM,IAAA,4BAAmB,GAAE,CAAC;IAC/C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,IAAA,6BAAoB,GAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,6BAAY,CACpB,uEAAuE;YACrE,4DAA4D;YAC5D,+DAA+D;YAC/D,+DAA+D;YAC/D,iEAAiE;YACjE,sBAAsB,CACzB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAiB,GAAE,CAAC;IACzC,OAAO,MAAM,CAAC,WAAW,CAAC;AAC5B,CAAC,CAAC","debugId":"ff1d263b-8c49-5577-b678-dd28914b6398"}
1
+ {"version":3,"file":"list-projects.command.js","sources":["../../../src/commands/auth/list-projects.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAKkC;AAClC,qDAAiE;AAEjE,+DAA2D;AAC3D,mEAA+D;AAC/D,+DAA0D;AAC1D,+DAAiE;AAMpD,QAAA,mBAAmB,GAAoC;IAClE,OAAO,EAAE,eAAe;IACxB,QAAQ,EAAE,mEAAmE;IAC7E,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,WAAW,EACT,sEAAsE;gBACtE,gEAAgE;gBAChE,mEAAmE;YACrE,OAAO,EAAE,KAAK;SACf;KACF;IACD,OAAO,EAAE,IAAA,0BAAW,EAAC,KAAK,EAAE,EAAE,IAAI,EAAW,EAAE,EAAE;QAC/C,IAAA,mBAAU,GAAE,CAAC;QAEb,gEAAgE;QAChE,2EAA2E;QAC3E,2EAA2E;QAC3E,uEAAuE;QACvE,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAA,oCAAmB,EAAC,MAAM,CAAC,CAAC;QAEnD,IAAI,IAAI,EAAE,CAAC;YACT,IAAA,sBAAS,EAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAA,kBAAS,EAAC,6CAA6C,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC;CACH,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,IAAqB,EAAE;IACpD,MAAM,UAAU,GAAG,MAAM,IAAA,4BAAmB,GAAE,CAAC;IAC/C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,IAAA,6BAAoB,GAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,6BAAY,CACpB,uEAAuE;YACrE,4DAA4D;YAC5D,+DAA+D;YAC/D,+DAA+D;YAC/D,iEAAiE;YACjE,sBAAsB,CACzB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAiB,GAAE,CAAC;IACzC,OAAO,MAAM,CAAC,WAAW,CAAC;AAC5B,CAAC,CAAC","debugId":"abc4eb30-d968-5734-b82a-18a5e28cd6eb"}
@@ -1,6 +1,7 @@
1
1
  import type { CommandModule } from "yargs";
2
2
  interface Options {
3
3
  project?: string;
4
+ json: boolean;
4
5
  }
5
6
  export declare const setProjectCommand: CommandModule<unknown, Options>;
6
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"set-project.command.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/set-project.command.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CA4C7D,CAAC"}
1
+ {"version":3,"file":"set-project.command.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/set-project.command.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAyD7D,CAAC"}
@@ -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]="985a8c06-e9d8-598c-bc08-43f56ca1ddad")}catch(e){}}();
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="80bfb6ce-5689-581b-8e23-c500d20fed63")}catch(e){}}();
3
3
 
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.setProjectCommand = void 0;
6
6
  const client_1 = require("@alwaysmeticulous/client");
7
7
  const common_1 = require("@alwaysmeticulous/common");
8
+ const print_json_1 = require("../../command-utils/print-json");
8
9
  const sentry_utils_1 = require("../../command-utils/sentry.utils");
9
10
  const cli_user_error_1 = require("../../utils/cli-user-error");
10
11
  const select_project_1 = require("../../utils/select-project");
@@ -18,13 +19,26 @@ exports.setProjectCommand = {
18
19
  "When provided, skips the interactive picker. Required in non-interactive " +
19
20
  "environments (no TTY), where the interactive picker is unavailable.",
20
21
  },
22
+ json: {
23
+ boolean: true,
24
+ default: false,
25
+ description: "Output the selected project as JSON ({project, projectId}) on stdout. " +
26
+ "Only stdout is affected — notices still go to stderr.",
27
+ },
21
28
  },
22
- handler: (0, sentry_utils_1.wrapHandler)(async ({ project }) => {
29
+ handler: (0, sentry_utils_1.wrapHandler)(async ({ project, json }) => {
23
30
  (0, common_1.initLogger)();
24
- const apiToken = await (0, client_1.resolveApiTokenWithOAuth)({
31
+ // `createClientWithOAuth` already resolves the token (including any
32
+ // interactive login and the legacy `selected-project.json` migration) via
33
+ // `resolveApiTokenWithOAuth` internally — re-run that whole resolution just
34
+ // to check the token kind would repeat the migration and double-print its
35
+ // "no API token found" notice. `getAuthToken` reads back the same (by now
36
+ // already-resolved) state without redoing any of that.
37
+ const client = await (0, client_1.createClientWithOAuth)({
25
38
  apiToken: null,
26
39
  enableOAuthLogin: true,
27
40
  });
41
+ const apiToken = await (0, client_1.getAuthToken)(null);
28
42
  // Project-scoped API tokens (env var or legacy config) already pin a
29
43
  // project, so `set-project` has nothing to do.
30
44
  if (apiToken && !(0, client_1.isOAuthJwt)(apiToken)) {
@@ -35,16 +49,15 @@ exports.setProjectCommand = {
35
49
  "logout` and unset `METICULOUS_API_TOKEN`, then re-run this " +
36
50
  "command to log in with OAuth.");
37
51
  }
38
- const client = await (0, client_1.createClientWithOAuth)({
39
- apiToken: null,
40
- enableOAuthLogin: true,
41
- });
42
- await (0, select_project_1.selectAndStoreProject)({
52
+ const selected = await (0, select_project_1.selectAndStoreProject)({
43
53
  client,
44
54
  project,
45
55
  allowInteractivePrompt: (0, client_1.isInteractiveContext)(),
46
56
  });
57
+ if (json) {
58
+ (0, print_json_1.printJson)(selected);
59
+ }
47
60
  }),
48
61
  };
49
62
  //# sourceMappingURL=set-project.command.js.map
50
- //# debugId=985a8c06-e9d8-598c-bc08-43f56ca1ddad
63
+ //# debugId=80bfb6ce-5689-581b-8e23-c500d20fed63
@@ -1 +1 @@
1
- {"version":3,"file":"set-project.command.js","sources":["../../../src/commands/auth/set-project.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAKkC;AAClC,qDAAsD;AAEtD,mEAA+D;AAC/D,+DAA0D;AAC1D,+DAAmE;AAMtD,QAAA,iBAAiB,GAAoC;IAChE,OAAO,EAAE,aAAa;IACtB,QAAQ,EACN,wEAAwE;IAC1E,OAAO,EAAE;QACP,OAAO,EAAE;YACP,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,4EAA4E;gBAC5E,2EAA2E;gBAC3E,qEAAqE;SACxE;KACF;IACD,OAAO,EAAE,IAAA,0BAAW,EAAC,KAAK,EAAE,EAAE,OAAO,EAAW,EAAE,EAAE;QAClD,IAAA,mBAAU,GAAE,CAAC;QAEb,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAwB,EAAC;YAC9C,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAEH,qEAAqE;QACrE,+CAA+C;QAC/C,IAAI,QAAQ,IAAI,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,6BAAY,CACpB,gEAAgE;gBAC9D,+DAA+D;gBAC/D,UAAU;gBACV,gEAAgE;gBAChE,6DAA6D;gBAC7D,+BAA+B,CAClC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAqB,EAAC;YACzC,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,MAAM,IAAA,sCAAqB,EAAC;YAC1B,MAAM;YACN,OAAO;YACP,sBAAsB,EAAE,IAAA,6BAAoB,GAAE;SAC/C,CAAC,CAAC;IACL,CAAC,CAAC;CACH,CAAC","debugId":"985a8c06-e9d8-598c-bc08-43f56ca1ddad"}
1
+ {"version":3,"file":"set-project.command.js","sources":["../../../src/commands/auth/set-project.command.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAKkC;AAClC,qDAAsD;AAEtD,+DAA2D;AAC3D,mEAA+D;AAC/D,+DAA0D;AAC1D,+DAAmE;AAOtD,QAAA,iBAAiB,GAAoC;IAChE,OAAO,EAAE,aAAa;IACtB,QAAQ,EACN,wEAAwE;IAC1E,OAAO,EAAE;QACP,OAAO,EAAE;YACP,MAAM,EAAE,IAAI;YACZ,WAAW,EACT,4EAA4E;gBAC5E,2EAA2E;gBAC3E,qEAAqE;SACxE;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,WAAW,EACT,wEAAwE;gBACxE,uDAAuD;SAC1D;KACF;IACD,OAAO,EAAE,IAAA,0BAAW,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAW,EAAE,EAAE;QACxD,IAAA,mBAAU,GAAE,CAAC;QAEb,oEAAoE;QACpE,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,0EAA0E;QAC1E,uDAAuD;QACvD,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAqB,EAAC;YACzC,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC;QAE1C,qEAAqE;QACrE,+CAA+C;QAC/C,IAAI,QAAQ,IAAI,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,6BAAY,CACpB,gEAAgE;gBAC9D,+DAA+D;gBAC/D,UAAU;gBACV,gEAAgE;gBAChE,6DAA6D;gBAC7D,+BAA+B,CAClC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,sCAAqB,EAAC;YAC3C,MAAM;YACN,OAAO;YACP,sBAAsB,EAAE,IAAA,6BAAoB,GAAE;SAC/C,CAAC,CAAC;QACH,IAAI,IAAI,EAAE,CAAC;YACT,IAAA,sBAAS,EAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;CACH,CAAC","debugId":"80bfb6ce-5689-581b-8e23-c500d20fed63"}
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.command.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/whoami.command.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQ3C,UAAU,OAAO;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAoIzD,CAAC"}
1
+ {"version":3,"file":"whoami.command.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/whoami.command.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAS3C,UAAU,OAAO;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAiFzD,CAAC"}