sensorium-mcp 2.16.75 → 2.16.76
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/dist/http-server.d.ts.map +1 -1
- package/dist/http-server.js +56 -63
- package/dist/http-server.js.map +1 -1
- package/dist/server/factory.d.ts.map +1 -1
- package/dist/server/factory.js +99 -105
- package/dist/server/factory.js.map +1 -1
- package/dist/tools/wait/message-processing.d.ts +32 -0
- package/dist/tools/wait/message-processing.d.ts.map +1 -0
- package/dist/tools/wait/message-processing.js +205 -0
- package/dist/tools/wait/message-processing.js.map +1 -0
- package/dist/tools/wait/poll-loop.d.ts +2 -3
- package/dist/tools/wait/poll-loop.d.ts.map +1 -1
- package/dist/tools/wait/poll-loop.js +7 -162
- package/dist/tools/wait/poll-loop.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAgB/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,wBAAgB,eAAe,CAC7B,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,MAAM,QAAQ,EAC3B,aAAa,EAAE,MAAM,IAAI,GACxB,IAAI,CA2WN"}
|
package/dist/http-server.js
CHANGED
|
@@ -141,7 +141,7 @@ export function startHttpServer(createMcpServerFn, getMemoryDb, closeMemoryDb) {
|
|
|
141
141
|
sessionIdGenerator: () => randomUUID(),
|
|
142
142
|
onsessioninitialized: (sid) => {
|
|
143
143
|
capturedSid = sid;
|
|
144
|
-
sessions.set(sid, { transport, lastActivity: Date.now(), status: "active" });
|
|
144
|
+
sessions.set(sid, { transport, server: null, lastActivity: Date.now(), status: "active" });
|
|
145
145
|
registerDashboardSession(sid, "http");
|
|
146
146
|
},
|
|
147
147
|
});
|
|
@@ -165,6 +165,12 @@ export function startHttpServer(createMcpServerFn, getMemoryDb, closeMemoryDb) {
|
|
|
165
165
|
}
|
|
166
166
|
catch (_) { /* best-effort */ } });
|
|
167
167
|
await sessionServer.connect(transport);
|
|
168
|
+
// Store server reference so it can be closed during shutdown
|
|
169
|
+
if (capturedSid) {
|
|
170
|
+
const entry = sessions.get(capturedSid);
|
|
171
|
+
if (entry)
|
|
172
|
+
entry.server = sessionServer;
|
|
173
|
+
}
|
|
168
174
|
await transport.handleRequest(req, res, body);
|
|
169
175
|
return;
|
|
170
176
|
}
|
|
@@ -237,85 +243,68 @@ export function startHttpServer(createMcpServerFn, getMemoryDb, closeMemoryDb) {
|
|
|
237
243
|
httpServer.listen(httpPort, httpBind, () => {
|
|
238
244
|
log.info(`Remote Copilot MCP server running on http://${httpBind}:${httpPort}/mcp`);
|
|
239
245
|
});
|
|
240
|
-
// ──
|
|
241
|
-
//
|
|
246
|
+
// ── Unified session sweep — runs every 60 s ────────────────────────────
|
|
247
|
+
// Combines the former TTL sweeper, Session GC, and Session reaper into a
|
|
248
|
+
// single pass so there is only one interval to manage.
|
|
242
249
|
const SESSION_IDLE_TTL_MS = config.WAIT_TIMEOUT_MINUTES * 60 * 1000;
|
|
243
|
-
const ttlSweeperInterval = setInterval(() => {
|
|
244
|
-
const now = Date.now();
|
|
245
|
-
for (const [sid, entry] of sessions) {
|
|
246
|
-
if (entry.status === "active" && !entry.transport) {
|
|
247
|
-
// Transport already gone but status wasn't updated — fix it
|
|
248
|
-
entry.status = "disconnected";
|
|
249
|
-
if (entry.disconnectedAt == null) {
|
|
250
|
-
entry.disconnectedAt = now;
|
|
251
|
-
}
|
|
252
|
-
markDashboardSessionDisconnected(sid);
|
|
253
|
-
}
|
|
254
|
-
else if (entry.status === "active") {
|
|
255
|
-
if (now - entry.lastActivity > SESSION_IDLE_TTL_MS) {
|
|
256
|
-
log.info(`[session-ttl] Marking session ${sid.slice(0, 8)} as disconnected (idle ${Math.round((now - entry.lastActivity) / 60000)}m)`);
|
|
257
|
-
entry.status = "disconnected";
|
|
258
|
-
entry.disconnectedAt = now;
|
|
259
|
-
markDashboardSessionDisconnected(sid);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}, 5 * 60 * 1000);
|
|
264
|
-
// ── Session GC — remove disconnected sessions after grace period ─────────
|
|
265
|
-
// Sessions with a recent lastWaitCallAt (within WAIT_LIVENESS_MS) are
|
|
266
|
-
// considered "truly alive" even if the transport shows disconnected.
|
|
267
|
-
// Grace period matches wait timeout so long-polling sessions aren't reaped.
|
|
268
250
|
const SESSION_GC_GRACE_MS = config.WAIT_TIMEOUT_MINUTES * 60 * 1000;
|
|
269
|
-
const
|
|
251
|
+
const STALE_SESSION_MS = 2 * config.WAIT_TIMEOUT_MINUTES * 60 * 1000;
|
|
252
|
+
function sweepSessions() {
|
|
270
253
|
const now = Date.now();
|
|
271
|
-
|
|
272
|
-
// Check global dashboard sessions for wait-liveness before GC
|
|
254
|
+
// Build wait-liveness set so GC doesn't reap sessions still polling
|
|
273
255
|
const liveByWait = new Set();
|
|
274
256
|
for (const ds of getDashboardSessions()) {
|
|
275
257
|
if (ds.lastWaitCallAt && now - ds.lastWaitCallAt < WAIT_LIVENESS_MS) {
|
|
276
258
|
liveByWait.add(ds.mcpSessionId);
|
|
277
259
|
}
|
|
278
260
|
}
|
|
261
|
+
let marked = 0;
|
|
262
|
+
let removed = 0;
|
|
263
|
+
let reaped = 0;
|
|
279
264
|
for (const [sid, entry] of sessions) {
|
|
280
|
-
|
|
281
|
-
// Skip GC if session is still alive via wait heartbeat
|
|
282
|
-
if (liveByWait.has(sid))
|
|
283
|
-
continue;
|
|
284
|
-
// Only GC if actually disconnected (safety check)
|
|
285
|
-
if (entry.status !== "active" && !entry.transport) {
|
|
286
|
-
sessions.delete(sid);
|
|
287
|
-
removeDashboardSession(sid);
|
|
288
|
-
removed++;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
if (removed > 0) {
|
|
293
|
-
log.info(`[session-gc] Removed ${removed} disconnected session(s)`);
|
|
294
|
-
}
|
|
295
|
-
}, 60 * 1000);
|
|
296
|
-
// ── Session reaper — close abandoned SSE sessions every 10 minutes ──────
|
|
297
|
-
const STALE_SESSION_MS = 2 * config.WAIT_TIMEOUT_MINUTES * 60 * 1000;
|
|
298
|
-
const sessionReaperInterval = setInterval(() => {
|
|
299
|
-
const now = Date.now();
|
|
300
|
-
for (const [sid, entry] of sessions) {
|
|
265
|
+
// 1. Close truly stale transports (was session-reaper)
|
|
301
266
|
if (entry.transport && now - entry.lastActivity > STALE_SESSION_MS) {
|
|
302
|
-
log.info(`[session-
|
|
267
|
+
log.info(`[session-sweep] Closing stale session ${sid.slice(0, 8)}… (idle ${Math.round((now - entry.lastActivity) / 60000)}m)`);
|
|
303
268
|
try {
|
|
304
269
|
entry.transport.close();
|
|
305
270
|
}
|
|
306
271
|
catch (_) { /* best-effort */ }
|
|
307
272
|
sessions.delete(sid);
|
|
308
273
|
removeDashboardSession(sid);
|
|
274
|
+
reaped++;
|
|
275
|
+
continue;
|
|
309
276
|
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
277
|
+
// 2. Mark idle active sessions as disconnected (was TTL sweeper)
|
|
278
|
+
if (entry.status === "active" && !entry.transport) {
|
|
279
|
+
entry.status = "disconnected";
|
|
280
|
+
if (entry.disconnectedAt == null)
|
|
281
|
+
entry.disconnectedAt = now;
|
|
282
|
+
markDashboardSessionDisconnected(sid);
|
|
283
|
+
marked++;
|
|
284
|
+
}
|
|
285
|
+
else if (entry.status === "active" && now - entry.lastActivity > SESSION_IDLE_TTL_MS) {
|
|
286
|
+
log.info(`[session-sweep] Marking session ${sid.slice(0, 8)}… as disconnected (idle ${Math.round((now - entry.lastActivity) / 60000)}m)`);
|
|
287
|
+
entry.status = "disconnected";
|
|
288
|
+
entry.disconnectedAt = now;
|
|
289
|
+
markDashboardSessionDisconnected(sid);
|
|
290
|
+
marked++;
|
|
316
291
|
}
|
|
292
|
+
// 3. GC disconnected sessions past grace period (was session-gc)
|
|
293
|
+
if (entry.disconnectedAt != null &&
|
|
294
|
+
now - entry.disconnectedAt > SESSION_GC_GRACE_MS &&
|
|
295
|
+
!liveByWait.has(sid) &&
|
|
296
|
+
entry.status !== "active" &&
|
|
297
|
+
!entry.transport) {
|
|
298
|
+
sessions.delete(sid);
|
|
299
|
+
removeDashboardSession(sid);
|
|
300
|
+
removed++;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
if (marked > 0 || removed > 0 || reaped > 0) {
|
|
304
|
+
log.info(`[session-sweep] marked=${marked} removed=${removed} reaped=${reaped}`);
|
|
317
305
|
}
|
|
318
|
-
}
|
|
306
|
+
}
|
|
307
|
+
const sessionSweepInterval = setInterval(sweepSessions, 60 * 1000);
|
|
319
308
|
// ── Graceful shutdown — abort in-flight TTS, drain, then exit ──────────
|
|
320
309
|
let shuttingDown = false;
|
|
321
310
|
const shutdown = async (reason) => {
|
|
@@ -323,9 +312,7 @@ export function startHttpServer(createMcpServerFn, getMemoryDb, closeMemoryDb) {
|
|
|
323
312
|
return;
|
|
324
313
|
shuttingDown = true;
|
|
325
314
|
log.info(`[shutdown] Graceful shutdown initiated (${reason}) — aborting in-flight TTS…`);
|
|
326
|
-
clearInterval(
|
|
327
|
-
clearInterval(sessionGcInterval);
|
|
328
|
-
clearInterval(sessionReaperInterval);
|
|
315
|
+
clearInterval(sessionSweepInterval);
|
|
329
316
|
clearInterval(maintenancePollInterval);
|
|
330
317
|
// 1. Abort any pending TTS / transcription requests so they fail fast.
|
|
331
318
|
abortPendingSpeech();
|
|
@@ -343,6 +330,12 @@ export function startHttpServer(createMcpServerFn, getMemoryDb, closeMemoryDb) {
|
|
|
343
330
|
}
|
|
344
331
|
catch (_) { /* best-effort */ }
|
|
345
332
|
}
|
|
333
|
+
if (entry.server) {
|
|
334
|
+
try {
|
|
335
|
+
await entry.server.close();
|
|
336
|
+
}
|
|
337
|
+
catch (_) { /* best-effort */ }
|
|
338
|
+
}
|
|
346
339
|
sessions.delete(sid);
|
|
347
340
|
}
|
|
348
341
|
httpServer.close();
|
package/dist/http-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAwB,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAyB,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAGvB,MAAM,UAAU,eAAe,CAC7B,iBAAoC,EACpC,WAA2B,EAC3B,aAAyB;IAEzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAc,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,WAAW,CAAC;IAW1D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEjD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACpD,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;IAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEnC,KAAK,UAAU,SAAS,CAAC,GAAoB;QAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;gBAC3B,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC;gBACtB,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;oBAC9B,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;oBAC5C,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAC9D,OAAO,CAAC,EAAE,CAAC;oBAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAoB,EAAE,GAAG,EAAE,EAAE;QACnE,IAAI,CAAC;YACJ,6CAA6C;YAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,aAAa,CAAC,CAAC;YAC5D,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,4BAA4B,CAAC,CAAC;YAC5E,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6CAA6C,CAAC,CAAC;YAC7F,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,gBAAgB,CAAC,CAAC;YAEjE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,qEAAqE;YACrE,MAAM,OAAO,GAAqB;gBAChC,KAAK,EAAE,WAAW;gBAClB,iBAAiB,EAAE,GAAG,EAAE;oBACtB,OAAO,oBAAoB,EAAE,CAAC;gBAChC,CAAC;gBACD,eAAe;aAChB,CAAC;YACF,qEAAqE;YACrE,0EAA0E;YAC1E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;YACrF,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,KAAK,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,YAAY,CAAC;YACtF,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC5D,IAAI,eAAe,IAAI,cAAc,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;gBAC3E,IAAI,OAAO;oBAAE,OAAO;YACtB,CAAC;YAED,gEAAgE;YAChE,0DAA0D;YAC1D,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,UAAU,eAAe,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;oBACpF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;oBACnD,OAAO;gBACT,CAAC;YACH,CAAC;YAED,IAAI,GAAG,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;gBACvB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;gBACrD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;YAEtE,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,IAAI,IAAa,CAAC;gBAClB,IAAI,CAAC;oBACH,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;oBACrD,GAAG,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;oBAC/C,OAAO;gBACT,CAAC;gBAED,mBAAmB;gBACnB,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjE,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;oBACxB,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACnC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;oBAC3B,OAAO,QAAQ,CAAC,cAAc,CAAC;oBAC/B,uBAAuB,CAAC,SAAU,CAAC,CAAC;oBACpC,MAAM,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBACvD,OAAO;gBACT,CAAC;gBAED,wDAAwD;gBACxD,qEAAqE;gBACrE,wCAAwC;gBACxC,8CAA8C;gBAC9C,sEAAsE;gBACtE,8DAA8D;gBAC9D,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,+DAA+D;oBAC/D,gDAAgD;oBAChD,IAAI,SAAS,EAAE,CAAC;wBACd,GAAG,CAAC,IAAI,CAAC,0CAA0C,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC;wBAC7F,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAC3B,sBAAsB,CAAC,SAAS,CAAC,CAAC;oBACpC,CAAC;oBAED,IAAI,WAA+B,CAAC;oBACpC,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;wBAClD,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;wBACtC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;4BAC5B,WAAW,GAAG,GAAG,CAAC;4BAClB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;4BAC3F,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;wBACxC,CAAC;qBACF,CAAC,CAAC;oBAEH,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;wBACvB,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;wBAChC,IAAI,GAAG,EAAE,CAAC;4BACR,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BAChC,IAAI,KAAK,EAAE,CAAC;gCACV,0DAA0D;gCAC1D,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;gCACvB,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;gCAC9B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BACpC,CAAC;4BACD,gCAAgC,CAAC,GAAG,CAAC,CAAC;wBACxC,CAAC;oBACH,CAAC,CAAC;oBAEF,oEAAoE;oBACpE,uEAAuE;oBACvE,MAAM,aAAa,GAAG,iBAAiB,CACrC,GAAG,EAAE,CAAC,WAAW,EACjB,GAAG,EAAE,GAAG,IAAI,CAAC;wBAAC,SAAS,CAAC,KAAK,EAAE,CAAC;oBAAC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;oBACF,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACvC,6DAA6D;oBAC7D,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBACxC,IAAI,KAAK;4BAAE,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;oBAC1C,CAAC;oBACD,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC9C,OAAO;gBACT,CAAC;gBAED,2DAA2D;gBAC3D,gEAAgE;gBAChE,6DAA6D;gBAC7D,IAAI,SAAS,EAAE,CAAC;oBACd,GAAG,CAAC,IAAI,CAAC,0BAA0B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,uCAAuC,CAAC,CAAC;oBACjG,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;wBACrB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE;wBACrD,EAAE,EAAE,IAAI;qBACT,CAAC,CAAC,CAAC;oBACJ,OAAO;gBACT,CAAC;gBAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;oBACrB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,+DAA+D,EAAE;oBACjG,EAAE,EAAE,IAAI;iBACT,CAAC,CAAC,CAAC;gBACJ,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;oBACzB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;oBACrD,GAAG,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBACzC,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACnC,yDAAyD;gBACzD,MAAM,MAAM,GAAG,SAAU,CAAC;gBAC1B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACtC,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,MAAM,GAAG,cAAc,CAAC;wBACjC,IAAI,QAAQ,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;4BACpC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACvC,CAAC;wBACD,gCAAgC,CAAC,MAAM,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,MAAM,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;oBACzB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;oBACrD,GAAG,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBACzC,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACnC,MAAM,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,2BAA2B,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,SAAS,IAAI,GAAG,CAAC,CAAC,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3I,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5G,CAAC;QACF,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;QACzC,GAAG,CAAC,IAAI,CAAC,+CAA+C,QAAQ,IAAI,QAAQ,MAAM,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,mBAAmB,GAAG,MAAM,CAAC,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;IACpE,MAAM,mBAAmB,GAAG,MAAM,CAAC,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;IACpE,MAAM,gBAAgB,GAAK,CAAC,GAAG,MAAM,CAAC,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;IAEvE,SAAS,aAAa;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,oEAAoE;QACpE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,EAAE,IAAI,oBAAoB,EAAE,EAAE,CAAC;YACxC,IAAI,EAAE,CAAC,cAAc,IAAI,GAAG,GAAG,EAAE,CAAC,cAAc,GAAG,gBAAgB,EAAE,CAAC;gBACpE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACpC,uDAAuD;YACvD,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG,GAAG,KAAK,CAAC,YAAY,GAAG,gBAAgB,EAAE,CAAC;gBACnE,GAAG,CAAC,IAAI,CAAC,yCAAyC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChI,IAAI,CAAC;oBAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBAChE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAC5B,MAAM,EAAE,CAAC;gBACT,SAAS;YACX,CAAC;YAED,iEAAiE;YACjE,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClD,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;gBAC9B,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI;oBAAE,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC;gBAC7D,gCAAgC,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,EAAE,CAAC;YACX,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,GAAG,KAAK,CAAC,YAAY,GAAG,mBAAmB,EAAE,CAAC;gBACvF,GAAG,CAAC,IAAI,CAAC,mCAAmC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,2BAA2B,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1I,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC;gBAC9B,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC;gBAC3B,gCAAgC,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,EAAE,CAAC;YACX,CAAC;YAED,iEAAiE;YACjE,IACE,KAAK,CAAC,cAAc,IAAI,IAAI;gBAC5B,GAAG,GAAG,KAAK,CAAC,cAAc,GAAG,mBAAmB;gBAChD,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBACpB,KAAK,CAAC,MAAM,KAAK,QAAQ;gBACzB,CAAC,KAAK,CAAC,SAAS,EAChB,CAAC;gBACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAC5B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,0BAA0B,MAAM,YAAY,OAAO,WAAW,MAAM,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GAAG,WAAW,CAAC,aAAa,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAEnE,0EAA0E;IAC1E,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QACxC,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,2CAA2C,MAAM,6BAA6B,CAAC,CAAC;QAEzF,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACpC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAEvC,uEAAuE;QACvE,kBAAkB,EAAE,CAAC;QAErB,kEAAkE;QAClE,kEAAkE;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,kBAAkB,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YACzD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,2CAA2C;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC;oBAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC;oBAAC,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACrE,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAG,GAAG,EAAE,GAAG,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/C,IAAI,YAAY;YAAE,OAAO;QACzB,IAAI,oBAAoB,EAAE,EAAE,CAAC;YAC3B,KAAK,QAAQ,CAAC,2BAA2B,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAgB/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAWrD,OAAO,KAAK,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAgB/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAWrD,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,aAAa,CAAC;AAMjE;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,QAAQ,GAC1B,iBAAiB,CAGnB"}
|
package/dist/server/factory.js
CHANGED
|
@@ -120,26 +120,46 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, getMcpSessionId,
|
|
|
120
120
|
apiKey: config.OPENAI_API_KEY || undefined,
|
|
121
121
|
onConsolidation: () => { lastConsolidationAt = Date.now(); },
|
|
122
122
|
};
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
123
|
+
// ── Context builder helpers (capture current mutable state per-call) ────
|
|
124
|
+
function buildUtilityCtx() {
|
|
125
|
+
return {
|
|
126
|
+
resolveThreadId,
|
|
127
|
+
getShortReminder: (threadId) => getShortReminder(threadId, sessionStartedAt),
|
|
128
|
+
errorResult,
|
|
129
|
+
telegram,
|
|
130
|
+
config,
|
|
131
|
+
sessionStartedAt,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
function buildSessionToolCtx() {
|
|
135
|
+
return {
|
|
136
|
+
resolveThreadId,
|
|
137
|
+
getShortReminder: (threadId) => getShortReminder(threadId, sessionStartedAt),
|
|
138
|
+
errorResult,
|
|
139
|
+
telegram,
|
|
140
|
+
telegramChatId,
|
|
141
|
+
peekThreadMessages,
|
|
142
|
+
readThreadMessages,
|
|
143
|
+
appendToThread,
|
|
144
|
+
checkMaintenanceFlag,
|
|
145
|
+
checkDueTasks,
|
|
146
|
+
generateDmnReflection,
|
|
147
|
+
get lastOperatorMessageAt() { return lastOperatorMessageAt; },
|
|
148
|
+
set lastOperatorMessageAt(v) { lastOperatorMessageAt = v; },
|
|
149
|
+
get lastOperatorMessageText() { return lastOperatorMessageText; },
|
|
150
|
+
set lastOperatorMessageText(v) { lastOperatorMessageText = v; },
|
|
151
|
+
previewedUpdateIds,
|
|
152
|
+
addPreviewedId,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
// ── Dispatch table ────────────────────────────────────────────────────
|
|
156
|
+
// Maps tool names to handler functions. Each receives typed args and the
|
|
157
|
+
// SDK `extra` object, returning a ToolResult (or Promise thereof).
|
|
158
|
+
const delegateCtx = { telegram, telegramChatId };
|
|
159
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
160
|
+
const toolHandlers = {
|
|
161
|
+
start_session: (typedArgs) => {
|
|
162
|
+
const ctx = {
|
|
143
163
|
session: {
|
|
144
164
|
get currentThreadId() { return currentThreadId; },
|
|
145
165
|
set currentThreadId(v) { currentThreadId = v; },
|
|
@@ -167,8 +187,7 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, getMcpSessionId,
|
|
|
167
187
|
getMcpSessionId,
|
|
168
188
|
closeTransport,
|
|
169
189
|
};
|
|
170
|
-
return handleStartSession(
|
|
171
|
-
// Update the dashboard registry with the resolved threadId
|
|
190
|
+
return handleStartSession(typedArgs, ctx).then(result => {
|
|
172
191
|
const sid = getMcpSessionId?.();
|
|
173
192
|
if (sid && currentThreadId !== undefined) {
|
|
174
193
|
updateDashboardThreadId(sid, currentThreadId);
|
|
@@ -176,10 +195,8 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, getMcpSessionId,
|
|
|
176
195
|
}
|
|
177
196
|
return result;
|
|
178
197
|
});
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
if (name === "remote_copilot_wait_for_instructions") {
|
|
182
|
-
// Update wait heartbeat for dashboard liveness tracking
|
|
198
|
+
},
|
|
199
|
+
remote_copilot_wait_for_instructions: (typedArgs, extra) => {
|
|
183
200
|
const waitSid = getMcpSessionId?.();
|
|
184
201
|
if (waitSid)
|
|
185
202
|
updateLastWaitCall(waitSid);
|
|
@@ -216,87 +233,64 @@ function createMcpServer(telegram, telegramChatId, getMemoryDb, getMcpSessionId,
|
|
|
216
233
|
config,
|
|
217
234
|
errorResult,
|
|
218
235
|
};
|
|
219
|
-
return handleWaitForInstructions(
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
// ──
|
|
236
|
+
return handleWaitForInstructions(typedArgs, waitCtx, extra);
|
|
237
|
+
},
|
|
238
|
+
report_progress: (typedArgs, extra) => {
|
|
239
|
+
const scopeErr = enforceThreadScope(typedArgs);
|
|
240
|
+
if (scopeErr)
|
|
241
|
+
return errorResult(scopeErr);
|
|
242
|
+
return handleSessionTool("report_progress", typedArgs, buildSessionToolCtx(), extra);
|
|
243
|
+
},
|
|
244
|
+
hibernate: (typedArgs, extra) => handleSessionTool("hibernate", typedArgs, buildSessionToolCtx(), extra),
|
|
245
|
+
send_file: (typedArgs) => {
|
|
246
|
+
const scopeErr = enforceThreadScope(typedArgs);
|
|
247
|
+
if (scopeErr)
|
|
248
|
+
return errorResult(scopeErr);
|
|
249
|
+
return handleUtilityTool("send_file", typedArgs, buildUtilityCtx());
|
|
250
|
+
},
|
|
251
|
+
send_voice: (typedArgs) => {
|
|
252
|
+
const scopeErr = enforceThreadScope(typedArgs);
|
|
253
|
+
if (scopeErr)
|
|
254
|
+
return errorResult(scopeErr);
|
|
255
|
+
return handleUtilityTool("send_voice", typedArgs, buildUtilityCtx());
|
|
256
|
+
},
|
|
257
|
+
send_sticker: (typedArgs) => {
|
|
258
|
+
const scopeErr = enforceThreadScope(typedArgs);
|
|
259
|
+
if (scopeErr)
|
|
260
|
+
return errorResult(scopeErr);
|
|
261
|
+
return handleUtilityTool("send_sticker", typedArgs, buildUtilityCtx());
|
|
262
|
+
},
|
|
263
|
+
schedule_wake_up: (typedArgs) => handleUtilityTool("schedule_wake_up", typedArgs, buildUtilityCtx()),
|
|
264
|
+
start_thread: (typedArgs) => handleStartThread(typedArgs, delegateCtx),
|
|
265
|
+
send_message_to_thread: (typedArgs) => handleSendMessageToThreadFile(typedArgs),
|
|
266
|
+
get_version: (typedArgs) => handleUtilityTool("get_version", typedArgs, buildUtilityCtx()),
|
|
267
|
+
};
|
|
268
|
+
const srv = new Server({ name: "sensorium-mcp", version: PKG_VERSION }, { capabilities: { tools: {} } });
|
|
269
|
+
// ── Tool definitions ──────────────────────────────────────────────────────
|
|
270
|
+
srv.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
271
|
+
tools: getToolDefinitions(),
|
|
272
|
+
}));
|
|
273
|
+
// ── Tool implementations ──────────────────────────────────────────────────
|
|
274
|
+
// ToolResult intentionally omits `[key: string]: unknown` for internal type
|
|
275
|
+
// safety; assert structural compatibility at the SDK boundary.
|
|
276
|
+
// @ts-expect-error — ToolResult is structurally compatible but lacks index signature
|
|
277
|
+
srv.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
|
|
278
|
+
const { name, arguments: args } = request.params;
|
|
279
|
+
// Verbose logging: tool call dispatch
|
|
280
|
+
const argsSummary = args ? JSON.stringify(args).slice(0, 200) : "{}";
|
|
281
|
+
log.verbose("dispatch", `Tool call: ${name} args=${argsSummary}`);
|
|
282
|
+
lastToolCallAt = Date.now();
|
|
283
|
+
// Track tool calls for activity monitoring
|
|
284
|
+
toolCallsSinceLastDelivery++;
|
|
285
|
+
// ── Dispatch ─────────────────────────────────────────────────────────
|
|
286
|
+
const typedArgs = (args ?? {});
|
|
287
|
+
const handler = toolHandlers[name];
|
|
288
|
+
if (handler)
|
|
289
|
+
return handler(typedArgs, extra);
|
|
290
|
+
// Prefix-based fallback for memory_* tools
|
|
269
291
|
if (name.startsWith("memory_")) {
|
|
270
|
-
return handleMemoryTool(name,
|
|
271
|
-
}
|
|
272
|
-
// ── start_thread ───────────────────────────────────────────────────────
|
|
273
|
-
if (name === "start_thread") {
|
|
274
|
-
const typedArgs = (args ?? {});
|
|
275
|
-
const delegateCtx = {
|
|
276
|
-
telegram,
|
|
277
|
-
telegramChatId,
|
|
278
|
-
};
|
|
279
|
-
return handleStartThread(typedArgs, delegateCtx);
|
|
280
|
-
}
|
|
281
|
-
// ── send_message_to_thread ─────────────────────────────────────────────
|
|
282
|
-
if (name === "send_message_to_thread") {
|
|
283
|
-
const typedArgs = (args ?? {});
|
|
284
|
-
return handleSendMessageToThreadFile(typedArgs);
|
|
285
|
-
}
|
|
286
|
-
// ── get_version ────────────────────────────────────────────────────────
|
|
287
|
-
if (name === "get_version") {
|
|
288
|
-
const typedArgs = (args ?? {});
|
|
289
|
-
const utilityCtx = {
|
|
290
|
-
resolveThreadId,
|
|
291
|
-
getShortReminder: (threadId) => getShortReminder(threadId, sessionStartedAt),
|
|
292
|
-
errorResult,
|
|
293
|
-
telegram,
|
|
294
|
-
config,
|
|
295
|
-
sessionStartedAt,
|
|
296
|
-
};
|
|
297
|
-
return handleUtilityTool(name, typedArgs, utilityCtx);
|
|
292
|
+
return handleMemoryTool(name, typedArgs, memoryToolCtx);
|
|
298
293
|
}
|
|
299
|
-
// Unknown tool
|
|
300
294
|
return errorResult(`Unknown tool: ${name}`);
|
|
301
295
|
});
|
|
302
296
|
return srv;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/server/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extracted helpers from poll-loop.ts to reduce main file complexity.
|
|
3
|
+
*
|
|
4
|
+
* Contains:
|
|
5
|
+
* - processIncomingMessages(): orchestrates reading, classification,
|
|
6
|
+
* media processing, episode ingestion, and response assembly for
|
|
7
|
+
* incoming operator messages.
|
|
8
|
+
* - handlePollTimeout(): runs post-timeout logic including scheduled-task
|
|
9
|
+
* checks, auto-consolidation, memory refresh, and drive activation.
|
|
10
|
+
*/
|
|
11
|
+
import type { ToolResult } from "../../types.js";
|
|
12
|
+
import type { WaitToolContext, WaitToolExtra } from "./poll-loop.js";
|
|
13
|
+
/**
|
|
14
|
+
* Consumes queued Telegram messages for a thread, processes all media types,
|
|
15
|
+
* saves episodes, injects memory context, and returns the assembled ToolResult.
|
|
16
|
+
*
|
|
17
|
+
* Called from the poll loop when peekThreadMessages() finds pending messages.
|
|
18
|
+
*
|
|
19
|
+
* @param effectiveThreadId - The thread to read messages from.
|
|
20
|
+
* @param peekedCount - Number of messages found by peek (for logging).
|
|
21
|
+
* @param ctx - Shared wait-tool context (state, services, config).
|
|
22
|
+
* @param extra - SSE extras (signal, sendNotification).
|
|
23
|
+
*/
|
|
24
|
+
export declare function processIncomingMessages(effectiveThreadId: number, peekedCount: number, ctx: WaitToolContext, extra: WaitToolExtra): Promise<ToolResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Runs after the poll loop times out with no actionable messages.
|
|
27
|
+
* Checks for due scheduled tasks, builds schedule hints, runs
|
|
28
|
+
* auto-consolidation, refreshes memory context, and checks the
|
|
29
|
+
* autonomous drive activation.
|
|
30
|
+
*/
|
|
31
|
+
export declare function handlePollTimeout(effectiveThreadId: number | undefined, callNumber: number, ctx: WaitToolContext): ToolResult;
|
|
32
|
+
//# sourceMappingURL=message-processing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-processing.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/message-processing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH,OAAO,KAAK,EAAE,UAAU,EAAyB,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMrE;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,UAAU,CAAC,CAkHrB;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,eAAe,GACnB,UAAU,CA4DZ"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extracted helpers from poll-loop.ts to reduce main file complexity.
|
|
3
|
+
*
|
|
4
|
+
* Contains:
|
|
5
|
+
* - processIncomingMessages(): orchestrates reading, classification,
|
|
6
|
+
* media processing, episode ingestion, and response assembly for
|
|
7
|
+
* incoming operator messages.
|
|
8
|
+
* - handlePollTimeout(): runs post-timeout logic including scheduled-task
|
|
9
|
+
* checks, auto-consolidation, memory refresh, and drive activation.
|
|
10
|
+
*/
|
|
11
|
+
import { readThreadMessages } from "../../dispatcher.js";
|
|
12
|
+
import { assembleCompactRefresh } from "../../memory.js";
|
|
13
|
+
import { log } from "../../logger.js";
|
|
14
|
+
import { getReminders } from "../../response-builders.js";
|
|
15
|
+
import { listSchedules } from "../../scheduler.js";
|
|
16
|
+
import { processVoice, processAnimation, processVideoNote } from "./media-processor.js";
|
|
17
|
+
import { handleReactionWithMessages } from "./reaction-handler.js";
|
|
18
|
+
import { checkForDueTasks } from "./task-handler.js";
|
|
19
|
+
import { runAutoConsolidation, checkDriveActivation } from "./drive-handler.js";
|
|
20
|
+
import { processSimpleMessage, handleEmptyContent, autoIngestEpisodes, buildSmartContext, assembleOperatorResponse, } from "./message-delivery.js";
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
// processIncomingMessages
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
/**
|
|
25
|
+
* Consumes queued Telegram messages for a thread, processes all media types,
|
|
26
|
+
* saves episodes, injects memory context, and returns the assembled ToolResult.
|
|
27
|
+
*
|
|
28
|
+
* Called from the poll loop when peekThreadMessages() finds pending messages.
|
|
29
|
+
*
|
|
30
|
+
* @param effectiveThreadId - The thread to read messages from.
|
|
31
|
+
* @param peekedCount - Number of messages found by peek (for logging).
|
|
32
|
+
* @param ctx - Shared wait-tool context (state, services, config).
|
|
33
|
+
* @param extra - SSE extras (signal, sendNotification).
|
|
34
|
+
*/
|
|
35
|
+
export async function processIncomingMessages(effectiveThreadId, peekedCount, ctx, extra) {
|
|
36
|
+
const { state, telegram, telegramChatId, config, getMemoryDb } = ctx;
|
|
37
|
+
const { OPENAI_API_KEY, VOICE_ANALYSIS_URL, AUTONOMOUS_MODE } = config;
|
|
38
|
+
// Verify SSE connection is alive BEFORE consuming messages.
|
|
39
|
+
// This prevents the destructive readThreadMessages from eating
|
|
40
|
+
// messages that can never be delivered to a dead connection.
|
|
41
|
+
if (extra.signal.aborted) {
|
|
42
|
+
log.warn(`[wait] SSE connection aborted before consuming ${peekedCount} messages — leaving in queue.`);
|
|
43
|
+
return {
|
|
44
|
+
content: [{
|
|
45
|
+
type: "text",
|
|
46
|
+
text: "The connection was interrupted. Messages are preserved for the next call.",
|
|
47
|
+
}],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
// Connection alive — now consume messages for real.
|
|
51
|
+
const stored = readThreadMessages(effectiveThreadId);
|
|
52
|
+
log.info(`[wait] Read ${stored.length} messages from thread ${effectiveThreadId}. Processing...`);
|
|
53
|
+
// Update the operator activity timestamp and last message text.
|
|
54
|
+
state.lastOperatorMessageAt = Date.now();
|
|
55
|
+
state.lastOperatorMessageText = stored
|
|
56
|
+
.map(m => m.message.text ?? m.message.caption ?? "")
|
|
57
|
+
.filter(Boolean)
|
|
58
|
+
.join("\n")
|
|
59
|
+
.slice(0, 2000) || "";
|
|
60
|
+
// Clear only the consumed IDs from the previewed set (scoped clear).
|
|
61
|
+
// This is safe because Node.js is single-threaded — no report_progress
|
|
62
|
+
// call can interleave between readThreadMessages and this cleanup.
|
|
63
|
+
for (const msg of stored) {
|
|
64
|
+
state.previewedUpdateIds.delete(msg.update_id);
|
|
65
|
+
}
|
|
66
|
+
// React with 👀 on each consumed message to signal "seen" to the operator.
|
|
67
|
+
// Stagger calls to avoid Telegram 429 rate-limits on large batches.
|
|
68
|
+
void (async () => {
|
|
69
|
+
for (const msg of stored) {
|
|
70
|
+
try {
|
|
71
|
+
await telegram.setMessageReaction(telegramChatId, msg.message.message_id);
|
|
72
|
+
}
|
|
73
|
+
catch { /* non-critical */ }
|
|
74
|
+
if (stored.length > 1)
|
|
75
|
+
await new Promise(r => setTimeout(r, 100));
|
|
76
|
+
}
|
|
77
|
+
})();
|
|
78
|
+
const contentBlocks = [];
|
|
79
|
+
let hasVoiceMessages = false;
|
|
80
|
+
// Track which messages already had episodes saved (voice/video handlers)
|
|
81
|
+
const savedEpisodeUpdateIds = new Set();
|
|
82
|
+
for (const msg of stored) {
|
|
83
|
+
// Photos, documents, text, stickers — handled by message-delivery.
|
|
84
|
+
const simpleBlocks = await processSimpleMessage(msg, telegram);
|
|
85
|
+
contentBlocks.push(...simpleBlocks);
|
|
86
|
+
// Voice messages: transcribe using OpenAI Whisper.
|
|
87
|
+
if (msg.message.voice) {
|
|
88
|
+
hasVoiceMessages = true;
|
|
89
|
+
const mediaCtx = { telegram, openaiApiKey: OPENAI_API_KEY, voiceAnalysisUrl: VOICE_ANALYSIS_URL, effectiveThreadId: effectiveThreadId, sessionStartedAt: state.sessionStartedAt, getMemoryDb };
|
|
90
|
+
const result = await processVoice(msg, mediaCtx);
|
|
91
|
+
contentBlocks.push(...result.blocks);
|
|
92
|
+
if (result.episodeSaved)
|
|
93
|
+
savedEpisodeUpdateIds.add(msg.update_id);
|
|
94
|
+
}
|
|
95
|
+
// Animations / GIFs: download full file, extract frames, run multi-frame vision analysis
|
|
96
|
+
// (same pipeline as video_notes — uses extractVideoFrames + analyzeVideoFrames).
|
|
97
|
+
if (msg.message.animation) {
|
|
98
|
+
const mediaCtx = { telegram, openaiApiKey: OPENAI_API_KEY, voiceAnalysisUrl: VOICE_ANALYSIS_URL, effectiveThreadId: effectiveThreadId, sessionStartedAt: state.sessionStartedAt, getMemoryDb };
|
|
99
|
+
const animBlocks = await processAnimation(msg, mediaCtx);
|
|
100
|
+
contentBlocks.push(...animBlocks);
|
|
101
|
+
}
|
|
102
|
+
// Video notes (circle videos): extract frames, analyze with GPT-4.1 vision,
|
|
103
|
+
// optionally transcribe the audio track.
|
|
104
|
+
if (msg.message.video_note) {
|
|
105
|
+
hasVoiceMessages = true; // Video notes often contain speech
|
|
106
|
+
const mediaCtx = { telegram, openaiApiKey: OPENAI_API_KEY, voiceAnalysisUrl: VOICE_ANALYSIS_URL, effectiveThreadId: effectiveThreadId, sessionStartedAt: state.sessionStartedAt, getMemoryDb };
|
|
107
|
+
const result = await processVideoNote(msg, mediaCtx);
|
|
108
|
+
contentBlocks.push(...result.blocks);
|
|
109
|
+
if (result.episodeSaved)
|
|
110
|
+
savedEpisodeUpdateIds.add(msg.update_id);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
handleEmptyContent(contentBlocks, stored);
|
|
114
|
+
log.info(`[wait] ${contentBlocks.length} content blocks built. Saving episodes...`);
|
|
115
|
+
// Auto-ingest episodes for messages not already saved by voice/video handlers
|
|
116
|
+
autoIngestEpisodes(stored, savedEpisodeUpdateIds, { getMemoryDb, effectiveThreadId: effectiveThreadId, sessionStartedAt: state.sessionStartedAt });
|
|
117
|
+
// ── Check for pending operator reactions ─────────────────────────
|
|
118
|
+
await handleReactionWithMessages(contentBlocks, {
|
|
119
|
+
telegram,
|
|
120
|
+
getMemoryDb,
|
|
121
|
+
effectiveThreadId,
|
|
122
|
+
sessionStartedAt: state.sessionStartedAt,
|
|
123
|
+
});
|
|
124
|
+
log.info(`[wait] Episodes saved. Building auto-memory context...`);
|
|
125
|
+
// Extract operator text for memory search and intent classification.
|
|
126
|
+
const operatorText = stored
|
|
127
|
+
.map(m => m.message.text ?? m.message.caption ?? "")
|
|
128
|
+
.filter(Boolean)
|
|
129
|
+
.join(" ")
|
|
130
|
+
.slice(0, 500);
|
|
131
|
+
// Smart context injection (GPT-4o-mini preprocessor)
|
|
132
|
+
const autoMemoryContext = await buildSmartContext(operatorText, { getMemoryDb, effectiveThreadId });
|
|
133
|
+
log.info(`[wait] Returning response with ${contentBlocks.length} blocks to agent.`);
|
|
134
|
+
return assembleOperatorResponse(contentBlocks, operatorText, hasVoiceMessages, autoMemoryContext, { effectiveThreadId: effectiveThreadId, sessionStartedAt: state.sessionStartedAt, autonomousMode: AUTONOMOUS_MODE });
|
|
135
|
+
}
|
|
136
|
+
// ---------------------------------------------------------------------------
|
|
137
|
+
// handlePollTimeout
|
|
138
|
+
// ---------------------------------------------------------------------------
|
|
139
|
+
/**
|
|
140
|
+
* Runs after the poll loop times out with no actionable messages.
|
|
141
|
+
* Checks for due scheduled tasks, builds schedule hints, runs
|
|
142
|
+
* auto-consolidation, refreshes memory context, and checks the
|
|
143
|
+
* autonomous drive activation.
|
|
144
|
+
*/
|
|
145
|
+
export function handlePollTimeout(effectiveThreadId, callNumber, ctx) {
|
|
146
|
+
const { state, config, getMemoryDb } = ctx;
|
|
147
|
+
const { OPENAI_API_KEY, AUTONOMOUS_MODE } = config;
|
|
148
|
+
// Check for scheduled wake-up tasks.
|
|
149
|
+
if (effectiveThreadId !== undefined) {
|
|
150
|
+
const taskResult = checkForDueTasks(ctx, effectiveThreadId);
|
|
151
|
+
if (taskResult)
|
|
152
|
+
return taskResult;
|
|
153
|
+
}
|
|
154
|
+
// Show pending scheduled tasks if any exist.
|
|
155
|
+
let scheduleHint = "";
|
|
156
|
+
if (effectiveThreadId !== undefined) {
|
|
157
|
+
const pending = listSchedules(effectiveThreadId);
|
|
158
|
+
if (pending.length > 0) {
|
|
159
|
+
const taskList = pending.map(t => {
|
|
160
|
+
let trigger = "";
|
|
161
|
+
if (t.runAt) {
|
|
162
|
+
trigger = `at ${new Date(t.runAt).toLocaleTimeString("en-GB", { hour: "2-digit", minute: "2-digit" })}`;
|
|
163
|
+
}
|
|
164
|
+
else if (t.cron) {
|
|
165
|
+
trigger = `cron: ${t.cron}`;
|
|
166
|
+
}
|
|
167
|
+
else if (t.afterIdleMinutes) {
|
|
168
|
+
trigger = `after ${t.afterIdleMinutes}min idle`;
|
|
169
|
+
}
|
|
170
|
+
return ` • "${t.label}" (${trigger})`;
|
|
171
|
+
}).join("\n");
|
|
172
|
+
scheduleHint = `\n\n📋 **Pending scheduled tasks:**\n${taskList}`;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// ── Auto-consolidation during idle (fire-and-forget) ────────────────────
|
|
176
|
+
runAutoConsolidation({ state, effectiveThreadId, getMemoryDb, apiKey: OPENAI_API_KEY || undefined, config, memoryRefresh: "", scheduleHint: "" });
|
|
177
|
+
// Periodic memory refresh — re-ground the agent every 10 polls (~5h)
|
|
178
|
+
// (reduced from 5 since auto-inject now handles per-message context)
|
|
179
|
+
let memoryRefresh = "";
|
|
180
|
+
if (callNumber % 10 === 0 && effectiveThreadId !== undefined) {
|
|
181
|
+
try {
|
|
182
|
+
const db = getMemoryDb();
|
|
183
|
+
const refresh = assembleCompactRefresh(db, effectiveThreadId);
|
|
184
|
+
if (refresh)
|
|
185
|
+
memoryRefresh = `\n\n${refresh}`;
|
|
186
|
+
}
|
|
187
|
+
catch (_) { /* non-fatal */ }
|
|
188
|
+
}
|
|
189
|
+
// ── 3-Phase Probabilistic Autonomous Drive ──────────────────────────────
|
|
190
|
+
const driveActivationResult = checkDriveActivation({ state, effectiveThreadId, getMemoryDb, apiKey: OPENAI_API_KEY || undefined, config, memoryRefresh, scheduleHint });
|
|
191
|
+
if (driveActivationResult)
|
|
192
|
+
return driveActivationResult;
|
|
193
|
+
return {
|
|
194
|
+
content: [
|
|
195
|
+
{
|
|
196
|
+
type: "text",
|
|
197
|
+
text: `No new instructions. Call \`remote_copilot_wait_for_instructions\` again to keep listening.` +
|
|
198
|
+
memoryRefresh +
|
|
199
|
+
scheduleHint +
|
|
200
|
+
getReminders(effectiveThreadId, state.sessionStartedAt, AUTONOMOUS_MODE),
|
|
201
|
+
},
|
|
202
|
+
],
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=message-processing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-processing.js","sourceRoot":"","sources":["../../../src/tools/wait/message-processing.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,9 @@
|
|
|
13
13
|
* - Detects maintenance flags and instructs agent to wait externally
|
|
14
14
|
* - Activates the Dispatcher drive after extended operator silence
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
16
|
+
import type { initMemoryDb } from "../../memory.js";
|
|
17
17
|
import type { TelegramClient } from "../../telegram.js";
|
|
18
|
-
import type { AppConfig } from "../../types.js";
|
|
19
|
-
import type { ToolResult } from "../../types.js";
|
|
18
|
+
import type { AppConfig, ToolResult } from "../../types.js";
|
|
20
19
|
export interface WaitToolContext {
|
|
21
20
|
/** Mutable per-session state — the handler reads and writes directly. */
|
|
22
21
|
state: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll-loop.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,
|
|
1
|
+
{"version":3,"file":"poll-loop.d.ts","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAqD5D,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,KAAK,EAAE;QACL,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,0BAA0B,EAAE,MAAM,CAAC;QACnC,qBAAqB,EAAE,MAAM,CAAC;QAC9B,uBAAuB,EAAE,MAAM,CAAC;QAChC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;IAGnF,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;IACnD,MAAM,EAAE,SAAS,CAAC;IAGlB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;CAC9D;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvG,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAMD,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,UAAU,CAAC,CA6HrB"}
|
|
@@ -17,16 +17,12 @@ import { existsSync, readFileSync, renameSync, unlinkSync } from "node:fs";
|
|
|
17
17
|
import { homedir } from "node:os";
|
|
18
18
|
import { join } from "node:path";
|
|
19
19
|
import { checkMaintenanceFlag } from "../../data/file-storage.js";
|
|
20
|
-
import { peekThreadMessages
|
|
21
|
-
import { assembleCompactRefresh, } from "../../memory.js";
|
|
22
|
-
import { listSchedules } from "../../scheduler.js";
|
|
20
|
+
import { peekThreadMessages } from "../../dispatcher.js";
|
|
23
21
|
import { log } from "../../logger.js";
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import { handleReactionWithMessages, handleReactionOnly } from "./reaction-handler.js";
|
|
22
|
+
import { getShortReminder, buildMaintenanceResponse } from "../../response-builders.js";
|
|
23
|
+
import { handleReactionOnly } from "./reaction-handler.js";
|
|
27
24
|
import { checkForDueTasks } from "./task-handler.js";
|
|
28
|
-
import {
|
|
29
|
-
import { processSimpleMessage, handleEmptyContent, autoIngestEpisodes, buildSmartContext, assembleOperatorResponse } from "./message-delivery.js";
|
|
25
|
+
import { processIncomingMessages, handlePollTimeout } from "./message-processing.js";
|
|
30
26
|
// ---------------------------------------------------------------------------
|
|
31
27
|
// Pending-task file helper
|
|
32
28
|
// ---------------------------------------------------------------------------
|
|
@@ -74,7 +70,7 @@ function consumePendingTask(threadId) {
|
|
|
74
70
|
// ---------------------------------------------------------------------------
|
|
75
71
|
export async function handleWaitForInstructions(args, ctx, extra) {
|
|
76
72
|
const { state, telegram, telegramChatId, config, getMemoryDb } = ctx;
|
|
77
|
-
const {
|
|
73
|
+
const { WAIT_TIMEOUT_MINUTES, AUTONOMOUS_MODE } = config;
|
|
78
74
|
state.toolCallsSinceLastDelivery = 0;
|
|
79
75
|
const effectiveThreadId = ctx.resolveThreadId(args);
|
|
80
76
|
if (effectiveThreadId === undefined) {
|
|
@@ -119,103 +115,7 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
119
115
|
// SSE connection may be dead.
|
|
120
116
|
const peeked = peekThreadMessages(effectiveThreadId);
|
|
121
117
|
if (peeked.length > 0) {
|
|
122
|
-
|
|
123
|
-
// This prevents the destructive readThreadMessages from eating
|
|
124
|
-
// messages that can never be delivered to a dead connection.
|
|
125
|
-
if (extra.signal.aborted) {
|
|
126
|
-
log.warn(`[wait] SSE connection aborted before consuming ${peeked.length} messages — leaving in queue.`);
|
|
127
|
-
return {
|
|
128
|
-
content: [{
|
|
129
|
-
type: "text",
|
|
130
|
-
text: "The connection was interrupted. Messages are preserved for the next call.",
|
|
131
|
-
}],
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
// Connection alive — now consume messages for real.
|
|
135
|
-
const stored = readThreadMessages(effectiveThreadId);
|
|
136
|
-
log.info(`[wait] Read ${stored.length} messages from thread ${effectiveThreadId}. Processing...`);
|
|
137
|
-
// Update the operator activity timestamp and last message text.
|
|
138
|
-
state.lastOperatorMessageAt = Date.now();
|
|
139
|
-
state.lastOperatorMessageText = stored
|
|
140
|
-
.map(m => m.message.text ?? m.message.caption ?? "")
|
|
141
|
-
.filter(Boolean)
|
|
142
|
-
.join("\n")
|
|
143
|
-
.slice(0, 2000) || "";
|
|
144
|
-
// Clear only the consumed IDs from the previewed set (scoped clear).
|
|
145
|
-
// This is safe because Node.js is single-threaded — no report_progress
|
|
146
|
-
// call can interleave between readThreadMessages and this cleanup.
|
|
147
|
-
for (const msg of stored) {
|
|
148
|
-
state.previewedUpdateIds.delete(msg.update_id);
|
|
149
|
-
}
|
|
150
|
-
// React with 👀 on each consumed message to signal "seen" to the operator.
|
|
151
|
-
// Stagger calls to avoid Telegram 429 rate-limits on large batches.
|
|
152
|
-
void (async () => {
|
|
153
|
-
for (const msg of stored) {
|
|
154
|
-
try {
|
|
155
|
-
await telegram.setMessageReaction(telegramChatId, msg.message.message_id);
|
|
156
|
-
}
|
|
157
|
-
catch { /* non-critical */ }
|
|
158
|
-
if (stored.length > 1)
|
|
159
|
-
await new Promise(r => setTimeout(r, 100));
|
|
160
|
-
}
|
|
161
|
-
})();
|
|
162
|
-
const contentBlocks = [];
|
|
163
|
-
let hasVoiceMessages = false;
|
|
164
|
-
// Track which messages already had episodes saved (voice/video handlers)
|
|
165
|
-
const savedEpisodeUpdateIds = new Set();
|
|
166
|
-
for (const msg of stored) {
|
|
167
|
-
// Photos, documents, text, stickers — handled by message-delivery.
|
|
168
|
-
const simpleBlocks = await processSimpleMessage(msg, telegram);
|
|
169
|
-
contentBlocks.push(...simpleBlocks);
|
|
170
|
-
// Voice messages: transcribe using OpenAI Whisper.
|
|
171
|
-
if (msg.message.voice) {
|
|
172
|
-
hasVoiceMessages = true;
|
|
173
|
-
const mediaCtx = { telegram, openaiApiKey: OPENAI_API_KEY, voiceAnalysisUrl: VOICE_ANALYSIS_URL, effectiveThreadId: effectiveThreadId, sessionStartedAt: state.sessionStartedAt, getMemoryDb };
|
|
174
|
-
const result = await processVoice(msg, mediaCtx);
|
|
175
|
-
contentBlocks.push(...result.blocks);
|
|
176
|
-
if (result.episodeSaved)
|
|
177
|
-
savedEpisodeUpdateIds.add(msg.update_id);
|
|
178
|
-
}
|
|
179
|
-
// Animations / GIFs: download full file, extract frames, run multi-frame vision analysis
|
|
180
|
-
// (same pipeline as video_notes — uses extractVideoFrames + analyzeVideoFrames).
|
|
181
|
-
if (msg.message.animation) {
|
|
182
|
-
const mediaCtx = { telegram, openaiApiKey: OPENAI_API_KEY, voiceAnalysisUrl: VOICE_ANALYSIS_URL, effectiveThreadId: effectiveThreadId, sessionStartedAt: state.sessionStartedAt, getMemoryDb };
|
|
183
|
-
const animBlocks = await processAnimation(msg, mediaCtx);
|
|
184
|
-
contentBlocks.push(...animBlocks);
|
|
185
|
-
}
|
|
186
|
-
// Video notes (circle videos): extract frames, analyze with GPT-4.1 vision,
|
|
187
|
-
// optionally transcribe the audio track.
|
|
188
|
-
if (msg.message.video_note) {
|
|
189
|
-
hasVoiceMessages = true; // Video notes often contain speech
|
|
190
|
-
const mediaCtx = { telegram, openaiApiKey: OPENAI_API_KEY, voiceAnalysisUrl: VOICE_ANALYSIS_URL, effectiveThreadId: effectiveThreadId, sessionStartedAt: state.sessionStartedAt, getMemoryDb };
|
|
191
|
-
const result = await processVideoNote(msg, mediaCtx);
|
|
192
|
-
contentBlocks.push(...result.blocks);
|
|
193
|
-
if (result.episodeSaved)
|
|
194
|
-
savedEpisodeUpdateIds.add(msg.update_id);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
handleEmptyContent(contentBlocks, stored);
|
|
198
|
-
log.info(`[wait] ${contentBlocks.length} content blocks built. Saving episodes...`);
|
|
199
|
-
// Auto-ingest episodes for messages not already saved by voice/video handlers
|
|
200
|
-
autoIngestEpisodes(stored, savedEpisodeUpdateIds, { getMemoryDb, effectiveThreadId: effectiveThreadId, sessionStartedAt: state.sessionStartedAt });
|
|
201
|
-
// ── Check for pending operator reactions ─────────────────────────
|
|
202
|
-
await handleReactionWithMessages(contentBlocks, {
|
|
203
|
-
telegram,
|
|
204
|
-
getMemoryDb,
|
|
205
|
-
effectiveThreadId,
|
|
206
|
-
sessionStartedAt: state.sessionStartedAt,
|
|
207
|
-
});
|
|
208
|
-
log.info(`[wait] Episodes saved. Building auto-memory context...`);
|
|
209
|
-
// Extract operator text for memory search and intent classification.
|
|
210
|
-
const operatorText = stored
|
|
211
|
-
.map(m => m.message.text ?? m.message.caption ?? "")
|
|
212
|
-
.filter(Boolean)
|
|
213
|
-
.join(" ")
|
|
214
|
-
.slice(0, 500);
|
|
215
|
-
// Smart context injection (GPT-4o-mini preprocessor)
|
|
216
|
-
const autoMemoryContext = await buildSmartContext(operatorText, { getMemoryDb, effectiveThreadId });
|
|
217
|
-
log.info(`[wait] Returning response with ${contentBlocks.length} blocks to agent.`);
|
|
218
|
-
return assembleOperatorResponse(contentBlocks, operatorText, hasVoiceMessages, autoMemoryContext, { effectiveThreadId: effectiveThreadId, sessionStartedAt: state.sessionStartedAt, autonomousMode: AUTONOMOUS_MODE });
|
|
118
|
+
return processIncomingMessages(effectiveThreadId, peeked.length, ctx, extra);
|
|
219
119
|
}
|
|
220
120
|
// ── Reaction-only wake-up ───────────────────────────────────────
|
|
221
121
|
// Guard: don't consume the reaction file if the SSE connection is
|
|
@@ -279,61 +179,6 @@ export async function handleWaitForInstructions(args, ctx, extra) {
|
|
|
279
179
|
await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
|
|
280
180
|
}
|
|
281
181
|
// Timeout elapsed with no actionable message.
|
|
282
|
-
|
|
283
|
-
if (effectiveThreadId !== undefined) {
|
|
284
|
-
const taskResult = checkForDueTasks(ctx, effectiveThreadId);
|
|
285
|
-
if (taskResult)
|
|
286
|
-
return taskResult;
|
|
287
|
-
}
|
|
288
|
-
// Show pending scheduled tasks if any exist.
|
|
289
|
-
let scheduleHint = "";
|
|
290
|
-
if (effectiveThreadId !== undefined) {
|
|
291
|
-
const pending = listSchedules(effectiveThreadId);
|
|
292
|
-
if (pending.length > 0) {
|
|
293
|
-
const taskList = pending.map(t => {
|
|
294
|
-
let trigger = "";
|
|
295
|
-
if (t.runAt) {
|
|
296
|
-
trigger = `at ${new Date(t.runAt).toLocaleTimeString("en-GB", { hour: "2-digit", minute: "2-digit" })}`;
|
|
297
|
-
}
|
|
298
|
-
else if (t.cron) {
|
|
299
|
-
trigger = `cron: ${t.cron}`;
|
|
300
|
-
}
|
|
301
|
-
else if (t.afterIdleMinutes) {
|
|
302
|
-
trigger = `after ${t.afterIdleMinutes}min idle`;
|
|
303
|
-
}
|
|
304
|
-
return ` • "${t.label}" (${trigger})`;
|
|
305
|
-
}).join("\n");
|
|
306
|
-
scheduleHint = `\n\n📋 **Pending scheduled tasks:**\n${taskList}`;
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
// ── Auto-consolidation during idle (fire-and-forget) ────────────────────
|
|
310
|
-
runAutoConsolidation({ state, effectiveThreadId, getMemoryDb, apiKey: OPENAI_API_KEY || undefined, config, memoryRefresh: "", scheduleHint: "" });
|
|
311
|
-
// Periodic memory refresh — re-ground the agent every 10 polls (~5h)
|
|
312
|
-
// (reduced from 5 since auto-inject now handles per-message context)
|
|
313
|
-
let memoryRefresh = "";
|
|
314
|
-
if (callNumber % 10 === 0 && effectiveThreadId !== undefined) {
|
|
315
|
-
try {
|
|
316
|
-
const db = getMemoryDb();
|
|
317
|
-
const refresh = assembleCompactRefresh(db, effectiveThreadId);
|
|
318
|
-
if (refresh)
|
|
319
|
-
memoryRefresh = `\n\n${refresh}`;
|
|
320
|
-
}
|
|
321
|
-
catch (_) { /* non-fatal */ }
|
|
322
|
-
}
|
|
323
|
-
// ── 3-Phase Probabilistic Autonomous Drive ──────────────────────────────
|
|
324
|
-
const driveActivationResult = checkDriveActivation({ state, effectiveThreadId, getMemoryDb, apiKey: OPENAI_API_KEY || undefined, config, memoryRefresh, scheduleHint });
|
|
325
|
-
if (driveActivationResult)
|
|
326
|
-
return driveActivationResult;
|
|
327
|
-
return {
|
|
328
|
-
content: [
|
|
329
|
-
{
|
|
330
|
-
type: "text",
|
|
331
|
-
text: `No new instructions. Call \`remote_copilot_wait_for_instructions\` again to keep listening.` +
|
|
332
|
-
memoryRefresh +
|
|
333
|
-
scheduleHint +
|
|
334
|
-
getReminders(effectiveThreadId, state.sessionStartedAt, AUTONOMOUS_MODE),
|
|
335
|
-
},
|
|
336
|
-
],
|
|
337
|
-
};
|
|
182
|
+
return handlePollTimeout(effectiveThreadId, callNumber, ctx);
|
|
338
183
|
}
|
|
339
184
|
//# sourceMappingURL=poll-loop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll-loop.js","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"poll-loop.js","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"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"}
|