Remove Custom Agent tool when tool has been removed from Duo Workflow Service
### About There have been soome tools removed from Duo Workflow Service that we still list as being tools available for Custom Agents. ### Problem These tools currently do nothing, and will be experienced by customers as a bug. ### Proposal When a tool has been removed for Duo Workflow Service: - We should no longer send the removed tool to Duo Workflow Service for custom agent chat. - ~UX When viewing custom agent, show only active tools in main tools list. If agent is configured with some tools that are not active, display some UI element that indicates this (either by naming the tools, or just saying some configured tools are no longer support or something). - ~UX When editing a custom agent that is configured with tools that are no longer active, handle this experience nicely - the backend can indicate which tools are no longer active. ### Technical proposal Update `BuiltInToolDefinitions` tool generating script to create definitions with new `active` property. `false` when the tool is no longer in the gRPC. For example: ```ruby { id: 1, name "a_tool_that_still_exists", active: true }, { id: 2, name "removed_tool", active: false }, ``` - Update [`AgentDefinition`](https://gitlab.com/gitlab-org/gitlab/-/blob/b153a63036e20ab88463be5448325efaf3eaf6e5/ee/app/models/ai/catalog/agent_definition.rb#L6-8) - used when building agent YAML for Workflow Service, to `where(id: [..], active: true)` - Update [GraphQL `tools` field](https://gitlab.com/gitlab-org/gitlab/-/blob/a795ef1563c273a5e81914667095454bded3cd94/ee/app/graphql/types/ai/catalog/agent_version_type.rb#L24) with `active` boolean so ~frontend can filter/handle non-active tools nicely
issue