capability.go
 1  package model
 2  
 3  import "github.com/symflower/eval-dev-quality/evaluate/metrics"
 4  
 5  // CapabilityWriteTests defines the capability of a model to generate tests.
 6  type CapabilityWriteTests interface {
 7  	// WriteTests generates test files for the given implementation file in a repository.
 8  	WriteTests(ctx Context) (assessments metrics.Assessments, err error)
 9  }
10  
11  // CapabilityRepairCode defines the capability of a model to repair code.
12  type CapabilityRepairCode interface {
13  	// RepairCode queries the model to repair a source code with compilation error.
14  	RepairCode(ctx Context) (assessments metrics.Assessments, err error)
15  }
16  
17  // CapabilityTranspile defines the capability of a model to transpile code.
18  type CapabilityTranspile interface {
19  	// Transpile queries the model to transpile source code to another language.
20  	Transpile(ctx Context) (assessments metrics.Assessments, err error)
21  }