// Package normalize provides the feedkit normalization processor and related // helper APIs for raw-to-canonical event mapping. // // External API surface: // - Processor: concrete processors.Processor implementation // - Normalizer / Func: normalization interface and ergonomic function adapter // // Optional helpers from helpers.go: // - PayloadJSONBytes: extract supported JSON-shaped payloads into bytes // - DecodeJSONPayload: decode an event payload into a typed struct // - FinalizeEvent: copy the input event envelope onto a normalized output // // Typical usage: // sources emit raw events (often with json.RawMessage payloads), then a // normalize.Processor converts matching raw schemas into canonical payloads. // // Key property: normalization is optional. // If no Normalizer matches an event, Processor passes it through unchanged by default. package normalize