generator

package
v0.1.0-beta.4 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NormalizeLanguage

func NormalizeLanguage(language string) string

NormalizeLanguage normalizes language names to standard form

Types

type DefaultDirectoryExplorer

type DefaultDirectoryExplorer struct{}

DefaultDirectoryExplorer implements DirectoryExplorer using os package

func (*DefaultDirectoryExplorer) FileExists

func (d *DefaultDirectoryExplorer) FileExists(path string) (bool, error)

func (*DefaultDirectoryExplorer) GlobMatch

func (d *DefaultDirectoryExplorer) GlobMatch(pattern string) ([]string, error)

func (*DefaultDirectoryExplorer) ReadDir

func (d *DefaultDirectoryExplorer) ReadDir(path string) ([]os.DirEntry, error)

type DependencyHandler

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

DependencyHandler encapsulates dependency-related operations

func NewDependencyHandler

func NewDependencyHandler(manager DependencyManager, logger logger.Logger) *DependencyHandler

func (*DependencyHandler) ProcessDependencies

func (h *DependencyHandler) ProcessDependencies(ctx context.Context, language string, ops *types.OperationsData, projectPath string, req types.GenerationRequest) error

type DependencyManager

type DependencyManager interface {
	AddDependencies(ctx context.Context, projectPath, language string, operationsData *types.OperationsData, req types.GenerationRequest) error
	ValidateProjectStructure(projectPath, language string) error
	GetRequiredDependencies(language string, operationsData *types.OperationsData) ([]dependencyTypes.Dependency, error)
	GetEnhancedDependencies(language string, operationsData *types.OperationsData) ([]dependency.EnhancedDependency, error)
}

DependencyManager handles dependency operations

type DirectoryExplorer

type DirectoryExplorer interface {
	ReadDir(path string) ([]os.DirEntry, error)
	FileExists(path string) (bool, error)
	GlobMatch(pattern string) ([]string, error)
}

DirectoryExplorer handles file system operations

type EntryPointHandler

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

EntryPointHandler encapsulates entry point operations

func NewEntryPointHandler

func NewEntryPointHandler(injector EntryPointInjector, logger logger.Logger) *EntryPointHandler

func (*EntryPointHandler) ProcessOtelInitialization

func (h *EntryPointHandler) ProcessOtelInitialization(ctx context.Context, language string, ops *types.OperationsData, dir string, req types.GenerationRequest) error

type EntryPointInjector

type EntryPointInjector interface {
	DetectEntryPoints(projectPath string, language string) ([]domain.EntryPoint, error)
	InjectOtelInitialization(ctx context.Context, entryPoint *domain.EntryPoint, operationsData *types.OperationsData, req types.GenerationRequest) ([]string, error)
}

EntryPointInjector handles entry point detection and injection

type Generator

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

Generator extends the detector system for code generation

func NewGenerator

func NewGenerator(codebaseAnalyzer *detector.CodebaseAnalyzer, logger logger.Logger, kb *knowledge.Knowledge) (*Generator, error)

NewGenerator creates a new code generator

func (*Generator) Generate

func (g *Generator) Generate(ctx context.Context, req types.GenerationRequest) error

GenerateInstrumentation analyzes and generates code

func (*Generator) GetDefaultStrategy

func (g *Generator) GetDefaultStrategy() types.GenerationMode

GetDefaultStrategy returns the default generation strategy

func (*Generator) ListAvailableAgents

func (g *Generator) ListAvailableAgents() []agents.Agent

ListAvailableAgents returns all detected coding agents

func (*Generator) ListAvailableStrategies

func (g *Generator) ListAvailableStrategies() map[types.GenerationMode]bool

ListAvailableStrategies returns all available generation strategies

func (*Generator) ListAvailableTemplates

func (g *Generator) ListAvailableTemplates() []string

ListAvailableTemplates returns all available templates

type LanguageDetector

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

LanguageDetector detects project language from directory structure

func NewLanguageDetector

func NewLanguageDetector(explorer DirectoryExplorer) *LanguageDetector

func (*LanguageDetector) DetectProjectLanguage

func (d *LanguageDetector) DetectProjectLanguage(dir string) (string, bool)

type OpportunityProcessor

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

OpportunityProcessor processes opportunities by directory and language

func NewOpportunityProcessor

func NewOpportunityProcessor(logger logger.Logger, explorer DirectoryExplorer) *OpportunityProcessor

func (*OpportunityProcessor) AnalyzeOpportunities

func (p *OpportunityProcessor) AnalyzeOpportunities(opportunities []domain.Opportunity) *types.OperationsData

func (*OpportunityProcessor) GroupByDirectory

func (p *OpportunityProcessor) GroupByDirectory(opportunities []domain.Opportunity) map[string][]domain.Opportunity

func (*OpportunityProcessor) GroupByLanguage

func (p *OpportunityProcessor) GroupByLanguage(opportunities []domain.Opportunity) map[string][]domain.Opportunity

type OrchestratedTemplateStrategy

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

OrchestratedTemplateStrategy orchestrates template generation with dependency management

func NewOrchestratedTemplateStrategy

func NewOrchestratedTemplateStrategy(
	tmpl types.CodeGenerationStrategy,
	deps DependencyManager,
	inj EntryPointInjector,
	logger logger.Logger,
) *OrchestratedTemplateStrategy

NewOrchestratedTemplateStrategy creates a new orchestrated template strategy

func (*OrchestratedTemplateStrategy) GenerateCode

func (s *OrchestratedTemplateStrategy) GenerateCode(ctx context.Context, opportunities []domain.Opportunity, req types.GenerationRequest) error

func (*OrchestratedTemplateStrategy) GetName

func (s *OrchestratedTemplateStrategy) GetName() string

func (*OrchestratedTemplateStrategy) GetRequiredFlags

func (s *OrchestratedTemplateStrategy) GetRequiredFlags() []string

func (*OrchestratedTemplateStrategy) IsAvailable

func (s *OrchestratedTemplateStrategy) IsAvailable() bool

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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