@llblab/pi-telegram 0.24.9 → 0.24.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/docs/public-api.md +1 -1
- package/lib/status.ts +10 -11
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.24.10: Compact Thread Role Hotfix
|
|
6
|
+
|
|
7
|
+
- `Status`: Threaded Mode status again appends only `@leader` or `@follower` to the execution status instead of repeating the visible Telegram tab name on a separate `Thread` row. Impact: compact `/status` output avoids redundant thread identity while retaining the transport role.
|
|
8
|
+
- `Validation`: Graceful-cleanup integration now accepts both fully committed removal and the safe ownership-fenced fallback of retaining the exact target plus durable cleanup intent after Telegram already confirmed deletion. Impact: Windows validation tests the recovery invariant instead of requiring one filesystem commit timing outcome.
|
|
9
|
+
|
|
5
10
|
## 0.24.9: Button-Only Heading Hotfix
|
|
6
11
|
|
|
7
12
|
- `Prompt Buttons`: The automatic parent text for button-only assistant replies now follows the bridge-owned dialog heading grammar as `☑️ **Choose an option:**`. Impact: fallback button prompts match reasoning, model, and settings choice surfaces with a semantic icon, bold title, and trailing colon instead of appearing as unformatted assistant text.
|
package/docs/public-api.md
CHANGED
|
@@ -336,7 +336,7 @@ Contract:
|
|
|
336
336
|
- Providers are synchronous because `/start` status text is rendered inline with the menu.
|
|
337
337
|
- Return `undefined` when the line is not relevant for the active model.
|
|
338
338
|
- Provider failures are isolated and skipped so optional companion status cannot break the core Telegram menu.
|
|
339
|
-
- The bridge renders rows as `<Label>: <value>` in the same HTML status block as Status,
|
|
339
|
+
- The bridge renders rows as `<Label>: <value>` in the same HTML status block as Status, Usage, Cost, and Context, capitalizing the first label character for Telegram UI consistency.
|
|
340
340
|
|
|
341
341
|
## Updates
|
|
342
342
|
|
package/lib/status.ts
CHANGED
|
@@ -1272,13 +1272,11 @@ function buildStatusSummary(ctx: TelegramStatusContext): string {
|
|
|
1272
1272
|
return "unknown";
|
|
1273
1273
|
}
|
|
1274
1274
|
|
|
1275
|
-
function
|
|
1275
|
+
function buildTelegramStatusRoleSuffix(
|
|
1276
1276
|
state: TelegramBridgeStatusLineState | undefined,
|
|
1277
|
-
): string
|
|
1278
|
-
if (state?.botThreadMode !== "enabled" || !state.busRole) return
|
|
1279
|
-
|
|
1280
|
-
const identity = threadName || (state.instanceSlot ? `[${state.instanceSlot}]` : "");
|
|
1281
|
-
return identity ? `${identity} @${state.busRole}` : undefined;
|
|
1277
|
+
): string {
|
|
1278
|
+
if (state?.botThreadMode !== "enabled" || !state.busRole) return "";
|
|
1279
|
+
return ` @${state.busRole}`;
|
|
1282
1280
|
}
|
|
1283
1281
|
|
|
1284
1282
|
export function buildStatusHtml(
|
|
@@ -1290,11 +1288,12 @@ export function buildStatusHtml(
|
|
|
1290
1288
|
const usesSubscription = activeModel
|
|
1291
1289
|
? ctx.modelRegistry.isUsingOAuth(activeModel)
|
|
1292
1290
|
: false;
|
|
1293
|
-
const lines: string[] = [
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1291
|
+
const lines: string[] = [
|
|
1292
|
+
buildStatusRow(
|
|
1293
|
+
"Status",
|
|
1294
|
+
`${buildStatusSummary(ctx)}${buildTelegramStatusRoleSuffix(bridgeStatus)}`,
|
|
1295
|
+
),
|
|
1296
|
+
];
|
|
1298
1297
|
const usageSummary = buildUsageSummary(stats);
|
|
1299
1298
|
const costSummary = buildCostSummary(stats, usesSubscription);
|
|
1300
1299
|
if (usageSummary) {
|