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
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