Role-based permissions DAP - Foreground execute permission check integration for Agentic chat (Web/IDE) including foundational and custom agents
## Summary This issue integrates DAP (Duo Agent Platform) role-based `Execute` foreground permission checks into agents used in Agentic Chat. It ensures that users can only interact with agents in chat if they have the appropriate role-based permissions configured at the instance or namespace level. ## Background As part of the DAP role-based permissions epic (#19743), we need to enforce the `Execute` permission across all DAP execution points. Agents in Agentic Chat are one of the three main areas where users can execute DAP functionality: - Built-in flows - **Agentic Chat** (this issue) in Web UI and IDE - Custom agents and flows The permission attribute we will use for that will be `minimum_access_level_execute`, as Agentic Chat and the enabled foundational and custom agents are running in the foreground. ## Requirements ### Permission Check Integration - [ ] Identify all entry points where agents are invoked in Agentic Chat in Web UI and IDE - [ ] Ensure permission checks occur before agent execution - [ ] Handle permission denial gracefully with appropriate error messages - [ ] Consider service account permission intersections ### User Experience - [ ] Disable or hide agent options in chat Web UI and IDE when user lacks permission - [ ] Show clear messages when permission is denied - [ ] Provide guidance on how to request access - [ ] Ensure chat interface remains responsive ## Technical Implementation ### Locations to Update Based on the codebase analysis from issue #578370, identify and update all locations where agents are invoked in Agentic Chat. This may include: - Chat message processing - Agent invocation endpoints - GraphQL mutations for chat interactions - WebSocket handlers for real-time chat ## Acceptance Criteria - [ ] Agentic Chat has permission checks - [ ] Service account permission intersections are properly enforced - [ ] Permission checks are performant - [ ] UI reflects permission state (disabled/hidden options) - [ ] Integration tests verify permission enforcement in chat context - [ ] Tests cover both allowed and denied scenarios ## Testing Scenarios - [ ] User with guest+ role can use agents in Agentic Chat - [ ] Custom permission configuration is respected - [ ] Service account permissions properly limit agent capabilities - [ ] Instance-level and namespace-level permissions work correctly - [ ] Chat UI appropriately reflects permission state ## Related Issues - Parent Epic: #19743 - \[Backend\] Role-based permissions controls for DAP - Depends on: #578556 - Role-based permissions DAP - Execute permission - Related: #578553 - Execute permission for built-in flows - Related: #578555 - Execute permission for custom flows - Related: #578563 - Execute permission for custom agents ## Notes Agentic Chat is a user-facing feature, so the permission enforcement must provide excellent UX with clear messaging and appropriate UI states.
issue