viewmodels

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package viewmodels provides data transformation and presentation logic for TUI views.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrorInfo

type ErrorInfo struct {
	RunID    string
	Scenario string
	Provider string
	Region   string
	Error    string
}

ErrorInfo represents a failed run with details

type ProviderStat

type ProviderStat struct {
	Runs   int
	Tokens int64
}

ProviderStat contains statistics for a single provider

type RunData

type RunData struct {
	Status           RunStatus
	Provider         string
	Scenario         string
	Region           string
	StartTime        time.Time
	Duration         time.Duration
	Cost             float64
	Error            string
	CurrentTurnIndex int
	CurrentTurnRole  string
	Selected         bool
}

RunData contains the raw data for a single run

type RunStatus

type RunStatus int

RunStatus represents the status of a run

const (
	// StatusRunning indicates the run is currently executing
	StatusRunning RunStatus = iota
	// StatusCompleted indicates the run finished successfully
	StatusCompleted
	// StatusFailed indicates the run failed
	StatusFailed
)

type RunsTableViewModel

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

RunsTableViewModel transforms run data into table rows

func NewRunsTableViewModel

func NewRunsTableViewModel(runs []RunData) *RunsTableViewModel

NewRunsTableViewModel creates a new RunsTableViewModel

func (*RunsTableViewModel) GetRowCount

func (vm *RunsTableViewModel) GetRowCount() int

GetRowCount returns the number of runs

func (*RunsTableViewModel) GetRows

func (vm *RunsTableViewModel) GetRows() []table.Row

GetRows returns formatted table rows for the runs

type SummaryData

type SummaryData struct {
	TotalRuns       int
	CompletedRuns   int
	FailedRuns      int
	TotalTokens     int64
	TotalCost       float64
	TotalDuration   time.Duration
	AvgDuration     time.Duration
	ProviderStats   map[string]ProviderStat
	ProviderCosts   map[string]float64
	FailuresByError map[string]int
	ScenarioCount   int
	Regions         []string
	Errors          []ErrorInfo
	OutputDir       string
	HTMLReport      string
	AssertionTotal  int
	AssertionFailed int
}

SummaryData contains the raw summary statistics

type SummaryViewModel

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

SummaryViewModel transforms summary data for display

func NewSummaryViewModel

func NewSummaryViewModel(data *SummaryData) *SummaryViewModel

NewSummaryViewModel creates a new SummaryViewModel

func (*SummaryViewModel) GetCompletedRuns

func (vm *SummaryViewModel) GetCompletedRuns() int

GetCompletedRuns returns the number of completed runs

func (*SummaryViewModel) GetFailedRuns

func (vm *SummaryViewModel) GetFailedRuns() int

GetFailedRuns returns the number of failed runs

func (*SummaryViewModel) GetFailureRate

func (vm *SummaryViewModel) GetFailureRate() string

GetFailureRate returns formatted failure rate percentage

func (*SummaryViewModel) GetFailuresByError

func (vm *SummaryViewModel) GetFailuresByError() map[string]int

GetFailuresByError returns failure counts by error message

func (*SummaryViewModel) GetFormattedAssertionFailed

func (vm *SummaryViewModel) GetFormattedAssertionFailed() string

GetFormattedAssertionFailed returns formatted failed assertions

func (*SummaryViewModel) GetFormattedAssertionTotal

func (vm *SummaryViewModel) GetFormattedAssertionTotal() string

GetFormattedAssertionTotal returns formatted assertion total

func (*SummaryViewModel) GetFormattedAvgDuration

func (vm *SummaryViewModel) GetFormattedAvgDuration() string

GetFormattedAvgDuration returns formatted average duration

func (*SummaryViewModel) GetFormattedAvgDurationWithSuffix

func (vm *SummaryViewModel) GetFormattedAvgDurationWithSuffix() string

GetFormattedAvgDurationWithSuffix returns formatted average duration with suffix

func (*SummaryViewModel) GetFormattedErrors

func (vm *SummaryViewModel) GetFormattedErrors() []string

GetFormattedErrors returns formatted error list

func (*SummaryViewModel) GetFormattedFailed

func (vm *SummaryViewModel) GetFormattedFailed() string

GetFormattedFailed returns formatted failed runs with percentage

func (*SummaryViewModel) GetFormattedProviderCost

func (vm *SummaryViewModel) GetFormattedProviderCost(provider string) string

GetFormattedProviderCost returns formatted cost for a provider

func (*SummaryViewModel) GetFormattedProviderTokens

func (vm *SummaryViewModel) GetFormattedProviderTokens(provider string) string

GetFormattedProviderTokens returns formatted token count for a provider

func (*SummaryViewModel) GetFormattedProviders

func (vm *SummaryViewModel) GetFormattedProviders() string

GetFormattedProviders returns formatted provider list with counts

func (*SummaryViewModel) GetFormattedRegions

func (vm *SummaryViewModel) GetFormattedRegions() string

GetFormattedRegions returns formatted region list

func (*SummaryViewModel) GetFormattedScenarios

func (vm *SummaryViewModel) GetFormattedScenarios() string

GetFormattedScenarios returns formatted scenario count

func (*SummaryViewModel) GetFormattedSuccessful

func (vm *SummaryViewModel) GetFormattedSuccessful() string

GetFormattedSuccessful returns formatted successful runs with percentage

func (*SummaryViewModel) GetFormattedTotalCost

func (vm *SummaryViewModel) GetFormattedTotalCost() string

GetFormattedTotalCost returns formatted total cost

func (*SummaryViewModel) GetFormattedTotalDuration

func (vm *SummaryViewModel) GetFormattedTotalDuration() string

GetFormattedTotalDuration returns formatted total duration

func (*SummaryViewModel) GetFormattedTotalRuns

func (vm *SummaryViewModel) GetFormattedTotalRuns() string

GetFormattedTotalRuns returns formatted total runs

func (*SummaryViewModel) GetFormattedTotalTokens

func (vm *SummaryViewModel) GetFormattedTotalTokens() string

GetFormattedTotalTokens returns formatted total tokens

func (*SummaryViewModel) GetHTMLReport

func (vm *SummaryViewModel) GetHTMLReport() string

GetHTMLReport returns the HTML report path

func (*SummaryViewModel) GetOutputDir

func (vm *SummaryViewModel) GetOutputDir() string

GetOutputDir returns the output directory

func (*SummaryViewModel) GetProviderCosts

func (vm *SummaryViewModel) GetProviderCosts() map[string]float64

GetProviderCosts returns provider costs

func (*SummaryViewModel) GetProviderStats

func (vm *SummaryViewModel) GetProviderStats() map[string]ProviderStat

GetProviderStats returns provider statistics

func (*SummaryViewModel) GetSuccessRate

func (vm *SummaryViewModel) GetSuccessRate() string

GetSuccessRate returns formatted success rate percentage

func (*SummaryViewModel) GetTotalRuns

func (vm *SummaryViewModel) GetTotalRuns() int

GetTotalRuns returns the total number of runs

func (*SummaryViewModel) HasAssertions

func (vm *SummaryViewModel) HasAssertions() bool

HasAssertions returns true if there are assertions

func (*SummaryViewModel) HasErrors

func (vm *SummaryViewModel) HasErrors() bool

HasErrors returns true if there are errors

func (*SummaryViewModel) HasFailedAssertions

func (vm *SummaryViewModel) HasFailedAssertions() bool

HasFailedAssertions returns true if there are failed assertions

func (*SummaryViewModel) HasHTMLReport

func (vm *SummaryViewModel) HasHTMLReport() bool

HasHTMLReport returns true if there's an HTML report

func (*SummaryViewModel) HasProviders

func (vm *SummaryViewModel) HasProviders() bool

HasProviders returns true if there are provider stats

func (*SummaryViewModel) HasRegions

func (vm *SummaryViewModel) HasRegions() bool

HasRegions returns true if there are regions

Jump to

Keyboard shortcuts

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