# Functions
DescribeAction is the action to perform when the describe command is invoked.
DraftAction is the action to perform when the draft command is invoked.
ReviewAction is the main action for the application.
Run is the entry point for the application.
# Constants
ErrEmptyDescribeInput is the error message when the describe command is invoked without any input.
ErrEmptyDraftInput is the error message when the draft command is invoked without any input.
ErrEmptyInput is returned when no file is provided by the user.
ErrInvalidAPIKey is returned when the user does not provide an API key for the given provider or provides an invalid one.
ErrInvalidFiletype is the error message when the draft command is invoked with a file that is not a text file.
ErrInvalidImageType is the error message when the describe command is invoked with an invalid image file type.
ErrInvalidProvider is the error message when the describe command is invoked with an invalid AI provider.
ErrTooManyImages is the error message when the describe command is invoked with more than one input.
ErrTooManyNotes is the error message when the draft command is invoked with more than one input.
ErrTooMuchInput is returned when the user provides more than one file.