#include <napi.h>
#include "tools/mouse.h"
#include "tools/keyboard.h"
#include "plugin.h"

// 模块初始化函数
Napi::Object Init(Napi::Env env, Napi::Object exports) {
    // 修正：PluginManager 调用语法
    PluginManager& manager = PluginManager::GetInstance();
    manager.RegisterPlugin(new MousePlugin());
    manager.RegisterPlugin(new KeyboardPlugin());
    
    // 初始化所有插件
    return manager.InitAllPlugins(env, exports);
}

// 导出模块（Node-API 稳定接口）
NODE_API_MODULE(os_sdk, Init)