diff --git a/main.go b/main.go index 81c9d22..f8da0b2 100644 --- a/main.go +++ b/main.go @@ -121,23 +121,32 @@ func newHandlerGetAPIV1RPCAIEvent(cfg Config) http.HandlerFunc { if err != nil { return err } + if len(threads) == 0 { + return nil + } - prompt := fmt.Sprintf("Summarize the Slack thread in 1 sentence. List any suggested follow ups.\n\n---\n\n") for _, thread := range threads { + prompt := fmt.Sprintf("Summarize the Slack thread in 1 sentence. List any suggested follow ups.\n\n---\n\n") + messages, err := cfg.storage.GetThreadMessages(ctx, thread.ID) if err != nil { return err } + if len(messages) == 0 { + continue + } + for _, message := range messages { prompt += fmt.Sprintf("%s\n%s\n\n", message.Author, message.Plaintext) } + + summary, err := cfg.ai.Do(ctx, prompt) + if err != nil { + return err + } + threadSummaries = append(threadSummaries, summary) } - summary, err := cfg.ai.Do(ctx, prompt) - if err != nil { - return err - } - threadSummaries = append(threadSummaries, summary) return nil }(r.Context()); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError)