infiniflow/ragflow · error · ContractError
CodeExec business output name must not contain '.': {name}
Error message
CodeExec business output name must not contain '.': {name} What it means
Error "CodeExec business output name must not contain '.': {name}" thrown in infiniflow/ragflow.
Source
Thrown at agent/tools/code_exec.py:61
"_ATTACHMENT_CONTENT",
"raw_result",
"_created_time",
"_elapsed_time",
}
)
class ContractError(ValueError):
pass
def _validate_business_output_name(name: str) -> None:
if not name or not name.strip():
raise ContractError("CodeExec business output name must not be empty")
if name in SYSTEM_OUTPUT_KEYS:
raise ContractError(f"CodeExec reserved output name is not allowed: {name}")
if "." in name:
raise ContractError(f"CodeExec business output name must not contain '.': {name}")
def select_business_output(outputs: Mapping[str, object]) -> tuple[str, object]:
if len(outputs) == 1:
only_name, only_meta = next(iter(outputs.items()))
_validate_business_output_name(only_name)
return only_name, only_meta
business_outputs = [(name, meta) for name, meta in outputs.items() if name not in SYSTEM_OUTPUT_KEYS]
if len(business_outputs) != 1:
raise ContractError(f"CodeExec contract must contain exactly one business output, got {len(business_outputs)}")
_validate_business_output_name(business_outputs[0][0])
return business_outputs[0]
def normalize_output_value(value):
if isinstance(value, (tuple, list)):
return [normalize_output_value(item) for item in value]View on GitHub (pinned to 554fb1133a)
Solutions
- Remove '.' from the business output name; use a flat identifier.
Example fix
# replace 'user.name' with 'user_name'
outputs = [{'name': 'user_name', 'type': 'String'}] When it happens
Trigger: Thrown at agent/tools/code_exec.py:61 when the library encounters an invalid state.
Common situations: Output names containing dots conflict with CodeExec result path resolution; using flat identifiers without '.' prevents this error.
AI-assisted analysis of infiniflow/ragflow@554fb1133a (2026-08-15).
Data as JSON: /api/errors/4f3d5d9c509b8dcf.
Report an issue: GitHub.