start method
Starts a session for request, returning a live ShellSession.
May throw if the command is invalid or the node is at capacity; the node
runtime translates failures into a node.session.rejected message.
Implementation
@override
Future<ShellSession> start(ShellRequest request) {
// On Windows, the system and user variables as the registry holds them
// now, not as they were when the node started (see `live_environment`),
// with the node's profile over them.
final live = liveProcessEnvironment();
return startWithNodeEnvironment(
request,
mergeEnvironment([
live,
baseEnvironmentFor?.call(live) ?? baseEnvironment,
]),
);
}