@zivis/cli 0.1.0-alpha.7 → 0.1.0-alpha.8

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.
@@ -1,14 +1,9 @@
1
1
  import * as readline from "node:readline/promises";
2
- import { login, getStorageName, saveSessionEntry, loadTokens } from "@zivis/mcp/auth";
3
- import { getValidAccessToken } from "@zivis/mcp/auth/token-refresh";
2
+ import { login, getStorageName, saveSessionEntry } from "@zivis/mcp/auth";
4
3
  import { DEFAULT_CONFIG } from "@zivis/mcp/types";
5
4
  import { fetchUserOrgs, extractEmail } from "../../internal/orgs.js";
6
5
  import { ensureProjectBinding } from "../../internal/project-binding.js";
7
- /** Parse "received org_01XXX" out of the JWT mismatch error message. */
8
- function parseReceivedOrgId(msg) {
9
- const m = msg.match(/received (org_\w+)/);
10
- return m ? m[1] : null;
11
- }
6
+ import { decodeJwtPayload } from "@zivis/mcp/auth/jwt";
12
7
  async function prompt(question) {
13
8
  const rl = readline.createInterface({ input: process.stdin, output: process.stderr });
14
9
  try {
@@ -21,134 +16,114 @@ async function prompt(question) {
21
16
  export async function initCommand(opts) {
22
17
  const config = DEFAULT_CONFIG;
23
18
  const session = opts.session || "default";
24
- // Reuse a valid stored token avoids an extra browser open.
25
- // getValidAccessToken handles refresh; falls back to null if expired/revoked.
26
- let bootstrapToken = await getValidAccessToken({ ...config, session });
27
- if (bootstrapToken) {
28
- const stored = await loadTokens(session);
29
- const email = extractEmail(stored?.id_token);
30
- console.log(`Using existing session (${email}).`);
31
- console.log(`To force re-login first: zivis auth logout && zivis auth init\n`);
32
- }
33
- else {
34
- console.log("Step 1/2: Authenticate (browser will open)...");
35
- try {
36
- const tokens = await login(config, session, undefined, { skipConfirm: true });
37
- bootstrapToken = tokens.access_token;
38
- const email = extractEmail(tokens.id_token);
39
- console.log(`✓ Authenticated as ${email}`);
40
- }
41
- catch (err) {
42
- console.error("Login failed:", err instanceof Error ? err.message : err);
43
- process.exit(1);
44
- }
45
- }
46
- // Fetch the user's orgs
47
- let orgs;
19
+ // Step 1: Open browserno org pre-selection. User picks the org in their browser.
20
+ console.log("Opening browser for authentication...");
21
+ console.log("Log into the org you want to bind this project to.\n");
22
+ let tokens;
48
23
  try {
49
- orgs = await fetchUserOrgs(config, bootstrapToken);
24
+ tokens = await login(config, session, undefined, { skipConfirm: true });
50
25
  }
51
26
  catch (err) {
52
- console.error("Failed to fetch organizations:", err instanceof Error ? err.message : err);
53
- process.exit(1);
54
- }
55
- if (orgs.length === 0) {
56
- console.error("No organizations found for this account. Contact support.");
27
+ console.error("Login failed:", err instanceof Error ? err.message : err);
57
28
  process.exit(1);
58
29
  }
59
- let selectedOrg = orgs[0];
60
- if (orgs.length > 1) {
61
- console.log("Your organizations:");
62
- orgs.forEach((org, i) => console.log(` ${i + 1}. ${org.name}`));
63
- const answer = await prompt(`\nSelect org [1-${orgs.length}]: `);
64
- const idx = parseInt(answer, 10) - 1;
65
- if (isNaN(idx) || idx < 0 || idx >= orgs.length) {
66
- console.error("Invalid selection.");
67
- process.exit(1);
30
+ const email = extractEmail(tokens.id_token);
31
+ const storageName = getStorageName();
32
+ await saveSessionEntry(session, email);
33
+ console.log(`\n✓ Authenticated as ${email}`);
34
+ console.log(`✓ Credentials stored in ${storageName}`);
35
+ // Step 2: Determine which org the JWT is scoped to
36
+ const claims = decodeJwtPayload(tokens.access_token);
37
+ const jwtOrgId = claims?.org_id;
38
+ if (jwtOrgId) {
39
+ // JWT already has an org — look up the name and write the binding
40
+ let orgName;
41
+ try {
42
+ const orgs = await fetchUserOrgs(config, tokens.access_token);
43
+ orgName = orgs.find((o) => o.workosOrgId === jwtOrgId)?.name;
68
44
  }
69
- selectedOrg = orgs[idx];
45
+ catch {
46
+ // non-fatal — binding still works with just the org ID
47
+ }
48
+ const orgLabel = orgName ? `${orgName}` : jwtOrgId;
49
+ console.log(`✓ JWT scoped to org: ${orgLabel}`);
50
+ await ensureProjectBinding({
51
+ config,
52
+ session,
53
+ accessToken: tokens.access_token,
54
+ organizationId: jwtOrgId,
55
+ cwd: process.cwd(),
56
+ autoBind: true,
57
+ skipBind: false,
58
+ });
70
59
  }
71
60
  else {
72
- console.log(`One org found: ${selectedOrg.name}`);
73
- }
74
- if (!selectedOrg.workosOrgId) {
75
- console.error(`Org "${selectedOrg.name}" has no WorkOS organization ID — cannot scope login.`);
76
- process.exit(1);
77
- }
78
- // Attempt org-scoped login, with graceful handling for browser-session mismatches
79
- let scopedTokens;
80
- let finalOrgId = selectedOrg.workosOrgId;
81
- let finalOrgName = selectedOrg.name;
82
- let printUrlOnly = false;
83
- for (let attempt = 0; attempt < 2; attempt++) {
84
- const stepLabel = `Step ${orgs.length > 1 || attempt > 0 ? "2/2" : "1/1"}`;
85
- const browserNote = printUrlOnly ? "(URL will be printed — paste into a private/incognito window)" : "(browser will open)";
86
- console.log(`\n${stepLabel}: Logging in to ${finalOrgName} ${browserNote}...`);
61
+ // No org in JWT — user is authenticated but not scoped to an org yet.
62
+ // Fetch orgs and let them pick, then do a scoped login.
63
+ console.log("\nYour account isn't scoped to a specific org yet.");
64
+ console.log("Fetching your organizations...\n");
65
+ let orgs;
87
66
  try {
88
- scopedTokens = await login(config, session, finalOrgId, {
89
- orgName: finalOrgName,
90
- skipConfirm: true,
91
- printUrlOnly,
92
- });
93
- break; // success
67
+ orgs = await fetchUserOrgs(config, tokens.access_token);
94
68
  }
95
69
  catch (err) {
96
- const msg = err instanceof Error ? err.message : String(err);
97
- const receivedOrgId = parseReceivedOrgId(msg);
98
- if (!receivedOrgId) {
99
- console.error("Login failed:", msg);
70
+ console.error("Failed to fetch organizations:", err instanceof Error ? err.message : err);
71
+ process.exit(1);
72
+ }
73
+ if (orgs.length === 0) {
74
+ console.error("No organizations found. Contact support.");
75
+ process.exit(1);
76
+ }
77
+ if (orgs.length === 1) {
78
+ console.log(`One org found: ${orgs[0].name}. Re-authenticating scoped to that org...`);
79
+ }
80
+ else {
81
+ console.log("Your organizations:");
82
+ orgs.forEach((org, i) => console.log(` ${i + 1}. ${org.name}`));
83
+ const answer = await prompt(`\nSelect org to bind this project to [1-${orgs.length}]: `);
84
+ const idx = parseInt(answer, 10) - 1;
85
+ if (isNaN(idx) || idx < 0 || idx >= orgs.length) {
86
+ console.error("Invalid selection.");
100
87
  process.exit(1);
101
88
  }
102
- // Browser authenticated to a different org than selected
103
- const receivedOrg = orgs.find((o) => o.workosOrgId === receivedOrgId);
104
- const receivedName = receivedOrg?.name ?? receivedOrgId;
105
- console.error(`\n⚠ Browser authenticated to "${receivedName}" instead of "${finalOrgName}".`);
106
- console.error(` Your browser's active session is for a different org.`);
107
- if (attempt >= 1) {
108
- console.error("\nStill mismatched after retry — your browser may not support private-window auto-open.");
109
- console.error("Run `zivis auth init` again and paste the printed URL into a private/incognito window manually.");
89
+ const selected = orgs[idx];
90
+ if (!selected.workosOrgId) {
91
+ console.error(`Org "${selected.name}" has no WorkOS org ID.`);
110
92
  process.exit(1);
111
93
  }
112
- console.error("");
113
- console.error(`Options:`);
114
- console.error(` 1. Use "${receivedName}" (your current browser session)`);
115
- console.error(` 2. Retry in private/incognito mode to log into "${finalOrgName}"`);
116
- console.error(` 3. Abort`);
117
- const choice = await prompt(`Choose [1/2/3]: `);
118
- if (choice === "1") {
119
- // Accept what the browser returned
120
- finalOrgId = receivedOrgId;
121
- finalOrgName = receivedName;
122
- }
123
- else if (choice === "2") {
124
- // Retry the SAME org but print the URL instead of auto-opening, so the user
125
- // can paste it into a private/incognito window where no session exists
126
- printUrlOnly = true;
127
- // finalOrgId and finalOrgName stay the same
94
+ console.log(`\nRe-opening browser scoped to ${selected.name}...`);
95
+ console.log("(Tip: if your browser logs into the wrong org, use option 2 to get a URL for a private/incognito window)\n");
96
+ try {
97
+ const scopedTokens = await login(config, session, selected.workosOrgId, {
98
+ orgName: selected.name,
99
+ skipConfirm: true,
100
+ });
101
+ await saveSessionEntry(session, email);
102
+ await ensureProjectBinding({
103
+ config,
104
+ session,
105
+ accessToken: scopedTokens.access_token,
106
+ organizationId: selected.workosOrgId,
107
+ cwd: process.cwd(),
108
+ autoBind: true,
109
+ skipBind: false,
110
+ });
128
111
  }
129
- else {
130
- console.log("Aborted.");
131
- process.exit(0);
112
+ catch (err) {
113
+ const msg = err instanceof Error ? err.message : String(err);
114
+ const m = msg.match(/received (org_\w+)/);
115
+ if (m) {
116
+ console.error(`\n⚠ Browser authenticated to a different org than selected.`);
117
+ console.error(` Your browser has an active session for a different org.\n`);
118
+ console.error(` To fix: run \`zivis auth init\` again and paste the URL into a private/incognito window.`);
119
+ }
120
+ else {
121
+ console.error("Login failed:", msg);
122
+ }
123
+ process.exit(1);
132
124
  }
133
125
  }
134
126
  }
135
- if (!scopedTokens) {
136
- process.exit(1);
137
- }
138
- const email = extractEmail(scopedTokens.id_token);
139
- const storageName = getStorageName();
140
- await saveSessionEntry(session, email);
141
- console.log(`\n✓ Logged in as ${email} → ${finalOrgName}`);
142
- console.log(`✓ Credentials stored in ${storageName}`);
143
- await ensureProjectBinding({
144
- config,
145
- session,
146
- accessToken: scopedTokens.access_token,
147
- organizationId: finalOrgId,
148
- cwd: process.cwd(),
149
- autoBind: true,
150
- skipBind: false,
151
- });
152
127
  process.exit(0);
153
128
  }
154
129
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/auth/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/auth/init.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zivis/cli",
3
- "version": "0.1.0-alpha.7",
3
+ "version": "0.1.0-alpha.8",
4
4
  "description": "ZIVIS CLI — threat modeling, scans, and MCP server for IDE integration",
5
5
  "type": "module",
6
6
  "bin": {