[Frontend] Display custom roles with DAP custom permissions on GitLab Duo configuration page

Summary

This issue covers the frontend work needed to display and manage DAP custom permissions in two locations:

  1. Display custom roles with DAP permissions on the GitLab Duo configuration page
  2. Extend the custom roles interface to allow assigning DAP custom permissions to custom roles

Background

We need to provide UI for managing custom permissions that allow fine-grained control over DAP access beyond the minimum role settings.

Requirements

Part 1: Display Custom Roles on Duo Configuration Page

Location: GitLab Duo configuration page, below the minimal needed roles settings (execute and manage)

Display:

  • List custom roles that have at least one DAP custom permission defined (from #579563 (closed))
  • Show an "Edit" button next to each custom role

Part 2: Extend Custom Roles Interface

Location: Custom roles creation/editing interface

New Permissions to Add:

  • Add manage_duo_agent_platform custom permission checkbox/toggle
  • Add execute_duo_agent_platform custom permission checkbox/toggle
  • Include appropriate labels and help text for each permission
  • Follow existing custom permission UI patterns

Validation:

  • Ensure permissions can be toggled independently
  • Show appropriate validation messages if needed
  • Ensure permissions can't be assigned or will get unassigned for Minimal Access role

Technical Implementation

  • Use GitLab UI components and design system
  • Follow existing patterns from Duo settings and custom roles pages
  • Use feature flag duo_agent_platform_role_permissions for visibility control

Acceptance Criteria

  • Custom roles with DAP permissions are listed on Duo configuration page
  • Edit button navigates to custom role editing interface
  • Custom role interface includes both new DAP custom permissions
  • Permissions can be assigned/unassigned from custom roles
  • UI follows GitLab design system and accessibility standards
  • Feature flag properly controls visibility
  • Integration tests cover both display and editing functionality
  • Minimal Access role can't use the two new custom permissions

Related Issues

  • Parent Epic: #19742 (closed) - [Frontend] Role-based permissions controls DAP
  • Depends on: #579563 (closed) - Custom permissions backend implementation
  • Related: #578934 (closed) - Create DAP Permission Settings Component
  • Related: #578935 - Integrate Permission Controls into Duo Settings Pages
Edited by Lukas Wanko