@boxes-dev/dvb 1.0.31 → 1.0.33

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
@@ -88604,8 +88604,8 @@ var init_otel = __esm({
88604
88604
  return trimmed && trimmed.length > 0 ? trimmed : void 0;
88605
88605
  };
88606
88606
  readBuildMetadata = () => {
88607
- const rawPackageVersion = "1.0.31";
88608
- const rawGitSha = "06c2d04b41e250f9c4df9fddfaaa0ecf81c7a8d0";
88607
+ const rawPackageVersion = "1.0.33";
88608
+ const rawGitSha = "fa907b87a93b04d34b7fc28eae6436ee11a6a456";
88609
88609
  const packageVersion = typeof rawPackageVersion === "string" ? rawPackageVersion : void 0;
88610
88610
  const gitSha = typeof rawGitSha === "string" ? rawGitSha : void 0;
88611
88611
  return { packageVersion, gitSha };
@@ -120522,9 +120522,9 @@ var init_sentry = __esm({
120522
120522
  sentryEnabled = false;
120523
120523
  uncaughtExceptionMonitorInstalled = false;
120524
120524
  readBuildMetadata2 = () => {
120525
- const rawPackageVersion = "1.0.31";
120526
- const rawGitSha = "06c2d04b41e250f9c4df9fddfaaa0ecf81c7a8d0";
120527
- const rawSentryRelease = "boxes-dev-dvb@1.0.31+06c2d04b41e250f9c4df9fddfaaa0ecf81c7a8d0";
120525
+ const rawPackageVersion = "1.0.33";
120526
+ const rawGitSha = "fa907b87a93b04d34b7fc28eae6436ee11a6a456";
120527
+ const rawSentryRelease = "boxes-dev-dvb@1.0.33+fa907b87a93b04d34b7fc28eae6436ee11a6a456";
120528
120528
  const packageVersion = typeof rawPackageVersion === "string" ? rawPackageVersion : void 0;
120529
120529
  const gitSha = typeof rawGitSha === "string" ? rawGitSha : void 0;
120530
120530
  const sentryRelease = typeof rawSentryRelease === "string" ? rawSentryRelease : void 0;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/devbox/commands/init/codex/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGxE,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,0BAA0B,EAC1B,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAyEzD,QAAA,MAAM,eAAe,GAAU,+KAU5B;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,2BAA2B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,kBAAkB,CAAC;CAC5B,kBAyCA,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAU,8JAWhC;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;IAClC,2BAA2B,EAAE,MAAM,CAAC;IACpC,UAAU,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IACjD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D,kBAwKA,CAAC;AAEF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,+BAA+B,EAC/B,eAAe,EACf,cAAc,EACd,eAAe,EACf,0BAA0B,EAC1B,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,GACxB,CAAC;AACF,YAAY,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/devbox/commands/init/codex/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIxE,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,0BAA0B,EAC1B,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAyEzD,QAAA,MAAM,eAAe,GAAU,+KAU5B;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,0BAA0B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,2BAA2B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,kBAAkB,CAAC;CAC5B,kBAyCA,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAU,8JAWhC;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;IAClC,2BAA2B,EAAE,MAAM,CAAC;IACpC,UAAU,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IACjD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D,kBA8JA,CAAC;AAEF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,+BAA+B,EAC/B,eAAe,EACf,cAAc,EACd,eAAe,EACf,0BAA0B,EAC1B,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,GACxB,CAAC;AACF,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import path from "node:path";
2
2
  import fs from "node:fs/promises";
3
3
  import { homedir } from "node:os";
4
- import { cancel as clackCancel, isCancel, log as clackLog, note as clackNote, selectKey as clackSelectKey, } from "@clack/prompts";
4
+ import { cancel as clackCancel, isCancel, log as clackLog, select as clackSelect, } from "@clack/prompts";
5
5
  import { resolveSocketInfo } from "@boxes-dev/core";
6
6
  import { requestJson, requireDaemonFeatures } from "../../../daemonClient.js";
7
+ import { showCopyableUrl } from "../../../ui/copyableUrl.js";
7
8
  import { shellQuote } from "../remote.js";
8
9
  import { ensureRemoteCodexInstalled, isRemoteCodexLoggedIn, openBrowser, renderRemoteApplyPrompt, runRemoteCodexExec, runRemoteCodexLogin, } from "./remote.js";
9
10
  import { readSetupPlan, readSetupEnvSecretsPlan, readSetupExternalPlan, readSetupExtraArtifactsPlan, readServicesPlan, mergeSetupScans, writeSetupPlan, writeSetupEnvSecretsSchema, writeSetupExternalSchema, writeSetupExtraArtifactsSchema, writeServicesPlan, writeServicesSchema, } from "./plan.js";
@@ -97,7 +98,6 @@ const uploadSetupPlan = async ({ client, canonical, localSetupPath, remoteSetupP
97
98
  const runRemoteCodexSetup = async ({ client, canonical, expandedWorkdir, remoteSetupPath, remoteArtifactsBundlePath, remoteArtifactsManifestPath, socketInfo, status, pathSetup, entrypoints, }) => {
98
99
  status.stage("Checking Codex login");
99
100
  let loggedIn = await isRemoteCodexLoggedIn(client, canonical);
100
- let upgraded = false;
101
101
  if (!loggedIn) {
102
102
  const synced = await syncLocalCodexAuthCacheToSprite({
103
103
  client,
@@ -109,9 +109,6 @@ const runRemoteCodexSetup = async ({ client, canonical, expandedWorkdir, remoteS
109
109
  }
110
110
  }
111
111
  if (!loggedIn) {
112
- status.stage("Upgrading Codex");
113
- await ensureRemoteCodexInstalled(client, canonical);
114
- upgraded = true;
115
112
  await requireDaemonFeatures(socketInfo.socketPath, ["ports"]);
116
113
  status.stage("Waiting for Codex login");
117
114
  let openedUrl = false;
@@ -137,20 +134,20 @@ const runRemoteCodexSetup = async ({ client, canonical, expandedWorkdir, remoteS
137
134
  return;
138
135
  openedUrl = true;
139
136
  status.stop();
140
- clackNote(url, "Codex login URL");
141
- const action = await clackSelectKey({
137
+ showCopyableUrl(url, "Codex login URL");
138
+ const action = await clackSelect({
142
139
  message: "Open the Codex login URL in your browser?",
143
140
  options: [
144
- { value: "o", label: "Open in browser" },
145
- { value: "s", label: "Skip" },
141
+ { value: "open", label: "Open in browser" },
142
+ { value: "skip", label: "Skip" },
146
143
  ],
147
- initialValue: "o",
144
+ initialValue: "open",
148
145
  });
149
146
  if (isCancel(action)) {
150
147
  clackCancel("Init canceled.");
151
148
  throw new Error("Init canceled.");
152
149
  }
153
- if (action === "o") {
150
+ if (action === "open") {
154
151
  const opened = await openBrowser(url);
155
152
  if (opened) {
156
153
  clackLog.success("Opened browser for Codex login.");
@@ -200,10 +197,6 @@ const runRemoteCodexSetup = async ({ client, canonical, expandedWorkdir, remoteS
200
197
  ].join(" "));
201
198
  }
202
199
  }
203
- if (!upgraded) {
204
- status.stage("Upgrading Codex");
205
- await ensureRemoteCodexInstalled(client, canonical);
206
- }
207
200
  status.stage("Applying setup plan");
208
201
  const remotePrompt = await renderRemoteApplyPrompt({
209
202
  setupPath: remoteSetupPath,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/devbox/commands/init/codex/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/devbox/commands/init/codex/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/devbox/commands/init/index.ts"],"names":[],"mappings":"AA2oBA,eAAO,MAAM,OAAO,GAAU,MAAM,MAAM,EAAE,kBAmjF3C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/devbox/commands/init/index.ts"],"names":[],"mappings":"AA4oBA,eAAO,MAAM,OAAO,GAAU,MAAM,MAAM,EAAE,kBA6pF3C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import path from "node:path";
2
2
  import fs from "node:fs/promises";
3
3
  import os from "node:os";
4
- import { cancel as clackCancel, confirm as clackConfirm, isCancel, log as clackLog, note as clackNote, select as clackSelect, selectKey as clackSelectKey, taskLog as clackTaskLog, } from "@clack/prompts";
4
+ import { cancel as clackCancel, confirm as clackConfirm, isCancel, log as clackLog, note as clackNote, select as clackSelect, taskLog as clackTaskLog, } from "@clack/prompts";
5
5
  import { resolveSocketInfo } from "@boxes-dev/core";
6
6
  import { createSecretStore, loadConfig, createSpritesClient, normalizeGitRemoteUrl, resolveSpritesApiUrl, resolveDevboxProjectDir, SpritesApiError, slugify, } from "@boxes-dev/core";
7
7
  import { DAEMON_TIMEOUT_MS, ensureDaemonRunning, requestJson, requireDaemonFeatures, } from "../../daemonClient.js";
@@ -14,10 +14,11 @@ import { createFileListArchive, createGitMetaArchive, writePatch, } from "./pack
14
14
  import { bootstrapDevbox, ensureSpriteDaemonService, expandHome, ensureWeztermMuxService, installSpriteDaemon, shellQuote, stageRemoteSetupArtifacts, writeRemoteCodexConfig, } from "./remote.js";
15
15
  import { ensureWeztermMuxInstalled } from "../../../wezterm/ensureMux.js";
16
16
  import { readRepoMarker, writeRepoMarker } from "./registry.js";
17
+ import { showCopyableUrl } from "../../ui/copyableUrl.js";
17
18
  import { INIT_STEP_KEYS, readInitState, writeInitState, } from "./state.js";
18
19
  import { ensureSshConfig, ensureSshKey, copyToClipboard, openBrowser, parseGitRemote, readRemoteOrigin, setRemoteOrigin, verifySshAuth, } from "./ssh.js";
19
20
  import { ensureKnownHostsFile, ensureLocalMountKey, ensureRemoteMountAccess, ensureSshdService, readLocalMountPublicKey, } from "../mountSsh.js";
20
- import { createSetupArtifacts, promptForPlanApproval, promptForServicesApproval, readSetupPlan, readSetupEnvSecretsPlan, readSetupExternalPlan, readSetupExtraArtifactsPlan, readServicesPlan, runLocalServicesScan, runLocalSetupEnvSecretsScan, runLocalSetupExternalScan, runLocalSetupExtraArtifactsScan, runRemoteCodexSetup, uploadSetupPlan, mergeSetupScans, writeSetupPlan, writeSetupEnvSecretsSchema, writeSetupExternalSchema, writeSetupExtraArtifactsSchema, writeServicesSchema, } from "./codex/index.js";
21
+ import { createSetupArtifacts, promptForPlanApproval, promptForServicesApproval, readSetupPlan, readSetupEnvSecretsPlan, readSetupExternalPlan, readSetupExtraArtifactsPlan, readServicesPlan, runLocalServicesScan, runLocalSetupEnvSecretsScan, runLocalSetupExternalScan, runLocalSetupExtraArtifactsScan, runRemoteCodexSetup, ensureRemoteCodexInstalled, uploadSetupPlan, mergeSetupScans, writeSetupPlan, writeSetupEnvSecretsSchema, writeSetupExternalSchema, writeSetupExtraArtifactsSchema, writeServicesSchema, } from "./codex/index.js";
21
22
  import { mergeServicesToml, splitShellCommand, } from "../servicesToml.js";
22
23
  import { runInitStep } from "./progress.js";
23
24
  const requireDaemonJsonOk = (response, label) => {
@@ -283,19 +284,19 @@ const throwInitCanceled = () => {
283
284
  const promptBeforeOpenBrowser = async ({ url, title, consequence, }) => {
284
285
  if (!process.stdin.isTTY)
285
286
  return false;
286
- clackNote(url, title);
287
- const choice = await clackSelectKey({
287
+ showCopyableUrl(url, title);
288
+ const choice = await clackSelect({
288
289
  message: `Open ${title} in your browser?`,
289
290
  options: [
290
- { value: "o", label: "Open in browser" },
291
- { value: "s", label: "Skip" },
291
+ { value: "open", label: "Open in browser" },
292
+ { value: "skip", label: "Skip" },
292
293
  ],
293
- initialValue: "o",
294
+ initialValue: "open",
294
295
  });
295
296
  if (isCancel(choice)) {
296
297
  throwInitCanceled();
297
298
  }
298
- if (choice === "s") {
299
+ if (choice === "skip") {
299
300
  clackLog.warn(consequence);
300
301
  return false;
301
302
  }
@@ -890,6 +891,27 @@ export const runInit = async (args) => {
890
891
  });
891
892
  },
892
893
  });
894
+ await runInitStep({
895
+ enabled: progressEnabled,
896
+ title: "Ensuring Codex CLI",
897
+ fn: async ({ status, fail }) => {
898
+ try {
899
+ await retryInitStep({
900
+ status,
901
+ title: "Ensuring Codex CLI",
902
+ fn: async () => await ensureRemoteCodexInstalled(client, canonical),
903
+ });
904
+ }
905
+ catch (error) {
906
+ logger.warn("codex_cli_ensure_failed", {
907
+ box: canonical,
908
+ error: error instanceof Error ? error.message : String(error),
909
+ });
910
+ fail("Ensuring Codex CLI (failed)");
911
+ throw error;
912
+ }
913
+ },
914
+ });
893
915
  await runInitStep({
894
916
  enabled: progressEnabled,
895
917
  title: "Applying setup plan",
@@ -1004,6 +1026,7 @@ export const runInit = async (args) => {
1004
1026
  let canonical = (shouldResume && initState?.canonical ? initState.canonical : null) ??
1005
1027
  canonicalHint ??
1006
1028
  `${username}-${slug}`;
1029
+ const knownAssociatedCanonicals = new Set([existingEntry?.canonical, initState?.canonical].filter((value) => typeof value === "string" && value.length > 0));
1007
1030
  const createSprite = async (name) => {
1008
1031
  try {
1009
1032
  await client.createSprite(name);
@@ -1023,6 +1046,17 @@ export const runInit = async (args) => {
1023
1046
  }
1024
1047
  };
1025
1048
  const skipCreate = shouldResume && initState?.steps.spritesCreated && initState.canonical;
1049
+ if (!skipCreate) {
1050
+ const aliasLookup = await requestJson(socketInfo.socketPath, "GET", `/registry/alias?alias=${encodeURIComponent(alias)}`, DAEMON_TIMEOUT_MS.registry);
1051
+ requireDaemonJsonOk(aliasLookup, "Checking alias (/registry/alias)");
1052
+ const aliasCanonical = aliasLookup.body.canonical;
1053
+ if (aliasCanonical &&
1054
+ aliasCanonical !== canonical &&
1055
+ !knownAssociatedCanonicals.has(aliasCanonical) &&
1056
+ !parsed.force) {
1057
+ throw new Error(`Alias already in use: ${alias}`);
1058
+ }
1059
+ }
1026
1060
  if (!skipCreate) {
1027
1061
  canonical = await runInitStep({
1028
1062
  enabled: progressEnabled,
@@ -1030,16 +1064,40 @@ export const runInit = async (args) => {
1030
1064
  fn: async ({ status }) => {
1031
1065
  let nextCanonical = canonical;
1032
1066
  const createResult = await createSprite(nextCanonical);
1033
- if (createResult === "exists" && !parsed.force) {
1034
- if (canonicalHint) {
1035
- throw new Error(`Sprite already exists: ${nextCanonical}`);
1067
+ if (createResult === "exists") {
1068
+ const associatedCanonical = knownAssociatedCanonicals.has(nextCanonical);
1069
+ if (parsed.force) {
1070
+ if (!associatedCanonical) {
1071
+ if (!process.stdin.isTTY || parsed.json) {
1072
+ throw new Error(`Sprite already exists: ${nextCanonical}. Refusing to reuse an unlinked sprite in non-interactive mode.`);
1073
+ }
1074
+ status.stop();
1075
+ const confirmedReuse = await clackConfirm({
1076
+ message: `Sprite "${nextCanonical}" already exists but is not linked to this repo. Reuse it with --force?`,
1077
+ active: "Reuse existing sprite",
1078
+ inactive: "Abort init",
1079
+ initialValue: false,
1080
+ });
1081
+ if (isCancel(confirmedReuse)) {
1082
+ throwInitCanceled();
1083
+ }
1084
+ if (!confirmedReuse) {
1085
+ throw new Error(`Sprite reuse canceled: ${nextCanonical}. Choose a different --name.`);
1086
+ }
1087
+ status.stage("Creating devbox");
1088
+ }
1036
1089
  }
1037
- const suffix = fingerprint.slice(0, 6);
1038
- nextCanonical = `${nextCanonical}-${suffix}`;
1039
- status.stage("Resolving devbox name");
1040
- const second = await createSprite(nextCanonical);
1041
- if (second === "exists") {
1042
- throw new Error(`Sprite already exists: ${nextCanonical}`);
1090
+ else {
1091
+ if (canonicalHint) {
1092
+ throw new Error(`Sprite already exists: ${nextCanonical}`);
1093
+ }
1094
+ const suffix = fingerprint.slice(0, 6);
1095
+ nextCanonical = `${nextCanonical}-${suffix}`;
1096
+ status.stage("Resolving devbox name");
1097
+ const second = await createSprite(nextCanonical);
1098
+ if (second === "exists") {
1099
+ throw new Error(`Sprite already exists: ${nextCanonical}`);
1100
+ }
1043
1101
  }
1044
1102
  }
1045
1103
  await updateInitState({
@@ -1209,6 +1267,7 @@ export const runInit = async (args) => {
1209
1267
  const skipServicesEnable = shouldResume && initState?.steps.servicesEnabled;
1210
1268
  const skipSetupUpload = nonInteractive || (shouldResume && initState?.steps.setupUploaded);
1211
1269
  const skipCodexApply = nonInteractive || (shouldResume && initState?.steps.codexApplied);
1270
+ const skipCodexCliEnsure = skipCodexApply || (shouldResume && initState?.steps.codexCliEnsured);
1212
1271
  let approvedPlan = null;
1213
1272
  const setupTempDir = await fs.mkdtemp(path.join(os.tmpdir(), "devbox-setup-"));
1214
1273
  try {
@@ -2128,6 +2187,9 @@ export const runInit = async (args) => {
2128
2187
  if (!parsed.json) {
2129
2188
  console.warn("Skipping SSH auth setup. Configure git credentials for this repo manually before pulling or pushing.");
2130
2189
  }
2190
+ await updateInitState({
2191
+ steps: { sshAuthConfigured: true },
2192
+ });
2131
2193
  activeOrigin = "";
2132
2194
  }
2133
2195
  else {
@@ -2347,6 +2409,31 @@ export const runInit = async (args) => {
2347
2409
  });
2348
2410
  await updateInitState({ steps: { setupArtifactsStaged: true } });
2349
2411
  }
2412
+ if (!skipCodexCliEnsure) {
2413
+ await runInitStep({
2414
+ enabled: progressEnabled,
2415
+ title: "Ensuring Codex CLI",
2416
+ fn: async ({ status, fail }) => {
2417
+ try {
2418
+ await retryInitStep({
2419
+ status,
2420
+ title: "Ensuring Codex CLI",
2421
+ fn: async () => await ensureRemoteCodexInstalled(client, canonical),
2422
+ });
2423
+ await updateInitState({ steps: { codexCliEnsured: true } });
2424
+ }
2425
+ catch (error) {
2426
+ logger.warn("codex_cli_ensure_failed", {
2427
+ box: canonical,
2428
+ fingerprint,
2429
+ error: error instanceof Error ? error.message : String(error),
2430
+ });
2431
+ fail("Ensuring Codex CLI (failed)");
2432
+ throw error;
2433
+ }
2434
+ },
2435
+ });
2436
+ }
2350
2437
  if (!skipCodexApply) {
2351
2438
  await runInitStep({
2352
2439
  enabled: progressEnabled,