import type { OpenClawPluginApi } from "openclaw/plugin-sdk/core"; import { registerSandboxBackend } from "openclaw/plugin-sdk/core"; import { createOpenShellSandboxBackendFactory, createOpenShellSandboxBackendManager, } from "./src/backend.js"; import { createOpenShellPluginConfigSchema, resolveOpenShellPluginConfig } from "./src/config.js"; const plugin = { id: "openshell", name: "OpenShell Sandbox", description: "OpenShell-backed sandbox runtime for agent exec and file tools.", configSchema: createOpenShellPluginConfigSchema(), register(api: OpenClawPluginApi) { if (api.registrationMode !== "full") { return; } const pluginConfig = resolveOpenShellPluginConfig(api.pluginConfig); registerSandboxBackend("openshell", { factory: createOpenShellSandboxBackendFactory({ pluginConfig, }), manager: createOpenShellSandboxBackendManager({ pluginConfig, }), }); }, }; export default plugin;