@boxes-dev/dvb 1.0.36 → 1.0.37
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 +155 -63
- package/dist/bin/dvb.cjs.map +1 -1
- package/dist/bin/dvbd.cjs +5 -5
- package/dist/devbox/cli.js +1 -1
- package/dist/devbox/cli.js.map +1 -1
- package/dist/devbox/commands/destroy.d.ts.map +1 -1
- package/dist/devbox/commands/destroy.js +9 -34
- package/dist/devbox/commands/destroy.js.map +1 -1
- package/dist/devbox/commands/destroyShared.d.ts +14 -0
- package/dist/devbox/commands/destroyShared.d.ts.map +1 -0
- package/dist/devbox/commands/destroyShared.js +37 -0
- package/dist/devbox/commands/destroyShared.js.map +1 -0
- package/dist/devbox/commands/init/args.d.ts +1 -0
- package/dist/devbox/commands/init/args.d.ts.map +1 -1
- package/dist/devbox/commands/init/args.js +5 -1
- package/dist/devbox/commands/init/args.js.map +1 -1
- package/dist/devbox/commands/init/index.d.ts.map +1 -1
- package/dist/devbox/commands/init/index.js +79 -6
- package/dist/devbox/commands/init/index.js.map +1 -1
- package/dist/devbox/completions/index.d.ts.map +1 -1
- package/dist/devbox/completions/index.js +1 -0
- package/dist/devbox/completions/index.js.map +1 -1
- package/package.json +1 -1
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.
|
|
88608
|
-
const rawGitSha = "
|
|
88607
|
+
const rawPackageVersion = "1.0.37";
|
|
88608
|
+
const rawGitSha = "c3f5a2ab47817d9cb07bb8bc3ef137c6aeccdfcf";
|
|
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.
|
|
120526
|
-
const rawGitSha = "
|
|
120527
|
-
const rawSentryRelease = "boxes-dev-dvb@1.0.
|
|
120525
|
+
const rawPackageVersion = "1.0.37";
|
|
120526
|
+
const rawGitSha = "c3f5a2ab47817d9cb07bb8bc3ef137c6aeccdfcf";
|
|
120527
|
+
const rawSentryRelease = "boxes-dev-dvb@1.0.37+c3f5a2ab47817d9cb07bb8bc3ef137c6aeccdfcf";
|
|
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;
|
package/dist/devbox/cli.js
CHANGED
|
@@ -25,7 +25,7 @@ const printUsage = () => {
|
|
|
25
25
|
console.log(" dvb logout [--json]");
|
|
26
26
|
console.log(" dvb uninstall [--dry-run] [--yes] [--json]");
|
|
27
27
|
console.log(" dvb init [--alias <alias>] [--name <canonical>]");
|
|
28
|
-
console.log(" [--force] [--resume] [--status] [--json] [--codex-setup-only]");
|
|
28
|
+
console.log(" [--force] [--yes] [--resume] [--status] [--json] [--codex-setup-only]");
|
|
29
29
|
console.log(" dvb connect [<box>[/<session>]] [-n <name>] [--command <cmd>] [--detach] [--no-log]");
|
|
30
30
|
console.log(" dvb codex [<box>] [--resume [<session-id>]]");
|
|
31
31
|
console.log(" dvb codex list [<box>]");
|
package/dist/devbox/cli.js.map
CHANGED
|
@@ -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,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,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,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,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,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,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,CACT,uEAAuE,CACxE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CACT,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/devbox/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destroy.d.ts","sourceRoot":"","sources":["../../../src/devbox/commands/destroy.ts"],"names":[],"mappings":"AAgIA,eAAO,MAAM,UAAU,GAAU,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"destroy.d.ts","sourceRoot":"","sources":["../../../src/devbox/commands/destroy.ts"],"names":[],"mappings":"AAgIA,eAAO,MAAM,UAAU,GAAU,MAAM,MAAM,EAAE,kBAyF9C,CAAC"}
|
|
@@ -2,11 +2,12 @@ import readline from "node:readline/promises";
|
|
|
2
2
|
import fs from "node:fs/promises";
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import { createSecretStore, createSpritesClient, loadConfig, resolveDevboxProjectsDir, resolveSpritesApiUrl, resolveSocketInfo,
|
|
5
|
+
import { createSecretStore, createSpritesClient, loadConfig, resolveDevboxProjectsDir, resolveSpritesApiUrl, resolveSocketInfo, } from "@boxes-dev/core";
|
|
6
6
|
import { DAEMON_TIMEOUT_MS, ensureDaemonRunning, requestJson, requireDaemonFeatures, } from "../daemonClient.js";
|
|
7
7
|
import { ensureSpritesToken } from "../auth.js";
|
|
8
8
|
import { createStatusLine } from "../ui/statusLine.js";
|
|
9
9
|
import { selectDevbox } from "./boxSelect.js";
|
|
10
|
+
import { destroySpriteAndClearState } from "./destroyShared.js";
|
|
10
11
|
const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
11
12
|
const readCanonicalFromJson = async (filePath) => {
|
|
12
13
|
try {
|
|
@@ -128,39 +129,13 @@ export const runDestroy = async (args) => {
|
|
|
128
129
|
const { token } = await ensureSpritesToken(store, (message) => status.stage(message), { apiBaseUrl });
|
|
129
130
|
const client = createSpritesClient({ apiBaseUrl, token });
|
|
130
131
|
status.stage("Deleting devbox");
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
else if (error instanceof SpritesApiError) {
|
|
139
|
-
const deleteError = error;
|
|
140
|
-
let spriteStillExists = true;
|
|
141
|
-
try {
|
|
142
|
-
const sprite = await client.getSprite(canonical);
|
|
143
|
-
spriteStillExists = Boolean(sprite);
|
|
144
|
-
}
|
|
145
|
-
catch {
|
|
146
|
-
spriteStillExists = true;
|
|
147
|
-
}
|
|
148
|
-
if (spriteStillExists) {
|
|
149
|
-
throw deleteError;
|
|
150
|
-
}
|
|
151
|
-
status.stop();
|
|
152
|
-
console.error(`Sprites delete failed but "${canonical}" is gone; cleaning local state.`);
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
throw error;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
status.stage("Clearing local state");
|
|
159
|
-
const isOk = (statusCode) => statusCode >= 200 && statusCode < 300;
|
|
160
|
-
const portsClear = await requestJson(socketInfo.socketPath, "POST", "/ports/clear", DAEMON_TIMEOUT_MS.quick, { box: canonical });
|
|
161
|
-
const registryRemove = await requestJson(socketInfo.socketPath, "POST", "/registry/remove", DAEMON_TIMEOUT_MS.registry, { canonical });
|
|
162
|
-
if (!isOk(portsClear.status) || !isOk(registryRemove.status)) {
|
|
163
|
-
throw new Error("dvbd failed to clear local state. Restart dvbd and retry.");
|
|
132
|
+
const { spriteExisted } = await destroySpriteAndClearState({
|
|
133
|
+
client,
|
|
134
|
+
canonical,
|
|
135
|
+
socketPath: socketInfo.socketPath,
|
|
136
|
+
});
|
|
137
|
+
if (!spriteExisted) {
|
|
138
|
+
status.stage("Devbox already deleted", "warn");
|
|
164
139
|
}
|
|
165
140
|
status.stage("Cleaning local project state");
|
|
166
141
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../../src/devbox/commands/destroy.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../../src/devbox/commands/destroy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type DestroySpritesClient = {
|
|
2
|
+
getSprite: (canonical: string) => Promise<unknown>;
|
|
3
|
+
deleteSprite: (canonical: string) => Promise<void>;
|
|
4
|
+
};
|
|
5
|
+
declare const checkSpriteExists: (client: DestroySpritesClient, canonical: string) => Promise<boolean>;
|
|
6
|
+
declare const destroySpriteAndClearState: ({ client, canonical, socketPath, }: {
|
|
7
|
+
client: DestroySpritesClient;
|
|
8
|
+
canonical: string;
|
|
9
|
+
socketPath: string;
|
|
10
|
+
}) => Promise<{
|
|
11
|
+
spriteExisted: boolean;
|
|
12
|
+
}>;
|
|
13
|
+
export { checkSpriteExists, destroySpriteAndClearState };
|
|
14
|
+
//# sourceMappingURL=destroyShared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destroyShared.d.ts","sourceRoot":"","sources":["../../../src/devbox/commands/destroyShared.ts"],"names":[],"mappings":"AAGA,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD,CAAC;AAIF,QAAA,MAAM,iBAAiB,GACrB,QAAQ,oBAAoB,EAC5B,WAAW,MAAM,qBAWlB,CAAC;AAEF,QAAA,MAAM,0BAA0B,GAAU,oCAIvC;IACD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;;EAqCA,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { SpritesApiError } from "@boxes-dev/core";
|
|
2
|
+
import { DAEMON_TIMEOUT_MS, requestJson } from "../daemonClient.js";
|
|
3
|
+
const isHttpSuccess = (status) => status >= 200 && status < 300;
|
|
4
|
+
const checkSpriteExists = async (client, canonical) => {
|
|
5
|
+
try {
|
|
6
|
+
await client.getSprite(canonical);
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
if (error instanceof SpritesApiError && error.status === 404) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
throw error;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const destroySpriteAndClearState = async ({ client, canonical, socketPath, }) => {
|
|
17
|
+
const spriteExisted = await checkSpriteExists(client, canonical);
|
|
18
|
+
if (spriteExisted) {
|
|
19
|
+
try {
|
|
20
|
+
await client.deleteSprite(canonical);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
if (!(error instanceof SpritesApiError && error.status === 404)) {
|
|
24
|
+
throw error;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const portsClear = await requestJson(socketPath, "POST", "/ports/clear", DAEMON_TIMEOUT_MS.quick, { box: canonical });
|
|
29
|
+
const registryRemove = await requestJson(socketPath, "POST", "/registry/remove", DAEMON_TIMEOUT_MS.registry, { canonical });
|
|
30
|
+
if (!isHttpSuccess(portsClear.status) ||
|
|
31
|
+
!isHttpSuccess(registryRemove.status)) {
|
|
32
|
+
throw new Error("dvbd failed to clear local state. Restart dvbd and retry.");
|
|
33
|
+
}
|
|
34
|
+
return { spriteExisted };
|
|
35
|
+
};
|
|
36
|
+
export { checkSpriteExists, destroySpriteAndClearState };
|
|
37
|
+
//# sourceMappingURL=destroyShared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destroyShared.js","sourceRoot":"","sources":["../../../src/devbox/commands/destroyShared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOpE,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC;AAExE,MAAM,iBAAiB,GAAG,KAAK,EAC7B,MAA4B,EAC5B,SAAiB,EACjB,EAAE;IACF,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,eAAe,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,KAAK,EAAE,EACxC,MAAM,EACN,SAAS,EACT,UAAU,GAKX,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAEjE,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,eAAe,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;gBAChE,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,WAAW,CAClC,UAAU,EACV,MAAM,EACN,cAAc,EACd,iBAAiB,CAAC,KAAK,EACvB,EAAE,GAAG,EAAE,SAAS,EAAE,CACnB,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,WAAW,CACtC,UAAU,EACV,MAAM,EACN,kBAAkB,EAClB,iBAAiB,CAAC,QAAQ,EAC1B,EAAE,SAAS,EAAE,CACd,CAAC;IACF,IACE,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;QACjC,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,EACrC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../../src/devbox/commands/init/args.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,KAAG,
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../../src/devbox/commands/init/args.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,KAAG,QA6CvC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const parseInitArgs = (args) => {
|
|
2
|
-
const parsed = { force: false };
|
|
2
|
+
const parsed = { force: false, yes: false };
|
|
3
3
|
for (let i = 0; i < args.length; i += 1) {
|
|
4
4
|
const arg = args[i];
|
|
5
5
|
if (arg === "--alias" && args[i + 1]) {
|
|
@@ -22,6 +22,10 @@ const parseInitArgs = (args) => {
|
|
|
22
22
|
parsed.force = true;
|
|
23
23
|
continue;
|
|
24
24
|
}
|
|
25
|
+
if (arg === "--yes") {
|
|
26
|
+
parsed.yes = true;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
25
29
|
if (arg === "--json") {
|
|
26
30
|
parsed.json = true;
|
|
27
31
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../../src/devbox/commands/init/args.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../../src/devbox/commands/init/args.ts"],"names":[],"mappings":"AAWA,MAAM,aAAa,GAAG,CAAC,IAAc,EAAY,EAAE;IACjD,MAAM,MAAM,GAAa,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;YACpB,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,oBAAoB,EAAE,CAAC;YACjC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/devbox/commands/init/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/devbox/commands/init/index.ts"],"names":[],"mappings":"AAgpBA,eAAO,MAAM,OAAO,GAAU,MAAM,MAAM,EAAE,kBA6uF3C,CAAC"}
|
|
@@ -20,6 +20,7 @@ import { ensureSshConfig, ensureSshKey, copyToClipboard, openBrowser, parseGitRe
|
|
|
20
20
|
import { ensureKnownHostsFile, ensureLocalMountKey, ensureRemoteMountAccess, ensureSshdService, readLocalMountPublicKey, } from "../mountSsh.js";
|
|
21
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";
|
|
22
22
|
import { mergeServicesToml, splitShellCommand, } from "../servicesToml.js";
|
|
23
|
+
import { checkSpriteExists, destroySpriteAndClearState, } from "../destroyShared.js";
|
|
23
24
|
import { runInitStep } from "./progress.js";
|
|
24
25
|
const requireDaemonJsonOk = (response, label) => {
|
|
25
26
|
if (response.status >= 200 && response.status < 300) {
|
|
@@ -476,6 +477,7 @@ export const runInit = async (args) => {
|
|
|
476
477
|
if (parsed.status) {
|
|
477
478
|
if (parsed.resume ||
|
|
478
479
|
parsed.force ||
|
|
480
|
+
parsed.yes ||
|
|
479
481
|
parsed.codexSetupOnly ||
|
|
480
482
|
parsed.alias ||
|
|
481
483
|
parsed.name) {
|
|
@@ -585,7 +587,7 @@ export const runInit = async (args) => {
|
|
|
585
587
|
else if (recommendsForce) {
|
|
586
588
|
lines.push(" Resume is not available from this clone (no init checkpoint).");
|
|
587
589
|
lines.push(" If init was started elsewhere, re-run `dvb init --resume` from that repo.");
|
|
588
|
-
lines.push(" Otherwise, restart init with `dvb init --force` (
|
|
590
|
+
lines.push(" Otherwise, restart init with `dvb init --force` (destroys and recreates the existing devbox).");
|
|
589
591
|
}
|
|
590
592
|
else {
|
|
591
593
|
lines.push(" (none)");
|
|
@@ -638,10 +640,6 @@ export const runInit = async (args) => {
|
|
|
638
640
|
initState = null;
|
|
639
641
|
}
|
|
640
642
|
const wantsResume = Boolean(parsed.resume);
|
|
641
|
-
if (parsed.force && initState && !initState.complete && !wantsResume) {
|
|
642
|
-
initState = null;
|
|
643
|
-
}
|
|
644
|
-
const shouldResume = Boolean(wantsResume && initState && !initState.complete);
|
|
645
643
|
if (!parsed.codexSetupOnly &&
|
|
646
644
|
!wantsResume &&
|
|
647
645
|
initState &&
|
|
@@ -649,6 +647,30 @@ export const runInit = async (args) => {
|
|
|
649
647
|
!parsed.force) {
|
|
650
648
|
throw new Error("Previous init is incomplete. Run `dvb init --resume` to finish the previous init or `dvb init --force` to restart.");
|
|
651
649
|
}
|
|
650
|
+
if (parsed.force && !wantsResume) {
|
|
651
|
+
// Forced fresh starts must reset checkpoint state so stale `complete`/step
|
|
652
|
+
// values from prior runs cannot block `dvb init --resume` after failures.
|
|
653
|
+
const previousState = initState;
|
|
654
|
+
const freshState = {
|
|
655
|
+
version: 1,
|
|
656
|
+
fingerprint,
|
|
657
|
+
...(previousState?.canonical !== undefined
|
|
658
|
+
? { canonical: previousState.canonical }
|
|
659
|
+
: {}),
|
|
660
|
+
...(previousState?.alias !== undefined
|
|
661
|
+
? { alias: previousState.alias }
|
|
662
|
+
: {}),
|
|
663
|
+
...(previousState?.workdir !== undefined
|
|
664
|
+
? { workdir: previousState.workdir }
|
|
665
|
+
: {}),
|
|
666
|
+
steps: {},
|
|
667
|
+
updatedAt: new Date().toISOString(),
|
|
668
|
+
complete: false,
|
|
669
|
+
};
|
|
670
|
+
initState = freshState;
|
|
671
|
+
await writeInitState(projectDir, freshState);
|
|
672
|
+
}
|
|
673
|
+
const shouldResume = Boolean(wantsResume && initState && !initState.complete);
|
|
652
674
|
const ensureInitState = () => {
|
|
653
675
|
if (!initState || initState.fingerprint !== fingerprint) {
|
|
654
676
|
initState = {
|
|
@@ -976,7 +998,7 @@ export const runInit = async (args) => {
|
|
|
976
998
|
await requireDaemonFeatures(socketInfo.socketPath, ["registry"]);
|
|
977
999
|
},
|
|
978
1000
|
});
|
|
979
|
-
|
|
1001
|
+
let existingEntry = await runInitStep({
|
|
980
1002
|
enabled: progressEnabled,
|
|
981
1003
|
title: "Checking sprites",
|
|
982
1004
|
fn: async () => {
|
|
@@ -1022,6 +1044,57 @@ export const runInit = async (args) => {
|
|
|
1022
1044
|
return { config, client, controlPlaneToken };
|
|
1023
1045
|
},
|
|
1024
1046
|
});
|
|
1047
|
+
if (parsed.force && existingEntry && !shouldResume) {
|
|
1048
|
+
const forceCanonical = existingEntry.canonical;
|
|
1049
|
+
await runInitStep({
|
|
1050
|
+
enabled: progressEnabled,
|
|
1051
|
+
title: "Destroying existing devbox (--force)",
|
|
1052
|
+
fn: async ({ status }) => {
|
|
1053
|
+
logger.info("init_force_destroy_start", {
|
|
1054
|
+
box: forceCanonical,
|
|
1055
|
+
fingerprint,
|
|
1056
|
+
});
|
|
1057
|
+
const spriteExists = await checkSpriteExists(client, forceCanonical);
|
|
1058
|
+
if (spriteExists && !parsed.yes) {
|
|
1059
|
+
if (!process.stdin.isTTY || parsed.json) {
|
|
1060
|
+
throw new Error(`--force would destroy existing devbox "${forceCanonical}". Re-run with --yes to confirm.`);
|
|
1061
|
+
}
|
|
1062
|
+
status.stop();
|
|
1063
|
+
const confirmedDestroy = await clackConfirm({
|
|
1064
|
+
message: `Destroy existing devbox "${forceCanonical}" before re-running init with --force?`,
|
|
1065
|
+
active: "Destroy and continue",
|
|
1066
|
+
inactive: "Abort init",
|
|
1067
|
+
initialValue: false,
|
|
1068
|
+
});
|
|
1069
|
+
if (isCancel(confirmedDestroy)) {
|
|
1070
|
+
throwInitCanceled();
|
|
1071
|
+
}
|
|
1072
|
+
if (!confirmedDestroy) {
|
|
1073
|
+
throw new Error("Force init canceled.");
|
|
1074
|
+
}
|
|
1075
|
+
status.stage("Destroying existing devbox (--force)");
|
|
1076
|
+
}
|
|
1077
|
+
if (spriteExists) {
|
|
1078
|
+
logger.info("init_force_destroy_confirmed", {
|
|
1079
|
+
box: forceCanonical,
|
|
1080
|
+
fingerprint,
|
|
1081
|
+
});
|
|
1082
|
+
}
|
|
1083
|
+
await requireDaemonFeatures(socketInfo.socketPath, ["ports"]);
|
|
1084
|
+
const result = await destroySpriteAndClearState({
|
|
1085
|
+
client,
|
|
1086
|
+
canonical: forceCanonical,
|
|
1087
|
+
socketPath: socketInfo.socketPath,
|
|
1088
|
+
});
|
|
1089
|
+
logger.info("init_force_destroy_complete", {
|
|
1090
|
+
box: forceCanonical,
|
|
1091
|
+
fingerprint,
|
|
1092
|
+
spriteExisted: result.spriteExisted,
|
|
1093
|
+
});
|
|
1094
|
+
},
|
|
1095
|
+
});
|
|
1096
|
+
existingEntry = null;
|
|
1097
|
+
}
|
|
1025
1098
|
const username = os.userInfo().username;
|
|
1026
1099
|
let canonical = (shouldResume && initState?.canonical ? initState.canonical : null) ??
|
|
1027
1100
|
canonicalHint ??
|