Skip to content

Commit 3f605e1

Browse files
committed
Use the saved values in toolCallRejected.
Duh. That was the point of all of this. Values provided in event-data will override the values saved in the tool call state.
1 parent 880f51f commit 3f605e1

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

src/eca/features/chat.clj

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -223,16 +223,20 @@
223223
:summary (:summary event-data)))
224224

225225
:send-toolCallRejected
226-
(send-content! chat-ctx :assistant
227-
(assoc-some
228-
{:type :toolCallRejected
229-
:id tool-call-id
230-
:origin (:origin event-data)
231-
:name (:name event-data)
232-
:arguments (:arguments event-data)
233-
:reason (:code (:reason event-data) :user)}
234-
:details (:details event-data)
235-
:summary (:summary event-data)))
226+
(let [tool-call-state (get-tool-call-state @db* (:chat-id chat-ctx) tool-call-id)
227+
name (:name tool-call-state)
228+
origin (:origin tool-call-state)
229+
arguments (:arguments tool-call-state)]
230+
(send-content! chat-ctx :assistant
231+
(assoc-some
232+
{:type :toolCallRejected
233+
:id tool-call-id
234+
:origin (or (:origin event-data) origin)
235+
:name (or (:name event-data) name)
236+
:arguments (or (:arguments event-data) arguments)
237+
:reason (:code (:reason event-data) :user)}
238+
:details (:details event-data)
239+
:summary (:summary event-data))))
236240

237241
;; State management actions
238242
:init-approval-promise
@@ -487,8 +491,8 @@
487491
:manual-approval ask?
488492
:details details
489493
:summary summary}))
490-
;; assert: In: :check-approval or :stopped
491-
(when-not (#{:stopped} (:status (get-tool-call-state @db* chat-id id)))
494+
;; assert: In: :check-approval or :stopped or :rejected
495+
(when-not (#{:stopped :rejected} (:status (get-tool-call-state @db* chat-id id)))
492496
(case approval
493497
:ask (transition-tool-call! db* chat-ctx id :approval-ask
494498
{:state :running

0 commit comments

Comments
 (0)