Implement Duo Chat slash command UI on GitLab
## Context Slash commands enable the user to communicate their intent to Duo Chat in an efficient way. They are also a way for the user to understand the functionalities that Duo Chat has. A slash command UI exists in gitlab-ui and the IDEs but not GitLab. | IDE | [gitlab-ui](https://gitlab-org.gitlab.io/gitlab-ui/?path=/docs/experimental-duo-chat-duo-chat--docs#interactive) | GitLab | | ------ | ------ | ------ | |![CleanShot_2024-07-04_at_13.45.43](/uploads/23d6fc00b222488234d02584504e8c4f/CleanShot_2024-07-04_at_13.45.43.gif)|![CleanShot_2024-07-04_at_13.46.40](/uploads/dc764f22ed3e83193faf0142ec43c0f4/CleanShot_2024-07-04_at_13.46.40.gif)|![CleanShot_2024-07-04_at_13.47.22](/uploads/b8b58f44604919d44a0d6c94fda9bfc7/CleanShot_2024-07-04_at_13.47.22.gif)| ## Proposal of iterations Here's a rough suggestion of iterations: | Iteration | Behavior | Related issues | | ------ | ------ | ------ | | 1 | Menu only shows commands that are shown on every page, e.g. `/reset` command, when the user selects `/reset` it is immediately sent (as opposed filled in the text input) | https://gitlab.com/gitlab-org/gitlab/-/issues/470703 | | 1a | (depending on timing) Add new commands that are shown on every page, e.g. `/help` | https://gitlab.com/gitlab-org/gitlab/-/issues/462122 | | 1b | (depending on timing) Refactor commands on every page to match new standards | https://gitlab.com/gitlab-org/gitlab/-/issues/470818 | | 2 | Figure out the technical implementation plan to support that different pages offer different slash commands | https://gitlab.com/gitlab-org/gitlab/-/issues/470704 | | 3 and future | Add additional commands to the menu UI | https://gitlab.com/groups/gitlab-org/-/epics/14493, https://gitlab.com/groups/gitlab-org/-/epics/14404 |
epic