virtualcode 2.2.0 → 2.2.2

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 CHANGED
@@ -5,6 +5,28 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.2.1] - 2026-06-20
9
+
10
+ ### Fixed
11
+ - All text overflow vectors eliminated (session titles, directories, IDs capped)
12
+ - `/model` not-found and `/agents` responses now chunked for long lists
13
+ - `ctx.payload` crash guard for undefined payload in all command handlers
14
+ - `notifyOnReconnect` messages moved after token validation
15
+
16
+ ### Changed
17
+ - Session IDs now display as short 5-char format (e.g. `a1b2c` instead of `ses_...`)
18
+ - `/link`, `/use`, `/ls` use abbreviated IDs for mobile-friendly display
19
+ - `/start` and `/help` updated for short ID format
20
+ - Pending message timeout now warns if session is not active
21
+ - Inactive session detection: rejects prompts for sessions idle >120s
22
+ - `LICENSE` year updated to 2025-2026
23
+ - `.gitignore` hardened (`.env`, `*.log`, `.kilocode/`)
24
+ - `install.js` now uses `stripJsonc` for `tui.json` (config no longer nuked)
25
+
26
+ ### Added
27
+ - `CONTRIBUTING.md` and `SECURITY.md`
28
+ - Session activity tracking in event handler
29
+
8
30
  ## [2.2.0] - 2026-06-20
9
31
 
10
32
  ### Added
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 virtualcode contributors
3
+ Copyright (c) 2025-2026 virtualcode contributors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,11 +1,14 @@
1
1
  # virtualcode
2
2
 
3
+ > **Published on npm as [`virtualcode`](https://www.npmjs.com/package/virtualcode)** ·
4
+ > [GitHub](https://github.com/ShaikhWarsi/VirtualCode)
5
+
3
6
  ```
4
- __ ___ _
5
- \ \ / (_)_ __ ___ ___ _ __ ___ | |_
6
- \ \ / /| | '_ \ / _ \/ _ \| '_ \ / _ \ | __|
7
- \ V / | | | | | __/ (_) | | | | (_) || |_
8
- \_/ |_|_| |_|\___|\___/|_| |_|\___/ \__|
7
+ _ _ _ _
8
+ __ _(_)_ __| |_ _ _ __ _| | ___ ___ __| | ___
9
+ \ \ / / | '__| __| | | |/ _` | |/ __/ _ \ / _` |/ _ \
10
+ \ V /| | | | |_| |_| | (_| | | (_| (_) | (_| | __/
11
+ \_/ |_|_| \__|\__,_|\__,_|_|\___\___/ \__,_|\___|
9
12
 
10
13
  Talk to your terminal from your phone.
11
14
  ```
@@ -90,14 +93,30 @@ Or configure it directly in `opencode.jsonc`:
90
93
  In your Telegram chat with the bot:
91
94
 
92
95
  ```
93
- /ls -- list your OpenCode sessions
94
- /link <ID> -- bind this chat to a session
96
+ /ls -- list your OpenCode sessions (shows short IDs like a1b2c)
97
+ /link a1b2c -- bind this chat to that session
95
98
  ```
96
99
 
97
100
  Now any message you send goes to that session. Responses come back automatically.
98
101
 
99
102
  ---
100
103
 
104
+ ## Session IDs
105
+
106
+ Session IDs in Telegram use a short format for mobile-friendly use.
107
+
108
+ ```
109
+ Full ID: ses_11c899884ffegeG6H8IQvW1UCR
110
+ Display: 11c89...
111
+ ```
112
+
113
+ - `/ls` shows abbreviated IDs: `20. What is 2+2? -- 11c89...`
114
+ - `/link a1b2c` matches any session whose short ID starts with `a1b2c`
115
+ - `/use a1b2c` works the same way
116
+ - You can still use the full `ses_...` ID if you have it
117
+
118
+ ---
119
+
101
120
  ## Commands
102
121
 
103
122
  ### Telegram Bot Commands
@@ -105,12 +124,19 @@ Now any message you send goes to that session. Responses come back automatically
105
124
  | Command | Description |
106
125
  |---------|-------------|
107
126
  | `/start` | Welcome message and quick setup guide |
108
- | `/link <ID>` | Bind this chat to an OpenCode session |
127
+ | `/link <ID>` | Bind this chat to an OpenCode session (short ID) |
109
128
  | `/unlink` | Remove the session binding |
110
129
  | `/status` | Show connection state and linked session |
111
- | `/ls` | List recent sessions (number, title, ID) |
112
- | `/use <N\|ID>` | Switch to a session by number or ID |
113
- | `/history [N]` | View last N messages in the linked session |
130
+ | `/ls` | List recent sessions (number, title, short ID) |
131
+ | `/use <N\|ID>` | Switch session by number or short ID |
132
+ | `/model` | Show current model override for linked session |
133
+ | `/model <providerID/modelID>` | Set model override |
134
+ | `/model clear` | Clear model override (use default) |
135
+ | `/models` | List all available models |
136
+ | `/session` | Show linked session details (title, ID, timestamps, file summary) |
137
+ | `/rename <title>` | Rename the linked session |
138
+ | `/agents` | List available agents |
139
+ | `/history [N]` | View last N messages (default 20, max 100) |
114
140
  | `/help` | Show command reference |
115
141
 
116
142
  Any other message is forwarded to the linked session as a prompt.
@@ -152,21 +178,34 @@ Any other message is forwarded to the linked session as a prompt.
152
178
  │ ┌──────────────┐ ┌──────────────────────────────┐ │
153
179
  │ │ │ send prompt │ │ │
154
180
  │ │ User sends │ ─────────────> │ session.prompt() │ │
155
- │ │ a message │ │ │ │
181
+ │ │ a message │ │ (async) │ │
156
182
  │ │ │ │ │ │
157
183
  │ │ │ response │ session.status -> idle │ │
158
184
  │ │ User sees │ <───────────── │ -> fetch last message │ │
159
- │ │ AI reply │ │ -> sendMessage() │ │
160
- │ │ │ │ │ │
185
+ │ │ AI reply │ │ -> editMessage() on ... │ │
186
+ │ │ (edited │ │ │ │
187
+ │ │ in-place) │ │ │ │
161
188
  │ └──────────────┘ └──────────────────────────────┘ │
162
189
  │ │
163
190
  │ Persistence: │
164
191
  │ ~/.config/opencode/telegram-token.json (bot token) │
165
192
  │ ~/.config/opencode/telegram-links.json (chat <-> session map) │
193
+ │ ~/.config/opencode/telegram-models.json (model overrides) │
166
194
  │ │
167
195
  └──────────────────────────────────────────────────────────────────────┘
168
196
  ```
169
197
 
198
+ **Key design decisions:**
199
+
200
+ - The working `...` message is **edited in-place** with the AI response (no orphaned messages)
201
+ - Atomic file writes (write to `.tmp`, then rename) prevent corruption
202
+ - All errors are sanitized before reaching the UI (no stack traces)
203
+ - Exponential backoff auto-reconnect (5s -> 10s -> 20s -> 30s cap)
204
+ - LRU-bounded session tracking (max 100 entries)
205
+ - Pending message timeout (30s) prevents memory leaks
206
+ - Prefix matching for session IDs with ambiguity detection
207
+ - Inactive session detection prevents prompts to stale sessions
208
+
170
209
  ---
171
210
 
172
211
  ## Troubleshooting
@@ -175,7 +214,7 @@ Any other message is forwarded to the linked session as a prompt.
175
214
 
176
215
  ```
177
216
  1. Check /status -- is the chat linked to a session?
178
- 2. If not linked, use /ls then /link <ID>
217
+ 2. If not linked, use /ls then /link <short ID>
179
218
  3. If linked, check OpenCode logs for errors
180
219
  ```
181
220
 
@@ -207,10 +246,10 @@ Only one bot can use a token at a time. Check if:
207
246
  **Session ID not found**
208
247
 
209
248
  ```
210
- 1. Use /ls to list sessions
211
- 2. Copy the full ID (starts with "ses_")
212
- 3. You can also use the number: /use 1
213
- 4. Prefix matching works: /link ses_123 (if unique)
249
+ 1. Use /ls to list sessions (shows short IDs like a1b2c...)
250
+ 2. Type the first few characters of the short ID: /link a1b2
251
+ 3. You can also use /use <number> to switch
252
+ 4. If multiple sessions match, use a longer prefix
214
253
  ```
215
254
 
216
255
  ---
@@ -224,18 +263,11 @@ virtualcode
224
263
  │ └── tui.ts TUI plugin (slash command, token dialog)
225
264
  ├── install.js Postinstall script (auto-configures opencode.jsonc + tui.json)
226
265
  ├── package.json npm: virtualcode
266
+ ├── CONTRIBUTING.md Contribution guidelines
267
+ ├── SECURITY.md Security policy
227
268
  └── dist/ Compiled output
228
269
  ```
229
270
 
230
- **Key design decisions:**
231
-
232
- - Atomic file writes (write to .tmp, then rename) prevent corruption
233
- - All errors are sanitized before reaching the UI (no stack traces)
234
- - Exponential backoff auto-reconnect (5s -> 10s -> 20s -> 30s cap)
235
- - LRU-bounded session tracking (max 100 entries)
236
- - Pending message timeout (30s) prevents memory leaks
237
- - Prefix matching for session IDs with ambiguity detection
238
-
239
271
  ---
240
272
 
241
273
  ## Contributing
@@ -243,8 +275,8 @@ virtualcode
243
275
  Issues and PRs welcome.
244
276
 
245
277
  ```bash
246
- git clone https://github.com/anomalyco/opencode-telegram.git
247
- cd opencode-telegram
278
+ git clone https://github.com/ShaikhWarsi/VirtualCode.git
279
+ cd VirtualCode
248
280
  npm install
249
281
  npm run build
250
282
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;;;;;AA2mCjD,wBAGC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;;;;;AA0rCjD,wBAGC"}
package/dist/index.js CHANGED
@@ -3,13 +3,27 @@ import { Telegraf } from "telegraf";
3
3
  import { readFileSync, writeFileSync, mkdirSync, existsSync, renameSync, chmodSync, statSync } from "node:fs";
4
4
  import { join } from "node:path";
5
5
  import { homedir } from "node:os";
6
- const LINK_FILE = join(homedir(), ".config", "opencode", "telegram-links.json");
6
+ function getConfigDir() {
7
+ const candidates = [
8
+ join(homedir(), ".config", "opencode"),
9
+ join(homedir(), ".config", "kilocode"),
10
+ ];
11
+ for (const dir of candidates) {
12
+ if (existsSync(dir))
13
+ return dir;
14
+ }
15
+ return candidates[0];
16
+ }
17
+ function configPath(...parts) {
18
+ return join(getConfigDir(), ...parts);
19
+ }
20
+ const LINK_FILE = configPath("telegram-links.json");
7
21
  const LINK_TMP = LINK_FILE + ".tmp";
8
- const TOKEN_FILE = join(homedir(), ".config", "opencode", "telegram-token.json");
22
+ const TOKEN_FILE = configPath("telegram-token.json");
9
23
  const TOKEN_TMP = TOKEN_FILE + ".tmp";
10
- const MODELS_FILE = join(homedir(), ".config", "opencode", "telegram-models.json");
24
+ const MODELS_FILE = configPath("telegram-models.json");
11
25
  const MODELS_TMP = MODELS_FILE + ".tmp";
12
- const CONFIG_DIR = join(homedir(), ".config", "opencode");
26
+ const CONFIG_DIR = getConfigDir();
13
27
  const LOG_FILE = join(CONFIG_DIR, "telegram-plugin.log");
14
28
  const LOG_FILE_OLD = LOG_FILE + ".1";
15
29
  const MAX_LOG_SIZE = 5 * 1024 * 1024;
@@ -23,6 +37,10 @@ const MIN_PREFIX_LEN = 4;
23
37
  const MAX_TOKENS_PER_CHUNK = 25;
24
38
  const MIN_HISTORY_LIMIT = 1;
25
39
  const FILE_MODE = 0o600;
40
+ const SESSION_ACTIVITY_TIMEOUT = 120_000;
41
+ const SHORT_ID_LEN = 5;
42
+ const MAX_TITLE_LEN = 200;
43
+ const MAX_DIR_LEN = 200;
26
44
  let logDirEnsured = false;
27
45
  function ensureLogDir() {
28
46
  if (logDirEnsured)
@@ -250,20 +268,31 @@ function chunkText(text, maxLen = 4000) {
250
268
  function fmtId(id) {
251
269
  if (typeof id !== "string")
252
270
  return "(invalid)";
253
- return id.length > 12 ? id.slice(0, 12) + "..." : id;
271
+ const stripped = id.startsWith("ses_") ? id.slice(4) : id;
272
+ return stripped.length > SHORT_ID_LEN ? stripped.slice(0, SHORT_ID_LEN) + "..." : stripped;
254
273
  }
255
- function findSessionById(id, list) {
256
- if (typeof id !== "string" || !Array.isArray(list))
274
+ function findSessionById(input, list) {
275
+ if (typeof input !== "string" || !Array.isArray(list))
257
276
  return { status: "not_found" };
258
- const exact = list.find((s) => s && typeof s.id === "string" && s.id === id);
277
+ const exact = list.find((s) => s && typeof s.id === "string" && s.id === input);
259
278
  if (exact)
260
279
  return { status: "found", session: exact };
261
- if (id.length < MIN_PREFIX_LEN)
280
+ if (input.length < MIN_PREFIX_LEN)
262
281
  return { status: "not_found" };
263
- const prefix = list.filter((s) => s && typeof s.id === "string" && s.id.startsWith(id));
264
- if (prefix.length === 1)
265
- return { status: "found", session: prefix[0] };
266
- if (prefix.length > 1)
282
+ const fullPrefix = list.filter((s) => s && typeof s.id === "string" && s.id.startsWith(input));
283
+ if (fullPrefix.length === 1)
284
+ return { status: "found", session: fullPrefix[0] };
285
+ if (fullPrefix.length > 1)
286
+ return { status: "ambiguous" };
287
+ const strippedPrefix = list.filter((s) => {
288
+ if (typeof s.id !== "string")
289
+ return false;
290
+ const stripped = s.id.startsWith("ses_") ? s.id.slice(4) : s.id;
291
+ return stripped.startsWith(input);
292
+ });
293
+ if (strippedPrefix.length === 1)
294
+ return { status: "found", session: strippedPrefix[0] };
295
+ if (strippedPrefix.length > 1)
267
296
  return { status: "ambiguous" };
268
297
  return { status: "not_found" };
269
298
  }
@@ -288,6 +317,7 @@ const TelegramPlugin = async ({ client, directory }, options) => {
288
317
  let reconnectAttempts = 0;
289
318
  const lastForwardedBySession = new Map();
290
319
  const pendingTelegram = new Map();
320
+ const sessionLastSeen = new Map();
291
321
  const links = loadLinks();
292
322
  const chatToSession = new Map();
293
323
  const sessionToChats = new Map();
@@ -346,14 +376,22 @@ const TelegramPlugin = async ({ client, directory }, options) => {
346
376
  }
347
377
  map.set(key, value);
348
378
  }
349
- function setPending(sessionId, chatId) {
379
+ function setPending(sessionId, chatId, messageId) {
350
380
  const existing = pendingTelegram.get(sessionId);
351
381
  if (existing)
352
382
  clearTimeout(existing.timer);
353
383
  const timer = setTimeout(() => {
354
384
  pendingTelegram.delete(sessionId);
385
+ if (botReady && bot) {
386
+ if (messageId) {
387
+ bot.telegram.editMessageText(chatId, messageId, undefined, "No response received. The session may not be active on your laptop - open it there first.").catch(() => { });
388
+ }
389
+ else {
390
+ bot.telegram.sendMessage(chatId, "No response received. The session may not be active on your laptop - open it there first.").catch(() => { });
391
+ }
392
+ }
355
393
  }, PENDING_TIMEOUT_MS);
356
- pendingTelegram.set(sessionId, { chatId, timer });
394
+ pendingTelegram.set(sessionId, { chatId, timer, messageId });
357
395
  }
358
396
  function clearPending(sessionId) {
359
397
  const entry = pendingTelegram.get(sessionId);
@@ -456,8 +494,8 @@ const TelegramPlugin = async ({ client, directory }, options) => {
456
494
  try {
457
495
  await ctx.reply("virtualcode - OpenCode Telegram bridge\n\n" +
458
496
  "Quick setup:\n" +
459
- "1. /ls - list your sessions\n" +
460
- "2. /link <ID> - bind this chat\n" +
497
+ "1. /ls - list your sessions (shows abbreviated IDs)\n" +
498
+ "2. /link <ID> - bind this chat (type the short ID, e.g. a1b2c)\n" +
461
499
  "3. Send any message to talk to OpenCode\n\n" +
462
500
  "Type /help for all commands.");
463
501
  }
@@ -466,7 +504,7 @@ const TelegramPlugin = async ({ client, directory }, options) => {
466
504
  bot.command("link", async (ctx) => {
467
505
  if (allowedSet && (!ctx.from || !allowedSet.has(ctx.from.id)))
468
506
  return;
469
- const arg = ctx.payload.trim().slice(0, 200);
507
+ const arg = (ctx.payload || "").trim().slice(0, 200);
470
508
  if (!arg) {
471
509
  try {
472
510
  await ctx.reply("Usage: /link <sessionID>");
@@ -509,7 +547,7 @@ const TelegramPlugin = async ({ client, directory }, options) => {
509
547
  }
510
548
  else {
511
549
  try {
512
- await ctx.reply("Linked to " + (result.session.title || fmtId(result.session.id)));
550
+ await ctx.reply("Linked to " + ((result.session.title || "").slice(0, MAX_TITLE_LEN) || fmtId(result.session.id)));
513
551
  }
514
552
  catch { }
515
553
  }
@@ -550,7 +588,7 @@ const TelegramPlugin = async ({ client, directory }, options) => {
550
588
  return;
551
589
  }
552
590
  try {
553
- await ctx.reply("Connected | Session: " + fmtId(sessionId) + " | Project: " + (directory || "none"));
591
+ await ctx.reply("Connected | Session: " + fmtId(sessionId) + " | Project: " + ((directory || "none").slice(0, MAX_DIR_LEN)));
554
592
  }
555
593
  catch { }
556
594
  });
@@ -572,8 +610,8 @@ const TelegramPlugin = async ({ client, directory }, options) => {
572
610
  const lines = recent.map((s, i) => {
573
611
  const num = recent.length - i;
574
612
  const marker = s.id === current ? " *" : "";
575
- const label = (s.title || s.id.slice(0, 16)).slice(0, 60);
576
- return num + ". " + label + " -- " + s.id + marker;
613
+ const label = (s.title || fmtId(s.id)).slice(0, 60);
614
+ return num + ". " + label + " -- " + fmtId(s.id) + marker;
577
615
  });
578
616
  try {
579
617
  await ctx.reply("Sessions:\n" + (lines.length ? lines.join("\n") : "None"));
@@ -591,7 +629,7 @@ const TelegramPlugin = async ({ client, directory }, options) => {
591
629
  bot.command("use", async (ctx) => {
592
630
  if (allowedSet && (!ctx.from || !allowedSet.has(ctx.from.id)))
593
631
  return;
594
- const arg = ctx.payload.trim().slice(0, 200);
632
+ const arg = (ctx.payload || "").trim().slice(0, 200);
595
633
  if (!arg) {
596
634
  try {
597
635
  await ctx.reply("Usage: /use <number|ID>");
@@ -614,7 +652,7 @@ const TelegramPlugin = async ({ client, directory }, options) => {
614
652
  const s = sessions[sessions.length - num];
615
653
  addLink(ctx.chat.id, s.id);
616
654
  try {
617
- await ctx.reply("Switched to " + (s.title || fmtId(s.id)));
655
+ await ctx.reply("Switched to " + ((s.title || "").slice(0, MAX_TITLE_LEN) || fmtId(s.id)));
618
656
  }
619
657
  catch { }
620
658
  return;
@@ -643,7 +681,7 @@ const TelegramPlugin = async ({ client, directory }, options) => {
643
681
  }
644
682
  addLink(ctx.chat.id, result.session.id);
645
683
  try {
646
- await ctx.reply("Switched to " + (result.session.title || fmtId(result.session.id)));
684
+ await ctx.reply("Switched to " + ((result.session.title || "").slice(0, MAX_TITLE_LEN) || fmtId(result.session.id)));
647
685
  }
648
686
  catch { }
649
687
  }
@@ -667,7 +705,7 @@ const TelegramPlugin = async ({ client, directory }, options) => {
667
705
  return;
668
706
  }
669
707
  try {
670
- const limitText = ctx.payload.trim().slice(0, 10);
708
+ const limitText = (ctx.payload || "").trim().slice(0, 10);
671
709
  let limit = MIN_HISTORY_LIMIT;
672
710
  if (limitText) {
673
711
  const parsed = parseInt(limitText);
@@ -798,7 +836,7 @@ const TelegramPlugin = async ({ client, directory }, options) => {
798
836
  catch { }
799
837
  return;
800
838
  }
801
- const arg = ctx.payload.trim().slice(0, 200);
839
+ const arg = (ctx.payload || "").trim().slice(0, 200);
802
840
  if (!arg) {
803
841
  const current = sessionModelPrefs.get(sessionId);
804
842
  if (current) {
@@ -879,7 +917,7 @@ const TelegramPlugin = async ({ client, directory }, options) => {
879
917
  const m = provider.models[match];
880
918
  const modelName = typeof m?.name === "string" ? m.name : match;
881
919
  try {
882
- await ctx.reply("Model set to " + providerID + "/" + match + " (" + modelName + ")");
920
+ await ctx.reply("Model set to " + providerID + "/" + match + " (" + modelName.slice(0, MAX_TITLE_LEN) + ")");
883
921
  }
884
922
  catch { }
885
923
  found = true;
@@ -895,10 +933,13 @@ const TelegramPlugin = async ({ client, directory }, options) => {
895
933
  lines.push(" " + mid);
896
934
  }
897
935
  }
898
- try {
899
- await ctx.reply(lines.join("\n"));
936
+ const text = lines.join("\n");
937
+ for (const chunk of chunkText(text)) {
938
+ try {
939
+ await ctx.reply(chunk);
940
+ }
941
+ catch { }
900
942
  }
901
- catch { }
902
943
  }
903
944
  }
904
945
  catch (err) {
@@ -931,9 +972,9 @@ const TelegramPlugin = async ({ client, directory }, options) => {
931
972
  }
932
973
  const s = res.data;
933
974
  const lines = [
934
- "Title: " + (s.title || "(untitled)"),
935
- "ID: " + s.id,
936
- "Project: " + (s.directory || "none"),
975
+ "Title: " + ((s.title || "(untitled)").slice(0, MAX_TITLE_LEN)),
976
+ "ID: " + fmtId(s.id),
977
+ "Project: " + ((s.directory || "none").slice(0, MAX_DIR_LEN)),
937
978
  "Created: " + (s.time?.created ? new Date(s.time.created).toLocaleString() : "?"),
938
979
  "Updated: " + (s.time?.updated ? new Date(s.time.updated).toLocaleString() : "?"),
939
980
  ];
@@ -964,7 +1005,7 @@ const TelegramPlugin = async ({ client, directory }, options) => {
964
1005
  catch { }
965
1006
  return;
966
1007
  }
967
- const title = ctx.payload.trim().slice(0, 200);
1008
+ const title = (ctx.payload || "").trim().slice(0, 200);
968
1009
  if (!title) {
969
1010
  try {
970
1011
  await ctx.reply("Usage: /rename <new title>");
@@ -1020,10 +1061,13 @@ const TelegramPlugin = async ({ client, directory }, options) => {
1020
1061
  const desc = typeof agent.description === "string" ? " - " + agent.description.slice(0, 80) : "";
1021
1062
  lines.push(" " + name + desc);
1022
1063
  }
1023
- try {
1024
- await ctx.reply(lines.join("\n"));
1064
+ const text = lines.join("\n");
1065
+ for (const chunk of chunkText(text)) {
1066
+ try {
1067
+ await ctx.reply(chunk);
1068
+ }
1069
+ catch { }
1025
1070
  }
1026
- catch { }
1027
1071
  }
1028
1072
  catch (err) {
1029
1073
  const msg = handlePluginError(err, "/agents");
@@ -1037,11 +1081,11 @@ const TelegramPlugin = async ({ client, directory }, options) => {
1037
1081
  if (allowedSet && (!ctx.from || !allowedSet.has(ctx.from.id)))
1038
1082
  return;
1039
1083
  try {
1040
- await ctx.reply("/link <sessionId> - Bind this chat to a session\n" +
1084
+ await ctx.reply("/link <ID> - Bind this chat to a session (short ID, e.g. a1b2c)\n" +
1041
1085
  "/unlink - Remove binding\n" +
1042
1086
  "/status - Show connection state\n" +
1043
- "/ls - List recent sessions\n" +
1044
- "/use <number|ID> - Switch active session\n" +
1087
+ "/ls - List recent sessions (shows short IDs)\n" +
1088
+ "/use <N|ID> - Switch session (by number or short ID)\n" +
1045
1089
  "/model - Show/set model override\n" +
1046
1090
  "/model clear - Clear model override\n" +
1047
1091
  "/models - List all available models\n" +
@@ -1073,14 +1117,23 @@ const TelegramPlugin = async ({ client, directory }, options) => {
1073
1117
  catch { }
1074
1118
  return;
1075
1119
  }
1076
- let working = null;
1120
+ const lastSeen = sessionLastSeen.get(sessionId);
1121
+ if (lastSeen && Date.now() - lastSeen > SESSION_ACTIVITY_TIMEOUT) {
1122
+ try {
1123
+ await ctx.reply("This session is not currently active on your laptop. Open it there first, then try again.");
1124
+ }
1125
+ catch { }
1126
+ return;
1127
+ }
1128
+ let workingMsgId;
1077
1129
  try {
1078
- working = await ctx.reply("...");
1130
+ const working = await ctx.reply("...");
1131
+ workingMsgId = working.message_id;
1079
1132
  }
1080
1133
  catch (err) {
1081
1134
  debugLog("working reply failed:", userError(err));
1082
1135
  }
1083
- setPending(sessionId, ctx.chat.id);
1136
+ setPending(sessionId, ctx.chat.id, workingMsgId);
1084
1137
  try {
1085
1138
  const body = {
1086
1139
  parts: [{ type: "text", text: ctx.message.text, metadata: { opencodeTelegram: true } }],
@@ -1096,32 +1149,42 @@ const TelegramPlugin = async ({ client, directory }, options) => {
1096
1149
  });
1097
1150
  if (res?.error) {
1098
1151
  const msg = handlePluginError(res.error, "prompt");
1099
- try {
1100
- await ctx.reply(sanitizeUI(msg));
1152
+ const pending = pendingTelegram.get(sessionId);
1153
+ if (pending && pending.messageId && bot) {
1154
+ bot.telegram.editMessageText(ctx.chat.id, pending.messageId, undefined, sanitizeUI(msg, 4000)).catch(() => {
1155
+ try {
1156
+ ctx.reply(sanitizeUI(msg));
1157
+ }
1158
+ catch { }
1159
+ });
1160
+ }
1161
+ else {
1162
+ try {
1163
+ await ctx.reply(sanitizeUI(msg));
1164
+ }
1165
+ catch { }
1101
1166
  }
1102
- catch { }
1103
1167
  }
1104
1168
  }
1105
1169
  catch (err) {
1106
1170
  const msg = handlePluginError(err, "prompt");
1107
- try {
1108
- await ctx.reply(sanitizeUI(msg));
1171
+ const pending = pendingTelegram.get(sessionId);
1172
+ if (pending && pending.messageId && bot) {
1173
+ bot.telegram.editMessageText(ctx.chat.id, pending.messageId, undefined, sanitizeUI(msg, 4000)).catch(() => {
1174
+ try {
1175
+ ctx.reply(sanitizeUI(msg));
1176
+ }
1177
+ catch { }
1178
+ });
1109
1179
  }
1110
- catch { }
1111
- }
1112
- clearPending(sessionId);
1113
- if (working?.message_id) {
1114
- try {
1115
- await ctx.deleteMessage(working.message_id);
1180
+ else {
1181
+ try {
1182
+ await ctx.reply(sanitizeUI(msg));
1183
+ }
1184
+ catch { }
1116
1185
  }
1117
- catch { }
1118
1186
  }
1119
1187
  });
1120
- if (notifyOnReconnect) {
1121
- for (const chatId of Object.keys(links)) {
1122
- bot.telegram.sendMessage(Number(chatId), "Telegram bridge reconnected.").catch(() => { });
1123
- }
1124
- }
1125
1188
  try {
1126
1189
  await bot.telegram.getMe();
1127
1190
  }
@@ -1135,6 +1198,11 @@ const TelegramPlugin = async ({ client, directory }, options) => {
1135
1198
  }
1136
1199
  botReady = true;
1137
1200
  botStarting = false;
1201
+ if (notifyOnReconnect) {
1202
+ for (const chatId of Object.keys(links)) {
1203
+ bot.telegram.sendMessage(Number(chatId), "Telegram bridge reconnected.").catch(() => { });
1204
+ }
1205
+ }
1138
1206
  bot.launch().catch(async (err) => {
1139
1207
  handlePluginError(err, "bot.launch");
1140
1208
  botReady = false;
@@ -1173,31 +1241,49 @@ const TelegramPlugin = async ({ client, directory }, options) => {
1173
1241
  }
1174
1242
  return;
1175
1243
  }
1176
- if (event.type === "session.status" && event.properties.status.type === "idle") {
1244
+ if (event.type === "session.status") {
1177
1245
  const sid = event.properties.sessionID;
1178
- const pending = pendingTelegram.get(sid);
1179
- const chats = pending ? new Set([pending.chatId]) : sessionToChats.get(sid);
1180
- if (!chats || chats.size === 0)
1181
- return;
1182
- let msgs;
1183
- try {
1184
- msgs = await client.session.messages({ path: { id: sid }, query: { directory, limit: 5 } });
1185
- }
1186
- catch {
1187
- return;
1246
+ if (sid)
1247
+ sessionLastSeen.set(sid, Date.now());
1248
+ if (event.properties.status.type === "idle") {
1249
+ const pending = pendingTelegram.get(sid);
1250
+ const chats = pending ? new Set([pending.chatId]) : sessionToChats.get(sid);
1251
+ if (!chats || chats.size === 0)
1252
+ return;
1253
+ let msgs;
1254
+ try {
1255
+ msgs = await client.session.messages({ path: { id: sid }, query: { directory, limit: 5 } });
1256
+ }
1257
+ catch {
1258
+ return;
1259
+ }
1260
+ if (msgs.error || !msgs.data)
1261
+ return;
1262
+ const last = [...msgs.data].reverse().find((m) => m.info.role === "assistant");
1263
+ if (!last || lastForwardedBySession.get(sid) === last.info.id)
1264
+ return;
1265
+ lruSet(lastForwardedBySession, sid, last.info.id);
1266
+ const text = last.parts
1267
+ .filter((p) => p.type === "text" && !p.synthetic)
1268
+ .map((p) => p.text)
1269
+ .join("\n");
1270
+ if (text) {
1271
+ if (pending?.messageId && bot) {
1272
+ const chunks = chunkText(text, 4000);
1273
+ bot.telegram.editMessageText(pending.chatId, pending.messageId, undefined, chunks[0]).catch(() => {
1274
+ sendToChats(chats, text);
1275
+ });
1276
+ clearTimeout(pending.timer);
1277
+ pendingTelegram.delete(sid);
1278
+ for (const chunk of chunks.slice(1)) {
1279
+ bot.telegram.sendMessage(pending.chatId, chunk).catch(() => { });
1280
+ }
1281
+ }
1282
+ else {
1283
+ sendToChats(chats, text);
1284
+ }
1285
+ }
1188
1286
  }
1189
- if (msgs.error || !msgs.data)
1190
- return;
1191
- const last = [...msgs.data].reverse().find((m) => m.info.role === "assistant");
1192
- if (!last || lastForwardedBySession.get(sid) === last.info.id)
1193
- return;
1194
- lruSet(lastForwardedBySession, sid, last.info.id);
1195
- const text = last.parts
1196
- .filter((p) => p.type === "text" && !p.synthetic)
1197
- .map((p) => p.text)
1198
- .join("\n");
1199
- if (text)
1200
- sendToChats(chats, text);
1201
1287
  }
1202
1288
  }
1203
1289
  catch (err) {
@@ -1213,6 +1299,10 @@ const TelegramPlugin = async ({ client, directory }, options) => {
1213
1299
  const saved = configToken || envToken || fileToken;
1214
1300
  if (saved) {
1215
1301
  await startBot(saved);
1302
+ if (!botReady) {
1303
+ debugLog("chat.message: startBot did not reach ready state");
1304
+ return;
1305
+ }
1216
1306
  }
1217
1307
  }
1218
1308
  if (!output || !Array.isArray(output.parts))
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/tui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAqEA,QAAA,MAAM,SAAS;;aAEE,GAAG;CAuEnB,CAAA;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAgFA,QAAA,MAAM,SAAS;;aAEE,GAAG;CAuEnB,CAAA;AAED,eAAe,SAAS,CAAA"}
package/dist/tui.js CHANGED
@@ -1,7 +1,18 @@
1
1
  import { writeFileSync, mkdirSync, existsSync, renameSync, chmodSync, statSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { homedir } from "node:os";
4
- const CONFIG_DIR = join(homedir(), ".config", "opencode");
4
+ function getConfigDir() {
5
+ const candidates = [
6
+ join(homedir(), ".config", "opencode"),
7
+ join(homedir(), ".config", "kilocode"),
8
+ ];
9
+ for (const dir of candidates) {
10
+ if (existsSync(dir))
11
+ return dir;
12
+ }
13
+ return candidates[0];
14
+ }
15
+ const CONFIG_DIR = getConfigDir();
5
16
  const TOKEN_FILE = join(CONFIG_DIR, "telegram-token.json");
6
17
  const TOKEN_TMP = TOKEN_FILE + ".tmp";
7
18
  const LOG_FILE = join(CONFIG_DIR, "telegram-tui.log");
package/dist/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
package/install.js CHANGED
@@ -2,11 +2,15 @@ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs"
2
2
  import { join, dirname } from "node:path"
3
3
  import { homedir } from "node:os"
4
4
 
5
- const XDG_CONFIG = join(homedir(), ".config", "opencode")
5
+ const CONFIG_DIRS = [
6
+ join(homedir(), ".config", "opencode"),
7
+ join(homedir(), ".config", "kilocode"),
8
+ ]
6
9
 
7
10
  function findConfig(start, name) {
8
11
  const candidates = [
9
12
  join(start, ".opencode", name),
13
+ join(start, ".kilocode", name),
10
14
  join(start, name),
11
15
  ]
12
16
  for (const p of candidates) {
@@ -59,45 +63,47 @@ function stripJsonc(src) {
59
63
  return out
60
64
  }
61
65
 
62
- function addToConfig(filename, parser) {
63
- const path = findConfig(process.cwd(), filename) || join(XDG_CONFIG, filename)
64
- let raw = ""
65
- let config = { plugin: [] }
66
- if (existsSync(path)) {
67
- try {
68
- raw = readFileSync(path, "utf-8")
69
- config = parser(raw)
70
- } catch {
71
- config = { plugin: [] }
66
+ function tryAddConfig(filename, parser) {
67
+ for (const configDir of CONFIG_DIRS) {
68
+ const path = findConfig(process.cwd(), filename) || join(configDir, filename)
69
+ let raw = ""
70
+ let config = { plugin: [] }
71
+ if (existsSync(path)) {
72
+ try {
73
+ raw = readFileSync(path, "utf-8")
74
+ config = parser(raw)
75
+ } catch {
76
+ config = { plugin: [] }
77
+ }
72
78
  }
73
- }
74
- if (!Array.isArray(config.plugin)) config.plugin = []
75
- if (config.plugin.includes("virtualcode")) return
76
- config.plugin.unshift("virtualcode")
77
- mkdirSync(dirname(path), { recursive: true })
78
- const serialized = JSON.stringify(config, null, 2)
79
- if (raw && filename.endsWith("jsonc")) {
80
- const lines = raw.split("\n")
81
- const pluginLineIdx = lines.findIndex((l) => /^\s*"plugin"\s*:/.test(l))
82
- if (pluginLineIdx !== -1) {
83
- const indent = (lines[pluginLineIdx].match(/^\s*/) || [""])[0]
84
- const newLines = serialized.split("\n")
85
- const newPluginBlock = newLines.find((l) => /^\s*"plugin"\s*:/.test(l))
86
- if (newPluginBlock) {
87
- const entryIndent = indent + " "
88
- const pluginEntries = config.plugin.map((p) => entryIndent + JSON.stringify(p))
89
- const replacement = indent + '"plugin": [\n' + pluginEntries.join(",\n") + "\n" + indent + "]"
90
- lines[pluginLineIdx] = replacement
91
- writeFileSync(path, lines.join("\n") + "\n")
92
- console.log("[virtualcode] Added to " + path + " (comments preserved)")
93
- return
79
+ if (!Array.isArray(config.plugin)) config.plugin = []
80
+ if (config.plugin.includes("virtualcode")) return
81
+ config.plugin.unshift("virtualcode")
82
+ mkdirSync(dirname(path), { recursive: true })
83
+ const serialized = JSON.stringify(config, null, 2)
84
+ if (raw && filename.endsWith("jsonc")) {
85
+ const lines = raw.split("\n")
86
+ const pluginLineIdx = lines.findIndex((l) => /^\s*"plugin"\s*:/.test(l))
87
+ if (pluginLineIdx !== -1) {
88
+ const indent = (lines[pluginLineIdx].match(/^\s*/) || [""])[0]
89
+ const newLines = serialized.split("\n")
90
+ const newPluginBlock = newLines.find((l) => /^\s*"plugin"\s*:/.test(l))
91
+ if (newPluginBlock) {
92
+ const entryIndent = indent + " "
93
+ const pluginEntries = config.plugin.map((p) => entryIndent + JSON.stringify(p))
94
+ const replacement = indent + '"plugin": [\n' + pluginEntries.join(",\n") + "\n" + indent + "]"
95
+ lines[pluginLineIdx] = replacement
96
+ writeFileSync(path, lines.join("\n") + "\n")
97
+ console.log("[virtualcode] Added to " + path + " (comments preserved)")
98
+ return
99
+ }
94
100
  }
95
101
  }
102
+ writeFileSync(path, serialized + "\n")
103
+ console.log("[virtualcode] Added to " + path)
96
104
  }
97
- writeFileSync(path, serialized + "\n")
98
- console.log("[virtualcode] Added to " + path)
99
105
  }
100
106
 
101
- addToConfig("opencode.jsonc", (raw) => JSON.parse(stripJsonc(raw)))
102
- addToConfig("opencode.json", (raw) => JSON.parse(raw))
103
- addToConfig("tui.json", (raw) => JSON.parse(raw))
107
+ tryAddConfig("opencode.jsonc", (raw) => JSON.parse(stripJsonc(raw)))
108
+ tryAddConfig("opencode.json", (raw) => JSON.parse(raw))
109
+ tryAddConfig("tui.json", (raw) => JSON.parse(stripJsonc(raw)))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "virtualcode",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "description": "OpenCode plugin that bridges your terminal sessions with Telegram",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -31,12 +31,12 @@
31
31
  },
32
32
  "repository": {
33
33
  "type": "git",
34
- "url": "git+https://github.com/anomalyco/opencode-telegram.git"
34
+ "url": "git+https://github.com/ShaikhWarsi/VirtualCode.git"
35
35
  },
36
36
  "bugs": {
37
- "url": "https://github.com/anomalyco/opencode-telegram/issues"
37
+ "url": "https://github.com/ShaikhWarsi/VirtualCode/issues"
38
38
  },
39
- "homepage": "https://github.com/anomalyco/opencode-telegram#readme",
39
+ "homepage": "https://github.com/ShaikhWarsi/VirtualCode#readme",
40
40
  "keywords": [
41
41
  "opencode",
42
42
  "telegram",