Empty graphql endpoint for workflow branches

What does this MR do and why?

Creates an empty graphql endpoint for workflow branches.

This will be updated in a future MR to return the alternatives, but it was split into 2 to make the review process easier, and more likely to be merged this milestone. The MR that handles both became fairly complicated and was dependant on another MR as well.

References

Full PoC: gitlab-org/modelops/applied-ml/code-suggestions/ai-assist!6124 (closed)

Epic: gitlab-org#21289

Python implementation for retries: gitlab-org/modelops/applied-ml/code-suggestions/ai-assist!6356 (merged)

Video demo: gitlab-org#21289 (comment 3666671057)

MR with full changes: !249143 (closed)

Next MR: !249901 (merged) (Also includes changes from !249131 (merged) that is in reviewer)

How to set up and validate locally

{
  duoWorkflowBranches(
    workflowId: "gid://gitlab/Ai::DuoWorkflows::Workflow/52",
    threadTs: "1f196488-56dc-6fb7-8002-12836bae9b61"
  )
  {
    forkThreadTs
    messages {
      content
      messageType
      threadTs
      parentTs
      additionalContext { id category content metadata }
    }
  }
}

In http://gdk.test:8080/-/graphql-explorer the above query should return an empty array regardless of workflow ID/thread_ts

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.

Edited by Kaveh Nejad

Merge request reports

Loading
Loading