/** * OpenCode TUI Plugin: Show All Sessions (DEBUG VERSION) * * Minimal version to test if plugin loads without crashes. * Only includes basic MCP toast suppression and keymap. */ // ── Plugin ───────────────────────────────────────────────────────────── const tui = async (api) => { // Log that we're alive console.log("[oc-session-all] Plugin loaded successfully!"); // ─── MCP Error Toast Suppression ───────────────────────────────────── api.event.on("tui.toast.show", (event) => { const props = event.properties; if ( props.variant === "error" && typeof props.message === "string" && (props.message.toLowerCase().includes("mcp") || props.message.toLowerCase().includes("mcp server") || props.message.toLowerCase().includes("mcp error") || props.message.toLowerCase().includes("failed to connect") || props.message.toLowerCase().includes("connection refused")) ) { props.variant = "info"; props.message = "MCP server offline (auto-reconnect when available)"; props.duration = 2000; } }); // ─── Minimal keymap (just to test registration works) ───────────────── try { api.keymap.registerLayer({ bindings: [ { key: "ctrl+o", desc: "All sessions picker (debug)", preventDefault: true, cmd: () => { console.log("[oc-session-all] Ctrl+O pressed!"); api.ui.toast({ message: "Plugin loaded! Ctrl+O works!", variant: "info", }); }, }, ], }); console.log("[oc-session-all] Keymap registered successfully!"); } catch (err) { console.error("[oc-session-all] Keymap registration failed:", err); } }; // ── Export ────────────────────────────────────────────────────────────── export default { id: "oc-session-all-debug", tui };