Spaces:
Build error
Build error
| import { NextResponse } from 'next/server'; | |
| declare global { | |
| var activeSandboxProvider: any; | |
| var sandboxData: any; | |
| var existingFiles: Set<string>; | |
| } | |
| export async function POST() { | |
| try { | |
| console.log('[kill-sandbox] Stopping active sandbox...'); | |
| let sandboxKilled = false; | |
| // Stop existing sandbox if any | |
| if (global.activeSandboxProvider) { | |
| try { | |
| await global.activeSandboxProvider.terminate(); | |
| sandboxKilled = true; | |
| console.log('[kill-sandbox] Sandbox stopped successfully'); | |
| } catch (e) { | |
| console.error('[kill-sandbox] Failed to stop sandbox:', e); | |
| } | |
| global.activeSandboxProvider = null; | |
| global.sandboxData = null; | |
| } | |
| // Clear existing files tracking | |
| if (global.existingFiles) { | |
| global.existingFiles.clear(); | |
| } | |
| return NextResponse.json({ | |
| success: true, | |
| sandboxKilled, | |
| message: 'Sandbox cleaned up successfully' | |
| }); | |
| } catch (error) { | |
| console.error('[kill-sandbox] Error:', error); | |
| return NextResponse.json( | |
| { | |
| success: false, | |
| error: (error as Error).message | |
| }, | |
| { status: 500 } | |
| ); | |
| } | |
| } |