Manage a full-duplex conversation channel with another easbot agent endpoint over HTTP or WebSocket.

## Operations

1. connect: Connect to a remote agent service
   - Required: baseUrl (e.g., ws://localhost:3000)
   - Returns: connectionId, sessionId, channel, baseUrl

2. list: List all active connections
   - Returns: connectionId, baseUrl, sessionId, channel

3. discover: Discover available agent services
   - Returns: { name, status, baseUrl }

4. capabilities: Query remote agent capabilities
   - Required: connectionId
   - Returns: protocolVersion, authMethods

5. send: Send message or slash command to remote agent
   - Required: connectionId, prompt
   - Remote response will be injected automatically
   - Must use "/" prefix for slash commands (e.g., "/help", "/create_plan build feature")
   - Available commands list in status operation response

6. status: Query connection status
   - Required: connectionId
   - Returns: sessionId, baseUrl, status, mode, availableCommands

7. interrupt: Cancel ongoing remote session
   - Required: connectionId
   - Use to abort current interaction

8. close: Close connection and cleanup
   - Required: connectionId
   - Always call when done to prevent resource leaks

## Usage Flow

1. discover -> find available services
2. connect + baseUrl -> establish connection
3. status -> query available commands
4. send + connectionId + prompt -> interact
5. close -> cleanup when finished

## Notes

- Pure URL connection: no service registration needed
- Each connection supports up to 10 interaction rounds
- Use "interrupt" to abort ongoing interaction
- Use discover to find available agent services before connecting
- Supports HTTP and WebSocket channels only
- IMPORTANT: Always call `close` when interaction is complete to cleanup resources
