Function: eca-chat-cycle-agent
eca-chat-cycle-agent is an interactive and natively compiled function
defined in eca-chat.el.
Signature
(eca-chat-cycle-agent)
Documentation
Cycle between chat agents in the active chat.
Key Bindings
eca-chat-mode-map C-c C-b
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
;;;###autoload
(defun eca-chat-cycle-agent ()
"Cycle between chat agents in the active chat."
(interactive)
(let ((session (eca-session)))
(eca-assert-session-running session)
(let ((target (eca-chat--get-active-buffer session))
(all-agents (append (eca--session-chat-agents session) nil)))
(unless all-agents
(user-error "No chat agents are available"))
(unless (buffer-live-p target)
(user-error "No active chat"))
(let* ((current-agent
(with-current-buffer target
(eca-chat--agent)))
(current-agent-index
(seq-position all-agents current-agent))
(next-agent
(if current-agent-index
(or (nth (1+ current-agent-index) all-agents)
(car all-agents))
(car all-agents))))
(eca-chat--set-agent session next-agent target)))))