@justfortytwo/telegram 1.0.0-7 → 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 +10 -6
- package/dist/bridge.d.ts +6 -17
- package/dist/bridge.js +28 -43
- package/dist/bridge.js.map +1 -1
- package/dist/conversation-log.d.ts +30 -0
- package/dist/conversation-log.js +37 -0
- package/dist/conversation-log.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
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 **
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
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`
|
|
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`.
|
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
|
|
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,
|
|
77
|
-
export declare function handleInbound(tg: Telegram, auth: AuthContext, state: BridgeState, h: DbHandles,
|
|
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,
|
|
80
|
-
export declare function pollLoop(tg: Telegram, auth: AuthContext, state: BridgeState, h: DbHandles,
|
|
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
|
-
|
|
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,
|
|
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,
|
|
195
|
+
onResult: (chatId, result, text) => respond(tg, h, log, state, chatId, result, text),
|
|
220
196
|
});
|
|
221
197
|
}
|
|
222
198
|
// --- I/O glue ---
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
//
|
|
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,
|
|
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,
|
|
416
|
+
await pollLoop(tg, auth, state, h, log, sessions, controller.signal);
|
|
432
417
|
}
|
|
433
418
|
finally {
|
|
434
419
|
controller.abort();
|
package/dist/bridge.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -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,
|
|
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,
|
|
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,
|
|
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-
|
|
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,11 +49,15 @@
|
|
|
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": {
|