You are working on the jupyter-server/jupyter server repository. The source code is checked out at /testbed…
You are working on the jupyter-server/jupyter server repository. The source code is checked out at /testbed…: a task in SWE-Lego-RL-2699 (Harbor dataset). The way pre save hook and post save hook work is by direct attribute assignment in a FileContentsManager instance, e.g. file contents…
The task
The way `pre_save_hook` and `post_save_hook` work is by direct attribute assignment in a `FileContentsManager` instance, e.g. `file_contents_manager.pre_save_hook = my_hook` (see [the documentation](https://jupyter-server.readthedocs.io/en/latest/developers/savehooks.html)). This doesn't play well when multiple hooks…
Part of Lego-X/Lego-RL-2699.