package wire

import (
	"strings"

	"github.com/tidbcloud/AgentTeam/desktop/internal/types"
)

func firstNonEmptyString(values ...string) string {
	for _, value := range values {
		if trimmed := strings.TrimSpace(value); trimmed != "" {
			return trimmed
		}
	}
	return ""
}

type messageFreshnessTracker interface {
	MessageFreshnessSnapshot(agentID string, targetKey string) (types.MessageFreshnessFrontier, bool)
	RememberMessageFreshnessObserved(agentID string, messages []types.InboxMessage) bool
	RememberMessageFreshnessHeld(agentID string, targetKey string, seenUpToSeq int64, latestSeq int64) bool
}
