package main import ( "log" "senlinai-agent/backend/internal/auth" "senlinai-agent/backend/internal/config" "senlinai-agent/backend/internal/db" "senlinai-agent/backend/internal/domain" "senlinai-agent/backend/internal/httpx" "senlinai-agent/backend/internal/inbox" "senlinai-agent/backend/internal/projects" ) func main() { cfg := config.Load() database, err := db.Open(cfg.DatabaseURL) if err != nil { log.Fatal(err) } if err := domain.AutoMigrate(database); err != nil { log.Fatal(err) } authService := auth.NewService(database, cfg.AuthSecret) projectHandler := projects.NewHandler(projects.NewService(database)) inboxHandler := inbox.NewHandler(inbox.NewService(database, inbox.StaticAnalyzer{})) router := httpx.NewProtectedRouter(cfg, authService.VerifySession, projectHandler, inboxHandler) if err := router.Run(":" + cfg.Port); err != nil { log.Fatal(err) } }