move code out to a new signal-cli-jsonrpc-client

this makes it easier to reuse the RPC stuff and the signal trust set stuff
This commit is contained in:
Chris Beck
2025-12-18 15:21:44 -07:00
parent c326bd0a3b
commit 4783d2d9c6
13 changed files with 82 additions and 14 deletions
+32
View File
@@ -0,0 +1,32 @@
# signal-cli-jsonrpc-client
A Rust JSON-RPC client for [signal-cli](https://github.com/AsamK/signal-cli) daemon.
## Origin
The RPC interface and transport code in this crate is based on the example client code from the signal-cli repository:
- <https://github.com/AsamK/signal-cli/blob/master/client/src/jsonrpc.rs>
## Usage
```rust
use signal_cli_jsonrpc_client::{connect_tcp, RpcClient};
// Connect to signal-cli daemon via TCP
let client = connect_tcp("127.0.0.1:7583").await?;
// Use the RpcClient trait methods
let version = client.version().await?;
```
## Features
- TCP transport for connecting to signal-cli daemon
- Unix domain socket transport (on Unix systems)
- Full RPC interface matching signal-cli's JSON-RPC API
- Helper types for sending messages and handling received messages
## License
MIT or Apache 2.0 at your option.