aimo_client/types/
keys.rs

1use aimo_core::keys::{MetadataV1, SecretKeyV1};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Deserialize)]
5pub struct MetadataCanonicalRequest {
6    pub metadata: MetadataV1,
7}
8
9#[derive(Debug, Clone, Serialize)]
10pub struct MetadataCanonicalResponse {
11    pub canonical_json: String,
12}
13
14#[derive(Debug, Clone, Deserialize)]
15pub struct HumanMessageRequest {
16    pub metadata: MetadataV1,
17}
18
19#[derive(Debug, Clone, Serialize)]
20pub struct HumanMessageResponse {
21    pub human_message: String,
22}
23
24#[derive(Debug, Clone, Deserialize)]
25pub struct GenerateKeyRequest {
26    pub payload: SecretKeyV1,
27}
28
29#[derive(Debug, Clone, Serialize)]
30pub struct GenerateKeyResponse {
31    pub secret_key: String,
32}
33
34#[derive(Debug, Clone, Deserialize)]
35pub struct VerifyKeyRequest {
36    pub secret_key: String,
37}
38
39#[derive(Debug, Clone, Serialize)]
40pub struct VerifyKeyResponse {
41    pub result: bool,
42    pub reason: Option<String>,
43    pub payload: SecretKeyV1,
44}
45
46#[derive(Debug, Clone, Deserialize)]
47pub struct RevokeKeyRequest {
48    pub signer: String,
49    pub signature: String,
50    pub secret_key: String,
51}