Skip to main content

edgecrab_plugins/
lib.rs

1pub mod config;
2pub mod context;
3pub mod discovery;
4pub mod error;
5pub mod guard;
6pub mod hermes;
7pub mod host_api;
8pub mod hub;
9pub mod manifest;
10pub mod script;
11pub mod skill;
12pub mod tool_server;
13pub mod types;
14
15pub use context::{ContextEngineManifest, discover_context_engines, find_context_engine_manifest};
16
17pub use config::{
18    HostApiLimitsConfig, HubSource, PluginOverrideConfig, PluginSecurityConfig, PluginsConfig,
19    PluginsHubConfig,
20};
21pub use discovery::{
22    DiscoveredPlugin, PluginDiscovery, build_plugin_skill_prompt, discover_plugins,
23};
24pub use error::PluginError;
25pub use guard::{
26    ScanFinding, ScanResult, ScanVerdict, Severity, ThreatCategory, VerdictResult,
27    scan_plugin_bundle, should_allow_install,
28};
29pub use hermes::{
30    HermesCliCommand, HermesEntrypointPlugin, HermesPluginManifest, discover_entrypoint_plugins,
31    extract_pre_llm_context, invoke_cli_command as invoke_hermes_cli_command,
32    invoke_hook as invoke_hermes_hook, looks_like_hermes_plugin, parse_hermes_manifest,
33    supports_hook as hermes_supports_hook, synthesize_entrypoint_manifest,
34    synthesize_manifest as synthesize_hermes_manifest,
35};
36pub use host_api::{handle_host_request, is_host_method};
37pub use hub::{
38    HubIndex, HubIndexPlugin, InstallSourceKind, PluginAuditEntry, PluginHubSourceInfo, PluginMeta,
39    PluginSearchGroup, PluginSearchReport, PluginSearchResult, SharedInstallFile,
40    SharedInstallFileSource, append_audit_entry, clear_hub_cache, hub_source_names,
41    hub_source_summaries, install_shared_files, materialize_source_to_dir, read_audit_entries,
42    resolve_install_source, search_hub, search_hub_report, sha256_dir,
43};
44pub use manifest::{
45    INSTALL_METADATA_FILE, InstallMetadata, PluginExecConfig, PluginManifest, PluginRestartPolicy,
46    ensure_installable_manifest, parse_plugin_manifest, read_bundle_install_metadata,
47    write_bundle_install_metadata, write_install_metadata,
48};
49pub use skill::sync::{BundledSyncReport, BundledSyncStatus, bundled_skills_sync};
50pub use types::{PluginKind, PluginStatus, SkillReadinessStatus, SkillSource, TrustLevel};