sensorium-mcp 3.0.25 → 3.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/config.d.ts +2 -2
- package/dist/config.js +3 -3
- package/dist/daily-session.d.ts.map +1 -1
- package/dist/daily-session.js +15 -2
- package/dist/daily-session.js.map +1 -1
- package/dist/dashboard/routes/data.d.ts +0 -1
- package/dist/dashboard/routes/data.d.ts.map +1 -1
- package/dist/dashboard/routes/data.js +1 -13
- package/dist/dashboard/routes/data.js.map +1 -1
- package/dist/dashboard/routes/snapshots.d.ts.map +1 -1
- package/dist/dashboard/routes/snapshots.js +29 -5
- package/dist/dashboard/routes/snapshots.js.map +1 -1
- package/dist/dashboard/spa.html +10 -10
- package/dist/data/memory/bootstrap.d.ts +0 -4
- package/dist/data/memory/bootstrap.d.ts.map +1 -1
- package/dist/data/memory/bootstrap.js +2 -30
- package/dist/data/memory/bootstrap.js.map +1 -1
- package/dist/data/memory/consolidation.d.ts +7 -0
- package/dist/data/memory/consolidation.d.ts.map +1 -1
- package/dist/data/memory/consolidation.js +19 -1
- package/dist/data/memory/consolidation.js.map +1 -1
- package/dist/data/memory/index.d.ts +1 -2
- package/dist/data/memory/index.d.ts.map +1 -1
- package/dist/data/memory/index.js +1 -2
- package/dist/data/memory/index.js.map +1 -1
- package/dist/data/memory/migration-runner.d.ts +1 -1
- package/dist/data/memory/migration-runner.d.ts.map +1 -1
- package/dist/data/memory/migration-runner.js +11 -1
- package/dist/data/memory/migration-runner.js.map +1 -1
- package/dist/data/memory/narrative.d.ts.map +1 -1
- package/dist/data/memory/narrative.js +49 -22
- package/dist/data/memory/narrative.js.map +1 -1
- package/dist/data/memory/reflection.d.ts +1 -1
- package/dist/data/memory/reflection.d.ts.map +1 -1
- package/dist/data/memory/reflection.js +88 -17
- package/dist/data/memory/reflection.js.map +1 -1
- package/dist/data/memory/schema-ddl.d.ts +1 -1
- package/dist/data/memory/schema-ddl.d.ts.map +1 -1
- package/dist/data/memory/schema-ddl.js +1 -22
- package/dist/data/memory/schema-ddl.js.map +1 -1
- package/dist/data/memory/schema.d.ts.map +1 -1
- package/dist/data/memory/schema.js +4 -0
- package/dist/data/memory/schema.js.map +1 -1
- package/dist/data/memory/semantic.d.ts +7 -2
- package/dist/data/memory/semantic.d.ts.map +1 -1
- package/dist/data/memory/semantic.js +26 -12
- package/dist/data/memory/semantic.js.map +1 -1
- package/dist/data/memory/synthesis.d.ts +3 -1
- package/dist/data/memory/synthesis.d.ts.map +1 -1
- package/dist/data/memory/synthesis.js +75 -25
- package/dist/data/memory/synthesis.js.map +1 -1
- package/dist/data/memory/thread-registry.d.ts +6 -0
- package/dist/data/memory/thread-registry.d.ts.map +1 -1
- package/dist/data/memory/thread-registry.js +33 -0
- package/dist/data/memory/thread-registry.js.map +1 -1
- package/dist/data/memory/topic-shift.d.ts +1 -1
- package/dist/data/memory/topic-shift.js +1 -1
- package/dist/data/memory/utils.d.ts +1 -1
- package/dist/data/memory/utils.js +1 -1
- package/dist/http-server.d.ts.map +1 -1
- package/dist/http-server.js +26 -1
- package/dist/http-server.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/server/factory.js +6 -3
- package/dist/server/factory.js.map +1 -1
- package/dist/services/agent-spawn.service.d.ts.map +1 -1
- package/dist/services/agent-spawn.service.js +38 -10
- package/dist/services/agent-spawn.service.js.map +1 -1
- package/dist/services/consolidation.service.d.ts.map +1 -1
- package/dist/services/consolidation.service.js +148 -70
- package/dist/services/consolidation.service.js.map +1 -1
- package/dist/services/keeper.service.d.ts.map +1 -1
- package/dist/services/keeper.service.js +17 -3
- package/dist/services/keeper.service.js.map +1 -1
- package/dist/services/memory-briefing.service.d.ts.map +1 -1
- package/dist/services/memory-briefing.service.js +7 -16
- package/dist/services/memory-briefing.service.js.map +1 -1
- package/dist/services/process.service.d.ts.map +1 -1
- package/dist/services/process.service.js +10 -3
- package/dist/services/process.service.js.map +1 -1
- package/dist/services/thread-health.service.d.ts +2 -1
- package/dist/services/thread-health.service.d.ts.map +1 -1
- package/dist/services/thread-health.service.js +4 -5
- package/dist/services/thread-health.service.js.map +1 -1
- package/dist/services/thread-lifecycle.service.d.ts.map +1 -1
- package/dist/services/thread-lifecycle.service.js +7 -0
- package/dist/services/thread-lifecycle.service.js.map +1 -1
- package/dist/sessions.d.ts +2 -0
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +12 -0
- package/dist/sessions.js.map +1 -1
- package/dist/tools/defs/memory-defs.js +7 -7
- package/dist/tools/defs/memory-defs.js.map +1 -1
- package/dist/tools/defs/session-defs.d.ts.map +1 -1
- package/dist/tools/defs/session-defs.js +3 -2
- package/dist/tools/defs/session-defs.js.map +1 -1
- package/dist/tools/delegate-tool.d.ts.map +1 -1
- package/dist/tools/delegate-tool.js +3 -1
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +25 -27
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/session-tools.d.ts +1 -0
- package/dist/tools/session-tools.d.ts.map +1 -1
- package/dist/tools/session-tools.js +2 -1
- package/dist/tools/session-tools.js.map +1 -1
- package/dist/tools/start-session-tool.d.ts.map +1 -1
- package/dist/tools/start-session-tool.js +22 -11
- package/dist/tools/start-session-tool.js.map +1 -1
- package/dist/tools/wait/media-processor.d.ts.map +1 -1
- package/dist/tools/wait/media-processor.js +6 -2
- package/dist/tools/wait/media-processor.js.map +1 -1
- package/dist/tools/wait/message-delivery.d.ts.map +1 -1
- package/dist/tools/wait/message-delivery.js +27 -6
- package/dist/tools/wait/message-delivery.js.map +1 -1
- package/dist/tools/wait/message-processing.d.ts.map +1 -1
- package/dist/tools/wait/message-processing.js +17 -2
- package/dist/tools/wait/message-processing.js.map +1 -1
- package/dist/tools/wait/poll-loop.d.ts +1 -0
- package/dist/tools/wait/poll-loop.d.ts.map +1 -1
- package/dist/tools/wait/poll-loop.js +27 -10
- package/dist/tools/wait/poll-loop.js.map +1 -1
- package/package.json +1 -1
- package/dist/data/memory/procedures.d.ts +0 -51
- package/dist/data/memory/procedures.d.ts.map +0 -1
- package/dist/data/memory/procedures.js +0 -140
- package/dist/data/memory/procedures.js.map +0 -1
package/README.md
CHANGED
|
@@ -130,6 +130,7 @@ When disabled, the memory system will still store episodes locally but will not
|
|
|
130
130
|
|----------|----------|---------|-------------|
|
|
131
131
|
| `TELEGRAM_TOKEN` | Yes | — | Telegram Bot API token |
|
|
132
132
|
| `TELEGRAM_CHAT_ID` | Yes | — | Forum supergroup chat ID |
|
|
133
|
+
| `TELEGRAM_SUPERVISOR_TOKEN` | No | — | Separate bot token for supervisor DM commands (avoids 409 conflict with MCP poller) |
|
|
133
134
|
| `OPENAI_API_KEY` | No | — | For voice transcription (Whisper), TTS, and memory consolidation |
|
|
134
135
|
| `VOICE_ANALYSIS_URL` | No | — | Voice emotion analysis microservice URL |
|
|
135
136
|
| `CONSOLIDATION_ENABLED` | No | `true` | Set to `false` or `0` to disable sending episodes to OpenAI for consolidation |
|
package/dist/config.d.ts
CHANGED
|
@@ -89,8 +89,8 @@ export declare function removeThreadKeepAlive(threadId: number): void;
|
|
|
89
89
|
export declare function getAllThreadKeepAlive(): Record<string, ThreadKeepAliveSettings>;
|
|
90
90
|
/**
|
|
91
91
|
* Read the MEMORY_SOURCE_THREAD_ID env var set by the parent process
|
|
92
|
-
* when spawning a
|
|
93
|
-
* briefing, or undefined if not a
|
|
92
|
+
* when spawning a child thread (worker/branch). Returns the parent
|
|
93
|
+
* thread ID for memory briefing, or undefined if not a child thread.
|
|
94
94
|
*/
|
|
95
95
|
export declare function getMemorySourceThreadId(): number | undefined;
|
|
96
96
|
/**
|
package/dist/config.js
CHANGED
|
@@ -335,11 +335,11 @@ export function getAllThreadKeepAlive() {
|
|
|
335
335
|
}
|
|
336
336
|
return result;
|
|
337
337
|
}
|
|
338
|
-
// ───
|
|
338
|
+
// ─── Child thread memory source ───────────────────────────────────────────
|
|
339
339
|
/**
|
|
340
340
|
* Read the MEMORY_SOURCE_THREAD_ID env var set by the parent process
|
|
341
|
-
* when spawning a
|
|
342
|
-
* briefing, or undefined if not a
|
|
341
|
+
* when spawning a child thread (worker/branch). Returns the parent
|
|
342
|
+
* thread ID for memory briefing, or undefined if not a child thread.
|
|
343
343
|
*/
|
|
344
344
|
export function getMemorySourceThreadId() {
|
|
345
345
|
const val = process.env.MEMORY_SOURCE_THREAD_ID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-session.d.ts","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"daily-session.d.ts","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAQvD,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuBD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GACnC,OAAO,CAAC,mBAAmB,CAAC,CAyD9B;AAOD;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAwE7E"}
|
package/dist/daily-session.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Bootstrap uses it to filter the message buffer to today's messages only.
|
|
10
10
|
*/
|
|
11
11
|
import { log } from "./logger.js";
|
|
12
|
-
import { getRootThreads, getThread, resetDailySession, resolveTelegramTopicId, } from "./data/memory/thread-registry.js";
|
|
12
|
+
import { getRootThreads, getThread, purgeOldArchivedThreads, resetDailySession, resolveTelegramTopicId, } from "./data/memory/thread-registry.js";
|
|
13
13
|
import { runNarrativeGeneration } from "./data/memory/narrative.js";
|
|
14
14
|
import { runReflection } from "./data/memory/reflection.js";
|
|
15
15
|
import { initMemoryDb } from "./data/memory/schema.js";
|
|
@@ -149,13 +149,26 @@ export async function rotateAllDailySessions() {
|
|
|
149
149
|
const result = await rotateDailySession(root.threadId, db);
|
|
150
150
|
results.push(result);
|
|
151
151
|
}
|
|
152
|
+
// Purge archived threads older than 6 months
|
|
153
|
+
let purged = 0;
|
|
154
|
+
try {
|
|
155
|
+
purged = purgeOldArchivedThreads(db);
|
|
156
|
+
if (purged > 0) {
|
|
157
|
+
log.info(`[daily-rotation] Purged ${purged} archived thread(s) older than 180 days`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
log.error(`[daily-rotation] Archived thread purge failed: ${errorMessage(err)}`);
|
|
162
|
+
}
|
|
152
163
|
// Send summary
|
|
153
|
-
if (results.length > 0) {
|
|
164
|
+
if (results.length > 0 || purged > 0) {
|
|
154
165
|
const lines = results.map(r => {
|
|
155
166
|
if (r.error)
|
|
156
167
|
return `❌ ${r.rootThreadId}: ${r.error}`;
|
|
157
168
|
return `✅ ${r.rootThreadId}: consolidated=${r.consolidated}`;
|
|
158
169
|
});
|
|
170
|
+
if (purged > 0)
|
|
171
|
+
lines.push(`🗑 Purged ${purged} archived thread(s) older than 60 days`);
|
|
159
172
|
await notifyTelegram(db, `🔄 <b>Daily rotation complete</b>\n${lines.join("\n")}`);
|
|
160
173
|
}
|
|
161
174
|
const allSucceeded = results.length > 0 && results.every(r => !r.error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daily-session.js","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"daily-session.js","sourceRoot":"","sources":["../src/daily-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,5 +12,4 @@ export declare const handleGetSearch: RouteHandler;
|
|
|
12
12
|
export declare const handleGetTopicRegistry: RouteHandler;
|
|
13
13
|
export declare const handlePostTopicRegistry: RouteHandler;
|
|
14
14
|
export declare const handleDeleteTopicRegistry: RouteHandler;
|
|
15
|
-
export declare const handlePrepareShutdown: RouteHandler;
|
|
16
15
|
//# sourceMappingURL=data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/data.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/data.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAyBxE,eAAO,MAAM,eAAe,EAAE,YAsB7B,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,YAG/B,CAAC;AAIF,eAAO,MAAM,cAAc,EAAE,YAY5B,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,YAe/B,CAAC;AAIF,eAAO,MAAM,eAAe,EAAE,YAG7B,CAAC;AAIF,eAAO,MAAM,eAAe,EAAE,YAK7B,CAAC;AAIF,eAAO,MAAM,sBAAsB,EAAE,YAIpC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,YAwBrC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,YAoBvC,CAAC"}
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { getRecentEpisodes, getTopicIndex, getTopSemanticNotes, searchSemanticNotesRanked, } from "../../memory.js";
|
|
6
6
|
import { getAllRegisteredTopics, registerTopic, unregisterTopic } from "../../sessions.js";
|
|
7
|
-
import { getActiveThreadIds } from "../../services/process.service.js";
|
|
8
|
-
import { writeReconnectSnapshot } from "../../services/reconnect-snapshot.service.js";
|
|
9
7
|
import { readBody, safeParseJSON } from "./types.js";
|
|
10
8
|
import { errorMessage } from "../../utils.js";
|
|
11
9
|
// ─── Helpers ────────────────────────────────────────────────────────────────
|
|
@@ -29,7 +27,6 @@ export const handleGetStatus = ({ json, db, ctx }) => {
|
|
|
29
27
|
const totalEpisodes = db.prepare(`SELECT COUNT(*) as cnt FROM episodes`).get().cnt;
|
|
30
28
|
const unconsolidatedEpisodes = db.prepare(`SELECT COUNT(*) as cnt FROM episodes WHERE consolidated = 0`).get().cnt;
|
|
31
29
|
const totalSemanticNotes = db.prepare(`SELECT COUNT(*) as cnt FROM semantic_notes WHERE valid_to IS NULL AND superseded_by IS NULL`).get().cnt;
|
|
32
|
-
const totalProcedures = db.prepare(`SELECT COUNT(*) as cnt FROM procedures`).get().cnt;
|
|
33
30
|
const totalVoiceSignatures = db.prepare(`SELECT COUNT(*) as cnt FROM voice_signatures`).get().cnt;
|
|
34
31
|
const lastConso = db.prepare(`SELECT run_at FROM meta_consolidation_log ORDER BY run_at DESC LIMIT 1`).get();
|
|
35
32
|
const topTopics = getTopicIndex(db).slice(0, 10);
|
|
@@ -38,7 +35,7 @@ export const handleGetStatus = ({ json, db, ctx }) => {
|
|
|
38
35
|
json({
|
|
39
36
|
memory: {
|
|
40
37
|
totalEpisodes, unconsolidatedEpisodes, totalSemanticNotes,
|
|
41
|
-
|
|
38
|
+
totalVoiceSignatures,
|
|
42
39
|
lastConsolidation: lastConso?.run_at ?? null,
|
|
43
40
|
topTopics, dbSizeBytes: dbSizeRow?.size ?? 0,
|
|
44
41
|
},
|
|
@@ -155,13 +152,4 @@ export const handleDeleteTopicRegistry = ({ req, json }) => {
|
|
|
155
152
|
})();
|
|
156
153
|
return true;
|
|
157
154
|
};
|
|
158
|
-
// ─── Prepare-shutdown ────────────────────────────────────────────────────────
|
|
159
|
-
export const handlePrepareShutdown = ({ json }) => {
|
|
160
|
-
const threadIds = getActiveThreadIds();
|
|
161
|
-
if (threadIds.length > 0) {
|
|
162
|
-
writeReconnectSnapshot(threadIds);
|
|
163
|
-
}
|
|
164
|
-
json({ ok: true, snapshotThreads: threadIds.length });
|
|
165
|
-
return true;
|
|
166
|
-
};
|
|
167
155
|
//# sourceMappingURL=data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/dashboard/routes/data.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,yBAAyB,GAE5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/dashboard/routes/data.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/snapshots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../../src/dashboard/routes/snapshots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AA2DxE,yDAAyD;AACzD,eAAO,MAAM,kBAAkB,EAAE,YAOhC,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,EAAE,YAoEhC,CAAC;AAEF,0DAA0D;AAC1D,wBAAgB,oBAAoB,CAChC,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACrC,IAAI,EAAE,MAAM,GACb,OAAO,CAqBT"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { homedir } from "node:os";
|
|
12
12
|
import { join, basename } from "node:path";
|
|
13
|
-
import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
|
|
13
|
+
import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, rmSync, unlinkSync, writeFileSync, } from "node:fs";
|
|
14
14
|
import { exec } from "node:child_process";
|
|
15
15
|
import { promisify } from "node:util";
|
|
16
16
|
import { readBody, safeParseJSON } from "./types.js";
|
|
@@ -20,7 +20,7 @@ const execAsync = promisify(exec);
|
|
|
20
20
|
const DATA_DIR = join(homedir(), ".remote-copilot-mcp");
|
|
21
21
|
const SNAPSHOTS_DIR = join(DATA_DIR, "snapshots");
|
|
22
22
|
/** Items to include (relative to DATA_DIR). Directories included recursively. */
|
|
23
|
-
const SNAPSHOT_ITEMS = ["memory.db", "settings.json", "
|
|
23
|
+
const SNAPSHOT_ITEMS = ["memory.db", "settings.json", "install.config.json", "templates", "schedules", "pending-tasks", "threads", "files"];
|
|
24
24
|
function ensureSnapshotsDir() {
|
|
25
25
|
if (!existsSync(SNAPSHOTS_DIR)) {
|
|
26
26
|
mkdirSync(SNAPSHOTS_DIR, { recursive: true });
|
|
@@ -66,8 +66,10 @@ export const handleGetSnapshots = ({ json }) => {
|
|
|
66
66
|
return true;
|
|
67
67
|
};
|
|
68
68
|
/** POST /api/snapshots → { description? } → create snapshot zip + manifest */
|
|
69
|
-
export const handlePostSnapshot = ({ req, json }) => {
|
|
69
|
+
export const handlePostSnapshot = ({ req, json, db }) => {
|
|
70
70
|
void (async () => {
|
|
71
|
+
let tempDir = null;
|
|
72
|
+
let tempDbPath = null;
|
|
71
73
|
try {
|
|
72
74
|
ensureSnapshotsDir();
|
|
73
75
|
const raw = await readBody(req);
|
|
@@ -78,9 +80,23 @@ export const handlePostSnapshot = ({ req, json }) => {
|
|
|
78
80
|
const name = generateSnapshotName();
|
|
79
81
|
const zipPath = join(SNAPSHOTS_DIR, `${name}.zip`);
|
|
80
82
|
const manifestPath = join(SNAPSHOTS_DIR, `${name}.json`);
|
|
81
|
-
//
|
|
83
|
+
// Back up memory.db via better-sqlite3's backup API to avoid WAL lock.
|
|
84
|
+
// Place in a unique temp dir so filename stays "memory.db" for correct
|
|
85
|
+
// zip entry naming, and concurrent snapshots don't collide.
|
|
86
|
+
const liveDbPath = join(DATA_DIR, "memory.db");
|
|
87
|
+
if (existsSync(liveDbPath)) {
|
|
88
|
+
tempDir = join(SNAPSHOTS_DIR, `_tmp_${name}`);
|
|
89
|
+
mkdirSync(tempDir, { recursive: true });
|
|
90
|
+
tempDbPath = join(tempDir, "memory.db");
|
|
91
|
+
await db.backup(tempDbPath);
|
|
92
|
+
}
|
|
93
|
+
// Collect items that actually exist (use temp db copy instead of live memory.db)
|
|
82
94
|
const items = SNAPSHOT_ITEMS
|
|
83
|
-
.map((item) =>
|
|
95
|
+
.map((item) => {
|
|
96
|
+
if (item === "memory.db")
|
|
97
|
+
return tempDbPath ?? join(DATA_DIR, item);
|
|
98
|
+
return join(DATA_DIR, item);
|
|
99
|
+
})
|
|
84
100
|
.filter((p) => existsSync(p));
|
|
85
101
|
if (items.length === 0) {
|
|
86
102
|
json({ error: "No data files found to snapshot" }, 400);
|
|
@@ -106,6 +122,14 @@ export const handlePostSnapshot = ({ req, json }) => {
|
|
|
106
122
|
catch (err) {
|
|
107
123
|
json({ error: errorMessage(err) }, 500);
|
|
108
124
|
}
|
|
125
|
+
finally {
|
|
126
|
+
if (tempDir !== null) {
|
|
127
|
+
try {
|
|
128
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
129
|
+
}
|
|
130
|
+
catch { /* best-effort */ }
|
|
131
|
+
}
|
|
132
|
+
}
|
|
109
133
|
})();
|
|
110
134
|
return true;
|
|
111
135
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../../src/dashboard/routes/snapshots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACH,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,aAAa,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACxD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAElD,iFAAiF;AACjF,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../../src/dashboard/routes/snapshots.ts"],"names":[],"mappings":"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"}
|