package persona // Background contains the character's backstory and life history. type Background struct { // Childhood describes early life experiences Childhood *Childhood `json:"childhood,omitempty" yaml:"childhood,omitempty"` // Education describes educational background Education *Education `json:"education,omitempty" yaml:"education,omitempty"` // Career describes professional history Career *Career `json:"career,omitempty" yaml:"career,omitempty"` // Relationships describes significant relationships Relationships []Relationship `json:"relationships,omitempty" yaml:"relationships,omitempty"` // Hobbies describes leisure activities and interests Hobbies []string `json:"hobbies,omitempty" yaml:"hobbies,omitempty"` // LifeEvents describes significant life events LifeEvents []LifeEvent `json:"life_events,omitempty" yaml:"life_events,omitempty"` } // Childhood describes early life experiences. type Childhood struct { // Location where the character grew up Location string `json:"location,omitempty" yaml:"location,omitempty"` // FamilyStructure describes the family setup FamilyStructure string `json:"family_structure,omitempty" yaml:"family_structure,omitempty"` // SocioeconomicStatus describes the economic background SocioeconomicStatus string `json:"socioeconomic_status,omitempty" yaml:"socioeconomic_status,omitempty"` // KeyExperiences formative experiences KeyExperiences []string `json:"key_experiences,omitempty" yaml:"key_experiences,omitempty"` // Challenges difficulties faced Challenges []string `json:"challenges,omitempty" yaml:"challenges,omitempty"` // Strengths developed positive traits Strengths []string `json:"strengths,omitempty" yaml:"strengths,omitempty"` } // Education describes educational background. type Education struct { // HighestLevel achieved education level HighestLevel string `json:"highest_level,omitempty" yaml:"highest_level,omitempty"` // Field of study or major Field string `json:"field,omitempty" yaml:"field,omitempty"` // Institutions attended schools/universities Institutions []string `json:"institutions,omitempty" yaml:"institutions,omitempty"` // Achievements notable academic achievements Achievements []string `json:"achievements,omitempty" yaml:"achievements,omitempty"` // Skills skills gained through education Skills []string `json:"skills,omitempty" yaml:"skills,omitempty"` } // Career describes professional history. type Career struct { // CurrentRole current job title CurrentRole string `json:"current_role,omitempty" yaml:"current_role,omitempty"` // Industry current industry Industry string `json:"industry,omitempty" yaml:"industry,omitempty"` // YearsExperience years in career YearsExperience int `json:"years_experience,omitempty" yaml:"years_experience,omitempty"` // PreviousRoles past positions PreviousRoles []string `json:"previous_roles,omitempty" yaml:"previous_roles,omitempty"` // Achievements notable career achievements Achievements []string `json:"achievements,omitempty" yaml:"achievements,omitempty"` // Skills professional skills Skills []string `json:"skills,omitempty" yaml:"skills,omitempty"` // Ambitions career goals Ambitions []string `json:"ambitions,omitempty" yaml:"ambitions,omitempty"` } // Relationship describes a significant relationship. type Relationship struct { // Type of relationship (family, friend, romantic, professional) Type string `json:"type" yaml:"type"` // Description of the relationship Description string `json:"description,omitempty" yaml:"description,omitempty"` // Status current status (active, estranged, etc.) Status string `json:"status,omitempty" yaml:"status,omitempty"` // Impact how this relationship affects the character Impact string `json:"impact,omitempty" yaml:"impact,omitempty"` } // LifeEvent describes a significant life event. type LifeEvent struct { // Age when the event occurred Age int `json:"age,omitempty" yaml:"age,omitempty"` // Type of event (milestone, challenge, achievement, loss) Type string `json:"type,omitempty" yaml:"type,omitempty"` // Description of the event Description string `json:"description" yaml:"description"` // Impact how this event shaped the character Impact string `json:"impact,omitempty" yaml:"impact,omitempty"` } // ValidRelationshipTypes are the valid relationship type values. var ValidRelationshipTypes = []string{ "family", "friend", "romantic", "professional", "mentor", "mentee", } // ValidLifeEventTypes are the valid life event type values. var ValidLifeEventTypes = []string{ "milestone", "challenge", "achievement", "loss", "transition", "discovery", } // ValidEducationLevels are the valid education level values. var ValidEducationLevels = []string{ "high_school", "some_college", "associates", "bachelors", "masters", "doctorate", "professional", "self_taught", } // ValidSocioeconomicStatuses are the valid socioeconomic status values. var ValidSocioeconomicStatuses = []string{ "lower", "lower_middle", "middle", "upper_middle", "upper", }