ddterm depends on multiple GObject libraries (gi:// imports),
some of them are often not installed by default.
Instead of silently failing, a notification is shown:

On supported distributions, it has an "Install" button, which installs the requested packages.
gjs-typelib-installer is the backend for it. It implements:
require() function that tries to import libraries, and throws
MissingDependencies exception if import fails. The exception contains
a list of packages that need to be installed to fix the issue.
findTerminalInstallCommand() function that finds a working package
installation method for the current OS.