package sources import ( "context" "github.com/salvacybersec/keyhunter/pkg/types" ) // Source is the interface all input adapters must implement. // Chunks writes content segments to the out channel until the source is exhausted or ctx is cancelled. // NOTE: Source is defined in the sources sub-package (not pkg/engine) and uses pkg/types.Chunk // to avoid a circular import: engine -> sources -> engine. type Source interface { Chunks(ctx context.Context, out chan<- types.Chunk) error }