vtcode_core/marketplace/
manifest.rs1use std::path::PathBuf;
4
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Deserialize, Serialize)]
9pub struct MarketplaceManifest {
10 pub name: String,
12
13 pub description: String,
15
16 pub plugins: Vec<PluginManifest>,
18}
19
20#[derive(Debug, Clone, Deserialize, Serialize)]
22pub struct PluginManifest {
23 pub id: String,
25
26 pub name: String,
28
29 pub version: String,
31
32 pub description: String,
34
35 pub entrypoint: PathBuf,
37
38 pub capabilities: Vec<String>,
40
41 pub source: String,
43
44 pub trust_level: Option<crate::config::PluginTrustLevel>,
46
47 #[serde(default)]
49 pub dependencies: Vec<String>,
50
51 #[serde(default)]
53 pub author: String,
54
55 #[serde(default)]
57 pub license: String,
58
59 #[serde(default)]
61 pub homepage: String,
62
63 #[serde(default)]
65 pub repository: String,
66}
67
68impl PluginManifest {}