artifacts

package
v0.123.10 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2025 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Artifact

type Artifact struct {
	Name        string           `json:"name"`
	Type        string           `json:"type"`
	Format      string           `json:"format"`
	ContentType string           `json:"contentType"`
	Size        int64            `json:"size"`
	Path        string           `json:"path"`
	Metadata    ArtifactMetadata `json:"metadata"`
	Content     []byte           `json:"-"`
}

Artifact represents a generated analysis artifact

type ArtifactFormatter

type ArtifactFormatter interface {
	Format(ctx context.Context, result *analyzer.AnalysisResult) ([]byte, error)
	ContentType() string
	FileExtension() string
}

ArtifactFormatter formats analysis results into different output formats

type ArtifactGenerator

type ArtifactGenerator interface {
	Generate(ctx context.Context, result *analyzer.AnalysisResult) (*Artifact, error)
	Name() string
	Description() string
}

ArtifactGenerator generates specific types of artifacts

type ArtifactManager

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

ArtifactManager handles generation and management of analysis artifacts

func NewArtifactManager

func NewArtifactManager(outputDir string) *ArtifactManager

NewArtifactManager creates a new artifact manager

func (*ArtifactManager) GenerateArtifacts

func (am *ArtifactManager) GenerateArtifacts(ctx context.Context, result *analyzer.AnalysisResult, opts *ArtifactOptions) ([]*Artifact, error)

GenerateArtifacts generates all configured artifacts from analysis results

func (*ArtifactManager) RegisterFormatter

func (am *ArtifactManager) RegisterFormatter(name string, formatter ArtifactFormatter)

RegisterFormatter registers a custom formatter

func (*ArtifactManager) RegisterGenerator

func (am *ArtifactManager) RegisterGenerator(name string, generator ArtifactGenerator)

RegisterGenerator registers a custom generator

func (*ArtifactManager) RegisterValidator

func (am *ArtifactManager) RegisterValidator(name string, validator ArtifactValidator)

RegisterValidator registers a custom validator

func (*ArtifactManager) WriteTo

func (am *ArtifactManager) WriteTo(artifact *Artifact, writer io.Writer) error

WriteTo writes an artifact to a specific writer

type ArtifactMetadata

type ArtifactMetadata struct {
	CreatedAt time.Time         `json:"createdAt"`
	Generator string            `json:"generator"`
	Version   string            `json:"version"`
	Summary   ArtifactSummary   `json:"summary"`
	Tags      []string          `json:"tags,omitempty"`
	Labels    map[string]string `json:"labels,omitempty"`
	Checksum  string            `json:"checksum,omitempty"`
}

ArtifactMetadata provides additional information about the artifact

type ArtifactOptions

type ArtifactOptions struct {
	OutputDir           string
	Formats             []string // e.g., ["json", "html", "yaml"]
	IncludeMetadata     bool
	IncludeRaw          bool
	IncludeCorrelations bool
	CompressOutput      bool
	Templates           map[string]string
	CustomFields        map[string]interface{}
}

ArtifactOptions configures artifact generation

type ArtifactSummary

type ArtifactSummary struct {
	TotalResults   int      `json:"totalResults"`
	PassCount      int      `json:"passCount"`
	WarnCount      int      `json:"warnCount"`
	FailCount      int      `json:"failCount"`
	ErrorCount     int      `json:"errorCount"`
	Confidence     float64  `json:"confidence,omitempty"`
	AgentsUsed     []string `json:"agentsUsed"`
	TopCategories  []string `json:"topCategories,omitempty"`
	CriticalIssues int      `json:"criticalIssues"`
}

ArtifactSummary provides a high-level summary of the artifact contents

type ArtifactValidator

type ArtifactValidator interface {
	Validate(ctx context.Context, data []byte) error
	Schema() string
}

ArtifactValidator validates artifact content

type AutomationGuide

type AutomationGuide struct {
	AutomatableSteps int      `json:"automatableSteps"`
	ManualSteps      int      `json:"manualSteps"`
	Scripts          []Script `json:"scripts,omitempty"`
}

type CorrelationGenerator

type CorrelationGenerator struct{}

CorrelationGenerator generates correlation matrix artifacts

func (*CorrelationGenerator) Description

func (g *CorrelationGenerator) Description() string

func (*CorrelationGenerator) Generate

func (*CorrelationGenerator) Name

func (g *CorrelationGenerator) Name() string

type CorrelationValidator

type CorrelationValidator struct{}

CorrelationValidator validates correlation artifacts

func (*CorrelationValidator) Schema

func (v *CorrelationValidator) Schema() string

func (*CorrelationValidator) Validate

func (v *CorrelationValidator) Validate(ctx context.Context, data []byte) error

type GeneratorRegistry

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

GeneratorRegistry manages all artifact generators

func NewGeneratorRegistry

func NewGeneratorRegistry() *GeneratorRegistry

NewGeneratorRegistry creates a new generator registry

func (*GeneratorRegistry) GenerateArtifact

func (r *GeneratorRegistry) GenerateArtifact(ctx context.Context, generatorName string, result *analyzer.AnalysisResult) (*Artifact, error)

GenerateArtifact generates an artifact using the specified generator

func (*GeneratorRegistry) GetGenerator

func (r *GeneratorRegistry) GetGenerator(name string) (ArtifactGenerator, bool)

GetGenerator gets a generator by name

func (*GeneratorRegistry) ListGenerators

func (r *GeneratorRegistry) ListGenerators() []string

ListGenerators returns all available generator names

func (*GeneratorRegistry) RegisterGenerator

func (r *GeneratorRegistry) RegisterGenerator(name string, generator ArtifactGenerator)

RegisterGenerator registers a new generator

type HTMLFormatter

type HTMLFormatter struct{}

HTMLFormatter formats analysis results as HTML

func (*HTMLFormatter) ContentType

func (f *HTMLFormatter) ContentType() string

func (*HTMLFormatter) FileExtension

func (f *HTMLFormatter) FileExtension() string

func (*HTMLFormatter) Format

func (f *HTMLFormatter) Format(ctx context.Context, result *analyzer.AnalysisResult) ([]byte, error)

type InsightsGenerator

type InsightsGenerator struct{}

InsightsGenerator generates insights and correlation artifacts

func (*InsightsGenerator) Description

func (g *InsightsGenerator) Description() string

func (*InsightsGenerator) Generate

func (g *InsightsGenerator) Generate(ctx context.Context, result *analyzer.AnalysisResult) (*Artifact, error)

func (*InsightsGenerator) Name

func (g *InsightsGenerator) Name() string

type InsightsValidator

type InsightsValidator struct{}

InsightsValidator validates insights artifacts

func (*InsightsValidator) Schema

func (v *InsightsValidator) Schema() string

func (*InsightsValidator) Validate

func (v *InsightsValidator) Validate(ctx context.Context, data []byte) error

type JSONFormatter

type JSONFormatter struct{}

JSONFormatter formats analysis results as JSON

func (*JSONFormatter) ContentType

func (f *JSONFormatter) ContentType() string

func (*JSONFormatter) FileExtension

func (f *JSONFormatter) FileExtension() string

func (*JSONFormatter) Format

func (f *JSONFormatter) Format(ctx context.Context, result *analyzer.AnalysisResult) ([]byte, error)

type JSONValidator

type JSONValidator struct{}

JSONValidator validates JSON artifact content

func (*JSONValidator) Schema

func (v *JSONValidator) Schema() string

func (*JSONValidator) Validate

func (v *JSONValidator) Validate(ctx context.Context, data []byte) error

type Pattern

type Pattern struct {
	Type        string   `json:"type"`
	Description string   `json:"description"`
	Count       int      `json:"count"`
	Confidence  float64  `json:"confidence"`
	Examples    []string `json:"examples,omitempty"`
}

type RemediationGenerator

type RemediationGenerator struct{}

RemediationGenerator generates remediation guide artifacts

func (*RemediationGenerator) Description

func (g *RemediationGenerator) Description() string

func (*RemediationGenerator) Generate

func (*RemediationGenerator) Name

func (g *RemediationGenerator) Name() string

type RemediationInsight

type RemediationInsight struct {
	Category    string `json:"category"`
	Priority    int    `json:"priority"`
	Impact      string `json:"impact"`
	Effort      string `json:"effort"`
	Description string `json:"description"`
}

type RemediationValidator

type RemediationValidator struct{}

RemediationValidator validates remediation guide artifacts

func (*RemediationValidator) Schema

func (v *RemediationValidator) Schema() string

func (*RemediationValidator) Validate

func (v *RemediationValidator) Validate(ctx context.Context, data []byte) error

type Script

type Script struct {
	Name          string   `json:"name"`
	Description   string   `json:"description"`
	Language      string   `json:"language"`
	Content       string   `json:"content"`
	Prerequisites []string `json:"prerequisites,omitempty"`
}

type SummaryGenerator

type SummaryGenerator struct{}

SummaryGenerator generates summary artifacts

func (*SummaryGenerator) Description

func (g *SummaryGenerator) Description() string

func (*SummaryGenerator) Generate

func (g *SummaryGenerator) Generate(ctx context.Context, result *analyzer.AnalysisResult) (*Artifact, error)

func (*SummaryGenerator) Name

func (g *SummaryGenerator) Name() string

type SummaryValidator

type SummaryValidator struct{}

SummaryValidator validates summary artifacts

func (*SummaryValidator) Schema

func (v *SummaryValidator) Schema() string

func (*SummaryValidator) Validate

func (v *SummaryValidator) Validate(ctx context.Context, data []byte) error

type TextFormatter

type TextFormatter struct{}

TextFormatter formats analysis results as plain text

func (*TextFormatter) ContentType

func (f *TextFormatter) ContentType() string

func (*TextFormatter) FileExtension

func (f *TextFormatter) FileExtension() string

func (*TextFormatter) Format

func (f *TextFormatter) Format(ctx context.Context, result *analyzer.AnalysisResult) ([]byte, error)

type Trend

type Trend struct {
	Category    string  `json:"category"`
	Direction   string  `json:"direction"` // "improving", "degrading", "stable"
	Confidence  float64 `json:"confidence"`
	Description string  `json:"description"`
}

type ValidatorRegistry

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

ValidatorRegistry manages all validators

func NewValidatorRegistry

func NewValidatorRegistry() *ValidatorRegistry

NewValidatorRegistry creates a new validator registry

func (*ValidatorRegistry) GetValidator

func (r *ValidatorRegistry) GetValidator(name string) (ArtifactValidator, bool)

GetValidator gets a validator by name

func (*ValidatorRegistry) RegisterValidator

func (r *ValidatorRegistry) RegisterValidator(name string, validator ArtifactValidator)

RegisterValidator registers a new validator

func (*ValidatorRegistry) ValidateAllArtifacts

func (r *ValidatorRegistry) ValidateAllArtifacts(ctx context.Context, artifacts []*Artifact) []error

ValidateAllArtifacts validates a collection of artifacts

func (*ValidatorRegistry) ValidateArtifact

func (r *ValidatorRegistry) ValidateArtifact(ctx context.Context, artifact *Artifact) error

ValidateArtifact validates an artifact using the appropriate validator

type YAMLFormatter

type YAMLFormatter struct{}

YAMLFormatter formats analysis results as YAML

func (*YAMLFormatter) ContentType

func (f *YAMLFormatter) ContentType() string

func (*YAMLFormatter) FileExtension

func (f *YAMLFormatter) FileExtension() string

func (*YAMLFormatter) Format

func (f *YAMLFormatter) Format(ctx context.Context, result *analyzer.AnalysisResult) ([]byte, error)

type YAMLValidator

type YAMLValidator struct{}

YAMLValidator validates YAML artifact content

func (*YAMLValidator) Schema

func (v *YAMLValidator) Schema() string

func (*YAMLValidator) Validate

func (v *YAMLValidator) Validate(ctx context.Context, data []byte) error

Jump to

Keyboard shortcuts

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