polygram 0.9.0-rc.2 → 0.9.0-rc.3

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.9.0-rc.2",
4
+ "version": "0.9.0-rc.3",
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 plus history (transcript queries) and polygram-send (out-of-turn IPC sends with file-upload validation) skills.",
6
6
  "keywords": [
7
7
  "telegram",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polygram",
3
- "version": "0.9.0-rc.2",
3
+ "version": "0.9.0-rc.3",
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": {
package/polygram.js CHANGED
@@ -1868,17 +1868,18 @@ async function main() {
1868
1868
  // factory threads the runtime context in via DI. onRespawn dropped
1869
1869
  // earlier — SDK pm applies /model + /effort live so there's no
1870
1870
  // drain event to hook.
1871
- const sdkCallbacks = createSdkCallbacks({
1872
- db, dbWrite, config, bot, botName: BOT_NAME, tg, logEvent,
1873
- classifyToolName, announce, shouldAnnounce, contextHintShown,
1874
- extractAssistantText, getChatIdFromKey, getThreadIdFromKey,
1875
- logger: console,
1876
- });
1871
+ //
1872
+ // Wire-order: sdkCallbacks destructures `bot` at call time and
1873
+ // its onCompactBoundary closure captures that local binding. Must
1874
+ // run AFTER `bot = createBot(...)` below — see "Order encoded
1875
+ // below" further down. The pmOpts construction is split: cap+db
1876
+ // here, ...sdkCallbacks merged in once bot is alive. v4-rc.2 had
1877
+ // this in the wrong order — post-compact reply crashed with
1878
+ // "Cannot read properties of null (reading 'api')".
1877
1879
  const pmOpts = {
1878
1880
  cap,
1879
1881
  db,
1880
1882
  logger: console,
1881
- ...sdkCallbacks,
1882
1883
  };
1883
1884
 
1884
1885
  // 0.9.0 wiring order matters here. The factories destructure
@@ -1899,6 +1900,14 @@ async function main() {
1899
1900
 
1900
1901
  bot = createBot(config.bot.token);
1901
1902
 
1903
+ const sdkCallbacks = createSdkCallbacks({
1904
+ db, dbWrite, config, bot, botName: BOT_NAME, tg, logEvent,
1905
+ classifyToolName, announce, shouldAnnounce, contextHintShown,
1906
+ extractAssistantText, getChatIdFromKey, getThreadIdFromKey,
1907
+ logger: console,
1908
+ });
1909
+ Object.assign(pmOpts, sdkCallbacks);
1910
+
1902
1911
  ({
1903
1912
  makeCanUseTool,
1904
1913
  handleApprovalCallback,