package model

// LlmComment represents a code review comment generated by the LLM.
type LlmComment struct {
	Path           string `json:"path"`
	Content        string `json:"content"`
	SuggestionCode string `json:"suggestion_code,omitempty"`
	ExistingCode   string `json:"existing_code,omitempty"`
	StartLine      int    `json:"start_line"`
	EndLine        int    `json:"end_line"`
	Thinking       string `json:"thinking,omitempty"`
	// Category classifies the finding. One of:
	// bug, security, performance, maintainability, test, style, documentation, other.
	Category string `json:"category,omitempty"`
	// Severity indicates the importance of the finding. One of:
	// critical, high, medium, low.
	Severity string `json:"severity,omitempty"`
}

// CodeReviewResult holds raw LLM-generated review suggestion for a code segment.
type CodeReviewResult struct {
	RelevantFile      string `json:"relevant_file"`
	SuggestionContent string `json:"suggestion_content"`
	ExistingCode      string `json:"existing_code"`
	SuggestionCode    string `json:"suggestion_code"`
}
