import fs from 'fs'
import { Sandbox } from 'novita-sandbox/code-interpreter'
const sandbox = await Sandbox.create({ secure: true })
// Create a test file in the sandbox (requires SDK authentication)
const filePathInSandbox = '/tmp/test-file'
await sandbox.files.write(filePathInSandbox, 'test-file-content')
// Generate pre signed download URL (valid for 120 seconds, optional)
const publicDownloadUrl = await sandbox.downloadUrl(filePathInSandbox, {
useSignatureExpiration: 120, // optional
})
// Simulate "browser/unauthorized environment": without API key, directly GET download
const res = await fetch(publicDownloadUrl)
if (!res.ok) {
throw new Error(`Download failed: ${res.status} ${await res.text()}`)
}
const content = await res.text()
// Write to local file
const localFilePath = './local-test-file'
fs.writeFileSync(localFilePath, content)
console.log(content)
await sandbox.kill()