feat(dap): Enable tool approval toggle setting frontend components

What does this MR do and why?

Resolves: https://gitlab.com/gitlab-org/gitlab/-/work_items/587622+

This merge request adds a new setting called "tool approval for session" to GitLab's AI/Duo features. The setting allows administrators to control whether users can approve tool calls during AI agent sessions, and it can be configured at both the instance level (affecting the entire GitLab installation) and group level (affecting specific groups and their subgroups).

The changes include:

  • User interface components to display and manage the setting in both admin and group settings pages
  • API updates to support the new setting in GraphQL and REST endpoints
  • Documentation updates to reflect the new functionality

The setting defaults to Default Off (false) and follows GitLab's cascading settings pattern, meaning administrators can set it at higher levels and optionally prevent lower levels from changing it. This gives organizations fine-grained control over how their users interact with AI tool approval features across different parts of their GitLab instance.

References

Screenshots or screen recordings

Location After
Dropdown closed image
Dropdown selector image
Top level group blocks feature image / image
Project level toggle image
Top level group blocks project level toggle image

How to set up and validate locally

  1. Because the backend MR is still in review, there is a full stack implementation branch db/approve-tool-setting-fullstack that can be used to review this MR. That branch contains the same changes on the frontend specific branch.
  2. To see the toggle feature in action, connect your local gdk to VS Code and test tool approval for session. Engaging the setting will show the Approve for Session dropdown button. If the feature is disabled, the dropdown will not be visible at all.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Dylan Bernardi

Merge request reports

Loading