Is there a terminal emulator that will save tabs across sessions/reboots, including tab title, working directory for each tab and maybe even command history, or even restart a running program?
Not 100% sure what you are using for 'tabs' but I recommend a terminal multiplexer with multiple panes. Then...
tmux. Then look at plugins...it has a couple that will do at least some of what you want: https://github.com/tmux-plugins
tmux-resurrect is probably the most capable. The general session/pane/directory/etc restoration is solid and I use it regularly. Combine it with
tmux-continuum and you'll get auto save/restore.
It is relatively limited as far as which programs can be restored in a running state: vi, vim, nvim, emacs, man, less, more, tail, top, htop, irssi, mutt. You can apparently customize it to restore other programs but in the short amount of time that I've experimented with it it seemed a bit rough.
If restoring running programs isn't your primary focus you might also look at https://github.com/tmuxinator/tmuxinator. It uses a slightly different approach to saving sessions but it is fundamentally similar to resurrect.