feat: extract reusable ACP client from hermes into shared package #431

Closed
opened 2026-05-23 09:51:13 +00:00 by xingyue · 0 comments
Owner

Background

workflow-agent-hermes/src/acp-client.ts has a full ACP (Agent Communication Protocol) client using JSON-RPC over stdio. This should be reusable by builtin agent and future agents.

Proposal

  1. Extract core ACP transport logic into workflow-agent-kit (or new workflow-acp package)
  2. Keep hermes-specific session/message handling in hermes package
  3. Expose as a builtin agent tool: acp_prompt — connect to any ACP agent, send prompt, return response

ACP Flow

spawn agent --acp --stdio
-> initialize (JSON-RPC)
-> sessions/create
-> sessions/prompt { message }
<- response text
-> sessions/close

Related

  • workflow-agent-hermes/src/acp-client.ts
  • Delegate tool issue (simpler CLI approach)
## Background `workflow-agent-hermes/src/acp-client.ts` has a full ACP (Agent Communication Protocol) client using JSON-RPC over stdio. This should be reusable by builtin agent and future agents. ## Proposal 1. Extract core ACP transport logic into `workflow-agent-kit` (or new `workflow-acp` package) 2. Keep hermes-specific session/message handling in hermes package 3. Expose as a builtin agent tool: `acp_prompt` — connect to any ACP agent, send prompt, return response ### ACP Flow ``` spawn agent --acp --stdio -> initialize (JSON-RPC) -> sessions/create -> sessions/prompt { message } <- response text -> sessions/close ``` ## Related - `workflow-agent-hermes/src/acp-client.ts` - Delegate tool issue (simpler CLI approach)
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#431