steer_workspace/
config.rs

1use serde::{Deserialize, Serialize};
2
3/// Configuration for a workspace
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub enum WorkspaceConfig {
6    /// Local filesystem workspace
7    Local {
8        /// Path to the workspace directory
9        path: std::path::PathBuf,
10    },
11    /// Remote workspace accessed via gRPC
12    Remote {
13        /// Address of the remote workspace service (e.g., "localhost:50051")
14        address: String,
15        /// Optional authentication for the remote service
16        auth: Option<RemoteAuth>,
17    },
18}
19
20/// Authentication information for remote workspaces
21#[derive(Debug, Clone, Serialize, Deserialize)]
22pub enum RemoteAuth {
23    /// Bearer token authentication
24    BearerToken(String),
25    /// API key authentication
26    ApiKey(String),
27}