alibaba/nacos · error · IllegalArgumentException
Agent draft must contain either callInterfaces or basedOnVer
Error message
Agent draft must contain either callInterfaces or basedOnVersion
What it means
Error "Agent draft must contain either callInterfaces or basedOnVersion" thrown in alibaba/nacos.
Source
Thrown at ai/src/main/java/com/alibaba/nacos/ai/service/agent/AgentPersistenceService.java:796
&& !namespaceId.equals(draft.getNamespaceId())) {
throw new IllegalArgumentException("Agent draft namespaceId does not match request");
}
if (draft.getAgentName() != null && !agentName.equals(draft.getAgentName())) {
throw new IllegalArgumentException("Agent draft agentName does not match request");
}
if (draft.getStatus() != null
&& !AiConstants.Agent.VERSION_STATUS_DRAFT.equals(draft.getStatus())) {
throw new IllegalArgumentException("Agent draft status must be draft");
}
if (draft.getContentDigest() != null || draft.getCreateTime() != null
|| draft.getUpdateTime() != null) {
throw new IllegalArgumentException(
"Agent draft must not contain read-only projection fields");
}
boolean directContent = draft.getCallInterfaces() != null;
boolean copiedContent = StringUtils.isNotBlank(basedOnVersion);
if (directContent == copiedContent) {
throw new IllegalArgumentException(
"Agent draft must contain either callInterfaces or basedOnVersion");
}
if (copiedContent) {
AgentValidationUtils.validateVersion(basedOnVersion);
if (draft.getVersion().equals(basedOnVersion)) {
throw new IllegalArgumentException(
"Agent draft Version must differ from basedOnVersion");
}
}
}
private AgentVersionDetail normalizeSubsequentDraft(String namespaceId, String agentName,
AgentVersionDetail source, List<AgentCallInterface> callInterfaces,
AgentVersionStorageDescriptor descriptor) {
AgentVersionDetail result = new AgentVersionDetail();
result.setNamespaceId(namespaceId);
result.setAgentName(agentName);
result.setVersion(source.getVersion());View on GitHub (pinned to 9b989acdf1)
Solutions
- Review the input and runtime state for agent draft content, correct the reported problem, and retry.
When it happens
Trigger: Thrown at ai/src/main/java/com/alibaba/nacos/ai/service/agent/AgentPersistenceService.java:796 when the library encounters an invalid state.
Common situations: Creating a draft with neither callInterfaces nor basedOnVersion set.
AI-assisted analysis of alibaba/nacos@9b989acdf1 (2026-08-14).
Data as JSON: /api/errors/15a0408da83ac4c6.
Report an issue: GitHub.