diff options
| author | Kujtim Hoxha <[email protected]> | 2025-03-23 22:25:31 +0100 |
|---|---|---|
| committer | Kujtim Hoxha <[email protected]> | 2025-03-23 22:25:31 +0100 |
| commit | e7258e38aeb46281fda474b8b7fcc3eee35edd9f (patch) | |
| tree | 0ae4a7558b3942519ff137aed7c3cd6a9b473bf5 /cmd | |
| parent | 8daa6e774a6e02698c90392e7b2008542f789594 (diff) | |
| download | opencode-e7258e38aeb46281fda474b8b7fcc3eee35edd9f.tar.gz opencode-e7258e38aeb46281fda474b8b7fcc3eee35edd9f.zip | |
initial agent setup
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/root.go | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/cmd/root.go b/cmd/root.go index e91444860..3879a3cf7 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -1,6 +1,3 @@ -/* -Copyright © 2025 NAME HERE <EMAIL ADDRESS> -*/ package cmd import ( @@ -11,6 +8,7 @@ import ( tea "github.com/charmbracelet/bubbletea" "github.com/kujtimiihoxha/termai/internal/app" "github.com/kujtimiihoxha/termai/internal/db" + "github.com/kujtimiihoxha/termai/internal/llm/models" "github.com/kujtimiihoxha/termai/internal/tui" "github.com/spf13/cobra" "github.com/spf13/viper" @@ -64,7 +62,7 @@ func setupSubscriptions(app *app.App) (chan tea.Msg, func()) { wg := sync.WaitGroup{} ctx, cancel := context.WithCancel(app.Context) - if viper.GetBool("debug") { + { sub := app.Logger.Subscribe(ctx) wg.Add(1) go func() { @@ -84,6 +82,26 @@ func setupSubscriptions(app *app.App) (chan tea.Msg, func()) { wg.Done() }() } + { + sub := app.Messages.Subscribe(ctx) + wg.Add(1) + go func() { + for ev := range sub { + ch <- ev + } + wg.Done() + }() + } + { + sub := app.LLM.Subscribe(ctx) + wg.Add(1) + go func() { + for ev := range sub { + ch <- ev + } + wg.Done() + }() + } return ch, func() { cancel() wg.Wait() @@ -111,15 +129,26 @@ func loadConfig() { viper.SetDefault("log.level", "info") viper.SetDefault("data.dir", ".termai") + // LLM + viper.SetDefault("models.big", string(models.DefaultBigModel)) + viper.SetDefault("models.little", string(models.DefaultLittleModel)) + viper.SetDefault("providers.openai.key", os.Getenv("OPENAI_API_KEY")) + viper.SetDefault("providers.anthropic.key", os.Getenv("ANTHROPIC_API_KEY")) + viper.SetDefault("providers.common.max_tokens", 4000) + + viper.SetDefault("agents.default", "coder") // viper.ReadInConfig() + + workdir, err := os.Getwd() + if err != nil { + panic(err) + } + viper.Set("wd", workdir) } func init() { loadConfig() - // Here you will define your flags and configuration settings. - // Cobra supports persistent flags, which, if defined here, - // will be global for your application. rootCmd.Flags().BoolP("help", "h", false, "Help") rootCmd.Flags().BoolP("debug", "d", false, "Help") |
