diff --git a/internal/types/types.go b/internal/types/types.go index 5f7beed8..d5bf846a 100644 --- a/internal/types/types.go +++ b/internal/types/types.go @@ -340,12 +340,14 @@ const ( TypeMergeRequest IssueType = "merge-request" // Merge queue entry for refinery processing TypeMolecule IssueType = "molecule" // Template molecule for issue hierarchies (beads-1ra) TypeGate IssueType = "gate" // Async coordination gate (bd-udsi) + TypeAgent IssueType = "agent" // Agent identity bead (gt-ikyo1) + TypeRole IssueType = "role" // Agent role definition (gt-gzp2y) ) // IsValid checks if the issue type value is valid func (t IssueType) IsValid() bool { switch t { - case TypeBug, TypeFeature, TypeTask, TypeEpic, TypeChore, TypeMessage, TypeMergeRequest, TypeMolecule, TypeGate: + case TypeBug, TypeFeature, TypeTask, TypeEpic, TypeChore, TypeMessage, TypeMergeRequest, TypeMolecule, TypeGate, TypeAgent, TypeRole: return true } return false diff --git a/internal/ui/styles.go b/internal/ui/styles.go index 387d3ed7..787f27f6 100644 --- a/internal/ui/styles.go +++ b/internal/ui/styles.go @@ -105,6 +105,14 @@ var ( Light: "", // standard text color Dark: "", } + ColorTypeAgent = lipgloss.AdaptiveColor{ + Light: "#59c2ff", // cyan - agent identity + Dark: "#59c2ff", + } + ColorTypeRole = lipgloss.AdaptiveColor{ + Light: "#7fd962", // green - role definition + Dark: "#7fd962", + } // === Issue ID Color === // IDs use standard text color - subtle, not attention-grabbing @@ -151,6 +159,8 @@ var ( TypeTaskStyle = lipgloss.NewStyle().Foreground(ColorTypeTask) TypeEpicStyle = lipgloss.NewStyle().Foreground(ColorTypeEpic) TypeChoreStyle = lipgloss.NewStyle().Foreground(ColorTypeChore) + TypeAgentStyle = lipgloss.NewStyle().Foreground(ColorTypeAgent) + TypeRoleStyle = lipgloss.NewStyle().Foreground(ColorTypeRole) ) // CategoryStyle for section headers - bold with accent color @@ -296,6 +306,10 @@ func RenderType(issueType string) string { return TypeEpicStyle.Render(issueType) case "chore": return TypeChoreStyle.Render(issueType) + case "agent": + return TypeAgentStyle.Render(issueType) + case "role": + return TypeRoleStyle.Render(issueType) default: return issueType }