package personality import "time" type Trait string const ( TraitHumor Trait = "humor" TraitCuriosity Trait = "curiosity" TraitPlayfulness Trait = "playfulness" TraitFormality Trait = "formality" TraitAffection Trait = "affection" ) type TraitValue struct { Trait Trait `json:"trait"` Value float64 `json:"value"` MinValue float64 `json:"minValue"` MaxValue float64 `json:"maxValue"` UpdatedAt time.Time `json:"updatedAt"` } type PersonalityProfile struct { Traits []TraitValue `json:"traits"` UpdatedAt time.Time `json:"updatedAt"` } type RelationshipMetrics struct { Familiarity float64 `json:"familiarity"` Trust float64 `json:"trust"` SharedTopics []string `json:"sharedTopics"` InsideJokes []string `json:"insideJokes"` UpdatedAt time.Time `json:"updatedAt"` } type DiaryEntry struct { ID string `json:"id"` Date string `json:"date"` // YYYY-MM-DD Summary string `json:"summary"` Mood string `json:"mood"` Topics []string `json:"topics"` Observations []string `json:"observations"` CreatedAt time.Time `json:"createdAt"` } type Observation struct { ID string `json:"id"` Content string `json:"content"` Confidence float64 `json:"confidence"` Category string `json:"category"` Applied bool `json:"applied"` CreatedAt time.Time `json:"createdAt"` }