summaryrefslogtreecommitdiffhomepage
path: root/internal/app
diff options
context:
space:
mode:
authorKujtim Hoxha <[email protected]>2025-04-13 14:37:05 +0200
committerKujtim Hoxha <[email protected]>2025-04-21 13:41:27 +0200
commitcdc5f209dccdc980714f2ca1aeb52133d6e93cce (patch)
tree02fe97994dfce7f2e842be7b4c5170f534220eee /internal/app
parent3ad983db0f2c08826d56cb5de274d706c95b3353 (diff)
downloadopencode-cdc5f209dccdc980714f2ca1aeb52133d6e93cce.tar.gz
opencode-cdc5f209dccdc980714f2ca1aeb52133d6e93cce.zip
cleanup diff, cleanup agent
Diffstat (limited to 'internal/app')
-rw-r--r--internal/app/app.go20
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