Function: eca-chat--show-task-tool-call-approval
eca-chat--show-task-tool-call-approval is a natively compiled function
defined in eca-chat.el.
Signature
(eca-chat--show-task-tool-call-approval SESSION CONTENT CHAT-ID SPACING-LINE-PREFIX)
Documentation
Ask in the task widget to approve the task tool call CONTENT.
The task tool is rendered as the task area widget instead of a regular
tool call block, so its approval prompt has to be shown there too,
otherwise a chat with the task tool configured as ask hangs on
"Waiting for tool call approval" with nothing to accept or reject
(editor-code-assistant/eca#584). SESSION, CHAT-ID and
SPACING-LINE-PREFIX build the approval prompt for the tool call id.
Source Code
;; Defined in /nix/store/jklqzw6pzz6j4jrbv8wy0iwgi7jlrbld-emacs-packages-deps/share/emacs/site-lisp/elpa/eca-20260928.1827/eca-chat.el
(defun eca-chat--show-task-tool-call-approval (session content chat-id spacing-line-prefix)
"Ask in the task widget to approve the task tool call CONTENT.
The task tool is rendered as the task area widget instead of a regular
tool call block, so its approval prompt has to be shown there too,
otherwise a chat with the task tool configured as `ask' hangs on
\"Waiting for tool call approval\" with nothing to accept or reject
\(editor-code-assistant/eca#584). SESSION, CHAT-ID and
SPACING-LINE-PREFIX build the approval prompt for the tool call id."
(-let* (((&plist :id id :name name :server server :arguments args :summary summary) content)
(label (concat (propertize (or summary (format "Calling tool: %s__%s" server name))
'font-lock-face 'eca-chat-mcp-tool-call-label-face)
" " eca-chat-mcp-tool-call-pending-approval-symbol
(eca-chat--build-tool-call-approval-str-content
session id spacing-line-prefix chat-id))))
(eca-chat--set-task-widget label
(eca-chat--content-table `(("Tool" . ,name)
("Server" . ,server)
("Arguments" . ,args)))
id)
(when eca-chat-expand-pending-approval-tools
(eca-chat--expandable-content-toggle eca-chat--task-block-id t nil)
(eca-chat--ensure-prompt-visible))))