cmd

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2026 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package cmd implements the command-line interface for the application.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Execute

func Execute()

Execute runs the root command.

func SetVersionInfo

func SetVersionInfo(version, commit, date string)

SetVersionInfo is called by main() to inject build-time version metadata.

Types

type GraphRenderEngine

type GraphRenderEngine struct {
	// contains filtered or unexported fields
}

GraphRenderEngine handles all graph rendering operations

type HealthReport

type HealthReport struct {
	DatabaseOK        bool     `json:"database_ok"`
	DatabaseSizeBytes int64    `json:"database_size_bytes,omitempty"`
	StaleRuns         int64    `json:"stale_runs"`
	WorkflowsValid    bool     `json:"workflows_valid"`
	WorkflowErrors    []string `json:"workflow_errors,omitempty"`
	LogDiskBytes      int64    `json:"log_disk_bytes,omitempty"`
	SuccessRate7d     float64  `json:"success_rate_7d"` // -1 = no data
	Healthy           bool     `json:"healthy"`
}

HealthReport holds the structured result of a health check.

type RunDiff

type RunDiff struct {
	RunA    RunSummary `json:"run_a"`
	RunB    RunSummary `json:"run_b"`
	Tasks   []TaskDiff `json:"tasks"`
	Vars    []VarDiff  `json:"variables"`
	Changed bool       `json:"changed"`
}

RunDiff is the complete result of comparing two runs.

type RunExport

type RunExport struct {
	ExportedAt       time.Time                  `json:"exported_at"`
	Run              *storage.Run               `json:"run"`
	Tags             []string                   `json:"tags"`
	Tasks            []*storage.TaskExecution   `json:"tasks"`
	Dependencies     []*storage.TaskDependency  `json:"dependencies"`
	ContextSnapshots []*storage.ContextSnapshot `json:"context_snapshots"`
	ForensicLogs     []*storage.ForensicLog     `json:"forensic_logs"`
	AuditTrail       []*storage.AuditTrailEntry `json:"audit_trail"`
}

RunExport is the full export payload serialised to JSON.

type RunSummary

type RunSummary struct {
	ID           string            `json:"id"`
	Workflow     string            `json:"workflow"`
	Status       storage.RunStatus `json:"status"`
	StartedAt    time.Time         `json:"started_at"`
	DurationMs   int64             `json:"duration_ms"`
	TotalTasks   int               `json:"total_tasks"`
	TasksSuccess int               `json:"tasks_success"`
	TasksFailed  int               `json:"tasks_failed"`
	TasksSkipped int               `json:"tasks_skipped"`
	Tags         []string          `json:"tags,omitempty"`
}

RunSummary is the subset of run fields used in a diff.

type RunsFilterOptions

type RunsFilterOptions struct {
	WorkflowName string
	Status       string
	Limit        int
	Offset       int
	StartDate    time.Time
	EndDate      time.Time
	MinDuration  time.Duration
	SortBy       string
}

RunsFilterOptions holds all filtering and display options

type RunsSummary

type RunsSummary struct {
	TotalRuns      int
	SuccessfulRuns int
	FailedRuns     int
	RunningRuns    int
	CancelledRuns  int
	ResumingRuns   int
	AvgDuration    time.Duration
	TotalDuration  time.Duration
	SuccessRate    float64
	AverageTasks   float64
	AverageSuccess float64
	AverageFailed  float64
	AverageSkipped float64
}

RunsSummary holds aggregated statistics about runs

type TaskDiff

type TaskDiff struct {
	TaskID   string `json:"task_id"`
	TaskName string `json:"task_name"`
	// DiffKind: "same", "changed", "only_a", "only_b"
	DiffKind  string `json:"diff"`
	StatusA   string `json:"status_a,omitempty"`
	StatusB   string `json:"status_b,omitempty"`
	DurationA int64  `json:"duration_ms_a,omitempty"`
	DurationB int64  `json:"duration_ms_b,omitempty"`
	AttemptA  int    `json:"attempt_a,omitempty"`
	AttemptB  int    `json:"attempt_b,omitempty"`
	ErrorA    string `json:"error_a,omitempty"`
	ErrorB    string `json:"error_b,omitempty"`
}

TaskDiff represents the comparison of a single task across two runs.

type VarDiff

type VarDiff struct {
	Name string `json:"name"`
	// DiffKind: "same", "changed", "only_a", "only_b"
	DiffKind string `json:"diff"`
	ValueA   string `json:"value_a,omitempty"`
	ValueB   string `json:"value_b,omitempty"`
}

VarDiff represents a variable that differs between the two runs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL