@boxes-dev/dvb 1.0.42 → 1.0.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.
Files changed (87) hide show
  1. package/dist/bin/dvb.cjs +4160 -3307
  2. package/dist/bin/dvb.cjs.map +1 -1
  3. package/dist/bin/dvbd.cjs +5 -5
  4. package/dist/devbox/cli.d.ts.map +1 -1
  5. package/dist/devbox/cli.js +2 -2
  6. package/dist/devbox/cli.js.map +1 -1
  7. package/dist/devbox/commands/agent.d.ts.map +1 -1
  8. package/dist/devbox/commands/agent.js +5 -1
  9. package/dist/devbox/commands/agent.js.map +1 -1
  10. package/dist/devbox/commands/boxSelect.d.ts.map +1 -1
  11. package/dist/devbox/commands/boxSelect.js +7 -7
  12. package/dist/devbox/commands/boxSelect.js.map +1 -1
  13. package/dist/devbox/commands/connect.d.ts.map +1 -1
  14. package/dist/devbox/commands/connect.js +6 -5
  15. package/dist/devbox/commands/connect.js.map +1 -1
  16. package/dist/devbox/commands/destroy.d.ts.map +1 -1
  17. package/dist/devbox/commands/destroy.js +4 -1
  18. package/dist/devbox/commands/destroy.js.map +1 -1
  19. package/dist/devbox/commands/init/args.d.ts +0 -2
  20. package/dist/devbox/commands/init/args.d.ts.map +1 -1
  21. package/dist/devbox/commands/init/args.js +0 -12
  22. package/dist/devbox/commands/init/args.js.map +1 -1
  23. package/dist/devbox/commands/init/codex/artifacts.d.ts +25 -2
  24. package/dist/devbox/commands/init/codex/artifacts.d.ts.map +1 -1
  25. package/dist/devbox/commands/init/codex/artifacts.js +134 -1
  26. package/dist/devbox/commands/init/codex/artifacts.js.map +1 -1
  27. package/dist/devbox/commands/init/codex/index.d.ts +3 -1
  28. package/dist/devbox/commands/init/codex/index.d.ts.map +1 -1
  29. package/dist/devbox/commands/init/codex/index.js +149 -11
  30. package/dist/devbox/commands/init/codex/index.js.map +1 -1
  31. package/dist/devbox/commands/init/codex/local.d.ts +16 -8
  32. package/dist/devbox/commands/init/codex/local.d.ts.map +1 -1
  33. package/dist/devbox/commands/init/codex/local.js +79 -19
  34. package/dist/devbox/commands/init/codex/local.js.map +1 -1
  35. package/dist/devbox/commands/init/finalizeFlow.d.ts +56 -0
  36. package/dist/devbox/commands/init/finalizeFlow.d.ts.map +1 -0
  37. package/dist/devbox/commands/init/finalizeFlow.js +601 -0
  38. package/dist/devbox/commands/init/finalizeFlow.js.map +1 -0
  39. package/dist/devbox/commands/init/index.d.ts.map +1 -1
  40. package/dist/devbox/commands/init/index.js +154 -2006
  41. package/dist/devbox/commands/init/index.js.map +1 -1
  42. package/dist/devbox/commands/init/provisionFlow.d.ts +34 -0
  43. package/dist/devbox/commands/init/provisionFlow.d.ts.map +1 -0
  44. package/dist/devbox/commands/init/provisionFlow.js +319 -0
  45. package/dist/devbox/commands/init/provisionFlow.js.map +1 -0
  46. package/dist/devbox/commands/init/session.d.ts +56 -0
  47. package/dist/devbox/commands/init/session.d.ts.map +1 -0
  48. package/dist/devbox/commands/init/session.js +150 -0
  49. package/dist/devbox/commands/init/session.js.map +1 -0
  50. package/dist/devbox/commands/init/setupArtifactsValidation.d.ts +28 -0
  51. package/dist/devbox/commands/init/setupArtifactsValidation.d.ts.map +1 -0
  52. package/dist/devbox/commands/init/setupArtifactsValidation.js +113 -0
  53. package/dist/devbox/commands/init/setupArtifactsValidation.js.map +1 -0
  54. package/dist/devbox/commands/init/setupPlanFlow.d.ts +28 -0
  55. package/dist/devbox/commands/init/setupPlanFlow.d.ts.map +1 -0
  56. package/dist/devbox/commands/init/setupPlanFlow.js +840 -0
  57. package/dist/devbox/commands/init/setupPlanFlow.js.map +1 -0
  58. package/dist/devbox/commands/init/statusFlow.d.ts +26 -0
  59. package/dist/devbox/commands/init/statusFlow.d.ts.map +1 -0
  60. package/dist/devbox/commands/init/statusFlow.js +152 -0
  61. package/dist/devbox/commands/init/statusFlow.js.map +1 -0
  62. package/dist/devbox/commands/list.js +1 -1
  63. package/dist/devbox/commands/list.js.map +1 -1
  64. package/dist/devbox/commands/mount.d.ts.map +1 -1
  65. package/dist/devbox/commands/mount.js +5 -1
  66. package/dist/devbox/commands/mount.js.map +1 -1
  67. package/dist/devbox/commands/mountSsh.js +2 -2
  68. package/dist/devbox/commands/mountSsh.js.map +1 -1
  69. package/dist/devbox/commands/ports.d.ts.map +1 -1
  70. package/dist/devbox/commands/ports.js +9 -2
  71. package/dist/devbox/commands/ports.js.map +1 -1
  72. package/dist/devbox/commands/services.d.ts.map +1 -1
  73. package/dist/devbox/commands/services.js +5 -1
  74. package/dist/devbox/commands/services.js.map +1 -1
  75. package/dist/devbox/commands/sessions.d.ts.map +1 -1
  76. package/dist/devbox/commands/sessions.js +12 -3
  77. package/dist/devbox/commands/sessions.js.map +1 -1
  78. package/dist/devbox/commands/wezterm.d.ts.map +1 -1
  79. package/dist/devbox/commands/wezterm.js +5 -1
  80. package/dist/devbox/commands/wezterm.js.map +1 -1
  81. package/dist/devbox/completions/index.d.ts.map +1 -1
  82. package/dist/devbox/completions/index.js +0 -1
  83. package/dist/devbox/completions/index.js.map +1 -1
  84. package/dist/prompts/local-scan-env-secrets.md +2 -0
  85. package/dist/prompts/local-scan-external.md +2 -0
  86. package/dist/prompts/local-scan-extra-artifacts.md +2 -0
  87. package/package.json +1 -1
@@ -0,0 +1,319 @@
1
+ import path from "node:path";
2
+ import fs from "node:fs/promises";
3
+ import os from "node:os";
4
+ import { confirmCopyWorktree, mapGlobalGitConfigDestinations, readGlobalGitConfigFiles, readHeadState, readWorktreeState, resolveGitCommonDir, runCommand, } from "./repo.js";
5
+ import { createFileListArchive, createGitMetaArchive, writePatch, } from "./packaging.js";
6
+ import { shellQuote } from "./remote.js";
7
+ import { uploadSetupPlan } from "./codex/index.js";
8
+ import { runInitStep } from "./progress.js";
9
+ const runProvisionFlow = async ({ client, canonical, expandedWorkdir, repoRoot, localHomeDir, shouldResume, parsed, progressEnabled, setupPath, remoteSetupPath, setupArtifacts, skipSetupUpload, remoteArtifactsBundlePath, remoteArtifactsManifestPath, remoteArtifactsPartsDescriptorPath, getInitState, updateInitState, refreshRegistryProjectStatus, }) => {
10
+ const skipProvision = Boolean(shouldResume && getInitState()?.steps.workdirProvisioned);
11
+ if (skipProvision && !skipSetupUpload) {
12
+ await runInitStep({
13
+ enabled: progressEnabled,
14
+ title: "Uploading setup plan",
15
+ fn: async ({ status }) => {
16
+ await uploadSetupPlan({
17
+ client,
18
+ canonical,
19
+ localSetupPath: setupPath,
20
+ remoteSetupPath,
21
+ localArtifactsBundlePath: setupArtifacts?.bundlePath ?? null,
22
+ localArtifactsManifestPath: setupArtifacts?.manifestPath ?? null,
23
+ localArtifactsPartsDescriptorPath: setupArtifacts?.partsDescriptorPath ?? null,
24
+ remoteArtifactsBundlePath: setupArtifacts
25
+ ? remoteArtifactsBundlePath
26
+ : null,
27
+ remoteArtifactsManifestPath: setupArtifacts
28
+ ? remoteArtifactsManifestPath
29
+ : null,
30
+ remoteArtifactsPartsDescriptorPath: setupArtifacts
31
+ ? remoteArtifactsPartsDescriptorPath
32
+ : null,
33
+ status,
34
+ });
35
+ },
36
+ });
37
+ await updateInitState({ steps: { setupUploaded: true } });
38
+ await refreshRegistryProjectStatus();
39
+ }
40
+ else if (!skipProvision || !skipSetupUpload) {
41
+ const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "devbox-init-"));
42
+ const bundlePath = path.join(tempDir, "repo.bundle");
43
+ const gitMetaPath = path.join(tempDir, "git-meta.tgz");
44
+ const gitMetaListPath = path.join(tempDir, "git-meta.list");
45
+ const stagedPatchPath = path.join(tempDir, "staged.patch");
46
+ const unstagedPatchPath = path.join(tempDir, "unstaged.patch");
47
+ const untrackedPath = path.join(tempDir, "untracked.tgz");
48
+ const untrackedListPath = path.join(tempDir, "untracked.list");
49
+ const globalGitConfigSources = await readGlobalGitConfigFiles(repoRoot);
50
+ const globalGitConfigMappings = mapGlobalGitConfigDestinations(globalGitConfigSources, localHomeDir);
51
+ try {
52
+ const remoteBundlePath = "/home/sprite/.devbox/upload.bundle";
53
+ const remoteGitMetaPath = "/home/sprite/.devbox/git-meta.tgz";
54
+ const remoteStagedPatchPath = "/home/sprite/.devbox/staged.patch";
55
+ const remoteUnstagedPatchPath = "/home/sprite/.devbox/unstaged.patch";
56
+ const remoteUntrackedPath = "/home/sprite/.devbox/untracked.tgz";
57
+ const { headState, gitCommonDir, worktreeState, copyWorktree } = await runInitStep({
58
+ enabled: progressEnabled,
59
+ title: "Inspecting repo state",
60
+ fn: async ({ status }) => {
61
+ const headState = await readHeadState(repoRoot);
62
+ const resolved = await resolveGitCommonDir(repoRoot);
63
+ const worktreeState = await readWorktreeState(repoRoot);
64
+ const hasWorktreeChanges = worktreeState.staged.length > 0 ||
65
+ worktreeState.unstaged.length > 0 ||
66
+ worktreeState.untracked.length > 0;
67
+ let copyWorktree = false;
68
+ if (hasWorktreeChanges && process.stdin.isTTY && !parsed.json) {
69
+ status.stop();
70
+ copyWorktree = await confirmCopyWorktree(worktreeState);
71
+ status.stage("Inspecting repo state");
72
+ }
73
+ else if (hasWorktreeChanges) {
74
+ copyWorktree = true;
75
+ }
76
+ return {
77
+ headState,
78
+ gitCommonDir: resolved.commonDir,
79
+ worktreeState,
80
+ copyWorktree,
81
+ };
82
+ },
83
+ });
84
+ const packaged = await runInitStep({
85
+ enabled: progressEnabled,
86
+ title: "Packaging repo",
87
+ fn: async ({ status }) => {
88
+ let gitMetaCreated = false;
89
+ let stagedPatchCreated = false;
90
+ let unstagedPatchCreated = false;
91
+ let untrackedCreated = false;
92
+ status.stage("Packaging repo bundle");
93
+ await runCommand(repoRoot, "git", [
94
+ "bundle",
95
+ "create",
96
+ bundlePath,
97
+ "--all",
98
+ ]);
99
+ status.stage("Packaging git metadata");
100
+ gitMetaCreated = await createGitMetaArchive(gitCommonDir, gitMetaPath, gitMetaListPath);
101
+ if (copyWorktree) {
102
+ status.stage("Packaging repo changes");
103
+ stagedPatchCreated = await writePatch(repoRoot, ["diff", "--binary", "--cached"], stagedPatchPath);
104
+ unstagedPatchCreated = await writePatch(repoRoot, ["diff", "--binary"], unstagedPatchPath);
105
+ untrackedCreated = await createFileListArchive(repoRoot, worktreeState.untracked, untrackedPath, untrackedListPath);
106
+ }
107
+ return {
108
+ gitMetaCreated,
109
+ stagedPatchCreated,
110
+ unstagedPatchCreated,
111
+ untrackedCreated,
112
+ };
113
+ },
114
+ });
115
+ await runInitStep({
116
+ enabled: progressEnabled,
117
+ title: "Preparing remote directories",
118
+ fn: async ({ status }) => {
119
+ status.stage("Checking remote git");
120
+ const gitCheck = await client.exec(canonical, [
121
+ "/bin/bash",
122
+ "-lc",
123
+ "git --version",
124
+ ]);
125
+ if (gitCheck.exitCode !== 0) {
126
+ const details = gitCheck.stderr || gitCheck.stdout || "";
127
+ throw new Error(details
128
+ ? `Remote git unavailable: ${details.trim()}`
129
+ : "Remote git unavailable");
130
+ }
131
+ const remoteDirs = new Set();
132
+ remoteDirs.add(path.posix.dirname(remoteBundlePath));
133
+ remoteDirs.add(path.posix.dirname(remoteGitMetaPath));
134
+ remoteDirs.add(path.posix.dirname(remoteStagedPatchPath));
135
+ remoteDirs.add(path.posix.dirname(remoteUnstagedPatchPath));
136
+ remoteDirs.add(path.posix.dirname(remoteUntrackedPath));
137
+ for (const mapping of globalGitConfigMappings) {
138
+ remoteDirs.add(path.posix.dirname(mapping.dest));
139
+ }
140
+ if (remoteDirs.size > 0) {
141
+ status.stage("Preparing remote directories");
142
+ const prepResult = await client.exec(canonical, [
143
+ "/bin/bash",
144
+ "-lc",
145
+ `mkdir -p ${[...remoteDirs].map(shellQuote).join(" ")}`,
146
+ ]);
147
+ if (prepResult.exitCode !== 0) {
148
+ throw new Error(prepResult.stderr || "Failed to prepare remote dirs");
149
+ }
150
+ }
151
+ },
152
+ });
153
+ await runInitStep({
154
+ enabled: progressEnabled,
155
+ title: "Uploading repo",
156
+ fn: async ({ status }) => {
157
+ const uploadItems = [
158
+ {
159
+ label: "repo bundle",
160
+ localPath: bundlePath,
161
+ remotePath: remoteBundlePath,
162
+ },
163
+ ];
164
+ if (packaged.gitMetaCreated) {
165
+ uploadItems.push({
166
+ label: "git metadata",
167
+ localPath: gitMetaPath,
168
+ remotePath: remoteGitMetaPath,
169
+ });
170
+ }
171
+ if (packaged.stagedPatchCreated) {
172
+ uploadItems.push({
173
+ label: "staged changes",
174
+ localPath: stagedPatchPath,
175
+ remotePath: remoteStagedPatchPath,
176
+ });
177
+ }
178
+ if (packaged.unstagedPatchCreated) {
179
+ uploadItems.push({
180
+ label: "unstaged changes",
181
+ localPath: unstagedPatchPath,
182
+ remotePath: remoteUnstagedPatchPath,
183
+ });
184
+ }
185
+ if (packaged.untrackedCreated) {
186
+ uploadItems.push({
187
+ label: "untracked files",
188
+ localPath: untrackedPath,
189
+ remotePath: remoteUntrackedPath,
190
+ });
191
+ }
192
+ for (const mapping of globalGitConfigMappings) {
193
+ uploadItems.push({
194
+ label: `git config (${path.basename(mapping.source)})`,
195
+ localPath: mapping.source,
196
+ remotePath: mapping.dest,
197
+ });
198
+ }
199
+ const plannedUploads = await Promise.all(uploadItems.map(async (item) => {
200
+ const stats = await fs.stat(item.localPath);
201
+ return { ...item, size: stats.size };
202
+ }));
203
+ const totalBytes = plannedUploads.reduce((sum, item) => sum + item.size, 0);
204
+ let uploadedBytes = 0;
205
+ const updateProgress = (currentFileBytes, detail) => status.byteProgress({
206
+ title: "Uploading repo",
207
+ uploadedBytes: uploadedBytes + currentFileBytes,
208
+ totalBytes,
209
+ detail,
210
+ });
211
+ for (const [index, upload] of plannedUploads.entries()) {
212
+ const detail = `${upload.label} (${index + 1}/${plannedUploads.length})`;
213
+ const fileData = await fs.readFile(upload.localPath);
214
+ updateProgress(0, detail);
215
+ await client.writeFile(canonical, upload.remotePath, fileData, {
216
+ onProgress: (fileUploadedBytes, fileTotalBytes) => {
217
+ const bounded = Math.min(fileUploadedBytes, Math.max(fileData.length, fileTotalBytes));
218
+ updateProgress(bounded, detail);
219
+ },
220
+ });
221
+ uploadedBytes += fileData.length;
222
+ updateProgress(fileData.length, detail);
223
+ }
224
+ status.byteProgress({
225
+ title: "Uploading repo",
226
+ uploadedBytes: totalBytes,
227
+ totalBytes,
228
+ detail: "completed",
229
+ });
230
+ },
231
+ });
232
+ await runInitStep({
233
+ enabled: progressEnabled,
234
+ title: "Provisioning workdir",
235
+ fn: async () => {
236
+ const backup = `${expandedWorkdir}.bak-${Date.now()}`;
237
+ const checkoutCommand = headState.branch
238
+ ? `git checkout -B ${shellQuote(headState.branch)} ${shellQuote(headState.commit)}`
239
+ : `git checkout --detach ${shellQuote(headState.commit)}`;
240
+ const remoteCommand = [
241
+ "set -euo pipefail",
242
+ "unset GIT_DIR GIT_WORK_TREE GIT_INDEX_FILE",
243
+ `if [ -d ${shellQuote(expandedWorkdir)} ]; then`,
244
+ parsed.force
245
+ ? ` mv ${shellQuote(expandedWorkdir)} ${shellQuote(backup)}`
246
+ : ` echo "Target exists: ${expandedWorkdir}" >&2; exit 1`,
247
+ "fi",
248
+ `mkdir -p ${shellQuote(path.dirname(expandedWorkdir))}`,
249
+ `git init -b devbox-init ${shellQuote(expandedWorkdir)}`,
250
+ `cd ${shellQuote(expandedWorkdir)}`,
251
+ `git fetch ${shellQuote(remoteBundlePath)} 'refs/*:refs/*'`,
252
+ `if [ -f ${shellQuote(remoteGitMetaPath)} ]; then`,
253
+ ` tar -xzf ${shellQuote(remoteGitMetaPath)} -C .git`,
254
+ "fi",
255
+ checkoutCommand,
256
+ `if [ -f ${shellQuote(remoteStagedPatchPath)} ]; then`,
257
+ ` git apply --index ${shellQuote(remoteStagedPatchPath)}`,
258
+ "fi",
259
+ `if [ -f ${shellQuote(remoteUnstagedPatchPath)} ]; then`,
260
+ ` git apply ${shellQuote(remoteUnstagedPatchPath)}`,
261
+ "fi",
262
+ `if [ -f ${shellQuote(remoteUntrackedPath)} ]; then`,
263
+ ` tar -xzf ${shellQuote(remoteUntrackedPath)} -C .`,
264
+ "fi",
265
+ ].join("\n");
266
+ const execResult = await client.exec(canonical, [
267
+ "/bin/bash",
268
+ "--noprofile",
269
+ "--norc",
270
+ "-e",
271
+ "-u",
272
+ "-o",
273
+ "pipefail",
274
+ "-c",
275
+ remoteCommand,
276
+ ]);
277
+ if (execResult.exitCode !== 0) {
278
+ throw new Error(execResult.stderr || "Remote init failed");
279
+ }
280
+ await updateInitState({ steps: { workdirProvisioned: true } });
281
+ },
282
+ });
283
+ if (!skipSetupUpload) {
284
+ await runInitStep({
285
+ enabled: progressEnabled,
286
+ title: "Uploading setup plan",
287
+ fn: async ({ status }) => {
288
+ await uploadSetupPlan({
289
+ client,
290
+ canonical,
291
+ localSetupPath: setupPath,
292
+ remoteSetupPath,
293
+ localArtifactsBundlePath: setupArtifacts?.bundlePath ?? null,
294
+ localArtifactsManifestPath: setupArtifacts?.manifestPath ?? null,
295
+ localArtifactsPartsDescriptorPath: setupArtifacts?.partsDescriptorPath ?? null,
296
+ remoteArtifactsBundlePath: setupArtifacts
297
+ ? remoteArtifactsBundlePath
298
+ : null,
299
+ remoteArtifactsManifestPath: setupArtifacts
300
+ ? remoteArtifactsManifestPath
301
+ : null,
302
+ remoteArtifactsPartsDescriptorPath: setupArtifacts
303
+ ? remoteArtifactsPartsDescriptorPath
304
+ : null,
305
+ status,
306
+ });
307
+ },
308
+ });
309
+ await updateInitState({ steps: { setupUploaded: true } });
310
+ await refreshRegistryProjectStatus();
311
+ }
312
+ }
313
+ finally {
314
+ await fs.rm(tempDir, { recursive: true, force: true });
315
+ }
316
+ }
317
+ };
318
+ export { runProvisionFlow };
319
+ //# sourceMappingURL=provisionFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provisionFlow.js","sourceRoot":"","sources":["../../../../src/devbox/commands/init/provisionFlow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { type SpritesClient } from "@boxes-dev/core";
2
+ import type { InitArgs } from "./args.js";
3
+ import { type InitState } from "./state.js";
4
+ type InitStateUpdate = Partial<Omit<InitState, "version" | "fingerprint" | "steps">> & {
5
+ steps?: Partial<InitState["steps"]>;
6
+ };
7
+ type PrepareInitSessionStateOptions = {
8
+ parsed: InitArgs;
9
+ initState: InitState | null;
10
+ initFingerprintMismatch: boolean;
11
+ projectDir: string;
12
+ fingerprint: string;
13
+ };
14
+ declare const prepareInitSessionState: ({ parsed, initState: initialInitState, initFingerprintMismatch, projectDir, fingerprint, }: PrepareInitSessionStateOptions) => Promise<{
15
+ initState: InitState | null;
16
+ shouldResume: boolean;
17
+ nonInteractive: boolean;
18
+ skipCodexApply: boolean;
19
+ skipCodexCliEnsure: boolean;
20
+ }>;
21
+ declare const createInitStateUpdater: ({ fingerprint, projectDir, getInitState, setInitState, }: {
22
+ fingerprint: string;
23
+ projectDir: string;
24
+ getInitState: () => InitState | null;
25
+ setInitState: (state: InitState) => void;
26
+ }) => {
27
+ ensureInitState: () => InitState;
28
+ updateInitState: (update: InitStateUpdate) => Promise<void>;
29
+ };
30
+ declare const createCodexCheckpointRecorder: ({ repoName, fingerprint, getInitState, updateInitState, extractCheckpointId, onCheckpointIdMissing, onCheckpointMetaUpdateFailed, }: {
31
+ repoName: string;
32
+ fingerprint: string;
33
+ getInitState: () => InitState | null;
34
+ updateInitState: (update: InitStateUpdate) => Promise<void>;
35
+ extractCheckpointId: (events: Record<string, unknown>[]) => string | null;
36
+ onCheckpointIdMissing?: (args: {
37
+ canonical: string;
38
+ phaseLabel: string;
39
+ }) => void;
40
+ onCheckpointMetaUpdateFailed?: (args: {
41
+ canonical: string;
42
+ phaseLabel: string;
43
+ error: string;
44
+ }) => void;
45
+ }) => ({ client, canonical, phase, }: {
46
+ client: SpritesClient;
47
+ canonical: string;
48
+ phase: "preCodexSetup" | "postCodexSetup";
49
+ }) => Promise<{
50
+ id: string;
51
+ comment: string;
52
+ createdAt: string;
53
+ }>;
54
+ export type { InitStateUpdate };
55
+ export { prepareInitSessionState, createInitStateUpdater, createCodexCheckpointRecorder, };
56
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/devbox/commands/init/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,SAAS,EAAkB,MAAM,YAAY,CAAC;AAE5D,KAAK,eAAe,GAAG,OAAO,CAC5B,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,GAAG,OAAO,CAAC,CACrD,GAAG;IACF,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;CACrC,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,uBAAuB,EAAE,OAAO,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,uBAAuB,GAAU,4FAMpC,8BAA8B;;;;;;EAuEhC,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAAI,0DAK7B;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CAC1C;;8BAgBwC,eAAe;CAgBvD,CAAC;AAEF,QAAA,MAAM,6BAA6B,GAAI,qIAQpC;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC;IACrC,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1E,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,KAAK,IAAI,CAAC;IACX,4BAA4B,CAAC,EAAE,CAAC,IAAI,EAAE;QACpC,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;CACZ,MACe,+BAIX;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAAC;CAC3C;;;;EAmEF,CAAC;AAEF,YAAY,EAAE,eAAe,EAAE,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,GAC9B,CAAC"}
@@ -0,0 +1,150 @@
1
+ import path from "node:path";
2
+ import { SpritesApiError } from "@boxes-dev/core";
3
+ import { writeInitState } from "./state.js";
4
+ const prepareInitSessionState = async ({ parsed, initState: initialInitState, initFingerprintMismatch, projectDir, fingerprint, }) => {
5
+ let initState = initialInitState;
6
+ if (parsed.resume) {
7
+ if (initFingerprintMismatch) {
8
+ throw new Error(`Init state does not match this repo. Remove ${path.join(projectDir, "init-state.json")} and run \`dvb init\` again.`);
9
+ }
10
+ if (!initState) {
11
+ throw new Error("No init state to resume. Run `dvb init` to start a new init.");
12
+ }
13
+ if (initState.complete) {
14
+ throw new Error("Init already completed. Run `dvb init` to start a new init.");
15
+ }
16
+ }
17
+ if (initFingerprintMismatch) {
18
+ initState = null;
19
+ }
20
+ const wantsResume = Boolean(parsed.resume);
21
+ if (!wantsResume && initState && !initState.complete && !parsed.force) {
22
+ throw new Error("Previous init is incomplete. Run `dvb init --resume` to finish the previous init or `dvb init --force` to restart.");
23
+ }
24
+ if (parsed.force && !wantsResume) {
25
+ // Forced fresh starts must reset checkpoint state so stale `complete`/step
26
+ // values from prior runs cannot block `dvb init --resume` after failures.
27
+ const previousState = initState;
28
+ const freshState = {
29
+ version: 1,
30
+ fingerprint,
31
+ ...(previousState?.canonical !== undefined
32
+ ? { canonical: previousState.canonical }
33
+ : {}),
34
+ ...(previousState?.alias !== undefined
35
+ ? { alias: previousState.alias }
36
+ : {}),
37
+ ...(previousState?.workdir !== undefined
38
+ ? { workdir: previousState.workdir }
39
+ : {}),
40
+ steps: {},
41
+ updatedAt: new Date().toISOString(),
42
+ complete: false,
43
+ };
44
+ initState = freshState;
45
+ await writeInitState(projectDir, freshState);
46
+ }
47
+ const shouldResume = Boolean(wantsResume && initState && !initState.complete);
48
+ const nonInteractive = Boolean(!process.stdin.isTTY || parsed.json);
49
+ const skipCodexApply = Boolean(nonInteractive || (shouldResume && initState?.steps.codexApplied));
50
+ const skipCodexCliEnsure = Boolean(skipCodexApply || (shouldResume && initState?.steps.codexCliEnsured));
51
+ return {
52
+ initState,
53
+ shouldResume,
54
+ nonInteractive,
55
+ skipCodexApply,
56
+ skipCodexCliEnsure,
57
+ };
58
+ };
59
+ const createInitStateUpdater = ({ fingerprint, projectDir, getInitState, setInitState, }) => {
60
+ const ensureInitState = () => {
61
+ const existing = getInitState();
62
+ if (!existing || existing.fingerprint !== fingerprint) {
63
+ const created = {
64
+ version: 1,
65
+ fingerprint,
66
+ steps: {},
67
+ updatedAt: new Date().toISOString(),
68
+ };
69
+ setInitState(created);
70
+ return created;
71
+ }
72
+ return existing;
73
+ };
74
+ const updateInitState = async (update) => {
75
+ const base = ensureInitState();
76
+ const next = {
77
+ ...base,
78
+ ...update,
79
+ steps: {
80
+ ...base.steps,
81
+ ...(update.steps ?? {}),
82
+ },
83
+ updatedAt: new Date().toISOString(),
84
+ };
85
+ setInitState(next);
86
+ await writeInitState(projectDir, next);
87
+ };
88
+ return { ensureInitState, updateInitState };
89
+ };
90
+ const createCodexCheckpointRecorder = ({ repoName, fingerprint, getInitState, updateInitState, extractCheckpointId, onCheckpointIdMissing, onCheckpointMetaUpdateFailed, }) => {
91
+ return async ({ client, canonical, phase, }) => {
92
+ const createdAt = new Date().toISOString();
93
+ const phaseLabel = phase === "preCodexSetup" ? "pre-codex-setup" : "post-codex-setup";
94
+ const comment = `dvb init: ${phaseLabel} repo=${repoName} fingerprint=${fingerprint} at=${createdAt}`;
95
+ const events = await client.createCheckpoint(canonical, { comment });
96
+ const id = extractCheckpointId(events);
97
+ if (!id) {
98
+ onCheckpointIdMissing?.({ canonical, phaseLabel });
99
+ throw new Error("Checkpoint ID missing.");
100
+ }
101
+ const record = { id, comment, createdAt };
102
+ if (getInitState()) {
103
+ await updateInitState({
104
+ checkpoints: {
105
+ ...(getInitState()?.checkpoints ?? {}),
106
+ [phase]: record,
107
+ },
108
+ });
109
+ }
110
+ const metaPath = `/home/sprite/.devbox/projects/${fingerprint}.json`;
111
+ try {
112
+ let meta = {};
113
+ try {
114
+ const raw = await client.readFile(canonical, { path: metaPath });
115
+ const parsed = JSON.parse(Buffer.from(raw).toString("utf8"));
116
+ if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
117
+ meta = parsed;
118
+ }
119
+ }
120
+ catch (error) {
121
+ if (!(error instanceof SpritesApiError && error.status === 404)) {
122
+ throw error;
123
+ }
124
+ }
125
+ const existingCheckpoints = meta.checkpoints &&
126
+ typeof meta.checkpoints === "object" &&
127
+ !Array.isArray(meta.checkpoints)
128
+ ? meta.checkpoints
129
+ : {};
130
+ const updated = {
131
+ ...meta,
132
+ checkpoints: {
133
+ ...existingCheckpoints,
134
+ [phase]: record,
135
+ },
136
+ };
137
+ await client.writeFile(canonical, metaPath, Buffer.from(JSON.stringify(updated, null, 2)));
138
+ }
139
+ catch (error) {
140
+ onCheckpointMetaUpdateFailed?.({
141
+ canonical,
142
+ phaseLabel,
143
+ error: error instanceof Error ? error.message : String(error),
144
+ });
145
+ }
146
+ return { id, comment, createdAt };
147
+ };
148
+ };
149
+ export { prepareInitSessionState, createInitStateUpdater, createCodexCheckpointRecorder, };
150
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/devbox/commands/init/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { SetupPlan } from "./codex/plan.js";
2
+ type SetupArtifactCategory = "envFiles" | "secretFiles" | "extraArtifacts" | "externalConfigs";
3
+ type MissingSetupArtifact = {
4
+ category: SetupArtifactCategory;
5
+ name: string;
6
+ path: string;
7
+ resolvedPath: string;
8
+ };
9
+ declare const resolveArtifactSourcePath: ({ repoRoot, artifactPath, homeDir, }: {
10
+ repoRoot: string;
11
+ artifactPath: string;
12
+ homeDir: string | undefined;
13
+ }) => string;
14
+ declare const collectMissingSetupArtifacts: ({ repoRoot, homeDir, plan, }: {
15
+ repoRoot: string;
16
+ homeDir: string | undefined;
17
+ plan: SetupPlan;
18
+ }) => Promise<MissingSetupArtifact[]>;
19
+ declare const remapSelectedPathEntries: <T extends {
20
+ name: string;
21
+ path: string;
22
+ }>({ selected, refreshed, }: {
23
+ selected: T[];
24
+ refreshed: T[];
25
+ }) => T[];
26
+ export { collectMissingSetupArtifacts, remapSelectedPathEntries, resolveArtifactSourcePath, };
27
+ export type { MissingSetupArtifact, SetupArtifactCategory };
28
+ //# sourceMappingURL=setupArtifactsValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupArtifactsValidation.d.ts","sourceRoot":"","sources":["../../../../src/devbox/commands/init/setupArtifactsValidation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,KAAK,qBAAqB,GACtB,UAAU,GACV,aAAa,GACb,gBAAgB,GAChB,iBAAiB,CAAC;AAEtB,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAYF,QAAA,MAAM,yBAAyB,GAAI,sCAIhC;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,WAKA,CAAC;AAyCF,QAAA,MAAM,4BAA4B,GAAU,8BAIzC;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,SAAS,CAAC;CACjB,KAAG,OAAO,CAAC,oBAAoB,EAAE,CA+BjC,CAAC;AAEF,QAAA,MAAM,wBAAwB,GAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,0BAGzE;IACD,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,SAAS,EAAE,CAAC,EAAE,CAAC;CAChB,KAAG,CAAC,EAiCJ,CAAC;AAEF,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,GAC1B,CAAC;AACF,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC"}