Files
xinmi/internal/application/service/agent_fusion.go
T

25 lines
791 B
Go
Raw Normal View History

package service
import (
"context"
apperrors "github.com/Tencent/WeKnora/internal/errors"
"github.com/Tencent/WeKnora/internal/types"
)
func (s *customAgentService) validateFusionAgents(ctx context.Context, agent *types.CustomAgent) error {
if err := agent.Config.ValidateFusion(agent.ID); err != nil {
return apperrors.NewBadRequestError(err.Error())
}
for _, id := range agent.Config.FusionAgentIDs {
target, err := s.GetAgentByID(ctx, id)
if err != nil || target == nil || target.TenantID != agent.TenantID || !target.Enabled {
return apperrors.NewBadRequestError("融合 Agent 不存在、已停用或无权使用")
}
if target.Config.Role != types.AgentRoleProduction {
return apperrors.NewBadRequestError("只能融合内容生产 Agent")
}
}
return nil
}