diff --git a/CHANGELOG.md b/CHANGELOG.md index d7d1a48..7adba83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ - `[Queue]` Upgraded Telegram turn queueing with previews, reaction-driven prioritization/removal, media-group handling, aborted-turn history preservation, and safer dispatch gating. Impact: follow-up handling is more transparent and less prone to lifecycle races. - `[Rendering]` Added Telegram-oriented Markdown rendering and hardened reply streaming/chunking behavior, including narrower monospace Markdown table output without outer side borders, monospace list markers for unordered and ordered lists, and flattened nested quote indentation inside a single Telegram blockquote. Impact: formatted replies render more reliably while preserving literal code blocks and using width more efficiently on narrow Telegram clients. - `[Runtime]` Hardened attachment delivery, polling/runtime behavior, Telegram session integration, preview-finalization and reply-transport routing into the replies domain, lazy Telegram API client routing into the Telegram API domain, turn-building extraction into its own domain, menu/model-resolution plus menu-state, pure menu-page derivation, pure menu render-payload builders, menu-message runtime, callback parsing, callback entry handling, callback mutation helpers, full model-callback planning and execution, and interface-polished callback effect ports into the menu domain, direct execute-from-update routing into the updates domain, model-switch restart glue extraction into the model-switch domain, and tool/command/lifecycle-hook registration extraction into a dedicated registration domain. Impact: the bridge is more robust as a daily Telegram frontend for pi. -- `[Metadata]` Updated package repository metadata to point at the `llblab/pi-telegram` fork. Impact: published package links no longer send users to stale upstream coordinates. +- `[Metadata]` Updated package repository metadata to point at the `llblab/pi-telegram` fork and renamed the npm package to `@llblab/pi-telegram` with public scoped publish settings. Impact: published package links no longer send users to stale upstream coordinates and the package can be published under the fork-owned npm scope. - `[Validation]` Added lightweight regression tests for Telegram Markdown rendering, queue/runtime/agent-loop/session/control/dispatch, replies, polling, updates, attachments, registration, turns, menu, and Telegram API/media/config helpers, including quote/list, table, link/code, mixed-link/code chunking, mixed-block chunk transitions, long multi-block, long-quote, long inline-formatting chunk boundaries, list-code-quote-prose chunk transitions, narrower monospace table rendering without outer side borders, monospace unordered and ordered list markers, flattened nested quote indentation inside one Telegram blockquote, inbound poll/pair/dispatch runtime cases, preview finalization, aborted-turn history carry-over, queued-status/model-after-agent-end sequencing, compaction gating, media-group debounce dispatch, direct menu callback planning and execution, pure menu-page derivation, pure menu render-payload builders, reaction-driven reprioritization/removal, immediate in-flight model-switch continuation, delayed abort-after-tool-completion, lazy Telegram API client routing, turn-building, and scoped-model resolution. Impact: key renderer and queue invariants now have repeatable automated coverage across the known high-risk bridge paths. - `[Model Switching]` Enabled `/model` during an active Telegram-owned run by applying the new model and continuing on the new model automatically, delaying the abort until the current tool finishes when needed. Impact: Telegram can now approximate pi's manual stop-switch-continue workflow with fewer mid-tool aborts. - `[Queue Core]` Introduced queued item kinds and explicit queue-lane ordering semantics so prompt turns and synthetic control actions share one ordering model, then regrouped the extracted helpers into flatter domain-oriented `/lib` modules such as queue, replies, polling, updates, attachments, turns, menu, Telegram API, and registration while keeping `index.ts` as the entrypoint. Prompt items now stay queued until `agent_start` consumes the dispatched turn, which restores correct active-turn binding for previews and final delivery. Impact: the bridge now has a clearer foundation for scheduling async extension operations alongside Telegram prompts without losing a single obvious runtime entry file. diff --git a/README.md b/README.md index 0f5bb0b..8ccc573 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,12 @@ In short: this fork is no longer just a repackaged copy of upstream; it is a fea ## Install +From npm once published: + +```bash +pi install @llblab/pi-telegram +``` + From git: ```bash @@ -39,7 +45,7 @@ pi install git:github.com/llblab/pi-telegram Or for a single run: ```bash -pi -e git:github.com/llblab/pi-telegram +pi -e @llblab/pi-telegram ``` ## Configure diff --git a/package-lock.json b/package-lock.json index 493949d..0e825a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { - "name": "pi-telegram", - "version": "0.1.0", + "name": "@llblab/pi-telegram", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "pi-telegram", - "version": "0.1.0", + "name": "@llblab/pi-telegram", + "version": "0.2.0", "license": "MIT", "peerDependencies": { "@mariozechner/pi-agent-core": "*", diff --git a/package.json b/package.json index ac676d1..2fb9a42 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "pi-telegram", + "name": "@llblab/pi-telegram", "version": "0.2.0", "private": false, "description": "Telegram DM bridge extension for pi", @@ -23,6 +23,9 @@ "scripts": { "test": "node --experimental-strip-types --test tests/*.test.ts" }, + "publishConfig": { + "access": "public" + }, "pi": { "extensions": [ "./index.ts"