How anentrypoint/acpreact works
acpreact is a multi-agent ACP SDK with a CLI, chat-platform adapters, and a terminal UI. The main workflow accepts a prompt through the CLI or an adapter, runs it through ACPProtocol and a configured agent CLI, parses the output, and returns a response; registered tools can also be invoked from parsed tool calls. Service fallback handles rate limits and unavailable agents. The graph preserves the documented adapter and agent choices. Source excerpts show core execution and adapter behavior; relationships for unsampled details are omitted.
Main entry points: core.js ACPProtocol · bin.js CLI · adapters.js Adapter factory · gui.js Terminal UI
Components 17
Entry points
- CLI
bin.js
ACP protocol
- ACPProtocol
core.js - Tool registration
core.js - Output parser
parser.js
Agent execution
- Service registry
services.js - Agent arguments
services.js - Fallback engine
fallback.js - Rate-limit policy
services.js
Chat adapters
- Adapter factory
adapters.js - Discord adapter
adapters.js - Telegram adapter
adapters.js - Slack adapter
adapters.js - Webhook adapter
adapters.js
Terminal interface
- Terminal UI
gui.js
Other components
- User
- Agent CLIs
- Chat platforms
Connections 22
- User → CLI: submits prompt
bin.js - CLI → ACPProtocol: processes prompt
bin.js - CLI → Adapter factory: creates adapter
bin.js - CLI → Terminal UI: creates UI
bin.js - ACPProtocol → Service registry: selects services
core.js - ACPProtocol → Fallback engine: runs stack
core.js - ACPProtocol → Agent arguments: builds arguments
core.js - ACPProtocol → Agent CLIs: spawns process
core.js - Fallback engine → Rate-limit policy: checks limits
fallback.js - ACPProtocol → Output parser: parses output
core.js - ACPProtocol → Tool registration: executes calls
core.js - Adapter factory → Discord adapter: creates
adapters.js - Adapter factory → Telegram adapter: creates
adapters.js - Adapter factory → Slack adapter: creates
adapters.js - Adapter factory → Webhook adapter: creates
adapters.js - Discord adapter → Chat platforms: receives and sends
adapters.js - Telegram adapter → Chat platforms: receives and sends
adapters.js - Slack adapter → Chat platforms: receives and sends
adapters.js - Webhook adapter → Chat platforms: receives requests
adapters.js - CLI → ACPProtocol: routes chat messages
bin.js - CLI → Terminal UI: passes prompts
bin.js - User → Terminal UI: enters prompts
gui.js