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

pi-telegram-tool-status

v1.0.4

Published

Companion extension for pi-telegram (by llblab) — posts a compact live-updating service message listing tools used by the agent during Telegram-originated turns only.

Readme

pi-telegram-tool-status

Tested with pi-telegram

Companion extension for pi-telegram by @llblab. Displays a compact, live-updating service message in Telegram listing every tool executed by the agent.

⚠️ Requires pi-telegram — this extension does nothing on its own. It was developed and tested specifically against llblab/pi-telegram. Forks may work but are not guaranteed.

How it works

  • One service message per Telegram prompt — created lazily on the first tool call.
  • The message is edited in-place as new tools are executed (tool_execution_start).
  • Ordinary agent replies are sent separately and never mixed with the service message.
  • After agent_end the final message stays in chat for review.
  • If the agent answers without tools, no message is sent at all.
  • Only activates for Telegram-originated turns — console work is not mirrored.

Demo

🛠 Tools used:

1. 📖 read — …/telegram/tool-status.ts
2. 📖 read — …/telegram/status.ts
3. ✏️ edit — …/telegram/tool-status.ts
4. 💻 bash — docker compose exec backend python manage.py migra…
5. ✏️ edit — …/telegram/tool-status.ts
6. ⚙️ mcp — gitlab-platform-2/list_merge…

Install

Make sure pi-telegram is installed and connected first.

From npm

pi install npm:pi-telegram-tool-status

From git

pi install git:github.com/Timur00Kh/pi-telegram-tool-status

Manual (global)

Copy index.ts to ~/.pi/agent/extensions/pi-telegram-tool-status.ts.

Requirements

  • Required: pi-telegram must be installed, configured (/telegram-setup), and connected (/telegram-connect).
    • This extension was developed and tested with llblab/pi-telegram. Compatibility with forks is not guaranteed.
  • The extension activates only when:
    1. The current pi session owns the Telegram lock (locks.json).
    2. The current turn originated from Telegram (prompt prefixed with [telegram]).

Features

| Feature | Description | |---------|-------------| | Lazy creation | Message appears only when the first tool is actually called. No empty messages for text-only replies. | | Telegram-only | Does nothing for local console prompts. Only mirrors tool usage for Telegram-originated turns. | | In-place edits | One message per prompt, continuously updated. No spam. | | Emoji icons | 📖 read, 📝 write, ✏️ edit, 💻 bash, ⚙️ everything else. | | Smart truncation | Paths truncated from the start (filename preserved), bash from the end (command start preserved), others minimal 50 chars. | | Bash path compression | Long file paths inside bash commands are middle-truncated to keep both root and filename visible. | | Secret masking | Authorization, Bearer, token=, env vars with TOKEN/KEY/SECRET are hidden. | | Hidden overflow | If more than 15 tools — shows last 15 + … N more actions hidden. | | Auto-deactivation | Extension does nothing if Telegram is not connected, the lock belongs to another process, or the turn is local. |

Known Issues / Notes

  • Settings menu appears after first message — The 🛠 Tool Status row in the Telegram Settings submenu (/start → ⚙️ Settings) registers lazily on the first agent turn. If you just installed or reloaded the extension, send any message to the bot (or run any console command) and then open Settings — the row will be there.

License

MIT