diff options
| author | Kujtim Hoxha <[email protected]> | 2025-04-13 14:37:05 +0200 |
|---|---|---|
| committer | Kujtim Hoxha <[email protected]> | 2025-04-21 13:41:27 +0200 |
| commit | cdc5f209dccdc980714f2ca1aeb52133d6e93cce (patch) | |
| tree | 02fe97994dfce7f2e842be7b4c5170f534220eee /internal/app | |
| parent | 3ad983db0f2c08826d56cb5de274d706c95b3353 (diff) | |
| download | opencode-cdc5f209dccdc980714f2ca1aeb52133d6e93cce.tar.gz opencode-cdc5f209dccdc980714f2ca1aeb52133d6e93cce.zip | |
cleanup diff, cleanup agent
Diffstat (limited to 'internal/app')
| -rw-r--r-- | internal/app/app.go | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/internal/app/app.go b/internal/app/app.go index fa4a6ee90..9f575cac3 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -9,6 +9,7 @@ import ( "github.com/kujtimiihoxha/termai/internal/db" "github.com/kujtimiihoxha/termai/internal/history" + "github.com/kujtimiihoxha/termai/internal/llm/agent" "github.com/kujtimiihoxha/termai/internal/logging" "github.com/kujtimiihoxha/termai/internal/lsp" "github.com/kujtimiihoxha/termai/internal/message" @@ -22,6 +23,8 @@ type App struct { Files history.Service Permissions permission.Service + CoderAgent agent.Service + LSPClients map[string]*lsp.Client clientsMutex sync.RWMutex @@ -31,7 +34,7 @@ type App struct { watcherWG sync.WaitGroup } -func New(ctx context.Context, conn *sql.DB) *App { +func New(ctx context.Context, conn *sql.DB) (*App, error) { q := db.New(conn) sessions := session.NewService(q) messages := message.NewService(q) @@ -45,9 +48,22 @@ func New(ctx context.Context, conn *sql.DB) *App { LSPClients: make(map[string]*lsp.Client), } + var err error + app.CoderAgent, err = agent.NewCoderAgent( + + app.Permissions, + app.Sessions, + app.Messages, + app.LSPClients, + ) + if err != nil { + logging.Error("Failed to create coder agent", err) + return nil, err + } + app.initLSPClients(ctx) - return app + return app, nil } // Shutdown performs a clean shutdown of the application |
