package model

// IngressKeyProtocol distinguishes OpenAI-compatible text APIs from Replicate-compatible image APIs.
type IngressKeyProtocol string

const (
	IngressProtocolText  IngressKeyProtocol = "text"
	IngressProtocolImage IngressKeyProtocol = "image"
)

func (p IngressKeyProtocol) Valid() bool {
	return p == IngressProtocolText || p == IngressProtocolImage
}

// EffectiveProtocol returns text for legacy rows without an explicit protocol.
func (k IngressKey) EffectiveProtocol() IngressKeyProtocol {
	if k.Protocol == "" {
		return IngressProtocolText
	}
	return k.Protocol
}
