Switch to using v1 of Flow Registry

What does this MR do and why?

Important

Set to draft until editor extensions are updated: !213472 (comment 2923914649)

Switch to using v1 of Flow Registry

We want to be pegged to the stable v1 of Flow Registry as experiment changes.

References

Screenshots or screen recordings

qa-demo

How to set up and validate locally

Note, to QA you may need to cherry-pick the commit from !214309 (merged) to be able to use custom agents.

Enable the following feature flag.

Feature.enable(:global_ai_catalog)

If you don't have a project and group that are set up to work with Duo, you can apply this patch locally to use any project or group for these QA steps.

diff --git a/ee/app/models/ee/project.rb b/ee/app/models/ee/project.rb
index 6646ac352bea..8e14694226ae 100644
--- a/ee/app/models/ee/project.rb
+++ b/ee/app/models/ee/project.rb
@@ -630,6 +630,7 @@ def suggested_reviewers_available?
       end

       def ai_catalog_available?
+        return true
         duo_features_enabled && ::Gitlab::Llm::StageCheck.available?(self, :ai_catalog)
       end
       strong_memoize_attr :ai_catalog_available?
diff --git a/ee/app/policies/ee/group_policy.rb b/ee/app/policies/ee/group_policy.rb
index d246f3ddecf5..5ae37ea97eae 100644
--- a/ee/app/policies/ee/group_policy.rb
+++ b/ee/app/policies/ee/group_policy.rb
@@ -353,6 +353,7 @@ module GroupPolicy
       end

       condition(:ai_catalog_available, scope: :subject) do
+        next true
         @subject.duo_features_enabled && ::Gitlab::Llm::StageCheck.available?(@subject, :ai_catalog)
       end

Visit http://gdk.test:3000/explore/ai-catalog/agents/ and create a new agent if you don't have one already.

Enable the agent for your project.

You should be able to select the agent in Duo Agentic Chat.

Chat with the agent.

You can apply the following patch to verify that version: v1 config YAML is passed in via the websocket when you are chatting to the agent (open your developer console):

diff --git a/ee/app/assets/javascripts/ai/duo_agentic_chat/components/duo_agentic_chat.vue b/ee/app/assets/javascripts/ai/duo_agentic_chat/components/duo_agentic_chat.vue
index fefc952298a3..d2c366a27335 100644
--- a/ee/app/assets/javascripts/ai/duo_agentic_chat/components/duo_agentic_chat.vue
+++ b/ee/app/assets/javascripts/ai/duo_agentic_chat/components/duo_agentic_chat.vue
@@ -553,6 +553,8 @@ export default {
     startWorkflow(goal, approval = {}, additionalContext) {
       this.cleanupSocket();

+      console.log('this.agentConfig', this.agentConfig);
+
       const startRequest = buildStartRequest({
         workflowId: this.workflowId,
         workflowDefinition: this.selectedFoundationalAgent?.referenceWithVersion,

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.


related #582111

Edited by Keeyan Nejad

Merge request reports

Loading