sensorium-mcp 3.0.24 → 3.0.26
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 +4 -4
- package/dist/config.js.map +1 -1
- 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 +18 -0
- package/dist/dashboard/routes/snapshots.d.ts.map +1 -0
- package/dist/dashboard/routes/snapshots.js +162 -0
- package/dist/dashboard/routes/snapshots.js.map +1 -0
- package/dist/dashboard/routes/threads.d.ts +2 -2
- package/dist/dashboard/routes/threads.d.ts.map +1 -1
- package/dist/dashboard/routes/threads.js +24 -8
- package/dist/dashboard/routes/threads.js.map +1 -1
- package/dist/dashboard/routes.d.ts.map +1 -1
- package/dist/dashboard/routes.js +14 -4
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/spa.html +10 -10
- package/dist/data/interfaces.d.ts +1 -0
- package/dist/data/interfaces.d.ts.map +1 -1
- 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 +4 -24
- package/dist/data/memory/synthesis.d.ts.map +1 -1
- package/dist/data/memory/synthesis.js +76 -190
- package/dist/data/memory/synthesis.js.map +1 -1
- package/dist/data/memory/thread-registry.d.ts +7 -0
- package/dist/data/memory/thread-registry.d.ts.map +1 -1
- package/dist/data/memory/thread-registry.js +38 -3
- 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 +27 -5
- package/dist/http-server.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +2 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +59 -4
- package/dist/logger.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 -19
- package/dist/services/agent-spawn.service.js.map +1 -1
- package/dist/services/background-runner.d.ts +1 -0
- package/dist/services/background-runner.d.ts.map +1 -1
- package/dist/services/background-runner.js +37 -0
- package/dist/services/background-runner.js.map +1 -1
- package/dist/services/consolidation.service.d.ts.map +1 -1
- package/dist/services/consolidation.service.js +149 -67
- package/dist/services/consolidation.service.js.map +1 -1
- package/dist/services/dispatcher/lock.d.ts +3 -3
- package/dist/services/dispatcher/lock.d.ts.map +1 -1
- package/dist/services/dispatcher/lock.js +9 -9
- 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 +3 -49
- 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 +20 -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/services/worker-cleanup.service.d.ts.map +1 -1
- package/dist/services/worker-cleanup.service.js +5 -15
- package/dist/services/worker-cleanup.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 +6 -4
- 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 +13 -7
- 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 +37 -21
- 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/templates/azure-devops-securevault.default.md +36 -0
- 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
|
@@ -12,6 +12,7 @@ export interface IThreadRepository {
|
|
|
12
12
|
maxRetries?: number;
|
|
13
13
|
cooldownMs?: number;
|
|
14
14
|
keepAlive?: boolean;
|
|
15
|
+
dailyRotation?: boolean;
|
|
15
16
|
workingDirectory?: string;
|
|
16
17
|
}): ThreadRegistryEntry;
|
|
17
18
|
updateThread(db: Database, threadId: number, updates: Partial<Pick<ThreadRegistryEntry, "name" | "status" | "lastActiveAt" | "keepAlive" | "dailyRotation" | "autonomousMode" | "client" | "maxRetries" | "cooldownMs" | "badge" | "telegramTopicId" | "identityPrompt" | "workingDirectory">>): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/data/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,cAAc,CACZ,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GACA,mBAAmB,CAAC;IACvB,YAAY,CACV,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CACd,IAAI,CACF,mBAAmB,EACjB,MAAM,GACN,QAAQ,GACR,cAAc,GACd,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,QAAQ,GACR,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,CACrB,CACF,GACA,OAAO,CAAC;IACX,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACvD,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAC;IACtE,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACnD,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,mBAAmB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7E;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;IAChD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC7D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;CAClD"}
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/data/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,cAAc,CACZ,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GACA,mBAAmB,CAAC;IACvB,YAAY,CACV,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CACd,IAAI,CACF,mBAAmB,EACjB,MAAM,GACN,QAAQ,GACR,cAAc,GACd,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,QAAQ,GACR,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,CACrB,CACF,GACA,OAAO,CAAC;IACX,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACvD,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAC;IACtE,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IACnD,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,mBAAmB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7E;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;IAChD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC7D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;CAClD"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import type { Database } from "./schema.js";
|
|
2
2
|
import { type Episode } from "./episodes.js";
|
|
3
3
|
import { type SemanticNote } from "./semantic.js";
|
|
4
|
-
import { type Procedure } from "./procedures.js";
|
|
5
4
|
import { getVoiceBaseline } from "./voice-sig.js";
|
|
6
5
|
export declare const MAX_BOOTSTRAP_CONVERSATION_CHARS = 100000;
|
|
7
6
|
export declare const MAX_MESSAGE_CONTENT_CHARS = 500;
|
|
8
7
|
export interface TopicEntry {
|
|
9
8
|
topic: string;
|
|
10
9
|
semanticCount: number;
|
|
11
|
-
proceduralCount: number;
|
|
12
10
|
lastUpdated: string | null;
|
|
13
11
|
avgConfidence: number;
|
|
14
12
|
totalAccesses: number;
|
|
@@ -17,7 +15,6 @@ export interface MemoryStatus {
|
|
|
17
15
|
totalEpisodes: number;
|
|
18
16
|
unconsolidatedEpisodes: number;
|
|
19
17
|
totalSemanticNotes: number;
|
|
20
|
-
totalProcedures: number;
|
|
21
18
|
totalVoiceSignatures: number;
|
|
22
19
|
lastConsolidation: string | null;
|
|
23
20
|
topTopics: TopicEntry[];
|
|
@@ -44,7 +41,6 @@ export interface BootstrapContext {
|
|
|
44
41
|
guardrails: SemanticNote[];
|
|
45
42
|
pinnedNotes: SemanticNote[];
|
|
46
43
|
keyKnowledge: SemanticNote[];
|
|
47
|
-
procedures: Procedure[];
|
|
48
44
|
baseline: ReturnType<typeof getVoiceBaseline>;
|
|
49
45
|
narratives: BootstrapNarratives | null;
|
|
50
46
|
reflections: BootstrapReflection[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/data/memory/bootstrap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/data/memory/bootstrap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlD,eAAO,MAAM,gCAAgC,SAAU,CAAC;AACxD,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,QAAQ,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC9C,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACvC,WAAW,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAkBD,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CA4B5E;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,UAAU,EAAE,CAKxD;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,gBAAgB,CAqElB;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAMrF;AAED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA4CrC"}
|
|
@@ -3,7 +3,6 @@ import { homedir } from "node:os";
|
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { getRecentEpisodes } from "./episodes.js";
|
|
5
5
|
import { getTopSemanticNotes, getGuardrailNotes, getPinnedNotes, decrementTopicIndexForKeywords, } from "./semantic.js";
|
|
6
|
-
import { rowToProcedure } from "./procedures.js";
|
|
7
6
|
import { getVoiceBaseline } from "./voice-sig.js";
|
|
8
7
|
import { parseJsonArray } from "./utils.js";
|
|
9
8
|
import { getNarrativesForBootstrap } from "./narrative.js";
|
|
@@ -17,7 +16,6 @@ function rowToTopicEntry(row) {
|
|
|
17
16
|
return {
|
|
18
17
|
topic: row.topic,
|
|
19
18
|
semanticCount: row.semantic_count,
|
|
20
|
-
proceduralCount: row.procedural_count,
|
|
21
19
|
lastUpdated: row.last_updated ?? null,
|
|
22
20
|
avgConfidence: row.avg_confidence,
|
|
23
21
|
totalAccesses: row.total_accesses,
|
|
@@ -27,7 +25,6 @@ export function getMemoryStatus(db, threadId) {
|
|
|
27
25
|
const totalEpisodes = db.prepare(`SELECT COUNT(*) as cnt FROM episodes`).get().cnt;
|
|
28
26
|
const unconsolidatedEpisodes = db.prepare(`SELECT COUNT(*) as cnt FROM episodes WHERE consolidated = 0`).get().cnt;
|
|
29
27
|
const totalSemanticNotes = db.prepare(`SELECT COUNT(*) as cnt FROM semantic_notes WHERE valid_to IS NULL AND superseded_by IS NULL AND thread_id = ?`).get(threadId).cnt;
|
|
30
|
-
const totalProcedures = db.prepare(`SELECT COUNT(*) as cnt FROM procedures`).get().cnt;
|
|
31
28
|
const totalVoiceSignatures = db.prepare(`SELECT COUNT(*) as cnt FROM voice_signatures`).get().cnt;
|
|
32
29
|
const lastConsolidationRow = db
|
|
33
30
|
.prepare(`SELECT run_at FROM meta_consolidation_log ORDER BY run_at DESC LIMIT 1`)
|
|
@@ -44,7 +41,6 @@ export function getMemoryStatus(db, threadId) {
|
|
|
44
41
|
totalEpisodes,
|
|
45
42
|
unconsolidatedEpisodes,
|
|
46
43
|
totalSemanticNotes,
|
|
47
|
-
totalProcedures,
|
|
48
44
|
totalVoiceSignatures,
|
|
49
45
|
lastConsolidation: lastConsolidationRow?.run_at ?? null,
|
|
50
46
|
topTopics: getTopicIndex(db).slice(0, 5),
|
|
@@ -69,9 +65,6 @@ export function getBootstrapContext(db, threadId, memorySourceThreadId) {
|
|
|
69
65
|
const otherNotes = topNotes.filter((note) => note.type !== "preference");
|
|
70
66
|
const pinnedNotes = getPinnedNotes(db, knowledgeThreadId);
|
|
71
67
|
const pinnedIds = new Set(pinnedNotes.map((note) => note.noteId));
|
|
72
|
-
const procedures = db
|
|
73
|
-
.prepare(`SELECT * FROM procedures ORDER BY times_executed DESC, confidence DESC LIMIT 5`)
|
|
74
|
-
.all();
|
|
75
68
|
let narratives = null;
|
|
76
69
|
try {
|
|
77
70
|
const fetched = getNarrativesForBootstrap(db, knowledgeThreadId);
|
|
@@ -116,7 +109,6 @@ export function getBootstrapContext(db, threadId, memorySourceThreadId) {
|
|
|
116
109
|
guardrails: getGuardrailsEnabled() ? getGuardrailNotes(db) : [],
|
|
117
110
|
pinnedNotes,
|
|
118
111
|
keyKnowledge: [...preferences, ...otherNotes].slice(0, 20).filter((note) => !pinnedIds.has(note.noteId)),
|
|
119
|
-
procedures: procedures.map(rowToProcedure),
|
|
120
112
|
baseline: getVoiceBaseline(db),
|
|
121
113
|
narratives,
|
|
122
114
|
reflections,
|
|
@@ -148,21 +140,10 @@ export function forgetMemory(db, memoryId, _reason) {
|
|
|
148
140
|
db.transaction(() => {
|
|
149
141
|
db.prepare(`DELETE FROM semantic_notes WHERE note_id = ?`).run(memoryId);
|
|
150
142
|
db.prepare(`DELETE FROM note_embeddings WHERE note_id = ?`).run(memoryId);
|
|
151
|
-
decrementTopicIndexForKeywords(db, keywords
|
|
143
|
+
decrementTopicIndexForKeywords(db, keywords);
|
|
152
144
|
})();
|
|
153
145
|
return { layer: "semantic", deleted: true };
|
|
154
146
|
}
|
|
155
|
-
if (memoryId.startsWith("pr_")) {
|
|
156
|
-
const existing = db.prepare(`SELECT procedure_id, name FROM procedures WHERE procedure_id = ?`).get(memoryId);
|
|
157
|
-
if (!existing)
|
|
158
|
-
return { layer: "procedural", deleted: false };
|
|
159
|
-
const keywords = existing.name.toLowerCase().split(/\s+/).filter((word) => word.length > 2);
|
|
160
|
-
db.transaction(() => {
|
|
161
|
-
db.prepare(`DELETE FROM procedures WHERE procedure_id = ?`).run(memoryId);
|
|
162
|
-
decrementTopicIndexForKeywords(db, keywords, "procedural");
|
|
163
|
-
})();
|
|
164
|
-
return { layer: "procedural", deleted: true };
|
|
165
|
-
}
|
|
166
147
|
const episodeRow = db.prepare(`SELECT episode_id FROM episodes WHERE episode_id = ?`).get(memoryId);
|
|
167
148
|
if (episodeRow) {
|
|
168
149
|
db.transaction(() => {
|
|
@@ -177,19 +158,10 @@ export function forgetMemory(db, memoryId, _reason) {
|
|
|
177
158
|
db.transaction(() => {
|
|
178
159
|
db.prepare(`DELETE FROM semantic_notes WHERE note_id = ?`).run(memoryId);
|
|
179
160
|
db.prepare(`DELETE FROM note_embeddings WHERE note_id = ?`).run(memoryId);
|
|
180
|
-
decrementTopicIndexForKeywords(db, keywords
|
|
161
|
+
decrementTopicIndexForKeywords(db, keywords);
|
|
181
162
|
})();
|
|
182
163
|
return { layer: "semantic", deleted: true };
|
|
183
164
|
}
|
|
184
|
-
const procRow = db.prepare(`SELECT procedure_id, name FROM procedures WHERE procedure_id = ?`).get(memoryId);
|
|
185
|
-
if (procRow) {
|
|
186
|
-
const keywords = procRow.name.toLowerCase().split(/\s+/).filter((word) => word.length > 2);
|
|
187
|
-
db.transaction(() => {
|
|
188
|
-
db.prepare(`DELETE FROM procedures WHERE procedure_id = ?`).run(memoryId);
|
|
189
|
-
decrementTopicIndexForKeywords(db, keywords, "procedural");
|
|
190
|
-
})();
|
|
191
|
-
return { layer: "procedural", deleted: true };
|
|
192
|
-
}
|
|
193
165
|
return { layer: "unknown", deleted: false };
|
|
194
166
|
}
|
|
195
167
|
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/data/memory/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAgB,MAAM,eAAe,CAAC;AAChE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,8BAA8B,GAE/B,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/data/memory/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,5 +44,12 @@ export declare function getActiveNoteContent(db: Database, noteId: string): {
|
|
|
44
44
|
} | null;
|
|
45
45
|
export declare function expireNote(db: Database, noteId: string, now: string): void;
|
|
46
46
|
export declare function mergeDuplicateNote(db: Database, keepId: string, expireId: string, now: string, mergedContent?: string): void;
|
|
47
|
+
/**
|
|
48
|
+
* Delete note_embeddings rows whose semantic_notes have been expired or superseded.
|
|
49
|
+
* These embeddings are already invisible to embedding search (loadAllEmbeddings filters
|
|
50
|
+
* them out) but they accumulate on disk over time. Safe to delete at any point.
|
|
51
|
+
* Returns the number of rows deleted.
|
|
52
|
+
*/
|
|
53
|
+
export declare function sweepOrphanedEmbeddings(db: Database): number;
|
|
47
54
|
export declare function sweepOrphanedNotes(db: Database): number;
|
|
48
55
|
//# sourceMappingURL=consolidation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidation.d.ts","sourceRoot":"","sources":["../../../src/data/memory/consolidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAO5C,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAID,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"consolidation.d.ts","sourceRoot":"","sources":["../../../src/data/memory/consolidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAO5C,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAID,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,EAAE,CAUjE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAW5E;AAED,wBAAgB,gCAAgC,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAEnE;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAUxF;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKnE;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,GACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAM5C;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAI1E;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAUN;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAU5D;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAmBvD"}
|
|
@@ -6,7 +6,10 @@ import { getAllThreads } from "./thread-registry.js";
|
|
|
6
6
|
const TERMINAL_THREAD_STATUSES = new Set(["archived", "expired", "exited"]);
|
|
7
7
|
export function getUnconsolidatedThreadIds(db) {
|
|
8
8
|
const rows = db
|
|
9
|
-
.prepare(`SELECT DISTINCT thread_id
|
|
9
|
+
.prepare(`SELECT DISTINCT e.thread_id
|
|
10
|
+
FROM episodes e
|
|
11
|
+
LEFT JOIN thread_registry tr ON tr.thread_id = e.thread_id
|
|
12
|
+
WHERE e.consolidated = 0 AND (tr.type IS NULL OR tr.type != 'worker')`)
|
|
10
13
|
.all();
|
|
11
14
|
return rows.map((row) => row.thread_id);
|
|
12
15
|
}
|
|
@@ -48,6 +51,21 @@ export function mergeDuplicateNote(db, keepId, expireId, now, mergedContent) {
|
|
|
48
51
|
}
|
|
49
52
|
db.prepare(`UPDATE semantic_notes SET valid_to = ?, superseded_by = ?, updated_at = ? WHERE note_id = ?`).run(now, keepId, now, expireId);
|
|
50
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Delete note_embeddings rows whose semantic_notes have been expired or superseded.
|
|
56
|
+
* These embeddings are already invisible to embedding search (loadAllEmbeddings filters
|
|
57
|
+
* them out) but they accumulate on disk over time. Safe to delete at any point.
|
|
58
|
+
* Returns the number of rows deleted.
|
|
59
|
+
*/
|
|
60
|
+
export function sweepOrphanedEmbeddings(db) {
|
|
61
|
+
const result = db.prepare(`DELETE FROM note_embeddings WHERE note_id NOT IN (
|
|
62
|
+
SELECT note_id FROM semantic_notes WHERE valid_to IS NULL AND superseded_by IS NULL
|
|
63
|
+
)`).run();
|
|
64
|
+
if (result.changes > 0) {
|
|
65
|
+
log.info(`[memory] Embedding sweep: removed ${result.changes} orphaned embedding(s)`);
|
|
66
|
+
}
|
|
67
|
+
return result.changes;
|
|
68
|
+
}
|
|
51
69
|
export function sweepOrphanedNotes(db) {
|
|
52
70
|
const threadIdsWithNotes = getThreadIdsWithActiveNotes(db);
|
|
53
71
|
if (threadIdsWithNotes.length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidation.js","sourceRoot":"","sources":["../../../src/data/memory/consolidation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAwCrD,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE5E,MAAM,UAAU,0BAA0B,CAAC,EAAY;IACrD,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,
|
|
1
|
+
{"version":3,"file":"consolidation.js","sourceRoot":"","sources":["../../../src/data/memory/consolidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,14 +4,13 @@
|
|
|
4
4
|
* All memory modules are re-exported here so consumers can import from
|
|
5
5
|
* a single path: `./data/memory/index.js`.
|
|
6
6
|
*
|
|
7
|
-
* Modules: utils, schema, episodes, semantic,
|
|
7
|
+
* Modules: utils, schema, episodes, semantic, voice-sig,
|
|
8
8
|
* consolidation, reflection (causal/pattern/counterfactual insights), bootstrap.
|
|
9
9
|
*/
|
|
10
10
|
export * from './utils.js';
|
|
11
11
|
export * from './schema.js';
|
|
12
12
|
export * from './episodes.js';
|
|
13
13
|
export * from './semantic.js';
|
|
14
|
-
export * from './procedures.js';
|
|
15
14
|
export * from './voice-sig.js';
|
|
16
15
|
export * from './consolidation.js';
|
|
17
16
|
export * from './reflection.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
|
|
@@ -4,14 +4,13 @@
|
|
|
4
4
|
* All memory modules are re-exported here so consumers can import from
|
|
5
5
|
* a single path: `./data/memory/index.js`.
|
|
6
6
|
*
|
|
7
|
-
* Modules: utils, schema, episodes, semantic,
|
|
7
|
+
* Modules: utils, schema, episodes, semantic, voice-sig,
|
|
8
8
|
* consolidation, reflection (causal/pattern/counterfactual insights), bootstrap.
|
|
9
9
|
*/
|
|
10
10
|
export * from './utils.js';
|
|
11
11
|
export * from './schema.js';
|
|
12
12
|
export * from './episodes.js';
|
|
13
13
|
export * from './semantic.js';
|
|
14
|
-
export * from './procedures.js';
|
|
15
14
|
export * from './voice-sig.js';
|
|
16
15
|
export * from './consolidation.js';
|
|
17
16
|
export * from './reflection.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAE9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Database } from "./schema.js";
|
|
2
|
-
export declare const SCHEMA_VERSION =
|
|
2
|
+
export declare const SCHEMA_VERSION = 24;
|
|
3
3
|
export declare function rebuildThreadRegistryWithExitedStatus(db: Database, existingColumns: string[]): void;
|
|
4
4
|
export declare function runMigrations(db: Database): void;
|
|
5
5
|
//# sourceMappingURL=migration-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../../src/data/memory/migration-runner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,cAAc,KAAK,CAAC;AAkBjC,wBAAgB,qCAAqC,CACnD,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,CA4DN;
|
|
1
|
+
{"version":3,"file":"migration-runner.d.ts","sourceRoot":"","sources":["../../../src/data/memory/migration-runner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,cAAc,KAAK,CAAC;AAkBjC,wBAAgB,qCAAqC,CACnD,EAAE,EAAE,QAAQ,EACZ,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,CA4DN;AAqWD,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAmBhD"}
|
|
@@ -4,7 +4,7 @@ import { join } from "node:path";
|
|
|
4
4
|
import { log } from "../../logger.js";
|
|
5
5
|
import { errorMessage } from "../../utils.js";
|
|
6
6
|
import { nowISO } from "./utils.js";
|
|
7
|
-
export const SCHEMA_VERSION =
|
|
7
|
+
export const SCHEMA_VERSION = 24;
|
|
8
8
|
function isDuplicateColumnError(err, columnName) {
|
|
9
9
|
const message = errorMessage(err).toLowerCase();
|
|
10
10
|
return message.includes(`duplicate column name: ${columnName}`.toLowerCase());
|
|
@@ -435,6 +435,16 @@ const MIGRATIONS = {
|
|
|
435
435
|
})();
|
|
436
436
|
log.info("[migration-23] Widened thread_registry status CHECK to include created/spawning/stuck/exiting");
|
|
437
437
|
},
|
|
438
|
+
24: (db) => {
|
|
439
|
+
try {
|
|
440
|
+
db.exec(`ALTER TABLE semantic_notes ADD COLUMN quality_score INTEGER`);
|
|
441
|
+
}
|
|
442
|
+
catch (err) {
|
|
443
|
+
if (!isDuplicateColumnError(err, "quality_score"))
|
|
444
|
+
throw err;
|
|
445
|
+
}
|
|
446
|
+
log.info("[migration-24] Added quality_score column to semantic_notes");
|
|
447
|
+
},
|
|
438
448
|
};
|
|
439
449
|
export function runMigrations(db) {
|
|
440
450
|
const currentVersion = getCurrentSchemaVersion(db);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-runner.js","sourceRoot":"","sources":["../../../src/data/memory/migration-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migration-runner.js","sourceRoot":"","sources":["../../../src/data/memory/migration-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;AAqY9E;;;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"}
|
|
@@ -13,8 +13,10 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { chatCompletion } from "../../integrations/openai/chat.js";
|
|
15
15
|
import { resolveKnowledgeThreadId } from "../../config.js";
|
|
16
|
+
import { getThread } from "./thread-registry.js";
|
|
16
17
|
import { parseJsonArray, parseJsonObject } from "./utils.js";
|
|
17
18
|
import { errorMessage } from "../../utils.js";
|
|
19
|
+
import { log } from "../../logger.js";
|
|
18
20
|
// ─── Constants ───────────────────────────────────────────────────────────────
|
|
19
21
|
const NARRATIVE_FILLER_PHRASES = [
|
|
20
22
|
/\bsignificant progress\b/i,
|
|
@@ -23,6 +25,15 @@ const NARRATIVE_FILLER_PHRASES = [
|
|
|
23
25
|
/\bseveral enhancements\b/i,
|
|
24
26
|
/\bsignificant (evolution|strides|developments?)\b/i,
|
|
25
27
|
/\boverall.{0,20}(positive|good|well)\b/i,
|
|
28
|
+
/\bpivotal moments?\b/i,
|
|
29
|
+
/\bcrucial (step|milestone|decision)\b/i,
|
|
30
|
+
/\bnotable (milestone|achievement|development)\b/i,
|
|
31
|
+
/\bsubstantial (progress|improvement)\b/i,
|
|
32
|
+
/\bremarkable (progress|growth|improvement)\b/i,
|
|
33
|
+
/\bmeaningful (progress|improvement|change)\b/i,
|
|
34
|
+
/\bas I (navigated|reflected|observed|witnessed)\b/i,
|
|
35
|
+
/\bthis (prompted|led) me to reflect\b/i,
|
|
36
|
+
/\bI (noticed|observed|witnessed) a (critical|pivotal|key)\b/i,
|
|
26
37
|
];
|
|
27
38
|
function findFillerPhrase(text) {
|
|
28
39
|
for (const pattern of NARRATIVE_FILLER_PHRASES) {
|
|
@@ -40,15 +51,15 @@ const COOLDOWNS = {
|
|
|
40
51
|
quarter: 7 * 24 * 60 * 60 * 1000, // 7 days
|
|
41
52
|
half_year: 14 * 24 * 60 * 60 * 1000, // 14 days
|
|
42
53
|
};
|
|
43
|
-
/**
|
|
44
|
-
const
|
|
45
|
-
day:
|
|
46
|
-
week:
|
|
47
|
-
month:
|
|
48
|
-
quarter:
|
|
49
|
-
half_year:
|
|
54
|
+
/** Target output token count per resolution */
|
|
55
|
+
const OUTPUT_TOKEN_TARGETS = {
|
|
56
|
+
day: 500,
|
|
57
|
+
week: 300,
|
|
58
|
+
month: 200,
|
|
59
|
+
quarter: 150,
|
|
60
|
+
half_year: 120,
|
|
50
61
|
};
|
|
51
|
-
const NARRATIVE_MODEL = process.env.NARRATIVE_MODEL || process.env.CONSOLIDATION_MODEL || "gpt-4o
|
|
62
|
+
const NARRATIVE_MODEL = process.env.NARRATIVE_MODEL || process.env.CONSOLIDATION_MODEL || "gpt-4o";
|
|
52
63
|
// ─── Period Calculation ──────────────────────────────────────────────────────
|
|
53
64
|
function getPeriodBounds(resolution) {
|
|
54
65
|
const now = new Date();
|
|
@@ -135,6 +146,7 @@ function getNotesInPeriod(db, threadId, start) {
|
|
|
135
146
|
threadId: r.thread_id,
|
|
136
147
|
isGuardrail: r.is_guardrail === 1,
|
|
137
148
|
pinned: r.pinned === 1,
|
|
149
|
+
qualityScore: r.quality_score ?? null,
|
|
138
150
|
}));
|
|
139
151
|
}
|
|
140
152
|
// ─── Content Extraction ──────────────────────────────────────────────────────
|
|
@@ -172,7 +184,9 @@ function formatNotesForLLM(notes, maxChars) {
|
|
|
172
184
|
return lines.join("\n");
|
|
173
185
|
}
|
|
174
186
|
// ─── LLM Prompts ─────────────────────────────────────────────────────────────
|
|
175
|
-
function buildPrompt(resolution, episodesText, notesText, episodeCount, periodLabel) {
|
|
187
|
+
function buildPrompt(resolution, episodesText, notesText, episodeCount, periodLabel, periodStart) {
|
|
188
|
+
const startYear = new Date(periodStart).getFullYear();
|
|
189
|
+
const endYear = new Date().getFullYear();
|
|
176
190
|
const instructions = {
|
|
177
191
|
day: `Write a detailed narrative of what happened today (${periodLabel}). Include specific events, decisions made, problems encountered, and outcomes. Use chronological order. Be concrete — mention specific features, fixes, discussions. For each major event, explain WHY it happened and what it caused. Don't just list what happened — explain the chain of consequences. Target ~500 tokens.`,
|
|
178
192
|
week: `Write a concise narrative of the key developments this past week (${periodLabel}). For each development, explain: what triggered it, what decision was made, and what resulted. Connect events causally — show how Monday's decision led to Wednesday's outcome. Group by causal chains, not just themes. Target ~300 tokens.`,
|
|
@@ -191,9 +205,11 @@ FORMAT RULES:
|
|
|
191
205
|
- Do NOT list facts — weave them into a narrative
|
|
192
206
|
- Do NOT use bullet points — write flowing paragraphs
|
|
193
207
|
- End with current status / what's next
|
|
194
|
-
- NEVER use filler phrases: "significant progress", "notable
|
|
208
|
+
- NEVER use filler phrases like: "significant progress/evolution/strides", "notable improvement/milestone/achievement", "various features", "several enhancements", "pivotal moments", "crucial step/milestone/decision", "substantial/remarkable/meaningful progress", "overall good/positive", "as I navigated/reflected/observed", "this prompted me to reflect", "I noticed a critical/key ..."
|
|
195
209
|
- Every claim must be grounded in a specific event, decision, or outcome from the source data
|
|
196
210
|
- If you can't point to specific evidence, don't include it
|
|
211
|
+
- NEVER open with a date-setting sentence like "In [Month Year]..." or "During [Month Year]..." — start with what actually happened
|
|
212
|
+
- Only use years that appear in the period range (${startYear}${startYear !== endYear ? `–${endYear}` : ""}) — never substitute today's year for an earlier period
|
|
197
213
|
|
|
198
214
|
SOURCE DATA (${episodeCount} episodes):
|
|
199
215
|
|
|
@@ -242,28 +258,33 @@ async function generateNarrative(db, threadId, resolution) {
|
|
|
242
258
|
const knowledgeThreadId = resolveKnowledgeThreadId(threadId);
|
|
243
259
|
const { start, end } = getPeriodBounds(resolution);
|
|
244
260
|
const episodes = getEpisodesInPeriod(db, knowledgeThreadId, start, end);
|
|
245
|
-
//
|
|
246
|
-
|
|
261
|
+
// Sparse-thread guard: require minimum episode count to prevent fabricated narratives.
|
|
262
|
+
// Day narratives need fewer episodes; longer resolutions need more signal to be useful.
|
|
263
|
+
const minEpisodes = resolution === "day" ? 3 : 5;
|
|
264
|
+
if (episodes.length < minEpisodes)
|
|
247
265
|
return null;
|
|
248
266
|
const notes = getNotesInPeriod(db, knowledgeThreadId, start);
|
|
249
|
-
const maxChars =
|
|
267
|
+
const maxChars = OUTPUT_TOKEN_TARGETS[resolution] * 16; // ~4 chars/token × 4 for source data headroom
|
|
250
268
|
const episodesText = formatEpisodesForLLM(episodes, maxChars * 2);
|
|
269
|
+
// Content density check: if episode text is too thin, skip generation to avoid fabrication
|
|
270
|
+
if (episodesText.length < 200 && notes.length === 0)
|
|
271
|
+
return null;
|
|
251
272
|
const notesText = formatNotesForLLM(notes, maxChars);
|
|
252
|
-
const fmtShort = (d) => new Date(d).toLocaleDateString("en-US", { month: "short", day: "numeric" });
|
|
273
|
+
const fmtShort = (d) => new Date(d).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
|
|
253
274
|
const fmtRange = `${fmtShort(start)} – ${fmtShort(end)}`;
|
|
254
275
|
const periodLabels = {
|
|
255
276
|
day: fmtShort(start),
|
|
256
277
|
week: fmtRange,
|
|
257
|
-
month: `Month of ${new Date(
|
|
278
|
+
month: `Month of ${new Date(start).toLocaleDateString("en-US", { month: "long", year: "numeric" })}`,
|
|
258
279
|
quarter: `Quarter: ${fmtRange}`,
|
|
259
280
|
half_year: `Half-year: ${fmtRange}`,
|
|
260
281
|
};
|
|
261
282
|
const periodLabel = periodLabels[resolution];
|
|
262
|
-
const prompt = buildPrompt(resolution, episodesText, notesText, episodes.length, periodLabel);
|
|
283
|
+
const prompt = buildPrompt(resolution, episodesText, notesText, episodes.length, periodLabel, start);
|
|
263
284
|
const narrative = await chatCompletion([{ role: "user", content: prompt }], apiKey, {
|
|
264
285
|
model: NARRATIVE_MODEL,
|
|
265
286
|
temperature: 0.3,
|
|
266
|
-
maxTokens:
|
|
287
|
+
maxTokens: OUTPUT_TOKEN_TARGETS[resolution],
|
|
267
288
|
timeoutMs: 60_000,
|
|
268
289
|
});
|
|
269
290
|
if (!narrative?.trim())
|
|
@@ -272,14 +293,14 @@ async function generateNarrative(db, threadId, resolution) {
|
|
|
272
293
|
let finalNarrative = narrative.trim();
|
|
273
294
|
const fillerMatch = findFillerPhrase(finalNarrative);
|
|
274
295
|
if (fillerMatch) {
|
|
275
|
-
|
|
276
|
-
const retryPrompt = buildPrompt(resolution, episodesText, notesText, episodes.length, periodLabel)
|
|
296
|
+
log.warn(`[narrative] filler phrase detected (${fillerMatch}) in ${resolution} narrative — retrying`);
|
|
297
|
+
const retryPrompt = buildPrompt(resolution, episodesText, notesText, episodes.length, periodLabel, start)
|
|
277
298
|
+ "\n\nRewrite the narrative using no filler phrases. Every claim must reference a specific event or decision from the source data.";
|
|
278
|
-
const retried = await chatCompletion([{ role: "system", content: "You are a temporal memory narrator." }, { role: "assistant", content: finalNarrative }, { role: "user", content: retryPrompt }], apiKey, { model: NARRATIVE_MODEL, temperature: 0.3, maxTokens:
|
|
299
|
+
const retried = await chatCompletion([{ role: "system", content: "You are a temporal memory narrator." }, { role: "assistant", content: finalNarrative }, { role: "user", content: retryPrompt }], apiKey, { model: NARRATIVE_MODEL, temperature: 0.3, maxTokens: OUTPUT_TOKEN_TARGETS[resolution], timeoutMs: 60_000 });
|
|
279
300
|
if (retried?.trim()) {
|
|
280
301
|
const retryFiller = findFillerPhrase(retried.trim());
|
|
281
302
|
if (retryFiller) {
|
|
282
|
-
|
|
303
|
+
log.warn(`[narrative] retry still contains filler (${retryFiller}) in ${resolution} — keeping original`);
|
|
283
304
|
}
|
|
284
305
|
else {
|
|
285
306
|
finalNarrative = retried.trim();
|
|
@@ -309,10 +330,16 @@ export async function runNarrativeGeneration(db, threadId, options) {
|
|
|
309
330
|
cached: [],
|
|
310
331
|
errors: [],
|
|
311
332
|
};
|
|
333
|
+
const threadEntry = getThread(db, threadId);
|
|
334
|
+
if (threadEntry?.type === "worker") {
|
|
335
|
+
log.info(`[narrative] Skipping — thread ${threadId} is a worker thread`);
|
|
336
|
+
return result;
|
|
337
|
+
}
|
|
312
338
|
const resolutions = ["day", "week", "month", "quarter", "half_year"];
|
|
339
|
+
const knowledgeThreadId = resolveKnowledgeThreadId(threadId);
|
|
313
340
|
for (const res of resolutions) {
|
|
314
341
|
try {
|
|
315
|
-
if (!options?.force && isCooldownActive(db,
|
|
342
|
+
if (!options?.force && isCooldownActive(db, knowledgeThreadId, res)) {
|
|
316
343
|
result.cached.push(res);
|
|
317
344
|
continue;
|
|
318
345
|
}
|