archondev 2.8.4 → 2.8.6

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.
@@ -2,9 +2,9 @@ import {
2
2
  login,
3
3
  logout,
4
4
  status
5
- } from "./chunk-VX63Y6PC.js";
5
+ } from "./chunk-P5TXD443.js";
6
6
  import "./chunk-M4LGRTLC.js";
7
- import "./chunk-XU25OCAE.js";
7
+ import "./chunk-J25XJ4KZ.js";
8
8
  import "./chunk-SVU7MLG6.js";
9
9
  import "./chunk-QGM4M3NI.js";
10
10
  export {
@@ -43,8 +43,8 @@ async function offerReauthentication(reason) {
43
43
  return false;
44
44
  }
45
45
  console.log();
46
- const { login } = await import("./auth-2LHKBEIA.js");
47
- await login();
46
+ const { login } = await import("./auth-N4PZXJCN.js");
47
+ await login({ skipTierSelection: true });
48
48
  const { loadConfig: reload } = await import("./config-BBQW726O.js");
49
49
  const config = await reload();
50
50
  return !!(config && config.accessToken);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  login
3
- } from "./chunk-VX63Y6PC.js";
3
+ } from "./chunk-P5TXD443.js";
4
4
  import {
5
5
  getApiUrl,
6
6
  getAuthToken,
@@ -6,7 +6,7 @@ import {
6
6
  handleTierSetup,
7
7
  promptTierSelection,
8
8
  updateUserTier
9
- } from "./chunk-XU25OCAE.js";
9
+ } from "./chunk-J25XJ4KZ.js";
10
10
  import {
11
11
  clearConfig,
12
12
  loadConfig,
@@ -17,6 +17,7 @@ import {
17
17
  import { createClient } from "@supabase/supabase-js";
18
18
  import { createServer } from "http";
19
19
  import { URL } from "url";
20
+ import readline from "readline";
20
21
  import open from "open";
21
22
  import chalk from "chalk";
22
23
  import ora from "ora";
@@ -29,7 +30,10 @@ function getAuthClient() {
29
30
  }
30
31
  });
31
32
  }
32
- async function login(provider = "github") {
33
+ async function login(providerOrOptions = "github") {
34
+ const options = typeof providerOrOptions === "string" ? { provider: providerOrOptions } : providerOrOptions;
35
+ const provider = options.provider || "github";
36
+ const skipTierSelection = options.skipTierSelection || false;
33
37
  const spinner = ora("Starting authentication...").start();
34
38
  try {
35
39
  const supabase = getAuthClient();
@@ -80,7 +84,7 @@ async function login(provider = "github") {
80
84
  expiresAt: new Date(sessionData.session.expires_at ?? Date.now() + 36e5).toISOString()
81
85
  });
82
86
  spinner.succeed(chalk.green(`Logged in as ${sessionData.user.email}`));
83
- if (isFirstTimeUser) {
87
+ if (isFirstTimeUser && !skipTierSelection) {
84
88
  const selection = await promptTierSelection();
85
89
  if (selection && !selection.skipped) {
86
90
  const updateResult = await updateUserTier(selection.tier);
@@ -95,7 +99,7 @@ async function login(provider = "github") {
95
99
  }
96
100
  const config = await loadConfig();
97
101
  await saveConfig({ ...config, tier: userTier });
98
- } else {
102
+ } else if (!skipTierSelection) {
99
103
  console.log(chalk.dim(`Tier: ${formatTier(userTier)}`));
100
104
  }
101
105
  }
@@ -143,13 +147,21 @@ function startCallbackServer(authUrl, spinner) {
143
147
  }
144
148
  });
145
149
  server.listen(CALLBACK_PORT, async () => {
146
- spinner.text = "Opening browser for authentication...";
150
+ spinner.stop();
151
+ console.log(chalk.cyan("\nPress ENTER to open browser for authentication..."));
152
+ console.log(chalk.dim(`(or copy this URL: ${authUrl})
153
+ `));
154
+ await waitForEnter();
155
+ spinner.start("Opening browser...");
147
156
  try {
148
157
  await open(authUrl);
149
158
  spinner.text = "Waiting for authentication in browser...";
150
159
  } catch {
151
- spinner.text = `Please open this URL in your browser:
152
- ${authUrl}`;
160
+ spinner.stop();
161
+ console.log(chalk.yellow("\nCould not open browser automatically."));
162
+ console.log(chalk.bold("Please open this URL manually:"));
163
+ console.log(chalk.cyan(authUrl));
164
+ console.log();
153
165
  }
154
166
  });
155
167
  setTimeout(() => {
@@ -159,6 +171,18 @@ ${authUrl}`;
159
171
  }, 5 * 60 * 1e3);
160
172
  });
161
173
  }
174
+ function waitForEnter() {
175
+ return new Promise((resolve) => {
176
+ const rl = readline.createInterface({
177
+ input: process.stdin,
178
+ output: process.stdout
179
+ });
180
+ rl.question("", () => {
181
+ rl.close();
182
+ resolve();
183
+ });
184
+ });
185
+ }
162
186
  async function logout() {
163
187
  const spinner = ora("Logging out...").start();
164
188
  try {
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ import {
18
18
  setPreference,
19
19
  showExecutionPreferences,
20
20
  showPreferences
21
- } from "./chunk-SWTCJSCA.js";
21
+ } from "./chunk-J6JDRSGJ.js";
22
22
  import {
23
23
  parallelClean,
24
24
  parallelMerge,
@@ -62,7 +62,7 @@ import {
62
62
  login,
63
63
  logout,
64
64
  status
65
- } from "./chunk-VX63Y6PC.js";
65
+ } from "./chunk-P5TXD443.js";
66
66
  import {
67
67
  API_URL,
68
68
  SUPABASE_ANON_KEY,
@@ -72,7 +72,7 @@ import {
72
72
  handleTierSetup,
73
73
  promptTierSelection,
74
74
  updateUserTier
75
- } from "./chunk-XU25OCAE.js";
75
+ } from "./chunk-J25XJ4KZ.js";
76
76
  import {
77
77
  getAuthToken,
78
78
  loadConfig,
@@ -3245,7 +3245,7 @@ async function showMainMenu() {
3245
3245
  { key: "6", label: "Code Review", action: () => reviewCode() },
3246
3246
  { key: "7", label: "Settings & Preferences", action: () => settingsMenu() },
3247
3247
  { key: "8", label: "Upgrade tier", action: async () => {
3248
- const { showUpgradeMenu } = await import("./tier-selection-ITJBTLTH.js");
3248
+ const { showUpgradeMenu } = await import("./tier-selection-DZEZNFHK.js");
3249
3249
  await showUpgradeMenu();
3250
3250
  await showMainMenu();
3251
3251
  } },
@@ -3297,7 +3297,7 @@ async function listAtoms() {
3297
3297
  async function executeNext() {
3298
3298
  const { listLocalAtoms: listLocalAtoms2 } = await import("./plan-UZNWCUQI.js");
3299
3299
  const { analyzeProject, getComplexityDescription, getModeDescription } = await import("./orchestration-X6LHSHBJ.js");
3300
- const { loadExecutionPreferences } = await import("./preferences-XC5M3W6H.js");
3300
+ const { loadExecutionPreferences } = await import("./preferences-IHSBP6AR.js");
3301
3301
  const cwd = process.cwd();
3302
3302
  const atoms = await listLocalAtoms2();
3303
3303
  const pendingAtoms = atoms.filter((a) => a.status === "READY" || a.status === "IN_PROGRESS");
@@ -3344,11 +3344,11 @@ async function reportBug() {
3344
3344
  }
3345
3345
  }
3346
3346
  async function viewStatus() {
3347
- const { status: status2 } = await import("./auth-2LHKBEIA.js");
3347
+ const { status: status2 } = await import("./auth-N4PZXJCN.js");
3348
3348
  await status2();
3349
3349
  }
3350
3350
  async function settingsMenu() {
3351
- const { interactiveSettings } = await import("./preferences-XC5M3W6H.js");
3351
+ const { interactiveSettings } = await import("./preferences-IHSBP6AR.js");
3352
3352
  await interactiveSettings();
3353
3353
  await showMainMenu();
3354
3354
  }
@@ -3407,12 +3407,12 @@ async function reviewCode() {
3407
3407
  async function handleInSessionCommand(input) {
3408
3408
  const normalized = input.toLowerCase().trim();
3409
3409
  if (normalized === "upgrade" || normalized === "archon upgrade" || normalized === "pricing" || normalized === "archon pricing") {
3410
- const { showUpgradeMenu } = await import("./tier-selection-ITJBTLTH.js");
3410
+ const { showUpgradeMenu } = await import("./tier-selection-DZEZNFHK.js");
3411
3411
  await showUpgradeMenu();
3412
3412
  return true;
3413
3413
  }
3414
3414
  if (normalized === "status" || normalized === "archon status") {
3415
- const { status: status2 } = await import("./auth-2LHKBEIA.js");
3415
+ const { status: status2 } = await import("./auth-N4PZXJCN.js");
3416
3416
  await status2();
3417
3417
  return true;
3418
3418
  }
@@ -7525,11 +7525,11 @@ program.command("status").description("Show current user and project status").ac
7525
7525
  await status();
7526
7526
  });
7527
7527
  program.command("upgrade").description("Upgrade your tier (BYOK for free unlimited, or Managed plan)").action(async () => {
7528
- const { showUpgradeMenu } = await import("./tier-selection-ITJBTLTH.js");
7528
+ const { showUpgradeMenu } = await import("./tier-selection-DZEZNFHK.js");
7529
7529
  await showUpgradeMenu();
7530
7530
  });
7531
7531
  program.command("pricing", { hidden: true }).action(async () => {
7532
- const { showUpgradeMenu } = await import("./tier-selection-ITJBTLTH.js");
7532
+ const { showUpgradeMenu } = await import("./tier-selection-DZEZNFHK.js");
7533
7533
  await showUpgradeMenu();
7534
7534
  });
7535
7535
  program.command("init").description("Initialize ArchonDev in current project").option("--analyze", "Run enhanced analysis of codebase").option("--no-git", "Skip git initialization").action(async (options) => {
@@ -7,11 +7,11 @@ import {
7
7
  setPreference,
8
8
  showExecutionPreferences,
9
9
  showPreferences
10
- } from "./chunk-SWTCJSCA.js";
10
+ } from "./chunk-J6JDRSGJ.js";
11
11
  import "./chunk-QN65APWL.js";
12
- import "./chunk-VX63Y6PC.js";
12
+ import "./chunk-P5TXD443.js";
13
13
  import "./chunk-M4LGRTLC.js";
14
- import "./chunk-XU25OCAE.js";
14
+ import "./chunk-J25XJ4KZ.js";
15
15
  import "./chunk-SVU7MLG6.js";
16
16
  import "./chunk-WH6IKTYF.js";
17
17
  import "./chunk-QGM4M3NI.js";
@@ -4,7 +4,7 @@ import {
4
4
  showTierSwitchMenu,
5
5
  showUpgradeMenu,
6
6
  updateUserTier
7
- } from "./chunk-XU25OCAE.js";
7
+ } from "./chunk-J25XJ4KZ.js";
8
8
  import "./chunk-SVU7MLG6.js";
9
9
  import "./chunk-QGM4M3NI.js";
10
10
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "archondev",
3
- "version": "2.8.4",
3
+ "version": "2.8.6",
4
4
  "description": "Local-first AI-powered development governance system",
5
5
  "main": "dist/index.js",
6
6
  "bin": {