Loading
Draft: Resolve catalog_ref subagents and scope MCP tools in Flows
What does this MR do?
This branch covers two related areas of AI Catalog / Duo Workflow work:
AI Catalog catalog_ref subagents
- Resolve
catalog_refsubagents and scope their MCP tools in Flows - Add
resolved_definitionfield to AI Catalog flow versions - Fix chat environment and MCP scoping for
catalog_refsubagents - Normalize
subsessionIdtosubsession_idin Duo workflow messages - Scope custom MCP servers on
catalog_refsubagents - Add identifier slug field to AI Catalog agents
Fire-and-forget HTTP endpoint for Duo Workflow (POC)
- Add a fire-and-forget HTTP endpoint in workhorse that starts a Duo Workflow over gRPC and streams every action DWS sends back as newline-delimited JSON over a single chunked HTTP response, without expecting the caller to talk back (unlike the existing WebSocket flow).
- Add the corresponding Rails pre-authorization endpoint
(
ee/lib/api/ai/duo_workflows/workflows.rb,:directaction).
This also temporarily installs duo-cli from gitlab-lsp!3701 for testing
purposes.
POC scope/limitations
The fire-and-forget HTTP endpoint is a proof of concept:
- No distributed locking, reconnect/resume, or graceful shutdown tracking.
- No request body size limit on the incoming start-workflow request.
- No tests yet for the new Rails
:directaction or the workhorse HTTP handler.