@boxes-dev/dvb 0.2.42 → 0.2.44

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/dvbd.cjs CHANGED
@@ -10494,7 +10494,7 @@ var init_server = __esm({
10494
10494
  });
10495
10495
 
10496
10496
  // ../daemon/src/spritesRegistry.ts
10497
- var import_node_crypto2, import_node_fs, import_promises4, registryGet, registryReplace, registryUpsert, registryUsage, registryRemove, logger4, TOKEN_REFRESH_BUFFER_MS, clientCache, migrationPromise, migrationCompleted, trimEnv, resolveConvexUrl, resolveControlPlaneUrl, requireConvexConfig, decodeJwtPayload, parseTokenExpiresAt, shouldRefreshToken, isUnauthorizedError, clearControlPlaneSession, handleUnauthorized, refreshSession, loadControlPlaneToken, getClient, spritePortsList, logRequest, logResponse, parseTimestamp, pickEarlier, pickLater, mergeBoxes, mergeProjects, mergeRegistry, getRegistryFromConvex, replaceRegistry, migrateLocalRegistry, backfillInitStatus, fetchRegistry, upsertRegistry, recordRegistryUsage, removeRegistryEntry, subscribeSpritePorts;
10497
+ var import_node_crypto2, import_node_fs, import_promises4, registryGet, registryReplace, registryUpsert, registryUsage, registryRemove, logger4, TOKEN_REFRESH_BUFFER_MS, clientCache, migrationPromise, migrationCompleted, trimEnv, normalizeConvexDeployment, stripDevPrefix, resolveFromDeployment, resolveFromUrl, resolveConvexUrl, resolveControlPlaneUrl, requireConvexConfig, decodeJwtPayload, parseTokenExpiresAt, shouldRefreshToken, isUnauthorizedError, clearControlPlaneSession, handleUnauthorized, refreshSession, loadControlPlaneToken, requireControlPlaneToken, getClient, spritePortsList, logRequest, logResponse, parseTimestamp, pickEarlier, pickLater, mergeBoxes, mergeProjects, mergeRegistry, getRegistryFromConvex, replaceRegistry, migrateLocalRegistry, backfillInitStatus, fetchRegistry, upsertRegistry, recordRegistryUsage, removeRegistryEntry, subscribeSpritePorts;
10498
10498
  var init_spritesRegistry = __esm({
10499
10499
  "../daemon/src/spritesRegistry.ts"() {
10500
10500
  "use strict";
@@ -10516,13 +10516,55 @@ var init_spritesRegistry = __esm({
10516
10516
  migrationPromise = null;
10517
10517
  migrationCompleted = false;
10518
10518
  trimEnv = (value) => value?.trim() ?? "";
10519
+ normalizeConvexDeployment = (value) => {
10520
+ const normalized = trimEnv(value).replace(/\r/g, "");
10521
+ if (!normalized) return "";
10522
+ if (normalized.includes(":")) {
10523
+ const [prefix, rest] = normalized.split(":", 2);
10524
+ return `${prefix}:${trimEnv(rest ?? "")}`;
10525
+ }
10526
+ return normalized;
10527
+ };
10528
+ stripDevPrefix = (value) => {
10529
+ if (value.startsWith("dev:")) {
10530
+ return trimEnv(value.slice(4));
10531
+ }
10532
+ return value;
10533
+ };
10534
+ resolveFromDeployment = (deploymentRaw, suffix) => {
10535
+ const deployment = stripDevPrefix(normalizeConvexDeployment(deploymentRaw));
10536
+ if (!deployment) return "";
10537
+ if (deployment.includes("://")) {
10538
+ return deployment;
10539
+ }
10540
+ if (deployment.includes(".")) {
10541
+ const host = suffix === "cloud" ? deployment.replace(".convex.site", ".convex.cloud") : deployment.replace(".convex.cloud", ".convex.site");
10542
+ return `https://${host}`;
10543
+ }
10544
+ return `https://${deployment}.convex.${suffix}`;
10545
+ };
10546
+ resolveFromUrl = (raw, suffix) => {
10547
+ const value = trimEnv(raw).replace(/\r/g, "");
10548
+ if (!value) return "";
10549
+ try {
10550
+ const url = new URL(value);
10551
+ const host = suffix === "cloud" ? url.host.replace(".convex.site", ".convex.cloud") : url.host.replace(".convex.cloud", ".convex.site");
10552
+ return `${url.protocol}//${host}`;
10553
+ } catch {
10554
+ return "";
10555
+ }
10556
+ };
10519
10557
  resolveConvexUrl = () => {
10520
10558
  const url = trimEnv(process.env.DEVBOX_CONVEX_URL) || trimEnv(process.env.VITE_CONVEX_URL);
10521
- return url.length > 0 ? url : null;
10559
+ if (url.length > 0) return url;
10560
+ const derived = resolveFromDeployment(process.env.CONVEX_DEPLOYMENT ?? "", "cloud") || resolveFromUrl(process.env.CONVEX_SITE_URL ?? "", "cloud");
10561
+ return derived ? derived : null;
10522
10562
  };
10523
10563
  resolveControlPlaneUrl = () => {
10524
10564
  const url = trimEnv(process.env.DEVBOX_CONTROL_PLANE_URL) || trimEnv(process.env.CONVEX_SITE_URL);
10525
- return url.length > 0 ? url : null;
10565
+ if (url.length > 0) return url;
10566
+ const derived = resolveFromDeployment(process.env.CONVEX_DEPLOYMENT ?? "", "site") || resolveFromUrl(process.env.VITE_CONVEX_URL ?? "", "site");
10567
+ return derived ? derived : null;
10526
10568
  };
10527
10569
  requireConvexConfig = () => {
10528
10570
  if (!resolveControlPlaneUrl()) {
@@ -10658,26 +10700,35 @@ var init_spritesRegistry = __esm({
10658
10700
  if (!token) {
10659
10701
  const refreshToken = await store.getControlPlaneRefreshToken();
10660
10702
  if (refreshToken) {
10661
- const refreshed = await refreshSession(refreshToken);
10662
- token = refreshed.token;
10663
- await store.setControlPlaneToken(token);
10664
- if (refreshed.refreshToken) {
10665
- await store.setControlPlaneRefreshToken(refreshed.refreshToken);
10666
- }
10667
- const nextExpiresAt = parseTokenExpiresAt(token);
10668
- if (nextExpiresAt) {
10669
- await store.setControlPlaneTokenExpiresAt(nextExpiresAt);
10670
- } else {
10671
- await store.clearControlPlaneTokenExpiresAt();
10703
+ try {
10704
+ const refreshed = await refreshSession(refreshToken);
10705
+ token = refreshed.token;
10706
+ await store.setControlPlaneToken(token);
10707
+ if (refreshed.refreshToken) {
10708
+ await store.setControlPlaneRefreshToken(refreshed.refreshToken);
10709
+ }
10710
+ const nextExpiresAt = parseTokenExpiresAt(token);
10711
+ if (nextExpiresAt) {
10712
+ await store.setControlPlaneTokenExpiresAt(nextExpiresAt);
10713
+ } else {
10714
+ await store.clearControlPlaneTokenExpiresAt();
10715
+ }
10716
+ } catch (error) {
10717
+ logger4.warn("control_plane_refresh_failed", { error: String(error) });
10672
10718
  }
10673
10719
  }
10674
10720
  }
10721
+ return token ?? null;
10722
+ };
10723
+ requireControlPlaneToken = async () => {
10724
+ const token = await loadControlPlaneToken();
10675
10725
  if (!token) {
10676
10726
  throw new Error("Control plane auth missing. Run `dvb setup` to sign in.");
10677
10727
  }
10678
10728
  return token;
10679
10729
  };
10680
10730
  getClient = async () => {
10731
+ await requireControlPlaneToken();
10681
10732
  const convexUrl = requireConvexConfig();
10682
10733
  if (clientCache && clientCache.url === convexUrl) {
10683
10734
  return clientCache.client;
@@ -11485,7 +11536,7 @@ __export(src_exports, {
11485
11536
  runDaemon: () => runDaemon,
11486
11537
  startDaemon: () => startDaemon
11487
11538
  });
11488
- var import_node_http, import_promises5, import_node_fs2, import_node_crypto4, import_node_net2, import_node_path5, logger6, startedAt, DAEMON_API_VERSION, DAEMON_FEATURES, allowShutdown, buildBoxSummaries, readBody, readRequestPath, writeJson, handleRequestError, isSocketAlive, ensureRuntimeDir, startDaemon, runDaemon;
11539
+ var import_node_http, import_promises5, import_node_fs2, import_node_crypto4, import_node_net2, import_node_path5, logger6, startedAt, DAEMON_API_VERSION, DAEMON_FEATURES, allowShutdown, buildBoxSummaries, readBody, readRequestPath, writeJson, handleRequestError, isSocketAlive, waitForSocketAlive, ensureRuntimeDir, startDaemon, runDaemon;
11489
11540
  var init_src2 = __esm({
11490
11541
  "../daemon/src/index.ts"() {
11491
11542
  import_node_http = require("node:http");
@@ -11598,6 +11649,15 @@ var init_src2 = __esm({
11598
11649
  socket.once("error", () => done(false));
11599
11650
  socket.setTimeout(250, () => done(false));
11600
11651
  });
11652
+ waitForSocketAlive = async (socketPath, timeoutMs) => {
11653
+ const deadline = Date.now() + timeoutMs;
11654
+ while (Date.now() < deadline) {
11655
+ if (!(0, import_node_fs2.existsSync)(socketPath)) return false;
11656
+ if (await isSocketAlive(socketPath)) return true;
11657
+ await new Promise((resolve) => setTimeout(resolve, 50));
11658
+ }
11659
+ return false;
11660
+ };
11601
11661
  ensureRuntimeDir = async (runtimeDir) => {
11602
11662
  await import_promises5.default.mkdir(runtimeDir, { recursive: true, mode: 448 });
11603
11663
  try {
@@ -11613,7 +11673,7 @@ var init_src2 = __esm({
11613
11673
  const { socketPath, runtimeDir } = socketInfo;
11614
11674
  await ensureRuntimeDir(runtimeDir);
11615
11675
  if ((0, import_node_fs2.existsSync)(socketPath)) {
11616
- const alive = await isSocketAlive(socketPath);
11676
+ const alive = await waitForSocketAlive(socketPath, 1e3);
11617
11677
  if (alive) {
11618
11678
  throw new Error(`dvbd already running at ${socketPath}`);
11619
11679
  }
@@ -11621,19 +11681,6 @@ var init_src2 = __esm({
11621
11681
  }
11622
11682
  const portManager = new PortManager();
11623
11683
  portManager.start();
11624
- void fetchRegistry().then((registry) => {
11625
- for (const canonical of Object.keys(registry.boxes)) {
11626
- portManager.noteBox(canonical);
11627
- }
11628
- for (const canonical of Object.values(registry.aliases)) {
11629
- portManager.noteBox(canonical);
11630
- }
11631
- for (const project of Object.values(registry.projects)) {
11632
- portManager.noteBox(project.canonical);
11633
- }
11634
- }).catch((error) => {
11635
- logger6.warn("ports_registry_load_failed", { error: String(error) });
11636
- });
11637
11684
  const server = (0, import_node_http.createServer)((req, res) => {
11638
11685
  const requestId = req.headers["x-request-id"] ?? (0, import_node_crypto4.randomUUID)();
11639
11686
  const path6 = readRequestPath(req);
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/devbox/cli.ts"],"names":[],"mappings":"AA2EA,eAAO,MAAM,IAAI,qBA4GhB,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/devbox/cli.ts"],"names":[],"mappings":"AA8EA,eAAO,MAAM,IAAI,qBA8HhB,CAAC"}
@@ -10,10 +10,12 @@ import { runPorts } from "./commands/ports.js";
10
10
  import { runSessions } from "./commands/sessions.js";
11
11
  import { runServices } from "./commands/services.js";
12
12
  import { runSetup } from "./commands/setup.js";
13
+ import { runVersion } from "./commands/version.js";
13
14
  import { runWezterm } from "./commands/wezterm.js";
14
15
  import { maybeAutoUpdateCompletions, runComplete, runCompletions, } from "./completions/index.js";
15
16
  const printUsage = () => {
16
17
  console.log("Usage:");
18
+ console.log(" dvb --version");
17
19
  console.log(" dvb setup [--token <token>] [--org <slug>]");
18
20
  console.log(" [--api-base-url <url>] [--no-verify] [--json]");
19
21
  console.log(" dvb logout [--json]");
@@ -50,6 +52,7 @@ const printUsage = () => {
50
52
  console.log(" dvb wezterm proxy [<box>] [--port <port>] [--version <ver>] [--asset-url <url>]");
51
53
  console.log(" dvb wezterm setup [<box>] [--port <port>] [--domain <name>] [--path <path>]");
52
54
  console.log(" dvb wezterm [<box>] [--port <port>] [--domain <name>] [--path <path>]");
55
+ console.log(" dvb version [--json]");
53
56
  };
54
57
  export const main = async () => {
55
58
  const args = process.argv.slice(2);
@@ -57,9 +60,26 @@ export const main = async () => {
57
60
  printUsage();
58
61
  return;
59
62
  }
63
+ if (args[0] === "--version") {
64
+ await runVersion([]);
65
+ return;
66
+ }
60
67
  if (args[0] !== "complete" && args[0] !== "completions") {
61
68
  await maybeAutoUpdateCompletions();
62
69
  }
70
+ if (args[0] === "version") {
71
+ try {
72
+ await runVersion(args.slice(1));
73
+ }
74
+ catch (error) {
75
+ if (error instanceof Error && error.message === "help_requested") {
76
+ printUsage();
77
+ return;
78
+ }
79
+ throw error;
80
+ }
81
+ return;
82
+ }
63
83
  if (args[0] === "setup") {
64
84
  await runSetup(args.slice(1));
65
85
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/devbox/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CACT,4EAA4E,CAC7E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,uFAAuF,CACxF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CACT,+GAA+G,CAChH,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CACT,uDAAuD,CACxD,CAAC;IACF,OAAO,CAAC,GAAG,CACT,sDAAsD,CACvD,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CACT,mFAAmF,CACpF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,+EAA+E,CAChF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,yEAAyE,CAC1E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClE,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QACxD,MAAM,0BAA0B,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QAC9B,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,UAAU,EAAE,CAAC;IACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/devbox/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CACT,4EAA4E,CAC7E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,uFAAuF,CACxF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CACT,+GAA+G,CAChH,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CACT,uDAAuD,CACxD,CAAC;IACF,OAAO,CAAC,GAAG,CACT,sDAAsD,CACvD,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CACT,mFAAmF,CACpF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,+EAA+E,CAChF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,yEAAyE,CAC1E,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClE,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QACxD,MAAM,0BAA0B,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;gBACjE,UAAU,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QAC9B,MAAM,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,UAAU,EAAE,CAAC;IACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../../../../src/devbox/commands/init/scripts.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,cAAc,GAAU,MAAM,MAAM,oBAGzC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../../../../src/devbox/commands/init/scripts.ts"],"names":[],"mappings":"AAwBA,QAAA,MAAM,cAAc,GAAU,MAAM,MAAM,oBAGzC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,15 +1,30 @@
1
- import fs from "node:fs/promises";
1
+ import fs from "node:fs";
2
+ import fsPromises from "node:fs/promises";
2
3
  import path from "node:path";
3
4
  const resolveScriptsDir = () => {
4
- const binPath = process.argv[1];
5
- if (binPath) {
6
- return path.resolve(path.dirname(binPath), "..", "scripts");
5
+ // Prefer resolving relative to the real dvb entrypoint, since `process.argv[1]`
6
+ // may be a bin shim (e.g. ~/.nvm/.../bin/dvb) rather than `.../dist/bin/dvb.cjs`.
7
+ const argv1 = typeof process.argv[1] === "string" ? process.argv[1] : "";
8
+ if (argv1) {
9
+ try {
10
+ const real = fs.realpathSync(argv1);
11
+ return path.resolve(path.dirname(real), "..", "scripts");
12
+ }
13
+ catch {
14
+ // ignore and fall back
15
+ }
16
+ try {
17
+ return path.resolve(path.dirname(argv1), "..", "scripts");
18
+ }
19
+ catch {
20
+ // ignore and fall back
21
+ }
7
22
  }
8
23
  return path.resolve(process.cwd(), "scripts");
9
24
  };
10
25
  const loadInitScript = async (name) => {
11
26
  const scriptPath = path.join(resolveScriptsDir(), name);
12
- return await fs.readFile(scriptPath, "utf8");
27
+ return await fsPromises.readFile(scriptPath, "utf8");
13
28
  };
14
29
  export { loadInitScript };
15
30
  //# sourceMappingURL=scripts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/devbox/commands/init/scripts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../src/devbox/commands/init/scripts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,gFAAgF;IAChF,kFAAkF;IAClF,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,MAAM,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const runVersion: (args: string[]) => Promise<void>;
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/devbox/commands/version.ts"],"names":[],"mappings":"AAmFA,eAAO,MAAM,UAAU,GAAU,MAAM,MAAM,EAAE,kBAgF9C,CAAC"}
@@ -0,0 +1,119 @@
1
+ import { createRequire } from "node:module";
2
+ import path from "node:path";
3
+ import { resolveSocketInfo } from "@boxes-dev/core";
4
+ import { createSecretStore, loadConfig } from "@boxes-dev/core";
5
+ import { getControlPlaneUrl, getConvexUrl } from "../controlPlane.js";
6
+ import { DAEMON_TIMEOUT_MS, requestJson } from "../daemonClient.js";
7
+ const parseVersionArgs = (args) => {
8
+ const parsed = { json: false };
9
+ for (const arg of args) {
10
+ if (!arg)
11
+ continue;
12
+ if (arg === "--json") {
13
+ parsed.json = true;
14
+ continue;
15
+ }
16
+ if (arg === "--help" || arg === "-h") {
17
+ // Let the top-level usage print.
18
+ throw new Error("help_requested");
19
+ }
20
+ if (arg.startsWith("-")) {
21
+ throw new Error(`Unknown version flag: ${arg}`);
22
+ }
23
+ throw new Error(`Unexpected argument: ${arg}`);
24
+ }
25
+ return parsed;
26
+ };
27
+ const readPackageVersion = () => {
28
+ // npm always includes package.json at the package root, even if it's excluded
29
+ // from "files". Resolving by package name avoids relative-path issues in dist.
30
+ const fromArgv = typeof process.argv[1] === "string" ? process.argv[1] : "";
31
+ const from = fromArgv ? path.resolve(fromArgv) : path.join(process.cwd(), "dvb");
32
+ const require = createRequire(from);
33
+ try {
34
+ const pkg = require("@boxes-dev/dvb/package.json");
35
+ return typeof pkg.version === "string" ? pkg.version : "unknown";
36
+ }
37
+ catch {
38
+ return "unknown";
39
+ }
40
+ };
41
+ const tryReadDaemonInfo = async (socketPath) => {
42
+ try {
43
+ const health = await requestJson(socketPath, "GET", "/health", DAEMON_TIMEOUT_MS.health);
44
+ if (health.status !== 200 || !health.body.ok)
45
+ return null;
46
+ const version = await requestJson(socketPath, "GET", "/version", DAEMON_TIMEOUT_MS.quick);
47
+ return {
48
+ health: health.body,
49
+ version: version.status === 200 ? version.body : null,
50
+ };
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ };
56
+ export const runVersion = async (args) => {
57
+ const parsed = parseVersionArgs(args);
58
+ const dvbVersion = readPackageVersion();
59
+ const nodeVersion = process.versions.node;
60
+ const controlPlaneUrl = getControlPlaneUrl();
61
+ const convexUrl = getConvexUrl();
62
+ const homeDir = process.env.HOME?.trim();
63
+ const config = await loadConfig(homeDir ? { homeDir } : undefined);
64
+ const store = await createSecretStore(config?.tokenStore, homeDir ? { homeDir } : undefined);
65
+ const spritesTokenPresent = Boolean(await store.getToken());
66
+ const controlPlaneTokenPresent = Boolean(await store.getControlPlaneToken());
67
+ const controlPlaneRefreshTokenPresent = Boolean(await store.getControlPlaneRefreshToken());
68
+ const socketInfo = resolveSocketInfo();
69
+ const daemon = await tryReadDaemonInfo(socketInfo.socketPath);
70
+ if (parsed.json) {
71
+ console.log(JSON.stringify({
72
+ dvb: { version: dvbVersion },
73
+ node: { version: nodeVersion },
74
+ auth: {
75
+ spritesToken: spritesTokenPresent,
76
+ controlPlaneToken: controlPlaneTokenPresent,
77
+ controlPlaneRefreshToken: controlPlaneRefreshTokenPresent,
78
+ },
79
+ config: {
80
+ controlPlaneUrl,
81
+ convexUrl,
82
+ socketPath: socketInfo.socketPath,
83
+ },
84
+ dvbd: daemon
85
+ ? {
86
+ pid: daemon.health.pid,
87
+ startedAt: daemon.health.startedAt,
88
+ apiVersion: daemon.version?.apiVersion ?? null,
89
+ features: daemon.version?.features ?? null,
90
+ }
91
+ : null,
92
+ }, null, 2));
93
+ return;
94
+ }
95
+ console.log(`dvb ${dvbVersion}`);
96
+ console.log(`node ${nodeVersion}`);
97
+ console.log(`control plane: ${controlPlaneUrl ?? "(not set/embedded)"}`);
98
+ console.log(`convex: ${convexUrl ?? "(not set/embedded)"}`);
99
+ console.log(`auth: sprites=${spritesTokenPresent ? "ok" : "missing"} ` +
100
+ `control_plane=${controlPlaneTokenPresent ? "ok" : "missing"}`);
101
+ console.log(`socket: ${socketInfo.socketPath}`);
102
+ if (daemon) {
103
+ const apiVersion = daemon.version?.apiVersion;
104
+ const features = Array.isArray(daemon.version?.features)
105
+ ? daemon.version?.features.join(", ")
106
+ : "";
107
+ console.log(`dvbd: running (pid ${daemon.health.pid})`);
108
+ if (typeof apiVersion === "number") {
109
+ console.log(`dvbd api: ${apiVersion}`);
110
+ }
111
+ if (features) {
112
+ console.log(`dvbd features: ${features}`);
113
+ }
114
+ }
115
+ else {
116
+ console.log("dvbd: not running");
117
+ }
118
+ };
119
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/devbox/commands/version.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controlPlane.d.ts","sourceRoot":"","sources":["../../src/devbox/controlPlane.ts"],"names":[],"mappings":"AAUA,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAqBF,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACxD,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA0KF,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,IAAgC,CAAC;AAChF,eAAO,MAAM,YAAY,QAAO,MAAM,GAAG,IAA0B,CAAC;AAEpE,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,kBAAkB,CA4CpE,CAAC;AAyDF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAKvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,EACb,aAAa,MAAM,KAClB,OAAO,CAAC,IAAI,CAId,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,OAAO,MAAM,KACZ,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAIpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,MAAM,EACb,YAAY,MAAM,KACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAKvB,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,OAAO,MAAM,EACb,YAAY,MAAM,KACjB,OAAO,CAAC,0BAA0B,EAAE,CA2BtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,OAAO,MAAM,EACb,YAAY,MAAM,KACjB,OAAO,CAAC,mBAAmB,EAAE,CA2B/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,KACZ,OAAO,CAAC,IAAI,CAQd,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,cAAc,MAAM,KACnB,OAAO,CAAC,kBAAkB,CAmB5B,CAAC"}
1
+ {"version":3,"file":"controlPlane.d.ts","sourceRoot":"","sources":["../../src/devbox/controlPlane.ts"],"names":[],"mappings":"AA+DA,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAqBF,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACxD,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAkLF,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,IAAgC,CAAC;AAChF,eAAO,MAAM,YAAY,QAAO,MAAM,GAAG,IAA0B,CAAC;AAEpE,eAAO,MAAM,iBAAiB,QAAa,OAAO,CAAC,kBAAkB,CA4CpE,CAAC;AAyDF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAKvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,EACb,aAAa,MAAM,KAClB,OAAO,CAAC,IAAI,CAId,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,OAAO,MAAM,KACZ,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAIpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,MAAM,EACb,YAAY,MAAM,KACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAKvB,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,OAAO,MAAM,EACb,YAAY,MAAM,KACjB,OAAO,CAAC,0BAA0B,EAAE,CA2BtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,OAAO,MAAM,EACb,YAAY,MAAM,KACjB,OAAO,CAAC,mBAAmB,EAAE,CA2B/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,KACZ,OAAO,CAAC,IAAI,CAQd,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,cAAc,MAAM,KACnB,OAAO,CAAC,kBAAkB,CAmB5B,CAAC"}
@@ -4,11 +4,62 @@ import { spawn } from "node:child_process";
4
4
  import { ConvexClient } from "convex/browser";
5
5
  import { makeFunctionReference } from "convex/server";
6
6
  import { logger } from "./logger.js";
7
+ const trim = (value) => value.trim().replace(/\r/g, "");
8
+ const normalizeConvexDeployment = (value) => {
9
+ const normalized = trim(value);
10
+ if (!normalized)
11
+ return "";
12
+ if (normalized.includes(":")) {
13
+ const [prefix, rest] = normalized.split(":", 2);
14
+ return `${prefix}:${trim(rest ?? "")}`;
15
+ }
16
+ return normalized;
17
+ };
18
+ const stripDevPrefix = (value) => {
19
+ if (value.startsWith("dev:")) {
20
+ return trim(value.slice(4));
21
+ }
22
+ return value;
23
+ };
24
+ const resolveFromDeployment = (deploymentRaw, suffix) => {
25
+ const deployment = stripDevPrefix(normalizeConvexDeployment(deploymentRaw));
26
+ if (!deployment)
27
+ return "";
28
+ if (deployment.includes("://")) {
29
+ return deployment;
30
+ }
31
+ if (deployment.includes(".")) {
32
+ const host = suffix === "cloud"
33
+ ? deployment.replace(".convex.site", ".convex.cloud")
34
+ : deployment.replace(".convex.cloud", ".convex.site");
35
+ return `https://${host}`;
36
+ }
37
+ return `https://${deployment}.convex.${suffix}`;
38
+ };
39
+ const resolveFromUrl = (raw, suffix) => {
40
+ const value = trim(raw);
41
+ if (!value)
42
+ return "";
43
+ try {
44
+ const url = new URL(value);
45
+ const host = suffix === "cloud"
46
+ ? url.host.replace(".convex.site", ".convex.cloud")
47
+ : url.host.replace(".convex.cloud", ".convex.site");
48
+ return `${url.protocol}//${host}`;
49
+ }
50
+ catch {
51
+ return "";
52
+ }
53
+ };
7
54
  const resolveControlPlaneUrl = () => {
8
55
  const envOverride = process.env.DEVBOX_CONTROL_PLANE_URL ?? process.env.CONVEX_SITE_URL;
9
56
  if (envOverride && envOverride.trim().length > 0) {
10
57
  return envOverride.trim();
11
58
  }
59
+ const derived = resolveFromDeployment(process.env.CONVEX_DEPLOYMENT ?? "", "site") ||
60
+ resolveFromUrl(process.env.VITE_CONVEX_URL ?? "", "site");
61
+ if (derived)
62
+ return derived;
12
63
  if (typeof __DEVBOX_CONTROL_PLANE_URL__ !== "string")
13
64
  return null;
14
65
  const trimmed = __DEVBOX_CONTROL_PLANE_URL__.trim();
@@ -19,6 +70,10 @@ const resolveConvexUrl = () => {
19
70
  if (envOverride && envOverride.trim().length > 0) {
20
71
  return envOverride.trim();
21
72
  }
73
+ const derived = resolveFromDeployment(process.env.CONVEX_DEPLOYMENT ?? "", "cloud") ||
74
+ resolveFromUrl(process.env.CONVEX_SITE_URL ?? "", "cloud");
75
+ if (derived)
76
+ return derived;
22
77
  if (typeof __DEVBOX_CONVEX_URL__ !== "string")
23
78
  return null;
24
79
  const trimmed = __DEVBOX_CONVEX_URL__.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"controlPlane.js","sourceRoot":"","sources":["../../src/devbox/controlPlane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controlPlane.js","sourceRoot":"","sources":["../../src/devbox/controlPlane.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemonClient.d.ts","sourceRoot":"","sources":["../../src/devbox/daemonClient.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AA0BX,eAAO,MAAM,WAAW,GAAU,CAAC,EACjC,YAAY,MAAM,EAClB,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,WAAW,MAAM,EACjB,OAAO,OAAO,KACb,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAgF/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,YAAY,MAAM,EAClB,UAAU,MAAM,EAAE,kBA0BnB,CAAC;AAoHF,eAAO,MAAM,mBAAmB,GAAU,YAAY,MAAM,4BAmB3D,CAAC;AAkBF,eAAO,MAAM,UAAU,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,OAAO,CA2BpE,CAAC"}
1
+ {"version":3,"file":"daemonClient.d.ts","sourceRoot":"","sources":["../../src/devbox/daemonClient.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AA0BX,eAAO,MAAM,WAAW,GAAU,CAAC,EACjC,YAAY,MAAM,EAClB,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,WAAW,MAAM,EACjB,OAAO,OAAO,KACb,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAgF/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,YAAY,MAAM,EAClB,UAAU,MAAM,EAAE,kBA0BnB,CAAC;AAuIF,eAAO,MAAM,mBAAmB,GAAU,YAAY,MAAM,4BAmB3D,CAAC;AAkBF,eAAO,MAAM,UAAU,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,OAAO,CA2BpE,CAAC"}
@@ -2,6 +2,7 @@ import http from "node:http";
2
2
  import path from "node:path";
3
3
  import { spawn } from "node:child_process";
4
4
  import { randomUUID } from "node:crypto";
5
+ import fs from "node:fs";
5
6
  import { access } from "node:fs/promises";
6
7
  import { resolveDevboxDir, resolveSocketInfo } from "@boxes-dev/core";
7
8
  import { getControlPlaneUrl, getConvexUrl } from "./controlPlane.js";
@@ -149,11 +150,22 @@ const spawnDaemon = (socketPath) => {
149
150
  const command = resolveDaemonCommand();
150
151
  const controlPlaneUrl = getControlPlaneUrl();
151
152
  const convexUrl = getConvexUrl();
153
+ const runtimeDir = path.dirname(socketPath);
154
+ const logPath = path.join(runtimeDir, "dvbd.log");
155
+ let logFd = null;
156
+ try {
157
+ // Keep daemon startup logs somewhere users can inspect when health checks fail.
158
+ logFd = fs.openSync(logPath, "a");
159
+ }
160
+ catch {
161
+ logFd = null;
162
+ }
152
163
  logger.info("daemon_spawn", {
153
164
  socketPath,
154
165
  command: command.command,
155
166
  args: command.args,
156
167
  source: command.source,
168
+ ...(logFd !== null ? { logPath } : {}),
157
169
  });
158
170
  const child = spawn(command.command, command.args, {
159
171
  env: {
@@ -164,9 +176,17 @@ const spawnDaemon = (socketPath) => {
164
176
  : {}),
165
177
  ...(convexUrl ? { DEVBOX_CONVEX_URL: convexUrl } : {}),
166
178
  },
167
- stdio: "ignore",
179
+ stdio: logFd !== null ? ["ignore", logFd, logFd] : "ignore",
168
180
  detached: true,
169
181
  });
182
+ if (logFd !== null) {
183
+ try {
184
+ fs.closeSync(logFd);
185
+ }
186
+ catch {
187
+ // ignore
188
+ }
189
+ }
170
190
  child.unref();
171
191
  };
172
192
  const waitForHealth = async (socketPath, timeoutMs) => {