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

@only-chat/client

v0.2.0-beta.27

Published

Client for only-chat

Readme

only-chat

This is a client implementation for only-chat.

The client is a main part of the platform that processes and dispatches messages from the transport layer and from the queue.

Client Statuses

| Status | Value | Description | | :--- | :--- | :--- | | None | 0 | The client was created, no actions have been performed with it. | | Authenticated | 1 | The client is successfully authenticated. | | Connected | 2 | The client is successfully connected to the server. | | Session | 3 | The client has joined one of the chats. | | WatchSession | 4 | The client is monitoring changes in all chats. | | Disconnected | 0xFF | The client is successfully disconnected from the server. |

Request Structure

For all commands, the request is of the type Request:

{
  type: string;        // Command type
  clientMessageId: string; // Client identifier
  data: object;        // Request data
}

Command Specifications

Status: None

  • Any command is treated as a connection command to the service.
  • Must be of request type: ConnectRequest.

Status: Connected, Session, or WatchSession

The command must be of request type JoinRequest or Request.

| Command | Description | Request Data Type | | :--- | :--- | :--- | | close | Command to close a conversation; new messages cannot be added to a closed conversation. | ConversationRequest | | delete | Command to delete a conversation. If a user attempts to delete a conversation where they are not the creator, they will be removed from the conversation and the participant list. | ConversationRequest | | update | Command to modify a conversation; the creator can change the title and participant list. | ConversationRequest | | find | Search for messages in conversations. | FindRequest | | load | Retrieve the list of the user's conversations. | LoadRequest |


Status: Connected

The command must be of request type JoinRequest.

| Command | Description | | :--- | :--- | | join | Join a conversation. | | watch | Monitor changes in conversations. |


Status: Session

The command must be of request type Request.

| Command | Description | Request Data Type | | :--- | :--- | :--- | | text | Add a text message to the current conversation. | TextMessage | | file | Add a message with a link to an external resource in the current conversation. | FileMessage | | message-update | Command to edit a message in the current conversation; the author can modify it. | MessageUpdate | | message-delete | Command to delete a message in the current conversation; the author can delete it. | MessageDelete | | load-messages | Command to load messages in the current conversation. | LoadRequest |


Error Handling

Any other command or an incorrect request type is considered an error and results in forced connection termination and disconnection of the client from the service.