public async Task Handle(JupyterRequestContext context)
        {
            var completeRequest  = GetJupyterRequest(context);
            var targetKernelName = context.GetLanguage();

            var position = SourceUtilities.GetPositionFromCursorOffset(completeRequest.Code, completeRequest.CursorPosition);
            var command  = new RequestCompletions(completeRequest.Code, position, targetKernelName);

            await SendAsync(context, command);
        }
        public async Task Handle(JupyterRequestContext context)
        {
            var    executeRequest   = GetJupyterRequest(context);
            string targetKernelName = context.GetLanguage();

            _executionCount = executeRequest.Silent ? _executionCount : Interlocked.Increment(ref _executionCount);

            FrontendEnvironment.AllowStandardInput = executeRequest.AllowStdin;

            var executeInputPayload = new ExecuteInput(executeRequest.Code, _executionCount);

            context.JupyterMessageSender.Send(executeInputPayload);

            var command = new SubmitCode(executeRequest.Code, targetKernelName);

            await SendAsync(context, command);
        }