iflytek/astron-agent · error · BusinessException
WORKFLOW_IMPORT_FAILED
WORKFLOW_IMPORT_FAILED
Error message
ResponseEnum.WORKFLOW_IMPORT_FAILED
What it means
Wrap-around error raised when remote validation of workflow repository dependencies fails: querying the remote repository service (RepoDto / coreRepoId lookups) throws a RuntimeException. The service logs 'failed to validate remote workflow repository dependencies' and aborts the import with WORKFLOW_IMPORT_FAILED since it cannot confirm executable repositories.
Solutions
- Check logs for 'failed to validate remote workflow repository dependencies' for the root cause
- Verify the remote repository service is up and reachable (connectivity/DNS)
- Retry the import once the remote service recovers
- Correct the repo service endpoint configuration if it points to a wrong environment
Defensive patterns
Strategy: retry
Try / catch
try { workflowService.importWorkflow(req); } catch (BusinessException e) { if ("WORKFLOW_IMPORT_FAILED".equals(e.getCode().name())) { /* check remote repo service health, retry with backoff */ } throw e; } Prevention
- Health-check the remote repository service before bulk imports
- Set sane timeouts and retries on service-to-service calls
- Keep repo service endpoints per-environment correctly configured
When it happens
Trigger: Importing a workflow whose nodes bind remote repositories while the remote repo service call fails — network error, service down, or a 5xx/garbage response mapped to a RuntimeException.
Common situations: Core repo service outage during import; timeout between console backend and remote repo service; environment misconfiguration pointing at the wrong repo service address.
Related errors
- e.status
- errorMessage (dynamic; error.message or fallback 'Failed to…
- PERSONALITY_AI_GENERATE_ERROR
- sandbox-exec failed: HTTP
- Skill resource download failed: HTTP
AI-assisted analysis of iflytek/astron-agent@5e758547a8 (2026-09-12).
Data as JSON: /api/errors/089bd0ea7cc11a0c.
Report an issue: GitHub.
Appendix: source
Thrown at console/backend/toolkit/src/main/java/com/iflytek/astron/console/toolkit/service/workflow/WorkflowService.java:2705
if (scope.spaceId() == null && !executableIds.containsAll(repositoryIds)
&& repoService != null) {
HttpServletRequest currentRequest = RequestContextUtil.getCurrentRequest();
if (currentRequest == null) {
log.warn("Skip remote personal repository validation without caller credentials, uid={}",
scope.uid());
return executableIds;
}
try {
JSONArray remoteRepositories = repoService.getStarFireData(currentRequest);
List<RepoDto> remote = RepoService.convertAndMergeJsonArrays(
new ArrayList<>(), remoteRepositories, "", null);
remote.stream()
.map(RepoDto::getCoreRepoId)
.filter(repositoryIds::contains)
.forEach(executableIds::add);
} catch (RuntimeException e) {
log.error("failed to validate remote workflow repository dependencies", e);
throw new BusinessException(ResponseEnum.WORKFLOW_IMPORT_FAILED);
}
}
return executableIds;
}
/** Databases have no public/admin fallback: they follow the database selector ownership scope. */
private boolean databaseVisibleInCurrentScope(DbInfo database, ExecutionScope scope) {
if (scope.spaceId() == null) {
return Objects.equals(database.getUid(), scope.uid())
&& database.getSpaceId() == null;
}
return scope.spaceMember() && Objects.equals(database.getSpaceId(), scope.spaceId());
}
/** Nested workflows reuse the existing workflow visibility semantics. */
private boolean workflowVisibleInCurrentScope(Workflow workflow, ExecutionScope scope) {
if (Boolean.TRUE.equals(workflow.getIsPublic())) {
return true;View on GitHub (pinned to 5e758547a8)