Function: eca-chat--apply-per-chat-config

eca-chat--apply-per-chat-config is a natively compiled function defined in eca-chat.el.

Signature

(eca-chat--apply-per-chat-config CHAT-CONFIG BUFFER)

Documentation

Apply the per-chat fields of CHAT-CONFIG to BUFFER's local state.

Used by eca-chat-config-updated to drive a single chat's UI from a config/updated broadcast.

Source Code

;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defun eca-chat--apply-per-chat-config (chat-config buffer)
  "Apply the per-chat fields of CHAT-CONFIG to BUFFER's local state.
Used by `eca-chat-config-updated' to drive a single chat's UI from
a `config/updated' broadcast."
  (with-current-buffer buffer
    (when (plist-member chat-config :variants)
      (setq-local eca-chat--available-variants
                  (append (plist-get chat-config :variants) nil)))
    (when (plist-member chat-config :selectModel)
      (setq-local eca-chat--selected-model
                  (plist-get chat-config :selectModel)))
    (when (plist-member chat-config :selectAgent)
      (setq-local eca-chat--selected-agent
                  (plist-get chat-config :selectAgent)))
    (when (plist-member chat-config :selectVariant)
      (setq-local eca-chat--selected-variant
                  (eca-chat--normalize-variant
                   (plist-get chat-config :selectVariant))))
    ;; Server-driven trust restore on chat resume (eca #426): keep the
    ;; mode-line shield/flame indicator in sync with the persisted
    ;; per-chat trust state so it matches the server's auto-approval
    ;; behavior for subsequent tool calls.
    (when (plist-member chat-config :selectTrust)
      (setq-local eca-chat--selected-trust
                  (eq t (plist-get chat-config :selectTrust))))
    (force-mode-line-update)))