The setup wizard, the server and the client each carried their own idea of what a valid config looks like: trx-configurator validated with hand-written toml_edit key lists while the binaries validated with serde plus their own validate(). Nothing kept the three in sync. Move ServerConfig, ClientConfig, the section loader, the shared validators and the endpoint-URL parsing into a new trx-config crate that all three depend on, so there is one definition of the config to drift from. The binaries keep a thin crate::config re-export so their internal paths are unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SyX26FCpMQxiBoC7r5K1A7 Signed-off-by: Stan Grams <sjg@haxx.space>
33 lines
973 B
TOML
33 lines
973 B
TOML
# SPDX-FileCopyrightText: 2026 Stan Grams <sjg@haxx.space>
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
[package]
|
|
name = "trx-client"
|
|
version.workspace = true
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
flate2 = { workspace = true }
|
|
tokio = { workspace = true, features = ["full"] }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
toml = { workspace = true }
|
|
tracing = { workspace = true }
|
|
clap = { workspace = true, features = ["derive"] }
|
|
dirs = "6"
|
|
bytes = "1"
|
|
uuid = { workspace = true }
|
|
cpal = "0.15"
|
|
opus = "0.3"
|
|
trx-app = { path = "../trx-app" }
|
|
trx-config = { path = "../trx-config" }
|
|
trx-core = { path = "../trx-core" }
|
|
trx-protocol = { path = "../trx-protocol" }
|
|
trx-frontend = { path = "trx-frontend" }
|
|
trx-frontend-http = { path = "trx-frontend/trx-frontend-http" }
|
|
trx-frontend-http-json = { path = "trx-frontend/trx-frontend-http-json" }
|
|
trx-frontend-rigctl = { path = "trx-frontend/trx-frontend-rigctl" }
|
|
|
|
[features]
|
|
default = [] |