Addresses CodeQL cleartext-logging alerts (#1, #2, #3) by implementing session ID redaction for CLI output. Changes: - Extract marathonctl into standalone crate (crates/marathonctl) - Add session ID redaction showing only first 8 characters by default - Add --show-sensitive/-s flag for full session IDs when debugging - Implement beautiful ratatui-based UI module with inline viewport - Add .envrc to .gitignore for secure token management - Document GitHub token setup in CONTRIBUTING.md The CLI now provides a secure-by-default experience while maintaining debugging capabilities through explicit opt-in flags. Session IDs are redacted to format "abc-def-..." unless --show-sensitive is specified. UI module provides easy-to-use builder APIs (ui::table, ui::grid, ui::list) that render beautiful terminal output without hijacking the terminal. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
68 lines
1.4 KiB
TOML
68 lines
1.4 KiB
TOML
[workspace]
|
|
members = ["crates/libmarathon", "crates/macros", "crates/app", "crates/xtask", "crates/marathonctl"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2024"
|
|
|
|
[workspace.dependencies]
|
|
# Async runtime
|
|
tokio = { version = "1", features = ["full"] }
|
|
tokio-stream = "0.1"
|
|
tokio-util = "0.7"
|
|
futures-lite = "2.0"
|
|
|
|
# Iroh - P2P networking and gossip
|
|
iroh = { version = "0.95.0", features = ["discovery-pkarr-dht"] }
|
|
iroh-gossip = "0.95.0"
|
|
|
|
# Database
|
|
rusqlite = { version = "0.37.0", features = ["bundled"] }
|
|
|
|
# Serialization
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
toml = "0.9"
|
|
rkyv = { version = "0.8", features = ["uuid-1", "bytes-1"] }
|
|
|
|
# Error handling
|
|
thiserror = "2.0"
|
|
anyhow = "1.0"
|
|
|
|
# Date/time
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
|
|
# Logging
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
tracing-appender = "0.2"
|
|
tracing-oslog = "0.3"
|
|
|
|
# Random
|
|
rand = "0.8"
|
|
|
|
# Encoding
|
|
hex = "0.4"
|
|
|
|
# Data structures
|
|
bytes = "1.0"
|
|
crossbeam-channel = "0.5"
|
|
uuid = { version = "1.0", features = ["v4", "serde"] }
|
|
|
|
# Bevy and graphics
|
|
bevy = "0.17.2"
|
|
egui = { version = "0.33", default-features = false, features = ["bytemuck", "default_fonts"] }
|
|
glam = "0.29"
|
|
winit = "0.30"
|
|
|
|
# Synchronization
|
|
parking_lot = "0.12"
|
|
crdts = "7.3"
|
|
inventory = "0.3"
|
|
|
|
# CLI
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
|
|
# Testing
|
|
tempfile = "3"
|