Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrInvalidProvider indicates an unsupported embedding provider ErrInvalidProvider = errors.New("invalid embedding provider") // ErrInvalidDimensions indicates invalid embedding dimensions ErrInvalidDimensions = errors.New("invalid embedding dimensions") // ErrInvalidChunkSize indicates invalid chunk size configuration ErrInvalidChunkSize = errors.New("invalid chunk size") // ErrInvalidOverlap indicates invalid overlap configuration ErrInvalidOverlap = errors.New("invalid overlap") // ErrEmptyEndpoint indicates missing embedding endpoint ErrEmptyEndpoint = errors.New("empty embedding endpoint") // ErrEmptyModel indicates missing embedding model ErrEmptyModel = errors.New("empty embedding model") // ErrEmptyStrategy indicates missing chunking strategies ErrEmptyStrategy = errors.New("empty chunking strategies") )
Functions ¶
Types ¶
type ChunkingConfig ¶
type ChunkingConfig struct {
Strategies []string `yaml:"strategies" mapstructure:"strategies"` // e.g., ["symbols", "definitions", "data"]
DocChunkSize int `yaml:"doc_chunk_size" mapstructure:"doc_chunk_size"` // max tokens per doc chunk
CodeChunkSize int `yaml:"code_chunk_size" mapstructure:"code_chunk_size"` // max characters per code chunk
Overlap int `yaml:"overlap" mapstructure:"overlap"` // token overlap between chunks
}
ChunkingConfig defines how content is chunked for indexing.
type Config ¶
type Config struct {
Embedding EmbeddingConfig `yaml:"embedding" mapstructure:"embedding"`
Paths PathsConfig `yaml:"paths" mapstructure:"paths"`
Chunking ChunkingConfig `yaml:"chunking" mapstructure:"chunking"`
}
Config represents the complete cortex configuration. It can be loaded from .cortex/config.yml with environment variable overrides.
func LoadConfig ¶
LoadConfig is a convenience function that creates a loader and loads config. It uses the current working directory as the root.
func LoadConfigFromDir ¶
LoadConfigFromDir loads configuration from a specific directory.
type EmbeddingConfig ¶
type EmbeddingConfig struct {
Provider string `yaml:"provider" mapstructure:"provider"` // "local" or "openai"
Model string `yaml:"model" mapstructure:"model"` // e.g., "BAAI/bge-small-en-v1.5"
Dimensions int `yaml:"dimensions" mapstructure:"dimensions"` // embedding vector dimensions
Endpoint string `yaml:"endpoint" mapstructure:"endpoint"` // embedding service endpoint URL
}
EmbeddingConfig configures the embedding provider.
type Loader ¶
type Loader interface {
// Load loads configuration from file and environment variables.
// Priority: defaults → config file → environment variables (env wins)
Load() (*Config, error)
}
Loader provides configuration loading capabilities.
type PathsConfig ¶
type PathsConfig struct {
Code []string `yaml:"code" mapstructure:"code"` // glob patterns for code files
Docs []string `yaml:"docs" mapstructure:"docs"` // glob patterns for documentation
Ignore []string `yaml:"ignore" mapstructure:"ignore"` // glob patterns to ignore
}
PathsConfig defines which files to index and which to ignore.
Click to show internal directories.
Click to hide internal directories.