AUXteam's picture
Upload folder using huggingface_hub
d530f14 verified
import { NextResponse } from 'next/server';
import { sandboxManager } from '@/lib/sandbox/sandbox-manager';
declare global {
var activeSandboxProvider: any;
var sandboxData: any;
var existingFiles: Set<string>;
}
export async function GET() {
try {
// Check sandbox manager first, then fall back to global state
const provider = sandboxManager.getActiveProvider() || global.activeSandboxProvider;
const sandboxExists = !!provider;
let sandboxHealthy = false;
let sandboxInfo = null;
if (sandboxExists && provider) {
try {
// Check if sandbox is healthy by getting its info
const providerInfo = provider.getSandboxInfo();
sandboxHealthy = !!providerInfo;
sandboxInfo = {
sandboxId: providerInfo?.sandboxId || global.sandboxData?.sandboxId,
url: providerInfo?.url || global.sandboxData?.url,
filesTracked: global.existingFiles ? Array.from(global.existingFiles) : [],
lastHealthCheck: new Date().toISOString()
};
} catch (error) {
console.error('[sandbox-status] Health check failed:', error);
sandboxHealthy = false;
}
}
return NextResponse.json({
success: true,
active: sandboxExists,
healthy: sandboxHealthy,
sandboxData: sandboxInfo,
message: sandboxHealthy
? 'Sandbox is active and healthy'
: sandboxExists
? 'Sandbox exists but is not responding'
: 'No active sandbox'
});
} catch (error) {
console.error('[sandbox-status] Error:', error);
return NextResponse.json({
success: false,
active: false,
error: (error as Error).message
}, { status: 500 });
}
}