hermes-agent/tests/acp
David Zhang cb792b9f1e fix(acp): wire stream_delta_callback for real-time ACP text delta streaming
Root cause: ACP turns emit partial session/update progress (thinking
spinners, tool events) then go silent for the entire duration of
run_conversation() because stream_delta_callback was never wired in the
ACP adapter. The LLM's streamed text deltas were silently discarded
since _fire_stream_delta() only dispatches to stream_delta_callback
and _stream_callback — neither of which ACP set.

Fix: Add make_stream_delta_cb() factory that forwards each text delta
to conn.session_update() as an agent_message_chunk, and wire it as
agent.stream_delta_callback in prompt(). This gives ACP clients
(CAR/PMA/VS Code) real-time token-by-token progress during LLM
streaming, eliminating the multi-minute silent gap before final
prompt_return delivery.

Also suppresses the final_response session_update when stream_delta_cb
is active to avoid sending duplicate text to clients that append
incremental chunks (P1 from automated review).

Fixes #9
2026-04-22 11:34:20 +07:00
..
__init__.py feat: restore ACP server implementation from PR #949 (#1254) 2026-03-14 00:09:05 -07:00
test_auth.py feat: restore ACP server implementation from PR #949 (#1254) 2026-03-14 00:09:05 -07:00
test_entry.py fix(acp): complete session management surface for editor clients (salvage #3501) (#3675) 2026-03-28 23:45:53 -07:00
test_events.py fix(acp): wire stream_delta_callback for real-time ACP text delta streaming 2026-04-22 11:34:20 +07:00
test_mcp_e2e.py fix(acp): improve zed integration 2026-04-17 13:29:26 -07:00
test_permissions.py feat: restore ACP server implementation from PR #949 (#1254) 2026-03-14 00:09:05 -07:00
test_server.py fix(acp): wire stream_delta_callback for real-time ACP text delta streaming 2026-04-22 11:34:20 +07:00
test_session.py fix(acp): improve zed integration 2026-04-17 13:29:26 -07:00
test_tools.py fix(acp): improve zed integration 2026-04-17 13:29:26 -07:00