import type { Capability } from "@awp/contracts";

export function narrowCapabilities(
  ceiling: readonly Capability[],
  requested: readonly Capability[],
): readonly Capability[] {
  const allowed = new Set(ceiling);
  return requested.filter((item) => allowed.has(item));
}

export function can(capabilities: readonly Capability[], required: Capability): boolean {
  return capabilities.includes(required);
}
