From e28fdb08b8af46af8cc3a04f1dca043665f7ae42 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sun, 29 Mar 2026 17:44:14 +0900 Subject: [PATCH] docs: add LINE ACP support and plugin requireApproval hook docs - LINE: document ACP conversation binding support (#45826) - Plugins: document requireApproval in before_tool_call hook semantics (#55339) --- docs/channels/line.md | 9 +++++++++ docs/plugins/building-plugins.md | 3 +++ 2 files changed, 12 insertions(+) diff --git a/docs/channels/line.md b/docs/channels/line.md index c8aaa9389fa..33512adc2e8 100644 --- a/docs/channels/line.md +++ b/docs/channels/line.md @@ -184,6 +184,15 @@ The LINE plugin also ships a `/card` command for Flex message presets: /card info "Welcome" "Thanks for joining!" ``` +## ACP support + +LINE supports ACP (Agent Communication Protocol) conversation bindings: + +- `/acp spawn --bind here` binds the current LINE chat to an ACP session without creating a child thread. +- Configured ACP bindings and active conversation-bound ACP sessions work on LINE like other conversation channels. + +See [ACP agents](/tools/acp-agents) for details. + ## Outbound media The LINE plugin supports sending images, videos, and audio files through the agent message tool. Media is sent via the LINE-specific delivery path with appropriate preview and tracking handling: diff --git a/docs/plugins/building-plugins.md b/docs/plugins/building-plugins.md index 90214a3c690..0c91597c62a 100644 --- a/docs/plugins/building-plugins.md +++ b/docs/plugins/building-plugins.md @@ -149,9 +149,12 @@ Hook guard semantics to keep in mind: - `before_tool_call`: `{ block: true }` is terminal and stops lower-priority handlers. - `before_tool_call`: `{ block: false }` is treated as no decision. +- `before_tool_call`: `{ requireApproval: true }` pauses agent execution and prompts the user for approval via the exec approval overlay, Telegram buttons, Discord interactions, or the `/approve` command on any channel. - `message_sending`: `{ cancel: true }` is terminal and stops lower-priority handlers. - `message_sending`: `{ cancel: false }` is treated as no decision. +The `/approve` command handles both exec and plugin approvals with automatic fallback. Plugin approval forwarding can be configured independently via `approvals.plugin` in config. + See [SDK Overview hook decision semantics](/plugins/sdk-overview#hook-decision-semantics) for details. ## Registering agent tools