sensorium-mcp 3.0.54 → 3.0.56
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/data/file-storage.d.ts +2 -1
- package/dist/data/file-storage.d.ts.map +1 -1
- package/dist/data/file-storage.js +24 -6
- package/dist/data/file-storage.js.map +1 -1
- package/dist/data/memory/narrative.d.ts +5 -5
- package/dist/data/memory/narrative.d.ts.map +1 -1
- package/dist/data/memory/narrative.js +475 -71
- package/dist/data/memory/narrative.js.map +1 -1
- package/dist/response-builders.d.ts.map +1 -1
- package/dist/response-builders.js +2 -1
- package/dist/response-builders.js.map +1 -1
- package/dist/services/agent-spawn.service.d.ts.map +1 -1
- package/dist/services/agent-spawn.service.js +22 -14
- package/dist/services/agent-spawn.service.js.map +1 -1
- package/dist/services/dispatcher/lock.d.ts +17 -2
- package/dist/services/dispatcher/lock.d.ts.map +1 -1
- package/dist/services/dispatcher/lock.js +125 -13
- package/dist/services/dispatcher/lock.js.map +1 -1
- package/dist/services/dispatcher/poller.d.ts.map +1 -1
- package/dist/services/dispatcher/poller.js +9 -8
- package/dist/services/dispatcher/poller.js.map +1 -1
- package/dist/services/keeper.service.d.ts.map +1 -1
- package/dist/services/keeper.service.js +7 -1
- package/dist/services/keeper.service.js.map +1 -1
- package/dist/services/process.service.d.ts.map +1 -1
- package/dist/services/process.service.js +32 -9
- package/dist/services/process.service.js.map +1 -1
- package/dist/services/self-update.service.d.ts.map +1 -1
- package/dist/services/self-update.service.js +2 -26
- package/dist/services/self-update.service.js.map +1 -1
- package/dist/telegram.d.ts.map +1 -1
- package/dist/telegram.js +19 -8
- package/dist/telegram.js.map +1 -1
- package/dist/tools/session-tools.js +2 -4
- package/dist/tools/session-tools.js.map +1 -1
- package/dist/tools/wait/poll-loop.d.ts +1 -1
- package/dist/tools/wait/poll-loop.d.ts.map +1 -1
- package/dist/tools/wait/poll-loop.js +15 -0
- package/dist/tools/wait/poll-loop.js.map +1 -1
- package/package.json +2 -1
- package/templates/azure-devops-securevault.default.md +12 -0
- package/templates/md-to-pdf.default.md +36 -0
|
@@ -16,7 +16,8 @@ export declare function saveFileToDisk(buffer: Buffer, filename: string): string
|
|
|
16
16
|
* if a tool call happened recently, the kill is deferred.
|
|
17
17
|
*/
|
|
18
18
|
export declare function writeActivityHeartbeat(): void;
|
|
19
|
-
/** Write epoch timestamp for a specific thread. Called on every MCP tool call.
|
|
19
|
+
/** Write epoch timestamp for a specific thread. Called on every MCP tool call.
|
|
20
|
+
* Uses atomic write (tmp + rename) to prevent keeper from reading a truncated file. */
|
|
20
21
|
export declare function writeThreadHeartbeat(threadId: number): void;
|
|
21
22
|
/** Synchronous heartbeat write — guarantees the file is flushed before returning.
|
|
22
23
|
* Used at spawn time and in the poll loop to prevent false zombie detection. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-storage.d.ts","sourceRoot":"","sources":["../../src/data/file-storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,eAAO,MAAM,SAAS,QAAkD,CAAC;AAGzE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqBvE;AAOD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;
|
|
1
|
+
{"version":3,"file":"file-storage.d.ts","sourceRoot":"","sources":["../../src/data/file-storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,eAAO,MAAM,SAAS,QAAkD,CAAC;AAGzE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqBvE;AAOD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAUD;wFACwF;AACxF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAM3D;AAED;iFACiF;AACjF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS/D;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMnE;AASD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAuBpD"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Extracted from config.ts during modular decomposition (phase 1).
|
|
6
6
|
*/
|
|
7
|
-
import { mkdirSync, existsSync, readFileSync, readdirSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
8
|
-
import { writeFile } from "node:fs/promises";
|
|
7
|
+
import { mkdirSync, existsSync, readFileSync, readdirSync, renameSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
8
|
+
import { writeFile, rename } from "node:fs/promises";
|
|
9
9
|
import { homedir } from "node:os";
|
|
10
10
|
import { join } from "node:path";
|
|
11
11
|
import { log } from "../logger.js";
|
|
@@ -54,18 +54,36 @@ export function writeActivityHeartbeat() {
|
|
|
54
54
|
// ── Per-thread heartbeat ────────────────────────────────────────────────
|
|
55
55
|
const HEARTBEATS_DIR = join(DATA_DIR, "heartbeats");
|
|
56
56
|
mkdirSync(HEARTBEATS_DIR, { recursive: true });
|
|
57
|
-
|
|
57
|
+
// Clean up orphaned tmp files from previous crashes
|
|
58
|
+
try {
|
|
59
|
+
for (const f of readdirSync(HEARTBEATS_DIR))
|
|
60
|
+
if (f.includes(".tmp."))
|
|
61
|
+
try {
|
|
62
|
+
unlinkSync(join(HEARTBEATS_DIR, f));
|
|
63
|
+
}
|
|
64
|
+
catch { }
|
|
65
|
+
}
|
|
66
|
+
catch { }
|
|
67
|
+
let hbSeq = 0;
|
|
68
|
+
/** Write epoch timestamp for a specific thread. Called on every MCP tool call.
|
|
69
|
+
* Uses atomic write (tmp + rename) to prevent keeper from reading a truncated file. */
|
|
58
70
|
export function writeThreadHeartbeat(threadId) {
|
|
59
|
-
|
|
71
|
+
const target = join(HEARTBEATS_DIR, `${threadId}`);
|
|
72
|
+
const tmp = target + `.tmp.${process.pid}.${++hbSeq}`;
|
|
73
|
+
writeFile(tmp, String(Date.now()), "utf-8")
|
|
74
|
+
.then(() => rename(tmp, target))
|
|
75
|
+
.catch((err) => { log.debug(`[heartbeat] Async write failed for thread ${threadId}: ${err instanceof Error ? err.message : err}`); });
|
|
60
76
|
}
|
|
61
77
|
/** Synchronous heartbeat write — guarantees the file is flushed before returning.
|
|
62
78
|
* Used at spawn time and in the poll loop to prevent false zombie detection. */
|
|
63
79
|
export function writeThreadHeartbeatSync(threadId) {
|
|
80
|
+
const target = join(HEARTBEATS_DIR, `${threadId}`);
|
|
81
|
+
const tmp = target + `.tmp.${process.pid}.${++hbSeq}`;
|
|
64
82
|
try {
|
|
65
|
-
writeFileSync(
|
|
83
|
+
writeFileSync(tmp, String(Date.now()), "utf-8");
|
|
84
|
+
renameSync(tmp, target);
|
|
66
85
|
}
|
|
67
86
|
catch (err) {
|
|
68
|
-
// Log failures — silent heartbeat loss causes keeper to kill healthy threads
|
|
69
87
|
console.error(`[heartbeat] Write FAILED for thread ${threadId}: ${err instanceof Error ? err.message : err}`);
|
|
70
88
|
}
|
|
71
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-storage.js","sourceRoot":"","sources":["../../src/data/file-storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"file-storage.js","sourceRoot":"","sources":["../../src/data/file-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Temporal Narrative Generator
|
|
3
3
|
*
|
|
4
4
|
* Produces multi-resolution narratives from episodes and semantic notes:
|
|
5
|
-
* - day: detailed events (~
|
|
6
|
-
* - week: key decisions and progress (~
|
|
7
|
-
* - month: high-level arc (~
|
|
8
|
-
* - quarter: strategic 3-month arc (~
|
|
9
|
-
* - half_year: bird's-eye 6-month arc (~
|
|
5
|
+
* - day: detailed events (~400 tokens)
|
|
6
|
+
* - week: key decisions and progress (~800 tokens)
|
|
7
|
+
* - month: high-level arc (~1200 tokens)
|
|
8
|
+
* - quarter: strategic 3-month arc (~2000 tokens)
|
|
9
|
+
* - half_year: bird's-eye 6-month arc (~2500 tokens)
|
|
10
10
|
*
|
|
11
11
|
* These narratives replace raw note dumps in bootstrap and give the agent
|
|
12
12
|
* coherent temporal awareness across long-running sessions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"narrative.d.ts","sourceRoot":"","sources":["../../../src/data/memory/narrative.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAY5C,KAAK,mBAAmB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"narrative.d.ts","sourceRoot":"","sources":["../../../src/data/memory/narrative.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAY5C,KAAK,mBAAmB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AAi1B9E;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5B,OAAO,CAAC;IAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;IAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAmChG;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC,CAmB5C"}
|