fresh/services/plugins/
mod.rs

1//! Plugin system
2//!
3//! The plugin system provides TypeScript/JavaScript plugin support using QuickJS + oxc.
4//! When the `plugins` feature is disabled, only the type definitions (api, hooks, event_hooks)
5//! are available - the actual runtime is excluded.
6//!
7//! Use `PluginManager` as the main interface - it handles both enabled and disabled cases.
8
9pub mod api {
10    pub use fresh_core::api::*;
11}
12pub mod bridge;
13pub mod event_hooks;
14pub mod hooks;
15pub mod manager;
16
17#[cfg(feature = "embed-plugins")]
18pub mod embedded;
19
20// Re-export the main interface
21pub use manager::PluginManager;
22
23// Re-export thread module for oneshot channels used by plugin action execution
24#[cfg(feature = "plugins")]
25pub use fresh_plugin_runtime::thread;