mirror of
https://github.com/microsoft/autogen.git
synced 2025-08-22 07:32:10 +00:00

## Why are these changes needed? Changed default working directory of code executors, from the current directory `"."` to Python's [`tempfile`](https://docs.python.org/3/library/tempfile.html#tempfile.TemporaryDirectory). These changes simplify file cleanup and prevent the model from accessing code files or other sensitive data that should not be accessible. These changes simplify file cleanup and prevent the model from accessing code files or other sensitive data that should not be accessible. Changes made: - The default `work_dir` parameter in code executors is changed to `None`; when invoking the `start()` method, if not `work_dir` was specified (`None`) a temporary directory is created. - The `start()` and `stop()` methods of code executors handle the creation and cleanup of the working directory, for the default temporary directory. - For maintaining backward compatibility: - A `DeprecationWarning` is emitted when the current dir, `"."`, is used as `work_dir` as it is in the current code executor implementation. The deprecation warning is tested in `test_deprecated_warning()`. - For existing implementation that do not call the `start()` method and do not specify a `work_dir`, the executors will continue using the current directory `"."` as the working directory, mantaining backward compatibility. - Updated test suites: - Added tests to confirm that by default code executors use a temporary directory as their working directory: `test_default_work_dir_is_temp()`; - Implemented test to ensure that a `DeprecationWarning` is raised when the current directory is used as the default directory: `test_deprecated_warning()`; - Added tests to ensure that errors arise when invalid paths (doesn't exist or user has not the right permissions) are provided: `test_error_wrong_path()`. Feel free to suggest any additions or improvements! ## Related issue number Close #6041 ## Checks - [x] I've included any doc changes needed for <https://microsoft.github.io/autogen/>. See <https://github.com/microsoft/autogen/blob/main/CONTRIBUTING.md> to build and test documentation locally. - [x] I've added tests (if relevant) corresponding to the changes introduced in this PR. - [x] I've made sure all auto checks have passed. --------- Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>