diff --git a/templates/vercel-executor/app/execute-tool/route.ts b/templates/vercel-executor/app/execute-tool/route.ts new file mode 100644 index 0000000..163fa31 --- /dev/null +++ b/templates/vercel-executor/app/execute-tool/route.ts @@ -0,0 +1,13 @@ +/** + * Tool Execution Endpoint (root path) + * + * POST /execute-tool + * TPMJS expects execute-tool at /execute-tool, not /api/execute-tool + * This re-exports from the api version for backwards compatibility + */ + +export { POST, OPTIONS } from '../api/execute-tool/route'; + +export const runtime = 'nodejs'; +export const dynamic = 'force-dynamic'; +export const maxDuration = 300; diff --git a/templates/vercel-executor/app/health/route.ts b/templates/vercel-executor/app/health/route.ts new file mode 100644 index 0000000..7342548 --- /dev/null +++ b/templates/vercel-executor/app/health/route.ts @@ -0,0 +1,33 @@ +/** + * Health Check Endpoint (root path) + * + * GET /health + * TPMJS expects health at /health, not /api/health + */ + +import { NextResponse } from 'next/server'; + +export const runtime = 'nodejs'; +export const dynamic = 'force-dynamic'; + +interface HealthResponse { + status: 'ok' | 'degraded' | 'error'; + version: string; + info?: { + runtime?: string; + region?: string; + timestamp?: string; + }; +} + +export async function GET(): Promise> { + return NextResponse.json({ + status: 'ok', + version: '1.0.0', + info: { + runtime: 'vercel-sandbox', + region: process.env.VERCEL_REGION || 'unknown', + timestamp: new Date().toISOString(), + }, + }); +}