Function: eca-chat--send-prompt
eca-chat--send-prompt is a natively compiled function defined in
eca-chat.el.
Signature
(eca-chat--send-prompt SESSION PROMPT)
Documentation
Send PROMPT to server for SESSION.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defun eca-chat--send-prompt (session prompt)
"Send PROMPT to server for SESSION."
(when eca-chat--closed
(user-error (eca-error "This chat is closed")))
(let* ((prompt-contexts (eca-chat--extract-contexts-from-prompt))
(refined-contexts (->> (append eca-chat--context prompt-contexts)
(-map #'eca-chat--refine-context)
(-keep #'eca-chat--materialize-context))))
(when eca-chat--welcome-shown (eca-chat--clear))
(add-to-list 'eca-chat--history prompt)
(setq eca-chat--history-index -1)
(eca-chat--set-prompt "")
(eca-chat--set-chat-loading session t)
(eca-api-request-async
session
:method "chat/prompt"
:params (append (list :message (eca-chat--normalize-prompt prompt)
:request-id (cl-incf eca-chat--last-request-id)
:chatId eca-chat--id
:model (eca-chat--model)
:agent (eca-chat--agent)
:contexts (vconcat refined-contexts))
(when-let* ((variant (eca-chat--variant)))
(list :variant variant))
(when (eca-chat--trust)
(list :trust t)))
;; The chat-id is already set buffer-locally at chat creation
;; time, so the prompt response carries no information we need
;; to act on. Pass `#'ignore' (rather than nil) so the response
;; dispatcher still removes the pending-handler entry.
:success-callback #'ignore)))