Skip to main content

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;
19pub mod plugin_dev_workspace;
20
21// Re-export the main interface
22pub use manager::PluginManager;
23
24// Re-export thread module for oneshot channels used by plugin action execution
25#[cfg(feature = "plugins")]
26pub use fresh_plugin_runtime::thread;