Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( ColorCritical = lipgloss.Color("#FF0000") ColorHigh = lipgloss.Color("#FF8800") ColorMedium = lipgloss.Color("#FFCC00") ColorLow = lipgloss.Color("#0088FF") ColorInfo = lipgloss.Color("#888888") ColorSuccess = lipgloss.Color("#00CC00") ColorError = lipgloss.Color("#FF4444") ColorMalware = lipgloss.Color("#FF00FF") ColorMuted = lipgloss.Color("#666666") ColorAccent = lipgloss.Color("#00CCFF") ColorTeal = lipgloss.Color("#00B4B4") ColorWhite = lipgloss.Color("#FFFFFF") )
Exported color constants for use by other packages (e.g., internal/display).
Functions ¶
func RunTriage ¶
func RunTriage(alerts []triage.EnrichedAlert, opts TriageOptions) error
RunTriage starts the triage TUI program.
func SeverityColor ¶
SeverityColor returns the color for a severity level.
func SeverityStyle ¶
SeverityStyle returns the lipgloss style for a severity level.
Types ¶
type ResolveCompleteMsg ¶
type ResolveCompleteMsg struct {
// AlertNumber is the provider alert number that was resolved.
AlertNumber string
// VEXStatus is the chosen VEX status (for updating the in-memory list).
VEXStatus string
// GitHubUpdated is true when a GitHub PATCH call was made successfully.
GitHubUpdated bool
// MemorySaved is true when memory.yaml was updated successfully.
MemorySaved bool
// VexFile is the path to the generated VEX document, if any.
VexFile string
// Err is non-nil if either operation failed.
Err error
}
ResolveCompleteMsg is sent when a triage resolution attempt finishes.
type ResolveModal ¶
type ResolveModal struct {
// contains filtered or unexported fields
}
ResolveModal is the full-screen modal overlay for resolving an alert.
func (*ResolveModal) Init ¶
func (m *ResolveModal) Init() tea.Cmd
Init returns the spinner tick so the spinner animates during submission.
func (*ResolveModal) Update ¶
func (m *ResolveModal) Update(msg tea.Msg) (*ResolveModal, tea.Cmd, bool)
Update handles key/message events for the modal. Returns (updatedModal, cmd, closeModal).
func (*ResolveModal) View ¶
func (m *ResolveModal) View(width, height int) string
View renders the resolve screen as a full-screen view.
type TriageModel ¶
type TriageModel struct {
// contains filtered or unexported fields
}
TriageModel is the bubbletea model for the triage TUI.
func NewTriageModel ¶
func NewTriageModel(alerts []triage.EnrichedAlert, opts TriageOptions) *TriageModel
NewTriageModel creates a new triage TUI model.
type TriageOptions ¶
type TriageOptions struct {
// GHClient is the GitHub API client used to apply resolutions.
// May be nil when GitHub integration is unavailable.
GHClient *triage.GitHubClient
// Repo is the "owner/repo" string for GitHub API calls.
Repo string
// VulnetixDir is the path to the .vulnetix directory for memory persistence.
// Defaults to ".vulnetix" in the current working directory when empty.
VulnetixDir string
// VexFormat controls the VEX document format written on resolve: openvex, cdx, or json.
// Defaults to "openvex" when empty.
VexFormat string
// InitialSeverity sets the starting severity filter (empty means no filter).
// Valid values: "low", "medium", "high", "critical".
InitialSeverity string
}
TriageOptions configures the triage TUI.