Skip to main content

lenso_plugin_bundle/
model.rs

1use serde::{Deserialize, Serialize};
2
3/// Generated one-entry Plugin Manifest produced from source evidence.
4#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
5#[serde(deny_unknown_fields)]
6pub struct PluginManifestV2 {
7    pub schema_version: u32,
8    pub plugin_id: String,
9    pub release_version: String,
10    pub artifact: PluginArtifactV2,
11    pub entry: PluginEntryV2,
12}
13
14/// Exact final Component facts computed by the Bundle builder.
15#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
16#[serde(deny_unknown_fields)]
17pub struct PluginArtifactV2 {
18    pub path: String,
19    pub digest: String,
20    pub size: u64,
21    pub media_type: String,
22    pub target: String,
23}
24
25/// The single executable Plugin entry derived from source.
26#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
27#[serde(deny_unknown_fields)]
28pub struct PluginEntryV2 {
29    pub descriptor: serde_json::Value,
30}