alibaba/nacos · error · IllegalArgumentException

Agent draft status must be draft

Error message

Agent draft status must be draft

What it means

Error "Agent draft status must be draft" thrown in alibaba/nacos.

Source

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

    
    private void validateSubsequentDraftInputs(String namespaceId, String agentName,
        AgentVersionDetail draft, String basedOnVersion) {
        AgentValidationUtils.validateNamespaceId(namespaceId);
        AgentValidationUtils.validateAgentName(agentName);
        if (draft == null) {
            throw new IllegalArgumentException("Agent draft must not be null");
        }
        AgentValidationUtils.validateVersion(draft.getVersion());
        if (draft.getNamespaceId() != null
            && !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");
            }

View on GitHub (pinned to 9b989acdf1)

Solutions

  1. Correct the invalid value for agent draft status to match the expected format or allowed set, then retry.

When it happens

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

Common situations: Persisting a version as a draft while its status is not draft.


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