{"record":{"id":"1e11e6cf99dc2415","repo":"paperclipai/paperclip","slug":"daytona-syncout-download-failed-for-entry-source","errorCode":null,"errorMessage":"Daytona syncOut download failed for ${entry.source}: ${response?.error ?? \"no response returned\"}","messagePattern":"Daytona syncOut download failed for (.+?): (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/plugins/sandbox-providers/daytona/src/file-sync.ts","lineNumber":933,"sourceCode":"        run: () =>\n          assertSandboxCommandOk(\n            sandbox,\n            `sh -c ${shellQuote(extractScript)}`,\n            timeoutSeconds,\n            \"syncIn extract\",\n          ),\n      });\n    } catch (error) {\n      await removeSandboxScratch(sandbox, [remoteTar], timeoutSeconds);\n      throw error;\n    }\n    const filesTransferred = await countHostFiles(mapping.sourcePath, mapping.exclude);\n    return { filesTransferred, bytesTransferred };\n  });\n}\n\n/**\n * Execute an operation's ordered `postUploadCommands` in-sandbox AFTER its files\n * have landed. Commands run in array order, fail-fast: the first non-zero exit\n * or timeout throws and stops the rest. Each `command` string is executed\n * VERBATIM via the exec seam; the provider never rewrites, concatenates, or\n * appends a shell fragment to it — the working directory rides\n * `executeCommand`'s structured `cwd` argument, never a `cd &&` prefix on the\n * command. An absent `cwd` defaults to the provider-resolved remote dir — never\n * a process default cwd.\n *\n * Shared by the file- and directory-mapping paths: it runs once per operation,\n * after every mapping of that operation has been placed.\n */\nasync function runPostUploadCommands(input: {\n  sandbox: Sandbox;\n  commands: PluginPostUploadCommand[];\n  remoteDir: string;\n  timeoutSeconds: number;\n}): Promise<void> {\n  const { sandbox, commands, remoteDir, timeoutSeconds } = input;","sourceCodeStart":915,"sourceCodeEnd":951,"githubUrl":"https://github.com/paperclipai/paperclip/blob/3f1d897a7c018d76563a21c6e39c3c9b03933622/packages/plugins/sandbox-providers/daytona/src/file-sync.ts#L915-L951","documentation":"Per-file failure surfacing in the syncOut download path: sandbox.fs.downloadFiles returns per-request errors in response.error rather than throwing, and this entry's download response carried an error (or no response at all was keyed for its source). The error names the original entry.source so the caller can tell which workspace file failed to come back from the sandbox.","triggerScenarios":"Thrown at packages/plugins/sandbox-providers/daytona/src/file-sync.ts:893 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the Daytona API error in the message; verify the source path exists in the sandbox and retry."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3f1d897a7c018d76563a21c6e39c3c9b03933622","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}