From f42374bb18b696a0dc9777f70fd64a15fd1371b7 Mon Sep 17 00:00:00 2001 From: Guillaume Lours <705411+glours@users.noreply.github.com> Date: Wed, 2 Jul 2025 11:12:20 +0200 Subject: [PATCH] add a Done event to model progress display Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com> --- pkg/compose/model.go | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/pkg/compose/model.go b/pkg/compose/model.go index 68e1d425c..6bde75a70 100644 --- a/pkg/compose/model.go +++ b/pkg/compose/model.go @@ -83,20 +83,25 @@ func (s *composeService) ensureModels(ctx context.Context, project *types.Projec config.Name = name } eg.Go(func() error { + w := progress.ContextWriter(gctx) if !slices.Contains(availableModels, config.Model) { - err = s.pullModel(gctx, dockerModel, config, quietPull) + err = s.pullModel(gctx, dockerModel, config, quietPull, w) if err != nil { return err } } - return s.configureModel(gctx, dockerModel, config) + err = s.configureModel(gctx, dockerModel, config, w) + if err != nil { + return err + } + w.Event(progress.CreatedEvent(config.Name)) + return nil }) } return eg.Wait() } -func (s *composeService) pullModel(ctx context.Context, dockerModel *manager.Plugin, model types.ModelConfig, quietPull bool) error { - w := progress.ContextWriter(ctx) +func (s *composeService) pullModel(ctx context.Context, dockerModel *manager.Plugin, model types.ModelConfig, quietPull bool, w progress.Writer) error { w.Event(progress.Event{ ID: model.Name, Status: progress.Working, @@ -145,7 +150,12 @@ func (s *composeService) pullModel(ctx context.Context, dockerModel *manager.Plu return err } -func (s *composeService) configureModel(ctx context.Context, dockerModel *manager.Plugin, config types.ModelConfig) error { +func (s *composeService) configureModel(ctx context.Context, dockerModel *manager.Plugin, config types.ModelConfig, w progress.Writer) error { + w.Event(progress.Event{ + ID: config.Name, + Status: progress.Working, + Text: "Configuring", + }) // configure [--context-size=] MODEL [-- ] args := []string{"configure"} if config.ContextSize > 0 {