feat: Implement nyash.toml v2 plugin system with PluginLoaderV2

- Add plugin_loader_v2.rs with nyash.toml v2 support
- Create PluginBoxV2 as temporary wrapper for v2 plugins
- Update runner.rs to use v2 loader instead of legacy BID registry
- Update box_registry.rs to work with v2 plugin system
- Support single FFI entry point (nyash_plugin_invoke) + optional init
- Integrate with existing BoxFactoryRegistry for seamless Box creation
- All compilation errors resolved, ready for testing
This commit is contained in:
Moe Charm
2025-08-19 05:16:40 +09:00
parent 806aece8ad
commit 52c8ce1f7b
4 changed files with 278 additions and 16 deletions

View File

@ -4,6 +4,7 @@
pub mod plugin_config;
pub mod box_registry;
pub mod plugin_loader_v2;
// pub mod plugin_box; // legacy - 古いPluginBox
// pub mod plugin_loader; // legacy - Host VTable使用
@ -12,6 +13,7 @@ mod tests;
pub use plugin_config::PluginConfig;
pub use box_registry::{BoxFactoryRegistry, BoxProvider, get_global_registry};
pub use plugin_loader_v2::{PluginLoaderV2, get_global_loader_v2, init_global_loader_v2};
// pub use plugin_box::PluginBox; // legacy
// Use unified plugin loader (formerly v2)
// pub use plugin_loader::{PluginLoaderV2 as PluginLoader, get_global_loader_v2 as get_global_loader}; // legacy