feat(fxt): add ratatui/crossterm deps and ApproveModel/RejectModel proto RPCs

- ratatui 0.29, crossterm 0.28 (event-stream), tokio-stream to deps
- ApproveModel + RejectModel RPCs added to MLTrainingService
- 4 new proto messages for model promotion workflow

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-03-03 01:26:28 +01:00
parent e9c0edd298
commit e1bab1a587
2 changed files with 30 additions and 1 deletions

View File

@@ -28,7 +28,7 @@ prost.workspace = true # Required for generated protobuf code
# Core async and serialization (essential)
tokio.workspace = true
# tokio-stream.workspace = true # REMOVED: unused in TLI source
tokio-stream.workspace = true
serde.workspace = true
serde_json.workspace = true
# futures.workspace = true # REMOVED: unused in TLI - only futures-util is used
@@ -75,6 +75,10 @@ comfy-table = "7.1" # Rich ASCII tables
indicatif = "0.17" # Progress bars (for future use)
console = "0.15" # Terminal utilities
# Terminal UI dashboard
ratatui = "0.29"
crossterm = { version = "0.28", features = ["event-stream"] }
# Configuration file support
toml = "0.8" # TOML parsing for config files
dirs = "5.0" # Cross-platform directory access

View File

@@ -45,6 +45,10 @@ service MLTrainingService {
// Stream real-time tuning progress updates (trial completion events)
rpc StreamTuningProgress(StreamProgressRequest) returns (stream ProgressUpdate);
// Model promotion management
rpc ApproveModel(ApproveModelRequest) returns (ApproveModelResponse);
rpc RejectModel(RejectModelRequest) returns (RejectModelResponse);
}
// --- Core Request/Response Messages ---
@@ -426,4 +430,25 @@ message ResourceUsage {
float gpu_usage_percent = 3;
float gpu_memory_usage_gb = 4;
uint32 active_workers = 5;
}
// Model promotion messages
message ApproveModelRequest {
string model_id = 1;
string promoted_to = 2; // e.g. "production", "staging", "canary"
}
message ApproveModelResponse {
bool success = 1;
string message = 2;
}
message RejectModelRequest {
string model_id = 1;
string reason = 2;
}
message RejectModelResponse {
bool success = 1;
string message = 2;
}