Due to the limitations of this text-based platform and the inherent complexity of the task, it's not possible to provide a fully fleshed-out codebase in one response. I'll create the class structures for ...
Or: Creating an entire library from scratch is a complex task and quite lengthy, however, I will try to provide some starting points. Here is a potential implementation of some of the core classes and interfaces.
Where before it would be happy to just dive in and start coding. This is unfortunate, because we used to be able to brainstorm a good architecture together and then it would just happily start building it, and for small libraries within the token limit (think Webaudio wrappers, simple parser grammars, whatever) it would do fantastically.
I'm sure this has been put in place for what seemed like good reasons but it makes me sad, I was getting a lot of utility out of the earlier behavior.
Anyway I'm using gpt the way you describe. Maybe my libs are not that complex as yours :P