Skip to content

four-bytes/four-opencode-plugin-lib

Repository files navigation

@four-bytes/opencode-plugin-lib

npm license bun

Shared utilities for opencode plugins.

Install

npm install @four-bytes/opencode-plugin-lib

Usage

import { createToast } from "@four-bytes/opencode-plugin-lib";
import type { PluginInput } from "@opencode-ai/plugin";

const _serverPlugin = async (input: PluginInput) => {
  const toast = createToast(input.client, "My Plugin 🚀");
  toast("Operation complete", "success");
};

API

createToast(client, defaultTitle)

Creates a toast function bound to a plugin client. Silently swallows all errors — never breaks plugin operation on UI failure.

Returns: (message: string, variant?: "info" | "success" | "warning" | "error", title?: string) => void

License

Apache-2.0


If this plugin saves you tokens, consider leaving a ⭐ on GitHub.

Bus Channel Convention

Use session-scoped channels for per-session communication:

{plugin}/{sessionID}

Server side: Capture sessionID from hook callbacks (chat.message.input.sessionID, event.properties.sessionID).

TUI side: Receive sessionID from slot props (sidebar_content.props.session_id).

Wildcard: TUI can subscribe to {plugin}/+ for all sessions.

About

Shared utilities for opencode plugins — toast wrapper, helpers

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors