@jevitate/cli 0.8.0 → 0.10.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/anchor-baselines.d.ts +26 -0
- package/dist/anchor-baselines.js +25 -0
- package/dist/anchor-baselines.js.map +1 -0
- package/dist/approval-provenance.d.ts +48 -2
- package/dist/approval-provenance.js +110 -6
- package/dist/approval-provenance.js.map +1 -1
- package/dist/bin.js +25111 -17835
- package/dist/browser-cli.d.ts +10 -0
- package/dist/browser-cli.js +50 -0
- package/dist/browser-cli.js.map +1 -0
- package/dist/build-info.generated.js +2 -2
- package/dist/catalog-analysis.js +14 -0
- package/dist/catalog-analysis.js.map +1 -1
- package/dist/catalog-api.js +12 -4
- package/dist/catalog-api.js.map +1 -1
- package/dist/catalog-bundle-api.d.ts +73 -0
- package/dist/catalog-bundle-api.js +206 -0
- package/dist/catalog-bundle-api.js.map +1 -0
- package/dist/catalog-bundle-findings.d.ts +54 -0
- package/dist/catalog-bundle-findings.js +252 -0
- package/dist/catalog-bundle-findings.js.map +1 -0
- package/dist/catalog-bundle.d.ts +192 -0
- package/dist/catalog-bundle.js +578 -0
- package/dist/catalog-bundle.js.map +1 -0
- package/dist/catalog-cli.d.ts +6 -0
- package/dist/catalog-cli.js +180 -5
- package/dist/catalog-cli.js.map +1 -1
- package/dist/catalog-refs.d.ts +42 -0
- package/dist/catalog-refs.js +188 -0
- package/dist/catalog-refs.js.map +1 -0
- package/dist/catalog-review.d.ts +3 -1
- package/dist/catalog-review.js +61 -0
- package/dist/catalog-review.js.map +1 -1
- package/dist/catalog.d.ts +27 -3
- package/dist/catalog.js +46 -2
- package/dist/catalog.js.map +1 -1
- package/dist/change-context.d.ts +44 -0
- package/dist/change-context.js +203 -0
- package/dist/change-context.js.map +1 -0
- package/dist/check-api.d.ts +1 -1
- package/dist/check-api.js +206 -16
- package/dist/check-api.js.map +1 -1
- package/dist/check-cli.d.ts +2 -1
- package/dist/check-cli.js +117 -8
- package/dist/check-cli.js.map +1 -1
- package/dist/check-execute.d.ts +28 -1
- package/dist/check-execute.js +110 -27
- package/dist/check-execute.js.map +1 -1
- package/dist/check-plan.d.ts +14 -0
- package/dist/check-plan.js +24 -1
- package/dist/check-plan.js.map +1 -1
- package/dist/check-types.d.ts +137 -5
- package/dist/check-types.js +8 -0
- package/dist/check-types.js.map +1 -1
- package/dist/cli-output.d.ts +6 -0
- package/dist/cli-output.js +26 -1
- package/dist/cli-output.js.map +1 -1
- package/dist/cli-shared.d.ts +10 -0
- package/dist/cli-shared.js +0 -4
- package/dist/cli-shared.js.map +1 -1
- package/dist/exit-codes.d.ts +6 -3
- package/dist/exit-codes.js +24 -3
- package/dist/exit-codes.js.map +1 -1
- package/dist/explore-adversarial.js +2 -2
- package/dist/explore-adversarial.js.map +1 -1
- package/dist/explore-cli.js +3 -2
- package/dist/explore-cli.js.map +1 -1
- package/dist/explore-coverage.js +3 -3
- package/dist/explore-coverage.js.map +1 -1
- package/dist/explore-feature.js +3 -3
- package/dist/explore-feature.js.map +1 -1
- package/dist/explore-goal.js +11 -5
- package/dist/explore-goal.js.map +1 -1
- package/dist/findings-filing.d.ts +6 -0
- package/dist/findings-filing.js +15 -1
- package/dist/findings-filing.js.map +1 -1
- package/dist/forge-verify.d.ts +224 -0
- package/dist/forge-verify.js +649 -0
- package/dist/forge-verify.js.map +1 -0
- package/dist/heal-probe-guard.d.ts +9 -0
- package/dist/heal-probe-guard.js +113 -0
- package/dist/heal-probe-guard.js.map +1 -0
- package/dist/host-health-run.d.ts +32 -1
- package/dist/host-health-run.js +38 -1
- package/dist/host-health-run.js.map +1 -1
- package/dist/init-codeowners.d.ts +19 -0
- package/dist/init-codeowners.js +66 -0
- package/dist/init-codeowners.js.map +1 -1
- package/dist/job-draft-api.d.ts +52 -0
- package/dist/job-draft-api.js +110 -0
- package/dist/job-draft-api.js.map +1 -0
- package/dist/journeeze-api.d.ts +71 -0
- package/dist/journeeze-api.js +285 -0
- package/dist/journeeze-api.js.map +1 -0
- package/dist/journeeze-connect.d.ts +156 -0
- package/dist/journeeze-connect.js +357 -0
- package/dist/journeeze-connect.js.map +1 -0
- package/dist/journey-anchor-gate.d.ts +52 -0
- package/dist/journey-anchor-gate.js +101 -0
- package/dist/journey-anchor-gate.js.map +1 -0
- package/dist/journey-api.d.ts +43 -3
- package/dist/journey-api.js +226 -21
- package/dist/journey-api.js.map +1 -1
- package/dist/journey-cli.js +162 -20
- package/dist/journey-cli.js.map +1 -1
- package/dist/journey-heal.d.ts +74 -0
- package/dist/journey-heal.js +180 -0
- package/dist/journey-heal.js.map +1 -0
- package/dist/journey-lint-sarif.d.ts +3 -2
- package/dist/journey-lint-sarif.js +9 -2
- package/dist/journey-lint-sarif.js.map +1 -1
- package/dist/journey-migrate-api.d.ts +54 -0
- package/dist/journey-migrate-api.js +64 -0
- package/dist/journey-migrate-api.js.map +1 -0
- package/dist/journey-network-checks.d.ts +5 -1
- package/dist/journey-network-checks.js +15 -4
- package/dist/journey-network-checks.js.map +1 -1
- package/dist/journey-prefix.js +2 -2
- package/dist/journey-prefix.js.map +1 -1
- package/dist/journey-proposal-store.d.ts +109 -0
- package/dist/journey-proposal-store.js +365 -0
- package/dist/journey-proposal-store.js.map +1 -0
- package/dist/journey-result-record.d.ts +42 -0
- package/dist/journey-result-record.js +33 -0
- package/dist/journey-result-record.js.map +1 -0
- package/dist/journey-review-api.js +16 -1
- package/dist/journey-review-api.js.map +1 -1
- package/dist/journey-review.d.ts +18 -1
- package/dist/journey-review.js +116 -5
- package/dist/journey-review.js.map +1 -1
- package/dist/journey-stale-api.d.ts +40 -0
- package/dist/journey-stale-api.js +57 -0
- package/dist/journey-stale-api.js.map +1 -0
- package/dist/launch-armed.js +5 -1
- package/dist/launch-armed.js.map +1 -1
- package/dist/locator-health-api.d.ts +101 -0
- package/dist/locator-health-api.js +203 -0
- package/dist/locator-health-api.js.map +1 -0
- package/dist/locator-health.d.ts +195 -0
- package/dist/locator-health.js +419 -0
- package/dist/locator-health.js.map +1 -0
- package/dist/login-cli.d.ts +2 -0
- package/dist/login-cli.js +56 -11
- package/dist/login-cli.js.map +1 -1
- package/dist/mcp-api.d.ts +5 -1
- package/dist/mcp-api.js +53 -8
- package/dist/mcp-api.js.map +1 -1
- package/dist/mcp-cli-tools.d.ts +3 -1
- package/dist/mcp-cli-tools.js +80 -10
- package/dist/mcp-cli-tools.js.map +1 -1
- package/dist/multi-run.d.ts +7 -6
- package/dist/multi-run.js +5 -4
- package/dist/multi-run.js.map +1 -1
- package/dist/persona-login.d.ts +60 -3
- package/dist/persona-login.js +341 -31
- package/dist/persona-login.js.map +1 -1
- package/dist/program.js +2 -0
- package/dist/program.js.map +1 -1
- package/dist/project-config.d.ts +29 -0
- package/dist/project-config.js +76 -0
- package/dist/project-config.js.map +1 -0
- package/dist/report-api.d.ts +1 -0
- package/dist/report-api.js +1 -0
- package/dist/report-api.js.map +1 -1
- package/dist/resource-preflight.js +5 -3
- package/dist/resource-preflight.js.map +1 -1
- package/dist/run-metadata.d.ts +5 -2
- package/dist/run-metadata.js +10 -3
- package/dist/run-metadata.js.map +1 -1
- package/dist/run-tags-cli.d.ts +2 -0
- package/dist/run-tags-cli.js +8 -2
- package/dist/run-tags-cli.js.map +1 -1
- package/dist/self-heal-adapter.d.ts +43 -27
- package/dist/self-heal-adapter.js +196 -62
- package/dist/self-heal-adapter.js.map +1 -1
- package/dist/source-cli.js +5 -3
- package/dist/source-cli.js.map +1 -1
- package/dist/suite-explore-options.js +1 -0
- package/dist/suite-explore-options.js.map +1 -1
- package/dist/sweep-api.d.ts +23 -0
- package/dist/sweep-api.js +39 -8
- package/dist/sweep-api.js.map +1 -1
- package/dist/sweep-cli.js +3 -1
- package/dist/sweep-cli.js.map +1 -1
- package/dist/ux-usability.js +3 -2
- package/dist/ux-usability.js.map +1 -1
- package/package.json +17 -15
- package/skills/jevitate-ci-check/SKILL.md +25 -1
- package/skills/jevitate-getting-started/SKILL.md +9 -3
- package/skills/jevitate-mission-scope/SKILL.md +2 -2
- package/skills/jevitate-run-journey/SKILL.md +36 -5
- package/skills/jevitate-test-campaign/SKILL.md +13 -0
package/dist/persona-login.js
CHANGED
|
@@ -3,6 +3,7 @@ import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, wri
|
|
|
3
3
|
import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
|
5
5
|
import { redactText, redactUrl } from "@jevitate/ai-core";
|
|
6
|
+
import { clock } from "@jevitate/domain";
|
|
6
7
|
import { assertAuthorizedExploreTarget, isLoginLikeUrl, UnauthorizedExploreTargetError } from "@jevitate/explore";
|
|
7
8
|
import { sessionLaunchOptions } from "./browser-run-options.js";
|
|
8
9
|
import { findGitRoot, sessionFileInProjectRefusal } from "./project-dir.js";
|
|
@@ -47,34 +48,130 @@ function httpUrl(v, what) {
|
|
|
47
48
|
throw new LoginArgsError(`${what} must not carry credentials in the URL`);
|
|
48
49
|
return u.href;
|
|
49
50
|
}
|
|
50
|
-
const LOGIN_KEYS = ["url", "userEnv", "passwordEnv", "userField", "passwordField", "submit", "success"];
|
|
51
|
+
const LOGIN_KEYS = ["url", "api", "userEnv", "passwordEnv", "userField", "passwordField", "submit", "success"];
|
|
52
|
+
/** The keys only a form sign-in uses (refused beside `api`). */
|
|
53
|
+
const FORM_ONLY_KEYS = ["url", "userField", "passwordField", "submit", "success"];
|
|
54
|
+
const API_KEYS = ["url", "userKey", "passwordKey", "tokenPath", "storageKey", "storage", "verifyUrl"];
|
|
55
|
+
/** A JSON body key: a plain identifier (letters, digits, `_`, `-`). */
|
|
56
|
+
const BODY_KEY = /^[A-Za-z_][A-Za-z0-9_-]{0,63}$/;
|
|
57
|
+
/** One segment of a token path: an identifier or an array index. */
|
|
58
|
+
const PATH_SEGMENT = /^(?:[A-Za-z_][A-Za-z0-9_-]{0,63}|0|[1-9][0-9]{0,5})$/;
|
|
59
|
+
const UNSAFE_SEGMENTS = new Set(["__proto__", "prototype", "constructor"]);
|
|
60
|
+
/** A storage key: a safe identifier (letters, digits, `_`, `-`, `.`, `:`, `$`). */
|
|
61
|
+
const STORAGE_KEY = /^[A-Za-z_$][A-Za-z0-9_$.:-]{0,127}$/;
|
|
62
|
+
const FLAG_LABELS = {
|
|
63
|
+
url: "--api",
|
|
64
|
+
userKey: "--api-user-key",
|
|
65
|
+
passwordKey: "--api-password-key",
|
|
66
|
+
tokenPath: "--token-path",
|
|
67
|
+
storageKey: "--storage-key",
|
|
68
|
+
storage: "--storage",
|
|
69
|
+
verifyUrl: "--verify-url",
|
|
70
|
+
};
|
|
71
|
+
/** `a.b.0.c` → its segments (strict: identifiers or indexes, no prototype keys). */
|
|
72
|
+
export function parseTokenPath(path, what) {
|
|
73
|
+
const segments = path.split(".");
|
|
74
|
+
if (segments.length > 8 || segments.some((s) => !PATH_SEGMENT.test(s) || UNSAFE_SEGMENTS.has(s))) {
|
|
75
|
+
throw new LoginArgsError(`${what} must be a simple dotted path of identifiers or array indexes (e.g. token, data.accessToken; at most 8 segments), got ${JSON.stringify(path)}`);
|
|
76
|
+
}
|
|
77
|
+
return segments;
|
|
78
|
+
}
|
|
79
|
+
/** Validates an API login's settings (fail closed before any network). */
|
|
80
|
+
export function parseApiLogin(raw, labels = FLAG_LABELS) {
|
|
81
|
+
const url = httpUrl(raw.url, labels.url);
|
|
82
|
+
for (const [k, label] of [["userKey", labels.userKey], ["passwordKey", labels.passwordKey]]) {
|
|
83
|
+
const v = raw[k];
|
|
84
|
+
if (v !== undefined && !BODY_KEY.test(v))
|
|
85
|
+
throw new LoginArgsError(`${label} must be a JSON key of letters, digits, _ or - (starting with a letter or _), got ${JSON.stringify(v)}`);
|
|
86
|
+
}
|
|
87
|
+
const userKey = raw.userKey ?? "username";
|
|
88
|
+
const passwordKey = raw.passwordKey ?? "password";
|
|
89
|
+
if (userKey === passwordKey)
|
|
90
|
+
throw new LoginArgsError(`${labels.userKey} and ${labels.passwordKey} must differ (both are ${JSON.stringify(userKey)})`);
|
|
91
|
+
if (raw.storage !== undefined && raw.storage !== "local") {
|
|
92
|
+
if (raw.storage === "session") {
|
|
93
|
+
throw new LoginArgsError(`${labels.storage} session is not supported: a Playwright storage state holds cookies and localStorage only, so a sessionStorage token could not be saved or restored — use ${labels.storage} local, or a cookie session`);
|
|
94
|
+
}
|
|
95
|
+
throw new LoginArgsError(`${labels.storage} must be local, got ${JSON.stringify(raw.storage)}`);
|
|
96
|
+
}
|
|
97
|
+
let segments;
|
|
98
|
+
if (raw.tokenPath !== undefined)
|
|
99
|
+
segments = parseTokenPath(raw.tokenPath, labels.tokenPath);
|
|
100
|
+
else if (raw.storageKey !== undefined || raw.storage !== undefined)
|
|
101
|
+
throw new LoginArgsError(`${labels.storageKey}/${labels.storage} place the token ${labels.tokenPath} reads: pass ${labels.tokenPath} too`);
|
|
102
|
+
if (raw.storageKey !== undefined && !STORAGE_KEY.test(raw.storageKey)) {
|
|
103
|
+
throw new LoginArgsError(`${labels.storageKey} must be a safe identifier (letters, digits, _ $ . : -; starting with a letter, _ or $), got ${JSON.stringify(raw.storageKey)}`);
|
|
104
|
+
}
|
|
105
|
+
const storageKey = raw.storageKey ?? segments?.at(-1);
|
|
106
|
+
if (storageKey !== undefined && !STORAGE_KEY.test(storageKey)) {
|
|
107
|
+
throw new LoginArgsError(`${labels.tokenPath} ends in ${JSON.stringify(storageKey)}, which is not a storage key: name one with ${labels.storageKey}`);
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
url,
|
|
111
|
+
userKey,
|
|
112
|
+
passwordKey,
|
|
113
|
+
...optional("tokenPath", raw.tokenPath),
|
|
114
|
+
...optional("storageKey", storageKey),
|
|
115
|
+
storage: "local",
|
|
116
|
+
...optional("verifyUrl", raw.verifyUrl === undefined ? undefined : httpUrl(raw.verifyUrl, labels.verifyUrl)),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
51
119
|
/** Validates a personas file entry's `login` object (`where` names it in errors). */
|
|
52
120
|
export function parsePersonaLogin(v, where) {
|
|
53
121
|
if (v === null || typeof v !== "object" || Array.isArray(v))
|
|
54
|
-
throw new LoginArgsError(`${where} must be an object {url, userEnv, passwordEnv, …}`);
|
|
122
|
+
throw new LoginArgsError(`${where} must be an object {url | api, userEnv, passwordEnv, …}`);
|
|
55
123
|
const o = v;
|
|
56
124
|
for (const k of Object.keys(o)) {
|
|
57
125
|
if (!LOGIN_KEYS.includes(k)) {
|
|
58
126
|
throw new LoginArgsError(`${where}.${k}: unknown key (allowed: ${LOGIN_KEYS.join(", ")}; credentials are read from the environment variables userEnv/passwordEnv name)`);
|
|
59
127
|
}
|
|
60
128
|
}
|
|
61
|
-
const str = (k, required) => {
|
|
62
|
-
const x =
|
|
129
|
+
const str = (from, k, label, required) => {
|
|
130
|
+
const x = from[k];
|
|
63
131
|
if (x === undefined && !required)
|
|
64
132
|
return undefined;
|
|
65
133
|
if (typeof x !== "string" || x.trim() === "")
|
|
66
|
-
throw new LoginArgsError(`${
|
|
134
|
+
throw new LoginArgsError(`${label} must be a non-empty string`);
|
|
67
135
|
return x;
|
|
68
136
|
};
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
137
|
+
const userEnv = str(o, "userEnv", `${where}.userEnv`, true);
|
|
138
|
+
const passwordEnv = str(o, "passwordEnv", `${where}.passwordEnv`, true);
|
|
139
|
+
let login;
|
|
140
|
+
if (o.api !== undefined) {
|
|
141
|
+
const formKeys = FORM_ONLY_KEYS.filter((k) => o[k] !== undefined);
|
|
142
|
+
if (formKeys.length > 0)
|
|
143
|
+
throw new LoginArgsError(`${where}: api signs in through an HTTP endpoint — the form keys ${formKeys.join(", ")} do not apply beside it`);
|
|
144
|
+
const a = typeof o.api === "string" ? { url: o.api } : o.api;
|
|
145
|
+
if (a === null || typeof a !== "object" || Array.isArray(a))
|
|
146
|
+
throw new LoginArgsError(`${where}.api must be the endpoint URL or an object {url, userKey?, passwordKey?, tokenPath?, storageKey?, storage?, verifyUrl?}`);
|
|
147
|
+
const ao = a;
|
|
148
|
+
for (const k of Object.keys(ao)) {
|
|
149
|
+
if (!API_KEYS.includes(k))
|
|
150
|
+
throw new LoginArgsError(`${where}.api.${k}: unknown key (allowed: ${API_KEYS.join(", ")})`);
|
|
151
|
+
}
|
|
152
|
+
const label = (k) => `${where}.api${typeof o.api === "string" && k === "url" ? "" : `.${k}`}`;
|
|
153
|
+
const api = parseApiLogin({
|
|
154
|
+
url: str(ao, "url", label("url"), true),
|
|
155
|
+
userKey: str(ao, "userKey", label("userKey"), false),
|
|
156
|
+
passwordKey: str(ao, "passwordKey", label("passwordKey"), false),
|
|
157
|
+
tokenPath: str(ao, "tokenPath", label("tokenPath"), false),
|
|
158
|
+
storageKey: str(ao, "storageKey", label("storageKey"), false),
|
|
159
|
+
storage: str(ao, "storage", label("storage"), false),
|
|
160
|
+
verifyUrl: str(ao, "verifyUrl", label("verifyUrl"), false),
|
|
161
|
+
}, { url: label("url"), userKey: label("userKey"), passwordKey: label("passwordKey"), tokenPath: label("tokenPath"), storageKey: label("storageKey"), storage: label("storage"), verifyUrl: label("verifyUrl") });
|
|
162
|
+
login = { api, userEnv, passwordEnv };
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
login = {
|
|
166
|
+
url: httpUrl(str(o, "url", `${where}.url`, true), `${where}.url`),
|
|
167
|
+
userEnv,
|
|
168
|
+
passwordEnv,
|
|
169
|
+
...optional("userField", str(o, "userField", `${where}.userField`, false)),
|
|
170
|
+
...optional("passwordField", str(o, "passwordField", `${where}.passwordField`, false)),
|
|
171
|
+
...optional("submit", str(o, "submit", `${where}.submit`, false)),
|
|
172
|
+
...optional("success", str(o, "success", `${where}.success`, false)),
|
|
173
|
+
};
|
|
174
|
+
}
|
|
78
175
|
assertEnvVarName(login.userEnv, `${where}.userEnv`);
|
|
79
176
|
assertEnvVarName(login.passwordEnv, `${where}.passwordEnv`);
|
|
80
177
|
if (login.success !== undefined)
|
|
@@ -86,6 +183,26 @@ function optional(k, v) {
|
|
|
86
183
|
}
|
|
87
184
|
/** `jevitate login`'s flags → a validated `PersonaLogin` (fail closed before any browser opens). */
|
|
88
185
|
export function loginFromFlags(f) {
|
|
186
|
+
if (f.api !== undefined) {
|
|
187
|
+
if (f.url !== undefined)
|
|
188
|
+
throw new LoginArgsError("--api and --url are two ways to sign in: pass one");
|
|
189
|
+
const formFlags = [
|
|
190
|
+
["--user-field", f.userField],
|
|
191
|
+
["--password-field", f.passwordField],
|
|
192
|
+
["--submit", f.submit],
|
|
193
|
+
["--success", f.success],
|
|
194
|
+
]
|
|
195
|
+
.filter(([, v]) => v !== undefined)
|
|
196
|
+
.map(([k]) => k);
|
|
197
|
+
if (formFlags.length > 0)
|
|
198
|
+
throw new LoginArgsError(`--api signs in through an HTTP endpoint, not a form: ${formFlags.join(", ")} ${formFlags.length === 1 ? "does" : "do"} not apply`);
|
|
199
|
+
const login = { api: parseApiLogin(f.api), userEnv: f.userEnv, passwordEnv: f.passwordEnv };
|
|
200
|
+
assertEnvVarName(login.userEnv, "--user-env");
|
|
201
|
+
assertEnvVarName(login.passwordEnv, "--password-env");
|
|
202
|
+
return login;
|
|
203
|
+
}
|
|
204
|
+
if (f.url === undefined)
|
|
205
|
+
throw new LoginArgsError("missing --url (or --api)");
|
|
89
206
|
const login = {
|
|
90
207
|
url: httpUrl(f.url, "--url"),
|
|
91
208
|
userEnv: f.userEnv,
|
|
@@ -136,9 +253,9 @@ export function resolveLoginSecrets(login, env) {
|
|
|
136
253
|
};
|
|
137
254
|
return { username: read(login.userEnv, "--user-env"), password: read(login.passwordEnv, "--password-env") };
|
|
138
255
|
}
|
|
139
|
-
/** Removes both credentials (and URL credentials/tokens) from a text before it leaves this module. */
|
|
140
|
-
function scrub(text, secrets) {
|
|
141
|
-
return redactText(text, [secrets.password, secrets.username]);
|
|
256
|
+
/** Removes both credentials, and any session token read (#449), (and URL credentials/tokens) from a text before it leaves this module. */
|
|
257
|
+
function scrub(text, secrets, token) {
|
|
258
|
+
return redactText(text, token === undefined ? [secrets.password, secrets.username] : [token, secrets.password, secrets.username]);
|
|
142
259
|
}
|
|
143
260
|
// ── the login ─────────────────────────────────────────────────────────────────────────────────
|
|
144
261
|
const VISIBLE_PASSWORD = 'input[type="password"]';
|
|
@@ -161,6 +278,28 @@ async function firstVisible(candidates) {
|
|
|
161
278
|
function fieldBySpec(page, spec) {
|
|
162
279
|
return [page.getByLabel(spec, { exact: true }), page.getByLabel(spec), page.locator(spec)];
|
|
163
280
|
}
|
|
281
|
+
/**
|
|
282
|
+
* Waits (bounded by `timeoutMs`) until a login field is visible: any candidate from the user list or
|
|
283
|
+
* the password list. A client-rendered form (an SPA that mounts after load) therefore gets its chance
|
|
284
|
+
* before the "no username field" verdict. A timeout (or a candidate selector that is not CSS) is
|
|
285
|
+
* swallowed, so the existing field-not-found errors are still what the operator sees.
|
|
286
|
+
*/
|
|
287
|
+
async function waitForLoginField(page, login, timeoutMs) {
|
|
288
|
+
const candidates = [
|
|
289
|
+
...(login.userField === undefined ? userCandidates(page) : fieldBySpec(page, login.userField)),
|
|
290
|
+
...(login.passwordField === undefined ? passwordCandidates(page) : fieldBySpec(page, login.passwordField)),
|
|
291
|
+
];
|
|
292
|
+
try {
|
|
293
|
+
await candidates
|
|
294
|
+
.map((c) => c.filter({ visible: true }))
|
|
295
|
+
.reduce((a, b) => a.or(b))
|
|
296
|
+
.first()
|
|
297
|
+
.waitFor({ state: "visible", timeout: timeoutMs });
|
|
298
|
+
}
|
|
299
|
+
catch {
|
|
300
|
+
// No field appeared within the bound (or a candidate was not a valid selector): the lookups below decide.
|
|
301
|
+
}
|
|
302
|
+
}
|
|
164
303
|
function userCandidates(page) {
|
|
165
304
|
return [
|
|
166
305
|
page.locator(`${TEXT_INPUT}[autocomplete~="username"]`),
|
|
@@ -216,11 +355,49 @@ function pathOf(url) {
|
|
|
216
355
|
return "?";
|
|
217
356
|
}
|
|
218
357
|
}
|
|
358
|
+
/** How often {@link waitForNoSignInForm} re-checks the page for sign-in-form evidence (clock time). */
|
|
359
|
+
const SIGN_IN_FORM_POLL_MS = 100;
|
|
360
|
+
/** The submit controls whose accessible name marks a form as a sign-in form. */
|
|
361
|
+
const SIGN_IN_BUTTON = /sign\s*in|log\s*in|login|continue/i;
|
|
362
|
+
/**
|
|
363
|
+
* True when the page shows evidence of a sign-in form (#442): a login-like URL, OR a visible password
|
|
364
|
+
* field together with a visible username/email field ({@link userCandidates}) or a visible button whose
|
|
365
|
+
* accessible name matches {@link SIGN_IN_BUTTON}. A page with only a password field (an API-credentials
|
|
366
|
+
* or settings form) is NOT a sign-in form — it is not evidence of an expired session.
|
|
367
|
+
*/
|
|
368
|
+
async function showsSignInForm(page) {
|
|
369
|
+
if (isLoginLikeUrl(page.url()))
|
|
370
|
+
return true;
|
|
371
|
+
if ((await page.locator(VISIBLE_PASSWORD).filter({ visible: true }).count().catch(() => 0)) === 0)
|
|
372
|
+
return false;
|
|
373
|
+
if ((await firstVisible(userCandidates(page))) !== undefined)
|
|
374
|
+
return true;
|
|
375
|
+
return (await firstVisible([page.getByRole("button", { name: SIGN_IN_BUTTON })])) !== undefined;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Waits until {@link showsSignInForm} is false, bounded by `timeoutMs` of clock time (polled on the
|
|
379
|
+
* injectable clock, never a real-time sleep). Throws a Playwright-shaped `TimeoutError` at the bound,
|
|
380
|
+
* so the caller's existing timeout handling reports the login as failed.
|
|
381
|
+
*/
|
|
382
|
+
async function waitForNoSignInForm(page, timeoutMs) {
|
|
383
|
+
const deadline = clock.now() + Math.max(0, timeoutMs);
|
|
384
|
+
for (;;) {
|
|
385
|
+
if (!(await showsSignInForm(page)))
|
|
386
|
+
return;
|
|
387
|
+
const left = deadline - clock.now();
|
|
388
|
+
if (left <= 0) {
|
|
389
|
+
const err = new Error(`Timeout ${Math.round(timeoutMs)}ms exceeded waiting for the page to leave its sign-in form`);
|
|
390
|
+
err.name = "TimeoutError";
|
|
391
|
+
throw err;
|
|
392
|
+
}
|
|
393
|
+
await clock.sleep(Math.min(SIGN_IN_FORM_POLL_MS, left));
|
|
394
|
+
}
|
|
395
|
+
}
|
|
219
396
|
async function waitForSuccess(page, success, timeoutMs) {
|
|
220
397
|
if (success === undefined) {
|
|
221
|
-
// Default: the app moved off its sign-in page — no login-like URL and no
|
|
398
|
+
// Default: the app moved off its sign-in page — no login-like URL, and no sign-in-form evidence.
|
|
222
399
|
await page.waitForURL((u) => !isLoginLikeUrl(u.href), { timeout: timeoutMs, waitUntil: "load" });
|
|
223
|
-
await page
|
|
400
|
+
await waitForNoSignInForm(page, timeoutMs);
|
|
224
401
|
return;
|
|
225
402
|
}
|
|
226
403
|
if (success.kind === "urlIncludes") {
|
|
@@ -268,8 +445,11 @@ export async function performLogin(page, login, secrets, opts) {
|
|
|
268
445
|
const success = login.success === undefined ? undefined : parseLoginSuccess(login.success);
|
|
269
446
|
const t = opts.timeoutMs;
|
|
270
447
|
try {
|
|
448
|
+
if (login.url === undefined)
|
|
449
|
+
throw new LoginFailedError("no sign-in page: the login parameters name an API endpoint, not a form");
|
|
271
450
|
await page.goto(login.url, { waitUntil: "load", timeout: t });
|
|
272
451
|
assertPageAuthorized(page, opts.allowlist);
|
|
452
|
+
await waitForLoginField(page, login, t);
|
|
273
453
|
const findUser = async () => firstVisible(login.userField === undefined ? userCandidates(page) : fieldBySpec(page, login.userField));
|
|
274
454
|
const findPassword = async () => firstVisible(login.passwordField === undefined ? passwordCandidates(page) : fieldBySpec(page, login.passwordField));
|
|
275
455
|
let password = await findPassword();
|
|
@@ -372,21 +552,28 @@ export function writeStorageStateFile(path, json) {
|
|
|
372
552
|
throw err;
|
|
373
553
|
}
|
|
374
554
|
}
|
|
375
|
-
|
|
376
|
-
export async function mintStorageState(o) {
|
|
377
|
-
const secrets = resolveLoginSecrets(o.login, o.env);
|
|
378
|
-
const save = resolve(o.save);
|
|
379
|
-
const refusal = sessionFileInProjectRefusal(save, "the storage state");
|
|
380
|
-
if (refusal !== undefined)
|
|
381
|
-
throw new LoginArgsError(refusal);
|
|
555
|
+
function assertLoginOriginAuthorized(url, allowlist, what) {
|
|
382
556
|
try {
|
|
383
|
-
assertAuthorizedExploreTarget(
|
|
557
|
+
assertAuthorizedExploreTarget(url, allowlist);
|
|
384
558
|
}
|
|
385
559
|
catch (err) {
|
|
386
560
|
if (err instanceof UnauthorizedExploreTargetError)
|
|
387
|
-
throw new LoginArgsError(
|
|
561
|
+
throw new LoginArgsError(`${what} ${JSON.stringify(redactUrl(url))} is not an authorized origin (allowed: ${allowlist.join(", ") || "<none>"}) — refused`);
|
|
388
562
|
throw err;
|
|
389
563
|
}
|
|
564
|
+
}
|
|
565
|
+
/** Signs in on a fresh, unrecorded session and saves its storage state (mode 0600). */
|
|
566
|
+
export async function mintStorageState(o) {
|
|
567
|
+
if (o.login.api !== undefined)
|
|
568
|
+
return mintApiStorageState(o, o.login.api);
|
|
569
|
+
if (o.login.url === undefined)
|
|
570
|
+
throw new LoginArgsError("the login parameters name neither a sign-in page (url) nor an endpoint (api)");
|
|
571
|
+
const save = resolve(o.save);
|
|
572
|
+
const refusal = sessionFileInProjectRefusal(save, "the storage state");
|
|
573
|
+
if (refusal !== undefined)
|
|
574
|
+
throw new LoginArgsError(refusal);
|
|
575
|
+
assertLoginOriginAuthorized(o.login.url, o.allowlist, "login URL");
|
|
576
|
+
const secrets = resolveLoginSecrets(o.login, o.env);
|
|
390
577
|
// Never recorded: no video directory, no tracing, no screenshots — whatever the run's own flags say.
|
|
391
578
|
const { recordVideo: _video, ...launch } = o.browser ?? {};
|
|
392
579
|
let session;
|
|
@@ -406,6 +593,129 @@ export async function mintStorageState(o) {
|
|
|
406
593
|
await session?.close().catch(() => undefined);
|
|
407
594
|
}
|
|
408
595
|
}
|
|
596
|
+
/** The value at a dotted path in a parsed JSON body (own properties only), or undefined. */
|
|
597
|
+
function valueAtPath(body, segments) {
|
|
598
|
+
let cur = body;
|
|
599
|
+
for (const s of segments) {
|
|
600
|
+
if (cur === null || typeof cur !== "object" || !Object.prototype.hasOwnProperty.call(cur, s))
|
|
601
|
+
return undefined;
|
|
602
|
+
cur = cur[s];
|
|
603
|
+
}
|
|
604
|
+
return cur;
|
|
605
|
+
}
|
|
606
|
+
/** The app page an API login's session is proven on (and whose origin receives the token). */
|
|
607
|
+
export function apiVerifyUrl(api) {
|
|
608
|
+
return api.verifyUrl ?? `${new URL(api.url).origin}/`;
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* #449: signs in through an HTTP endpoint. The credentials are POSTed as JSON (from a fresh,
|
|
612
|
+
* unrecorded browser context, so the response's `Set-Cookie` lands in its cookie jar); redirects are
|
|
613
|
+
* never followed. The storage state is the context's cookies plus, with a token path, the token
|
|
614
|
+
* written into the verify URL origin's localStorage. Every message is scrubbed of both credentials
|
|
615
|
+
* and the token; a failed sign-in or verification writes nothing.
|
|
616
|
+
*/
|
|
617
|
+
async function mintApiStorageState(o, api) {
|
|
618
|
+
const save = resolve(o.save);
|
|
619
|
+
const refusal = sessionFileInProjectRefusal(save, "the storage state");
|
|
620
|
+
if (refusal !== undefined)
|
|
621
|
+
throw new LoginArgsError(refusal);
|
|
622
|
+
const appUrl = apiVerifyUrl(api);
|
|
623
|
+
assertLoginOriginAuthorized(api.url, o.allowlist, "login endpoint");
|
|
624
|
+
assertLoginOriginAuthorized(appUrl, o.allowlist, "the app page (--verify-url)");
|
|
625
|
+
if (o.verify !== undefined)
|
|
626
|
+
assertLoginOriginAuthorized(o.verify.url, o.allowlist, "the app page (--verify-url)");
|
|
627
|
+
const secrets = resolveLoginSecrets(o.login, o.env);
|
|
628
|
+
const segments = api.tokenPath === undefined ? undefined : parseTokenPath(api.tokenPath, "--token-path");
|
|
629
|
+
const { recordVideo: _video, ...launch } = o.browser ?? {};
|
|
630
|
+
let session;
|
|
631
|
+
let token;
|
|
632
|
+
let tmp;
|
|
633
|
+
try {
|
|
634
|
+
session = await o.port.open({ ...sessionLaunchOptions(launch), allowedOrigins: [...o.allowlist], baseUrl: appUrl });
|
|
635
|
+
const context = session.page.context();
|
|
636
|
+
const response = await context.request.post(api.url, {
|
|
637
|
+
data: { [api.userKey]: secrets.username, [api.passwordKey]: secrets.password },
|
|
638
|
+
headers: { accept: "application/json" },
|
|
639
|
+
maxRedirects: 0,
|
|
640
|
+
failOnStatusCode: false,
|
|
641
|
+
timeout: o.timeoutMs,
|
|
642
|
+
});
|
|
643
|
+
const status = response.status();
|
|
644
|
+
const where = pathOf(api.url);
|
|
645
|
+
if (status >= 300 && status < 400) {
|
|
646
|
+
const location = response.headers()["location"];
|
|
647
|
+
const target = location === undefined ? undefined : originOf(new URL(location, api.url).href);
|
|
648
|
+
if (target !== undefined && target !== new URL(api.url).origin) {
|
|
649
|
+
throw new LoginFailedError(`the sign-in endpoint ${where} redirected (HTTP ${status}) to another origin, ${target} — redirects are never followed`);
|
|
650
|
+
}
|
|
651
|
+
if (segments !== undefined)
|
|
652
|
+
throw new LoginFailedError(`the sign-in endpoint ${where} answered HTTP ${status} (a redirect, not followed), not a JSON body holding --token-path ${api.tokenPath}`);
|
|
653
|
+
}
|
|
654
|
+
else if (status < 200 || status >= 300) {
|
|
655
|
+
throw new LoginFailedError(`the sign-in endpoint ${where} answered HTTP ${status} — the credentials in ${o.login.userEnv}/${o.login.passwordEnv} were not accepted`);
|
|
656
|
+
}
|
|
657
|
+
if (segments !== undefined) {
|
|
658
|
+
let body;
|
|
659
|
+
try {
|
|
660
|
+
body = JSON.parse(await response.text());
|
|
661
|
+
}
|
|
662
|
+
catch {
|
|
663
|
+
throw new LoginFailedError(`the sign-in endpoint ${where} answered HTTP ${status} with a body that is not JSON — --token-path ${api.tokenPath} cannot be read`);
|
|
664
|
+
}
|
|
665
|
+
const v = valueAtPath(body, segments);
|
|
666
|
+
if (typeof v === "number" && Number.isFinite(v))
|
|
667
|
+
token = String(v);
|
|
668
|
+
else if (typeof v === "string" && v !== "")
|
|
669
|
+
token = v;
|
|
670
|
+
else
|
|
671
|
+
throw new LoginFailedError(`the sign-in endpoint's JSON response has no ${v === undefined || v === null ? "value" : "string value"} at --token-path ${api.tokenPath}`);
|
|
672
|
+
}
|
|
673
|
+
const raw = session.captureStorageState !== undefined ? await session.captureStorageState() : JSON.stringify(await context.storageState());
|
|
674
|
+
const state = JSON.parse(raw);
|
|
675
|
+
if (token === undefined && (state.cookies ?? []).length === 0) {
|
|
676
|
+
throw new LoginFailedError(`the sign-in endpoint ${where} answered HTTP ${status} but set no cookie — name the token in its JSON response with --token-path`);
|
|
677
|
+
}
|
|
678
|
+
if (token !== undefined) {
|
|
679
|
+
const origin = new URL(appUrl).origin;
|
|
680
|
+
const origins = (state.origins ?? []).filter((x) => x.origin !== origin);
|
|
681
|
+
const existing = (state.origins ?? []).find((x) => x.origin === origin)?.localStorage ?? [];
|
|
682
|
+
origins.push({ origin, localStorage: [...existing.filter((e) => e.name !== api.storageKey), { name: api.storageKey, value: token }] });
|
|
683
|
+
state.origins = origins;
|
|
684
|
+
}
|
|
685
|
+
await session.close().catch(() => undefined);
|
|
686
|
+
session = undefined;
|
|
687
|
+
let landed = appUrl;
|
|
688
|
+
const json = JSON.stringify(state);
|
|
689
|
+
if (o.verify === undefined) {
|
|
690
|
+
writeStorageStateFile(save, json);
|
|
691
|
+
}
|
|
692
|
+
else {
|
|
693
|
+
// Proven before it replaces anything: the check runs on a 0600 temp file beside the target.
|
|
694
|
+
tmp = join(dirname(save), `.${basename(save)}.${randomUUID()}.verify.json`);
|
|
695
|
+
writeStorageStateFile(tmp, json);
|
|
696
|
+
const verdict = await checkSession({ storageState: tmp, url: o.verify.url, allowlist: o.allowlist, check: o.verify.check, port: o.port, ...(o.browser === undefined ? {} : { browser: o.browser }), timeoutMs: o.timeoutMs });
|
|
697
|
+
if (!verdict.ok)
|
|
698
|
+
throw new LoginFailedError(`signed in through ${where}, but ${verdict.reason.replace(basename(tmp), "the new storage state")} — nothing saved`);
|
|
699
|
+
if (verdict.landedUrl !== undefined)
|
|
700
|
+
landed = verdict.landedUrl;
|
|
701
|
+
renameSync(tmp, save);
|
|
702
|
+
tmp = undefined;
|
|
703
|
+
}
|
|
704
|
+
return { saved: save, landedUrl: scrub(redactUrl(landed), secrets, token) };
|
|
705
|
+
}
|
|
706
|
+
catch (err) {
|
|
707
|
+
if (err instanceof LoginFailedError)
|
|
708
|
+
throw new LoginFailedError(scrub(err.message, secrets, token));
|
|
709
|
+
if (err instanceof LoginArgsError)
|
|
710
|
+
throw new LoginArgsError(scrub(err.message, secrets, token));
|
|
711
|
+
throw new LoginFailedError(scrub(`the sign-in failed: ${err instanceof Error ? err.message.split("\n")[0] : String(err)}`, secrets, token));
|
|
712
|
+
}
|
|
713
|
+
finally {
|
|
714
|
+
if (tmp !== undefined)
|
|
715
|
+
rmSync(tmp, { force: true });
|
|
716
|
+
await session?.close().catch(() => undefined);
|
|
717
|
+
}
|
|
718
|
+
}
|
|
409
719
|
/** How long the check waits for a client-side redirect (an SPA that asks its API, then routes to /login). */
|
|
410
720
|
const SETTLE_MS = 3_000;
|
|
411
721
|
/**
|
|
@@ -453,9 +763,9 @@ async function judgeLanding(page, o) {
|
|
|
453
763
|
if (isLoginLikeUrl(landed)) {
|
|
454
764
|
return { ok: false, landedUrl: where, reason: `the session in ${state} is not signed in: ${pathOf(o.url)} redirected to the sign-in page ${pathOf(landed)}` };
|
|
455
765
|
}
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
766
|
+
if (await showsSignInForm(page)) {
|
|
767
|
+
return { ok: false, landedUrl: where, reason: `the session in ${state} is not signed in: ${pathOf(landed)} shows a sign-in form (a password field with a username field or a sign-in button)` };
|
|
768
|
+
}
|
|
459
769
|
return { ok: true, landedUrl: where };
|
|
460
770
|
}
|
|
461
771
|
case "urlExcludes":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persona-login.js","sourceRoot":"","sources":["../src/persona-login.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persona-login.js","sourceRoot":"","sources":["../src/persona-login.ts"],"names":[],"mappings":"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"}
|
package/dist/program.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
import { registerDoctorCommand } from "./resource-preflight.js";
|
|
3
|
+
import { registerBrowserCommands } from "./browser-cli.js";
|
|
3
4
|
import { fail } from "./envelope.js";
|
|
4
5
|
import { registerLedgerCommands } from "./ledger-cli.js";
|
|
5
6
|
import { registerAiCommands } from "./ai-cli.js";
|
|
@@ -96,6 +97,7 @@ export function buildProgram(deps) {
|
|
|
96
97
|
registerReportCommands(program, { missionTargetsDir: resolveMissionTargetsDir(deps) });
|
|
97
98
|
registerLogsCommands(program, deps);
|
|
98
99
|
registerInvariantsCommands(program);
|
|
100
|
+
registerBrowserCommands(program); // #450: install-browser, browser-path
|
|
99
101
|
registerDoctorCommand(program); // #205: resource governance — host load, machine browser slots, orphans
|
|
100
102
|
useUsageExitCode(program);
|
|
101
103
|
return program;
|