feat(client): v2 CLI binary over SDK with simplified commands
Add v2_main.rs and v2_commands.rs as thin wrappers over QpqClient from quicproquo-sdk. Activated via --features v2 (feature-gated so v1 main.rs remains the default). Includes auto-server-launch, clap-based command surface (register-user, login, whoami, health, resolve, dm, group, devices), and ClientConfig-based connection setup. MLS-dependent commands (send, recv, group create/invite) print stubs pointing to the REPL.
This commit is contained in:
@@ -74,6 +74,11 @@ crossterm = { version = "0.28", optional = true }
|
||||
# YAML playbook parsing (only compiled with --features playbook).
|
||||
serde_yaml = { version = "0.9", optional = true }
|
||||
|
||||
# v2 SDK-based CLI (thin shell over quicproquo-sdk).
|
||||
quicproquo-sdk = { path = "../quicproquo-sdk", optional = true }
|
||||
quicproquo-rpc = { path = "../quicproquo-rpc", optional = true }
|
||||
rustyline = { workspace = true, optional = true }
|
||||
|
||||
[lints]
|
||||
workspace = true
|
||||
|
||||
@@ -86,6 +91,8 @@ tui = ["dep:ratatui", "dep:crossterm"]
|
||||
# Enable playbook (scripted command execution): YAML parser + serde derives.
|
||||
# Build: cargo build -p quicproquo-client --features playbook
|
||||
playbook = ["dep:serde_yaml"]
|
||||
# v2 CLI over SDK: cargo build -p quicproquo-client --features v2
|
||||
v2 = ["dep:quicproquo-sdk", "dep:quicproquo-rpc", "dep:rustyline"]
|
||||
|
||||
[dev-dependencies]
|
||||
dashmap = { workspace = true }
|
||||
|
||||
Reference in New Issue
Block a user