Function: eca-chat-status-changed
eca-chat-status-changed is a natively compiled function defined in
eca-chat.el.
Signature
(eca-chat-status-changed SESSION PARAMS)
Documentation
Handle chat status changed notification for SESSION with PARAMS.
Synthesizes progress content-received events to update the spinner. Subagent chats (which have no dedicated buffer) are silently ignored.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defun eca-chat-status-changed (session params)
"Handle chat status changed notification for SESSION with PARAMS.
Synthesizes progress content-received events to update the
spinner. Subagent chats (which have no dedicated buffer) are
silently ignored."
(let* ((chat-id (plist-get params :chatId))
(status (plist-get params :status))
(chat-buffer (eca-get (eca--session-chats session) chat-id)))
(when (and chat-buffer (buffer-live-p chat-buffer))
(eca-chat--with-current-buffer chat-buffer
(pcase status
("running"
(eca-chat--set-chat-loading session t)
(eca-chat-content-received session
(list :chatId chat-id :role "system"
:content (list :type "progress" :state "running" :text "Running..."))))
("idle"
(eca-chat-content-received session
(list :chatId chat-id :role "system"
:content (list :type "progress" :state "finished")))))))))