diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-20 00:54:05 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-20 00:55:36 +0300 |
| commit | d30ab1b54f6b6be95a0cb47ddc38da1d5e088700 (patch) | |
| tree | eb2002b408c856d9fcd7a573afe73b917f22cd97 /src/api/schema/plugins.rs | |
| parent | 3f80947678a9723434aa7fddfe23750b5393e24c (diff) | |
feat: add plugin-driven agent views and startup hooks
Diffstat (limited to 'src/api/schema/plugins.rs')
| -rw-r--r-- | src/api/schema/plugins.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/api/schema/plugins.rs b/src/api/schema/plugins.rs index 75b40f97..52df3ca6 100644 --- a/src/api/schema/plugins.rs +++ b/src/api/schema/plugins.rs @@ -50,6 +50,8 @@ pub struct InstalledPluginInfo { #[serde(default, skip_serializing_if = "Vec::is_empty")] pub build: Vec<PluginManifestBuild>, #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub startup: Vec<PluginManifestStartup>, + #[serde(default, skip_serializing_if = "Vec::is_empty")] pub actions: Vec<PluginManifestAction>, #[serde(default, skip_serializing_if = "Vec::is_empty")] pub events: Vec<PluginManifestEventHook>, @@ -232,6 +234,13 @@ pub struct PluginManifestBuild { } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] +pub struct PluginManifestStartup { + #[serde(default, skip_serializing_if = "Option::is_none")] + pub platforms: Option<Vec<PluginPlatform>>, + pub command: Vec<String>, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, schemars::JsonSchema)] pub struct PluginManifestAction { pub id: String, pub title: String, |
