BTerminal/v2/src-tauri/src/commands/plugins.rs
Hibryda b2932273ba feat: add plugin system with sandboxed runtime
Plugin discovery from ~/.config/bterminal/plugins/ with plugin.json
manifest. Sandboxed new Function() execution, permission-gated API
(palette, btmsg:read, bttask:read, events). Plugin store + SettingsTab.
2026-03-12 04:57:29 +01:00

20 lines
576 B
Rust

// Plugin discovery and file access commands
use crate::AppState;
use crate::plugins;
#[tauri::command]
pub fn plugins_discover(state: tauri::State<'_, AppState>) -> Vec<plugins::PluginMeta> {
let plugins_dir = state.app_config.plugins_dir();
plugins::discover_plugins(&plugins_dir)
}
#[tauri::command]
pub fn plugin_read_file(
state: tauri::State<'_, AppState>,
plugin_id: String,
filename: String,
) -> Result<String, String> {
let plugins_dir = state.app_config.plugins_dir();
plugins::read_plugin_file(&plugins_dir, &plugin_id, &filename)
}