@boxes-dev/dvb 1.0.76 → 1.0.78

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]="bf506a54-870d-5340-9c5b-c0409b05301f")}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]="582fe27b-e777-538c-bbd5-5055c01e366b")}catch(e){}}();
4
4
 
5
5
  var __create = Object.create;
6
6
  var __defProp = Object.defineProperty;
@@ -88688,8 +88688,8 @@ var init_otel = __esm({
88688
88688
  return trimmed && trimmed.length > 0 ? trimmed : void 0;
88689
88689
  };
88690
88690
  readBuildMetadata = () => {
88691
- const rawPackageVersion = "1.0.76";
88692
- const rawGitSha = "0a22bc46e1e11244e957f22daed239d41bbcad79";
88691
+ const rawPackageVersion = "1.0.78";
88692
+ const rawGitSha = "47fdfa1265d82766958857c6dcfcc196103475be";
88693
88693
  const packageVersion = typeof rawPackageVersion === "string" ? rawPackageVersion : void 0;
88694
88694
  const gitSha = typeof rawGitSha === "string" ? rawGitSha : void 0;
88695
88695
  return { packageVersion, gitSha };
@@ -120679,9 +120679,9 @@ var init_sentry = __esm({
120679
120679
  sentryEnabled = false;
120680
120680
  uncaughtExceptionMonitorInstalled = false;
120681
120681
  readBuildMetadata2 = () => {
120682
- const rawPackageVersion = "1.0.76";
120683
- const rawGitSha = "0a22bc46e1e11244e957f22daed239d41bbcad79";
120684
- const rawSentryRelease = "boxes-dev-dvb@1.0.76+0a22bc46e1e11244e957f22daed239d41bbcad79";
120682
+ const rawPackageVersion = "1.0.78";
120683
+ const rawGitSha = "47fdfa1265d82766958857c6dcfcc196103475be";
120684
+ const rawSentryRelease = "boxes-dev-dvb@1.0.78+47fdfa1265d82766958857c6dcfcc196103475be";
120685
120685
  const packageVersion = typeof rawPackageVersion === "string" ? rawPackageVersion : void 0;
120686
120686
  const gitSha = typeof rawGitSha === "string" ? rawGitSha : void 0;
120687
120687
  const sentryRelease = typeof rawSentryRelease === "string" ? rawSentryRelease : void 0;
@@ -141302,7 +141302,9 @@ var init_statusLine = __esm({
141302
141302
  enabled,
141303
141303
  stream = process.stderr
141304
141304
  }) => {
141305
- if (!enabled) {
141305
+ const usableColumns = typeof stream.columns !== "number" || stream.columns > 0;
141306
+ const spinnerEnabled = enabled && (!stream.isTTY || usableColumns);
141307
+ if (!spinnerEnabled) {
141306
141308
  return {
141307
141309
  stage: () => {
141308
141310
  },
@@ -201660,6 +201662,9 @@ var init_connect2 = __esm({
201660
201662
  return;
201661
201663
  }
201662
201664
  if (payload.type === "tty_replay_done") {
201665
+ if (options.tty && ttyOutputFilter) {
201666
+ writeTtyOutput(applyDisconnectFilter(ttyOutputFilter.flush()));
201667
+ }
201663
201668
  options.onReplayDone?.();
201664
201669
  return;
201665
201670
  }
@@ -202533,6 +202538,18 @@ var init_connect2 = __esm({
202533
202538
  `${envCommandPrefix}exec ${shellQuote2(connectShell)}`
202534
202539
  ];
202535
202540
  })();
202541
+ if (parsed.command) {
202542
+ stage("Running command");
202543
+ const result = await client2.exec(spriteAlias, execCommand2);
202544
+ if (result.stdout.length > 0) {
202545
+ process.stdout.write(result.stdout);
202546
+ }
202547
+ if (result.stderr.length > 0) {
202548
+ process.stderr.write(result.stderr);
202549
+ }
202550
+ process.exitCode = result.exitCode;
202551
+ return;
202552
+ }
202536
202553
  const ttySize = isTty ? resolveTtySize() : null;
202537
202554
  try {
202538
202555
  if (isDetached) {
@@ -202554,7 +202571,6 @@ var init_connect2 = __esm({
202554
202571
  const ttyOutputFilter = createModalTtyOutputFilter();
202555
202572
  return {
202556
202573
  ttyOutputFilter,
202557
- onReplayDone: () => ttyOutputFilter.reset?.(),
202558
202574
  stripDisconnectArtifacts: true
202559
202575
  };
202560
202576
  })() : {},
@@ -202735,7 +202751,6 @@ ${message}\r
202735
202751
  const ttyOutputFilter = createModalTtyOutputFilter();
202736
202752
  return {
202737
202753
  ttyOutputFilter,
202738
- onReplayDone: () => ttyOutputFilter.reset?.(),
202739
202754
  stripDisconnectArtifacts: true
202740
202755
  };
202741
202756
  })() : {},
@@ -205352,7 +205367,7 @@ var init_session3 = __esm({
205352
205367
  nonInteractive || shouldResume && initState?.steps.codexApplied
205353
205368
  );
205354
205369
  const skipCodexCliEnsure = Boolean(
205355
- skipCodexApply || shouldResume && initState?.steps.codexCliEnsured
205370
+ shouldResume && initState?.steps.codexCliEnsured
205356
205371
  );
205357
205372
  return {
205358
205373
  initState,
@@ -206403,7 +206418,16 @@ var init_remote2 = __esm({
206403
206418
  });
206404
206419
  };
206405
206420
  ensureRemoteCodexInstalled = async (client2, spriteAlias) => {
206406
- const pathSetup = 'export PATH="$(npm bin -g 2>/dev/null):$PATH"';
206421
+ const installScript = [
206422
+ "set -euo pipefail",
206423
+ 'prefix="${HOME}/.local"',
206424
+ 'npm install -g --prefix "$prefix" @openai/codex --loglevel=error',
206425
+ 'if [ ! -x "$prefix/bin/codex" ]; then',
206426
+ ' echo "codex binary missing at $prefix/bin/codex" >&2',
206427
+ " exit 1",
206428
+ "fi",
206429
+ '"$prefix/bin/codex" --version >/dev/null'
206430
+ ].join("\n");
206407
206431
  const install = await client2.exec(spriteAlias, [
206408
206432
  "/bin/bash",
206409
206433
  "--noprofile",
@@ -206413,8 +206437,7 @@ var init_remote2 = __esm({
206413
206437
  "-o",
206414
206438
  "pipefail",
206415
206439
  "-c",
206416
- `${pathSetup}
206417
- npm install -g @openai/codex`
206440
+ installScript
206418
206441
  ]);
206419
206442
  if (install.exitCode !== 0) {
206420
206443
  throw new Error(install.stderr || "Failed to install/upgrade Codex.");
@@ -211002,7 +211025,7 @@ ${sshResult.stderr}`.trim();
211002
211025
  });
211003
211026
 
211004
211027
  // src/devbox/commands/init/claudeBootstrap.ts
211005
- var import_promises29, import_node_path32, import_node_crypto16, import_node_child_process11, import_node_os17, import_node_util5, REMOTE_CLAUDE_DIR, REMOTE_CLAUDE_JSON_PATH, REMOTE_CLAUDE_CONFIG_OVERRIDE_PATH, REMOTE_CLAUDE_SETTINGS_PATH, REMOTE_CLAUDE_CREDENTIALS_PATH, REMOTE_CLAUDE_MD_PATH, REMOTE_CLAUDE_PLUGINS_DIR, REMOTE_CLAUDE_PLUGINS_CONFIG_PATH, CLAUDE_STATE_VARIANT_PATTERN, SECURITY_TIMEOUT_MS, OAUTH_SERVICE_SUFFIX_CANDIDATES, CLAUDE_ROOT_ALLOWLIST, CLAUDE_PROJECT_ALLOWLIST, isRecord2, hasOwn, execFileAsync, stripLeadingBom, getExecErrorStatus, getExecErrorCode, parseJsonRecord3, uniquePaths, resolveLocalClaudeDirCandidates, resolveLocalClaudeStateBaseDir, resolveLocalClaudeStorageDir, getCredentialStorageHashSuffix, getOauthServiceSuffixCandidates, resolveClaudeCredentialKeychainServices, resolveClaudeCredentialKeychainAccounts, listClaudeStateVariantPaths, readFileIfExists, findFirstExistingFile, readLocalClaudeStateSource, resolveLocalClaudeFilePath, readLocalClaudeFile, readLocalClaudeSettings, extractClaudeOauthRecord, readClaudeOauthFromKeychain, readLocalClaudeOauthCredentials, normalizeLocalRepoRootCandidates, copyAllowlistedKeys, buildBootstrapClaudeState, mergeClaudeSettingsForDevbox, isNotFoundError2, readRemoteFileIfExists, ensureRemoteClaudeDirectories, applyRemoteClaudePermissions, bootstrapRemoteClaudeConfig;
211028
+ var import_promises29, import_node_path32, import_node_crypto16, import_node_child_process11, import_node_os17, import_node_util5, REMOTE_CLAUDE_DIR, REMOTE_CLAUDE_JSON_PATH, REMOTE_CLAUDE_CONFIG_OVERRIDE_PATH, REMOTE_CLAUDE_SETTINGS_PATH, REMOTE_CLAUDE_CREDENTIALS_PATH, REMOTE_CLAUDE_MD_PATH, REMOTE_CLAUDE_PLUGINS_DIR, REMOTE_CLAUDE_PLUGINS_CONFIG_PATH, CLAUDE_STATE_VARIANT_PATTERN, SECURITY_TIMEOUT_MS, OAUTH_SERVICE_SUFFIX_CANDIDATES, CLAUDE_ROOT_ALLOWLIST, CLAUDE_PROJECT_ALLOWLIST, isRecord2, hasOwn, execFileAsync, stripLeadingBom, getExecErrorStatus, getExecErrorExitCode, parseJsonRecord3, uniquePaths, resolveLocalClaudeDirCandidates, resolveLocalClaudeStateBaseDir, resolveLocalClaudeStorageDir, getCredentialStorageHashSuffix, getOauthServiceSuffixCandidates, resolveClaudeCredentialKeychainServices, resolveClaudeCredentialKeychainAccounts, listClaudeStateVariantPaths, readFileIfExists, findFirstExistingFile, readLocalClaudeStateSource, resolveLocalClaudeFilePath, readLocalClaudeFile, readLocalClaudeSettings, extractClaudeOauthRecord, readClaudeOauthFromKeychain, readLocalClaudeOauthCredentials, normalizeLocalRepoRootCandidates, copyAllowlistedKeys, buildBootstrapClaudeState, mergeClaudeSettingsForDevbox, isNotFoundError2, readRemoteFileIfExists, ensureRemoteClaudeDirectories, applyRemoteClaudePermissions, bootstrapRemoteClaudeConfig;
211006
211029
  var init_claudeBootstrap = __esm({
211007
211030
  "src/devbox/commands/init/claudeBootstrap.ts"() {
211008
211031
  "use strict";
@@ -211081,10 +211104,15 @@ var init_claudeBootstrap = __esm({
211081
211104
  const status = error2.status;
211082
211105
  return typeof status === "number" ? status : null;
211083
211106
  };
211084
- getExecErrorCode = (error2) => {
211107
+ getExecErrorExitCode = (error2) => {
211085
211108
  if (!error2 || typeof error2 !== "object") return null;
211086
211109
  const code2 = error2.code;
211087
- return typeof code2 === "string" ? code2 : null;
211110
+ if (typeof code2 === "number") return code2;
211111
+ if (typeof code2 === "string") {
211112
+ const parsed = Number.parseInt(code2, 10);
211113
+ return Number.isNaN(parsed) ? null : parsed;
211114
+ }
211115
+ return null;
211088
211116
  };
211089
211117
  parseJsonRecord3 = (value, sourcePath) => {
211090
211118
  const parsed = JSON.parse(stripLeadingBom(value.toString("utf8")));
@@ -211128,7 +211156,15 @@ var init_claudeBootstrap = __esm({
211128
211156
  };
211129
211157
  getOauthServiceSuffixCandidates = () => {
211130
211158
  const preferred = process.env.CLAUDE_CODE_CUSTOM_OAUTH_URL ? "-custom-oauth" : "";
211131
- return uniquePaths([preferred, ...OAUTH_SERVICE_SUFFIX_CANDIDATES]);
211159
+ const ordered = [preferred, ...OAUTH_SERVICE_SUFFIX_CANDIDATES];
211160
+ const seen = /* @__PURE__ */ new Set();
211161
+ const candidates = [];
211162
+ for (const suffix of ordered) {
211163
+ if (seen.has(suffix)) continue;
211164
+ seen.add(suffix);
211165
+ candidates.push(suffix);
211166
+ }
211167
+ return candidates;
211132
211168
  };
211133
211169
  resolveClaudeCredentialKeychainServices = () => {
211134
211170
  const storageHashSuffix = getCredentialStorageHashSuffix();
@@ -211310,13 +211346,13 @@ var init_claudeBootstrap = __esm({
211310
211346
  };
211311
211347
  } catch (error2) {
211312
211348
  const status = getExecErrorStatus(error2);
211313
- if (status === 44) {
211349
+ const exitCode = getExecErrorExitCode(error2);
211350
+ if (status === 44 || exitCode === 44) {
211314
211351
  continue;
211315
211352
  }
211316
211353
  if (!warning) {
211317
- const code2 = getExecErrorCode(error2);
211318
211354
  const rawMessage = error2 instanceof Error ? error2.message : String(error2);
211319
- const detail = status ? `status ${status}` : code2 ? `code ${code2}` : rawMessage;
211355
+ const detail = status ? `status ${status}` : exitCode !== null ? `code ${exitCode}` : rawMessage;
211320
211356
  warning = `Failed to copy Claude OAuth credentials from macOS Keychain (${detail}).`;
211321
211357
  }
211322
211358
  continue;
@@ -213650,7 +213686,7 @@ var init_init = __esm({
213650
213686
  ".devbox",
213651
213687
  "setup-artifacts.parts.json"
213652
213688
  );
213653
- const pathSetup = 'export PATH="$(npm bin -g 2>/dev/null):$PATH"';
213689
+ const pathSetup = 'export PATH="$HOME/.local/bin:$(npm bin -g 2>/dev/null || true):$PATH"';
213654
213690
  let canonical = alias;
213655
213691
  let projectCreatedAt = existingEntry?.createdAt ?? (/* @__PURE__ */ new Date()).toISOString();
213656
213692
  let projectLocalPaths = mergeLocalPaths(
@@ -220144,4 +220180,4 @@ smol-toml/dist/index.js:
220144
220180
  */
220145
220181
  //# sourceMappingURL=dvb.cjs.map
220146
220182
 
220147
- //# debugId=bf506a54-870d-5340-9c5b-c0409b05301f
220183
+ //# debugId=582fe27b-e777-538c-bbd5-5055c01e366b