idlewarden_plugin_api/
lib.rs1pub mod action;
14pub mod capability;
15pub mod manifest;
16pub mod observation;
17pub mod value;
18
19pub use action::{ActionOutcome, InputCommand, Intent, Key, MouseButton, Point};
20pub use capability::{Capability, TrustLevel};
21pub use manifest::{
22 ApiVersion, GameMatcher, PluginId, PluginManifest, SignalDecl, SignalId, API_VERSION,
23};
24pub use observation::{Confidence, Observation, Signal};
25pub use value::Value;
26
27#[derive(Debug, thiserror::Error)]
29pub enum PluginError {
30 #[error("plugin targets API version {found}, host supports {supported}")]
31 IncompatibleApi { found: String, supported: String },
32 #[error("manifest is invalid: {0}")]
33 InvalidManifest(String),
34 #[error("capability `{0}` was not granted to this plugin")]
35 CapabilityDenied(String),
36 #[error("observation failed: {0}")]
37 Observe(String),
38 #[error("action failed: {0}")]
39 Act(String),
40}