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
- Do not enable the `vertex` agent type — keep using a supported client (e.g. the default/Anthropic/OpenAI client).
- If you need Vertex AI, implement startAgent against the Vertex Agent Builder API and uncomment @Component.
- 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
- Keep `vertex` out of the enabled agent types until the integration ships.
- Do not uncomment the @Component on the stub.
- Route based on a registry of implemented clients, not on agentType strings.
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
- SWARM handoff type must be on_tool_result, on_text_mention,
- SWARM handoff target must name a swarm agent: ${handoff.getT
- on_tool_result requires toolName and resultContains
- on_text_mention requires text
- on_condition requires a nonblank taskName
AI-assisted analysis of conductor-oss/conductor@cf7c3e4a8a (2026-08-14).
Data as JSON: /api/errors/ae3fa7715de20cd0.
Report an issue: GitHub.