"""Import external workflow descriptions into MASFactory graphs (Dify / ChatDev / Langflow)."""

from masfactory.compatibility.chatdev import (
    ChatDevCompileOptions,
    ChatDevRootGraph,
    blueprint_to_chatdev_graph,
    chatdev_chain_to_blueprint,
    chatdev_document_to_blueprint,
    chatdev_document_to_graph_design,
    chatdev_majority_voting_to_blueprint,
    is_chatdev_majority_voting_document,
    is_chatdev_workflow_document,
    load_graph_from_chatdev_yaml,
)
from masfactory.compatibility.common.builder import blueprint_to_graph
from masfactory.compatibility.common.graph_design_export import (
    blueprint_to_graph_design,
    blueprint_to_graph_design_document,
    export_graph_design_for_blueprint,
    write_graph_design_json,
)
from masfactory.compatibility.common.workflow_parse import workflow_export_to_blueprint
from masfactory.compatibility.dify import (
    DifyCompileOptions,
    DifyRootGraph,
    blueprint_to_dify_graph,
    dify_document_to_blueprint,
    dify_document_to_graph_design,
    is_dify_app_document,
    load_graph_from_dify_dict,
    load_graph_from_dify_yaml,
    openai_compatible_model_from_dify,
)
from masfactory.compatibility.errors import CompatibilityImportError
from masfactory.compatibility.paths import (
    COMPATIBILITY_OUT_DIR,
    compatibility_out_dir,
    default_graph_design_path,
    maybe_export_graph_design,
    resolve_graph_design_export_path,
)
from masfactory.compatibility.langflow import (
    LangflowCompileOptions,
    LangflowRootGraph,
    blueprint_to_langflow_graph,
    is_langflow_document,
    langflow_document_to_blueprint,
    langflow_document_to_graph,
    langflow_document_to_graph_design,
    load_graph_from_langflow_json,
)

__all__ = [
    "CompatibilityImportError",
    "DifyCompileOptions",
    "DifyRootGraph",
    "ChatDevCompileOptions",
    "ChatDevRootGraph",
    "LangflowCompileOptions",
    "LangflowRootGraph",
    "blueprint_to_graph",
    "blueprint_to_graph_design",
    "blueprint_to_graph_design_document",
    "export_graph_design_for_blueprint",
    "write_graph_design_json",
    "COMPATIBILITY_OUT_DIR",
    "compatibility_out_dir",
    "default_graph_design_path",
    "maybe_export_graph_design",
    "resolve_graph_design_export_path",
    "blueprint_to_dify_graph",
    "blueprint_to_chatdev_graph",
    "blueprint_to_langflow_graph",
    "chatdev_chain_to_blueprint",
    "chatdev_document_to_blueprint",
    "chatdev_document_to_graph_design",
    "chatdev_majority_voting_to_blueprint",
    "is_chatdev_majority_voting_document",
    "is_chatdev_workflow_document",
    "load_graph_from_chatdev_yaml",
    "dify_document_to_blueprint",
    "dify_document_to_graph_design",
    "is_dify_app_document",
    "load_graph_from_dify_dict",
    "load_graph_from_dify_yaml",
    "langflow_document_to_blueprint",
    "langflow_document_to_graph",
    "langflow_document_to_graph_design",
    "is_langflow_document",
    "load_graph_from_langflow_json",
    "openai_compatible_model_from_dify",
    "workflow_export_to_blueprint",
]
