Skip to content

Commit 8ef64eb

Browse files
committed
Remove duplication
Signed-off-by: David Gageot <david.gageot@docker.com>
1 parent 16517e8 commit 8ef64eb

2 files changed

Lines changed: 10 additions & 20 deletions

File tree

cmd/root/new.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package root
22

33
import (
4+
"context"
45
"strings"
56

67
tea "charm.land/bubbletea/v2"
@@ -54,7 +55,7 @@ func (f *newFlags) runNewCommand(cmd *cobra.Command, args []string) error {
5455
return err
5556
}
5657

57-
var prompt *string
58+
var firstMessage *string
5859
opts := []session.Opt{
5960
session.WithTitle("New agent"),
6061
session.WithMaxIterations(f.maxIterationsParam),
@@ -63,12 +64,16 @@ func (f *newFlags) runNewCommand(cmd *cobra.Command, args []string) error {
6364
if len(args) > 0 {
6465
arg := strings.Join(args, " ")
6566
opts = append(opts, session.WithUserMessage("", arg))
66-
prompt = &arg
67+
firstMessage = &arg
6768
}
6869

6970
sess := session.New(opts...)
7071

71-
a := app.New(ctx, "", rt, sess, prompt)
72+
return runTUI(ctx, "", rt, sess, firstMessage)
73+
}
74+
75+
func runTUI(ctx context.Context, agentFilename string, rt runtime.Runtime, sess *session.Session, firstMessage *string) error {
76+
a := app.New(ctx, agentFilename, rt, sess, firstMessage)
7277
m := tui.New(a)
7378

7479
progOpts := []tea.ProgramOption{
@@ -79,6 +84,6 @@ func (f *newFlags) runNewCommand(cmd *cobra.Command, args []string) error {
7984

8085
go a.Subscribe(ctx, p)
8186

82-
_, err = p.Run()
87+
_, err := p.Run()
8388
return err
8489
}

cmd/root/run.go

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,17 @@ import (
88
"log/slog"
99
"os"
1010

11-
tea "charm.land/bubbletea/v2"
1211
"github.com/spf13/cobra"
1312
"go.opentelemetry.io/otel"
1413

1514
"github.com/docker/cagent/pkg/agentfile"
16-
"github.com/docker/cagent/pkg/app"
1715
"github.com/docker/cagent/pkg/cli"
1816
"github.com/docker/cagent/pkg/config"
1917
"github.com/docker/cagent/pkg/runtime"
2018
"github.com/docker/cagent/pkg/session"
2119
"github.com/docker/cagent/pkg/team"
2220
"github.com/docker/cagent/pkg/teamloader"
2321
"github.com/docker/cagent/pkg/telemetry"
24-
"github.com/docker/cagent/pkg/tui"
2522
)
2623

2724
//go:embed default-agent.yaml
@@ -240,17 +237,5 @@ func handleRunMode(ctx context.Context, agentFilename string, rt runtime.Runtime
240237
return err
241238
}
242239

243-
a := app.New(ctx, agentFilename, rt, sess, firstMessage)
244-
m := tui.New(a)
245-
246-
progOpts := []tea.ProgramOption{
247-
tea.WithContext(ctx),
248-
}
249-
250-
p := tea.NewProgram(m, progOpts...)
251-
252-
go a.Subscribe(ctx, p)
253-
254-
_, err = p.Run()
255-
return err
240+
return runTUI(ctx, agentFilename, rt, sess, firstMessage)
256241
}

0 commit comments

Comments
 (0)