Core Packages (Always Required)
| Package | Purpose |
edge-stream-js | Core library — EdgeStream client, pipeline, hooks, subscriptions, transports |
edge-stream-js-react | React bindings — EdgeStreamProvider, useSubscription, useConnectionStatus |
Domain Plugin Packages
| Package | Topic Namespace | Use When |
@edge-stream/workflow-events | workflow.* | Building or consuming Flow Studio Observer Panel |
@edge-stream/agent-messages | agent.* | Building Octopus chat UI with streaming tokens |
@edge-stream/ui-actions | ui.* | Server-driven UI rendering, form delivery, navigation |
@edge-stream/system-events | system.* | Platform health monitoring, deployment notifications |
@edge-stream/ancp | ancp.* | Agent Node Communication Protocol — low-level agent-to-node messaging |
Observability Packages
| Package | Purpose |
@edge-stream/observability-hooks-js | External log hooks — Splunk, Datadog, Elasticsearch, New Relic, Sumo Logic, Graylog, WebMcp |
@edge-stream/observability-react | React monitor components — HooksMonitor, SubscribersMonitor, ActivityStreamMonitor |
@edge-stream/observability-react-native | React Native monitor components for mobile dashboards |
@edge-stream/observability-core | Core observability interfaces and LoggingService — shared by other observability packages |
UI Packages
| Package | Purpose |
@edge-stream/app-pages-react | Pre-built React page components for EdgeStream admin and DevTools apps |
@edge-stream/app-ui-components-react | Shared UI components (icons, badges, cards) used in EdgeStream apps |
@edge-stream/app-themes | CSS themes and design tokens for EdgeStream applications |
Installation Pattern
# Core (always)
pnpm add edge-stream-js edge-stream-js-react
# Add domain plugins as needed
pnpm add @edge-stream/workflow-events
pnpm add @edge-stream/agent-messages
# Add observability for development
pnpm add -D @edge-stream/observability-hooks-js @edge-stream/observability-react
Per-Package Usage
// Pattern: import plugin, register hooks, subscribe
import { WorkflowEventPlugin } from '@edge-stream/workflow-events';
const plugin = new WorkflowEventPlugin();
plugin.createDefaultHooks().forEach(hook =>
server.incomingPipeline.addHook(hook)
);
stream.subscribe('bas', 'workflow.*', workflowHandler);