lenso_contracts/
runtime.rs1use serde::{Deserialize, Serialize};
7use utoipa::ToSchema;
8
9#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)]
10pub struct RuntimeSurface {
11 #[serde(default)]
12 pub functions: Vec<RuntimeFunctionDeclaration>,
13}
14
15#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)]
16pub struct RuntimeFunctionDeclaration {
17 pub name: String,
19 pub version: u16,
21 pub queue: String,
23 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub input_schema: Option<String>,
26 #[serde(default, skip_serializing_if = "Option::is_none")]
29 pub retry_policy: Option<RuntimeRetryPolicyDeclaration>,
30}
31
32#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)]
33pub struct RuntimeRetryPolicyDeclaration {
34 pub max_attempts: u32,
35 pub initial_delay_ms: u64,
36}