@tickernelz/paperclip-pro-plugin-daytona 2026.1005.10 → 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 +4 -0
- package/dist/file-sync.d.ts +2 -0
- package/dist/file-sync.d.ts.map +1 -1
- package/dist/file-sync.js +183 -54
- package/dist/file-sync.js.map +1 -1
- package/dist/file-sync.test.js +74 -1
- package/dist/file-sync.test.js.map +1 -1
- package/dist/manifest.d.ts +1 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +6 -3
- package/dist/manifest.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +480 -143
- package/dist/plugin.js.map +1 -1
- package/dist/plugin.test.js +853 -10
- package/dist/plugin.test.js.map +1 -1
- package/dist/tar-listing.test.d.ts +2 -0
- package/dist/tar-listing.test.d.ts.map +1 -0
- package/dist/tar-listing.test.js +184 -0
- package/dist/tar-listing.test.js.map +1 -0
- package/package.json +2 -2
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
|
package/dist/file-sync.d.ts
CHANGED
|
@@ -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
|
package/dist/file-sync.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
222
|
-
|
|
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
|
-
|
|
275
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
225
276
|
});
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
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
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
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
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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
|
|
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
|
-
|
|
994
|
-
|
|
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
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
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
|
});
|
package/dist/file-sync.js.map
CHANGED
|
@@ -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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"}
|
package/dist/file-sync.test.js
CHANGED
|
@@ -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
|