Proof-of-concept proving the protocol-feasibility exit criterion from docs/architecture/proof-of-concept-plan.md §2: "Rust can connect to a compatible server/test double." The spike opens a tsclientlib connection, waits for the BookEvents state snapshot, subscribes to the server channel tree, prints server metadata and the channel tree with client names, and disconnects cleanly. Audio feature is disabled because audio is covered by a separate PoC. Verified on 2026-05-13 against cn.teamspeak.app (TeamSpeak 3 server 3.13.7); 36 channels and 5 online clients retrieved with full UTF-8 (CJK) preservation. See poc/tsclientlib-connect-spike/VERIFICATION.md for the captured run. Authority: PoC plan §2, SysRS-005, SysDes-011, SysDes-029. Not product code; not promoted into chanora_protocol.
22 lines
922 B
TOML
22 lines
922 B
TOML
[package]
|
|
name = "tsclientlib-connect-spike"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
publish = false
|
|
description = "Chanora PoC: prove tsclientlib protocol feasibility by connecting to a TS3-compatible server and printing the channel tree."
|
|
|
|
# This is PoC code, not product code. See docs/architecture/proof-of-concept-plan.md §4.
|
|
|
|
[dependencies]
|
|
# tsclientlib is git-only (not on crates.io).
|
|
# Audio feature is disabled because this spike only proves the connect/state path;
|
|
# audio behaviour is covered by a separate PoC (audio-capture-playback-spike).
|
|
tsclientlib = { git = "https://github.com/ReSpeak/tsclientlib.git", default-features = false, features = ["default-tls"] }
|
|
|
|
anyhow = "1"
|
|
clap = { version = "4", features = ["derive"] }
|
|
futures = "0.3"
|
|
tokio = { version = "1", features = ["macros", "rt-multi-thread", "time", "signal"] }
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|