agent_can/daemon/
config.rs1use crate::protocol::ConnectRequest;
2use serde::{Deserialize, Serialize};
3use std::path::Path;
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct DaemonConfig {
7 pub connect: ConnectRequest,
8}
9
10pub fn write_daemon_config(path: &Path, config: &DaemonConfig) -> Result<(), String> {
11 let payload =
12 serde_json::to_vec(config).map_err(|err| format!("failed to serialize config: {err}"))?;
13 std::fs::write(path, payload)
14 .map_err(|err| format!("failed to write daemon config '{}': {err}", path.display()))
15}
16
17pub fn read_daemon_config(path: &Path) -> Result<DaemonConfig, String> {
18 let payload = std::fs::read(path)
19 .map_err(|err| format!("failed to read daemon config '{}': {err}", path.display()))?;
20 serde_json::from_slice(&payload)
21 .map_err(|err| format!("failed to decode daemon config '{}': {err}", path.display()))
22}