Use AsyncLocalStorage to provide request context so services can access
the current user without needing Call passed through every function.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add database.ts with connection pool, Kysely query builder, and migration runner
- Create migrations for users and sessions tables (0001, 0002)
- Implement PostgresAuthStore to replace InMemoryAuthStore
- Wire up database service in services/index.ts
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>