@lizard-build/cli 4.0.74 → 4.0.76

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.
@@ -32,6 +32,23 @@ function parseIntOption(v) {
32
32
  }
33
33
  return n;
34
34
  }
35
+ const MAX_FORK_COUNT = 100;
36
+ function parseForkCount(value) {
37
+ const count = Number(value);
38
+ if (!/^\d+$/.test(value) || count < 1 || count > MAX_FORK_COUNT) {
39
+ throw new Error(`Count must be an integer from 1 to ${MAX_FORK_COUNT}`);
40
+ }
41
+ return count;
42
+ }
43
+ // The platform reads 0 (or nothing) as "the source's lifetime", so 0 can't mean "no limit" here
44
+ // the way it does at create: refuse it rather than quietly give the copies something else.
45
+ function parseForkTimeout(value) {
46
+ const timeout = Number(value);
47
+ if (!/^\d+$/.test(value) || !Number.isSafeInteger(timeout) || timeout < 1000 || timeout > 2_147_483_647) {
48
+ throw new Error("Timeout must be an integer from 1000 to 2147483647 milliseconds; leave it out to keep the source's lifetime");
49
+ }
50
+ return timeout;
51
+ }
35
52
  function parseTimeoutOption(value) {
36
53
  const timeout = Number(value);
37
54
  if (!/^\d+$/.test(value) || !Number.isSafeInteger(timeout) || timeout > 2_147_483_647) {
@@ -231,8 +248,10 @@ export function registerSandbox(program) {
231
248
  const sandboxes = await api.get(withScope(`/api/projects/${projectId}/sandboxes`, scope));
232
249
  printSandboxList(sandboxes);
233
250
  });
251
+ // `kill` is what the SDK calls it (`sandbox.kill()`), so agents that know the SDK reach for
252
+ // it first; an unknown-command error there once left 20 sandboxes running.
234
253
  sb.command("rm")
235
- .alias("delete")
254
+ .aliases(["delete", "kill"])
236
255
  .argument("<id>", "Sandbox ID")
237
256
  .description("Delete a sandbox")
238
257
  .option("-y, --yes", "Skip confirmation")
@@ -513,6 +532,43 @@ Examples:
513
532
  else
514
533
  success(`Sandbox ${chalk.bold(sandbox.id)} created from ${snapshot.name}`);
515
534
  });
535
+ sb.command("fork")
536
+ .argument("<id>", "Running sandbox ID")
537
+ .option("-n, --count <n>", `Copies to start (1-${MAX_FORK_COUNT})`, parseForkCount, 1)
538
+ .option("--timeout <ms>", "Lifetime of each copy in milliseconds; default: the source's", parseForkTimeout)
539
+ .description("Start live copies of a running sandbox: memory, processes and files")
540
+ .action(async (id, opts) => {
541
+ // The platform pauses the source for a moment, captures it and boots every copy from that
542
+ // one capture. Each copy is a sandbox start and counts toward the account's limits, so a
543
+ // partial result is normal near a limit: one entry per copy, `sandbox` or `error`.
544
+ const spinner = isJSONMode() ? null : ora(`Forking ${id}...`).start();
545
+ let results;
546
+ try {
547
+ results = await api.post(`/api/sandboxes/${id}/fork`, { count: opts.count, timeoutMs: opts.timeout });
548
+ }
549
+ finally {
550
+ spinner?.stop();
551
+ }
552
+ if (!Array.isArray(results))
553
+ results = [];
554
+ const started = results.flatMap((r) => (r.sandbox ? [r.sandbox] : []));
555
+ const failed = results.length - started.length;
556
+ // Copies that did start are running and billed: print them, but don't exit 0 on a short count.
557
+ if (failed > 0 || started.length === 0)
558
+ process.exitCode = 1;
559
+ if (isJSONMode()) {
560
+ printJSON(results);
561
+ return;
562
+ }
563
+ if (started.length) {
564
+ const copies = (n) => `${n} ${n === 1 ? "copy" : "copies"}`;
565
+ success(`Forked ${chalk.bold(id)}: ${failed ? `${started.length} of ${copies(results.length)}` : copies(started.length)} running`);
566
+ printSandboxList(started);
567
+ info(chalk.dim(lifetimeLine(started[0].expiresAt ?? started[0].endAt)));
568
+ }
569
+ results.forEach((r, i) => { if (!r.sandbox)
570
+ error(`Copy ${i + 1}: ${r.error ?? "fork failed"}`); });
571
+ });
516
572
  // Warm pools exist only for CRIU snapshots of runc pod sandboxes, which are no longer
517
573
  // created. These stay, out of the help, for the few such snapshots still around.
518
574
  for (const operation of ["pause", "resume"]) {
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/commands/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/commands/sandbox.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,11 @@ export interface Checkout {
52
52
  sparse: string[] | null;
53
53
  files: Record<string, FileState>;
54
54
  pending?: Pending;
55
+ conflicts?: Conflict[];
56
+ }
57
+ export interface Conflict {
58
+ path: string;
59
+ reason: string;
55
60
  }
56
61
  interface WireEntry {
57
62
  name: string;
@@ -102,11 +107,14 @@ export interface SyncResult {
102
107
  to: string;
103
108
  updated: string[];
104
109
  removed: string[];
110
+ merged?: string[];
111
+ conflicts?: Conflict[];
105
112
  }
106
113
  /**
107
- * Bring the files to the branch's tip (or another branch: switching). Local changes are kept;
108
- * if the tip changed the same files, nothing is touched and the conflict comes back: commit
109
- * first, and the server merges.
114
+ * Bring the files to the branch's tip (or another branch: switching). Local changes are kept.
115
+ * A file changed here and on the branch is merged here line by line, as the server merges:
116
+ * what both changed differently is written between conflict markers for a person to choose,
117
+ * and listed in the result (and in status until the next commit).
110
118
  */
111
119
  export declare function sync(root: string, c: Checkout, toBranch?: string): Promise<SyncResult>;
112
120
  /** Refuse what would move this checkout's base while commits wait to be pushed. */
@@ -117,15 +125,17 @@ export interface LocalCommitResult {
117
125
  pending: number;
118
126
  }
119
127
  /** Record a commit of the changed files (all, or those under paths) here; push sends it. */
120
- export declare function commitLocal(root: string, c: Checkout, message: string, paths: string[], newBranch?: string): LocalCommitResult;
128
+ export declare function commitLocal(root: string, c: Checkout, message: string, paths: string[], newBranch?: string, force?: boolean): LocalCommitResult;
121
129
  /** Turn the commits not pushed back into changes in the files (their messages are dropped). */
122
130
  export declare function uncommit(root: string, c: Checkout): number;
123
131
  export interface PushResult {
132
+ pushed: boolean;
124
133
  shas: string[];
125
134
  sha: string;
126
135
  branch: string;
127
136
  uploaded: number;
128
137
  sync: SyncResult;
138
+ messages?: string[];
129
139
  }
130
140
  /** Send the commits not pushed: one branch move; then bring in others' commits if there were any. */
131
141
  export declare function push(root: string, c: Checkout): Promise<PushResult>;
@@ -4,6 +4,7 @@ import { homedir } from "node:os";
4
4
  import { dirname, join, relative, sep } from "node:path";
5
5
  import { APIError } from "./api.js";
6
6
  import { gitURL, lg, repoPath, sendRaw } from "./lizard-git.js";
7
+ import { hasConflictMarkers, merge3 } from "./merge3.js";
7
8
  /**
8
9
  * A Lizard Git working copy (after Scion: lizard.build/git keeps no repositories as files and
9
10
  * makes every commit on the server).
@@ -359,10 +360,12 @@ export async function clone(repo, dir, branch, sparse, onProgress) {
359
360
  saveCheckout(dir, c);
360
361
  return c;
361
362
  }
363
+ const isBinaryBuf = (b) => b.subarray(0, 8000).includes(0);
362
364
  /**
363
- * Bring the files to the branch's tip (or another branch: switching). Local changes are kept;
364
- * if the tip changed the same files, nothing is touched and the conflict comes back: commit
365
- * first, and the server merges.
365
+ * Bring the files to the branch's tip (or another branch: switching). Local changes are kept.
366
+ * A file changed here and on the branch is merged here line by line, as the server merges:
367
+ * what both changed differently is written between conflict markers for a person to choose,
368
+ * and listed in the result (and in status until the next commit).
366
369
  */
367
370
  export async function sync(root, c, toBranch) {
368
371
  needNoPending(c);
@@ -392,11 +395,62 @@ export async function sync(root, c, toBranch) {
392
395
  const w = want.get(p);
393
396
  return !(l && w && l.h === w.h && l.m === w.m); // the same change on both sides is fine
394
397
  });
398
+ const clashSet = new Set(clash);
399
+ const merged = [];
400
+ const conflicts = [];
395
401
  if (clash.length) {
396
- throw new APIError(409, `${branch} changed files you changed too: ${clash.slice(0, 10).join(", ")}${clash.length > 10 ? ", ..." : ""}. Commit and push them (lizard git commit --push -m "..."): the server merges them line by line.`);
402
+ const need = new Set();
403
+ for (const p of clash) {
404
+ if (c.files[p])
405
+ need.add(c.files[p].h);
406
+ const w = want.get(p);
407
+ if (w)
408
+ need.add(w.h);
409
+ }
410
+ const got = await getBlobs(c.repo, [...need]);
411
+ for (const p of clash) {
412
+ const baseF = c.files[p];
413
+ const w = want.get(p);
414
+ const l = local.get(p);
415
+ if (!l && !w) {
416
+ delete c.files[p]; // deleted on both sides
417
+ continue;
418
+ }
419
+ if (!l) {
420
+ // Deleted here, changed on the branch: theirs comes back; deleting it again is one rm away.
421
+ c.files[p] = writeFile(root, p, got.get(w.h), w.m);
422
+ conflicts.push({ path: p, reason: `you deleted it, ${branch} changed it: their version is back (delete it again if you meant to)` });
423
+ continue;
424
+ }
425
+ if (!w) {
426
+ // Deleted on the branch, changed here: yours stays (it is new to the branch now).
427
+ delete c.files[p];
428
+ conflicts.push({ path: p, reason: `${branch} deleted it, you changed it: your version is kept` });
429
+ continue;
430
+ }
431
+ const full = safeJoin(root, p);
432
+ const ours = l.m === "120000" ? Buffer.from(readlinkSync(full)) : readFileSync(full);
433
+ const base = baseF ? got.get(baseF.h) : Buffer.alloc(0);
434
+ const theirs = got.get(w.h);
435
+ c.files[p] = { h: w.h, m: w.m }; // the branch's version is what yours now differs from
436
+ if (l.m === "120000" || w.m === "120000" || isBinaryBuf(base) || isBinaryBuf(ours) || isBinaryBuf(theirs)) {
437
+ writeFileSync(full + ".theirs", theirs);
438
+ conflicts.push({ path: p, reason: `binary, changed on both sides: yours kept, theirs saved as ${p}.theirs` });
439
+ continue;
440
+ }
441
+ const r = merge3(base.toString("utf8"), ours.toString("utf8"), theirs.toString("utf8"), branch);
442
+ // Yours kept its mode unless only the branch changed it.
443
+ writeFile(root, p, Buffer.from(r.text, "utf8"), baseF && l.m === baseF.m ? w.m : l.m);
444
+ if (r.conflicts)
445
+ conflicts.push({ path: p, reason: `${r.conflicts} place${r.conflicts === 1 ? "" : "s"} both changed: marked <<<<<<< yours / ======= / >>>>>>> ${branch}` });
446
+ else
447
+ merged.push(p);
448
+ }
397
449
  }
398
450
  const blobs = await getBlobs(c.repo, toWrite.filter(([p]) => !dirty.has(p)).map(([, f]) => f.h));
399
451
  for (const [p, f] of toWrite) {
452
+ if (clashSet.has(p))
453
+ continue;
400
454
  if (dirty.has(p)) {
401
455
  c.files[p] = { ...local.get(p), h: f.h, m: f.m }; // already identical locally
402
456
  continue;
@@ -405,6 +459,8 @@ export async function sync(root, c, toBranch) {
405
459
  res.updated.push(p);
406
460
  }
407
461
  for (const p of toRemove) {
462
+ if (clashSet.has(p))
463
+ continue;
408
464
  if (!dirty.has(p))
409
465
  removeFile(root, p);
410
466
  delete c.files[p];
@@ -413,7 +469,13 @@ export async function sync(root, c, toBranch) {
413
469
  c.base = r.id;
414
470
  c.root = r.root;
415
471
  c.branch = branch;
472
+ if (conflicts.length)
473
+ c.conflicts = [...(c.conflicts ?? []).filter((x) => !conflicts.some((y) => y.path === x.path)), ...conflicts];
416
474
  saveCheckout(root, c);
475
+ if (merged.length)
476
+ res.merged = merged;
477
+ if (conflicts.length)
478
+ res.conflicts = conflicts;
417
479
  return res;
418
480
  }
419
481
  /** Refuse what would move this checkout's base while commits wait to be pushed. */
@@ -426,7 +488,7 @@ function objectPath(root, h) {
426
488
  return join(root, STATE_DIR, "objects", h.slice(0, 2), h);
427
489
  }
428
490
  /** Record a commit of the changed files (all, or those under paths) here; push sends it. */
429
- export function commitLocal(root, c, message, paths, newBranch) {
491
+ export function commitLocal(root, c, message, paths, newBranch, force = false) {
430
492
  const local = scanWorking(root, c);
431
493
  const ch = changesOf(c, local);
432
494
  const pick = (p) => !paths.length || paths.some((x) => p === x || p.startsWith(x.replace(/\/+$/, "") + "/"));
@@ -436,6 +498,17 @@ export function commitLocal(root, c, message, paths, newBranch) {
436
498
  throw new APIError(400, "nothing to commit: no changes");
437
499
  if (newBranch && c.pending?.commits.length)
438
500
  throw new APIError(409, "push the commits on this branch before starting another (lizard git push)");
501
+ if (!force) {
502
+ const marked = changed.filter((p) => {
503
+ const f = local.get(p);
504
+ if (f.m === "120000" || f.s > 8 << 20)
505
+ return false;
506
+ const b = readFileSync(safeJoin(root, p));
507
+ return !isBinaryBuf(b) && hasConflictMarkers(b.toString("utf8"));
508
+ });
509
+ if (marked.length)
510
+ throw new APIError(409, `conflict markers left in ${marked.join(", ")}: choose between yours and theirs there first (or commit --force)`);
511
+ }
439
512
  // Keep the contents as they are now: later edits don't change a commit.
440
513
  for (const p of changed) {
441
514
  const f = local.get(p);
@@ -469,6 +542,11 @@ export function commitLocal(root, c, message, paths, newBranch) {
469
542
  delete c.files[p];
470
543
  if (newBranch)
471
544
  c.branch = newBranch;
545
+ if (c.conflicts) {
546
+ c.conflicts = c.conflicts.filter((x) => !changed.includes(x.path) && !deleted.includes(x.path));
547
+ if (!c.conflicts.length)
548
+ delete c.conflicts;
549
+ }
472
550
  saveCheckout(root, c);
473
551
  return { branch: c.branch, files: changed.length + deleted.length, pending: c.pending.commits.length };
474
552
  }
@@ -520,7 +598,21 @@ export async function push(root, c) {
520
598
  body.createFrom = pend.base;
521
599
  else if (pend.base)
522
600
  body.expect = pend.base;
523
- const r = await lg.post(`${repoPath(c.repo)}/push`, body);
601
+ let r;
602
+ try {
603
+ r = await lg.post(`${repoPath(c.repo)}/push`, body);
604
+ }
605
+ catch (e) {
606
+ const conflicts = e instanceof APIError && e.status === 409 ? e.body?.conflicts : undefined;
607
+ if (!conflicts?.length)
608
+ throw e;
609
+ // Someone changed the same lines: bring their commits here and merge in the files, so the
610
+ // person sees exactly what to choose; then commit and push again.
611
+ const messages = pend.commits.map((x) => x.message.trim());
612
+ uncommit(root, c);
613
+ const s = await sync(root, c);
614
+ return { pushed: false, shas: [], sha: "", branch: c.branch, uploaded: missing.size, sync: s, messages };
615
+ }
524
616
  const from = pend.base;
525
617
  c.pending = undefined;
526
618
  rmSync(join(root, STATE_DIR, "objects"), { recursive: true, force: true });
@@ -529,11 +621,11 @@ export async function push(root, c) {
529
621
  c.base = r.sha;
530
622
  c.root = r.root;
531
623
  saveCheckout(root, c);
532
- return { shas: r.shas, sha: r.sha, branch: c.branch, uploaded: missing.size, sync: { from, to: r.sha, updated: [], removed: [] } };
624
+ return { pushed: true, shas: r.shas, sha: r.sha, branch: c.branch, uploaded: missing.size, sync: { from, to: r.sha, updated: [], removed: [] } };
533
625
  }
534
626
  saveCheckout(root, c);
535
627
  const s = await sync(root, c);
536
- return { shas: r.shas, sha: r.sha, branch: c.branch, uploaded: missing.size, sync: s };
628
+ return { pushed: true, shas: r.shas, sha: r.sha, branch: c.branch, uploaded: missing.size, sync: s };
537
629
  }
538
630
  /**
539
631
  * Commit the changed files (all, or those under paths) on the server, then sync to the result: