@boxes-dev/dvb 1.0.32 → 1.0.34

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/bin/dvb.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1ca4f1c5-c6fc-5436-8e08-a600d5ee41ad")}catch(e){}}();
3
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="c5ff8eeb-e556-5c16-a965-f352e4d938da")}catch(e){}}();
4
4
 
5
5
  var __create = Object.create;
6
6
  var __defProp = Object.defineProperty;
@@ -88634,8 +88634,8 @@ var init_otel = __esm({
88634
88634
  return trimmed && trimmed.length > 0 ? trimmed : void 0;
88635
88635
  };
88636
88636
  readBuildMetadata = () => {
88637
- const rawPackageVersion = "1.0.32";
88638
- const rawGitSha = "88e830e75f1877cc78e3b9e21c3f17965fbc2ebe";
88637
+ const rawPackageVersion = "1.0.34";
88638
+ const rawGitSha = "728f3b4e592ce57024fb094a16f6d43414ab5db7";
88639
88639
  const packageVersion = typeof rawPackageVersion === "string" ? rawPackageVersion : void 0;
88640
88640
  const gitSha = typeof rawGitSha === "string" ? rawGitSha : void 0;
88641
88641
  return { packageVersion, gitSha };
@@ -120623,9 +120623,9 @@ var init_sentry = __esm({
120623
120623
  sentryEnabled = false;
120624
120624
  uncaughtExceptionMonitorInstalled = false;
120625
120625
  readBuildMetadata2 = () => {
120626
- const rawPackageVersion = "1.0.32";
120627
- const rawGitSha = "88e830e75f1877cc78e3b9e21c3f17965fbc2ebe";
120628
- const rawSentryRelease = "boxes-dev-dvb@1.0.32+88e830e75f1877cc78e3b9e21c3f17965fbc2ebe";
120626
+ const rawPackageVersion = "1.0.34";
120627
+ const rawGitSha = "728f3b4e592ce57024fb094a16f6d43414ab5db7";
120628
+ const rawSentryRelease = "boxes-dev-dvb@1.0.34+728f3b4e592ce57024fb094a16f6d43414ab5db7";
120629
120629
  const packageVersion = typeof rawPackageVersion === "string" ? rawPackageVersion : void 0;
120630
120630
  const gitSha = typeof rawGitSha === "string" ? rawGitSha : void 0;
120631
120631
  const sentryRelease = typeof rawSentryRelease === "string" ? rawSentryRelease : void 0;
@@ -134194,7 +134194,7 @@ var init_controlPlane = __esm({
134194
134194
  0 4px 14px rgba(0, 0, 0, 0.05);
134195
134195
  }
134196
134196
  .brand {
134197
- display: inline-flex;
134197
+ display: flex;
134198
134198
  align-items: center;
134199
134199
  justify-content: center;
134200
134200
  width: min(100%, 360px);
@@ -153919,12 +153919,11 @@ var init_qr = __esm({
153919
153919
  });
153920
153920
 
153921
153921
  // src/devbox/commands/setup.ts
153922
- var import_node_crypto11, import_promises31, trim, normalizeSiteUrl, resolveSiteUrl, MOBILE_DOWNLOAD_LINK, parseSetupArgs, promptForValue, splitQrLines, printMobileDownloadQr, printFirstSetupCompleteMessage, listSprites2, runSetup;
153922
+ var import_node_crypto11, trim, normalizeOrgSlug, extractOrgFromSpriteToken, normalizeSiteUrl, resolveSiteUrl, MOBILE_DOWNLOAD_LINK, parseSetupArgs, splitQrLines, printMobileDownloadQr, printFirstSetupCompleteMessage, probeSpritesAccess, runSetup;
153923
153923
  var init_setup = __esm({
153924
153924
  "src/devbox/commands/setup.ts"() {
153925
153925
  "use strict";
153926
153926
  import_node_crypto11 = require("node:crypto");
153927
- import_promises31 = __toESM(require("node:readline/promises"), 1);
153928
153927
  init_src();
153929
153928
  init_src();
153930
153929
  init_auth();
@@ -153935,6 +153934,20 @@ var init_setup = __esm({
153935
153934
  init_statusLine();
153936
153935
  init_completions();
153937
153936
  trim = (value) => value.trim().replace(/\r/g, "");
153937
+ normalizeOrgSlug = (value) => {
153938
+ const trimmed = value.trim();
153939
+ if (!trimmed) return void 0;
153940
+ if (!/^[a-z0-9][a-z0-9-]*$/i.test(trimmed)) return void 0;
153941
+ return trimmed;
153942
+ };
153943
+ extractOrgFromSpriteToken = (token) => {
153944
+ const trimmed = token.trim();
153945
+ if (!trimmed) return void 0;
153946
+ const normalized = trimmed.toLowerCase().startsWith("bearer ") ? trimmed.slice("bearer ".length).trim() : trimmed;
153947
+ const slashIndex = normalized.indexOf("/");
153948
+ if (slashIndex <= 0) return void 0;
153949
+ return normalizeOrgSlug(normalized.slice(0, slashIndex));
153950
+ };
153938
153951
  normalizeSiteUrl = (raw) => {
153939
153952
  const trimmed = trim(raw);
153940
153953
  if (!trimmed) return null;
@@ -153995,19 +154008,10 @@ var init_setup = __esm({
153995
154008
  }
153996
154009
  throw new Error(`Unknown setup flag: ${arg}`);
153997
154010
  }
153998
- return parsed;
153999
- };
154000
- promptForValue = async (label) => {
154001
- if (!process.stdin.isTTY) {
154002
- throw new Error(`Missing ${label} (non-interactive)`);
154011
+ if (parsed.org && !parsed.token) {
154012
+ throw new Error("--org requires --token or --sprite-token");
154003
154013
  }
154004
- const rl = import_promises31.default.createInterface({
154005
- input: process.stdin,
154006
- output: process.stdout
154007
- });
154008
- const answer = await rl.question(`${label}: `);
154009
- rl.close();
154010
- return answer.trim();
154014
+ return parsed;
154011
154015
  };
154012
154016
  splitQrLines = (qr) => qr ? qr.trimEnd().split("\n") : [];
154013
154017
  printMobileDownloadQr = () => {
@@ -154033,7 +154037,7 @@ var init_setup = __esm({
154033
154037
  console.log("");
154034
154038
  console.log(nextStep);
154035
154039
  };
154036
- listSprites2 = async (apiBaseUrl, token) => {
154040
+ probeSpritesAccess = async (apiBaseUrl, token) => {
154037
154041
  const requestId = (0, import_node_crypto11.randomUUID)();
154038
154042
  const url = new URL("/v1/sprites", apiBaseUrl);
154039
154043
  url.searchParams.set("max_results", "1");
@@ -154058,7 +154062,8 @@ var init_setup = __esm({
154058
154062
  const payload = await response.json();
154059
154063
  const orgs = /* @__PURE__ */ new Set();
154060
154064
  for (const sprite of payload.sprites ?? []) {
154061
- if (sprite.org_slug) orgs.add(sprite.org_slug);
154065
+ const org = normalizeOrgSlug(sprite.org_slug ?? sprite.organization ?? "");
154066
+ if (org) orgs.add(org);
154062
154067
  }
154063
154068
  return { orgs: [...orgs] };
154064
154069
  };
@@ -154082,19 +154087,17 @@ var init_setup = __esm({
154082
154087
  );
154083
154088
  const token = tokenResult.token;
154084
154089
  const tokenSource = tokenResult.source;
154085
- let org = parsed.org ?? existingConfig?.org;
154090
+ let org = tokenSource === "flag" ? parsed.org ?? existingConfig?.org : void 0;
154091
+ if (!org && tokenSource === "flag" && parsed.token) {
154092
+ org = extractOrgFromSpriteToken(parsed.token);
154093
+ }
154086
154094
  if (parsed.verify) {
154087
154095
  status.stage("Verifying token");
154088
- const { orgs } = await listSprites2(apiBaseUrl, token);
154089
- if (!org && orgs.length === 1) {
154090
- org = orgs[0];
154091
- } else if (!org && orgs.length > 1) {
154092
- status.stop();
154093
- org = await promptForValue("Sprites org slug");
154094
- } else if (!org && orgs.length === 0) {
154095
- status.stop();
154096
- org = await promptForValue("Sprites org slug (optional)");
154097
- if (org.length === 0) org = void 0;
154096
+ const { orgs } = await probeSpritesAccess(apiBaseUrl, token);
154097
+ if (tokenSource === "flag") {
154098
+ if (!org && orgs.length > 0) {
154099
+ org = orgs[0];
154100
+ }
154098
154101
  }
154099
154102
  }
154100
154103
  status.stage("Saving config");
@@ -154104,7 +154107,7 @@ var init_setup = __esm({
154104
154107
  tokenStore: store.kind,
154105
154108
  tokenUpdatedAt: (/* @__PURE__ */ new Date()).toISOString(),
154106
154109
  lastSetupAt: (/* @__PURE__ */ new Date()).toISOString(),
154107
- ...org ? { org } : {}
154110
+ ...tokenSource === "flag" && org ? { org } : {}
154108
154111
  };
154109
154112
  await saveConfig(config3, configOptions);
154110
154113
  status.stage("Starting dvbd");
@@ -154132,7 +154135,9 @@ var init_setup = __esm({
154132
154135
  }
154133
154136
  console.log(`config: ${resolveConfigPath(homeDir)}`);
154134
154137
  console.log(`secrets: ${resolveSecretsPath(homeDir)}`);
154135
- if (org) console.log(`org: ${org}`);
154138
+ if (tokenSource === "flag" && org) {
154139
+ console.log(`org: ${org}`);
154140
+ }
154136
154141
  console.log(`token store: ${store.kind}`);
154137
154142
  console.log(`token source: ${tokenSource}`);
154138
154143
  console.log(`daemon: pid ${daemon.pid}`);
@@ -154579,16 +154584,16 @@ var init_whoami = __esm({
154579
154584
  });
154580
154585
 
154581
154586
  // src/devbox/commands/wezterm.ts
154582
- var import_node_crypto12, import_node_child_process12, import_promises32, import_node_os13, import_node_path29, import_promises33, logger10, WEZTERM_APP_PATH, WEZTERM_BIN_PATH, WEZTERM_BIN_DIR, WEZTERM_INSTALL_URL, WEZTERM_PATH_EXPORT, WEZTERM_HEALTH_POLL_INTERVAL_MS, WEZTERM_HEALTH_POLL_TIMEOUT_MS, WEZTERM_PROXY_BASE_ENV, WEZTERM_PROXY_LOG_NAME, WEZTERM_USAGE, parseWeztermArgs, resolveCanonical3, initWeztermClient, waitForWeztermMuxHealthy, ensureWeztermMuxReady, runWeztermProxy, runCommand6, promptYesNo2, fileExists, hasWeztermOnPath, resolveShellProfilePath, ensureWeztermOnPath, ensureWeztermInstalled, expandPath, resolveDefaultConfigPath, escapeRegExp2, resolveCliName3, resolveDvbCommand, formatLuaArgs, resolveWeztermProxyEnv, buildProxyCommand, buildDomainBlock, canAppendToConfig, countReturns, applyReturnTableTransform, insertBlock, runWeztermSetup, startWeztermDomain, runWezterm;
154587
+ var import_node_crypto12, import_node_child_process12, import_promises31, import_node_os13, import_node_path29, import_promises32, logger10, WEZTERM_APP_PATH, WEZTERM_BIN_PATH, WEZTERM_BIN_DIR, WEZTERM_INSTALL_URL, WEZTERM_PATH_EXPORT, WEZTERM_HEALTH_POLL_INTERVAL_MS, WEZTERM_HEALTH_POLL_TIMEOUT_MS, WEZTERM_PROXY_BASE_ENV, WEZTERM_PROXY_LOG_NAME, WEZTERM_USAGE, parseWeztermArgs, resolveCanonical3, initWeztermClient, waitForWeztermMuxHealthy, ensureWeztermMuxReady, runWeztermProxy, runCommand6, promptYesNo2, fileExists, hasWeztermOnPath, resolveShellProfilePath, ensureWeztermOnPath, ensureWeztermInstalled, expandPath, resolveDefaultConfigPath, escapeRegExp2, resolveCliName3, resolveDvbCommand, formatLuaArgs, resolveWeztermProxyEnv, buildProxyCommand, buildDomainBlock, canAppendToConfig, countReturns, applyReturnTableTransform, insertBlock, runWeztermSetup, startWeztermDomain, runWezterm;
154583
154588
  var init_wezterm = __esm({
154584
154589
  "src/devbox/commands/wezterm.ts"() {
154585
154590
  "use strict";
154586
154591
  import_node_crypto12 = require("node:crypto");
154587
154592
  import_node_child_process12 = require("node:child_process");
154588
- import_promises32 = __toESM(require("node:fs/promises"), 1);
154593
+ import_promises31 = __toESM(require("node:fs/promises"), 1);
154589
154594
  import_node_os13 = __toESM(require("node:os"), 1);
154590
154595
  import_node_path29 = __toESM(require("node:path"), 1);
154591
- import_promises33 = __toESM(require("node:readline/promises"), 1);
154596
+ import_promises32 = __toESM(require("node:readline/promises"), 1);
154592
154597
  init_src();
154593
154598
  init_daemonClient();
154594
154599
  init_auth();
@@ -154783,10 +154788,10 @@ var init_wezterm = __esm({
154783
154788
  if (!homeDir) return;
154784
154789
  try {
154785
154790
  const logDir = import_node_path29.default.join(resolveDevboxDir(homeDir), "wezterm");
154786
- await import_promises32.default.mkdir(logDir, { recursive: true });
154791
+ await import_promises31.default.mkdir(logDir, { recursive: true });
154787
154792
  const line = `${(/* @__PURE__ */ new Date()).toISOString()} ${message}
154788
154793
  `;
154789
- await import_promises32.default.appendFile(
154794
+ await import_promises31.default.appendFile(
154790
154795
  import_node_path29.default.join(logDir, WEZTERM_PROXY_LOG_NAME),
154791
154796
  line,
154792
154797
  "utf8"
@@ -155002,7 +155007,7 @@ var init_wezterm = __esm({
155002
155007
  if (!process.stdin.isTTY || !process.stdout.isTTY) {
155003
155008
  throw new Error("This command requires a TTY to confirm changes.");
155004
155009
  }
155005
- const rl = import_promises33.default.createInterface({
155010
+ const rl = import_promises32.default.createInterface({
155006
155011
  input: process.stdin,
155007
155012
  output: process.stdout
155008
155013
  });
@@ -155014,7 +155019,7 @@ var init_wezterm = __esm({
155014
155019
  };
155015
155020
  fileExists = async (value) => {
155016
155021
  try {
155017
- await import_promises32.default.access(value);
155022
+ await import_promises31.default.access(value);
155018
155023
  return true;
155019
155024
  } catch {
155020
155025
  return false;
@@ -155060,7 +155065,7 @@ var init_wezterm = __esm({
155060
155065
  if (shouldUpdate) {
155061
155066
  let content = "";
155062
155067
  try {
155063
- content = await import_promises32.default.readFile(profilePath, "utf8");
155068
+ content = await import_promises31.default.readFile(profilePath, "utf8");
155064
155069
  } catch {
155065
155070
  content = "";
155066
155071
  }
@@ -155068,7 +155073,7 @@ var init_wezterm = __esm({
155068
155073
  const next = `${content.trimEnd()}
155069
155074
  ${content ? "\n" : ""}${WEZTERM_PATH_EXPORT}
155070
155075
  `;
155071
- await import_promises32.default.writeFile(profilePath, next, "utf8");
155076
+ await import_promises31.default.writeFile(profilePath, next, "utf8");
155072
155077
  updatedProfile = true;
155073
155078
  }
155074
155079
  const currentPath = process.env.PATH ?? "";
@@ -155112,7 +155117,7 @@ ${content ? "\n" : ""}${WEZTERM_PATH_EXPORT}
155112
155117
  ];
155113
155118
  for (const candidate of candidates) {
155114
155119
  try {
155115
- await import_promises32.default.access(candidate);
155120
+ await import_promises31.default.access(candidate);
155116
155121
  return candidate;
155117
155122
  } catch {
155118
155123
  }
@@ -155131,7 +155136,7 @@ ${content ? "\n" : ""}${WEZTERM_PATH_EXPORT}
155131
155136
  if (scriptPath) {
155132
155137
  const candidate = import_node_path29.default.isAbsolute(scriptPath) ? scriptPath : import_node_path29.default.resolve(process.cwd(), scriptPath);
155133
155138
  try {
155134
- await import_promises32.default.access(candidate);
155139
+ await import_promises31.default.access(candidate);
155135
155140
  return [process.execPath, candidate];
155136
155141
  } catch {
155137
155142
  }
@@ -155232,7 +155237,7 @@ ${block}`;
155232
155237
  let existing = "";
155233
155238
  let hasExisting = false;
155234
155239
  try {
155235
- existing = await import_promises32.default.readFile(configPath, "utf8");
155240
+ existing = await import_promises31.default.readFile(configPath, "utf8");
155236
155241
  hasExisting = true;
155237
155242
  } catch {
155238
155243
  hasExisting = false;
@@ -155271,8 +155276,8 @@ ${block}`;
155271
155276
  }
155272
155277
  }
155273
155278
  if (updated) {
155274
- await import_promises32.default.mkdir(import_node_path29.default.dirname(configPath), { recursive: true });
155275
- await import_promises32.default.writeFile(configPath, nextContent, "utf8");
155279
+ await import_promises31.default.mkdir(import_node_path29.default.dirname(configPath), { recursive: true });
155280
+ await import_promises31.default.writeFile(configPath, nextContent, "utf8");
155276
155281
  console.log(`Updated WezTerm config: ${configPath}`);
155277
155282
  } else {
155278
155283
  console.log(`WezTerm config already up to date: ${configPath}`);
@@ -155766,4 +155771,4 @@ smol-toml/dist/index.js:
155766
155771
  */
155767
155772
  //# sourceMappingURL=dvb.cjs.map
155768
155773
 
155769
- //# debugId=1ca4f1c5-c6fc-5436-8e08-a600d5ee41ad
155774
+ //# debugId=c5ff8eeb-e556-5c16-a965-f352e4d938da