sensorium-mcp 3.0.96 → 3.0.98
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/services/memory-briefing.service.d.ts.map +1 -1
- package/dist/services/memory-briefing.service.js +19 -10
- package/dist/services/memory-briefing.service.js.map +1 -1
- package/dist/services/worker-cleanup.service.d.ts.map +1 -1
- package/dist/services/worker-cleanup.service.js +84 -10
- package/dist/services/worker-cleanup.service.js.map +1 -1
- package/dist/tools/session-tools.d.ts.map +1 -1
- package/dist/tools/session-tools.js +12 -0
- package/dist/tools/session-tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-briefing.service.d.ts","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAoBzD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"memory-briefing.service.d.ts","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAoBzD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAoJvG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS7E"}
|
|
@@ -33,11 +33,11 @@ export function assembleBootstrap(db, threadId, memorySourceThreadId) {
|
|
|
33
33
|
}
|
|
34
34
|
lines.push("");
|
|
35
35
|
if (context.recentEpisodes.length > 0) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const
|
|
36
|
+
// Build (and char-budget trim) the conversation first so we know the
|
|
37
|
+
// timestamp of the earliest episode actually shown. That boundary is fed
|
|
38
|
+
// into the instruction so the agent only fetches OLDER episodes and never
|
|
39
|
+
// re-reads what the briefing already contains.
|
|
40
|
+
const entries = [];
|
|
41
41
|
let totalChars = 0;
|
|
42
42
|
for (const episode of context.recentEpisodes) {
|
|
43
43
|
const raw = typeof episode.content === "object" && episode.content !== null
|
|
@@ -58,13 +58,22 @@ export function assembleBootstrap(db, threadId, memorySourceThreadId) {
|
|
|
58
58
|
line = `[${episode.type}] ${textContent} (${episode.timestamp})`;
|
|
59
59
|
}
|
|
60
60
|
totalChars += line.length;
|
|
61
|
-
|
|
61
|
+
entries.push({ line, timestamp: episode.timestamp });
|
|
62
62
|
}
|
|
63
|
-
while (totalChars > MAX_BOOTSTRAP_CONVERSATION_CHARS &&
|
|
64
|
-
|
|
65
|
-
totalChars -= removed.length;
|
|
63
|
+
while (totalChars > MAX_BOOTSTRAP_CONVERSATION_CHARS && entries.length > 1) {
|
|
64
|
+
totalChars -= entries.shift().line.length;
|
|
66
65
|
}
|
|
67
|
-
|
|
66
|
+
const earliestShown = entries[0].timestamp;
|
|
67
|
+
lines.push("## ⚠️ Resuming — Reconstruct Full Context");
|
|
68
|
+
lines.push("Before doing anything else, **fully** reconstruct this thread's context — regardless of whether the last task looks interrupted, finished, or idle. " +
|
|
69
|
+
`The Recent Conversation below already contains every episode back to ${earliestShown} — do NOT re-read those. ` +
|
|
70
|
+
"If it does not give you the complete picture (the goal, decisions made, files touched, what was done, and what remained), " +
|
|
71
|
+
`use the memory/episode tools to read only OLDER episodes (endTime before ${earliestShown}, covering up to a week back) until it does. ` +
|
|
72
|
+
"Only once you hold the full context, continue.");
|
|
73
|
+
lines.push("");
|
|
74
|
+
lines.push("## Recent Conversation");
|
|
75
|
+
for (const entry of entries)
|
|
76
|
+
lines.push(entry.line);
|
|
68
77
|
lines.push("");
|
|
69
78
|
}
|
|
70
79
|
if (context.guardrails.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-briefing.service.js","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,SAAS,gBAAgB,CAAC,OAAe;IACvC,yDAAyD;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9F,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,eAAe,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;QAC1F,OAAO,GAAG,MAAM,aAAa,YAAY,gBAAgB,UAAU,EAAE,CAAC;IACxE,CAAC;IAED,iCAAiC;IACjC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAY,EAAE,QAAgB,EAAE,oBAA6B;IAC7F,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACxE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,0DAA0D,oBAAoB,mCAAmC,QAAQ,GAAG,CAAC,CAAC;QACzI,IACE,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;eAChC,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;eAChC,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EACpC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,0CAA0C,oBAAoB,kDAAkD,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,
|
|
1
|
+
{"version":3,"file":"memory-briefing.service.js","sourceRoot":"","sources":["../../src/services/memory-briefing.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-cleanup.service.d.ts","sourceRoot":"","sources":["../../src/services/worker-cleanup.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker-cleanup.service.d.ts","sourceRoot":"","sources":["../../src/services/worker-cleanup.service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAe,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACvF,IAAI,EAAE;IACJ,EAAE,EAAE,UAAU,CAAC,cAAc,cAAc,EAAE,YAAY,CAAC,CAAC;IAC3D,QAAQ,EAAE;QAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,sBAAsB,CAAC;CACzC,GACA,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAwGD,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,UAAU,CAAC,cAAc,cAAc,EAAE,YAAY,CAAC,EAC1D,QAAQ,EAAE;IACR,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,WAAW,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClG,EACD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,sBAAsB,EACvC,KAAK,GAAE,MAA8B,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAyLhD"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { unlinkSync } from "node:fs";
|
|
1
|
+
import { unlinkSync, readFileSync, writeFileSync, renameSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
2
3
|
import { archiveNotesForThread } from "../data/memory/semantic.js";
|
|
3
4
|
import { closeThreadSessions } from "../sessions.js";
|
|
4
5
|
import { getExplicitTelegramTopicId } from "../data/memory/thread-registry.js";
|
|
5
6
|
import { errorMessage } from "../utils.js";
|
|
6
|
-
import { spawnedThreads, readPidFiles, killProcessTree, isProcessAlive, clearTaskConsumed, deletePendingTaskMailbox } from "./process.service.js";
|
|
7
|
+
import { spawnedThreads, readPidFiles, killProcessTree, isProcessAlive, clearTaskConsumed, deletePendingTaskMailbox, PROCESS_BASE_DIR } from "./process.service.js";
|
|
7
8
|
import { ThreadState } from "./thread-lifecycle.service.js";
|
|
8
9
|
import { log } from "../logger.js";
|
|
9
10
|
export async function decommissionWorker(thread, deps) {
|
|
@@ -105,12 +106,72 @@ async function finalizeDeadWorker(threadId, pidFilePath, db, telegram, chatId, t
|
|
|
105
106
|
}
|
|
106
107
|
}
|
|
107
108
|
const DEFAULT_WORKER_TTL_MS = 60 * 60 * 1000;
|
|
108
|
-
const UNKILLABLE_RENOTIFY_MS = 60 * 60 * 1000; // re-ping the operator at most hourly
|
|
109
|
+
const UNKILLABLE_RENOTIFY_MS = 60 * 60 * 1000; // re-ping the operator at most hourly once the alert threshold is crossed
|
|
109
110
|
let orphanSweepDone = false;
|
|
110
|
-
//
|
|
111
|
-
//
|
|
112
|
-
//
|
|
111
|
+
// How long a worker must resist every kill before we bother the operator. Wedged
|
|
112
|
+
// workers almost always self-thaw and die within seconds-to-minutes (Windows S0
|
|
113
|
+
// Modern Standby freezes background processes; taskkill EPERMs until they wake),
|
|
114
|
+
// so alerting on the first survived kill is pure noise. We keep retrying the kill
|
|
115
|
+
// silently every sweep and only escalate once a worker has been stuck for this
|
|
116
|
+
// long — measured from its FIRST unkillable attempt, persisted across restarts.
|
|
117
|
+
// Operator wants "1-2 доби"; default 48h, override via WORKER_UNKILLABLE_ALERT_HOURS.
|
|
118
|
+
const UNKILLABLE_ALERT_THRESHOLD_MS = (() => {
|
|
119
|
+
const h = Number(process.env.WORKER_UNKILLABLE_ALERT_HOURS);
|
|
120
|
+
return Number.isFinite(h) && h > 0 ? h * 60 * 60 * 1000 : 48 * 60 * 60 * 1000;
|
|
121
|
+
})();
|
|
122
|
+
// Per-thread timestamp (ms) of the last "worker unkillable" escalation, so once
|
|
123
|
+
// the threshold is crossed we still don't spam the operator every 5-min cycle.
|
|
124
|
+
// In-memory only — a restart at worst sends one extra alert. Cleared once dead.
|
|
113
125
|
const unkillableNotifiedAt = new Map();
|
|
126
|
+
// ── Persistent first-unkillable-attempt store ──────────────────────────────
|
|
127
|
+
// The alert threshold is measured from the FIRST time a worker survived a kill.
|
|
128
|
+
// That anchor must outlive server restarts (a wedged worker can span an update),
|
|
129
|
+
// so it is persisted to disk rather than kept in a plain Map. threadId → ms.
|
|
130
|
+
const UNKILLABLE_STORE_PATH = join(PROCESS_BASE_DIR, "unkillable-workers.json");
|
|
131
|
+
let unkillableStore = null;
|
|
132
|
+
function loadUnkillableStore() {
|
|
133
|
+
if (unkillableStore)
|
|
134
|
+
return unkillableStore;
|
|
135
|
+
try {
|
|
136
|
+
const raw = JSON.parse(readFileSync(UNKILLABLE_STORE_PATH, "utf-8"));
|
|
137
|
+
unkillableStore = new Map(Object.entries(raw).map(([k, v]) => [Number(k), v]));
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
unkillableStore = new Map();
|
|
141
|
+
}
|
|
142
|
+
return unkillableStore;
|
|
143
|
+
}
|
|
144
|
+
function persistUnkillableStore() {
|
|
145
|
+
const store = loadUnkillableStore();
|
|
146
|
+
try {
|
|
147
|
+
// Write-then-rename so a reader never sees a half-written file.
|
|
148
|
+
const tmp = `${UNKILLABLE_STORE_PATH}.tmp`;
|
|
149
|
+
writeFileSync(tmp, JSON.stringify(Object.fromEntries(store)), "utf-8");
|
|
150
|
+
renameSync(tmp, UNKILLABLE_STORE_PATH);
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
log.warn(`[worker-cleanup] Failed to persist unkillable-worker store: ${errorMessage(err)}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/** Record (once) the first time a worker survived a kill and return that anchor
|
|
157
|
+
* timestamp. Idempotent: later calls return the original first-attempt time. */
|
|
158
|
+
function recordFirstUnkillableAttempt(threadId, now) {
|
|
159
|
+
const store = loadUnkillableStore();
|
|
160
|
+
const existing = store.get(threadId);
|
|
161
|
+
if (existing !== undefined)
|
|
162
|
+
return existing;
|
|
163
|
+
store.set(threadId, now);
|
|
164
|
+
persistUnkillableStore();
|
|
165
|
+
return now;
|
|
166
|
+
}
|
|
167
|
+
/** Forget a worker once its process is confirmed gone, so a future thread that
|
|
168
|
+
* reuses the id starts its clock fresh. */
|
|
169
|
+
function clearUnkillableAttempt(threadId) {
|
|
170
|
+
unkillableNotifiedAt.delete(threadId);
|
|
171
|
+
const store = loadUnkillableStore();
|
|
172
|
+
if (store.delete(threadId))
|
|
173
|
+
persistUnkillableStore();
|
|
174
|
+
}
|
|
114
175
|
export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycle, ttlMs = DEFAULT_WORKER_TTL_MS) {
|
|
115
176
|
const result = { cleaned: 0, errors: [] };
|
|
116
177
|
const now = Date.now();
|
|
@@ -176,6 +237,9 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
176
237
|
catch (err) {
|
|
177
238
|
log.warn(`[worker-cleanup] deleteForumTopic failed for orphan thread ${row.thread_id}: ${errorMessage(err)}`);
|
|
178
239
|
}
|
|
240
|
+
// Process confirmed gone here — drop any persisted unkillable anchor so a
|
|
241
|
+
// future thread reusing this id can't inherit a stale (already-past-threshold) clock.
|
|
242
|
+
clearUnkillableAttempt(row.thread_id);
|
|
179
243
|
}
|
|
180
244
|
else {
|
|
181
245
|
log.warn(`[worker-cleanup] Stale worker thread ${row.thread_id} survived kill — deferring topic deletion to reaper (process still alive).`);
|
|
@@ -245,7 +309,7 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
245
309
|
if (runnable)
|
|
246
310
|
continue;
|
|
247
311
|
if (!isProcessAlive(entry.pid)) {
|
|
248
|
-
|
|
312
|
+
clearUnkillableAttempt(entry.threadId);
|
|
249
313
|
// Process is confirmed dead but its topic/registry can still linger (a
|
|
250
314
|
// zombie whose exit handler never ran). This is the invariant-safe point
|
|
251
315
|
// to delete the topic and finalize.
|
|
@@ -276,7 +340,16 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
276
340
|
if (closedTransports > 0)
|
|
277
341
|
continue;
|
|
278
342
|
const name = row?.name ?? `thread ${entry.threadId}`;
|
|
279
|
-
|
|
343
|
+
// Anchor the clock at the first survived kill (persisted). Keep retrying
|
|
344
|
+
// silently — most wedged workers thaw and die within minutes. Only once a
|
|
345
|
+
// worker has resisted for the full threshold do we escalate to Telegram.
|
|
346
|
+
const firstAttempt = recordFirstUnkillableAttempt(entry.threadId, now);
|
|
347
|
+
const stuckMs = now - firstAttempt;
|
|
348
|
+
if (stuckMs < UNKILLABLE_ALERT_THRESHOLD_MS) {
|
|
349
|
+
log.debug(`[worker-cleanup] Worker pid=${entry.pid} thread=${entry.threadId} ('${name}') survived kill — stuck ${Math.round(stuckMs / 60000)}m, below alert threshold; retrying silently.`);
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
log.warn(`[worker-cleanup] Worker pid=${entry.pid} thread=${entry.threadId} ('${name}') unkillable for ${Math.round(stuckMs / 3600000)}h — escalating to operator.`);
|
|
280
353
|
const last = unkillableNotifiedAt.get(entry.threadId) ?? 0;
|
|
281
354
|
if (telegram.sendMessage && now - last >= UNKILLABLE_RENOTIFY_MS) {
|
|
282
355
|
try {
|
|
@@ -284,7 +357,8 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
284
357
|
// route the alert to General where the operator will actually see it.
|
|
285
358
|
// Escape the name — it is HTML parse mode and a raw '<'/'&' would 400.
|
|
286
359
|
const safeName = name.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
287
|
-
|
|
360
|
+
const stuckHrs = Math.round(stuckMs / 3600000);
|
|
361
|
+
await telegram.sendMessage(chatId, `💀 <b>${safeName}</b> (thread ${entry.threadId}, PID ${entry.pid}) won't terminate — stuck ${stuckHrs}h despite repeated kills. Needs a manual kill (<code>taskkill /F /T /PID ${entry.pid}</code> from an elevated shell).`, "HTML");
|
|
288
362
|
unkillableNotifiedAt.set(entry.threadId, now);
|
|
289
363
|
}
|
|
290
364
|
catch (err) {
|
|
@@ -293,7 +367,7 @@ export async function cleanupExpiredWorkers(db, telegram, chatId, threadLifecycl
|
|
|
293
367
|
}
|
|
294
368
|
continue;
|
|
295
369
|
}
|
|
296
|
-
|
|
370
|
+
clearUnkillableAttempt(entry.threadId);
|
|
297
371
|
log.info(`[worker-cleanup] Reaped lingering worker pid=${entry.pid} thread=${entry.threadId} (status=${row?.status ?? "unknown"}, pastTtl=${pastTtl})`);
|
|
298
372
|
// Confirmed dead after kill — delete the topic (invariant-safe) and finalize.
|
|
299
373
|
await finalizeDeadWorker(entry.threadId, entry.filePath, db, telegram, chatId, threadLifecycle);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-cleanup.service.js","sourceRoot":"","sources":["../../src/services/worker-cleanup.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker-cleanup.service.js","sourceRoot":"","sources":["../../src/services/worker-cleanup.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-tools.d.ts","sourceRoot":"","sources":["../../src/tools/session-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"session-tools.d.ts","sourceRoot":"","sources":["../../src/tools/session-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAgC9C,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;IACvE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;IAC3D,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAC7D,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,MAAM,QAAQ,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,UAAU,KAAK;IACb,gBAAgB,CAAC,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;IACxG,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAMD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,KAAK,GACZ,OAAO,CAAC,UAAU,CAAC,CAOrB"}
|
|
@@ -19,6 +19,12 @@ import { PENDING_TASKS_DIR } from "../services/process.service.js";
|
|
|
19
19
|
// length since Telegram wraps by device width. Advisory only; pass detailed:true
|
|
20
20
|
// to suppress. Tune here if it feels too tight/loose.
|
|
21
21
|
const REPORT_PROGRESS_WARN_CHARS = 150;
|
|
22
|
+
// Hard ceiling. Above this a message is REJECTED before sending (nothing goes to
|
|
23
|
+
// Telegram) so the agent must shorten, switch to send_voice, or opt into
|
|
24
|
+
// detailed:true. This is what makes brevity actually enforced rather than a
|
|
25
|
+
// warning the agent can ignore. Sits above the soft warn so normal 2-3 sentence
|
|
26
|
+
// replies still pass with only a nudge.
|
|
27
|
+
const REPORT_PROGRESS_HARD_CHARS = 500;
|
|
22
28
|
/** Check whether a Telegram message object contains any media attachment. */
|
|
23
29
|
function hasMediaContent(msg) {
|
|
24
30
|
return !!(msg.photo || msg.document || msg.voice || msg.video_note || msg.animation || msg.sticker);
|
|
@@ -55,6 +61,12 @@ async function handleReportProgress(args, ctx) {
|
|
|
55
61
|
if (!rawMessage) {
|
|
56
62
|
return errorResult("Error: 'message' argument is required for report_progress.");
|
|
57
63
|
}
|
|
64
|
+
// Hard length gate — reject BEFORE sending so the agent is forced to comply.
|
|
65
|
+
// detailed:true (operator explicitly asked for a full report) is the escape.
|
|
66
|
+
if (args?.detailed !== true && rawMessage.length > REPORT_PROGRESS_HARD_CHARS) {
|
|
67
|
+
return errorResult(`Message not sent — ${rawMessage.length} chars exceeds the ${REPORT_PROGRESS_HARD_CHARS}-char limit for a mobile-bubble update. ` +
|
|
68
|
+
"Shorten it to a couple of sentences, use send_voice for long-form, or re-call with detailed:true only if the operator explicitly asked for a full report.");
|
|
69
|
+
}
|
|
58
70
|
// Normalize literal \n sequences to actual newlines.
|
|
59
71
|
// Some MCP clients pass escape sequences as literal text (e.g. "foo\\nbar"
|
|
60
72
|
// instead of "foo\nbar"). Convert them so Telegram renders line breaks.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-tools.js","sourceRoot":"","sources":["../../src/tools/session-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-tools.js","sourceRoot":"","sources":["../../src/tools/session-tools.ts"],"names":[],"mappings":"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"}
|