Google add-ons are in two basic categories:
1) Editor Addons
2) GSuite Addons
As usual, it might not exactly be the best terminology. For example, both types of add-ons can be used in GSuite.
Editor Addons are for.
Docs
Sheets
Forms
Slides
GSuite Addons are for:
Gmail
Calendar
Drive
Editor Addons use the HTML interface.
GSuite Addons use the Card Service interface.
Editor add-ons came first, then GMail add-ons.
GMail add-ons came before Calendar and Drive add-ons.
In my opinion, the documentation hasn't really totally integrated with Calendar and Drive add-ons.
The documentation seems to be constructed with Calendar and Drive add-ons as an afterthought.
Like the addition that you just kind of throw onto the end of your house without much planning.
A simple onOpen function (trigger) can only run for 30 seconds. So, keep that in mind.
I believe, that you would need two Apps Script projects for the add-on if you are going to use a library in the add-on.
The script published as the add-on will need the library added to it.
I'm not sure if there's any advantage at all to that.
The only advantage that I can think of, is if there is a way to update the library in the add-on project without republishing the add-on.
Which in affect would update your add-on without the need to republish the add-on.
But other than that, I can't think of any reason to use the library in the add-on project.
I think that you can publish the project as BOTH an add-on and a library, so people could use it either way.
But they couldn't use the library without doing some coding on their own to access the library.