feat: add suggestions to issue output
This commit is contained in:
@ -80,17 +80,17 @@ func (m *IssueManager) GetUserProjects(ctx context.Context, user *model.User) ([
|
||||
return projects, nil
|
||||
}
|
||||
|
||||
func (m *IssueManager) GenerateIssue(ctx context.Context, user *model.User, projectID string, issueSummary string) (string, string, error) {
|
||||
func (m *IssueManager) GenerateIssue(ctx context.Context, user *model.User, projectID string, issueSummary string) (string, string, string, error) {
|
||||
systemPrompt, err := m.getIssueSystemPrompt(ctx, user, projectID)
|
||||
if err != nil {
|
||||
return "", "", errors.WithStack(err)
|
||||
return "", "", "", errors.WithStack(err)
|
||||
}
|
||||
|
||||
slog.DebugContext(ctx, "using system prompt", slog.String("systemPrompt", systemPrompt))
|
||||
|
||||
userPrompt, err := m.getIssueUserPrompt(ctx, user, projectID, issueSummary)
|
||||
if err != nil {
|
||||
return "", "", errors.WithStack(err)
|
||||
return "", "", "", errors.WithStack(err)
|
||||
}
|
||||
|
||||
slog.DebugContext(ctx, "using user prompt", slog.String("userPrompt", userPrompt))
|
||||
@ -102,7 +102,7 @@ func (m *IssueManager) GenerateIssue(ctx context.Context, user *model.User, proj
|
||||
|
||||
res, err := m.llmClient.ChatCompletion(ctx, llm.WithMessages(messages...))
|
||||
if err != nil {
|
||||
return "", "", errors.WithStack(err)
|
||||
return "", "", "", errors.WithStack(err)
|
||||
}
|
||||
|
||||
body := res.Message().Content()
|
||||
@ -112,12 +112,22 @@ func (m *IssueManager) GenerateIssue(ctx context.Context, user *model.User, proj
|
||||
|
||||
res, err = m.llmClient.ChatCompletion(ctx, llm.WithMessages(messages...))
|
||||
if err != nil {
|
||||
return "", "", errors.WithStack(err)
|
||||
return "", "", "", errors.WithStack(err)
|
||||
}
|
||||
|
||||
title := toTitle(res.Message().Content())
|
||||
|
||||
return title, body, nil
|
||||
messages = append(messages, res.Message())
|
||||
messages = append(messages, llm.NewMessage(llm.RoleUser, "Give me a list of questions as Markdown that could help clarify the request. Only write the list without additional headings."))
|
||||
|
||||
res, err = m.llmClient.ChatCompletion(ctx, llm.WithMessages(messages...))
|
||||
if err != nil {
|
||||
return "", "", "", errors.WithStack(err)
|
||||
}
|
||||
|
||||
tips := res.Message().Content()
|
||||
|
||||
return title, body, tips, nil
|
||||
}
|
||||
|
||||
func (m *IssueManager) getIssueSystemPrompt(ctx context.Context, user *model.User, projectID string) (string, error) {
|
||||
|
Reference in New Issue
Block a user