Keep the DAP session open when a Workhorse MCP tool call fails

What does this MR do and why?

When a Workhorse MCP tool call fails, Workhorse ends the DAP session. DWS then cannot update the session status, so the chat stays stuck in running.

Workhorse now sends the failure back to DWS as a tool error, like it already does for unsupported actions. For MCP callers, Orbit query failures inside Workhorse now return an isError result. REST callers keep their HTTP status codes.

Unit tests cover both error paths and fail without the fix.

References

Closes #630749 (closed)

Screenshots or screen recordings

Not a UI change.

How to set up and validate locally

  1. Copy the GDK workhorse/config.toml into workhorse/ (the handler tests need Redis).
  2. Run the tests:
    cd workhorse
    go test ./internal/orbit/ ./internal/ai_assist/duoworkflow/ -count=1

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 Jean-Gabriel Doyon

Merge request reports

Loading
Loading