* add dynamic hold implementation to backend
* update frontend to support new status
* force reporter loader
* handle missing packages explicitly
* handle missing packages explicitly
This was initally generated by ai, but later has been heavily edited.
The reason why it has been implemented is that there are plans to
implement more features to ui, but it becomes hard to add new features
to plain js, so I decided to rewrite it in typescript.
Yet because it is still ai slop, it is still possible to enable old
interface via configuration, even though new interface is turned on by
default to get feedback