@justfortytwo/telegram 1.0.0-6 → 1.0.0-8

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/README.md CHANGED
@@ -129,19 +129,22 @@ dynamically, and it is also a devDependency so types and tests resolve.
129
129
  | Package | Used for | Contract |
130
130
  | --- | --- | --- |
131
131
  | `@justfortytwo/memory` | Memory store, jobs, embeddings | `MEMORY_TOOL_CONTRACT_VERSION` (tools `mcp__fortytwo-memory__*`) |
132
+ | `@justfortytwo/transcript` | Conversation log (every inbound/outbound message) | `prepareTranscript`, `createTranscript` |
132
133
  | `@justfortytwo/gate` | Provenance envelopes (policy hook configured separately) | `POLICY_SCHEMA_VERSION` |
133
134
 
134
135
  Install memory alongside this package to enable persistence:
135
136
 
136
137
  ```sh
137
- npm install @justfortytwo/telegram @justfortytwo/memory
138
+ npm install @justfortytwo/telegram @justfortytwo/memory @justfortytwo/transcript
138
139
  ```
139
140
 
140
141
  The **memory** data path is wired: the bridge opens + migrates the memory DB at
141
- startup and **persists each channel event** to `@justfortytwo/memory`; recall
142
- happens inside the headless `claude` turn via the Memory MCP tools. If the memory
143
- peer is absent, the bridge degrades to **channel-only** (messages relay but are
144
- not persisted) rather than refusing to start. Telegram does not record tool
142
+ startup (used for the reply queue) and **writes each channel event** through
143
+ `@justfortytwo/transcript`'s conversation log; chat is no longer stored as memories.
144
+ Recall happens inside the headless `claude` turn via the Memory MCP tools. If the
145
+ memory or transcript peer is absent, the bridge degrades to **channel-only**
146
+ (messages relay but are not recorded) rather than refusing to start. A failing
147
+ log write is logged to stderr and never blocks a reply. Telegram does not record tool
145
148
  authorizations or update Gate approval stores.
146
149
 
147
150
  ## Environment
@@ -155,7 +158,8 @@ authorizations or update Gate approval stores.
155
158
  | `DB_PATH` | no | Path to the memory DB the bridge opens/migrates at startup (default `db/fortytwo.db`, relative to `FORTYTWO_ROOT`). |
156
159
  | `EMBED_MODEL` | no | When set, the bridge uses the Ollama embedder for memory (otherwise a deterministic fallback). |
157
160
  | `OLLAMA_BASE_URL` | no | Base URL for the Ollama embedder (default `http://localhost:11434`; may be remote). |
158
- | `ASSISTANT_NAME` / `ASSISTANT_ACTOR` / `OWNER_ACTOR` | no | Display name + journal actor labels. |
161
+ | `ASSISTANT_NAME` / `ASSISTANT_ACTOR` | no | Display name (default `Assistant`) + conversation-log actor label for replies (default `assistant`). |
162
+ | `OWNER_ACTOR` | no | Conversation-log actor label for inbound messages (default `owner`). **Keep it `owner`:** persona's Oneiros only treats transcript rows with actor exactly `owner` as owner evidence, so any other value means your Telegram messages never refine PROFILE. |
159
163
  | `FORTYTWO_ROOT` | no | Working root for the headless `claude` process + state files. |
160
164
 
161
165
  > `FORD_ROOT` remains a deprecated alias for `FORTYTWO_ROOT`.
@@ -202,18 +206,17 @@ Created and maintained by [**Enrico Deleo**](https://enricodeleo.com).
202
206
 
203
207
  ### Typing indicator lifecycle
204
208
 
205
- Each chat owns one typing refresher while its live session has submitted turns
206
- awaiting results. Overlapping inputs keep it active until the last result; a
207
- result stops its turn's typing ownership before final-message delivery. Fatal
208
- session errors, exit, closed-input retirement, logout and shutdown cancel that
209
- session's pending typing work. A rejected input releases only its own turn.
210
- Deferred results finish their submitted turn without starting another. Legacy
211
- approval callbacks cannot restart typing. Non-fatal runner diagnostics do not
212
- finish a pending turn.
213
-
214
- Typing is not a turn timeout: silent but pending work keeps refreshing, while
215
- late output cannot restart typing after the last result. Once pending work is
216
- zero, the bridge sends no further typing refreshes; an action already sent can
209
+ Each chat owns one typing refresher while Claude is working on submitted input.
210
+ Sending a message turns it on; so does Claude consuming a queued input. Every
211
+ result turns it off before final-message delivery, so messages sent mid-turn
212
+ (steering, answered together in one result) cannot leave it stuck. Fatal
213
+ session errors, exit, closed-input retirement, logout and shutdown cancel it. A
214
+ rejected input releases typing only if it started it. Legacy approval callbacks
215
+ cannot restart typing. Non-fatal runner diagnostics do not end a turn.
216
+
217
+ Typing is not a turn timeout: silent but active work keeps refreshing, while
218
+ late output cannot restart typing after a result. Once no work is active, the
219
+ bridge sends no further typing refreshes; an action already sent can
217
220
  remain visible briefly until Telegram expires it.
218
221
 
219
222
  ## Release notes — 1.0.0-4
package/dist/bridge.d.ts CHANGED
@@ -4,21 +4,10 @@ import { Telegram, type TgMessage, type AttachmentSpec } from './telegram.js';
4
4
  import { type Attachment } from './attachments.js';
5
5
  import { type AuthContext } from './login.js';
6
6
  import type { SourceKind } from '@justfortytwo/gate';
7
- import type { DbHandles as MemDbHandles, Embedder as MemEmbedder, MemoryInput } from '@justfortytwo/memory';
7
+ import type { DbHandles as MemDbHandles, Embedder as MemEmbedder } from '@justfortytwo/memory';
8
+ import { type ConversationLog } from './conversation-log.js';
8
9
  type DbHandles = MemDbHandles | null;
9
10
  type Embedder = MemEmbedder | null;
10
- interface ChannelEvent {
11
- channel: string;
12
- direction: string;
13
- actor: string;
14
- kind: string;
15
- content: string;
16
- meta?: Record<string, unknown>;
17
- thread_id?: string | null;
18
- approval_status?: string | null;
19
- }
20
- /** Map a channel event onto memory's generic MemoryInput (content + provenance). */
21
- export declare function mapChannelEventToMemoryInput(entry: ChannelEvent): MemoryInput;
22
11
  /**
23
12
  * Load the optional memory engine: open + migrate the DB and build an embedder
24
13
  * (Ollama when EMBED_MODEL is set, else a deterministic fake). Returns null
@@ -73,11 +62,11 @@ export interface BridgeState {
73
62
  input?: Record<string, unknown>;
74
63
  }>;
75
64
  }
76
- export declare function createBridgeSessions(tg: Telegram, state: BridgeState, h: DbHandles, embedder: Embedder): ChatSessions;
77
- export declare function handleInbound(tg: Telegram, auth: AuthContext, state: BridgeState, h: DbHandles, embedder: Embedder, chatId: number, message: TgMessage, sessions: ChatSessions): Promise<void>;
65
+ export declare function createBridgeSessions(tg: Telegram, state: BridgeState, h: DbHandles, log: ConversationLog): ChatSessions;
66
+ export declare function handleInbound(tg: Telegram, auth: AuthContext, state: BridgeState, h: DbHandles, log: ConversationLog, chatId: number, message: TgMessage, sessions: ChatSessions): Promise<void>;
78
67
  /** Old approval buttons remain in Telegram history. Never resume or authorize work. */
79
- export declare function handleCallback(tg: Telegram, _state: BridgeState, _h: DbHandles, _embedder: Embedder, _chatId: number, cbId: string, _data: string, _cardMessageId: number, _sessions: ChatSessions): Promise<void>;
80
- export declare function pollLoop(tg: Telegram, auth: AuthContext, state: BridgeState, h: DbHandles, embedder: Embedder, sessions: ChatSessions, signal: AbortSignal): Promise<void>;
68
+ export declare function handleCallback(tg: Telegram, _state: BridgeState, _h: DbHandles, _log: ConversationLog, _chatId: number, cbId: string, _data: string, _cardMessageId: number, _sessions: ChatSessions): Promise<void>;
69
+ export declare function pollLoop(tg: Telegram, auth: AuthContext, state: BridgeState, h: DbHandles, log: ConversationLog, sessions: ChatSessions, signal: AbortSignal): Promise<void>;
81
70
  /**
82
71
  * Startup notice for the fresh-install state (no ALLOWED_CHAT_IDS, no bindings).
83
72
  * This is NOT fatal: the bridge runs locked down, every unbound sender is
package/dist/bridge.js CHANGED
@@ -21,25 +21,7 @@ import { TelegramAdapter } from './adapter.js';
21
21
  import { SqliteBindingStore } from './bindings.js';
22
22
  import { envCompat } from './env.js';
23
23
  import { handleAuthCommand, isAuthorized, isAuthCommand } from './login.js';
24
- /** Map a channel event onto memory's generic MemoryInput (content + provenance). */
25
- export function mapChannelEventToMemoryInput(entry) {
26
- const meta = {
27
- ...(entry.meta ?? {}), direction: entry.direction, kind: entry.kind, actor: entry.actor,
28
- };
29
- if (entry.thread_id != null)
30
- meta.thread_id = entry.thread_id;
31
- if (entry.approval_status != null)
32
- meta.approval_status = entry.approval_status;
33
- return {
34
- content: entry.content,
35
- source: `${entry.channel}:${entry.actor}`,
36
- observed: 'stated',
37
- tags: [entry.channel, entry.direction, entry.kind],
38
- meta,
39
- };
40
- }
41
- // memory.store, captured by loadMemoryEngine when the peer is present.
42
- let memStore = null;
24
+ import { loadConversationLog, noopConversationLog, toConversationEvent } from './conversation-log.js';
43
25
  // memory job helpers, captured when the peer is present.
44
26
  let memEnqueue = null;
45
27
  let memExistsPending = null;
@@ -66,7 +48,6 @@ export async function loadMemoryEngine(dbPath) {
66
48
  const embedder = embedModel
67
49
  ? new mod.OllamaEmbedder(embedModel, process.env.OLLAMA_BASE_URL)
68
50
  : new mod.FakeEmbedder();
69
- memStore = mod.store;
70
51
  memEnqueue = mod.enqueue;
71
52
  memExistsPending = mod.existsPending;
72
53
  console.log(`[bridge] memory wired (db=${dbPath}, embedder=${embedModel ? 'ollama:' + embedModel : 'fake'}).`);
@@ -96,11 +77,6 @@ function makeEnqueueReplyDeps(h) {
96
77
  existsPending: (kind, id) => boundExistsPending(kind, id),
97
78
  };
98
79
  }
99
- async function store(h, e, entry) {
100
- if (!h || !e || !memStore)
101
- return 0; // channel-only mode
102
- return memStore(h, e, mapChannelEventToMemoryInput(entry));
103
- }
104
80
  // ---------------------------------------------------------------------------
105
81
  const ROOT_ENV = envCompat(process.env, 'FORTYTWO_ROOT', 'FORD_ROOT');
106
82
  const ROOT = ROOT_ENV ? resolve(ROOT_ENV) : resolve(import.meta.dirname, '..');
@@ -211,19 +187,25 @@ function saveState(s) {
211
187
  writeFileSync(STATE_PATH, JSON.stringify(s, null, 2));
212
188
  }
213
189
  // --- persistent Claude sessions ---
214
- export function createBridgeSessions(tg, state, h, embedder) {
190
+ export function createBridgeSessions(tg, state, h, log) {
215
191
  const runner = createRunner({ bin: CLAUDE_BIN, cwd: ROOT, env: { CLAUDE_CODE_DISABLE_AUTO_MEMORY: '1' } });
216
192
  return new ChatSessions(runner, tg, {
217
193
  ids: state.sessions,
218
194
  persist: () => saveState(state),
219
- onResult: (chatId, result, text) => respond(tg, h, embedder, state, chatId, result, text),
195
+ onResult: (chatId, result, text) => respond(tg, h, log, state, chatId, result, text),
220
196
  });
221
197
  }
222
198
  // --- I/O glue ---
223
- async function logBridgeEntry(h, embedder, entry) {
224
- // memory's store() inline-enqueues a reembed_memory job when needed; no
225
- // separate addJob call required here (that stub has been removed).
226
- return store(h, embedder, entry);
199
+ // Fire-and-forget: a slow or hung log (e.g. Ollama embedding) must never delay a
200
+ // reply or stall the poll loop. Call order is preserved (append inserts synchronously).
201
+ function logBridgeEntry(log, entry) {
202
+ const report = (e) => console.error(`[bridge] conversation log append failed: ${e?.message ?? e}`);
203
+ try {
204
+ Promise.resolve(log.append(toConversationEvent(entry))).catch(report);
205
+ }
206
+ catch (e) {
207
+ report(e);
208
+ }
227
209
  }
228
210
  async function sendReply(tg, chatId, placeholderId, text) {
229
211
  if (placeholderId !== null && text && text.length <= 4000) {
@@ -235,16 +217,16 @@ async function sendReply(tg, chatId, placeholderId, text) {
235
217
  }
236
218
  await tg.sendMessage(chatId, text || '(no reply)');
237
219
  }
238
- async function respond(tg, h, embedder, state, chatId, result, text) {
220
+ async function respond(tg, h, log, state, chatId, result, text) {
239
221
  // A deferral is terminal even when Claude supplies no deferred-tool details.
240
222
  if (result.raw?.stop_reason === 'tool_deferred') {
241
223
  await tg.sendMessage(chatId, 'Claude deferred this action. Telegram cannot authorize it. Resolve it through the configured Claude/Gate approval workflow.');
242
224
  return true;
243
225
  }
244
- await logBridgeEntry(h, embedder, { channel: 'telegram', direction: 'outbound', actor: ASSISTANT_ACTOR, kind: 'message', content: text });
226
+ logBridgeEntry(log, { channel: 'telegram', direction: 'outbound', actor: ASSISTANT_ACTOR, kind: 'message', content: text, thread_id: String(chatId) });
245
227
  return false;
246
228
  }
247
- export async function handleInbound(tg, auth, state, h, embedder, chatId, message, sessions) {
229
+ export async function handleInbound(tg, auth, state, h, log, chatId, message, sessions) {
248
230
  const text = message.text ?? message.caption ?? '';
249
231
  // --- AUTH GATE (lockdown) -------------------------------------------------
250
232
  // Auth commands (/login, /logout) and the unbound-sender drop are handled
@@ -299,13 +281,14 @@ export async function handleInbound(tg, auth, state, h, embedder, chatId, messag
299
281
  }));
300
282
  }
301
283
  const journalContent = text || (attachments.length ? `[${attachments.map((a) => a.kind).join(', ')}]` : '');
302
- await logBridgeEntry(h, embedder, { channel: 'telegram', direction: 'inbound', actor: OWNER_ACTOR, kind: 'message', content: journalContent, meta });
284
+ // The Telegram chat id is the conversation thread for every logged entry.
285
+ logBridgeEntry(log, { channel: 'telegram', direction: 'inbound', actor: OWNER_ACTOR, kind: 'message', content: journalContent, meta, thread_id: String(chatId) });
303
286
  if (skipped.length) {
304
287
  await tg.sendMessage(chatId, `⚠️ Skipped ${skipped.length} oversized/invalid attachment(s) (limit ${Math.round(ADAPTERS.attachments.maxBytes / 1048576)} MiB).`).catch(() => { });
305
288
  }
306
289
  const localReply = attachments.length === 0 ? telegramCommandReply(text) : undefined;
307
290
  if (localReply) {
308
- await logBridgeEntry(h, embedder, { channel: 'telegram', direction: 'outbound', actor: ASSISTANT_ACTOR, kind: 'message', content: localReply });
291
+ logBridgeEntry(log, { channel: 'telegram', direction: 'outbound', actor: ASSISTANT_ACTOR, kind: 'message', content: localReply, thread_id: String(chatId) });
309
292
  console.log(`[bridge] chat ${chatId}: handled local Telegram command "${text}"`);
310
293
  await sendReply(tg, chatId, null, localReply);
311
294
  return;
@@ -315,10 +298,10 @@ export async function handleInbound(tg, auth, state, h, embedder, chatId, messag
315
298
  await sessions.send(chatId, prompt);
316
299
  }
317
300
  /** Old approval buttons remain in Telegram history. Never resume or authorize work. */
318
- export async function handleCallback(tg, _state, _h, _embedder, _chatId, cbId, _data, _cardMessageId, _sessions) {
301
+ export async function handleCallback(tg, _state, _h, _log, _chatId, cbId, _data, _cardMessageId, _sessions) {
319
302
  await tg.answerCallbackQuery(cbId, 'This approval control is no longer supported. No authorization was recorded.').catch(() => { });
320
303
  }
321
- export async function pollLoop(tg, auth, state, h, embedder, sessions, signal) {
304
+ export async function pollLoop(tg, auth, state, h, log, sessions, signal) {
322
305
  // Pre-build dedup deps once; null when memory is unavailable (channel-only).
323
306
  const replyDeps = makeEnqueueReplyDeps(h);
324
307
  while (!signal.aborted) {
@@ -344,14 +327,14 @@ export async function pollLoop(tg, auth, state, h, embedder, sessions, signal) {
344
327
  // Legacy callbacks still require Telegram chat authorization.
345
328
  try {
346
329
  if (u.message && hasHandleableContent(u.message)) {
347
- await handleInbound(tg, auth, state, h, embedder, chatId, u.message, sessions);
330
+ await handleInbound(tg, auth, state, h, log, chatId, u.message, sessions);
348
331
  }
349
332
  else if (u.callback_query?.data && u.callback_query.message) {
350
333
  if (!isAuthorized(auth, chatId)) {
351
334
  console.log(`[bridge] chat ${chatId}: callback dropped (unbound, lockdown)`);
352
335
  continue;
353
336
  }
354
- await handleCallback(tg, state, h, embedder, chatId, u.callback_query.id, u.callback_query.data, u.callback_query.message.message_id, sessions);
337
+ await handleCallback(tg, state, h, log, chatId, u.callback_query.id, u.callback_query.data, u.callback_query.message.message_id, sessions);
355
338
  }
356
339
  }
357
340
  catch (e) {
@@ -415,20 +398,22 @@ async function main() {
415
398
  const pairingNotice = pairingOnlyStartupNotice(bootstrap.size, store.list('telegram').length);
416
399
  if (pairingNotice)
417
400
  console.log(pairingNotice);
418
- // Persist channel events to the memory store (optional peer; channel-only if absent).
401
+ // Append channel events to the conversation log (@justfortytwo/transcript over the
402
+ // memory DB; optional peers, channel-only if either is absent).
419
403
  const dbPath = process.env.DB_PATH ? resolve(ROOT, process.env.DB_PATH) : resolve(ROOT, 'db', 'fortytwo.db');
420
404
  const { h, embedder } = await loadMemoryEngine(dbPath);
405
+ const log = h && embedder ? await loadConversationLog(h, embedder) : noopConversationLog;
421
406
  const tg = new Telegram(token, bootstrap);
422
407
  const state = loadState();
423
408
  console.log(`[bridge] up. bootstrap=${bootstrap.size}, bindings=${store.list('telegram').length}, bindingsDb=${BINDINGS_DB_PATH}`);
424
409
  // Proactive wakes are now handled by @justfortytwo/scheduler (external daemon).
425
- const sessions = createBridgeSessions(tg, state, h, embedder);
410
+ const sessions = createBridgeSessions(tg, state, h, log);
426
411
  const controller = new AbortController();
427
412
  const shutdown = () => { controller.abort(); void sessions.closeAll(); };
428
413
  process.once('SIGINT', shutdown);
429
414
  process.once('SIGTERM', shutdown);
430
415
  try {
431
- await pollLoop(tg, auth, state, h, embedder, sessions, controller.signal);
416
+ await pollLoop(tg, auth, state, h, log, sessions, controller.signal);
432
417
  }
433
418
  finally {
434
419
  controller.abort();
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export declare class ChatSessions {
25
25
  private event;
26
26
  private retire;
27
27
  private fail;
28
- private startTyping;
28
+ private activate;
29
29
  private stopTyping;
30
30
  private stopTimers;
31
31
  private render;
@@ -20,7 +20,7 @@ export class ChatSessions {
20
20
  if (existing)
21
21
  return existing;
22
22
  const creating = this.runner.createSession({ resumeSessionId: this.hooks.ids[chatId] ?? fallbackId }).then(async (session) => {
23
- const chat = { session, output: { text: '', messages: [] }, pending: 0, persistedId: this.hooks.ids[chatId], delivery: Promise.resolve(), closed: false, listener: () => { } };
23
+ const chat = { session, output: { text: '', messages: [] }, active: false, persistedId: this.hooks.ids[chatId], delivery: Promise.resolve(), closed: false, listener: () => { } };
24
24
  chat.listener = event => {
25
25
  if (this.chats.get(chatId) === creating)
26
26
  this.event(chatId, chat, event);
@@ -46,16 +46,17 @@ export class ChatSessions {
46
46
  const chat = await entry;
47
47
  if (this.stopped || this.closing.has(chatId) || chat.closed)
48
48
  throw new Error('Chat sessions are closed');
49
- chat.pending++;
50
- if (chat.pending === 1)
51
- this.startTyping(chatId, chat);
49
+ const wasActive = chat.active;
50
+ this.activate(chatId, chat);
52
51
  try {
53
52
  await chat.session.send(prompt);
54
53
  }
55
54
  catch (error) {
56
- chat.pending = Math.max(0, chat.pending - 1);
57
- if (!chat.pending)
55
+ // A rejected input releases typing only if it was the one that started it.
56
+ if (!wasActive) {
57
+ chat.active = false;
58
58
  this.stopTimers(chat);
59
+ }
59
60
  // The process died before its exit event was observed: retire it and resume once.
60
61
  // Matched by name so tests can mock the runner module without its error classes.
61
62
  if (error?.name === 'RunnerClosedError' && !this.stopped && !this.closing.has(chatId) && !chat.closed) {
@@ -108,12 +109,10 @@ export class ChatSessions {
108
109
  chat.flush = undefined;
109
110
  const output = chat.output;
110
111
  chat.output = { text: '', messages: [] };
111
- // Turn accounting assumes Claude Code emits exactly one result per submitted
112
- // user turn (as runner's own pendingTurns does); results carry no input
113
- // correlation, so overlapping turns are matched by count, in order.
114
- chat.pending = Math.max(0, chat.pending - 1);
115
- if (!chat.pending)
116
- this.stopTimers(chat);
112
+ // Every result ends Claude's turn, including steered inputs answered together.
113
+ // Inputs queued after it restart typing when Claude consumes them ('input').
114
+ chat.active = false;
115
+ this.stopTimers(chat);
117
116
  // Shown text keeps every assistant message already streamed; result.text is the
118
117
  // final message, so it is only appended when no assistant event carried it.
119
118
  const final = event.result.text;
@@ -145,6 +144,9 @@ export class ChatSessions {
145
144
  this.fail(chatId, chat, `Claude exited (${event.signal ?? event.code ?? 'unknown'}). Send another message to resume.`);
146
145
  this.retire(chatId, chat);
147
146
  break;
147
+ case 'input':
148
+ this.activate(chatId, chat);
149
+ break;
148
150
  case 'stderr':
149
151
  console.error(`[bridge] Claude chat ${chatId}: ${event.text}`);
150
152
  break;
@@ -154,7 +156,7 @@ export class ChatSessions {
154
156
  retire(chatId, chat, terminate = false) {
155
157
  // Detached sessions cannot receive terminal events. Cancel their pending
156
158
  // presentation work before removing the listener, including closed-input retry.
157
- chat.pending = 0;
159
+ chat.active = false;
158
160
  this.stopTimers(chat);
159
161
  this.chats.delete(chatId);
160
162
  chat.session.off('event', chat.listener);
@@ -173,20 +175,21 @@ export class ChatSessions {
173
175
  });
174
176
  }
175
177
  fail(chatId, chat, message) {
176
- const active = chat.pending > 0;
177
- chat.pending = 0;
178
+ const active = chat.active;
179
+ chat.active = false;
178
180
  this.stopTimers(chat);
179
181
  chat.output = { text: '', messages: [] };
180
182
  if (active)
181
183
  this.queue(chat, async () => { await this.tg.sendMessage(chatId, `⚠️ ${message}`); });
182
184
  }
183
- startTyping(chatId, chat) {
185
+ activate(chatId, chat) {
186
+ chat.active = true;
184
187
  if (chat.typing)
185
188
  return;
186
189
  const refresh = () => {
187
190
  // Only submitted work owns typing. Late output and detached sessions must
188
191
  // not refresh it; an in-flight Telegram action may still expire naturally.
189
- if (!chat.pending || chat.closed || chat.termination || this.stopped || this.closing.has(chatId)) {
192
+ if (!chat.active || chat.closed || chat.termination || this.stopped || this.closing.has(chatId)) {
190
193
  this.stopTyping(chat);
191
194
  return;
192
195
  }
@@ -243,7 +246,7 @@ export class ChatSessions {
243
246
  const chats = live ? [...retiring, live] : retiring;
244
247
  await Promise.all(chats.map(async (chat) => {
245
248
  chat.closed = true;
246
- chat.pending = 0;
249
+ chat.active = false;
247
250
  this.stopTimers(chat);
248
251
  chat.session.off('event', chat.listener);
249
252
  chat.termination ??= chat.session.close();
@@ -1 +1 @@
1
- {"version":3,"file":"chat-sessions.js","sourceRoot":"","sources":["../src/chat-sessions.ts"],"names":[],"mappings":"AAwBA,6FAA6F;AAC7F,MAAM,OAAO,YAAY;IAMH;IAA+C;IAAuB;IALzE,KAAK,GAAG,IAAI,GAAG,EAAgC,CAAC;IACzD,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,CAAiB;IAChB,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC9C,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,YAAoB,MAAqC,EAAU,EAAa,EAAU,KAAY;QAAlF,WAAM,GAAN,MAAM,CAA+B;QAAU,OAAE,GAAF,EAAE,CAAW;QAAU,UAAK,GAAL,KAAK,CAAO;IAAG,CAAC;IAElG,WAAW,CAAC,MAAc,EAAE,UAAmB;QACrD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC3G,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACzH,MAAM,IAAI,GAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;YAC3L,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACtB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;oBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3E,CAAC,CAAC;YACF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5B,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAC3F,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACf,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAc,EAAE,UAAmB,EAAE,KAAK,GAAG,IAAI;QAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzG,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC;YAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC;YAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QACxC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,kFAAkF;YAClF,iFAAiF;YACjF,IAAK,KAAe,EAAE,IAAI,KAAK,mBAAmB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjH,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK;oBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtE,IAAI,KAAK;oBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACjE,CAAC;YACD,yEAAyE;YACzE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,MAAc,EAAE,IAAiB;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAClC,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC;gBAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YAAC,CAAC;YACpD,OAAO,KAAK,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAiB,EAAE,IAAyB;QACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAChG,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,MAAc,EAAE,IAAiB,EAAE,KAAkB;QACjE,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,sFAAsF;gBACtF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;gBACxD,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC5C,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;wBACvB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;oBAC5D,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACzC,6EAA6E;gBAC7E,wEAAwE;gBACxE,oEAAoE;gBACpE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzC,gFAAgF;gBAChF,4EAA4E;gBAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;gBAC9F,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBAAE,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,wCAAwC,CAAC;gBAC5G,IAAI,CAAC,MAAM,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;gBAC7C,qEAAqE;gBACrE,MAAM,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;oBAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACvE,IAAI,CAAC,OAAO;wBAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,OAAO;gBACV,+EAA+E;gBAC/E,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBACxH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,yBAAyB,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,oCAAoC,CAAC,CAAC;gBACvH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC1B,MAAM;YACR,KAAK,QAAQ;gBAAE,OAAO,CAAC,KAAK,CAAC,wBAAwB,MAAM,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAAC,MAAM;YACrF,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,sEAAsE;QAC3F,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,MAAc,EAAE,IAAiB,EAAE,SAAS,GAAG,KAAK;QACjE,yEAAyE;QACzE,gFAAgF;QAChF,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAe,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,2EAA2E;QAC3E,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACxE,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;oBAAE,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACvH,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,IAAI,CAAC,MAAc,EAAE,IAAiB,EAAE,OAAe;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACzC,IAAI,MAAM;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpG,CAAC;IAEO,WAAW,CAAC,MAAc,EAAE,IAAiB;QACnD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,0EAA0E;YAC1E,2EAA2E;YAC3E,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO;YACT,CAAC;YACD,KAAK,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IACO,UAAU,CAAC,IAAiB;QAClC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACtD,CAAC;IACO,UAAU,CAAC,IAAiB;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,IAAiB,EAAE,MAAc;QACpE,iFAAiF;QACjF,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAChD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAAE,GAAG,EAAE,CAAC;YACpF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3C,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzE,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YACxB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACrD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACzD,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,KAAK,CAAC,MAAc,IAAmB,MAAM,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9F,KAAK,CAAC,KAAK,CAAC,MAAc;QACxB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,QAAQ;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC;YACH,qEAAqE;YACrE,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACpD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;gBACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC1C,MAAM,IAAI,CAAC,WAAW,CAAC;gBACvB,MAAM,IAAI,CAAC,QAAQ,CAAC;YACtB,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,QAAQ;QACN,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7E,KAAK,MAAM,MAAM,IAAI,OAAO;gBAAE,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU;oBAAE,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACzH,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"chat-sessions.js","sourceRoot":"","sources":["../src/chat-sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export interface ConversationEvent {
2
+ channel: string;
3
+ direction: 'inbound' | 'outbound' | 'internal';
4
+ actor: string;
5
+ kind: string;
6
+ content: string;
7
+ threadId?: string | null;
8
+ meta?: Record<string, unknown>;
9
+ }
10
+ export interface ConversationLog {
11
+ append(event: ConversationEvent): Promise<unknown>;
12
+ }
13
+ export declare const noopConversationLog: ConversationLog;
14
+ /** Channel event shape the bridge carries (snake_case legacy fields). */
15
+ export interface ChannelEvent {
16
+ channel: string;
17
+ direction: string;
18
+ actor: string;
19
+ kind: string;
20
+ content: string;
21
+ meta?: Record<string, unknown>;
22
+ thread_id?: string | null;
23
+ approval_status?: string | null;
24
+ }
25
+ export declare function toConversationEvent(entry: ChannelEvent): ConversationEvent;
26
+ /**
27
+ * Load the optional @justfortytwo/transcript peer. Any failure (not installed,
28
+ * prepare/create throws) is logged and yields the no-op log.
29
+ */
30
+ export declare function loadConversationLog(h: unknown, embedder: unknown, importer?: (name: string) => Promise<unknown>): Promise<ConversationLog>;
@@ -0,0 +1,37 @@
1
+ // Telegram's own port for writing the conversation. Structural on purpose:
2
+ // no @justfortytwo/transcript (or memory) types are imported. The
3
+ // implementation is loaded dynamically and degrades to a no-op.
4
+ export const noopConversationLog = { append: async () => undefined };
5
+ export function toConversationEvent(entry) {
6
+ const meta = { ...(entry.meta ?? {}) };
7
+ if (entry.approval_status != null)
8
+ meta.approval_status = entry.approval_status;
9
+ const event = {
10
+ channel: entry.channel,
11
+ direction: entry.direction,
12
+ actor: entry.actor,
13
+ kind: entry.kind,
14
+ content: entry.content,
15
+ };
16
+ if (entry.thread_id != null)
17
+ event.threadId = entry.thread_id;
18
+ if (Object.keys(meta).length)
19
+ event.meta = meta;
20
+ return event;
21
+ }
22
+ /**
23
+ * Load the optional @justfortytwo/transcript peer. Any failure (not installed,
24
+ * prepare/create throws) is logged and yields the no-op log.
25
+ */
26
+ export async function loadConversationLog(h, embedder, importer = (n) => import(n)) {
27
+ try {
28
+ const mod = (await importer('@justfortytwo/transcript'));
29
+ await mod.prepareTranscript(h);
30
+ return mod.createTranscript(h, embedder);
31
+ }
32
+ catch (e) {
33
+ console.error(`[bridge] transcript unavailable (${e?.message ?? e}) — messages will NOT be recorded.`);
34
+ return noopConversationLog;
35
+ }
36
+ }
37
+ //# sourceMappingURL=conversation-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-log.js","sourceRoot":"","sources":["../src/conversation-log.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,kEAAkE;AAClE,gEAAgE;AAgBhE,MAAM,CAAC,MAAM,mBAAmB,GAAoB,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;AAQtF,MAAM,UAAU,mBAAmB,CAAC,KAAmB;IACrD,MAAM,IAAI,GAA4B,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;IAChE,IAAI,KAAK,CAAC,eAAe,IAAI,IAAI;QAAE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IAChF,MAAM,KAAK,GAAsB;QAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAA2C;QAC5D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;IACF,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI;QAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IAC9D,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAChD,OAAO,KAAK,CAAC;AACf,CAAC;AAOD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,CAAU,EACV,QAAiB,EACjB,WAA+C,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,0BAA0B,CAAC,CAAqB,CAAC;QAC7E,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,oCAAqC,CAAW,EAAE,OAAO,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClH,OAAO,mBAAmB,CAAC;IAC7B,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,4 +5,5 @@ export { TelegramAdapter, type ChannelAdapter, type Challenge, type ChallengeOpt
5
5
  export { MemoryBindingStore, SqliteBindingStore, type BindingStore, type Binding, type ChannelType, } from './bindings.js';
6
6
  export { handleAuthCommand, isAuthorized, isAuthCommand, type AuthContext, type LoginAction, } from './login.js';
7
7
  export { telegramNotifier, enqueueReply, type TelegramNotifierInstance, type Notification, type EnqueueReplyDeps, } from './notify.js';
8
- export { interpretResult, telegramSourceKind, hasHandleableContent, telegramCommandReply, buildInboundPrompt, ingestMessageAttachments, mapChannelEventToMemoryInput, type DeferredTool, type Interpreted, type AttachmentIo, } from './bridge.js';
8
+ export { interpretResult, telegramSourceKind, hasHandleableContent, telegramCommandReply, buildInboundPrompt, ingestMessageAttachments, type DeferredTool, type Interpreted, type AttachmentIo, } from './bridge.js';
9
+ export { toConversationEvent, loadConversationLog, noopConversationLog, type ConversationEvent, type ConversationLog, } from './conversation-log.js';
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@
6
6
  //
7
7
  // fortytwo packages (referenced, NOT bundled):
8
8
  // - @justfortytwo/memory optional peer (MEMORY_TOOL_CONTRACT_VERSION, tools mcp__fortytwo-memory__*)
9
+ // - @justfortytwo/transcript optional peer (conversation log, loaded dynamically)
9
10
  // - @justfortytwo/gate dependency: provenance envelopes (POLICY_SCHEMA_VERSION)
10
11
  // --- Channel transport (owned) ---
11
12
  export { Telegram, parseAllowed, messageAttachmentSpecs, largestPhoto, formatTelegramHtml, } from './telegram.js';
@@ -21,5 +22,7 @@ export { handleAuthCommand, isAuthorized, isAuthCommand, } from './login.js';
21
22
  // --- Scheduler notifier adapter + deduped reply enqueuer ---
22
23
  export { telegramNotifier, enqueueReply, } from './notify.js';
23
24
  // --- Bridge turn-loop primitives (owned; pure decision logic is testable) ---
24
- export { interpretResult, telegramSourceKind, hasHandleableContent, telegramCommandReply, buildInboundPrompt, ingestMessageAttachments, mapChannelEventToMemoryInput, } from './bridge.js';
25
+ export { interpretResult, telegramSourceKind, hasHandleableContent, telegramCommandReply, buildInboundPrompt, ingestMessageAttachments, } from './bridge.js';
26
+ // --- Conversation log port (owned; implementation is the optional transcript peer) ---
27
+ export { toConversationEvent, loadConversationLog, noopConversationLog, } from './conversation-log.js';
25
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,wEAAwE;AACxE,oFAAoF;AACpF,wEAAwE;AACxE,EAAE;AACF,+CAA+C;AAC/C,wGAAwG;AACxG,qFAAqF;AAErF,oCAAoC;AACpC,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,GAMnB,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,GAGhB,MAAM,kBAAkB,CAAC;AAE1B,iCAAiC;AACjC,OAAO,EACL,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAE9B,2CAA2C;AAC3C,OAAO,EACL,eAAe,GAIhB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAInB,MAAM,eAAe,CAAC;AAEvB,6CAA6C;AAC7C,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,aAAa,GAGd,MAAM,YAAY,CAAC;AAEpB,8DAA8D;AAC9D,OAAO,EACL,gBAAgB,EAChB,YAAY,GAIb,MAAM,aAAa,CAAC;AAErB,+EAA+E;AAC/E,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAI7B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,EAAE;AACF,wEAAwE;AACxE,oFAAoF;AACpF,wEAAwE;AACxE,EAAE;AACF,+CAA+C;AAC/C,wGAAwG;AACxG,qFAAqF;AACrF,qFAAqF;AAErF,oCAAoC;AACpC,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,GAMnB,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,GAGhB,MAAM,kBAAkB,CAAC;AAE1B,iCAAiC;AACjC,OAAO,EACL,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAE9B,2CAA2C;AAC3C,OAAO,EACL,eAAe,GAIhB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAInB,MAAM,eAAe,CAAC;AAEvB,6CAA6C;AAC7C,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,aAAa,GAGd,MAAM,YAAY,CAAC;AAEpB,8DAA8D;AAC9D,OAAO,EACL,gBAAgB,EAChB,YAAY,GAIb,MAAM,aAAa,CAAC;AAErB,+EAA+E;AAC/E,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,GAIzB,MAAM,aAAa,CAAC;AAErB,wFAAwF;AACxF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GAGpB,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@justfortytwo/telegram",
3
- "version": "1.0.0-6",
3
+ "version": "1.0.0-8",
4
4
  "description": "Telegram channel adapter for fortytwo: persistent Claude Code sessions per chat, asynchronous replies, deferred-action notices, and login/pairing authorization.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -49,16 +49,20 @@
49
49
  "login"
50
50
  ],
51
51
  "peerDependencies": {
52
- "@justfortytwo/memory": "^0.1.5 || ^1.0.0-0"
52
+ "@justfortytwo/memory": "^0.1.5 || ^1.0.0-0",
53
+ "@justfortytwo/transcript": "^1.0.0-0"
53
54
  },
54
55
  "peerDependenciesMeta": {
55
56
  "@justfortytwo/memory": {
56
57
  "optional": true
58
+ },
59
+ "@justfortytwo/transcript": {
60
+ "optional": true
57
61
  }
58
62
  },
59
63
  "dependencies": {
60
64
  "@justfortytwo/gate": "^0.1.0",
61
- "@justfortytwo/runner": "1.0.0-0",
65
+ "@justfortytwo/runner": "1.0.0-1",
62
66
  "better-sqlite3": "^12.0.0"
63
67
  },
64
68
  "devDependencies": {