Skip to content

feat(openclaw): add OpenClaw gateway adapter#2

Merged
c-h- merged 1 commit intomainfrom
feat/openclaw-adapter
Feb 16, 2026
Merged

feat(openclaw): add OpenClaw gateway adapter#2
c-h- merged 1 commit intomainfrom
feat/openclaw-adapter

Conversation

@c-h-
Copy link
Copy Markdown
Collaborator

@c-h- c-h- commented Feb 16, 2026

Adds OpenClaw adapter that reads sessions from the gateway via WebSocket RPC.

  • Connects via WS, performs challenge/connect handshake, sends sessions.list RPC
  • Maps GatewaySessionRow to AgentSession interface
  • 18 new tests (64 total), all passing
  • Dependency injection via RpcCallFn for testability

Implements AgentAdapter for the OpenClaw gateway WebSocket RPC protocol.
Maps gateway sessions to the standard AgentSession interface with
resilient error handling when the gateway is unreachable.

- Adapter reads sessions via sessions.list and sessions.preview RPC
- Supports list, peek, status with prefix matching
- launch/stop/resume throw (not supported for OpenClaw sessions)
- Poll-based event streaming via diffing (same pattern as claude-code)
- 18 unit tests with injected RPC mock (no real gateway needed)
- Registered in CLI alongside claude-code adapter

Co-Authored-By: Charlie Hulcher <charlie.hulcher@gmail.com>
@c-h- c-h- merged commit 0e39d3f into main Feb 16, 2026
c-h- added a commit that referenced this pull request Feb 20, 2026
Implements AgentAdapter for the OpenClaw gateway WebSocket RPC protocol.
Maps gateway sessions to the standard AgentSession interface with
resilient error handling when the gateway is unreachable.

- Adapter reads sessions via sessions.list and sessions.preview RPC
- Supports list, peek, status with prefix matching
- launch/stop/resume throw (not supported for OpenClaw sessions)
- Poll-based event streaming via diffing (same pattern as claude-code)
- 18 unit tests with injected RPC mock (no real gateway needed)
- Registered in CLI alongside claude-code adapter

Co-authored-by: Jarvis (OpenClaw) <jarvis@openclaw.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant