Commit Graph
4 Commits
Author SHA1 Message Date
Paul BakausandClaude Opus 4.6 98d16686dc Add edge cache headers to all API routes to reduce Vercel function invocations
All API routes serve static content that only changes at deploy time, but had
0% cache hit rate. Adding s-maxage=86400 lets Vercel's CDN cache responses at
the edge, which should take the ~28K daily API requests from 0% to ~99% cache.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 17:10:04 -07:00
Paul BakausandClaude Opus 4.6 b628e208e3 Harden API endpoints: input validation, error sanitization, security headers
- Add shared validation helper (server/lib/validation.js) with ID regex, provider/type allowlists
- Validate all route params against allowlists before filesystem operations to prevent path traversal
- Strip stack traces and error.message from production error responses (generic "Internal server error")
- Sanitize filenames in Content-Disposition headers
- Add X-Content-Type-Options: nosniff and X-Frame-Options: DENY to dev server static responses
- Add path traversal (.. ) checks to all static file handlers and catch-all fetch

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 09:58:05 -08:00
Paul BakausandClaude Opus 4.6 f0d37e48c7 Fix command-source API for unified skills directory structure
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:59:29 -08:00
Paul BakausandClaude Opus 4.5 9d2d31b108 Add missing /api/command-source Vercel endpoint
This endpoint was in the local server but missing from Vercel serverless
functions, causing "Source not available" on the deployed site.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:20:13 -08:00