The `JupyterCodeExecutor` in v0.2 can be ported to v0.4 by following the examples of `LocalCommandLineCodeExecutor` and other code executors. It should live in `autogen_ext` and introduce a new extra `jupyter` for dependencies.