posemesh_compute_node/dms/
types.rs

1use serde::{Deserialize, Serialize};
2
3/// Alias for the lease envelope as returned by DMS.
4pub type LeaseResponse = compute_runner_api::LeaseEnvelope;
5/// Heartbeat responses reuse the same payload as lease envelopes.
6pub type HeartbeatResponse = compute_runner_api::LeaseEnvelope;
7
8/// Heartbeat request payload (progress and optional events).
9#[derive(Debug, Clone, Serialize, Deserialize, Default)]
10pub struct HeartbeatRequest {
11    pub progress: serde_json::Value,
12    #[serde(default)]
13    pub events: serde_json::Value,
14}
15
16/// Complete task request payload (shape is intentionally minimal here).
17#[derive(Debug, Clone, Serialize, Deserialize, Default)]
18pub struct CompleteTaskRequest {
19    pub outputs_index: serde_json::Value,
20    pub result: serde_json::Value,
21}
22
23/// Fail task request payload.
24#[derive(Debug, Clone, Serialize, Deserialize, Default)]
25pub struct FailTaskRequest {
26    pub reason: String,
27    #[serde(default)]
28    pub details: serde_json::Value,
29}