monarchwadia/ragged

Cleanly separate Driver code from Ragged code

Closed this issue · 1 comments

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()

This is moot after the overhaul, since we no longer support streaming (for now)