feat: Implement plugin singleton pattern with shutdown support
- Add singleton support for plugin boxes (e.g., CounterBox) - Implement shutdown_plugins_v2() for controlled plugin lifecycle - Plugin instances now shared across multiple new() calls - Shutdown properly releases and allows re-initialization - All singleton E2E tests passing ✅ ChatGPT5による高度なプラグインライフサイクル管理実装 - シングルトンパターンでプラグインインスタンス共有 - 明示的なshutdownでリソース解放と再初期化対応 - Nyashの統一ライフサイクルポリシー維持 Note: ast.rs test failures are due to rapid development pace - tests need updating for new BoxDeclaration fields (private_fields, public_fields) 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -47,6 +47,10 @@ pub struct BoxTypeConfig {
|
||||
|
||||
/// Method definitions
|
||||
pub methods: HashMap<String, MethodDefinition>,
|
||||
|
||||
/// Singleton service flag (keep one shared instance alive in loader)
|
||||
#[serde(default)]
|
||||
pub singleton: bool,
|
||||
}
|
||||
|
||||
/// Method definition (simplified - no argument info needed)
|
||||
|
||||
Reference in New Issue
Block a user