Documentation
¶
Index ¶
Constants ¶
const APIVersion = "v1"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnalyzeRequest ¶
type AnalyzeRequest struct {
APIVersion string `json:"api_version,omitempty"`
RequestID string `json:"request_id,omitempty"`
Path string `json:"path,omitempty"`
Recursive bool `json:"recursive,omitempty"`
CostEstimate bool `json:"cost_estimate,omitempty"`
Provider string `json:"provider,omitempty"`
Model string `json:"model,omitempty"`
BatchSize int `json:"batch_size,omitempty"`
Detail string `json:"detail,omitempty"`
}
AnalyzeRequest defines a machine-readable analyze request.
type AnalyzeResponse ¶
type AnalyzeResponse struct {
APIVersion string `json:"api_version"`
RequestID string `json:"request_id,omitempty"`
Success bool `json:"success"`
FailureCode FailureCode `json:"failure_code,omitempty"`
Error string `json:"error,omitempty"`
Path string `json:"path"`
TotalFiles int `json:"total_files"`
TotalFunctions int `json:"total_functions"`
TotalLines int `json:"total_lines"`
ByLanguage map[string]LangStats `json:"by_language"`
ExactFunctionFiles int `json:"exact_function_files,omitempty"`
HeuristicFunctionFiles int `json:"heuristic_function_files,omitempty"`
Provider string `json:"provider,omitempty"`
Model string `json:"model,omitempty"`
EstimatedRequests int `json:"estimated_requests,omitempty"`
EstimatedBatchCount int `json:"estimated_batch_count,omitempty"`
EstimatedChunkCount int `json:"estimated_chunk_count,omitempty"`
EstimatedInputTokens int `json:"estimated_input_tokens,omitempty"`
EstimatedOutputTokens int `json:"estimated_output_tokens,omitempty"`
EstimatedTokens int `json:"estimated_tokens,omitempty"`
EstimatedCost float64 `json:"estimated_cost_usd,omitempty"`
InputCostPerMTokens float64 `json:"input_cost_per_million_usd,omitempty"`
OutputCostPerMTokens float64 `json:"output_cost_per_million_usd,omitempty"`
CostEstimateOffline bool `json:"cost_estimate_offline,omitempty"`
Warnings []string `json:"warnings,omitempty"`
Usage *llm.UsageMetrics `json:"usage,omitempty"`
Files []FileAnalysis `json:"files,omitempty"`
}
AnalyzeResponse contains analysis details for a codebase.
func NewAnalyzeFailureResponse ¶
func NewAnalyzeFailureResponse(req AnalyzeRequest, err error, targetPath string) *AnalyzeResponse
NewAnalyzeFailureResponse builds a structured machine-readable failure envelope.
type Artifact ¶
type Artifact struct {
SourcePath string `json:"source_path"`
Language string `json:"language"`
TestPath string `json:"test_path,omitempty"`
TestCode string `json:"test_code,omitempty"`
FunctionsTested []string `json:"functions_tested,omitempty"`
Generated bool `json:"generated"`
FailureCode FailureCode `json:"failure_code,omitempty"`
Error string `json:"error,omitempty"`
ValidationFailed bool `json:"validation_failed,omitempty"`
}
Artifact is a machine-readable generated artifact.
type FailureCode ¶
type FailureCode string
FailureCode provides a stable machine-readable failure taxonomy.
const ( FailureCodeInvalidRequest FailureCode = "invalid_request" FailureCodeNoSourceFiles FailureCode = "no_source_files" FailureCodeUnsupportedLanguage FailureCode = "unsupported_language" FailureCodeMissingAPIKey FailureCode = "missing_api_key" FailureCodeProviderTimeout FailureCode = "provider_timeout" FailureCodeProviderRateLimited FailureCode = "provider_rate_limited" FailureCodeMalformedProviderOutput FailureCode = "malformed_provider_output" FailureCodeValidationFailed FailureCode = "validation_failed" FailureCodeWriteFailed FailureCode = "write_failed" FailureCodeScanFailed FailureCode = "scan_failed" FailureCodeCancelled FailureCode = "cancelled" FailureCodeInternalError FailureCode = "internal_error" )
type FileAnalysis ¶
type FileAnalysis struct {
Path string `json:"path"`
Language string `json:"language"`
Lines int `json:"lines"`
Functions int `json:"functions"`
FunctionCountMode string `json:"function_count_mode,omitempty"`
Tokens int `json:"estimated_tokens,omitempty"`
EstimatedCost float64 `json:"estimated_cost_usd,omitempty"`
}
FileAnalysis captures per-file analysis output.
type GenerateRequest ¶
type GenerateRequest struct {
APIVersion string `json:"api_version,omitempty"`
RequestID string `json:"request_id,omitempty"`
Path string `json:"path,omitempty"`
File string `json:"file,omitempty"`
Recursive bool `json:"recursive,omitempty"`
IncludePattern string `json:"include_pattern,omitempty"`
ExcludePattern string `json:"exclude_pattern,omitempty"`
TestTypes []string `json:"test_types,omitempty"`
Framework string `json:"framework,omitempty"`
OutputDir string `json:"output_dir,omitempty"`
DryRun bool `json:"dry_run,omitempty"`
WriteFiles *bool `json:"write_files,omitempty"`
Validate bool `json:"validate,omitempty"`
BatchSize int `json:"batch_size,omitempty"`
Parallelism int `json:"parallelism,omitempty"`
Provider string `json:"provider,omitempty"`
ReportUsage bool `json:"report_usage,omitempty"`
EmitPatch bool `json:"emit_patch,omitempty"`
}
GenerateRequest defines a machine-readable test generation request.
func (GenerateRequest) ResolvedDryRun ¶
func (r GenerateRequest) ResolvedDryRun() bool
func (GenerateRequest) ResolvedWriteFiles ¶
func (r GenerateRequest) ResolvedWriteFiles() bool
type GenerateResponse ¶
type GenerateResponse struct {
APIVersion string `json:"api_version"`
RequestID string `json:"request_id,omitempty"`
Success bool `json:"success"`
FailureCode FailureCode `json:"failure_code,omitempty"`
Error string `json:"error,omitempty"`
DryRun bool `json:"dry_run"`
WriteFiles bool `json:"write_files"`
WriteMode string `json:"write_mode,omitempty"`
TargetPath string `json:"target_path"`
SourceFiles []*models.SourceFile `json:"source_files,omitempty"`
Results []*models.GenerationResult `json:"results"`
Artifacts []Artifact `json:"artifacts,omitempty"`
Patches []PatchOperation `json:"patches,omitempty"`
Usage *llm.UsageMetrics `json:"usage,omitempty"`
SuccessCount int `json:"success_count"`
ErrorCount int `json:"error_count"`
TotalFunctions int `json:"total_functions"`
}
GenerateResponse contains the shared generation result returned to callers.
func NewGenerateFailureResponse ¶
func NewGenerateFailureResponse(req GenerateRequest, err error, targetPath string) *GenerateResponse
NewGenerateFailureResponse builds a structured machine-readable failure envelope.
type LangStats ¶
type LangStats struct {
Files int `json:"files"`
Lines int `json:"lines"`
Functions int `json:"functions"`
}
LangStats captures aggregate stats per language.
type PatchOperation ¶
type PatchOperation struct {
Path string `json:"path"`
Action string `json:"action"`
Content string `json:"content"`
}
PatchOperation is a structured write operation suitable for agent wrappers.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service centralizes machine-readable orchestration for CLI, TUI, and future wrappers.
func NewService ¶
func NewService() *Service
NewService creates a Service with production dependencies.
func (*Service) Analyze ¶
func (s *Service) Analyze(_ context.Context, req AnalyzeRequest) (*AnalyzeResponse, error)
Analyze executes codebase analysis via the shared application layer.
func (*Service) Generate ¶
func (s *Service) Generate(ctx context.Context, req GenerateRequest) (*GenerateResponse, error)
Generate executes test generation via the shared application layer.
func (*Service) Validate ¶
func (s *Service) Validate(_ context.Context, req ValidateRequest) (*ValidateResponse, error)
Validate executes validation via the shared application layer.
type ValidateRequest ¶
type ValidateRequest struct {
APIVersion string `json:"api_version,omitempty"`
RequestID string `json:"request_id,omitempty"`
Path string `json:"path,omitempty"`
Recursive bool `json:"recursive,omitempty"`
MinCoverage float64 `json:"min_coverage,omitempty"`
FailOnMissing bool `json:"fail_on_missing,omitempty"`
ReportGaps bool `json:"report_gaps,omitempty"`
}
ValidateRequest defines a machine-readable validate request.
type ValidateResponse ¶
type ValidateResponse struct {
APIVersion string `json:"api_version"`
RequestID string `json:"request_id,omitempty"`
Success bool `json:"success"`
FailureCode FailureCode `json:"failure_code,omitempty"`
Error string `json:"error,omitempty"`
TargetPath string `json:"target_path"`
SourceFiles []*models.SourceFile `json:"source_files,omitempty"`
Result *validation.Result `json:"result"`
}
ValidateResponse contains validation output plus scan metadata.
func NewValidateFailureResponse ¶
func NewValidateFailureResponse(req ValidateRequest, err error, targetPath string) *ValidateResponse
NewValidateFailureResponse builds a structured machine-readable failure envelope.