23 lines
		
	
	
		
			710 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			710 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package prompt
 | |
| 
 | |
| // RoleDefinition represents a single agent role loaded from YAML.
 | |
| type RoleDefinition struct {
 | |
|     ID          string   `yaml:"id"`
 | |
|     Name        string   `yaml:"name"`
 | |
|     Description string   `yaml:"description"`
 | |
|     Tags        []string `yaml:"tags"`
 | |
|     SystemPrompt string  `yaml:"system_prompt"`
 | |
|     Defaults    struct {
 | |
|         Models       []string `yaml:"models"`
 | |
|         Capabilities []string `yaml:"capabilities"`
 | |
|         Expertise    []string `yaml:"expertise"`
 | |
|         MaxTasks     int      `yaml:"max_tasks"`
 | |
|     } `yaml:"defaults"`
 | |
| }
 | |
| 
 | |
| // RolesFile is the top-level structure for a roles YAML file.
 | |
| type RolesFile struct {
 | |
|     Roles map[string]RoleDefinition `yaml:"roles"`
 | |
| }
 | |
| 
 | 
