Files
promptkit/internal/promptdef/hash.go

20 lines
443 B
Go

package promptdef
import (
"crypto/sha256"
"encoding/hex"
"encoding/json"
"gitea.maximumdirect.net/eric/promptkit/internal/domain"
)
// HashDefinition hashes an execution-ready prompt, including captured content.
func HashDefinition(definition *domain.PromptDefinition) (string, error) {
bytes, err := json.Marshal(definition)
if err != nil {
return "", err
}
sum := sha256.Sum256(bytes)
return hex.EncodeToString(sum[:]), nil
}