MCPcopy Create free account
hub / github.com/Mnexa-AI/e2a / normalizeLabelFilter

Function normalizeLabelFilter

internal/httpapi/messages.go:639–660  ·  view source on GitHub ↗

normalizeLabelFilter validates + dedups a labels= filter list.

(raw []string)

Source from the content-addressed store, hash-verified

637
638// normalizeLabelFilter validates + dedups a labels= filter list.
639func normalizeLabelFilter(raw []string) ([]string, error) {
640 if len(raw) == 0 {
641 return nil, nil
642 }
643 if len(raw) > maxLabelsPerOp {
644 return nil, fmt.Errorf("labels filter exceeds cap of %d", maxLabelsPerOp)
645 }
646 seen := map[string]struct{}{}
647 out := make([]string, 0, len(raw))
648 for _, r := range raw {
649 l, err := normalizeLabel(r, true)
650 if err != nil {
651 return nil, fmt.Errorf("labels filter: %w", err)
652 }
653 if _, dup := seen[l]; dup {
654 continue
655 }
656 seen[l] = struct{}{}
657 out = append(out, l)
658 }
659 return out, nil
660}
661
662// parseRFC3339Filter parses an optional RFC3339 timestamp query param into
663// a time, returning a 400 envelope on a malformed value.

Callers 1

handleListMessagesMethod · 0.85

Calls 2

makeFunction · 0.85
normalizeLabelFunction · 0.85

Tested by

no test coverage detected