//go:build !cgo
// +build !cgo

package worker

import (
	"errors"

	"github.com/jfraeys/fetch_ml/internal/manifest"
)

// HashFilesBatchNative is not available without CGO.
func HashFilesBatchNative(paths []string) ([]string, error) {
	return nil, errors.New("native batch hash requires CGO")
}

// GetSIMDImplName returns "disabled" without CGO.
func GetSIMDImplName() string {
	return "disabled (no CGO)"
}

// HasSIMDSHA256 returns false without CGO.
func HasSIMDSHA256() bool {
	return false
}

// ScanArtifactsNative is disabled without CGO.
func ScanArtifactsNative(runDir string) (*manifest.Artifacts, error) {
	return nil, errors.New("native artifact scanner requires CGO")
}

// ExtractTarGzNative is disabled without CGO.
func ExtractTarGzNative(archivePath, dstDir string) error {
	return errors.New("native tar.gz extractor requires CGO")
}

// DirOverallSHA256HexNative is disabled without CGO.
func DirOverallSHA256HexNative(root string) (string, error) {
	return "", errors.New("native hash requires CGO")
}
