diff options
| author | adamdottv <[email protected]> | 2025-05-12 09:44:56 -0500 |
|---|---|---|
| committer | adamdottv <[email protected]> | 2025-05-12 09:44:56 -0500 |
| commit | dfe5fd8d970f76af9db0a7bf9a1e6f0bc01a291c (patch) | |
| tree | ebf8123a492626a31b7767b18a60594879cd70b0 /internal/app | |
| parent | ed9fba99c9e230094ed5d468c88f81469d60c911 (diff) | |
| download | opencode-dfe5fd8d970f76af9db0a7bf9a1e6f0bc01a291c.tar.gz opencode-dfe5fd8d970f76af9db0a7bf9a1e6f0bc01a291c.zip | |
wip: refactoring
Diffstat (limited to 'internal/app')
| -rw-r--r-- | internal/app/app.go | 60 |
1 files changed, 36 insertions, 24 deletions
diff --git a/internal/app/app.go b/internal/app/app.go index 42de24548..283b311c8 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -10,7 +10,6 @@ import ( "log/slog" "github.com/opencode-ai/opencode/internal/config" - "github.com/opencode-ai/opencode/internal/db" "github.com/opencode-ai/opencode/internal/history" "github.com/opencode-ai/opencode/internal/llm/agent" "github.com/opencode-ai/opencode/internal/logging" @@ -42,30 +41,44 @@ type App struct { } func New(ctx context.Context, conn *sql.DB) (*App, error) { - q := db.New(conn) - loggingService := logging.NewService(q) - sessionService := session.NewService(q) - messageService := message.NewService(q) - historyService := history.NewService(q, conn) - permissionService := permission.NewPermissionService() - statusService := status.NewService() - - // Initialize logging service - logging.InitManager(loggingService) - - // Initialize session manager - session.InitManager(sessionService) - - // Initialize status service - status.InitManager(statusService) + err := logging.InitService(conn) + if err != nil { + slog.Error("Failed to initialize logging service", "error", err) + return nil, err + } + err = session.InitService(conn) + if err != nil { + slog.Error("Failed to initialize session service", "error", err) + return nil, err + } + err = message.InitService(conn) + if err != nil { + slog.Error("Failed to initialize message service", "error", err) + return nil, err + } + err = history.InitService(conn) + if err != nil { + slog.Error("Failed to initialize history service", "error", err) + return nil, err + } + err = permission.InitService() + if err != nil { + slog.Error("Failed to initialize permission service", "error", err) + return nil, err + } + err = status.InitService() + if err != nil { + slog.Error("Failed to initialize status service", "error", err) + return nil, err + } app := &App{ - Logs: loggingService, - Sessions: sessionService, - Messages: messageService, - History: historyService, - Permissions: permissionService, - Status: statusService, + Logs: logging.GetService(), + Sessions: session.GetService(), + Messages: message.GetService(), + History: history.GetService(), + Permissions: permission.GetService(), + Status: status.GetService(), LSPClients: make(map[string]*lsp.Client), } @@ -75,7 +88,6 @@ func New(ctx context.Context, conn *sql.DB) (*App, error) { // Initialize LSP clients in the background go app.initLSPClients(ctx) - var err error app.CoderAgent, err = agent.NewAgent( config.AgentCoder, app.Sessions, |
