package middleware

import (
	"strings"

	"github.com/gin-gonic/gin"
)

// CombinedAuth: 带 X-API-Key 头走 Agent 路径; 否则走人类 JWT 路径。两条路径互斥。
func CombinedAuth(agentAuth, jwtAuth gin.HandlerFunc) gin.HandlerFunc {
	return func(c *gin.Context) {
		if strings.TrimSpace(c.GetHeader("X-API-Key")) != "" {
			agentAuth(c) // Agent 路径, 失败直接 401 不回退
			return
		}
		jwtAuth(c) // 人类 JWT 路径
	}
}
