import { error } from '@sveltejs/kit'; import { agentReleaseAsset } from '$lib/server/hosts/releases.js'; export async function GET({ params }: { params: { file: string } }) { if ( !['ec-agent.py', 'ec-agent-update.py', 'manifest.json', 'manifest.json.sig'].includes( params.file ) ) error(404, 'Release asset not found.'); let content: string; try { content = await agentReleaseAsset( params.file as 'ec-agent.py' | 'ec-agent-update.py' | 'manifest.json' | 'manifest.json.sig' ); } catch (cause) { if ((cause as NodeJS.ErrnoException).code === 'ENOENT') error(404, 'Release asset not found.'); throw cause; } return new Response(content, { headers: { 'Content-Type': params.file.endsWith('.sig') ? 'application/pgp-signature' : params.file.endsWith('.json') ? 'application/json' : 'text/plain', 'Cache-Control': 'no-cache' } }); }