"""The AaC Version plugin implementation module."""
# NOTE: It is safe to edit this file.
# This file is only initially generated by aac gen-plugin, and it won't be overwritten if the file already exists.

# There may be some unused imports depending on the definition of the plugin...but that's ok
from aac.execute.aac_execution_result import (
    ExecutionResult,
    ExecutionStatus,
    ExecutionMessage,
    MessageLevel,
)
from aac import __version__

plugin_name = "Version"


def version() -> ExecutionResult:
    """Business logic for the version command."""

    status = ExecutionStatus.SUCCESS
    messages: list[ExecutionMessage] = []
    version_msg = ExecutionMessage(
        f"{__version__}",
        MessageLevel.INFO,
        None,
        None,
    )
    messages.append(version_msg)

    return ExecutionResult(plugin_name, "version", status, messages)
