Volver al índice
src/main/java/ar/com/companeros/decision/ToolCapability.java
package ar.com.companeros.decision;
import java.util.Objects;
import java.util.Set;
/** Catálogo autorizado aportado por el runtime, no por mensajes del mundo. */
public record ToolCapability(String id, int version, String description, Set<String> permissions) {
public ToolCapability {
Objects.requireNonNull(id); Objects.requireNonNull(description); permissions = Set.copyOf(permissions);
if (id.isBlank() || id.length() > 128 || version < 1 || description.length() > 512
|| permissions.size() > 16 || permissions.stream().anyMatch(p -> p.isBlank() || p.length() > 64))
throw new IllegalArgumentException("Capacidad fuera de límite");
}
}