@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 +56 -51
- package/dist/bin/dvb.cjs.map +1 -1
- package/dist/bin/dvbd.cjs +5 -5
- package/dist/devbox/commands/setup.d.ts +1 -0
- package/dist/devbox/commands/setup.d.ts.map +1 -1
- package/dist/devbox/commands/setup.js +39 -32
- package/dist/devbox/commands/setup.js.map +1 -1
- package/dist/devbox/controlPlane.js +1 -1
- package/package.json +1 -1
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]="
|
|
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.
|
|
88638
|
-
const rawGitSha = "
|
|
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.
|
|
120627
|
-
const rawGitSha = "
|
|
120628
|
-
const rawSentryRelease = "boxes-dev-dvb@1.0.
|
|
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:
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
154089
|
-
if (
|
|
154090
|
-
org
|
|
154091
|
-
|
|
154092
|
-
|
|
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)
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
154791
|
+
await import_promises31.default.mkdir(logDir, { recursive: true });
|
|
154787
154792
|
const line = `${(/* @__PURE__ */ new Date()).toISOString()} ${message}
|
|
154788
154793
|
`;
|
|
154789
|
-
await
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
155275
|
-
await
|
|
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=
|
|
155774
|
+
//# debugId=c5ff8eeb-e556-5c16-a965-f352e4d938da
|