alibaba/nacos · error · IllegalArgumentException

Agent draft Version must differ from basedOnVersion

Error message

Agent draft Version must differ from basedOnVersion

What it means

Error "Agent draft Version must differ from basedOnVersion" thrown in alibaba/nacos.

Source

Thrown at ai/src/main/java/com/alibaba/nacos/ai/service/agent/AgentPersistenceService.java:802

        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());
        result.setStatus(AiConstants.Agent.VERSION_STATUS_DRAFT);
        result.setCallInterfaces(callInterfaces);
        result.setAuthor(source.getAuthor());
        result.setChangeDescription(source.getChangeDescription());
        result.setContentDigest(descriptor.getContentDigest());
        result.setCreateTime(0L);

View on GitHub (pinned to 9b989acdf1)

Solutions

  1. Review the input and runtime state for agent draft version, correct the reported problem, and retry.

When it happens

Trigger: Thrown at ai/src/main/java/com/alibaba/nacos/ai/service/agent/AgentPersistenceService.java:802 when the library encounters an invalid state.

Common situations: Creating a draft whose version equals its basedOnVersion.


AI-assisted analysis of alibaba/nacos@9b989acdf1 (2026-08-14). Data as JSON: /api/errors/145059dae3d1dfd7. Report an issue: GitHub.