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

voice-crm-cli

v0.1.0

Published

`agentlog` is the first-party CLI for creating accounts, authenticating, sending logs, and uploading full audio files for processing.

Readme

AgentLog CLI

agentlog is the first-party CLI for creating accounts, authenticating, sending logs, and uploading full audio files for processing.

Server deployments must set DEEPGRAM_API_KEY and should run the 0007_deepgram_diarization.sql migration before accepting audio uploads through the CLI.

Install

npm install -g voice-crm-cli
agentlog --help

For one-off usage without a global install:

npx voice-crm-cli --help

Configure

agentlog signup --base-url https://app.agentlog.example \
  --email [email protected] \
  --full-name "Alex Agent" \
  --project "Brickell Team"

agentlog login --base-url https://app.agentlog.example --email [email protected]
agentlog whoami

The CLI saves credentials in ~/.agentlog/config.json with file mode 0600. You can also use AGENTLOG_BASE_URL and AGENTLOG_API_TOKEN.

Send Text

agentlog logs create --text "Met Maria. Budget is 850k in Brickell. Follow up Friday."
cat note.txt | agentlog logs create --stdin --wait

Send Audio

agentlog audio send ./call.mp3
agentlog audio send ./call.mp3 --wait
agentlog audio send ./call.mp3 --apply --yes

Audio uploads send the entire file to AgentLog as multipart form data. The API returns immediately with a queued log id:

{
  "id": "9f0b6c7e-2f86-4d01-83d5-cc9e5c0e4309",
  "status": "queued",
  "inputType": "audio",
  "createdAt": "2026-05-03T12:00:00.000Z",
  "pollUrl": "/api/v1/logs/9f0b6c7e-2f86-4d01-83d5-cc9e5c0e4309"
}

Use agentlog logs wait <id> or agentlog audio send <path> --wait to wait for Deepgram diarization and CRM extraction. Completed audio details include a plain transcript plus speakerSegments:

{
  "speakerSegments": [
    {
      "speaker": 0,
      "start": 1.17,
      "end": 2.89,
      "text": "Parker Scarves, how may I help you?"
    },
    {
      "speaker": 1,
      "start": 4.08,
      "end": 6.04,
      "text": "I got a scarf online for my wife."
    }
  ]
}

Read Logs

agentlog logs list
agentlog logs search "Brickell buyer"
agentlog logs get <id>
agentlog logs wait <id>
agentlog logs review <id>
agentlog logs apply <id> --yes

logs review shows the extracted CRM payload and proposed actions before writes happen. logs apply approves the processed log and queues CRM writes. To force links to existing CRM records, pass known target ids:

agentlog logs apply <id> --person <person_id> --company <company_id> --opportunity <opportunity_id> --yes

The same target flags work with audio send --apply:

agentlog audio send ./call.mp3 --apply --person <person_id> --company <company_id> --yes

HTTP Contract

Developers can upload full audio files directly without chunking:

curl -sS -X POST "$AGENTLOG_BASE_URL/api/v1/logs" \
  -H "Authorization: Bearer $AGENTLOG_API_TOKEN" \
  -H "Accept: application/json" \
  -F "audio=@./call.mp3" \
  -F "source=cli_audio_upload"

Text logs continue to use JSON:

curl -sS -X POST "$AGENTLOG_BASE_URL/api/v1/logs" \
  -H "Authorization: Bearer $AGENTLOG_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"Met Maria. Budget is 850k in Brickell."}'