Cleanly separate Driver code from Ragged code
monarchwadia opened this issue · 1 comments
monarchwadia commented
I suppose this issue is mostly a consequence of moving fast and breaking things, and is to be expected in the early life cycle of a tool.
Right now, RaggedDriver is expected to do too much. A lot of this logic could be moved up into Ragged. I'll add issues here as I go so that we can track them.
- The
tool.finished
event should be generated by RaggedSubject because it's shared logic that needs to be reused by other future drivers.. Right now it's on the OpenAI driver layer. - AbstractRaggedDriver should have a set of private functions that emit specific lifecycle events. For example,
this.emitToolFinished()
monarchwadia commented
This is moot after the overhaul, since we no longer support streaming (for now)