feat(agent): add rust agent baseline scaffold

This commit is contained in:
igor04091968
2026-06-07 16:08:31 +03:00
parent 00ff5e7ddf
commit 731478411a
16 changed files with 1205 additions and 10 deletions
@@ -0,0 +1,43 @@
use chrono::Utc;
use serde::Serialize;
#[derive(Debug, Serialize)]
struct LogLine<'a> {
timestamp: String,
level: &'a str,
agent_id: &'a str,
component: &'a str,
message: &'a str,
}
pub fn log_json(agent_id: &str, level: &str, component: &str, message: &str) {
let line = LogLine {
timestamp: Utc::now().to_rfc3339(),
level,
agent_id,
component,
message,
};
if let Ok(json) = serde_json::to_string(&line) {
eprintln!("{json}");
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn structured_log_shape_is_serializable() {
let line = LogLine {
timestamp: "2026-06-07T00:00:00Z".to_string(),
level: "INFO",
agent_id: "agent-1",
component: "spool",
message: "queued",
};
let value = serde_json::to_value(line).unwrap();
assert_eq!(value["level"], "INFO");
assert_eq!(value["component"], "spool");
}
}