wps-events

Route typed events between Wave Terminal components via a broker-based publish-subscribe system.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/marrabld/waveterm --skill wps-events-marrabld
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wps-events
Source: https://github.com/marrabld/waveterm/tree/main/.kilocode/skills/wps-events
Command: npx skills add https://github.com/marrabld/waveterm --skill wps-events-marrabld

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Wave PubSub (WPS) provides a centralized broker-based publish-subscribe mechanism to enable asynchronous, decoupled communication between components in Wave Terminal, simplifying event routing and coordination.

Core Features & Use Cases

  • Broker-based routing of events between publishers and subscribers with optional scopes
  • Definition of Event constants and data types to enable type-safe, structured events
  • Guidance for publishing, subscribing, and extending events, including best practices and debugging tips
  • Use Case: A UI block publishes a WaveObjUpdate event; a separate block subscribes to updates to refresh the display

Quick Start

Publish an event with wps.Broker.Publish specifying the Event constant and payload to trigger downstream subscribers.

Frequently Asked Questions about wps-events

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I coordinate events between Wave Terminal components?

You coordinate events between Wave Terminal components using a centralized broker-based publish-subscribe system. This enables asynchronous, decoupled communication, allowing separate UI blocks to route and react to events without direct dependencies.

What is the best way to implement pubsub routing for Wave Terminal apps?

The best way to implement pubsub routing is using a broker architecture with defined Event constants and type-safe payloads. This structure simplifies event routing across components and scopes while maintaining strict data integrity.

How do I publish an event to update a Wave Terminal UI block?

You publish an event by calling the broker's publish method with a specific Event constant and payload. Down subscriber blocks then receive the event asynchronously to trigger display refreshes or other updates.

Do I need defined Event constants to build a Wave Terminal pubsub system?

Yes, defining Event constants and data types is required to enable type-safe, structured events. This ensures publishers and subscribers maintain a strict contract for routing data across the Wave Terminal broker.

Can I scope event subscriptions to specific Wave Terminal blocks?

Yes, the broker-based routing supports optional scopes for event subscriptions. This allows you to isolate or target event broadcasts to specific components within your modular Wave Terminal application architecture.

Why does my Wave Terminal component not receive published events?

Components miss published events if the broker implementation lacks proper event persistence or subscription scoping. Following debugging best practices for structured event routing and verifying type-safe data payloads resolves this.