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

@pioneer-platform/integration-report-v2

v2.2.51

Published

Clean, simple report generator for KeepKey - Gets LIVE data, outputs ASCII tables, ready for PDF

Readme

KeepKey Report Generator v2

Clean, simple report generator that gets LIVE data from a connected KeepKey device.

Features

LIVE Data - No hardcoded or fake data ✅ ASCII Tables - Clean console output ✅ JSON Export - Structured data ready for PDF generation ✅ LOD System - Level of Detail from 0 (basic) to 5 (maximum) ✅ Vault Compatible - Matches vault reportGenerators structure

Quick Start

1. Configure Report

Edit src/config.ts:

export const REPORT_CONFIG = {
  chain: 'bitcoin',  // Chain to report on
  lod: 0,           // Level of detail (0-5)
  options: {
    includeEmpty: false,
    gapLimit: 20,
  }
};

2. Run Report

# Build and run
pnpm run dev

# Or rebuild and run
pnpm run rebuild && pnpm run dev

3. View Output

  • Console: ASCII table output
  • JSON: Saved to ./output/report-{chain}-lod{lod}-{timestamp}.json

LOD Levels

| LOD | Description | Sections | |-----|-------------|----------| | 0 | Basic Overview | Device features + XPUB balances | | 1 | Account Details | + Account-level data | | 2 | Address Details | + Address-level data | | 3 | Transaction List | + Transaction details | | 4 | Full History | + Complete transaction history | | 5 | Maximum Detail | + All addresses and transactions |

Currently Implemented: LOD 0

Structure

intergration-report-v2/
├── src/
│   ├── config.ts             # Report configuration (EDIT HERE)
│   ├── types.ts              # Type definitions (matches vault)
│   ├── report-generator.ts   # Single-file generator (ALL LOD levels)
│   ├── formatters/
│   │   └── ascii-table.ts    # ASCII table formatter
│   └── index.ts              # Main runner
├── output/                    # Generated reports (JSON)
└── dist/                      # Compiled JavaScript

Single-File Design: All LOD levels in one file (report-generator.ts), just like keepkey-vault! You can copy this file directly to keepkey-vault if needed.

Example Output

╔══════════════════════════════════════════════════════════════════════════════╗
║                        BITCOIN Report - LOD 0                                ║
║                           Basic Overview                                     ║
║                   Generated: 2025-10-18 12:00:00 PM                         ║
║                        Chain: bitcoin | LOD: 0                               ║
╚══════════════════════════════════════════════════════════════════════════════╝

════════════════════════════════════════════════════════════════════════════════
Device Features
════════════════════════════════════════════════════════════════════════════════

  • Vendor: keepkey.com
  • Model: K1-14AM
  • Device ID: ABC123...
  • Label: My KeepKey
  • Firmware: 7.9.3
  • Initialized: Yes
  • PIN Protection: Enabled

════════════════════════════════════════════════════════════════════════════════
XPUB Balances
════════════════════════════════════════════════════════════════════════════════

+------------------+---------------+----------+-----------+--------+------------------------+
| Path             | Type          | Balance  | USD Value | Symbol | XPUB                   |
+------------------+---------------+----------+-----------+--------+------------------------+
| m/44'/0'/0'      | p2pkh         | 0.12345  | $5,234.56 | BTC    | xpub6D3uXJmdUg4x...   |
| m/49'/0'/0'      | p2sh-p2wpkh   | 0.00000  | $0.00     | BTC    | ypub6WamSeXgTYgy...   |
+------------------+---------------+----------+-----------+--------+------------------------+

Next Steps

Implement LOD 1-5

All LOD levels are in the single file src/report-generator.ts:

  • ✅ LOD 0: Basic overview (DONE)
  • ⚠️ LOD 1: Account details (TODO - implement getAccountDetails())
  • ⚠️ LOD 2: Address details (TODO - implement getAddressDetails())
  • ⚠️ LOD 3: Transaction details (TODO - implement getTransactionSummary())
  • ⚠️ LOD 4: Full history (TODO - implement getFullTransactionHistory())
  • ⚠️ LOD 5: Maximum detail (TODO - implement getAllAddresses() + getAllTransactions())

Just fill in the methods marked with // TODO: Implement when needed

PDF Generation

Add PDF formatter:

  • src/formatters/pdf-generator.ts
  • Use existing JSON output
  • Match vault's PDF styling

Copy to Vault

The single-file design makes it easy:

# Copy the generator to vault
cp src/report-generator.ts /path/to/keepkey-vault/src/components/asset/reportGenerators/

Important Notes

⚠️ NO FAKE DATA: This report generator ONLY uses live data from connected KeepKey device ⚠️ Device Required: A KeepKey device must be connected and unlocked ⚠️ LOD 0 Only: Currently only LOD 0 is implemented - other levels coming soon

SDK Integration Note

⚠️ Current Status: The SDK integration needs workspace packages to be built first.

To use this:

  1. Build the pioneer monorepo: cd ../../../ && make
  2. Or adapt the SDK initialization to your environment (browser, node, etc.)
  3. See existing e2e tests for working SDK examples

The core report-generator.ts is ready - just needs proper SDK initialized and passed in!

Compatibility

Designed to match the structure of:

  • /projects/keepkey-vault/src/components/asset/reportGenerators/

This ensures easy integration with vault's PDF generation system.