adk_computer_use/contracts/
safety.rs1use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
8#[serde(rename_all = "camelCase")]
9pub struct SafetyCorpus {
10 pub schema_version: u32,
12 pub description: String,
14 pub scenarios: Vec<SafetyScenario>,
16}
17
18#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
20#[serde(rename_all = "camelCase")]
21pub struct SafetyScenario {
22 pub id: String,
24 pub fault: String,
26 pub expected: SafetyExpectation,
28}
29
30#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
32#[serde(rename_all = "camelCase")]
33pub struct SafetyExpectation {
34 #[serde(skip_serializing_if = "Option::is_none")]
36 pub status: Option<String>,
37 #[serde(skip_serializing_if = "Option::is_none")]
39 pub error: Option<String>,
40 #[serde(skip_serializing_if = "Option::is_none")]
42 pub receipt_status: Option<String>,
43 pub effects: u32,
45 pub restores: u32,
47 #[serde(skip_serializing_if = "Option::is_none")]
49 pub replay_effects: Option<u32>,
50}