conductor-oss/conductor · error · UnsupportedOperationException

VertexAiAgentClient is not yet implemented

Error message

VertexAiAgentClient is not yet implemented

What it means

VertexAiAgentClient is a stub ConductorAgentClient whose startAgent method throws UnsupportedOperationException. The class is deliberately not a Spring @Component (the annotation is commented out) and exists as a placeholder so the agentType `vertex` is reserved; invoking startAgent means the caller bypassed the registry's enabled-client check.

Source

Thrown at agentspan/src/main/java/org/conductoross/conductor/ai/agentspan/runtime/service/VertexAiAgentClient.java:46

 *
 * <p>To implement: add {@code @Component} to activate auto-registration, inject {@link
 * org.conductoross.conductor.ai.agentspan.runtime.credentials.CredentialResolutionService} for
 * credentials, and replace each method body with the real Vertex AI Agent Builder REST calls.
 *
 * <p>rawConfig keys to support: {@code projectId}, {@code location}, {@code agentId}, {@code
 * sessionId}.
 */
// @Component  -- uncomment when implemented
public class VertexAiAgentClient implements ConductorAgentClient {

    @Override
    public String agentType() {
        return "vertex";
    }

    @Override
    public ConductorAgentStartResponse startAgent(ConductorAgentStartRequest request) {
        throw new UnsupportedOperationException("VertexAiAgentClient is not yet implemented");
    }

    @Override
    public ConductorAgentStatusResponse getAgentStatus(String executionId) {
        throw new UnsupportedOperationException("VertexAiAgentClient is not yet implemented");
    }

    @Override
    public void respond(ConductorAgentRespondRequest request) {
        throw new UnsupportedOperationException("VertexAiAgentClient is not yet implemented");
    }

    @Override
    public void cancelAgent(ConductorAgentCancelRequest request) {
        throw new UnsupportedOperationException("VertexAiAgentClient is not yet implemented");
    }
}

View on GitHub (pinned to cf7c3e4a8a)

Solutions

  1. Do not enable the `vertex` agent type — keep using a supported client (e.g. the default/Anthropic/OpenAI client).
  2. If you need Vertex AI, implement startAgent against the Vertex Agent Builder API and uncomment @Component.
  3. Check your agent-type routing config and remove `vertex` from the enabled list.

Example fix

// before: routing config enables vertex
conductor.integrations.ai.agents.enabled-types: anthropic, vertex
// after: only ship supported types
conductor.integrations.ai.agents.enabled-types: anthropic
Defensive patterns

Strategy: fallback

Validate before calling

// Do not route start requests to a stub client.
boolean isImplemented(ConductorAgentClient c) {
    try { c.agentType(); }
    catch (UnsupportedOperationException e) { return false; }
    return true;
}
// Prefer: check the enabled/supported agent types list before calling startAgent.

Type guard

boolean supportsVertex(List<String> enabledTypes) {
    return enabledTypes.contains("vertex") && vertexImplementationPresent();
}

Try / catch

try {
    return client.startAgent(request);
} catch (UnsupportedOperationException e) {
    // fall back to a supported agent type, or return 501 Not Implemented
    return notImplemented("vertex agent not implemented");
}

Prevention

When it happens

Trigger: Calling agentType("vertex").startAgent(request) on the stub directly, or a misconfigured registry that resolves `vertex` to this stub and submits a ConductorAgentStartRequest.

Common situations: User enabled the `vertex` agent type in config before the integration shipped; a test wired the stub directly; the @Component line was uncommented accidentally.

Related errors


AI-assisted analysis of conductor-oss/conductor@cf7c3e4a8a (2026-08-14). Data as JSON: /api/errors/ae3fa7715de20cd0. Report an issue: GitHub.