@markusylisiurunen/tau 0.2.48 → 0.2.50

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 +1 @@
1
- {"version":3,"file":"session_manager.js","sourceRoot":"","sources":["../../../src/core/async/session_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session_manager.js","sourceRoot":"","sources":["../../../src/core/async/session_manager.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,15 @@ const DEFAULT_TELEGRAM_AUDIO_FILE_NAME = "audio.mp3";
12
12
  const MESSAGE_QUEUED_REACTION_EMOJI = "👀";
13
13
  const MESSAGE_QUEUED_REACTION_DELAY_MS = 1000;
14
14
  const ABORTED = Symbol("aborted");
15
+ const CALLBACK_ACTION_PREFIX = "tau:action:";
16
+ const CALLBACK_USE_PREFIX = "tau:use:";
17
+ const MAX_SESSION_PREVIEW_CHARS = 64;
15
18
  const TELEGRAM_COMMANDS = [
19
+ { command: "help", description: "show supported commands" },
16
20
  { command: "new", description: "start a new session" },
17
21
  { command: "projects", description: "list configured projects" },
18
22
  { command: "use", description: "switch active session" },
19
- { command: "list", description: "list sessions" },
23
+ { command: "sessions", description: "list sessions" },
20
24
  { command: "status", description: "show active session status" },
21
25
  { command: "interrupt", description: "interrupt active run" },
22
26
  { command: "cancel", description: "cancel active session" },
@@ -77,8 +81,10 @@ function createGrammyApi(botToken) {
77
81
  });
78
82
  return updates;
79
83
  },
80
- async sendMessage(chatId, text) {
81
- await api.sendMessage(chatId, text);
84
+ async sendMessage(chatId, text, options) {
85
+ await api.sendMessage(chatId, text, {
86
+ ...(options?.replyMarkup ? { reply_markup: options.replyMarkup } : {}),
87
+ });
82
88
  },
83
89
  async downloadFile(fileId) {
84
90
  const file = await api.getFile(fileId);
@@ -102,6 +108,11 @@ function createGrammyApi(botToken) {
102
108
  { type: "emoji", emoji: MESSAGE_QUEUED_REACTION_EMOJI },
103
109
  ]);
104
110
  },
111
+ async answerCallbackQuery(callbackQueryId, text) {
112
+ await api.answerCallbackQuery(callbackQueryId, {
113
+ ...(text ? { text } : {}),
114
+ });
115
+ },
105
116
  };
106
117
  }
107
118
  class AsyncTelegramAdapterImpl {
@@ -219,7 +230,7 @@ class AsyncTelegramAdapterImpl {
219
230
  const updates = await this.raceWithAbort(this.api.getUpdates({
220
231
  offset: this.nextUpdateOffset,
221
232
  timeoutSeconds: this.requestTimeoutSeconds,
222
- allowedUpdates: ["message"],
233
+ allowedUpdates: ["message", "callback_query"],
223
234
  }));
224
235
  if (updates === undefined) {
225
236
  return [];
@@ -250,35 +261,60 @@ class AsyncTelegramAdapterImpl {
250
261
  }
251
262
  async handleUpdate(update) {
252
263
  const message = update.message;
253
- if (!message) {
264
+ if (message) {
265
+ const chat = message.chat;
266
+ if (!chat || chat.type !== "private") {
267
+ return;
268
+ }
269
+ const chatId = chat.id;
270
+ if (!this.isChatAllowed(chatId)) {
271
+ return;
272
+ }
273
+ const userId = message.from?.id;
274
+ if (!this.isUserAllowed(userId)) {
275
+ return;
276
+ }
277
+ const text = typeof message.text === "string" ? message.text.trim() : "";
278
+ if (text) {
279
+ if (text.startsWith("/")) {
280
+ await this.handleCommand(chatId, text);
281
+ return;
282
+ }
283
+ await this.handleMessage(chatId, text, message.message_id);
284
+ return;
285
+ }
286
+ const audioMessage = this.parseAudioMessage(message);
287
+ if (!audioMessage) {
288
+ return;
289
+ }
290
+ await this.handleAudioMessage(chatId, audioMessage, message.message_id);
291
+ return;
292
+ }
293
+ const callbackQuery = update.callback_query;
294
+ if (!callbackQuery) {
254
295
  return;
255
296
  }
256
- const chat = message.chat;
297
+ const chat = callbackQuery.message?.chat;
257
298
  if (!chat || chat.type !== "private") {
299
+ await this.answerCallbackQuery(callbackQuery.id);
258
300
  return;
259
301
  }
260
302
  const chatId = chat.id;
261
303
  if (!this.isChatAllowed(chatId)) {
304
+ await this.answerCallbackQuery(callbackQuery.id);
262
305
  return;
263
306
  }
264
- const userId = message.from?.id;
265
- if (!this.isUserAllowed(userId)) {
307
+ if (!this.isUserAllowed(callbackQuery.from?.id)) {
308
+ await this.answerCallbackQuery(callbackQuery.id);
266
309
  return;
267
310
  }
268
- const text = typeof message.text === "string" ? message.text.trim() : "";
269
- if (text) {
270
- if (text.startsWith("/")) {
271
- await this.handleCommand(chatId, text);
272
- return;
273
- }
274
- await this.handleMessage(chatId, text, message.message_id);
311
+ const callbackData = callbackQuery.data?.trim();
312
+ if (!callbackData) {
313
+ await this.answerCallbackQuery(callbackQuery.id);
275
314
  return;
276
315
  }
277
- const audioMessage = this.parseAudioMessage(message);
278
- if (!audioMessage) {
279
- return;
280
- }
281
- await this.handleAudioMessage(chatId, audioMessage, message.message_id);
316
+ const callbackHandled = await this.handleCallback(chatId, callbackData);
317
+ await this.answerCallbackQuery(callbackQuery.id, callbackHandled ? "done" : undefined);
282
318
  }
283
319
  parseAudioMessage(message) {
284
320
  const voiceFileId = message.voice?.file_id?.trim();
@@ -318,6 +354,10 @@ class AsyncTelegramAdapterImpl {
318
354
  const parts = splitCommandText(text);
319
355
  const command = stripCommandMention(parts[0] ?? "");
320
356
  const args = parts.slice(1);
357
+ if (command === "/help") {
358
+ await this.handleHelp(chatId);
359
+ return;
360
+ }
321
361
  if (command === "/new") {
322
362
  await this.handleNew(chatId, args);
323
363
  return;
@@ -330,8 +370,8 @@ class AsyncTelegramAdapterImpl {
330
370
  await this.handleUse(chatId, args);
331
371
  return;
332
372
  }
333
- if (command === "/list") {
334
- await this.handleList(chatId);
373
+ if (command === "/sessions") {
374
+ await this.handleSessions(chatId);
335
375
  return;
336
376
  }
337
377
  if (command === "/status") {
@@ -358,7 +398,71 @@ class AsyncTelegramAdapterImpl {
358
398
  await this.handleVerbosityCommand(chatId, "quiet");
359
399
  return;
360
400
  }
361
- await this.reply(chatId, "supported commands: /new, /projects, /use, /list, /status, /interrupt, /cancel, /close, /verbose, /quiet");
401
+ await this.reply(chatId, "unsupported command. use /help");
402
+ }
403
+ async handleCallback(chatId, callbackData) {
404
+ if (callbackData.startsWith(CALLBACK_USE_PREFIX)) {
405
+ const sessionId = callbackData.slice(CALLBACK_USE_PREFIX.length).trim();
406
+ if (!sessionId) {
407
+ return false;
408
+ }
409
+ await this.handleUse(chatId, [sessionId]);
410
+ return true;
411
+ }
412
+ if (!callbackData.startsWith(CALLBACK_ACTION_PREFIX)) {
413
+ return false;
414
+ }
415
+ const action = callbackData.slice(CALLBACK_ACTION_PREFIX.length);
416
+ if (action === "new") {
417
+ await this.handleNew(chatId, []);
418
+ return true;
419
+ }
420
+ if (action === "sessions") {
421
+ await this.handleSessions(chatId);
422
+ return true;
423
+ }
424
+ if (action === "status") {
425
+ await this.handleStatus(chatId);
426
+ return true;
427
+ }
428
+ if (action === "interrupt") {
429
+ await this.handleInterrupt(chatId);
430
+ return true;
431
+ }
432
+ if (action === "cancel") {
433
+ await this.handleCancel(chatId);
434
+ return true;
435
+ }
436
+ if (action === "quiet") {
437
+ await this.handleVerbosityCommand(chatId, "quiet");
438
+ return true;
439
+ }
440
+ if (action === "verbose") {
441
+ await this.handleVerbosityCommand(chatId, "verbose");
442
+ return true;
443
+ }
444
+ return false;
445
+ }
446
+ async handleHelp(chatId) {
447
+ const lines = [
448
+ "commands:",
449
+ "/help",
450
+ "/new [projectId]",
451
+ "/projects",
452
+ "/sessions",
453
+ "/use <sessionId|prefix|index>",
454
+ "/status",
455
+ "/interrupt",
456
+ "/cancel",
457
+ "/close [<sessionId>|all]",
458
+ "/verbose",
459
+ "/quiet",
460
+ "",
461
+ "tip: use /sessions and tap a session button to switch quickly",
462
+ ];
463
+ await this.reply(chatId, lines.join("\n"), {
464
+ replyMarkup: this.buildQuickActionsKeyboard(),
465
+ });
362
466
  }
363
467
  resolveNewCommand(args) {
364
468
  const projectIds = Object.keys(this.projects);
@@ -439,48 +543,141 @@ class AsyncTelegramAdapterImpl {
439
543
  }
440
544
  }
441
545
  async handleUse(chatId, args) {
442
- const sessionId = args[0]?.trim();
443
- if (!sessionId) {
444
- await this.reply(chatId, "usage: /use <sessionId>");
546
+ const selector = args[0]?.trim();
547
+ if (!selector) {
548
+ await this.reply(chatId, "usage: /use <sessionId|prefix|index>");
445
549
  return;
446
550
  }
447
- const session = this.sessionManager.getSession(sessionId);
448
- if (!session) {
449
- await this.reply(chatId, `session '${sessionId}' not found`);
551
+ const sessions = this.sessionManager.listSessions();
552
+ const selectedSession = this.resolveSessionSelector(selector, sessions);
553
+ if ("error" in selectedSession) {
554
+ await this.reply(chatId, selectedSession.error);
450
555
  return;
451
556
  }
452
- this.setActiveSession(chatId, sessionId);
453
- await this.reply(chatId, formatSessionHeadline(session.id, `using session (${session.state})`));
557
+ this.setActiveSession(chatId, selectedSession.session.id);
558
+ await this.reply(chatId, formatSessionHeadline(selectedSession.session.id, `using session (${selectedSession.session.state})`));
559
+ }
560
+ resolveSessionSelector(selector, sessions) {
561
+ const exactSession = this.sessionManager.getSession(selector);
562
+ if (exactSession) {
563
+ return { session: exactSession };
564
+ }
565
+ if (/^\d+$/.test(selector)) {
566
+ const index = Number.parseInt(selector, 10);
567
+ if (index <= 0 || index > sessions.length) {
568
+ return {
569
+ error: sessions.length === 0
570
+ ? "no sessions"
571
+ : `session index '${selector}' is out of range (1-${sessions.length})`,
572
+ };
573
+ }
574
+ const indexedSession = sessions[index - 1];
575
+ if (!indexedSession) {
576
+ return { error: "session index lookup failed" };
577
+ }
578
+ return { session: indexedSession };
579
+ }
580
+ const prefixMatches = sessions.filter((session) => session.id.startsWith(selector));
581
+ if (prefixMatches.length === 1) {
582
+ const [prefixMatch] = prefixMatches;
583
+ if (!prefixMatch) {
584
+ return { error: "session prefix lookup failed" };
585
+ }
586
+ return { session: prefixMatch };
587
+ }
588
+ if (prefixMatches.length > 1) {
589
+ return {
590
+ error: `session prefix '${selector}' is ambiguous: ${prefixMatches.map((session) => session.id).join(", ")}`,
591
+ };
592
+ }
593
+ return { error: `session '${selector}' not found` };
454
594
  }
455
- async handleList(chatId) {
595
+ async handleSessions(chatId) {
456
596
  const sessions = this.sessionManager.listSessions();
597
+ const lines = this.formatSessions(chatId, sessions);
598
+ await this.reply(chatId, lines.join("\n"), {
599
+ replyMarkup: this.buildSessionsKeyboard(chatId, sessions),
600
+ });
601
+ }
602
+ formatSessions(chatId, sessions) {
457
603
  if (sessions.length === 0) {
458
- await this.reply(chatId, "no sessions");
459
- return;
604
+ return ["no sessions"];
460
605
  }
461
606
  const activeSessionId = this.activeSessionsByChat.get(chatId);
462
- const lines = sessions.map((session) => {
463
- const marker = session.id === activeSessionId ? "* " : "";
464
- return `${marker}${session.id} ${session.projectId} ${session.state}`;
465
- });
466
- await this.reply(chatId, lines.join("\n"));
607
+ return [
608
+ "sessions:",
609
+ ...sessions.map((session, index) => {
610
+ const marker = session.id === activeSessionId ? "*" : "-";
611
+ const preview = this.formatSessionPreview(session.id);
612
+ return `${index + 1}. ${marker} ${session.id} ${session.projectId} ${session.state}${preview ? ` · ${preview}` : ""}`;
613
+ }),
614
+ ];
615
+ }
616
+ formatSessionPreview(sessionId) {
617
+ const previews = [];
618
+ const lastCommand = this.lastCommandBySession.get(sessionId);
619
+ if (lastCommand) {
620
+ previews.push(`$ ${truncateText(lastCommand, MAX_SESSION_PREVIEW_CHARS)}`);
621
+ }
622
+ const lastAssistantMessage = this.lastAssistantMessageBySession.get(sessionId);
623
+ if (lastAssistantMessage) {
624
+ previews.push(truncateText(lastAssistantMessage, MAX_SESSION_PREVIEW_CHARS));
625
+ }
626
+ if (previews.length === 0) {
627
+ return undefined;
628
+ }
629
+ return previews.join(" | ");
630
+ }
631
+ buildSessionsKeyboard(chatId, sessions) {
632
+ const activeSessionId = this.activeSessionsByChat.get(chatId);
633
+ const inlineKeyboard = sessions.map((session, index) => [
634
+ {
635
+ text: `${index + 1}. ${session.id}${session.id === activeSessionId ? " *" : ""}`,
636
+ callback_data: `${CALLBACK_USE_PREFIX}${session.id}`,
637
+ },
638
+ ]);
639
+ inlineKeyboard.push(...this.buildQuickActionsKeyboard().inline_keyboard);
640
+ return {
641
+ inline_keyboard: inlineKeyboard,
642
+ };
643
+ }
644
+ buildQuickActionsKeyboard() {
645
+ return {
646
+ inline_keyboard: [
647
+ [
648
+ { text: "/new", callback_data: `${CALLBACK_ACTION_PREFIX}new` },
649
+ { text: "/sessions", callback_data: `${CALLBACK_ACTION_PREFIX}sessions` },
650
+ { text: "/status", callback_data: `${CALLBACK_ACTION_PREFIX}status` },
651
+ ],
652
+ [
653
+ { text: "/interrupt", callback_data: `${CALLBACK_ACTION_PREFIX}interrupt` },
654
+ { text: "/cancel", callback_data: `${CALLBACK_ACTION_PREFIX}cancel` },
655
+ ],
656
+ [
657
+ { text: "/quiet", callback_data: `${CALLBACK_ACTION_PREFIX}quiet` },
658
+ { text: "/verbose", callback_data: `${CALLBACK_ACTION_PREFIX}verbose` },
659
+ ],
660
+ ],
661
+ };
467
662
  }
468
663
  async handleStatus(chatId) {
469
664
  const session = this.getActiveSession(chatId);
470
665
  if (!session) {
471
- await this.reply(chatId, "no active session. use /new or /use <sessionId>");
666
+ await this.reply(chatId, "no active session. use /new or /sessions");
472
667
  return;
473
668
  }
474
669
  await this.reply(chatId, describeSession(session, {
475
670
  verbosity: this.getSessionVerbosity(session.id),
476
671
  lastCommand: this.lastCommandBySession.get(session.id),
477
672
  lastAssistantMessage: this.lastAssistantMessageBySession.get(session.id),
478
- }));
673
+ }), {
674
+ replyMarkup: this.buildQuickActionsKeyboard(),
675
+ });
479
676
  }
480
677
  async handleInterrupt(chatId) {
481
678
  const session = this.getActiveSession(chatId);
482
679
  if (!session) {
483
- await this.reply(chatId, "no active session. use /new or /use <sessionId>");
680
+ await this.reply(chatId, "no active session. use /new or /sessions");
484
681
  return;
485
682
  }
486
683
  try {
@@ -498,7 +695,7 @@ class AsyncTelegramAdapterImpl {
498
695
  async handleCancel(chatId) {
499
696
  const session = this.getActiveSession(chatId);
500
697
  if (!session) {
501
- await this.reply(chatId, "no active session. use /new or /use <sessionId>");
698
+ await this.reply(chatId, "no active session. use /new or /sessions");
502
699
  return;
503
700
  }
504
701
  try {
@@ -522,14 +719,11 @@ class AsyncTelegramAdapterImpl {
522
719
  this.clearClosedSession(session.id);
523
720
  }
524
721
  if (closed.length === 0) {
525
- await this.reply(chatId, "no inactive sessions to close");
722
+ await this.reply(chatId, "no sessions to close");
526
723
  return;
527
724
  }
528
725
  const label = closed.length === 1 ? "session" : "sessions";
529
- await this.reply(chatId, [
530
- `closed ${closed.length} inactive ${label}`,
531
- closed.map((session) => session.id).join(", "),
532
- ].join("\n"));
726
+ await this.reply(chatId, [`closed ${closed.length} ${label}`, closed.map((session) => session.id).join(", ")].join("\n"));
533
727
  }
534
728
  catch (error) {
535
729
  await this.reply(chatId, this.formatManagerError(error));
@@ -538,7 +732,7 @@ class AsyncTelegramAdapterImpl {
538
732
  }
539
733
  const sessionId = target ?? this.getActiveSession(chatId)?.id;
540
734
  if (!sessionId) {
541
- await this.reply(chatId, "no active session. use /new or /use <sessionId>");
735
+ await this.reply(chatId, "no active session. use /new or /sessions");
542
736
  return;
543
737
  }
544
738
  try {
@@ -553,16 +747,16 @@ class AsyncTelegramAdapterImpl {
553
747
  async handleVerbosityCommand(chatId, verbosity) {
554
748
  const session = this.getActiveSession(chatId);
555
749
  if (!session) {
556
- await this.reply(chatId, "no active session. use /new or /use <sessionId>");
750
+ await this.reply(chatId, "no active session. use /new or /sessions");
557
751
  return;
558
752
  }
559
753
  this.sessionVerbosityBySession.set(session.id, verbosity);
560
754
  await this.reply(chatId, formatSessionHeadline(session.id, `verbosity set to ${verbosity}`));
561
755
  }
562
756
  async handleMessage(chatId, text, sourceMessageId) {
563
- const session = this.getActiveSession(chatId);
757
+ const session = this.getActiveOrSingleSession(chatId);
564
758
  if (!session) {
565
- await this.reply(chatId, "no active session. use /new or /use <sessionId>");
759
+ await this.reply(chatId, "no active session. use /new or /sessions");
566
760
  return;
567
761
  }
568
762
  try {
@@ -579,7 +773,7 @@ class AsyncTelegramAdapterImpl {
579
773
  async handleAudioMessage(chatId, message, sourceMessageId) {
580
774
  const session = this.getActiveSession(chatId);
581
775
  if (!session) {
582
- await this.reply(chatId, "no active session. use /new or /use <sessionId>");
776
+ await this.reply(chatId, "no active session. use /new or /sessions");
583
777
  return;
584
778
  }
585
779
  if (!this.mistralApiKey) {
@@ -628,6 +822,22 @@ class AsyncTelegramAdapterImpl {
628
822
  }
629
823
  return session;
630
824
  }
825
+ getActiveOrSingleSession(chatId) {
826
+ const activeSession = this.getActiveSession(chatId);
827
+ if (activeSession) {
828
+ return activeSession;
829
+ }
830
+ const sessions = this.sessionManager.listSessions();
831
+ if (sessions.length !== 1) {
832
+ return undefined;
833
+ }
834
+ const [singleSession] = sessions;
835
+ if (!singleSession) {
836
+ return undefined;
837
+ }
838
+ this.setActiveSession(chatId, singleSession.id);
839
+ return singleSession;
840
+ }
631
841
  setActiveSession(chatId, sessionId) {
632
842
  this.activeSessionsByChat.set(chatId, sessionId);
633
843
  this.linkChatToSession(chatId, sessionId);
@@ -801,6 +1011,24 @@ class AsyncTelegramAdapterImpl {
801
1011
  });
802
1012
  }
803
1013
  }
1014
+ async answerCallbackQuery(callbackQueryId, text) {
1015
+ if (!this.api.answerCallbackQuery) {
1016
+ return;
1017
+ }
1018
+ const trimmedCallbackQueryId = callbackQueryId?.trim();
1019
+ if (!trimmedCallbackQueryId) {
1020
+ return;
1021
+ }
1022
+ try {
1023
+ await this.api.answerCallbackQuery(trimmedCallbackQueryId, text);
1024
+ }
1025
+ catch (error) {
1026
+ this.log("warn", "failed to answer telegram callback query", {
1027
+ callbackQueryId: trimmedCallbackQueryId,
1028
+ cause: error instanceof Error ? error.message : String(error),
1029
+ });
1030
+ }
1031
+ }
804
1032
  formatSessionPreparing(projectId) {
805
1033
  return ["session is being prepared", `project: ${projectId}`].join("\n");
806
1034
  }
@@ -816,9 +1044,9 @@ class AsyncTelegramAdapterImpl {
816
1044
  }
817
1045
  return error instanceof Error ? error.message : String(error);
818
1046
  }
819
- async reply(chatId, text) {
1047
+ async reply(chatId, text, options) {
820
1048
  try {
821
- await this.api.sendMessage(chatId, text);
1049
+ await this.api.sendMessage(chatId, text, options);
822
1050
  }
823
1051
  catch (error) {
824
1052
  this.log("warn", "failed to send telegram message", {