class AppConst:
    BASE64 = "base64"
    BLUEPRINT = "blueprint"
    BLUEPRINT_SPEC_INPUT = "blueprint.spec.input"
    BLUEPRINT_NATS_KV_METADATA = "blueprintNatsKvMetadata"
    COMMAND = "command"
    COMMAND_TYPE = "commandType"
    CONTEXT = "context"
    CURRENT_ID = "currentId"
    DATA = "data"
    DEFAULT = "default"
    DICT = "dict"
    DISPATCHER = "dispatcher"
    EVENT = "event"
    EVENT_TYPE = "eventType"
    ERROR = "error"
    HTTP_HANDLER = "http_handler"
    IDENTIFIER = "identifier"
    IMAGE_URL = "imageUrl"
    INPUT = "input"
    METADATA = "metadata"
    METADATA_NOT_FOUND = "metadataNotFound"
    NAME = "name"
    NATS_REFERENCE = "natsReference"
    NO_DATA_PROVIDED = "noDataProvided"
    ORIGIN_ID = "originId"
    OUTPUT = "output"
    PAYLOAD_BASE64 = "payloadBase64"
    PAYLOAD_REFERENCE = "payloadReference"
    PLAYBOOK = "playbook"
    PLAYBOOK_BASE64 = "playbookBase64"
    PLAYBOOK_INPUT = "playbookInput"
    PLAYBOOK_NAME = "playbookName"
    PLAYBOOK_METADATA = "playbookMetadata"
    PLAYBOOKS = "playbooks"
    PLAYBOOK_REFERENCE = "playbookReference"
    PLUGIN = "plugin"
    PLUGIN_NAME = "pluginName"
    PLUGINS = "plugins"
    PREVIOUS_ID = "previousId"
    REGISTRAR = "registrar"
    REFERENCE = "reference"
    REVISION_NUMBER = "revisionNumber"
    SEQ = "seq"
    STREAM = "stream"
    SUBJECT = "subject"
    TIMESTAMP = "timestamp"
    TOKENS = "tokens"
    UTF_8 = "utf-8"
    VALUE = "value"
    VALUE_NOT_FOUND = "valueNotFound"
    VALUE_TYPE = "valueType"

    # Metadata

    METADATA_REFERENCE = "metadata.reference"
    METADATA_REVISION_NUMBER = "metadata.revisionNumber"
    METADATA_TOKENS = "metadata.tokens"
    METADATA_PLAYBOOK_NAME = "metadata.playbookName"
    METADATA_EVENT_TYPE = "metadata.eventType"
    METADATA_COMMAND_TYPE = "metadata.commandType"
    METADATA_NAME = "metadata.name"
    METADATA_REFERENCE_CONTEXT = "metadata.reference.context"
    METADATA_REFERENCE_CURRENT_ID = "metadata.reference.currentId"
    METADATA_REFERENCE_ORIGIN_ID = "metadata.reference.originId"
    METADATA_REFERENCE_PREVIOUS_ID = "metadata.reference.previousId"
    METADATA_REFERENCE_SEQ = "metadata.reference.seq"
    METADATA_REFERENCE_STREAM = "metadata.reference.stream"
    METADATA_REFERENCE_SUBJECT = "metadata.reference.subject"
    METADATA_REFERENCE_TIMESTAMP = "metadata.reference.timestamp"

    # Spec
    SPEC_ID = "spec.id"
    SPEC_REFERENCE = "spec.reference"
    SPEC_REFERENCE_SEQ = "spec.reference.seq"
    SPEC_REFERENCE_STREAM = "spec.reference.stream"
    SPEC_INPUT = "spec.input"

    # event types

    EVENT_PLAYBOOK_EXECUTION_REQUEST_FAILED = "PlaybookExecutionRequestFailed"
    EVENT_PLAYBOOK_REGISTRATION_REQUESTED = "PlaybookRegistrationRequested"
    EVENT_PLAYBOOK_EXECUTION_REQUESTED = "PlaybookExecutionRequested"
    EVENT_PLUGIN_REGISTRATION_REQUESTED = "PluginRegistrationRequested"
    EVENT_PLAYBOOK_REGISTERED = "PlaybookRegistered"
    EVENT_PLUGIN_REGISTERED = "PluginRegistered"
    EVENT_PLAYBOOK_EXECUTION_REGISTERED = "PlaybookExecutionRegistered"

    # command types

    COMMAND_REGISTER_PLAYBOOK = "RegisterPlaybook"
    COMMAND_REGISTER_PLUGIN = "RegisterPlugin"
    COMMAND_REGISTER_PLAYBOOK_EXECUTION = "RegisterPlaybookExecution"
