@alwaysmeticulous/cli 2.323.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.
- package/dist/commands/agent/agent-review-writes.command.spec.d.ts +2 -0
- package/dist/commands/agent/agent-review-writes.command.spec.d.ts.map +1 -0
- package/dist/commands/agent/agent-review-writes.command.spec.js +96 -0
- package/dist/commands/agent/agent-review-writes.command.spec.js.map +1 -0
- package/dist/commands/agent/create-diff-comment.command.d.ts +13 -0
- package/dist/commands/agent/create-diff-comment.command.d.ts.map +1 -0
- package/dist/commands/agent/create-diff-comment.command.js +57 -0
- package/dist/commands/agent/create-diff-comment.command.js.map +1 -0
- package/dist/commands/agent/diff-comment-write.utils.d.ts +13 -0
- package/dist/commands/agent/diff-comment-write.utils.d.ts.map +1 -0
- package/dist/commands/agent/diff-comment-write.utils.js +19 -0
- package/dist/commands/agent/diff-comment-write.utils.js.map +1 -0
- package/dist/commands/agent/diff-comments.command.d.ts.map +1 -1
- package/dist/commands/agent/diff-comments.command.js +15 -4
- package/dist/commands/agent/diff-comments.command.js.map +1 -1
- package/dist/commands/agent/diff-comments.command.spec.js +29 -4
- package/dist/commands/agent/diff-comments.command.spec.js.map +1 -1
- package/dist/commands/agent/ignore-diff.command.d.ts +13 -0
- package/dist/commands/agent/ignore-diff.command.d.ts.map +1 -0
- package/dist/commands/agent/ignore-diff.command.js +54 -0
- package/dist/commands/agent/ignore-diff.command.js.map +1 -0
- package/dist/commands/agent/index.d.ts.map +1 -1
- package/dist/commands/agent/index.js +16 -6
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/agent/js-coverage.command.d.ts +2 -2
- package/dist/commands/agent/js-coverage.command.d.ts.map +1 -1
- package/dist/commands/agent/js-coverage.command.js +6 -5
- package/dist/commands/agent/js-coverage.command.js.map +1 -1
- package/dist/commands/agent/js-coverage.command.spec.js +7 -6
- package/dist/commands/agent/js-coverage.command.spec.js.map +1 -1
- package/dist/commands/agent/reject-diff.command.d.ts +13 -0
- package/dist/commands/agent/reject-diff.command.d.ts.map +1 -0
- package/dist/commands/agent/reject-diff.command.js +54 -0
- package/dist/commands/agent/reject-diff.command.js.map +1 -0
- package/dist/commands/agent/reject-diff.command.spec.d.ts +2 -0
- package/dist/commands/agent/reject-diff.command.spec.d.ts.map +1 -0
- package/dist/commands/agent/reject-diff.command.spec.js +61 -0
- package/dist/commands/agent/reject-diff.command.spec.js.map +1 -0
- package/dist/commands/agent/reply-to-diff-comment.command.d.ts +10 -0
- package/dist/commands/agent/reply-to-diff-comment.command.d.ts.map +1 -0
- package/dist/commands/agent/reply-to-diff-comment.command.js +47 -0
- package/dist/commands/agent/reply-to-diff-comment.command.js.map +1 -0
- package/dist/commands/agent/sessions.command.d.ts +3 -0
- package/dist/commands/agent/sessions.command.d.ts.map +1 -1
- package/dist/commands/agent/sessions.command.js +46 -5
- package/dist/commands/agent/sessions.command.js.map +1 -1
- package/dist/commands/agent/sessions.command.spec.js +30 -7
- package/dist/commands/agent/sessions.command.spec.js.map +1 -1
- package/dist/commands/agent/test-run-checks.command.d.ts +15 -0
- package/dist/commands/agent/test-run-checks.command.d.ts.map +1 -0
- package/dist/commands/agent/test-run-checks.command.js +121 -0
- package/dist/commands/agent/test-run-checks.command.js.map +1 -0
- package/dist/commands/agent/test-run-checks.command.spec.d.ts +2 -0
- package/dist/commands/agent/test-run-checks.command.spec.d.ts.map +1 -0
- package/dist/commands/agent/test-run-checks.command.spec.js +132 -0
- package/dist/commands/agent/test-run-checks.command.spec.js.map +1 -0
- package/dist/commands/agent/test-run-diffs.command.d.ts.map +1 -1
- package/dist/commands/agent/test-run-diffs.command.js +19 -24
- package/dist/commands/agent/test-run-diffs.command.js.map +1 -1
- package/dist/commands/agent/test-run-diffs.command.spec.js +59 -37
- package/dist/commands/agent/test-run-diffs.command.spec.js.map +1 -1
- package/dist/commands/agent/test-run-diffs.utils.d.ts +1 -0
- package/dist/commands/agent/test-run-diffs.utils.d.ts.map +1 -1
- package/dist/commands/agent/test-run-diffs.utils.js +5 -3
- package/dist/commands/agent/test-run-diffs.utils.js.map +1 -1
- package/dist/commands/agent/test-run-diffs.utils.spec.js +2 -2
- package/dist/commands/agent/test-run-for-commit.command.d.ts.map +1 -1
- package/dist/commands/agent/test-run-for-commit.command.js +5 -4
- package/dist/commands/agent/test-run-for-commit.command.js.map +1 -1
- package/dist/commands/auth/__tests__/get-project.command.spec.js +48 -42
- package/dist/commands/auth/__tests__/get-project.command.spec.js.map +1 -1
- package/dist/commands/auth/__tests__/list-projects.command.spec.js +11 -10
- package/dist/commands/auth/__tests__/list-projects.command.spec.js.map +1 -1
- package/dist/commands/auth/__tests__/set-project.command.spec.js +6 -7
- package/dist/commands/auth/__tests__/set-project.command.spec.js.map +1 -1
- package/dist/commands/auth/__tests__/whoami.command.spec.js +77 -124
- package/dist/commands/auth/__tests__/whoami.command.spec.js.map +1 -1
- package/dist/commands/auth/get-project.command.d.ts +6 -2
- package/dist/commands/auth/get-project.command.d.ts.map +1 -1
- package/dist/commands/auth/get-project.command.js +25 -24
- package/dist/commands/auth/get-project.command.js.map +1 -1
- package/dist/commands/auth/list-projects.command.d.ts.map +1 -1
- package/dist/commands/auth/list-projects.command.js +4 -8
- package/dist/commands/auth/list-projects.command.js.map +1 -1
- package/dist/commands/auth/set-project.command.d.ts +1 -0
- package/dist/commands/auth/set-project.command.d.ts.map +1 -1
- package/dist/commands/auth/set-project.command.js +22 -9
- package/dist/commands/auth/set-project.command.js.map +1 -1
- package/dist/commands/auth/whoami.command.d.ts.map +1 -1
- package/dist/commands/auth/whoami.command.js +94 -87
- package/dist/commands/auth/whoami.command.js.map +1 -1
- package/dist/utils/__tests__/project-selection-hint.spec.d.ts +2 -0
- package/dist/utils/__tests__/project-selection-hint.spec.d.ts.map +1 -0
- package/dist/utils/__tests__/project-selection-hint.spec.js +73 -0
- package/dist/utils/__tests__/project-selection-hint.spec.js.map +1 -0
- package/dist/utils/__tests__/resolve-project-identifier.spec.js +2 -27
- package/dist/utils/__tests__/resolve-project-identifier.spec.js.map +1 -1
- package/dist/utils/__tests__/select-project.spec.js +23 -22
- package/dist/utils/__tests__/select-project.spec.js.map +1 -1
- package/dist/utils/handle-auth-failure.d.ts +27 -0
- package/dist/utils/handle-auth-failure.d.ts.map +1 -1
- package/dist/utils/handle-auth-failure.js +44 -3
- package/dist/utils/handle-auth-failure.js.map +1 -1
- package/dist/utils/project-selection-hint.d.ts +16 -0
- package/dist/utils/project-selection-hint.d.ts.map +1 -0
- package/dist/utils/project-selection-hint.js +82 -0
- package/dist/utils/project-selection-hint.js.map +1 -0
- package/dist/utils/resolve-project-identifier.d.ts +0 -13
- package/dist/utils/resolve-project-identifier.d.ts.map +1 -1
- package/dist/utils/resolve-project-identifier.js +3 -26
- package/dist/utils/resolve-project-identifier.js.map +1 -1
- package/dist/utils/resolve-test-run-from-commit.d.ts.map +1 -1
- package/dist/utils/resolve-test-run-from-commit.js +4 -3
- package/dist/utils/resolve-test-run-from-commit.js.map +1 -1
- package/dist/utils/select-project.d.ts +20 -4
- package/dist/utils/select-project.d.ts.map +1 -1
- package/dist/utils/select-project.js +39 -13
- package/dist/utils/select-project.js.map +1 -1
- package/package.json +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-project.spec.js","sources":["../../../src/utils/__tests__/select-project.spec.ts"],"sourceRoot":"","names":[],"mappings":";;;;AAAA,mCAA8D;AAC9D,sDAAiD;AACjD,sDAK2B;AAE3B,MAAM,KAAK,GAAG,WAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,gBAAgB,EAAE,WAAE,CAAC,EAAE,EAAE;IACzB,sBAAsB,EAAE,WAAE,CAAC,EAAE,EAAE;IAC/B,sBAAsB,EAAE,WAAE,CAAC,EAAE,EAAE;IAC/B,YAAY,EAAE,WAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IAChC,MAAM,EAAE,WAAE,CAAC,EAAE,EAAE;CAChB,CAAC,CAAC,CAAC;AAEJ,WAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;IACxC,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;IACpD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;IACpD,YAAY,EAAE,KAAK,CAAC,YAAY;CACjC,CAAC,CAAC,CAAC;AAEJ,8EAA8E;AAC9E,aAAa;AACb,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE,CAAC,CAAC;IAC3D,
|
|
1
|
+
{"version":3,"file":"select-project.spec.js","sources":["../../../src/utils/__tests__/select-project.spec.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"42cf5a0a-a974-5f19-a984-dbab1288a84c"}
|
|
@@ -17,5 +17,32 @@
|
|
|
17
17
|
* try { ... } catch (error) { handleAuthFailure(error); throw error; }
|
|
18
18
|
*/
|
|
19
19
|
export declare const handleAuthFailure: (error: unknown) => false;
|
|
20
|
+
/**
|
|
21
|
+
* Re-presents a backend rejection as a `CliUserError` carrying the server's own
|
|
22
|
+
* message, so `wrapHandler` prints that message and exits non-zero instead of
|
|
23
|
+
* dumping a fetch error and stack. Use for endpoints whose 4xx bodies are
|
|
24
|
+
* written for the user (e.g. "no default project is set ..." — the backend is
|
|
25
|
+
* the only side that knows *why*, and duplicating that reasoning in the CLI is
|
|
26
|
+
* how the two drift apart). Returns the error unchanged when it carries no
|
|
27
|
+
* message, so genuine transport failures keep their original diagnostics.
|
|
28
|
+
*
|
|
29
|
+
* Deliberately narrowed to `400` rather than "any fetch error with a message":
|
|
30
|
+
* every business rejection these agent endpoints throw for a user to read is a
|
|
31
|
+
* `400` (see `AgentAccountService`'s `BadRequestException`/`AgentReasonedHttpException`
|
|
32
|
+
* throws). A `404` can just as easily mean the route itself doesn't exist (an
|
|
33
|
+
* older backend than this CLI) and a `5xx` is always a real defect — converting
|
|
34
|
+
* those into a `CliUserError` here would stop them reaching Sentry and hide the
|
|
35
|
+
* status/body that would explain them.
|
|
36
|
+
*/
|
|
37
|
+
export declare const toServerMessageError: (error: unknown) => unknown;
|
|
38
|
+
/**
|
|
39
|
+
* Whether `error` is Nest's default response for a request that matched no
|
|
40
|
+
* route at all (as opposed to a route that matched and rejected the request) —
|
|
41
|
+
* e.g. `{"statusCode":404,"message":"Cannot PUT /api/agent/project", "error":"Not Found"}`.
|
|
42
|
+
* Distinguishes "this CLI is newer than the backend it's talking to" from a
|
|
43
|
+
* genuine, intentionally-thrown 404 (like "project not found"), which callers
|
|
44
|
+
* must not conflate — see `toProjectResolutionError` in `select-project.ts`.
|
|
45
|
+
*/
|
|
46
|
+
export declare const isRouteNotFoundError: (error: unknown) => boolean;
|
|
20
47
|
export declare const extractServerMessage: (data: unknown) => string | null;
|
|
21
48
|
//# 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":"AAUA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,UAAW,OAAO,KAAG,KAiClD,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,OAAO,KAAG,MAAM,GAAG,IAc7D,CAAC"}
|
|
1
|
+
{"version":3,"file":"handle-auth-failure.d.ts","sourceRoot":"","sources":["../../src/utils/handle-auth-failure.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,UAAW,OAAO,KAAG,KAiClD,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,OAMrD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,OAMrD,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,OAAO,KAAG,MAAM,GAAG,IAc7D,CAAC"}
|
|
@@ -1,8 +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]="
|
|
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]="f0f87b64-3b10-5f7f-a980-1406b84c4928")}catch(e){}}();
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.extractServerMessage = exports.handleAuthFailure = void 0;
|
|
5
|
+
exports.extractServerMessage = exports.isRouteNotFoundError = exports.toServerMessageError = exports.handleAuthFailure = void 0;
|
|
6
6
|
const client_1 = require("@alwaysmeticulous/client");
|
|
7
7
|
const cli_user_error_1 = require("./cli-user-error");
|
|
8
8
|
/**
|
|
@@ -47,6 +47,47 @@ const handleAuthFailure = (error) => {
|
|
|
47
47
|
"If the token is stale, run `meticulous auth logout` and re-run the command.");
|
|
48
48
|
};
|
|
49
49
|
exports.handleAuthFailure = handleAuthFailure;
|
|
50
|
+
/**
|
|
51
|
+
* Re-presents a backend rejection as a `CliUserError` carrying the server's own
|
|
52
|
+
* message, so `wrapHandler` prints that message and exits non-zero instead of
|
|
53
|
+
* dumping a fetch error and stack. Use for endpoints whose 4xx bodies are
|
|
54
|
+
* written for the user (e.g. "no default project is set ..." — the backend is
|
|
55
|
+
* the only side that knows *why*, and duplicating that reasoning in the CLI is
|
|
56
|
+
* how the two drift apart). Returns the error unchanged when it carries no
|
|
57
|
+
* message, so genuine transport failures keep their original diagnostics.
|
|
58
|
+
*
|
|
59
|
+
* Deliberately narrowed to `400` rather than "any fetch error with a message":
|
|
60
|
+
* every business rejection these agent endpoints throw for a user to read is a
|
|
61
|
+
* `400` (see `AgentAccountService`'s `BadRequestException`/`AgentReasonedHttpException`
|
|
62
|
+
* throws). A `404` can just as easily mean the route itself doesn't exist (an
|
|
63
|
+
* older backend than this CLI) and a `5xx` is always a real defect — converting
|
|
64
|
+
* those into a `CliUserError` here would stop them reaching Sentry and hide the
|
|
65
|
+
* status/body that would explain them.
|
|
66
|
+
*/
|
|
67
|
+
const toServerMessageError = (error) => {
|
|
68
|
+
if (!(0, client_1.isFetchError)(error) || error.response?.status !== 400) {
|
|
69
|
+
return error;
|
|
70
|
+
}
|
|
71
|
+
const message = (0, exports.extractServerMessage)(error.response?.data);
|
|
72
|
+
return message ? new cli_user_error_1.CliUserError(message) : error;
|
|
73
|
+
};
|
|
74
|
+
exports.toServerMessageError = toServerMessageError;
|
|
75
|
+
/**
|
|
76
|
+
* Whether `error` is Nest's default response for a request that matched no
|
|
77
|
+
* route at all (as opposed to a route that matched and rejected the request) —
|
|
78
|
+
* e.g. `{"statusCode":404,"message":"Cannot PUT /api/agent/project", "error":"Not Found"}`.
|
|
79
|
+
* Distinguishes "this CLI is newer than the backend it's talking to" from a
|
|
80
|
+
* genuine, intentionally-thrown 404 (like "project not found"), which callers
|
|
81
|
+
* must not conflate — see `toProjectResolutionError` in `select-project.ts`.
|
|
82
|
+
*/
|
|
83
|
+
const isRouteNotFoundError = (error) => {
|
|
84
|
+
if (!(0, client_1.isFetchError)(error) || error.response?.status !== 404) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
const message = (0, exports.extractServerMessage)(error.response?.data);
|
|
88
|
+
return message != null && /^Cannot [A-Z]+ /.test(message);
|
|
89
|
+
};
|
|
90
|
+
exports.isRouteNotFoundError = isRouteNotFoundError;
|
|
50
91
|
const extractServerMessage = (data) => {
|
|
51
92
|
if (!data) {
|
|
52
93
|
return null;
|
|
@@ -64,4 +105,4 @@ const extractServerMessage = (data) => {
|
|
|
64
105
|
};
|
|
65
106
|
exports.extractServerMessage = extractServerMessage;
|
|
66
107
|
//# sourceMappingURL=handle-auth-failure.js.map
|
|
67
|
-
//# debugId=
|
|
108
|
+
//# debugId=f0f87b64-3b10-5f7f-a980-1406b84c4928
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-auth-failure.js","sources":["../../src/utils/handle-auth-failure.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAOkC;AAClC,qDAAgD;AAEhD;;;;;;;;;;;;;;;;;GAiBG;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,CAAC,IAAA,4BAAmB,EAAC,MAAM,CAAC,EAAE,CAAC;QACjC,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;IAE1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,6BAAY,CACpB,+BAA+B,MAAM,IAAI,MAAM,KAAK,8BAAqB,EAAE,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,6BAAY,CACpB,+BAA+B,MAAM,IAAI,MAAM,IAAI;QACjD,6EAA6E,CAChF,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,iBAAiB,qBAiC5B;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":"
|
|
1
|
+
{"version":3,"file":"handle-auth-failure.js","sources":["../../src/utils/handle-auth-failure.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAOkC;AAClC,qDAAgD;AAEhD;;;;;;;;;;;;;;;;;GAiBG;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,CAAC,IAAA,4BAAmB,EAAC,MAAM,CAAC,EAAE,CAAC;QACjC,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;IAE1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,6BAAY,CACpB,+BAA+B,MAAM,IAAI,MAAM,KAAK,8BAAqB,EAAE,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,6BAAY,CACpB,+BAA+B,MAAM,IAAI,MAAM,IAAI;QACjD,6EAA6E,CAChF,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,iBAAiB,qBAiC5B;AAEF;;;;;;;;;;;;;;;;GAgBG;AACI,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAW,EAAE;IAC9D,IAAI,CAAC,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,6BAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACrD,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B;AAEF;;;;;;;GAOG;AACI,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAW,EAAE;IAC9D,IAAI,CAAC,IAAA,qBAAY,EAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,IAAA,4BAAoB,EAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3D,OAAO,OAAO,IAAI,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5D,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B;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":"f0f87b64-3b10-5f7f-a980-1406b84c4928"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type MeticulousClient } from "@alwaysmeticulous/client";
|
|
2
|
+
/**
|
|
3
|
+
* Appends guidance to an empty/not-found result from a project-scoped command,
|
|
4
|
+
* naming the project the lookup actually ran against and how to change it. An
|
|
5
|
+
* empty-handed lookup is far more often a wrong-project mismatch than a genuine
|
|
6
|
+
* absence — a default project is stored server-side, so it is shared across
|
|
7
|
+
* every machine and the hosted MCP server, and drifts without any local signal.
|
|
8
|
+
* Returns `message` unchanged when `project` was passed explicitly: the caller
|
|
9
|
+
* already chose the project, so there is nothing to disambiguate.
|
|
10
|
+
*
|
|
11
|
+
* Best-effort and never throws: the resolution is one extra request on a path
|
|
12
|
+
* that has already failed, so a failure to describe the selection just falls
|
|
13
|
+
* back to naming the commands rather than the project.
|
|
14
|
+
*/
|
|
15
|
+
export declare const appendProjectSelectionHint: (message: string, client: MeticulousClient, project: string | undefined) => Promise<string>;
|
|
16
|
+
//# sourceMappingURL=project-selection-hint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-selection-hint.d.ts","sourceRoot":"","sources":["../../src/utils/project-selection-hint.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAelC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,YAC5B,MAAM,UACP,gBAAgB,WACf,MAAM,GAAG,SAAS,KAC1B,OAAO,CAAC,MAAM,CAGhB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
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]="19ab7503-45b7-57ed-b38a-297e407b0041")}catch(e){}}();
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.appendProjectSelectionHint = void 0;
|
|
6
|
+
const client_1 = require("@alwaysmeticulous/client");
|
|
7
|
+
/**
|
|
8
|
+
* Appends guidance to an empty/not-found result from a project-scoped command,
|
|
9
|
+
* naming the project the lookup actually ran against and how to change it. An
|
|
10
|
+
* empty-handed lookup is far more often a wrong-project mismatch than a genuine
|
|
11
|
+
* absence — a default project is stored server-side, so it is shared across
|
|
12
|
+
* every machine and the hosted MCP server, and drifts without any local signal.
|
|
13
|
+
* Returns `message` unchanged when `project` was passed explicitly: the caller
|
|
14
|
+
* already chose the project, so there is nothing to disambiguate.
|
|
15
|
+
*
|
|
16
|
+
* Best-effort and never throws: the resolution is one extra request on a path
|
|
17
|
+
* that has already failed, so a failure to describe the selection just falls
|
|
18
|
+
* back to naming the commands rather than the project.
|
|
19
|
+
*/
|
|
20
|
+
const appendProjectSelectionHint = async (message, client, project) => {
|
|
21
|
+
const hint = await describeProjectSelection(client, project);
|
|
22
|
+
return hint ? `${message} ${hint}` : message;
|
|
23
|
+
};
|
|
24
|
+
exports.appendProjectSelectionHint = appendProjectSelectionHint;
|
|
25
|
+
const describeProjectSelection = async (client, project) => {
|
|
26
|
+
if (project != null && project.trim() !== "") {
|
|
27
|
+
return "";
|
|
28
|
+
}
|
|
29
|
+
const selection = await resolveProjectSelection(client);
|
|
30
|
+
switch (selection.source) {
|
|
31
|
+
case "default":
|
|
32
|
+
return (`Searched project ${selection.slug} — your default project, since no --project was given. ` +
|
|
33
|
+
"If that is not the project you expected, run `meticulous auth list-projects` to see the " +
|
|
34
|
+
'projects you can access, `meticulous auth set-project` (interactive) or `meticulous auth set-project --project "<org/project>"` ' +
|
|
35
|
+
'to change the default, or pass --project "<org/project>" to override it for a single command.');
|
|
36
|
+
case "auto-picked":
|
|
37
|
+
return (`Searched project ${selection.slug} — automatically selected since it's the only project your ` +
|
|
38
|
+
"account can access, since no --project was given. If that is not the project you expected, run " +
|
|
39
|
+
"`meticulous auth list-projects` to see the projects you can access, " +
|
|
40
|
+
'`meticulous auth set-project --project "<org/project>"` to store an explicit default, or pass ' +
|
|
41
|
+
'--project "<org/project>" to override it for a single command.');
|
|
42
|
+
case "token":
|
|
43
|
+
// Only a project API token with cross-project access can actually use
|
|
44
|
+
// --project (see `ApiTokenService.resolveProjectFromTokenOrRequest`); other
|
|
45
|
+
// project and every test-run token reject it. Worded to be true either way
|
|
46
|
+
// rather than assuming this token can't use it.
|
|
47
|
+
return (`Searched project ${selection.slug}, which your API token is scoped to by default. Pass ` +
|
|
48
|
+
'--project "<org/project>" to search a different project — this only works for a project API ' +
|
|
49
|
+
"token with cross-project access; other tokens are rejected. `meticulous auth set-project` does " +
|
|
50
|
+
"not apply to any API token — to change the default, log in as a user with `meticulous auth login`.");
|
|
51
|
+
case "unknown":
|
|
52
|
+
return ("No --project was given, so this used your default project. Run `meticulous auth get-project` to " +
|
|
53
|
+
"see which project that is, `meticulous auth list-projects` for the projects you can access, and " +
|
|
54
|
+
"`meticulous auth set-project` to change the default.");
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Resolves which project the client's credentials target, and how, via a
|
|
59
|
+
* single call to `agent/project` — it already reports this unambiguously for
|
|
60
|
+
* either credential kind (see `AgentAccountService.getCurrentProject`), so
|
|
61
|
+
* there's no need to guess from which of several endpoints happens to answer.
|
|
62
|
+
*/
|
|
63
|
+
const resolveProjectSelection = async (client) => {
|
|
64
|
+
try {
|
|
65
|
+
const current = await (0, client_1.getAgentCurrentProject)(client);
|
|
66
|
+
switch (current.source) {
|
|
67
|
+
case "user-default":
|
|
68
|
+
return { source: "default", slug: current.project };
|
|
69
|
+
case "auto-picked":
|
|
70
|
+
return { source: "auto-picked", slug: current.project };
|
|
71
|
+
case "api-token":
|
|
72
|
+
return { source: "token", slug: current.project };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
// Offline, an older backend without this route, no usable default, or
|
|
77
|
+
// credentials injected at request time that this client never sees.
|
|
78
|
+
}
|
|
79
|
+
return { source: "unknown" };
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=project-selection-hint.js.map
|
|
82
|
+
//# debugId=19ab7503-45b7-57ed-b38a-297e407b0041
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-selection-hint.js","sources":["../../src/utils/project-selection-hint.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAGkC;AAelC;;;;;;;;;;;;GAYG;AACI,MAAM,0BAA0B,GAAG,KAAK,EAC7C,OAAe,EACf,MAAwB,EACxB,OAA2B,EACV,EAAE;IACnB,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC,CAAC;AAPW,QAAA,0BAA0B,8BAOrC;AAEF,MAAM,wBAAwB,GAAG,KAAK,EACpC,MAAwB,EACxB,OAA2B,EACV,EAAE;IACnB,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACxD,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,SAAS;YACZ,OAAO,CACL,oBAAoB,SAAS,CAAC,IAAI,yDAAyD;gBAC3F,0FAA0F;gBAC1F,kIAAkI;gBAClI,+FAA+F,CAChG,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO,CACL,oBAAoB,SAAS,CAAC,IAAI,6DAA6D;gBAC/F,iGAAiG;gBACjG,sEAAsE;gBACtE,gGAAgG;gBAChG,gEAAgE,CACjE,CAAC;QACJ,KAAK,OAAO;YACV,sEAAsE;YACtE,4EAA4E;YAC5E,2EAA2E;YAC3E,gDAAgD;YAChD,OAAO,CACL,oBAAoB,SAAS,CAAC,IAAI,uDAAuD;gBACzF,8FAA8F;gBAC9F,iGAAiG;gBACjG,oGAAoG,CACrG,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO,CACL,kGAAkG;gBAClG,kGAAkG;gBAClG,sDAAsD,CACvD,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,KAAK,EACnC,MAAwB,EACG,EAAE;IAC7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,+BAAsB,EAAC,MAAM,CAAC,CAAC;QACrD,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,cAAc;gBACjB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YACtD,KAAK,aAAa;gBAChB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1D,KAAK,WAAW;gBACd,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;QACtE,oEAAoE;IACtE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC,CAAC","debugId":"19ab7503-45b7-57ed-b38a-297e407b0041"}
|
|
@@ -15,17 +15,4 @@
|
|
|
15
15
|
export declare const resolveProjectIdentifier: (apiToken: string | null) => Promise<{
|
|
16
16
|
projectId?: string;
|
|
17
17
|
}>;
|
|
18
|
-
/**
|
|
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.
|
|
24
|
-
*
|
|
25
|
-
* A `null` token sends the request without an Authorization header, which
|
|
26
|
-
* doubles as a probe for environments that inject credentials into outbound
|
|
27
|
-
* requests: it resolves to the pinned project when injection is working and
|
|
28
|
-
* `null` otherwise.
|
|
29
|
-
*/
|
|
30
|
-
export declare const resolvePinnedProjectSlug: (apiToken: string | null) => Promise<string | null>;
|
|
31
18
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"resolve-project-identifier.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-project-identifier.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,aACzB,MAAM,GAAG,IAAI,KACtB,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBhC,CAAC"}
|
|
@@ -1,8 +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]="
|
|
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]="2fb3a46b-d479-5d7c-a99f-3328558c2975")}catch(e){}}();
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.
|
|
5
|
+
exports.resolveProjectIdentifier = void 0;
|
|
6
6
|
const common_1 = require("@alwaysmeticulous/common");
|
|
7
7
|
const client_1 = require("@alwaysmeticulous/client");
|
|
8
8
|
const cli_user_error_1 = require("./cli-user-error");
|
|
@@ -36,28 +36,5 @@ const resolveProjectIdentifier = async (apiToken) => {
|
|
|
36
36
|
return { projectId };
|
|
37
37
|
};
|
|
38
38
|
exports.resolveProjectIdentifier = resolveProjectIdentifier;
|
|
39
|
-
/**
|
|
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.
|
|
45
|
-
*
|
|
46
|
-
* A `null` token sends the request without an Authorization header, which
|
|
47
|
-
* doubles as a probe for environments that inject credentials into outbound
|
|
48
|
-
* requests: it resolves to the pinned project when injection is working and
|
|
49
|
-
* `null` otherwise.
|
|
50
|
-
*/
|
|
51
|
-
const resolvePinnedProjectSlug = async (apiToken) => {
|
|
52
|
-
try {
|
|
53
|
-
const client = (0, client_1.createClient)({ apiToken });
|
|
54
|
-
const project = await (0, client_1.getProject)(client);
|
|
55
|
-
return project ? `${project.organization.name}/${project.name}` : null;
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
exports.resolvePinnedProjectSlug = resolvePinnedProjectSlug;
|
|
62
39
|
//# sourceMappingURL=resolve-project-identifier.js.map
|
|
63
|
-
//# debugId=
|
|
40
|
+
//# debugId=2fb3a46b-d479-5d7c-a99f-3328558c2975
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-project-identifier.js","sources":["../../src/utils/resolve-project-identifier.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"resolve-project-identifier.js","sources":["../../src/utils/resolve-project-identifier.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAAA,qDAAsD;AACtD,qDAA+E;AAC/E,qDAAgD;AAEhD;;;;;;;;;;;;;GAaG;AACI,MAAM,wBAAwB,GAAG,KAAK,EAC3C,QAAuB,EACU,EAAE;IACnC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,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","debugId":"2fb3a46b-d479-5d7c-a99f-3328558c2975"}
|
|
@@ -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;
|
|
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;;;;;;;;;;GAUG;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,CAuBzB,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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
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]="
|
|
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]="f9ab1463-8487-58f2-8275-f7c3deeb549e")}catch(e){}}();
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.ensureTestRunFinished = exports.awaitTestRunCompletion = exports.tryResolveTestRunForCommit = exports.resolveTestRunForCommitOrThrow = exports.assertTestRunComplete = exports.isTestRunPartial = exports.isTestRunFailed = exports.isTestRunComplete = exports.isTestRunInProgress = exports.logResolvedCommitSha = void 0;
|
|
6
6
|
const client_1 = require("@alwaysmeticulous/client");
|
|
7
7
|
const common_1 = require("@alwaysmeticulous/common");
|
|
8
8
|
const cli_user_error_1 = require("./cli-user-error");
|
|
9
|
+
const project_selection_hint_1 = require("./project-selection-hint");
|
|
9
10
|
const POLL_INTERVAL_MS = 10_000;
|
|
10
11
|
/** Give up waiting for a run after this long, rather than polling forever. */
|
|
11
12
|
const POLL_TIMEOUT_MS = 10 * 60_000;
|
|
@@ -106,7 +107,7 @@ const resolveTestRunForCommitOrThrow = async (client, commitSha, project) => {
|
|
|
106
107
|
project,
|
|
107
108
|
});
|
|
108
109
|
if (testRunId == null || status == null) {
|
|
109
|
-
throw new cli_user_error_1.CliUserError(`No test run found for commit ${sha}
|
|
110
|
+
throw new cli_user_error_1.CliUserError(await (0, project_selection_hint_1.appendProjectSelectionHint)(`No test run found for commit ${sha}.`, client, project));
|
|
110
111
|
}
|
|
111
112
|
(0, common_1.logProgress)(`Resolved test run id: ${testRunId}`);
|
|
112
113
|
return { testRunId, status };
|
|
@@ -183,4 +184,4 @@ const ensureTestRunFinished = async (client, testRunId, status, { dontWait, thro
|
|
|
183
184
|
};
|
|
184
185
|
exports.ensureTestRunFinished = ensureTestRunFinished;
|
|
185
186
|
//# sourceMappingURL=resolve-test-run-from-commit.js.map
|
|
186
|
-
//# debugId=
|
|
187
|
+
//# debugId=f9ab1463-8487-58f2-8275-f7c3deeb549e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-test-run-from-commit.js","sources":["../../src/utils/resolve-test-run-from-commit.ts"],"sourceRoot":"","names":[],"mappings":";;;;;AAEA,qDAIkC;AAClC,qDAMkC;AAClC,qDAAgD;
|
|
1
|
+
{"version":3,"file":"resolve-test-run-from-commit.js","sources":["../../src/utils/resolve-test-run-from-commit.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"f9ab1463-8487-58f2-8275-f7c3deeb549e"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MeticulousClient, OAuthDefaultProjectResponse, OAuthProject } from "@alwaysmeticulous/client";
|
|
1
|
+
import type { AgentProjectListItem, MeticulousClient, OAuthDefaultProjectResponse, OAuthProject } from "@alwaysmeticulous/client";
|
|
2
2
|
/**
|
|
3
3
|
* Fetches the projects accessible to the OAuth caller, surfacing auth failures
|
|
4
4
|
* via `handleAuthFailure`. Shared by the project selection and listing flows.
|
|
@@ -9,12 +9,22 @@ import type { MeticulousClient, OAuthDefaultProjectResponse, OAuthProject } from
|
|
|
9
9
|
* returns.
|
|
10
10
|
*/
|
|
11
11
|
export declare const fetchAccessibleProjects: (client: MeticulousClient) => Promise<OAuthProject[]>;
|
|
12
|
+
/**
|
|
13
|
+
* The `auth list-projects` operation itself, as opposed to the incidental
|
|
14
|
+
* listing {@link fetchAccessibleProjects} does for the interactive picker and
|
|
15
|
+
* its error messages. It goes through the agent endpoint so the two are
|
|
16
|
+
* distinguishable server-side — a counter that also fired for every picker
|
|
17
|
+
* render would not measure the command.
|
|
18
|
+
*/
|
|
19
|
+
export declare const listProjectsForUser: (client: MeticulousClient) => Promise<AgentProjectListItem[]>;
|
|
12
20
|
/** `"organization/name"` slug, falling back to the bare id if unnamed. */
|
|
13
21
|
export declare const formatProjectSlug: (project: Pick<OAuthDefaultProjectResponse, "projectId" | "name" | "organization">) => string;
|
|
14
22
|
/**
|
|
15
23
|
* Picks a project and persists it as the caller's default (via the backend —
|
|
16
|
-
* see `
|
|
17
|
-
* MCP server). Shared by `auth login` and `auth set-project
|
|
24
|
+
* see `setAgentCurrentProject`, consistent across machines and visible to the
|
|
25
|
+
* MCP server). Shared by `auth login` and `auth set-project`: choosing a
|
|
26
|
+
* default at login is the same operation as choosing one later, so both count
|
|
27
|
+
* as one server-side.
|
|
18
28
|
*
|
|
19
29
|
* - When `project` is given, it's resolved by the backend, which accepts any of
|
|
20
30
|
* a bare id, an `organization/name` slug, or a unique bare name (see
|
|
@@ -33,7 +43,13 @@ export declare const selectAndStoreProject: ({ client, project, allowInteractive
|
|
|
33
43
|
client: MeticulousClient;
|
|
34
44
|
project?: string | undefined;
|
|
35
45
|
allowInteractivePrompt?: boolean;
|
|
36
|
-
}) => Promise<
|
|
46
|
+
}) => Promise<SelectedProject>;
|
|
47
|
+
/** The stored default project, as `auth set-project --json` reports it. */
|
|
48
|
+
export interface SelectedProject {
|
|
49
|
+
/** `"organization/name"` slug. */
|
|
50
|
+
project: string;
|
|
51
|
+
projectId: string;
|
|
52
|
+
}
|
|
37
53
|
/**
|
|
38
54
|
* Project selection for `auth login`. Behaves like `selectAndStoreProject`
|
|
39
55
|
* (persist an explicit `--project`, auto-select+persist a sole project, prompt
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-project.d.ts","sourceRoot":"","sources":["../../src/utils/select-project.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"select-project.d.ts","sourceRoot":"","sources":["../../src/utils/select-project.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,2BAA2B,EAC3B,YAAY,EACb,MAAM,0BAA0B,CAAC;AAWlC;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,WAC1B,gBAAgB,KACvB,OAAO,CAAC,YAAY,EAAE,CAQxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,WACtB,gBAAgB,KACvB,OAAO,CAAC,oBAAoB,EAAE,CAOhC,CAAC;AAgBF,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,YACnB,IAAI,CACX,2BAA2B,EAC3B,WAAW,GAAG,MAAM,GAAG,cAAc,CACtC,KACA,MAG4B,CAAC;AAEhC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,qBAAqB,iDAI/B;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,KAAG,OAAO,CAAC,eAAe,CA2C1B,CAAC;AAEF,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAmCD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,sCAI9B;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB,KAAG,OAAO,CAAC,IAAI,CA4Bf,CAAC"}
|
|
@@ -1,11 +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]="
|
|
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]="456cd521-2cdb-5104-b2e8-902e6b789af2")}catch(e){}}();
|
|
3
3
|
|
|
4
4
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
6
|
};
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.selectProjectOnLogin = exports.selectAndStoreProject = exports.formatProjectSlug = exports.fetchAccessibleProjects = void 0;
|
|
8
|
+
exports.selectProjectOnLogin = exports.selectAndStoreProject = exports.formatProjectSlug = exports.listProjectsForUser = exports.fetchAccessibleProjects = void 0;
|
|
9
9
|
const client_1 = require("@alwaysmeticulous/client");
|
|
10
10
|
const common_1 = require("@alwaysmeticulous/common");
|
|
11
11
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
@@ -31,6 +31,23 @@ const fetchAccessibleProjects = async (client) => {
|
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
exports.fetchAccessibleProjects = fetchAccessibleProjects;
|
|
34
|
+
/**
|
|
35
|
+
* The `auth list-projects` operation itself, as opposed to the incidental
|
|
36
|
+
* listing {@link fetchAccessibleProjects} does for the interactive picker and
|
|
37
|
+
* its error messages. It goes through the agent endpoint so the two are
|
|
38
|
+
* distinguishable server-side — a counter that also fired for every picker
|
|
39
|
+
* render would not measure the command.
|
|
40
|
+
*/
|
|
41
|
+
const listProjectsForUser = async (client) => {
|
|
42
|
+
try {
|
|
43
|
+
return await (0, client_1.getAgentProjects)(client);
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
(0, handle_auth_failure_1.handleAuthFailure)(error);
|
|
47
|
+
throw (0, handle_auth_failure_1.toServerMessageError)(error);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
exports.listProjectsForUser = listProjectsForUser;
|
|
34
51
|
const compareProjectsBySlug = (a, b) => {
|
|
35
52
|
const orgComparison = a.organization.name.localeCompare(b.organization.name, undefined, {
|
|
36
53
|
sensitivity: "base",
|
|
@@ -47,8 +64,10 @@ const formatProjectSlug = (project) => project.organization && project.name
|
|
|
47
64
|
exports.formatProjectSlug = formatProjectSlug;
|
|
48
65
|
/**
|
|
49
66
|
* Picks a project and persists it as the caller's default (via the backend —
|
|
50
|
-
* see `
|
|
51
|
-
* MCP server). Shared by `auth login` and `auth set-project
|
|
67
|
+
* see `setAgentCurrentProject`, consistent across machines and visible to the
|
|
68
|
+
* MCP server). Shared by `auth login` and `auth set-project`: choosing a
|
|
69
|
+
* default at login is the same operation as choosing one later, so both count
|
|
70
|
+
* as one server-side.
|
|
52
71
|
*
|
|
53
72
|
* - When `project` is given, it's resolved by the backend, which accepts any of
|
|
54
73
|
* a bare id, an `organization/name` slug, or a unique bare name (see
|
|
@@ -71,15 +90,14 @@ const selectAndStoreProject = async ({ client, project, allowInteractivePrompt =
|
|
|
71
90
|
const trimmedProject = project.trim();
|
|
72
91
|
let stored;
|
|
73
92
|
try {
|
|
74
|
-
stored = await (0, client_1.
|
|
93
|
+
stored = await (0, client_1.setAgentCurrentProject)(client, trimmedProject);
|
|
75
94
|
}
|
|
76
95
|
catch (error) {
|
|
77
96
|
(0, handle_auth_failure_1.handleAuthFailure)(error);
|
|
78
97
|
throw await toProjectResolutionError(client, trimmedProject, error);
|
|
79
98
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return projectSlug;
|
|
99
|
+
(0, common_1.logNotice)(`Selected project: ${stored.project}`);
|
|
100
|
+
return stored;
|
|
83
101
|
}
|
|
84
102
|
const projects = await (0, exports.fetchAccessibleProjects)(client);
|
|
85
103
|
if (projects.length === 0) {
|
|
@@ -98,18 +116,26 @@ const selectAndStoreProject = async ({ client, project, allowInteractivePrompt =
|
|
|
98
116
|
"terminal). Pass `--project` or run `meticulous auth set-project` to " +
|
|
99
117
|
"choose one.", 1, "warn");
|
|
100
118
|
}
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
return projectSlug;
|
|
119
|
+
const stored = await (0, client_1.setAgentCurrentProject)(client, selected.id);
|
|
120
|
+
(0, common_1.logNotice)(`Selected project: ${stored.project}`);
|
|
121
|
+
return stored;
|
|
105
122
|
};
|
|
106
123
|
exports.selectAndStoreProject = selectAndStoreProject;
|
|
107
124
|
/**
|
|
108
125
|
* Turns a failed explicit-project resolution into a helpful `CliUserError`: the
|
|
109
126
|
* backend's own message (not found / not accessible / ambiguous name) plus the
|
|
110
127
|
* list of accessible projects to pick from.
|
|
128
|
+
*
|
|
129
|
+
* Checked separately from that: a `404` because `PUT agent/project` itself
|
|
130
|
+
* doesn't exist yet (this CLI newer than the backend) would otherwise be
|
|
131
|
+
* misread as "project not found" — worse, with a list of "available projects"
|
|
132
|
+
* attached that makes the named project look like it's simply not among them.
|
|
111
133
|
*/
|
|
112
134
|
const toProjectResolutionError = async (client, identifier, error) => {
|
|
135
|
+
if ((0, handle_auth_failure_1.isRouteNotFoundError)(error)) {
|
|
136
|
+
return new cli_user_error_1.CliUserError("The backend doesn't support project selection yet (it may not have finished deploying " +
|
|
137
|
+
"this CLI's server-side counterpart). Try again shortly.");
|
|
138
|
+
}
|
|
113
139
|
const serverMessage = (0, client_1.isFetchError)(error)
|
|
114
140
|
? (0, handle_auth_failure_1.extractServerMessage)(error.response?.data)
|
|
115
141
|
: null;
|
|
@@ -179,4 +205,4 @@ const promptForProject = async (projects) => {
|
|
|
179
205
|
};
|
|
180
206
|
const formatProjectList = (projects) => projects.map((p) => ` - ${p.organization.name}/${p.name}`).join("\n");
|
|
181
207
|
//# sourceMappingURL=select-project.js.map
|
|
182
|
-
//# debugId=
|
|
208
|
+
//# debugId=456cd521-2cdb-5104-b2e8-902e6b789af2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-project.js","sources":["../../src/utils/select-project.ts"],"sourceRoot":"","names":[],"mappings":";;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"select-project.js","sources":["../../src/utils/select-project.ts"],"sourceRoot":"","names":[],"mappings":"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","debugId":"456cd521-2cdb-5104-b2e8-902e6b789af2"}
|