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

@bear-block/callx-testkit

v3.0.1

Published

Device-trial tools for callx: a local call console, test push sender and media adapter conformance

Readme

@bear-block/callx-testkit

Device-trial tools for callx and its media adapters. Test harness only: the console has no authentication and listens on 127.0.0.1 unless told otherwise.

| Command | What it does | |---|---| | callx-console | A local call server: sends FCM invitations, answers and ends calls as the remote side, issues LiveKit tokens, joins a call's audio as the caller from the browser, and follows each call from the device log | | callx-push | Sends one FCM or APNs VoIP test push | | callx-conformance android | Runs the media adapter conformance scenario on a device or emulator and exits non-zero on any failure |

Call console

callx-console [--service-account <firebase-adminsdk.json>] [--port 8787] [--host 0.0.0.0]

The service account comes from --service-account, CALLX_SERVICE_ACCOUNT, or the first *adminsdk*.json in ./packages/secrets. Debug builds of the callx examples report their push token and host log to it; the console keeps adb reverse set for connected Android devices. With --host 0.0.0.0, an iPhone on the same network reaches it at the Mac's address, and LiveKit URLs are rewritten to that address.

Media needs a LiveKit server with the --dev keys (devkey/secret) on port 7880, for example docker run --rm -p 7880:7880 -p 7881:7881 -p 7882:7882/udp livekit/livekit-server:v1.13.7 --dev --bind 0.0.0.0 --node-ip 127.0.0.1. The console's POST /api/media-token follows the adapter's token contract: {"callId"} in, {"url","token"} out.

Conformance

callx-conformance android [--device <adb serial>] [--console http://127.0.0.1:8787] [--package dev.bearblock.callx]

With the console and LiveKit running, and the app installed with the microphone allowed:

  1. The console invites the first online device through FCM; headless Chrome joins as the caller.
  2. The device rings; the test answers from the notification shade.
  3. Media connects (mediaConnected).
  4. The caller leaves: the device reports interrupted media and the call stays active.
  5. The caller returns: media reconnects.
  6. The remote side ends the call.
  7. Logcat shows no crash of the app process.

Chrome is found at its macOS path or CHROME. Every media adapter passes this on an Android device before release (ADR-0009). iOS conformance needs an iPhone, because the Simulator ends CallKit calls at once; it is manual for now.