@@ -859,7 +859,9 @@ export class JupyterNotebookBase implements INotebook {
859859
860860 private  generateRequest  =  ( 
861861 code : string , 
862-  silent ?: boolean 
862+  silent ?: boolean , 
863+  // tslint:disable-next-line: no-any 
864+  metadata ?: Record < string ,  any > 
863865 ) : Kernel . IShellFuture < KernelMessage . IExecuteRequestMsg ,  KernelMessage . IExecuteReplyMsg >  |  undefined  =>  { 
864866 //traceInfo(`Executing code in jupyter : ${code}`); 
865867 try  { 
@@ -873,7 +875,8 @@ export class JupyterNotebookBase implements INotebook {
873875 allow_stdin : true ,  // Allow when silent too in case runStartupCommands asks for a password 
874876 store_history : ! silent  // Silent actually means don't output anything. Store_history is what affects execution_count 
875877 } , 
876-  silent  // Dispose only silent futures. Otherwise update_display_data doesn't finda future for a previous cell. 
878+  silent ,  // Dispose only silent futures. Otherwise update_display_data doesn't find a future for a previous cell. 
879+  metadata 
877880 ) 
878881 : undefined ; 
879882 }  catch  ( exc )  { 
@@ -1098,7 +1101,10 @@ export class JupyterNotebookBase implements INotebook {
10981101 subscriber . error ( this . sessionStartTime ,  exitError ) ; 
10991102 subscriber . complete ( this . sessionStartTime ) ; 
11001103 }  else  { 
1101-  const  request  =  this . generateRequest ( concatMultilineStringInput ( subscriber . cell . data . source ) ,  silent ) ; 
1104+  const  request  =  this . generateRequest ( concatMultilineStringInput ( subscriber . cell . data . source ) ,  silent ,  { 
1105+  ...subscriber . cell . data . metadata , 
1106+  ...{  cellId : subscriber . cell . id  } 
1107+  } ) ; 
11021108
11031109 // Transition to the busy stage 
11041110 subscriber . cell . state  =  CellState . executing ; 
0 commit comments