eval

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: May 13, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllPassed

func AllPassed(results []TaskResult) bool

func CheckCommand

func CheckCommand(command string, expectedExitCode *int, workspace string) (bool, string)

func CheckFileContains

func CheckFileContains(workspace, path, pattern string) (bool, string)

func CheckOutputContains

func CheckOutputContains(output string, patterns []string) (bool, string)

func PrintResults

func PrintResults(results []TaskResult)

Types

type Check

type Check struct {
	Command        string              `yaml:"command"`
	ExitCode       *int                `yaml:"exit_code"`
	OutputContains []string            `yaml:"output_contains"`
	FileContains   []FileContainsCheck `yaml:"file_contains"`
	FilesModified  []string            `yaml:"files_modified"`
}

type Constraints

type Constraints struct {
	ForbiddenPaths      []string `yaml:"forbidden_paths,omitempty"`
	ForbiddenTools      []string `yaml:"forbidden_tools,omitempty"`
	MaxFilesChanged     int      `yaml:"max_files_changed,omitempty"`
	RequireTestRun      bool     `yaml:"require_test_run,omitempty"`
	RequireUserApproval []string `yaml:"require_user_approval_for,omitempty"`
}

type EvalTask

type EvalTask struct {
	ID          string       `yaml:"id"`
	Name        string       `yaml:"name"`
	Description string       `yaml:"description"`
	Workspace   string       `yaml:"workspace"`
	Prompt      string       `yaml:"prompt"`
	Success     []Check      `yaml:"success"`
	Negative    []NegCheck   `yaml:"negative,omitempty"`
	Constraints *Constraints `yaml:"constraints,omitempty"`
}

func FilterTasks

func FilterTasks(tasks []EvalTask, runID string) []EvalTask

func LoadTasks

func LoadTasks(dir string) []EvalTask

func ValidateTasks

func ValidateTasks(dir string) ([]EvalTask, int)

type FileContainsCheck

type FileContainsCheck struct {
	Path    string `yaml:"path"`
	Pattern string `yaml:"pattern"`
}

type NegCheck

type NegCheck struct {
	Type            string   `yaml:"type"`
	ForbiddenPaths  []string `yaml:"forbidden_paths,omitempty"`
	ForbiddenTools  []string `yaml:"forbidden_tools,omitempty"`
	MaxFilesChanged int      `yaml:"max_files_changed,omitempty"`
	Description     string   `yaml:"description,omitempty"`
}

type TaskResult

type TaskResult struct {
	ID       string   `yaml:"id"`
	Name     string   `yaml:"name"`
	Passed   bool     `yaml:"passed"`
	Failures []string `yaml:"failures,omitempty"`
}

func RunSmokeChecks

func RunSmokeChecks(tasks []EvalTask) []TaskResult

func RunTasks

func RunTasks(binPath string, tasks []EvalTask) []TaskResult

Jump to

Keyboard shortcuts

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