Documentation
¶
Index ¶
- func NormalizeLanguage(language string) string
- type DefaultDirectoryExplorer
- type DependencyHandler
- type DependencyManager
- type DirectoryExplorer
- type EntryPointHandler
- type EntryPointInjector
- type Generator
- func (g *Generator) Generate(ctx context.Context, req types.GenerationRequest) error
- func (g *Generator) GetDefaultStrategy() types.GenerationMode
- func (g *Generator) ListAvailableAgents() []agents.Agent
- func (g *Generator) ListAvailableStrategies() map[types.GenerationMode]bool
- func (g *Generator) ListAvailableTemplates() []string
- type LanguageDetector
- type OpportunityProcessor
- func (p *OpportunityProcessor) AnalyzeOpportunities(opportunities []domain.Opportunity) *types.OperationsData
- func (p *OpportunityProcessor) GroupByDirectory(opportunities []domain.Opportunity) map[string][]domain.Opportunity
- func (p *OpportunityProcessor) GroupByLanguage(opportunities []domain.Opportunity) map[string][]domain.Opportunity
- type OrchestratedTemplateStrategy
- func (s *OrchestratedTemplateStrategy) GenerateCode(ctx context.Context, opportunities []domain.Opportunity, ...) error
- func (s *OrchestratedTemplateStrategy) GetName() string
- func (s *OrchestratedTemplateStrategy) GetRequiredFlags() []string
- func (s *OrchestratedTemplateStrategy) IsAvailable() bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NormalizeLanguage ¶
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)
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) GetDefaultStrategy ¶
func (g *Generator) GetDefaultStrategy() types.GenerationMode
GetDefaultStrategy returns the default generation strategy
func (*Generator) ListAvailableAgents ¶
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 ¶
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