package DX::ShellFrontend;
+use Types::Standard qw(Enum);
use IO::Handle;
use Caroline;
use DX::Class;
has session => (
- is => 'ro', required => 1,
+ is => 'ro', isa => ShellSession, required => 1,
handles => [ qw(is_complete_command_string eval_command_string) ]
);
-has session_mode => (is => 'rwp', required => 1);
+has session_mode => (is => 'rwp', isa => Enum['shell','query'], required => 1);
has readline => (is => 'lazy', builder => sub { Caroline->new });