in main.go [394:420]
func (s *session) answerQuery(ctx context.Context, query string) error {
switch {
case query == "model":
infoBlock := &ui.AgentTextBlock{}
infoBlock.AppendText(fmt.Sprintf("Current model is `%s`\n", s.model))
s.doc.AddBlock(infoBlock)
case query == "version":
infoBlock := &ui.AgentTextBlock{}
infoBlock.AppendText(fmt.Sprintf("Version: `%s`\n", version))
s.doc.AddBlock(infoBlock)
case query == "models":
models, err := s.listModels(ctx)
if err != nil {
return fmt.Errorf("listing models: %w", err)
}
infoBlock := &ui.AgentTextBlock{}
infoBlock.AppendText("\n Available models:\n")
infoBlock.AppendText(strings.Join(models, "\n"))
s.doc.AddBlock(infoBlock)
default:
return s.conversation.RunOneRound(ctx, query)
}
return nil
}