verstak/internal/core/activity/suggest.go

36 lines
1.3 KiB
Go

package activity
// Confidence level for a suggestion.
const (
ConfidenceLow = "low"
ConfidenceMedium = "medium"
ConfidenceHigh = "high"
)
// SuggestionDetail is a lightweight event summary for suggestion display.
type SuggestionDetail struct {
ID string `json:"id"`
EventType string `json:"eventType"`
TargetType string `json:"targetType"`
TargetID string `json:"targetId"`
Title string `json:"title"`
CreatedAt string `json:"createdAt"`
NodeID string `json:"nodeId"`
}
// Suggestion represents a suggested worklog entry derived from today's activity.
type Suggestion struct {
NodeID string `json:"nodeId"`
NodeTitle string `json:"nodeTitle"`
Summary string `json:"summary"`
SuggestedMin int `json:"suggestedMin"`
EventCount int `json:"eventCount"`
NodeKind string `json:"nodeKind"`
Confidence string `json:"confidence"`
ConfidenceReason string `json:"confidenceReason"`
Hidden bool `json:"hidden"`
TimeSpreadMin int `json:"timeSpreadMin"` // minutes between first and last event
EventIDs []string `json:"eventIds"`
Events []SuggestionDetail `json:"events,omitempty"`
}