improvements(ai): Improve AI streaming UI/UX interactions + better separation of AI provider responsibilities (#2039)

* Start refactor

* Interface updates

* Rework Assistant, Provider, and tests for better domain boundaries

* Consolidate and simplify OpenAI provider and provider concepts

* Clean up assistant streaming

* Improve assistant message orchestration logic

* Clean up "thinking" UI interactions

* Remove stale class

* Regenerate VCR test responses
This commit is contained in:
Zach Gollwitzer
2025-04-01 07:21:54 -04:00
committed by GitHub
parent 6331788b33
commit 5cf758bd03
33 changed files with 1179 additions and 624 deletions

View File

@@ -8,7 +8,7 @@ class Message < ApplicationRecord
failed: "failed"
}
validates :content, presence: true, allow_blank: true
validates :content, presence: true
after_create_commit -> { broadcast_append_to chat, target: "messages" }, if: :broadcast?
after_update_commit -> { broadcast_update_to chat }, if: :broadcast?
@@ -17,6 +17,6 @@ class Message < ApplicationRecord
private
def broadcast?
raise NotImplementedError, "subclasses must set #broadcast?"
true
end
end