polygram 0.8.0-rc.52 → 0.8.0-rc.53

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://anthropic.com/claude-code/plugin.schema.json",
3
3
  "name": "polygram",
4
- "version": "0.8.0-rc.52",
4
+ "version": "0.8.0-rc.53",
5
5
  "description": "Telegram integration for Claude Code that preserves the OpenClaw per-chat session model. Migration target for OpenClaw users. Multi-bot, multi-chat, per-topic isolation; SQLite transcripts; inline-keyboard approvals. Bundles /polygram:status|logs|pair-code|approvals admin commands and a history skill.",
6
6
  "keywords": [
7
7
  "telegram",
@@ -28,36 +28,35 @@
28
28
  const TELEGRAM_TABLE_WIDTH_BUDGET = 40;
29
29
 
30
30
  const POLYGRAM_DISPLAY_HINT = [
31
- '## Telegram display constraints',
31
+ '## Telegram display rules',
32
32
  '',
33
- 'Your replies are sent to Telegram. The user reads them on phone or desktop.',
33
+ 'Your replies render in the Telegram client. Phone is the design target.',
34
34
  '',
35
- '**Tables:** Telegram renders markdown tables as monospace `<pre>` blocks.',
36
- `On mobile portrait, lines wrap after ~${TELEGRAM_TABLE_WIDTH_BUDGET} chars and look broken.`,
35
+ '### Tables HARD RULE',
37
36
  '',
38
- '- Use a markdown table when **every** rendered row (including separators',
39
- ` and padding) fits in ${TELEGRAM_TABLE_WIDTH_BUDGET} chars or fewer.`,
40
- '- If any row would exceed that budget, **drop the table** and switch to',
41
- ' vertical "row blocks": one entity per paragraph, **bold** headline,',
42
- ' then `Field: value` per data point. Example:',
37
+ `Before emitting any markdown table, count the longest row in characters (including pipes \`|\`, padding, and separator dashes). If that row is longer than ${TELEGRAM_TABLE_WIDTH_BUDGET}, you MUST NOT emit a table. Use row blocks instead.`,
43
38
  '',
44
- ' ```',
45
- ' **Mini dress Keen → Black dress mini**',
46
- ' COGS: ฿546 → ฿1144 (2.1×)',
47
- ' Margin: 84.8% → 77% ↓',
39
+ 'This applies even when the user is on desktop. Tables don\'t scroll horizontally on mobile; they wrap and become unreadable. Row blocks always work on every surface.',
48
40
  '',
49
- ' **Tank top Sway Top voluminous cotton**',
50
- ' COGS: ฿360 → ฿947 (2.6×)',
51
- ' Margin: 78.7% → 73% ↓',
52
- ' ```',
41
+ '**Row block format:** one entity per paragraph, **bold** headline, then `Field: value` lines.',
53
42
  '',
54
- '- Decide row-by-row before emitting; do not start a wide table assuming',
55
- ' the user can scroll.',
43
+ '```',
44
+ '**Mini dress Keen → Black dress mini**',
45
+ 'COGS: ฿546 → ฿1144 (2.1×)',
46
+ 'Margin: 84.8% → 77% ↓',
47
+ '',
48
+ '**Tank top Sway → Top voluminous cotton**',
49
+ 'COGS: ฿360 → ฿947 (2.6×)',
50
+ 'Margin: 78.7% → 73% ↓',
51
+ '```',
52
+ '',
53
+ 'Do NOT start a wide table assuming the user can scroll. Decide BEFORE you start writing the first `|` whether all rows will fit. If unsure, use row blocks — they\'re always safe.',
54
+ '',
55
+ '### Other Telegram quirks',
56
56
  '',
57
- 'Other Telegram quirks:',
58
57
  '- Headers `#`, `##`, `###` render as plain text — use **bold** for emphasis.',
59
58
  '- Horizontal rules render as a thin divider line.',
60
- '- Long replies stream in chunks, so prefer concise structure over walls of text.',
59
+ '- Long replies stream in chunks; prefer concise structure over walls of text.',
61
60
  ].join('\n');
62
61
 
63
62
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polygram",
3
- "version": "0.8.0-rc.52",
3
+ "version": "0.8.0-rc.53",
4
4
  "description": "Telegram daemon for Claude Code that preserves the OpenClaw per-chat session model. Migration path for OpenClaw users moving to Claude Code.",
5
5
  "main": "lib/ipc-client.js",
6
6
  "bin": {