@dosu/cli 0.33.0 → 0.33.1

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.
Files changed (2) hide show
  1. package/bin/dosu.js +56 -21
  2. package/package.json +1 -1
package/bin/dosu.js CHANGED
@@ -2100,6 +2100,16 @@ var init_commander = __esm(() => {
2100
2100
  // src/config/config.ts
2101
2101
  import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
2102
2102
  import { join } from "node:path";
2103
+ function replaceLoginSession(cfg, session) {
2104
+ cfg.access_token = session.access_token;
2105
+ cfg.refresh_token = session.refresh_token;
2106
+ cfg.expires_at = session.expires_at;
2107
+ cfg.deployment_id = undefined;
2108
+ cfg.deployment_name = undefined;
2109
+ cfg.api_key = undefined;
2110
+ cfg.org_id = undefined;
2111
+ cfg.space_id = undefined;
2112
+ }
2103
2113
  function getConfigDir() {
2104
2114
  const dirName = process.env.DOSU_DEV === "true" ? "dosu-cli-dev" : "dosu-cli";
2105
2115
  const xdgConfig = process.env.XDG_CONFIG_HOME;
@@ -4577,7 +4587,7 @@ var init_dist4 = __esm(() => {
4577
4587
  function getVersionString() {
4578
4588
  return `v${VERSION}`;
4579
4589
  }
4580
- var VERSION = "0.33.0", INSTALL_CHANNEL = "npm";
4590
+ var VERSION = "0.33.1", INSTALL_CHANNEL = "npm";
4581
4591
 
4582
4592
  // src/debug/logger.ts
4583
4593
  import {
@@ -11748,7 +11758,7 @@ async function runSetup(opts = {}) {
11748
11758
  authTab?.close();
11749
11759
  };
11750
11760
  await trackCliOnboardingEvent(cfg, onboardingRunID, "cli_onboarding_auth_completed");
11751
- const apiClient = new Client(cfg);
11761
+ let apiClient = new Client(cfg);
11752
11762
  let cloudSetupContext = null;
11753
11763
  if (cfg.mode !== MODE_OSS) {
11754
11764
  const s = spinner();
@@ -11779,7 +11789,9 @@ async function runSetup(opts = {}) {
11779
11789
  });
11780
11790
  return;
11781
11791
  }
11782
- const ok = await bindOnboardingDeployment(apiClient, cfg, cloudSetupContext.targetOrg ?? null);
11792
+ apiClient = new Client(cfg);
11793
+ const targetOrg = await resolveCurrentOnboardingTargetOrg(cfg);
11794
+ const ok = await bindOnboardingDeployment(apiClient, cfg, targetOrg);
11783
11795
  if (!ok) {
11784
11796
  await trackCliOnboardingEvent(cfg, onboardingRunID, "cli_onboarding_failed", {
11785
11797
  reason: "onboarding_deployment_failed"
@@ -11995,9 +12007,11 @@ async function openBrowserForSetup(cfg, onboardingRunID) {
11995
12007
  const token = result.token;
11996
12008
  s.stop("Authenticated");
11997
12009
  logger.info("setup", "Browser auth completed");
11998
- cfg.access_token = token.access_token;
11999
- cfg.refresh_token = token.refresh_token;
12000
- cfg.expires_at = Math.floor(Date.now() / 1000) + token.expires_in;
12010
+ replaceLoginSession(cfg, {
12011
+ access_token: token.access_token,
12012
+ refresh_token: token.refresh_token,
12013
+ expires_at: Math.floor(Date.now() / 1000) + token.expires_in
12014
+ });
12001
12015
  saveConfig(cfg);
12002
12016
  return { cfg, authTab: result.server };
12003
12017
  } catch (err) {
@@ -12042,9 +12056,11 @@ async function stepWebOnboarding(cfg, onboardingRunID, authTab) {
12042
12056
  s.stop("Could not open a browser");
12043
12057
  return false;
12044
12058
  }
12045
- cfg.access_token = result.token.access_token;
12046
- cfg.refresh_token = result.token.refresh_token;
12047
- cfg.expires_at = Math.floor(Date.now() / 1000) + result.token.expires_in;
12059
+ replaceLoginSession(cfg, {
12060
+ access_token: result.token.access_token,
12061
+ refresh_token: result.token.refresh_token,
12062
+ expires_at: Math.floor(Date.now() / 1000) + result.token.expires_in
12063
+ });
12048
12064
  saveConfig(cfg);
12049
12065
  s.stop("Onboarding finished in the browser");
12050
12066
  logger.info("setup", "Web onboarding handoff completed");
@@ -12100,6 +12116,17 @@ async function resolveOnboardingTargetOrg(trpc) {
12100
12116
  }
12101
12117
  return accessibleOrgs[0] ?? null;
12102
12118
  }
12119
+ async function resolveCurrentOnboardingTargetOrg(cfg) {
12120
+ try {
12121
+ const { createTypedClient: createTypedClient2 } = await Promise.resolve().then(() => (init_trpc(), exports_trpc));
12122
+ return await resolveOnboardingTargetOrg(createTypedClient2(cfg));
12123
+ } catch (err) {
12124
+ const msg = err instanceof Error ? err.message : String(err);
12125
+ logger.error("setup", `Failed to resolve post-onboarding organization: ${msg}`);
12126
+ log.error(`Could not determine your onboarding organization: ${msg}`);
12127
+ return null;
12128
+ }
12129
+ }
12103
12130
  async function bindOnboardingDeployment(apiClient, cfg, targetOrg) {
12104
12131
  if (!targetOrg) {
12105
12132
  log.error("Could not determine your onboarding organization.");
@@ -12723,9 +12750,11 @@ async function handleAuthenticate(cfg) {
12723
12750
  }
12724
12751
  const token = result.token;
12725
12752
  s.stop("Authenticated");
12726
- cfg.access_token = token.access_token;
12727
- cfg.refresh_token = token.refresh_token;
12728
- cfg.expires_at = Math.floor(Date.now() / 1000) + token.expires_in;
12753
+ replaceLoginSession(cfg, {
12754
+ access_token: token.access_token,
12755
+ refresh_token: token.refresh_token,
12756
+ expires_at: Math.floor(Date.now() / 1000) + token.expires_in
12757
+ });
12729
12758
  saveConfig(cfg);
12730
12759
  } catch (err) {
12731
12760
  const { OAuthCallbackError: OAuthCallbackError2 } = await Promise.resolve().then(() => (init_errors(), exports_errors));
@@ -12892,9 +12921,11 @@ async function runLoginCheck(opts) {
12892
12921
  }
12893
12922
  if (result.status === "authenticated") {
12894
12923
  const cfg = loadConfig();
12895
- cfg.access_token = result.access_token ?? "";
12896
- cfg.refresh_token = result.refresh_token ?? "";
12897
- cfg.expires_at = Math.floor(Date.now() / 1000) + (result.expires_in ?? 3600);
12924
+ replaceLoginSession(cfg, {
12925
+ access_token: result.access_token ?? "",
12926
+ refresh_token: result.refresh_token ?? "",
12927
+ expires_at: Math.floor(Date.now() / 1000) + (result.expires_in ?? 3600)
12928
+ });
12898
12929
  saveConfig(cfg);
12899
12930
  logger.info("auth.ticket", "Ticket redeemed via dosu login --check");
12900
12931
  if (opts.json) {
@@ -13085,9 +13116,11 @@ async function redeemTicket(ticket, cfg) {
13085
13116
  });
13086
13117
  return { code: 0, cfg, exit: true };
13087
13118
  }
13088
- cfg.access_token = result.access_token ?? "";
13089
- cfg.refresh_token = result.refresh_token ?? "";
13090
- cfg.expires_at = Math.floor(Date.now() / 1000) + (result.expires_in ?? 3600);
13119
+ replaceLoginSession(cfg, {
13120
+ access_token: result.access_token ?? "",
13121
+ refresh_token: result.refresh_token ?? "",
13122
+ expires_at: Math.floor(Date.now() / 1000) + (result.expires_in ?? 3600)
13123
+ });
13091
13124
  saveConfig(cfg);
13092
13125
  logger.info("agent.flow", "Ticket redeemed; session saved");
13093
13126
  emitStep({ step: "auth", email: result.email });
@@ -16291,9 +16324,11 @@ Run 'dosu --help' to see available commands.`;
16291
16324
  token = result.token;
16292
16325
  }
16293
16326
  }
16294
- cfg.access_token = token.access_token;
16295
- cfg.refresh_token = token.refresh_token;
16296
- cfg.expires_at = Math.floor(Date.now() / 1000) + token.expires_in;
16327
+ replaceLoginSession(cfg, {
16328
+ access_token: token.access_token,
16329
+ refresh_token: token.refresh_token,
16330
+ expires_at: Math.floor(Date.now() / 1000) + token.expires_in
16331
+ });
16297
16332
  saveConfig(cfg);
16298
16333
  console.log("Successfully authenticated!");
16299
16334
  console.log(`Credentials saved to ${getConfigPath()}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dosu/cli",
3
- "version": "0.33.0",
3
+ "version": "0.33.1",
4
4
  "type": "module",
5
5
  "description": "Dosu CLI - Manage MCP servers for AI tools",
6
6
  "license": "MIT",