@tickernelz/paperclip-pro-plugin-daytona 2026.1006.0 → 2026.1006.1

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/README.md CHANGED
@@ -27,7 +27,11 @@ Notes:
27
27
 
28
28
  - The current published Daytona SDK package is `@daytonaio/sdk`.
29
29
  - The driver supports both `snapshot`-based and `image`-based sandbox creation. If both are set, validation rejects the config as ambiguous.
30
+ - Each cold create uses a unique provider name and ownership labels. If creation fails after Daytona has allocated a sandbox, the driver looks up that exact name, checks every ownership label, and waits for deletion. Failed, missing, or timed-out lookups and failed deletions report unconfirmed cleanup with the provider name; they never return a usable lease. A missing name lookup after an uncertain create is not proof that a delayed provider request cannot create a resource.
31
+ - For plugin-backed sandbox lease acquisition, unresolved creation cleanup crosses the worker RPC as a validated ownership envelope. The host records `pending_cleanup` before retrying deletion. If only a creation name is known, the provider first returns an ownership-verified sandbox ID without deleting it. The host saves that observation before authorizing deletion. Its existing cleanup sweep and durable spool preserve retries across controller restarts and environment deletion. A missing observed ID confirms cleanup after a lost deletion reply or database update; a name that has never been observed remains unresolved. Provider exceptions and resolved credentials are excluded from that envelope. This requires the matching host and plugin SDK update; probe and custom-image interactive-setup calls still report unconfirmed immediate cleanup without this lease-recovery path.
30
32
  - Reusable leases map to Daytona stop/start semantics. Non-reusable leases are deleted on release. A provider-resolved `target` does not change the identity of an existing sandbox. Release closes the same scoped lease that a later sentinel-verified resume reopens.
33
+ - A session log socket can close while its command still runs. The driver requires a recorded command exit before returning a completed execution. It reconnects the log stream once, then polls status and log snapshots at most once per second. Replayed output is removed by byte offset, new output continues to reach the host, and the command is never dispatched again. A socket that delivers no output for 15 seconds switches directly to polling, even if the socket stays open or its initial connection never completes. Late callbacks from that socket are ignored. This recovers pending permission requests and cancellation results from saved output without replaying the command. Healthy initial and reconnected streams retain their existing lifetime under the caller’s RPC/run guard. After a clean close or an idle socket, each status or snapshot read gets a fresh operation timeout; successful recovery polling does not impose a new command lifetime. When both stream attempts fail without a clean close, fallback retains its original timeout budget starting after the stream attempts.
34
+ - The SDK returns full log snapshots, so fallback bandwidth grows with retained output; it has no paged snapshot or stream cancellation API. A recovery-read timeout keeps partial output and explicitly reports whether command exit remains unconfirmed; it does not prove the remote command stopped. Provider/session teardown remains responsible for closing an outstanding socket. A final snapshot reconciles bytes missed by the stream before returning a recorded exit.
31
35
  - A sandbox record can survive the loss of its underlying container. Resume treats it as expired only when a fresh provider read confirms the exact missing-container error for that sandbox and marks it unrecoverable. Unknown errors and failed confirmation reads preserve the lease. The host still requires a verified native-runner backup before replacement.
32
36
 
33
37
  ## Local development
@@ -62,6 +62,7 @@ export declare function splitLinkEntryOnce(field: string, delimiter: string): {
62
62
  name: string;
63
63
  target: string;
64
64
  } | null;
65
+ export declare function assertTarballEntriesConfined(archivePath: string, timeoutMs?: number): Promise<void>;
65
66
  export declare function performSyncIn(input: {
66
67
  sandbox: Sandbox;
67
68
  operations: PluginSyncOperation[];
@@ -73,5 +74,6 @@ export declare function performSyncOut(input: {
73
74
  operations: PluginSyncOperation[];
74
75
  remoteDir: string;
75
76
  timeoutSeconds: number;
77
+ onArchiveRecovery?: () => void;
76
78
  }): Promise<PluginEnvironmentSyncResult>;
77
79
  //# sourceMappingURL=file-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-sync.d.ts","sourceRoot":"","sources":["../src/file-sync.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAyD,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,KAAK,EACV,2BAA2B,EAE3B,UAAU,EAEV,mBAAmB,EACpB,MAAM,sCAAsC,CAAC;AAgC9C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACvD,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACvC,GAAG,OAAO,CAAC,CAAC,CAAC,CAcb;AAoCD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAenG;AA8DD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMlG;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK5G;AAqvBD,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAyCvC;AA4LD,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAgCvC"}
1
+ {"version":3,"file":"file-sync.d.ts","sourceRoot":"","sources":["../src/file-sync.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAyD,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrG,OAAO,KAAK,EACV,2BAA2B,EAE3B,UAAU,EAEV,mBAAmB,EACpB,MAAM,sCAAsC,CAAC;AAgC9C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACvD,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CACvC,GAAG,OAAO,CAAC,CAAC,CAAC,CAcb;AAoCD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAenG;AA8DD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMlG;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK5G;AA4DD,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,SAAS,SAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CA4Ef;AAksBD,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAyCvC;AA6ND,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAiCvC"}
package/dist/file-sync.js CHANGED
@@ -2,7 +2,7 @@ import path from "node:path";
2
2
  import os from "node:os";
3
3
  import { promises as fs, createReadStream, createWriteStream } from "node:fs";
4
4
  import { randomUUID } from "node:crypto";
5
- import { execFile } from "node:child_process";
5
+ import { execFile, spawn } from "node:child_process";
6
6
  import { promisify } from "node:util";
7
7
  import zlib from "node:zlib";
8
8
  import { pipeline } from "node:stream/promises";
@@ -218,44 +218,135 @@ export function splitLinkEntryOnce(field, delimiter) {
218
218
  * preserved. Parses the `-tvf` verbose listing so both member names and link
219
219
  * targets are inspected; any unparseable line fails closed.
220
220
  */
221
- async function assertTarballEntriesConfined(archivePath) {
222
- const { stdout } = await execFileAsync("tar", ["-tvf", archivePath], {
221
+ class UnsafeOutboundArchiveError extends Error {
222
+ }
223
+ function assertTarListingLineConfined(line) {
224
+ if (line.trim().length === 0)
225
+ return;
226
+ const parsed = parseTarVerboseListingLine(line);
227
+ if (!parsed) {
228
+ throw new UnsafeOutboundArchiveError(`Daytona syncOut refusing tarball with an unparseable entry listing: ${line}`);
229
+ }
230
+ const typeFlag = parsed.typeFlag;
231
+ let name = parsed.rest;
232
+ let linkTarget = null;
233
+ if (typeFlag === "l") {
234
+ const split = splitLinkEntryOnce(name, " -> ");
235
+ if (!split)
236
+ throw new UnsafeOutboundArchiveError(`Daytona syncOut refusing unparseable or ambiguous symlink entry: ${line}`);
237
+ name = split.name;
238
+ linkTarget = split.target;
239
+ }
240
+ else if (typeFlag === "h") {
241
+ const split = splitLinkEntryOnce(name, " link to ");
242
+ if (!split)
243
+ throw new UnsafeOutboundArchiveError(`Daytona syncOut refusing unparseable or ambiguous hardlink entry: ${line}`);
244
+ name = split.name;
245
+ linkTarget = split.target;
246
+ }
247
+ const cleanName = name.replace(/\/+$/, "");
248
+ if (cleanName.length > 0 && posixPathEscapes(cleanName)) {
249
+ throw new UnsafeOutboundArchiveError(`Daytona syncOut refusing tarball member that escapes the extraction dir: ${name}`);
250
+ }
251
+ if (linkTarget !== null) {
252
+ const resolved = path.posix.join(path.posix.dirname(cleanName), linkTarget);
253
+ if (path.posix.isAbsolute(linkTarget) || posixPathEscapes(resolved)) {
254
+ throw new UnsafeOutboundArchiveError(`Daytona syncOut refusing tarball link whose target escapes the extraction dir: ${name} -> ${linkTarget}`);
255
+ }
256
+ }
257
+ }
258
+ const TAR_LISTING_MAX_LINE_BYTES = 64 * 1024;
259
+ const TAR_LISTING_MAX_STDERR_BYTES = 64 * 1024;
260
+ // Full workspace exports are larger than provider checkpoints. These quotas
261
+ // admit the supported 60k-file / 39.8 MB-name export and 145k-entry regression,
262
+ // while bounding work on untrusted metadata independently of the wall deadline.
263
+ // The byte quota matches the native workspace descriptor's 64 MiB ceiling;
264
+ // it is an admission counter, never a buffer allocation.
265
+ const TAR_LISTING_MAX_TOTAL_BYTES = 64 * 1024 * 1024;
266
+ const TAR_LISTING_MAX_ENTRIES = 250_000;
267
+ const TAR_LISTING_TIMEOUT_MS = 120_000;
268
+ export async function assertTarballEntriesConfined(archivePath, timeoutMs = TAR_LISTING_TIMEOUT_MS) {
269
+ // A valid large workspace can exceed execFile's buffer. Stream within both
270
+ // aggregate admission quotas and per-entry/diagnostic memory bounds, checking
271
+ // every entry before extraction. Keep bytes until a full line to preserve
272
+ // UTF-8 characters split across pipe chunks.
273
+ const child = spawn("tar", ["-tvf", archivePath], {
223
274
  env: { ...process.env, COPYFILE_DISABLE: "1" },
224
- maxBuffer: 32 * 1024 * 1024,
275
+ stdio: ["ignore", "pipe", "pipe"],
225
276
  });
226
- const lines = stdout.split("\n").filter((line) => line.trim().length > 0);
227
- for (const line of lines) {
228
- const parsed = parseTarVerboseListingLine(line);
229
- if (!parsed) {
230
- throw new Error(`Daytona syncOut refusing tarball with an unparseable entry listing: ${line}`);
277
+ let spawnError;
278
+ let failure;
279
+ let stderr = Buffer.alloc(0);
280
+ let pending = Buffer.alloc(0);
281
+ let totalBytes = 0;
282
+ let entries = 0;
283
+ const validateLine = (line) => {
284
+ // Count empty lines too, so whitespace cannot evade the parsing-work quota.
285
+ if (++entries > TAR_LISTING_MAX_ENTRIES) {
286
+ throw new Error("Daytona syncOut tar listing entry limit exceeded (250000)");
231
287
  }
232
- const typeFlag = parsed.typeFlag;
233
- let name = parsed.rest;
234
- let linkTarget = null;
235
- if (typeFlag === "l") {
236
- const split = splitLinkEntryOnce(name, " -> ");
237
- if (!split)
238
- throw new Error(`Daytona syncOut refusing unparseable or ambiguous symlink entry: ${line}`);
239
- name = split.name;
240
- linkTarget = split.target;
241
- }
242
- else if (typeFlag === "h") {
243
- const split = splitLinkEntryOnce(name, " link to ");
244
- if (!split)
245
- throw new Error(`Daytona syncOut refusing unparseable or ambiguous hardlink entry: ${line}`);
246
- name = split.name;
247
- linkTarget = split.target;
248
- }
249
- const cleanName = name.replace(/\/+$/, "");
250
- if (cleanName.length > 0 && posixPathEscapes(cleanName)) {
251
- throw new Error(`Daytona syncOut refusing tarball member that escapes the extraction dir: ${name}`);
288
+ assertTarListingLineConfined(line.toString("utf8"));
289
+ };
290
+ const closed = new Promise((resolve) => {
291
+ child.once("error", (error) => { spawnError = error; });
292
+ child.once("close", (code, signal) => resolve({ code, signal }));
293
+ });
294
+ const stop = (error) => {
295
+ failure ??= error;
296
+ child.kill("SIGKILL");
297
+ };
298
+ const timer = setTimeout(() => {
299
+ stop(new Error("Daytona syncOut tar listing validation timed out"));
300
+ }, Math.max(1, Math.min(timeoutMs, TAR_LISTING_TIMEOUT_MS)));
301
+ child.stderr.on("data", (chunk) => {
302
+ if (stderr.length + chunk.length > TAR_LISTING_MAX_STDERR_BYTES) {
303
+ stop(new Error("Daytona syncOut tar listing diagnostics exceed the byte limit"));
304
+ return;
252
305
  }
253
- if (linkTarget !== null) {
254
- const resolved = path.posix.join(path.posix.dirname(cleanName), linkTarget);
255
- if (path.posix.isAbsolute(linkTarget) || posixPathEscapes(resolved)) {
256
- throw new Error(`Daytona syncOut refusing tarball link whose target escapes the extraction dir: ${name} -> ${linkTarget}`);
306
+ stderr = Buffer.concat([stderr, chunk]);
307
+ });
308
+ try {
309
+ for await (const chunk of child.stdout) {
310
+ if (failure)
311
+ break;
312
+ const bytes = chunk;
313
+ totalBytes += bytes.length;
314
+ if (totalBytes > TAR_LISTING_MAX_TOTAL_BYTES) {
315
+ throw new Error("Daytona syncOut tar total listing byte limit exceeded (64 MiB)");
316
+ }
317
+ let start = 0;
318
+ while (start < bytes.length) {
319
+ const newline = bytes.indexOf(10, start);
320
+ const end = newline < 0 ? bytes.length : newline;
321
+ if (pending.length + end - start > TAR_LISTING_MAX_LINE_BYTES) {
322
+ throw new Error("Daytona syncOut refusing tarball with an entry listing exceeding the byte limit");
323
+ }
324
+ pending = Buffer.concat([pending, bytes.subarray(start, end)]);
325
+ if (newline < 0)
326
+ break;
327
+ validateLine(pending);
328
+ pending = Buffer.alloc(0);
329
+ start = newline + 1;
257
330
  }
258
331
  }
332
+ if (!failure && pending.length > 0)
333
+ validateLine(pending);
334
+ const result = await closed;
335
+ if (failure)
336
+ throw failure;
337
+ if (spawnError)
338
+ throw spawnError;
339
+ if (result.code !== 0) {
340
+ throw new Error(`Daytona syncOut tar listing failed (${result.signal ?? result.code}): ${stderr.toString("utf8").trim()}`);
341
+ }
342
+ }
343
+ catch (error) {
344
+ stop(error instanceof Error ? error : new Error(String(error)));
345
+ await closed;
346
+ throw failure;
347
+ }
348
+ finally {
349
+ clearTimeout(timer);
259
350
  }
260
351
  }
261
352
  async function extractHostTarball(input) {
@@ -976,7 +1067,10 @@ async function syncOutDirectoryMapping(input) {
976
1067
  guardRoundTrips += 1;
977
1068
  return withHostTempDir(async (tmp) => {
978
1069
  const remoteTar = path.posix.join(remoteDir, scratchName(".tar"));
979
- const excludeFlags = ["._*", ...(mapping.exclude ?? [])]
1070
+ const remoteList = path.posix.join(remoteDir, scratchName(".list"));
1071
+ const excludes = ["._*", `${SCRATCH_PREFIX}*`, ...(mapping.exclude ?? [])];
1072
+ const excludeFlags = excludes
1073
+ .flatMap((entry) => [entry, `${entry.replace(/\/$/, "")}/*`])
980
1074
  .map((entry) => `--exclude ${shellQuote(entry)}`)
981
1075
  .join(" ");
982
1076
  // Tar the source in-sandbox (naming top-level entries so no "." self-entry is
@@ -990,34 +1084,68 @@ async function syncOutDirectoryMapping(input) {
990
1084
  `if [ "$#" -eq 0 ]; then dd if=/dev/zero of=${shellQuote(remoteTar)} bs=1024 count=1; ` +
991
1085
  `else tar -c --no-xattrs ${mapping.followSymlinks ? "-h " : ""}${excludeFlags} -f ${shellQuote(remoteTar)} -- "$@"; fi`,
992
1086
  ].join(" && ");
993
- await assertSandboxCommandOk(sandbox, `sh -c ${shellQuote(tarScript)}`, timeoutSeconds, "syncOut tar");
994
- guardRoundTrips += 1;
1087
+ // Rebuild the archive with files, directories, and relative links whose
1088
+ // resolved targets remain inside this mapping. Nothing is deleted or
1089
+ // dereferenced. Host validation still checks the rebuilt archive, including
1090
+ // links changed by the sandbox between enumeration and tar creation.
1091
+ const prunePaths = excludes.flatMap((entry) => [
1092
+ `-path ${shellQuote(`./${entry}`)}`, `-path ${shellQuote(`*/${entry}`)}`,
1093
+ ]).join(" -o ");
1094
+ const filterLinks = [
1095
+ ...canonicalizerPreamble(shellQuote(mapping.sourcePath)),
1096
+ 'for _pc_link do',
1097
+ ' _pc_target=$(readlink -- "$_pc_link") || continue;',
1098
+ ' case "$_pc_link" in *" -> "*) continue ;; esac;',
1099
+ ' case "$_pc_target" in /*|*" -> "*) continue ;; esac;',
1100
+ ' _pc_real=$(_pc_resolve "$_pc_link" 2>/dev/null) || continue;',
1101
+ ` case "$_pc_real/" in "$_pc_root"/*) printf '%s\\0' "$_pc_link" ;; esac;`,
1102
+ 'done',
1103
+ ].join("\n");
1104
+ const confinedEntriesScript = [
1105
+ `cd ${shellQuote(mapping.sourcePath)}`,
1106
+ `find . -mindepth 1 \\( ${prunePaths} \\) -prune -o -type l -exec sh -c ${shellQuote(filterLinks)} sh {} + -o \\( -type f -o -type d \\) -print0 > ${shellQuote(remoteList)}`,
1107
+ `tar -c --no-xattrs --hard-dereference --no-recursion --null ${excludeFlags} -f ${shellQuote(remoteTar)} -T ${shellQuote(remoteList)}`,
1108
+ ].join(" && ");
995
1109
  const localTar = path.join(tmp, "sync-out.tar");
996
1110
  let bytesTransferred = 0;
997
1111
  try {
998
- // `transfer` span: the real byte download — `sandbox.fs.downloadFiles`.
999
- const responses = await withProviderSpan({
1000
- name: "transfer",
1001
- wallMsAttr: SPAN_ATTR.transferWallMs,
1002
- attributes: {
1003
- [SPAN_ATTR.transferGuardCount]: guardRoundTrips,
1004
- [SPAN_ATTR.transferDirection]: "outbound",
1005
- },
1006
- run: () => sandbox.fs.downloadFiles([{ source: remoteTar, destination: localTar }], timeoutSeconds),
1007
- });
1008
- const response = responses.find((entry) => entry.source === remoteTar) ?? responses[0];
1009
- if (!response || response.error) {
1010
- throw new Error(`Daytona syncOut directory download failed for ${mapping.sourcePath}: ${response?.error ?? "no response returned"}`);
1112
+ for (let attempt = 0; attempt < 2; attempt += 1) {
1113
+ await assertSandboxCommandOk(sandbox, `sh -c ${shellQuote(attempt === 0 ? tarScript : confinedEntriesScript)}`, timeoutSeconds, "syncOut tar");
1114
+ guardRoundTrips += 1;
1115
+ // `transfer` span: the real byte download — `sandbox.fs.downloadFiles`.
1116
+ const responses = await withProviderSpan({
1117
+ name: "transfer",
1118
+ wallMsAttr: SPAN_ATTR.transferWallMs,
1119
+ attributes: {
1120
+ [SPAN_ATTR.transferGuardCount]: guardRoundTrips,
1121
+ [SPAN_ATTR.transferDirection]: "outbound",
1122
+ },
1123
+ run: () => sandbox.fs.downloadFiles([{ source: remoteTar, destination: localTar }], timeoutSeconds),
1124
+ });
1125
+ const response = responses.find((entry) => entry.source === remoteTar) ?? responses[0];
1126
+ if (!response || response.error) {
1127
+ throw new Error(`Daytona syncOut directory download failed for ${mapping.sourcePath}: ${response?.error ?? "no response returned"}`);
1128
+ }
1129
+ bytesTransferred += (await fs.stat(localTar)).size;
1130
+ try {
1131
+ await extractHostTarball({ archivePath: localTar, localDir: mapping.targetPath });
1132
+ break;
1133
+ }
1134
+ catch (error) {
1135
+ if (!(error instanceof UnsafeOutboundArchiveError) || attempt > 0)
1136
+ throw error;
1137
+ // Diagnostic only: no warning, task action, or additional agent turn.
1138
+ try {
1139
+ input.onArchiveRecovery?.();
1140
+ }
1141
+ catch { /* logging is best effort */ }
1142
+ }
1011
1143
  }
1012
- bytesTransferred = (await fs.stat(localTar)).size;
1013
- await extractHostTarball({ archivePath: localTar, localDir: mapping.targetPath });
1014
1144
  }
1015
1145
  finally {
1016
1146
  // Best-effort remove the sandbox-side scratch tar; the host temp dir is
1017
1147
  // cleaned by withHostTempDir.
1018
- await sandbox.fs
1019
- .deleteFile(remoteTar)
1020
- .catch(() => undefined);
1148
+ await Promise.all([remoteTar, remoteList].map((file) => sandbox.fs.deleteFile(file).catch(() => undefined)));
1021
1149
  }
1022
1150
  const filesTransferred = await countHostFiles(mapping.targetPath, mapping.exclude);
1023
1151
  return { filesTransferred, bytesTransferred };
@@ -1042,6 +1170,7 @@ export async function performSyncOut(input) {
1042
1170
  const dirResult = await syncOutDirectoryMapping({
1043
1171
  sandbox: input.sandbox,
1044
1172
  mapping,
1173
+ onArchiveRecovery: input.onArchiveRecovery,
1045
1174
  remoteDir: input.remoteDir,
1046
1175
  timeoutSeconds: input.timeoutSeconds,
1047
1176
  });
@@ -1 +1 @@
1
- {"version":3,"file":"file-sync.js","sourceRoot":"","sources":["../src/file-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-sync.js","sourceRoot":"","sources":["../src/file-sync.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ vi.mock("@daytonaio/sdk", () => ({
18
18
  DaytonaTimeoutError: class MockDaytonaTimeoutError extends Error {
19
19
  },
20
20
  }));
21
- import { performSyncIn } from "./file-sync.js";
21
+ import { performSyncIn, performSyncOut } from "./file-sync.js";
22
22
  import { __setDaytonaPluginContextForTest } from "./plugin.js";
23
23
  // Build a mock Daytona sandbox for the inbound directory path. `executeCommand`
24
24
  // records every command and returns exit 0, except that any command whose text
@@ -971,4 +971,77 @@ describe("daytona file-sync inbound zstd transport compression", () => {
971
971
  });
972
972
  });
973
973
  });
974
+ describe.skipIf(!gnuTar)("automatic unsafe workspace export recovery", () => {
975
+ const cleanupDirs = [];
976
+ afterEach(async () => {
977
+ await Promise.all(cleanupDirs.splice(0).map((root) => fs.rm(root, { recursive: true, force: true })));
978
+ });
979
+ it.each(["/usr/bin/pnpm", "../../outside.txt", "ambiguous", "ambiguous-target"])("preserves files and safe links when a link is unsafe: %s", async (target) => {
980
+ const root = await fs.mkdtemp("/tmp/paperclip-export-recovery-");
981
+ cleanupDirs.push(root);
982
+ const remoteDir = path.join(root, "remote");
983
+ const output = path.join(root, "output");
984
+ const bin = path.join(root, "bin");
985
+ await fs.mkdir(path.join(remoteDir, "nested"), { recursive: true });
986
+ await fs.mkdir(path.join(remoteDir, "cache"));
987
+ await fs.mkdir(path.join(remoteDir, "empty"));
988
+ await fs.mkdir(bin);
989
+ await fs.symlink(gnuTar, path.join(bin, "tar"));
990
+ await fs.writeFile(path.join(root, "outside.txt"), "private bytes");
991
+ await fs.writeFile(path.join(remoteDir, "nested", "--safe [file].txt"), "saved work", { mode: 0o600 });
992
+ await fs.writeFile(path.join(remoteDir, "cache", "ignored.txt"), "excluded");
993
+ const linkName = target === "ambiguous" ? "tool -> decoy" : "tool";
994
+ const linkTarget = target === "ambiguous" ? "--safe [file].txt" : target === "ambiguous-target" ? "saved -> work.txt" : target;
995
+ if (target === "ambiguous-target")
996
+ await fs.writeFile(path.join(remoteDir, "nested", linkTarget), "more saved work");
997
+ await fs.symlink(linkTarget, path.join(remoteDir, "nested", linkName));
998
+ await fs.symlink("nested/--safe [file].txt", path.join(remoteDir, "safe-link"));
999
+ await fs.link(path.join(remoteDir, "nested", "--safe [file].txt"), path.join(remoteDir, "hard-link"));
1000
+ const downloads = vi.fn(async (requests) => {
1001
+ for (const request of requests)
1002
+ await fs.copyFile(request.source, request.destination);
1003
+ return requests.map(({ source }) => ({ source }));
1004
+ });
1005
+ const recovery = vi.fn();
1006
+ const { sandbox } = createRealExecSandbox({ commandEnv: { ...process.env, PATH: `${bin}:${process.env.PATH}` } });
1007
+ Object.assign(sandbox.fs, { downloadFiles: downloads, deleteFile: (file) => fs.rm(file, { force: true }) });
1008
+ await expect(performSyncOut({ sandbox: sandbox, remoteDir, timeoutSeconds: 30, onArchiveRecovery: recovery,
1009
+ operations: [{ operationId: "export", files: [{ sourcePath: remoteDir, targetPath: output, kind: "directory", exclude: ["cache"] }] }], })).resolves.toMatchObject({ operations: [{ operationId: "export", filesTransferred: target === "ambiguous-target" ? 4 : 3 }] });
1010
+ expect(downloads).toHaveBeenCalledTimes(2);
1011
+ expect(recovery).toHaveBeenCalledOnce();
1012
+ expect(await fs.readFile(path.join(output, "nested", "--safe [file].txt"), "utf8")).toBe("saved work");
1013
+ expect((await fs.stat(path.join(output, "nested", "--safe [file].txt"))).mode & 0o777).toBe(0o600);
1014
+ expect(await fs.readFile(path.join(output, "hard-link"), "utf8")).toBe("saved work");
1015
+ await expect(fs.lstat(path.join(output, "nested", linkName))).rejects.toMatchObject({ code: "ENOENT" });
1016
+ expect(await fs.readlink(path.join(output, "safe-link"))).toBe("nested/--safe [file].txt");
1017
+ expect(await fs.readdir(path.join(output, "empty"))).toEqual([]);
1018
+ await expect(fs.stat(path.join(output, "cache", "ignored.txt"))).rejects.toMatchObject({ code: "ENOENT" });
1019
+ expect(await fs.readFile(path.join(root, "outside.txt"), "utf8")).toBe("private bytes");
1020
+ expect((await fs.lstat(path.join(remoteDir, "nested", linkName))).isSymbolicLink()).toBe(true);
1021
+ expect((await fs.readdir(remoteDir)).filter((name) => name.startsWith(".paperclip-upload"))).toEqual([]);
1022
+ });
1023
+ it("finishes an export containing only unsafe links with an empty directory", async () => {
1024
+ const root = await fs.mkdtemp("/tmp/paperclip-export-empty-");
1025
+ cleanupDirs.push(root);
1026
+ const remoteDir = path.join(root, "remote");
1027
+ const output = path.join(root, "output");
1028
+ const bin = path.join(root, "bin");
1029
+ await fs.mkdir(remoteDir);
1030
+ await fs.mkdir(bin);
1031
+ await fs.symlink(gnuTar, path.join(bin, "tar"));
1032
+ await fs.symlink("/usr/bin/pnpm", path.join(remoteDir, "pnpm"));
1033
+ const { sandbox } = createRealExecSandbox({ commandEnv: { ...process.env, PATH: `${bin}:${process.env.PATH}` } });
1034
+ Object.assign(sandbox.fs, {
1035
+ downloadFiles: async (requests) => {
1036
+ for (const request of requests)
1037
+ await fs.copyFile(request.source, request.destination);
1038
+ return requests.map(({ source }) => ({ source }));
1039
+ },
1040
+ deleteFile: (file) => fs.rm(file, { force: true }),
1041
+ });
1042
+ await performSyncOut({ sandbox: sandbox, remoteDir, timeoutSeconds: 30,
1043
+ operations: [{ operationId: "empty", files: [{ sourcePath: remoteDir, targetPath: output, kind: "directory" }] }], });
1044
+ expect(await fs.readdir(output)).toEqual([]);
1045
+ });
1046
+ });
974
1047
  //# sourceMappingURL=file-sync.test.js.map