Pulse/internal/ai/memory/paths.go
2026-03-29 14:28:48 +01:00

36 lines
852 B
Go

package memory
import (
"fmt"
"strings"
"github.com/rcourtman/pulse-go-rewrite/internal/securityutil"
)
const (
changeHistoryFileName = "ai_changes.json"
incidentHistoryFileName = "ai_incidents.json"
remediationHistoryFileName = "ai_remediations.json"
incidentFileName = incidentHistoryFileName
)
func normalizeOptionalMemoryDataDir(dir string) string {
trimmed := strings.TrimSpace(dir)
if trimmed == "" {
return ""
}
normalized, err := securityutil.NormalizeStorageDir(trimmed)
if err != nil {
return ""
}
return normalized
}
func memoryPersistencePath(dataDir string, leaf string) (string, error) {
normalizedDir := normalizeOptionalMemoryDataDir(dataDir)
if normalizedDir == "" {
return "", fmt.Errorf("memory data directory is required")
}
return securityutil.JoinStorageLeaf(normalizedDir, leaf)
}