@component-compass/cli 0.1.2 → 0.1.3

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.
@@ -0,0 +1,13 @@
1
+ type SpawnLike = (cmd: string, args: string[], opts: {
2
+ stdio: "ignore";
3
+ detached: boolean;
4
+ }) => {
5
+ on(event: "error", listener: () => void): unknown;
6
+ unref(): void;
7
+ };
8
+ /** Best-effort: open `url` in the user's browser. Never throws; returns whether spawn was attempted. */
9
+ export declare function openBrowser(url: string, deps?: {
10
+ platform?: NodeJS.Platform;
11
+ spawnFn?: SpawnLike;
12
+ }): boolean;
13
+ export {};
@@ -0,0 +1,21 @@
1
+ import { spawn } from "node:child_process";
2
+ /** Best-effort: open `url` in the user's browser. Never throws; returns whether spawn was attempted. */
3
+ export function openBrowser(url, deps = {}) {
4
+ const platform = deps.platform ?? process.platform;
5
+ const spawnFn = deps.spawnFn ?? spawn;
6
+ const [cmd, args] = platform === "darwin"
7
+ ? ["open", [url]]
8
+ : platform === "win32"
9
+ ? ["cmd", ["/c", "start", "", url]]
10
+ : ["xdg-open", [url]];
11
+ try {
12
+ const child = spawnFn(cmd, [...args], { stdio: "ignore", detached: true });
13
+ child.on("error", () => { });
14
+ child.unref();
15
+ return true;
16
+ }
17
+ catch {
18
+ return false;
19
+ }
20
+ }
21
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/auth/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAQ3C,wGAAwG;AACxG,MAAM,UAAU,WAAW,CACzB,GAAW,EACX,OAA4D,EAAE;IAE9D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAK,KAA8B,CAAC;IAChE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GACf,QAAQ,KAAK,QAAQ;QACnB,CAAC,CAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAW;QAC5B,CAAC,CAAC,QAAQ,KAAK,OAAO;YACpB,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAW;YAC9C,CAAC,CAAE,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAW,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,48 @@
1
+ export type DeviceCodeResponse = {
2
+ deviceCode: string;
3
+ userCode: string;
4
+ verificationUri: string;
5
+ verificationUriComplete: string;
6
+ expiresIn: number;
7
+ interval: number;
8
+ };
9
+ export type TokenPair = {
10
+ accessToken: string;
11
+ refreshToken: string;
12
+ expiresIn: number;
13
+ /** Present on login (`token`), absent on `refresh`. */
14
+ email?: string;
15
+ };
16
+ export type PollResult = {
17
+ kind: "tokens";
18
+ tokens: TokenPair;
19
+ } | {
20
+ kind: "pending";
21
+ } | {
22
+ kind: "slow_down";
23
+ } | {
24
+ kind: "expired";
25
+ } | {
26
+ kind: "denied";
27
+ };
28
+ export type RefreshResult = {
29
+ kind: "tokens";
30
+ tokens: TokenPair;
31
+ } | {
32
+ kind: "terminal";
33
+ error: string;
34
+ } | {
35
+ kind: "transient";
36
+ error: string;
37
+ };
38
+ export declare class AuthHttpError extends Error {
39
+ status: number;
40
+ constructor(status: number, message: string);
41
+ }
42
+ export declare function requestDeviceCode(base: string): Promise<DeviceCodeResponse>;
43
+ export declare function pollToken(base: string, deviceCode: string): Promise<PollResult>;
44
+ export declare function refreshTokens(base: string, refreshToken: string): Promise<RefreshResult>;
45
+ export declare function whoami(base: string, accessToken: string): Promise<{
46
+ userId: string;
47
+ email: string | null;
48
+ } | null>;
@@ -0,0 +1,89 @@
1
+ export class AuthHttpError extends Error {
2
+ status;
3
+ constructor(status, message) {
4
+ super(message);
5
+ this.status = status;
6
+ }
7
+ }
8
+ function endpoint(base, path) {
9
+ return `${base.replace(/\/+$/, "")}${path}`;
10
+ }
11
+ async function readError(res) {
12
+ const body = (await res.json().catch(() => ({})));
13
+ return body.error ?? "unknown_error";
14
+ }
15
+ function toTokenPair(body) {
16
+ return {
17
+ accessToken: body.access_token,
18
+ refreshToken: body.refresh_token,
19
+ expiresIn: body.expires_in,
20
+ ...(body.email !== undefined ? { email: body.email } : {}),
21
+ };
22
+ }
23
+ export async function requestDeviceCode(base) {
24
+ const res = await fetch(endpoint(base, "/api/auth/cli/device-code"), { method: "POST" });
25
+ if (!res.ok)
26
+ throw new AuthHttpError(res.status, `device-code failed: ${await readError(res)}`);
27
+ const b = (await res.json());
28
+ return {
29
+ deviceCode: b.device_code,
30
+ userCode: b.user_code,
31
+ verificationUri: b.verification_uri,
32
+ verificationUriComplete: b.verification_uri_complete,
33
+ expiresIn: b.expires_in,
34
+ interval: b.interval,
35
+ };
36
+ }
37
+ export async function pollToken(base, deviceCode) {
38
+ const res = await fetch(endpoint(base, "/api/auth/cli/token"), {
39
+ method: "POST",
40
+ headers: { "Content-Type": "application/json" },
41
+ body: JSON.stringify({ device_code: deviceCode }),
42
+ });
43
+ if (res.ok) {
44
+ return { kind: "tokens", tokens: toTokenPair((await res.json())) };
45
+ }
46
+ const error = await readError(res);
47
+ switch (error) {
48
+ case "authorization_pending":
49
+ return { kind: "pending" };
50
+ case "slow_down":
51
+ return { kind: "slow_down" };
52
+ case "expired_token":
53
+ return { kind: "expired" };
54
+ case "access_denied":
55
+ return { kind: "denied" };
56
+ default:
57
+ throw new AuthHttpError(res.status, `token poll failed: ${error}`);
58
+ }
59
+ }
60
+ export async function refreshTokens(base, refreshToken) {
61
+ let res;
62
+ try {
63
+ res = await fetch(endpoint(base, "/api/auth/cli/refresh"), {
64
+ method: "POST",
65
+ headers: { "Content-Type": "application/json" },
66
+ body: JSON.stringify({ refresh_token: refreshToken }),
67
+ });
68
+ }
69
+ catch (err) {
70
+ // Network/DNS failure — treat as transient so we never discard a session.
71
+ return { kind: "transient", error: err instanceof Error ? err.message : "network_error" };
72
+ }
73
+ if (res.ok)
74
+ return { kind: "tokens", tokens: toTokenPair((await res.json())) };
75
+ const error = await readError(res);
76
+ const terminal = res.status === 401 && ["invalid_token", "sso_revoked", "not_authorized"].includes(error);
77
+ return terminal ? { kind: "terminal", error } : { kind: "transient", error };
78
+ }
79
+ export async function whoami(base, accessToken) {
80
+ const res = await fetch(endpoint(base, "/api/auth/cli/whoami"), {
81
+ headers: { Authorization: `Bearer ${accessToken}` },
82
+ });
83
+ if (res.status === 401)
84
+ return null;
85
+ if (!res.ok)
86
+ throw new AuthHttpError(res.status, `whoami failed: ${await readError(res)}`);
87
+ return (await res.json());
88
+ }
89
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/auth/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Absolute path to the hosts.json token store. */
2
+ export declare function hostsFilePath(env?: NodeJS.ProcessEnv): string;
@@ -0,0 +1,14 @@
1
+ import { homedir } from "node:os";
2
+ import { join } from "node:path";
3
+ /** Directory holding the compass CLI config (XDG-aware). */
4
+ function configDir(env = process.env) {
5
+ // biome-ignore lint/complexity/useLiteralKeys: env access
6
+ const xdg = env["XDG_CONFIG_HOME"];
7
+ const base = xdg && xdg.trim() !== "" ? xdg : join(homedir(), ".config");
8
+ return join(base, "compass");
9
+ }
10
+ /** Absolute path to the hosts.json token store. */
11
+ export function hostsFilePath(env = process.env) {
12
+ return join(configDir(env), "hosts.json");
13
+ }
14
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/auth/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,4DAA4D;AAC5D,SAAS,SAAS,CAAC,MAAyB,OAAO,CAAC,GAAG;IACrD,0DAA0D;IAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,aAAa,CAAC,MAAyB,OAAO,CAAC,GAAG;IAChE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { type Store } from "./store.js";
2
+ export declare class NotSignedInError extends Error {
3
+ host: string;
4
+ constructor(host: string);
5
+ }
6
+ export declare class ReloginRequiredError extends Error {
7
+ host: string;
8
+ constructor(host: string);
9
+ }
10
+ export declare class IdpUnavailableError extends Error {
11
+ host: string;
12
+ reason: string;
13
+ constructor(host: string, reason: string);
14
+ }
15
+ /** Host precedence: flag → repo config → COMPASS_HOST → stored default. Returns a normalized base URL. */
16
+ export declare function resolveHost(opts: {
17
+ flagHost?: string;
18
+ configHost?: string;
19
+ env?: NodeJS.ProcessEnv;
20
+ store: Store;
21
+ }): string;
22
+ /**
23
+ * Return a valid access token for `host`, silently refreshing when near expiry
24
+ * (or when `force` is set). Persists the rotated pair. Throws:
25
+ * - NotSignedInError — no stored entry
26
+ * - ReloginRequiredError — terminal refresh failure (tokens cleared)
27
+ * - IdpUnavailableError — transient refresh failure (tokens kept)
28
+ */
29
+ export declare function getAccessToken(host: string, deps?: {
30
+ force?: boolean;
31
+ now?: () => number;
32
+ filePath?: string;
33
+ }): Promise<{
34
+ accessToken: string;
35
+ userEmail: string;
36
+ }>;
37
+ /** Map an auth error to friendly copy, or null if it is not an auth error. */
38
+ export declare function formatAuthError(err: unknown): string | null;
@@ -0,0 +1,88 @@
1
+ import { loadStore, saveStore, normalizeHost } from "./store.js";
2
+ import { refreshTokens } from "./client.js";
3
+ /** Refresh this many ms before the recorded expiry. */
4
+ const EXPIRY_SKEW_MS = 60_000;
5
+ export class NotSignedInError extends Error {
6
+ host;
7
+ constructor(host) {
8
+ super(`Not signed in to ${host}. Run \`compass auth login --host ${host}\`.`);
9
+ this.host = host;
10
+ }
11
+ }
12
+ export class ReloginRequiredError extends Error {
13
+ host;
14
+ constructor(host) {
15
+ super(`Session for ${host} expired or was revoked. Run \`compass auth login --host ${host}\`.`);
16
+ this.host = host;
17
+ }
18
+ }
19
+ export class IdpUnavailableError extends Error {
20
+ host;
21
+ reason;
22
+ constructor(host, reason) {
23
+ super(`Could not reach the identity provider to refresh credentials for ${host} (${reason}). Check your network and retry.`);
24
+ this.host = host;
25
+ this.reason = reason;
26
+ }
27
+ }
28
+ /** Host precedence: flag → repo config → COMPASS_HOST → stored default. Returns a normalized base URL. */
29
+ export function resolveHost(opts) {
30
+ const env = opts.env ?? process.env;
31
+ // biome-ignore lint/complexity/useLiteralKeys: env access
32
+ const raw = opts.flagHost ?? opts.configHost ?? env["COMPASS_HOST"] ?? opts.store.default;
33
+ if (!raw) {
34
+ throw new Error("No upload host configured. Pass --host, set COMPASS_HOST, add `host` to component-compass.config.json, or run `compass auth login --host <url>`.");
35
+ }
36
+ return normalizeHost(raw);
37
+ }
38
+ /**
39
+ * Return a valid access token for `host`, silently refreshing when near expiry
40
+ * (or when `force` is set). Persists the rotated pair. Throws:
41
+ * - NotSignedInError — no stored entry
42
+ * - ReloginRequiredError — terminal refresh failure (tokens cleared)
43
+ * - IdpUnavailableError — transient refresh failure (tokens kept)
44
+ */
45
+ export async function getAccessToken(host, deps = {}) {
46
+ const now = deps.now ?? Date.now;
47
+ const base = normalizeHost(host);
48
+ const store = await loadStore(deps.filePath);
49
+ const entry = store.hosts[base];
50
+ if (!entry)
51
+ throw new NotSignedInError(base);
52
+ const stillValid = Date.parse(entry.expiresAt) - now() > EXPIRY_SKEW_MS;
53
+ if (stillValid && !deps.force) {
54
+ return { accessToken: entry.accessToken, userEmail: entry.userEmail };
55
+ }
56
+ const result = await refreshTokens(base, entry.refreshToken);
57
+ if (result.kind === "tokens") {
58
+ const updated = {
59
+ accessToken: result.tokens.accessToken,
60
+ refreshToken: result.tokens.refreshToken,
61
+ userEmail: result.tokens.email ?? entry.userEmail,
62
+ expiresAt: new Date(now() + result.tokens.expiresIn * 1000).toISOString(),
63
+ };
64
+ store.hosts[base] = updated;
65
+ await saveStore(store, deps.filePath);
66
+ return { accessToken: updated.accessToken, userEmail: updated.userEmail };
67
+ }
68
+ if (result.kind === "terminal") {
69
+ const { [base]: _removed, ...remainingHosts } = store.hosts;
70
+ const cleared = {
71
+ hosts: remainingHosts,
72
+ ...(store.default && store.default !== base ? { default: store.default } : {}),
73
+ };
74
+ await saveStore(cleared, deps.filePath);
75
+ throw new ReloginRequiredError(base);
76
+ }
77
+ throw new IdpUnavailableError(base, result.error);
78
+ }
79
+ /** Map an auth error to friendly copy, or null if it is not an auth error. */
80
+ export function formatAuthError(err) {
81
+ if (err instanceof NotSignedInError ||
82
+ err instanceof ReloginRequiredError ||
83
+ err instanceof IdpUnavailableError) {
84
+ return err.message;
85
+ }
86
+ return null;
87
+ }
88
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/auth/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export type HostEntry = {
2
+ accessToken: string;
3
+ refreshToken: string;
4
+ userEmail: string;
5
+ /** ISO 8601 access-token expiry. */
6
+ expiresAt: string;
7
+ };
8
+ export type Store = {
9
+ /** Normalized base URL of the default host, if any. */
10
+ default?: string;
11
+ hosts: Record<string, HostEntry>;
12
+ };
13
+ /** Canonical base URL: prepend https:// when no scheme, strip trailing slashes. */
14
+ export declare function normalizeHost(input: string): string;
15
+ export declare function loadStore(filePath?: string): Promise<Store>;
16
+ export declare function saveStore(store: Store, filePath?: string): Promise<void>;
@@ -0,0 +1,37 @@
1
+ import { mkdir, readFile, writeFile, chmod } from "node:fs/promises";
2
+ import { dirname } from "node:path";
3
+ import { hostsFilePath } from "./paths.js";
4
+ /** Canonical base URL: prepend https:// when no scheme, strip trailing slashes. */
5
+ export function normalizeHost(input) {
6
+ const trimmed = input.trim();
7
+ if (trimmed === "")
8
+ throw new Error("Host must not be empty.");
9
+ const withScheme = /^[a-z][a-z0-9+.-]*:\/\//i.test(trimmed) ? trimmed : `https://${trimmed}`;
10
+ return withScheme.replace(/\/+$/, "");
11
+ }
12
+ export async function loadStore(filePath = hostsFilePath()) {
13
+ let raw;
14
+ try {
15
+ raw = await readFile(filePath, "utf8");
16
+ }
17
+ catch (err) {
18
+ if (err.code === "ENOENT")
19
+ return { hosts: {} };
20
+ throw err;
21
+ }
22
+ let parsed;
23
+ try {
24
+ parsed = JSON.parse(raw);
25
+ }
26
+ catch {
27
+ throw new Error(`Token store at ${filePath} contains invalid JSON. Delete it and run \`compass auth login\` again.`);
28
+ }
29
+ return { ...(parsed.default ? { default: parsed.default } : {}), hosts: parsed.hosts ?? {} };
30
+ }
31
+ export async function saveStore(store, filePath = hostsFilePath()) {
32
+ await mkdir(dirname(filePath), { recursive: true, mode: 0o700 });
33
+ await writeFile(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 0o600 });
34
+ // writeFile's mode is ignored when the file already exists; force it.
35
+ await chmod(filePath, 0o600);
36
+ }
37
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/auth/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgB3C,mFAAmF;AACnF,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC;IAC7F,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAQ,GAAG,aAAa,EAAE;IACxD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3E,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,MAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,yEAAyE,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAY,EAAE,QAAQ,GAAG,aAAa,EAAE;IACtE,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAClF,sEAAsE;IACtE,MAAM,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type UploadResult } from "../upload.js";
2
+ export type AuthedUploader = {
3
+ /** Normalized base URL uploads are sent to. */
4
+ base: string;
5
+ /** Upload one artifact, refreshing + retrying once on a 401. */
6
+ upload: (artifactJson: string) => Promise<UploadResult>;
7
+ };
8
+ /**
9
+ * Resolve the host from precedence, obtain an access token (silent refresh if
10
+ * stale), and return an uploader that injects the token and retries once on 401.
11
+ * Throws NotSignedInError / ReloginRequiredError / IdpUnavailableError up front.
12
+ */
13
+ export declare function createAuthedUploader(opts: {
14
+ flagHost?: string;
15
+ configHost?: string;
16
+ store?: {
17
+ filePath?: string;
18
+ };
19
+ }): Promise<AuthedUploader>;
@@ -0,0 +1,34 @@
1
+ import { loadStore } from "./store.js";
2
+ import { resolveHost, getAccessToken } from "./session.js";
3
+ import { uploadArtifact, UploadError } from "../upload.js";
4
+ /**
5
+ * Resolve the host from precedence, obtain an access token (silent refresh if
6
+ * stale), and return an uploader that injects the token and retries once on 401.
7
+ * Throws NotSignedInError / ReloginRequiredError / IdpUnavailableError up front.
8
+ */
9
+ export async function createAuthedUploader(opts) {
10
+ const filePath = opts.store?.filePath;
11
+ const store = await loadStore(filePath);
12
+ const base = resolveHost({
13
+ ...(opts.flagHost !== undefined ? { flagHost: opts.flagHost } : {}),
14
+ ...(opts.configHost !== undefined ? { configHost: opts.configHost } : {}),
15
+ store,
16
+ });
17
+ let token = (await getAccessToken(base, filePath !== undefined ? { filePath } : {})).accessToken;
18
+ return {
19
+ base,
20
+ async upload(artifactJson) {
21
+ try {
22
+ return await uploadArtifact({ host: base, token, artifactJson });
23
+ }
24
+ catch (err) {
25
+ if (err instanceof UploadError && err.code === 401) {
26
+ token = (await getAccessToken(base, { force: true, ...(filePath !== undefined ? { filePath } : {}) })).accessToken;
27
+ return await uploadArtifact({ host: base, token, artifactJson });
28
+ }
29
+ throw err;
30
+ }
31
+ },
32
+ };
33
+ }
34
+ //# sourceMappingURL=upload-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload-auth.js","sourceRoot":"","sources":["../../src/auth/upload-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAqB,MAAM,cAAc,CAAC;AAS9E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAI1C;IACC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;IAExC,MAAM,IAAI,GAAG,WAAW,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,KAAK;KACN,CAAC,CAAC;IACH,IAAI,KAAK,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAEjG,OAAO;QACL,IAAI;QACJ,KAAK,CAAC,MAAM,CAAC,YAAoB;YAC/B,IAAI,CAAC;gBACH,OAAO,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;oBACnD,KAAK,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;oBACnH,OAAO,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;gBACnE,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/cli.js CHANGED
@@ -9,6 +9,7 @@ const HELP = `component-compass <command> [options]
9
9
  Commands:
10
10
  scan Scan repo and write component-compass.json
11
11
  init Scaffold component-compass.config.json
12
+ auth Sign in / out of a Component Compass host (login | logout | status)
12
13
  db import Backfill ~/.cc-artifacts/ (or <dir>) into a deployed host
13
14
 
14
15
  Scan options:
@@ -19,7 +20,12 @@ Scan options:
19
20
  --json Print JSON to stdout (implies --quiet)
20
21
  --repo-id <value> Override repo identifier in the artifact (else env COMPONENT_COMPASS_REPO_ID, git remote, package.json name, or cwd hash)
21
22
  --upload Also POST the scan to the configured host
22
- --host <url> Override host URL (else CC_HOST env, else config.host)
23
+ --host <url> Override host URL (else COMPASS_HOST env, else config.host)
24
+
25
+ Auth:
26
+ auth login [--host URL] Device-flow browser login; stores tokens in ~/.config/compass/hosts.json
27
+ auth logout [--host URL] Remove stored tokens for a host
28
+ auth status [--host URL] Show the signed-in identity
23
29
 
24
30
  Other:
25
31
  --help, -h
@@ -69,6 +75,10 @@ async function main(argv) {
69
75
  return 1;
70
76
  }
71
77
  }
78
+ if (cmd === "auth") {
79
+ const { runAuth } = await import("./commands/auth.js");
80
+ return runAuth(rest);
81
+ }
72
82
  if (cmd === "db") {
73
83
  const [sub, ...subRest] = rest;
74
84
  if (sub === "import") {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BZ,CAAC;AAEF,KAAK,UAAU,IAAI,CAAC,IAAc;IAChC,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAgB;YAC5B,UAAU,EAAE,KAAK,CAAC,MAAM,IAAI,iCAAiC;YAC7D,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;SAC1C,CAAC;QACF,IAAI,KAAK,CAAC,MAAM;YAAE,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;QACzD,IAAI,KAAK,CAAC,aAAa;YAAE,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAC/D,IAAI,KAAK,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM;YAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI;YAAE,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,CAAC;QACX,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1D,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;QAC/B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;YACzE,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC;gBAC1B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC,CAAC;YACH,OAAO,CAAC,CAAC,QAAQ,CAAC;QACpB,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,0BAA0B,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,CAAC;AACX,CAAC;AAaD,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,GAAG,GAAU,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI;gBAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI;gBAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,IAAI,CAAC,KAAK,kBAAkB;YAAE,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;aACzD,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;aACtC,IAAI,CAAC,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;aACpC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI;gBAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAC9B,CAAC;aAAM,IAAI,CAAC,KAAK,UAAU;YAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;aAC1C,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,CAAC,GAAG,EAAE,EAAE;IACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CACF,CAAC"}
@@ -0,0 +1,26 @@
1
+ type StoreOpt = {
2
+ filePath?: string;
3
+ };
4
+ export declare function runAuthLogin(opts: {
5
+ host: string;
6
+ store?: StoreOpt;
7
+ sleep?: (ms: number) => Promise<void>;
8
+ now?: () => number;
9
+ }): Promise<number>;
10
+ export declare function runAuthStatus(opts: {
11
+ host?: string;
12
+ store?: StoreOpt;
13
+ env?: NodeJS.ProcessEnv;
14
+ write?: (s: string) => void;
15
+ }): Promise<number>;
16
+ export declare function runAuthLogout(opts: {
17
+ host?: string;
18
+ store?: StoreOpt;
19
+ env?: NodeJS.ProcessEnv;
20
+ write?: (s: string) => void;
21
+ }): Promise<number>;
22
+ export declare function runAuth(argv: string[], deps?: {
23
+ env?: NodeJS.ProcessEnv;
24
+ store?: StoreOpt;
25
+ }): Promise<number>;
26
+ export {};
@@ -0,0 +1,156 @@
1
+ import { loadStore, saveStore, normalizeHost } from "../auth/store.js";
2
+ import { requestDeviceCode, pollToken, whoami, AuthHttpError } from "../auth/client.js";
3
+ import { openBrowser } from "../auth/browser.js";
4
+ import { resolveHost, getAccessToken, formatAuthError } from "../auth/session.js";
5
+ const out = (s) => process.stdout.write(s);
6
+ const err = (s) => process.stderr.write(s);
7
+ function defaultSleep(ms) {
8
+ return new Promise((resolve) => setTimeout(resolve, ms));
9
+ }
10
+ export async function runAuthLogin(opts) {
11
+ const base = normalizeHost(opts.host);
12
+ const sleep = opts.sleep ?? defaultSleep;
13
+ const now = opts.now ?? Date.now;
14
+ const filePath = opts.store?.filePath;
15
+ let device;
16
+ try {
17
+ device = await requestDeviceCode(base);
18
+ }
19
+ catch (e) {
20
+ err(`Could not reach ${base} to start login${e instanceof AuthHttpError ? ` (HTTP ${e.status})` : ""}. Check the host URL and your network.\n`);
21
+ return 1;
22
+ }
23
+ out(`To authorize this device, open:\n ${device.verificationUri}\nCode: ${device.userCode}\n`);
24
+ if (openBrowser(device.verificationUriComplete))
25
+ out("Opened your browser…\n");
26
+ out("Waiting for approval… ");
27
+ let intervalMs = device.interval * 1000;
28
+ const deadline = now() + device.expiresIn * 1000;
29
+ while (now() < deadline) {
30
+ await sleep(intervalMs);
31
+ let result;
32
+ try {
33
+ result = await pollToken(base, device.deviceCode);
34
+ }
35
+ catch (e) {
36
+ err(`\nLogin failed${e instanceof AuthHttpError ? ` (HTTP ${e.status})` : ""}. Run \`compass auth login\` again.\n`);
37
+ return 1;
38
+ }
39
+ if (result.kind === "tokens") {
40
+ const entry = {
41
+ accessToken: result.tokens.accessToken,
42
+ refreshToken: result.tokens.refreshToken,
43
+ userEmail: result.tokens.email ?? "",
44
+ expiresAt: new Date(now() + result.tokens.expiresIn * 1000).toISOString(),
45
+ };
46
+ const store = await loadStore(filePath);
47
+ store.hosts[base] = entry;
48
+ if (!store.default)
49
+ store.default = base;
50
+ await saveStore(store, filePath);
51
+ out(`✓ Signed in as ${entry.userEmail || "your account"}\n`);
52
+ return 0;
53
+ }
54
+ if (result.kind === "slow_down") {
55
+ intervalMs += 5_000;
56
+ continue;
57
+ }
58
+ if (result.kind === "expired") {
59
+ err("\nCode expired. Run `compass auth login` again.\n");
60
+ return 1;
61
+ }
62
+ if (result.kind === "denied") {
63
+ err("\nAuthorization was declined.\n");
64
+ return 1;
65
+ }
66
+ // pending → keep polling
67
+ }
68
+ err("\nTimed out waiting for approval. Run `compass auth login` again.\n");
69
+ return 1;
70
+ }
71
+ export async function runAuthStatus(opts) {
72
+ const write = opts.write ?? out;
73
+ const filePath = opts.store?.filePath;
74
+ const store = await loadStore(filePath);
75
+ let base;
76
+ try {
77
+ base = resolveHost({ ...(opts.host !== undefined ? { flagHost: opts.host } : {}), env: opts.env ?? process.env, store });
78
+ }
79
+ catch {
80
+ write("Not signed in.\n");
81
+ return 1;
82
+ }
83
+ if (!store.hosts[base]) {
84
+ write(`Not signed in to ${base}.\n`);
85
+ return 1;
86
+ }
87
+ try {
88
+ const { accessToken, userEmail } = await getAccessToken(base, filePath !== undefined ? { filePath } : {});
89
+ const who = await whoami(base, accessToken);
90
+ write(`Signed in as ${who?.email ?? userEmail} to ${base}.\n`);
91
+ return 0;
92
+ }
93
+ catch (e) {
94
+ const msg = formatAuthError(e) ?? (e instanceof Error ? e.message : String(e));
95
+ write(`${msg}\n`);
96
+ return 1;
97
+ }
98
+ }
99
+ export async function runAuthLogout(opts) {
100
+ const write = opts.write ?? out;
101
+ const filePath = opts.store?.filePath;
102
+ const store = await loadStore(filePath);
103
+ let base;
104
+ try {
105
+ base = resolveHost({ ...(opts.host !== undefined ? { flagHost: opts.host } : {}), env: opts.env ?? process.env, store });
106
+ }
107
+ catch {
108
+ write("Not signed in to anything.\n");
109
+ return 0;
110
+ }
111
+ if (!store.hosts[base]) {
112
+ write(`Not signed in to ${base}.\n`);
113
+ return 0;
114
+ }
115
+ // No server revoke endpoint exists yet; this is a local delete (best-effort revoke is a future no-op).
116
+ const { [base]: _removed, ...remaining } = store.hosts;
117
+ const next = {
118
+ hosts: remaining,
119
+ ...(store.default && store.default !== base ? { default: store.default } : {}),
120
+ };
121
+ await saveStore(next, filePath);
122
+ write(`Signed out of ${base}.\n`);
123
+ return 0;
124
+ }
125
+ /** Parse `--host <url>` out of an arg list. */
126
+ function hostFlag(argv) {
127
+ const i = argv.indexOf("--host");
128
+ return i >= 0 ? argv[i + 1] : undefined;
129
+ }
130
+ export async function runAuth(argv, deps = {}) {
131
+ const [sub, ...rest] = argv;
132
+ const flagHost = hostFlag(rest);
133
+ const env = deps.env ?? process.env;
134
+ switch (sub) {
135
+ case "login": {
136
+ const store = await loadStore(deps.store?.filePath);
137
+ let host;
138
+ try {
139
+ host = resolveHost({ ...(flagHost !== undefined ? { flagHost } : {}), env, store });
140
+ }
141
+ catch {
142
+ err("Specify a host: `compass auth login --host <url>` (or set COMPASS_HOST).\n");
143
+ return 2;
144
+ }
145
+ return runAuthLogin({ host, ...(deps.store ? { store: deps.store } : {}) });
146
+ }
147
+ case "status":
148
+ return runAuthStatus({ ...(flagHost !== undefined ? { host: flagHost } : {}), ...(deps.store ? { store: deps.store } : {}), env });
149
+ case "logout":
150
+ return runAuthLogout({ ...(flagHost !== undefined ? { host: flagHost } : {}), ...(deps.store ? { store: deps.store } : {}), env });
151
+ default:
152
+ err(`Unknown auth subcommand: ${sub ?? "(none)"}\nUsage: compass auth <login|logout|status> [--host <url>]\n`);
153
+ return 2;
154
+ }
155
+ }
156
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,19 @@
1
1
  import { readFile, readdir } from "node:fs/promises";
2
2
  import { homedir } from "node:os";
3
3
  import { join } from "node:path";
4
- import { resolveUploadTarget, uploadArtifact, UploadError } from "../upload.js";
4
+ import { UploadError } from "../upload.js";
5
+ import { createAuthedUploader } from "../auth/upload-auth.js";
6
+ import { formatAuthError } from "../auth/session.js";
5
7
  export async function runDbImport(opts = {}) {
6
8
  const dir = opts.dir ?? join(homedir(), ".cc-artifacts");
7
- const target = resolveUploadTarget(opts.hostOverride !== undefined ? { flagHost: opts.hostOverride } : {});
9
+ let uploader;
10
+ try {
11
+ uploader = await createAuthedUploader(opts.hostOverride !== undefined ? { flagHost: opts.hostOverride } : {});
12
+ }
13
+ catch (err) {
14
+ process.stderr.write(`${formatAuthError(err) ?? (err instanceof Error ? err.message : String(err))}\n`);
15
+ return { exitCode: 1, inserted: 0, skipped: 0, failed: 0, total: 0 };
16
+ }
8
17
  let repoDirs;
9
18
  try {
10
19
  const entries = await readdir(dir, { withFileTypes: true });
@@ -26,11 +35,7 @@ export async function runDbImport(opts = {}) {
26
35
  const path = join(repoDir, f);
27
36
  try {
28
37
  const json = await readFile(path, "utf8");
29
- const result = await uploadArtifact({
30
- host: target.host,
31
- token: target.token,
32
- artifactJson: json,
33
- });
38
+ const result = await uploader.upload(json);
34
39
  if (result.status === "inserted")
35
40
  inserted++;
36
41
  else
@@ -1 +1 @@
1
- {"version":3,"file":"db-import.js","sourceRoot":"","sources":["../../src/commands/db-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-import.js","sourceRoot":"","sources":["../../src/commands/db-import.ts"],"names":[],"mappings":"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"}
@@ -453,22 +453,20 @@ export async function runScan(opts) {
453
453
  }
454
454
  if (opts.upload) {
455
455
  try {
456
- const { resolveUploadTarget, uploadArtifact } = await import("../upload.js");
457
- const target = resolveUploadTarget({
456
+ const { createAuthedUploader } = await import("../auth/upload-auth.js");
457
+ const uploader = await createAuthedUploader({
458
458
  ...(opts.hostOverride !== undefined ? { flagHost: opts.hostOverride } : {}),
459
459
  ...(cfg.host !== undefined ? { configHost: cfg.host } : {}),
460
460
  });
461
- const result = await uploadArtifact({
462
- host: target.host,
463
- token: target.token,
464
- artifactJson: JSON.stringify(scanOutput),
465
- });
461
+ const result = await uploader.upload(JSON.stringify(scanOutput));
466
462
  log.info(result.status === "inserted"
467
- ? `Uploaded scan ${result.scanId} → ${target.host}${result.url}`
468
- : `Scan ${result.scanId} already exists at ${target.host}${result.url}; no changes.`);
463
+ ? `Uploaded scan ${result.scanId} → ${uploader.base}${result.url}`
464
+ : `Scan ${result.scanId} already exists at ${uploader.base}${result.url}; no changes.`);
469
465
  }
470
466
  catch (err) {
471
- const msg = err instanceof Error ? err.message : String(err);
467
+ const { formatAuthError } = await import("../auth/session.js");
468
+ const authMsg = formatAuthError(err);
469
+ const msg = authMsg ?? (err instanceof Error ? err.message : String(err));
472
470
  log.warn(`Upload failed: ${msg}`);
473
471
  }
474
472
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
package/dist/upload.d.ts CHANGED
@@ -1,7 +1,3 @@
1
- export type UploadTarget = {
2
- host: string;
3
- token: string;
4
- };
5
1
  export type UploadResult = {
6
2
  status: "inserted";
7
3
  scanId: string;
@@ -15,10 +11,6 @@ export declare class UploadError extends Error {
15
11
  code: number;
16
12
  constructor(code: number, message: string);
17
13
  }
18
- export declare function resolveUploadTarget(opts: {
19
- flagHost?: string;
20
- configHost?: string;
21
- }): UploadTarget;
22
14
  export declare function uploadArtifact(opts: {
23
15
  host: string;
24
16
  token: string;
package/dist/upload.js CHANGED
@@ -6,19 +6,6 @@ export class UploadError extends Error {
6
6
  this.code = code;
7
7
  }
8
8
  }
9
- export function resolveUploadTarget(opts) {
10
- // biome-ignore lint/complexity/useLiteralKeys: env access
11
- const host = opts.flagHost ?? process.env["CC_HOST"] ?? opts.configHost;
12
- if (!host) {
13
- throw new Error("No upload host configured. Pass --host, set CC_HOST, or add `host` to component-compass.config.json.");
14
- }
15
- // biome-ignore lint/complexity/useLiteralKeys: env access
16
- const token = process.env["CC_TOKEN"];
17
- if (!token) {
18
- throw new Error("CC_TOKEN env var is required for upload.");
19
- }
20
- return { host, token };
21
- }
22
9
  const GZIP_THRESHOLD = 1024 * 1024; // 1 MB
23
10
  export async function uploadArtifact(opts) {
24
11
  const url = `${opts.host.replace(/\/$/, "")}/api/scans`;
@@ -1 +1 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAQrC,MAAM,OAAO,WAAY,SAAQ,KAAK;IAE3B;IADT,YACS,IAAY,EACnB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAQ;IAIrB,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,IAGnC;IACC,0DAA0D;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;IACxE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;IACJ,CAAC;IACD,0DAA0D;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAE3C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAIpC;IACC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC;IAC1D,MAAM,IAAI,GAAoB,OAAO;QACnC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IACtB,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;KACtC,CAAC;IACF,IAAI,OAAO;QAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC;IAElD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoC,CAAC;QACnE,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;YAClD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,CAAC,MAAM,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../src/upload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAMrC,MAAM,OAAO,WAAY,SAAQ,KAAK;IAE3B;IADT,YACS,IAAY,EACnB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAQ;IAIrB,CAAC;CACF;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAE3C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAIpC;IACC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC;IAC1D,MAAM,IAAI,GAAoB,OAAO;QACnC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IACtB,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;KACtC,CAAC;IACF,IAAI,OAAO;QAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC;IAElD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoC,CAAC;QACnE,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;YAClD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,CAAC,MAAM,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;AAChG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@component-compass/cli",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Open-source CLI for measuring design-system component usage across multi-framework consumer repos.",
5
5
  "license": "MIT",
6
6
  "type": "module",