moe_plugin_sdk/security/
verifier.rs1use serde::{Deserialize, Serialize};
2use crate::types::{PluginType, Capability};
3
4#[derive(Serialize, Deserialize)]
5pub struct PluginHeader {
6 pub name: String,
7 pub version: semver::Version,
8 pub plugin_type: PluginType,
9 pub target_runtime: String,
10 pub cmir_version: u32,
11}
12
13#[derive(Serialize, Deserialize)]
14pub struct PluginManifest {
15 pub required_capabilities: Vec<Capability>,
16 pub forbidden_capabilities: Vec<Capability>,
17 pub deterministic: bool,
18 pub offline_only: bool,
19 pub execution_timeout_ms: u64,
20}
21
22pub struct SPF13 {
23 pub header: PluginHeader,
24 pub manifest: PluginManifest,
25 pub payload: Vec<u8>,
26 pub signature: [u8; 64], pub checksum: [u8; 32], }