npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@kontourai/console-ui

v0.2.0

Published

Kontour Console React app, and the host-mountable board/timeline/fleet view components it is built from.

Downloads

265

Readme

Console UI

React + Vite starter for the local Console hub, and the source of the published @kontourai/console-ui host-mountable view components.

Run the app locally

Run the local hub and UI together from the parent package:

cd /Users/brian/dev/github/kontourai/kontour-console
npm run dev:local

The runner picks available local ports and wires the UI hub URL and server CORS origins together. To pin ports:

npm run dev:local -- --hub-port 3738 --ui-port 5175

Manual split terminals are still supported. Run the hub from the parent package:

npm run serve -- --host 127.0.0.1 --port 3738

Run the UI in another terminal and point it at the hub:

cd console-ui
VITE_CONSOLE_HUB_URL=http://127.0.0.1:3738 npm run dev -- --host 127.0.0.1 --port 5175

The UI connects with EventSource on the canonical /stream SSE path and updates from state, record.accepted, and telemetry.updated events. It does not poll for hub state or execute actions.

Host-mountable components (@kontourai/console-ui, console#230)

This package's . export (lib/src/index.ts, built to dist-lib) ships BoardView and the pure deriveBoard projection it is built on, for a host product to mount directly:

import { BoardView } from "@kontourai/console-ui";
// All four stylesheets below are required — BoardView itself only ships
// `./board.css` (its own component-scoped classes); the token/theme/react
// sheets are @kontourai/ui's own prerequisite for ANY of its primitives
// (BoardView uses @kontourai/ui/react's <Empty> for its zero-items state).
import "@kontourai/ui/tokens.css";
import "@kontourai/ui/themes.css";
import "@kontourai/ui/react/styles.css";
import "@kontourai/console-ui/board.css";

<BoardView
  operatingState={state}     // a locally-built @kontourai/console-core OperatingState
  onIntent={(intent) => {}}  // optional — a ConsoleAction-shaped intent (console#230/#231)
  now={Date.now()}           // optional — a fixed reference clock for deterministic (e.g. SSR) renders
/>;

Every exported view is a pure render over the operatingState you provide — no fetching, no owned network/selection state. Leaving onIntent unbound renders the view inert/read-only (no interactive affordance for an action the host isn't listening for). react and react-dom are peer dependencies: the host supplies its own copy. The bundled Console app above (src/) mounts the SAME BoardView export, through the SAME @kontourai/console-ui package specifier (src/sections/BoardSection.tsx imports from "@kontourai/console-ui", resolved via the npm workspace like any other host would resolve it from npm) — no fork, and no relative reach into this package's internals.

Binding onIntent to real authority (claim/gate/consent semantics) is console#231's job; this package only defines and emits the intent shape.