@christopherlittle51/postclaw 1.3.1 → 1.3.4
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 +76 -690
- package/dashboard/README.md +89 -0
- package/dashboard/public/app.js +1023 -543
- package/dashboard/public/index.html +283 -75
- package/dashboard/public/styles.css +583 -126
- package/dist/dashboard/routes/config.d.ts.map +1 -1
- package/dist/dashboard/routes/config.js +17 -1
- package/dist/dashboard/routes/config.js.map +1 -1
- package/dist/dashboard/routes/graph.d.ts +2 -2
- package/dist/dashboard/routes/graph.d.ts.map +1 -1
- package/dist/dashboard/routes/graph.js +61 -23
- package/dist/dashboard/routes/graph.js.map +1 -1
- package/dist/dashboard/routes/memories.d.ts.map +1 -1
- package/dist/dashboard/routes/memories.js +97 -11
- package/dist/dashboard/routes/memories.js.map +1 -1
- package/dist/dashboard/routes/scripts.d.ts.map +1 -1
- package/dist/dashboard/routes/scripts.js +3 -1
- package/dist/dashboard/routes/scripts.js.map +1 -1
- package/dist/dashboard/routes/workspace.d.ts +4 -3
- package/dist/dashboard/routes/workspace.d.ts.map +1 -1
- package/dist/dashboard/routes/workspace.js +119 -7
- package/dist/dashboard/routes/workspace.js.map +1 -1
- package/dist/dashboard/server.js +1 -1
- package/dist/dashboard/server.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +189 -43
- package/dist/index.js.map +1 -1
- package/dist/schemas/validation.d.ts +108 -12
- package/dist/schemas/validation.d.ts.map +1 -1
- package/dist/schemas/validation.js +66 -11
- package/dist/schemas/validation.js.map +1 -1
- package/dist/scripts/bootstrap_persona.d.ts.map +1 -1
- package/dist/scripts/bootstrap_persona.js +3 -3
- package/dist/scripts/bootstrap_persona.js.map +1 -1
- package/dist/scripts/setup-db.d.ts.map +1 -1
- package/dist/scripts/setup-db.js +74 -37
- package/dist/scripts/setup-db.js.map +1 -1
- package/dist/scripts/sleep_cycle.d.ts +1 -0
- package/dist/scripts/sleep_cycle.d.ts.map +1 -1
- package/dist/scripts/sleep_cycle.js +209 -38
- package/dist/scripts/sleep_cycle.js.map +1 -1
- package/dist/services/config.d.ts +1 -0
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +15 -29
- package/dist/services/config.js.map +1 -1
- package/dist/services/db.d.ts +10 -0
- package/dist/services/db.d.ts.map +1 -1
- package/dist/services/db.js +38 -1
- package/dist/services/db.js.map +1 -1
- package/dist/services/llm.d.ts.map +1 -1
- package/dist/services/llm.js +3 -1
- package/dist/services/llm.js.map +1 -1
- package/dist/services/memoryService.d.ts +4 -2
- package/dist/services/memoryService.d.ts.map +1 -1
- package/dist/services/memoryService.js +127 -43
- package/dist/services/memoryService.js.map +1 -1
- package/dist/services/personaService.d.ts +25 -0
- package/dist/services/personaService.d.ts.map +1 -1
- package/dist/services/personaService.js +79 -0
- package/dist/services/personaService.js.map +1 -1
- package/dist/tests/dashboard-schemas.test.js +71 -1
- package/dist/tests/dashboard-schemas.test.js.map +1 -1
- package/openclaw.plugin.json +5 -0
- package/package.json +2 -1
- package/schemas/README.md +64 -0
|
@@ -20,6 +20,7 @@ exports.startService = startService;
|
|
|
20
20
|
exports.stopService = stopService;
|
|
21
21
|
const db_js_1 = require("../services/db.js");
|
|
22
22
|
const memoryService_js_1 = require("../services/memoryService.js");
|
|
23
|
+
const config_js_1 = require("../services/config.js");
|
|
23
24
|
const llm_js_1 = require("../services/llm.js");
|
|
24
25
|
const zod_1 = require("zod");
|
|
25
26
|
const validation_js_1 = require("../schemas/validation.js");
|
|
@@ -43,6 +44,31 @@ const DEFAULT_LINK_SCAN_LIMIT = 50;
|
|
|
43
44
|
// Background service
|
|
44
45
|
const DEFAULT_INTERVAL_HOURS = 6;
|
|
45
46
|
// =============================================================================
|
|
47
|
+
// TYPES
|
|
48
|
+
// =============================================================================
|
|
49
|
+
/**
|
|
50
|
+
* Defensively extracts a JSON object from raw LLM output.
|
|
51
|
+
* Handles markdown fences (```json ... ```) or conversational filler
|
|
52
|
+
* wrapping the actual { ... } block.
|
|
53
|
+
*/
|
|
54
|
+
function extractJsonFromLlmOutput(text) {
|
|
55
|
+
if (!text)
|
|
56
|
+
return "";
|
|
57
|
+
// 1. Try to find a fenced code block
|
|
58
|
+
const fenceMatch = text.match(/```(?:json)?\s*([\s\S]*?)\s*```/);
|
|
59
|
+
if (fenceMatch && fenceMatch[1]) {
|
|
60
|
+
return fenceMatch[1].trim();
|
|
61
|
+
}
|
|
62
|
+
// 2. Try to find the outermost curly braces
|
|
63
|
+
const firstBrace = text.indexOf("{");
|
|
64
|
+
const lastBrace = text.lastIndexOf("}");
|
|
65
|
+
if (firstBrace !== -1 && lastBrace !== -1 && lastBrace > firstBrace) {
|
|
66
|
+
return text.substring(firstBrace, lastBrace + 1).trim();
|
|
67
|
+
}
|
|
68
|
+
// 3. Fallback to just returning the trimmed string and letting JSON.parse try
|
|
69
|
+
return text.trim();
|
|
70
|
+
}
|
|
71
|
+
// =============================================================================
|
|
46
72
|
// UTILITIES
|
|
47
73
|
// =============================================================================
|
|
48
74
|
// LLM calls now routed through OpenClaw's configured primary model via callLLMviaAgent
|
|
@@ -89,8 +115,21 @@ Output your response EXCLUSIVELY as a JSON object matching this schema:
|
|
|
89
115
|
}
|
|
90
116
|
Do not use markdown formatting.
|
|
91
117
|
`;
|
|
92
|
-
const jsonString = await (0, llm_js_1.callLLMviaAgent)(`${systemPrompt}\n\nHere is the recent episodic transcript to analyze:\n\n${transcript}
|
|
93
|
-
|
|
118
|
+
const jsonString = await (0, llm_js_1.callLLMviaAgent)(`${systemPrompt}\n\nHere is the recent episodic transcript to analyze:\n\n${transcript}`, agentId);
|
|
119
|
+
let result;
|
|
120
|
+
try {
|
|
121
|
+
const cleanString = extractJsonFromLlmOutput(jsonString);
|
|
122
|
+
result = validation_js_1.SleepCycleResultSchema.parse(JSON.parse(cleanString));
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
console.error(`\n[PHASE 1] ❌ FATAL PARSE ERROR`);
|
|
126
|
+
console.error(`The internal LLM response could not be parsed as valid JSON.`);
|
|
127
|
+
console.error(`This blocks the promotion of short-term memories into semantic facts.\n`);
|
|
128
|
+
console.error(`=== RAW LLM OUTPUT ===`);
|
|
129
|
+
console.error(jsonString);
|
|
130
|
+
console.error(`======================\n`);
|
|
131
|
+
throw new Error(`Episodic consolidation parsing failed: ${err.message}`);
|
|
132
|
+
}
|
|
94
133
|
console.log(`[PHASE 1] Extracted ${result.extracted_durable_facts.length} permanent facts.`);
|
|
95
134
|
console.log(`[PHASE 1] Session Summary: ${result.session_summary}`);
|
|
96
135
|
await sql.begin(async (tx) => {
|
|
@@ -151,7 +190,7 @@ async function phaseDuplicateDetection(agentId, options) {
|
|
|
151
190
|
if (archivedIds.has(source.id))
|
|
152
191
|
continue;
|
|
153
192
|
const duplicates = await tx `
|
|
154
|
-
SELECT id, content, usefulness_score, access_count
|
|
193
|
+
SELECT id, content, usefulness_score, access_count, confidence, volatility, injection_count
|
|
155
194
|
FROM memory_semantic
|
|
156
195
|
WHERE agent_id = ${agentId}
|
|
157
196
|
AND is_archived = false
|
|
@@ -163,11 +202,17 @@ async function phaseDuplicateDetection(agentId, options) {
|
|
|
163
202
|
if (duplicates.length === 0)
|
|
164
203
|
continue;
|
|
165
204
|
const allCandidates = [source, ...duplicates];
|
|
205
|
+
// Score survivors using ALL relevant DB columns:
|
|
206
|
+
// usefulness_score, access_count, confidence, injection_count, volatility
|
|
166
207
|
allCandidates.sort((a, b) => {
|
|
167
208
|
const rowA = a;
|
|
168
209
|
const rowB = b;
|
|
169
|
-
const
|
|
170
|
-
const
|
|
210
|
+
const volPenA = rowA.volatility === 'high' ? -0.5 : rowA.volatility === 'medium' ? -0.2 : 0;
|
|
211
|
+
const volPenB = rowB.volatility === 'high' ? -0.5 : rowB.volatility === 'medium' ? -0.2 : 0;
|
|
212
|
+
const scoreA = (rowA.usefulness_score || 0) + (rowA.access_count || 0) * 0.1
|
|
213
|
+
+ (rowA.confidence || 0.5) * 0.5 + (rowA.injection_count || 0) * 0.05 + volPenA;
|
|
214
|
+
const scoreB = (rowB.usefulness_score || 0) + (rowB.access_count || 0) * 0.1
|
|
215
|
+
+ (rowB.confidence || 0.5) * 0.5 + (rowB.injection_count || 0) * 0.05 + volPenB;
|
|
171
216
|
return scoreB - scoreA;
|
|
172
217
|
});
|
|
173
218
|
const survivor = allCandidates[0];
|
|
@@ -199,15 +244,34 @@ async function phaseLowValueCleanup(agentId, options) {
|
|
|
199
244
|
const sql = (0, db_js_1.getSql)();
|
|
200
245
|
const result = await sql.begin(async (tx) => {
|
|
201
246
|
await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
|
|
247
|
+
// Also archive memories past their expires_at date
|
|
248
|
+
const expiredRows = await tx `
|
|
249
|
+
UPDATE memory_semantic
|
|
250
|
+
SET is_archived = true
|
|
251
|
+
WHERE agent_id = ${agentId}
|
|
252
|
+
AND is_archived = false
|
|
253
|
+
AND expires_at IS NOT NULL
|
|
254
|
+
AND expires_at < NOW()
|
|
255
|
+
RETURNING id, content, tier;
|
|
256
|
+
`;
|
|
257
|
+
if (expiredRows.length > 0) {
|
|
258
|
+
for (const m of expiredRows) {
|
|
259
|
+
console.log(`[PHASE 3] -> Archived expired: "${m.content.substring(0, 60)}..." (tier=${m.tier})`);
|
|
260
|
+
}
|
|
261
|
+
console.log(`[PHASE 3] Archived ${expiredRows.length} expired memories.`);
|
|
262
|
+
}
|
|
263
|
+
// Low-value cleanup: consider access_count, injection_count, and confidence
|
|
202
264
|
const staleMemories = await tx `
|
|
203
|
-
SELECT id, content, tier, access_count, created_at
|
|
265
|
+
SELECT id, content, tier, access_count, injection_count, confidence, created_at
|
|
204
266
|
FROM memory_semantic
|
|
205
267
|
WHERE agent_id = ${agentId}
|
|
206
268
|
AND is_archived = false
|
|
207
269
|
AND access_count = 0
|
|
270
|
+
AND injection_count = 0
|
|
271
|
+
AND confidence < 0.3
|
|
208
272
|
AND created_at < NOW() - INTERVAL '1 day' * ${options.ageDays}
|
|
209
273
|
AND tier NOT IN ${sql(options.protectedTiers)}
|
|
210
|
-
ORDER BY created_at ASC;
|
|
274
|
+
ORDER BY confidence ASC, created_at ASC;
|
|
211
275
|
`;
|
|
212
276
|
if (staleMemories.length === 0) {
|
|
213
277
|
return 0;
|
|
@@ -221,9 +285,9 @@ async function phaseLowValueCleanup(agentId, options) {
|
|
|
221
285
|
for (const m of staleMemories) {
|
|
222
286
|
console.log(`[PHASE 3] -> Archived stale: "${m.content.substring(0, 60)}..." (tier=${m.tier}, age=${Math.round((Date.now() - new Date(m.created_at).getTime()) / 86400000)}d)`);
|
|
223
287
|
}
|
|
224
|
-
return staleMemories.length;
|
|
288
|
+
return staleMemories.length + expiredRows.length;
|
|
225
289
|
});
|
|
226
|
-
console.log(`[PHASE 3] Archived ${result} low-value
|
|
290
|
+
console.log(`[PHASE 3] Archived ${result} total entries (low-value + expired).`);
|
|
227
291
|
return result;
|
|
228
292
|
}
|
|
229
293
|
// =============================================================================
|
|
@@ -234,25 +298,33 @@ async function phaseLinkDiscovery(agentId, options) {
|
|
|
234
298
|
console.log(`─────────────────────────────────────────`);
|
|
235
299
|
console.log(`[PHASE 4] Similarity range: ${options.min}–${options.max}`);
|
|
236
300
|
const sql = (0, db_js_1.getSql)();
|
|
237
|
-
|
|
301
|
+
// Fetch both memories and persona traits
|
|
302
|
+
const [sourceMemories, personaTraits] = await sql.begin(async (tx) => {
|
|
238
303
|
await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
|
|
239
|
-
|
|
304
|
+
const memories = await tx `
|
|
240
305
|
SELECT id, content, embedding
|
|
241
306
|
FROM memory_semantic
|
|
242
307
|
WHERE agent_id = ${agentId} AND is_archived = false
|
|
243
308
|
ORDER BY created_at DESC
|
|
244
309
|
LIMIT ${options.scanLimit};
|
|
245
310
|
`;
|
|
311
|
+
const personas = await tx `
|
|
312
|
+
SELECT id, category, content, embedding
|
|
313
|
+
FROM agent_persona
|
|
314
|
+
WHERE agent_id = ${agentId}
|
|
315
|
+
`;
|
|
316
|
+
return [memories, personas];
|
|
246
317
|
});
|
|
247
|
-
if (sourceMemories.length < 2) {
|
|
248
|
-
console.log(`[PHASE 4] Not enough
|
|
318
|
+
if (sourceMemories.length < 2 && personaTraits.length === 0) {
|
|
319
|
+
console.log(`[PHASE 4] Not enough entries for link discovery (${sourceMemories.length} memories, ${personaTraits.length} persona traits).`);
|
|
249
320
|
return 0;
|
|
250
321
|
}
|
|
251
|
-
console.log(`[PHASE 4] Scanning ${sourceMemories.length} memories for link candidates...`);
|
|
322
|
+
console.log(`[PHASE 4] Scanning ${sourceMemories.length} memories + ${personaTraits.length} persona traits for link candidates...`);
|
|
252
323
|
const candidatePairs = [];
|
|
253
324
|
const seenPairs = new Set();
|
|
254
325
|
await sql.begin(async (tx) => {
|
|
255
326
|
await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
|
|
327
|
+
// 1) Memory ↔ Memory candidates (original behavior)
|
|
256
328
|
for (const source of sourceMemories) {
|
|
257
329
|
const candidates = await tx `
|
|
258
330
|
SELECT m.id, m.content, 1 - (m.embedding <=> ${source.embedding}) AS similarity
|
|
@@ -280,8 +352,47 @@ async function phaseLinkDiscovery(agentId, options) {
|
|
|
280
352
|
candidatePairs.push({
|
|
281
353
|
source_id: source.id,
|
|
282
354
|
source_content: source.content,
|
|
355
|
+
source_type: "memory",
|
|
356
|
+
target_id: candidate.id,
|
|
357
|
+
target_content: candidate.content,
|
|
358
|
+
target_type: "memory",
|
|
359
|
+
similarity: candidate.similarity,
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
// 2) Persona ↔ Memory cross-link candidates
|
|
364
|
+
for (const persona of personaTraits) {
|
|
365
|
+
if (!persona.embedding)
|
|
366
|
+
continue; // skip personas without embeddings
|
|
367
|
+
const candidates = await tx `
|
|
368
|
+
SELECT m.id, m.content, 1 - (m.embedding <=> ${persona.embedding}) AS similarity
|
|
369
|
+
FROM memory_semantic m
|
|
370
|
+
WHERE m.agent_id = ${agentId}
|
|
371
|
+
AND m.is_archived = false
|
|
372
|
+
AND 1 - (m.embedding <=> ${persona.embedding}) BETWEEN ${options.min} AND ${options.max}
|
|
373
|
+
AND NOT EXISTS (
|
|
374
|
+
SELECT 1 FROM entity_edges e
|
|
375
|
+
WHERE e.agent_id = ${agentId}
|
|
376
|
+
AND (
|
|
377
|
+
(e.source_persona_id = ${persona.id} AND e.target_memory_id = m.id)
|
|
378
|
+
OR (e.source_memory_id = m.id AND e.target_persona_id = ${persona.id})
|
|
379
|
+
)
|
|
380
|
+
)
|
|
381
|
+
ORDER BY similarity DESC
|
|
382
|
+
LIMIT ${options.candidatesPerMemory};
|
|
383
|
+
`;
|
|
384
|
+
for (const candidate of candidates) {
|
|
385
|
+
const pairKey = [persona.id, candidate.id].sort().join(":");
|
|
386
|
+
if (seenPairs.has(pairKey))
|
|
387
|
+
continue;
|
|
388
|
+
seenPairs.add(pairKey);
|
|
389
|
+
candidatePairs.push({
|
|
390
|
+
source_id: persona.id,
|
|
391
|
+
source_content: `[Persona: ${persona.category}] ${persona.content}`,
|
|
392
|
+
source_type: "persona",
|
|
283
393
|
target_id: candidate.id,
|
|
284
394
|
target_content: candidate.content,
|
|
395
|
+
target_type: "memory",
|
|
285
396
|
similarity: candidate.similarity,
|
|
286
397
|
});
|
|
287
398
|
}
|
|
@@ -291,16 +402,18 @@ async function phaseLinkDiscovery(agentId, options) {
|
|
|
291
402
|
console.log(`[PHASE 4] No new link candidates found.`);
|
|
292
403
|
return 0;
|
|
293
404
|
}
|
|
294
|
-
|
|
405
|
+
const memMemCount = candidatePairs.filter(p => p.source_type === "memory" && p.target_type === "memory").length;
|
|
406
|
+
const crossCount = candidatePairs.length - memMemCount;
|
|
407
|
+
console.log(`[PHASE 4] Found ${candidatePairs.length} candidate pairs (${memMemCount} memory↔memory, ${crossCount} persona↔memory). Classifying relationships...`);
|
|
295
408
|
let linksCreated = 0;
|
|
296
409
|
for (let i = 0; i < candidatePairs.length; i += options.batchSize) {
|
|
297
410
|
const batch = candidatePairs.slice(i, i + options.batchSize);
|
|
298
411
|
const pairsDescription = batch
|
|
299
|
-
.map((p, idx) => `${idx + 1}. [A: ${p.source_id}] "${p.source_content}"\n [B: ${p.target_id}] "${p.target_content}" (similarity: ${(p.similarity * 100).toFixed(1)}%)`)
|
|
412
|
+
.map((p, idx) => `${idx + 1}. [A: ${p.source_type}/${p.source_id}] "${p.source_content}"\n [B: ${p.target_type}/${p.target_id}] "${p.target_content}" (similarity: ${(p.similarity * 100).toFixed(1)}%)`)
|
|
300
413
|
.join("\n\n");
|
|
301
414
|
const systemPrompt = `
|
|
302
415
|
You are a knowledge graph relationship classifier.
|
|
303
|
-
Given pairs of memory entries, classify the relationship between them.
|
|
416
|
+
Given pairs of memory entries and/or persona traits, classify the relationship between them.
|
|
304
417
|
|
|
305
418
|
Valid relationship types:
|
|
306
419
|
- "related_to" — general topical relation
|
|
@@ -308,6 +421,8 @@ Valid relationship types:
|
|
|
308
421
|
- "contradicts" — B conflicts with or corrects A
|
|
309
422
|
- "depends_on" — B depends on knowledge from A
|
|
310
423
|
- "part_of" — B is a component/subset of A
|
|
424
|
+
- "defines" — A (usually a persona trait) defines the context for B (a memory)
|
|
425
|
+
- "supports" — B provides evidence or backing for A
|
|
311
426
|
- "none" — no meaningful relationship worth linking
|
|
312
427
|
|
|
313
428
|
Output EXCLUSIVELY a JSON array of objects:
|
|
@@ -316,13 +431,16 @@ Output EXCLUSIVELY a JSON array of objects:
|
|
|
316
431
|
Use "none" for pairs that don't have a meaningful relationship worth persisting.
|
|
317
432
|
Do not use markdown formatting.
|
|
318
433
|
`;
|
|
319
|
-
const jsonString = await (0, llm_js_1.callLLMviaAgent)(`${systemPrompt}\n\nClassify the relationships between these
|
|
434
|
+
const jsonString = await (0, llm_js_1.callLLMviaAgent)(`${systemPrompt}\n\nClassify the relationships between these pairs:\n\n${pairsDescription}`, agentId);
|
|
320
435
|
let classifications;
|
|
321
436
|
try {
|
|
322
|
-
|
|
437
|
+
const cleanString = extractJsonFromLlmOutput(jsonString);
|
|
438
|
+
classifications = zod_1.z.array(validation_js_1.LinkClassificationSchema).parse(JSON.parse(cleanString));
|
|
323
439
|
}
|
|
324
|
-
catch {
|
|
325
|
-
console.error(
|
|
440
|
+
catch (err) {
|
|
441
|
+
console.error(`\n[PHASE 4] ⚠️ Parsing skipped for batch ${Math.floor(i / options.batchSize) + 1}.`);
|
|
442
|
+
console.error(`[PHASE 4] LLM response could not be parsed as a valid JSON array of relationships.`);
|
|
443
|
+
console.error(`[PHASE 4] Raw LLM Output:\n${jsonString}\n`);
|
|
326
444
|
continue;
|
|
327
445
|
}
|
|
328
446
|
await sql.begin(async (tx) => {
|
|
@@ -330,14 +448,30 @@ Do not use markdown formatting.
|
|
|
330
448
|
for (const cls of classifications) {
|
|
331
449
|
if (cls.relationship === "none" || !cls.relationship)
|
|
332
450
|
continue;
|
|
451
|
+
// Determine which FK columns to populate based on the original pair's types
|
|
452
|
+
const originalPair = batch.find(p => p.source_id === cls.source_id && p.target_id === cls.target_id);
|
|
453
|
+
if (!originalPair)
|
|
454
|
+
continue;
|
|
333
455
|
try {
|
|
334
456
|
await tx `
|
|
335
|
-
INSERT INTO entity_edges (
|
|
336
|
-
|
|
337
|
-
|
|
457
|
+
INSERT INTO entity_edges (
|
|
458
|
+
agent_id,
|
|
459
|
+
source_memory_id, target_memory_id,
|
|
460
|
+
source_persona_id, target_persona_id,
|
|
461
|
+
relationship_type, weight
|
|
462
|
+
) VALUES (
|
|
463
|
+
${agentId},
|
|
464
|
+
${originalPair.source_type === "memory" ? cls.source_id : null},
|
|
465
|
+
${originalPair.target_type === "memory" ? cls.target_id : null},
|
|
466
|
+
${originalPair.source_type === "persona" ? cls.source_id : null},
|
|
467
|
+
${originalPair.target_type === "persona" ? cls.target_id : null},
|
|
468
|
+
${cls.relationship}, ${originalPair.similarity}
|
|
469
|
+
)
|
|
470
|
+
ON CONFLICT DO NOTHING;
|
|
338
471
|
`;
|
|
339
472
|
linksCreated++;
|
|
340
|
-
|
|
473
|
+
const linkLabel = `${originalPair.source_type}/${cls.source_id.substring(0, 8)} → ${originalPair.target_type}/${cls.target_id.substring(0, 8)}`;
|
|
474
|
+
console.log(`[PHASE 4] -> Linked: ${linkLabel} as "${cls.relationship}"`);
|
|
341
475
|
}
|
|
342
476
|
catch (err) {
|
|
343
477
|
console.error(`[PHASE 4] Failed to insert edge: ${err}`);
|
|
@@ -362,9 +496,16 @@ async function runSleepCycle(opts = {}) {
|
|
|
362
496
|
factsExtracted: 0,
|
|
363
497
|
duplicatesMerged: 0,
|
|
364
498
|
staleArchived: 0,
|
|
499
|
+
expiredArchived: 0,
|
|
365
500
|
linksCreated: 0,
|
|
366
501
|
};
|
|
367
502
|
try {
|
|
503
|
+
// Pre-flight check: ensure embedding model matches DB schema
|
|
504
|
+
// If we consolidate with the wrong dimensions, PGVector insertion will crash
|
|
505
|
+
const dimValidation = await (0, db_js_1.validateEmbeddingDimension)(agentId);
|
|
506
|
+
if (!dimValidation.matches) {
|
|
507
|
+
throw new Error(`Dimension mismatch: Model '${dimValidation.model}' provides ${dimValidation.actual} dims, DB expects ${dimValidation.expected}. Aborting sleep cycle to prevent semantic insertion failures.`);
|
|
508
|
+
}
|
|
368
509
|
stats.factsExtracted = await phaseConsolidateEpisodic(agentId, opts.config?.episodicBatchLimit ?? DEFAULT_EPISODIC_BATCH_LIMIT);
|
|
369
510
|
stats.duplicatesMerged = await phaseDuplicateDetection(agentId, {
|
|
370
511
|
threshold: opts.config?.duplicateSimilarityThreshold ?? DEFAULT_DUPLICATE_SIMILARITY_THRESHOLD,
|
|
@@ -385,7 +526,7 @@ async function runSleepCycle(opts = {}) {
|
|
|
385
526
|
console.log(` Sleep Cycle Complete 💤`);
|
|
386
527
|
console.log(` Facts extracted: ${stats.factsExtracted}`);
|
|
387
528
|
console.log(` Duplicates merged: ${stats.duplicatesMerged}`);
|
|
388
|
-
console.log(` Stale
|
|
529
|
+
console.log(` Stale/expired: ${stats.staleArchived} (incl. expired)`);
|
|
389
530
|
console.log(` Links created: ${stats.linksCreated}`);
|
|
390
531
|
console.log(`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n`);
|
|
391
532
|
}
|
|
@@ -401,12 +542,24 @@ let _serviceTimer = null;
|
|
|
401
542
|
function startService(opts = {}) {
|
|
402
543
|
const intervalMs = (opts.intervalHours || DEFAULT_INTERVAL_HOURS) * 60 * 60 * 1000;
|
|
403
544
|
const label = `${opts.intervalHours || DEFAULT_INTERVAL_HOURS}h`;
|
|
404
|
-
console.log(`[SLEEP SERVICE] Started — first cycle in ${label}, then every ${label} for
|
|
545
|
+
console.log(`[SLEEP SERVICE] Started — first cycle in ${label}, then every ${label} for all active agents`);
|
|
405
546
|
// Do NOT run immediately — this blocks plugin install/validation.
|
|
406
547
|
// First cycle fires after the interval elapses.
|
|
407
|
-
_serviceTimer = setInterval(() => {
|
|
408
|
-
console.log(`[SLEEP SERVICE] Interval tick —
|
|
409
|
-
|
|
548
|
+
_serviceTimer = setInterval(async () => {
|
|
549
|
+
console.log(`[SLEEP SERVICE] Interval tick — fetching active agents`);
|
|
550
|
+
try {
|
|
551
|
+
const sql = (0, db_js_1.getSql)();
|
|
552
|
+
const agents = await sql `SELECT id FROM agents`;
|
|
553
|
+
for (const agent of agents) {
|
|
554
|
+
console.log(`[SLEEP SERVICE] Starting cycle for agent="${agent.id}"`);
|
|
555
|
+
// Override opts.agentId for each cycle run so it doesn't default to 'main'
|
|
556
|
+
const agentConfig = await (0, config_js_1.loadConfig)(agent.id);
|
|
557
|
+
await runSleepCycle({ ...opts, agentId: agent.id, config: agentConfig.sleep }).catch((err) => console.error(`[SLEEP SERVICE] Cycle failed for agent="${agent.id}":`, err));
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
catch (err) {
|
|
561
|
+
console.error("[SLEEP SERVICE] Failed to fetch agents or run cycle:", err);
|
|
562
|
+
}
|
|
410
563
|
}, intervalMs);
|
|
411
564
|
}
|
|
412
565
|
function stopService() {
|
|
@@ -427,15 +580,33 @@ if (require.main === module) {
|
|
|
427
580
|
return undefined;
|
|
428
581
|
return args[idx + 1];
|
|
429
582
|
}
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
583
|
+
const specificAgentId = getArg("--agent-id") || args.find((a) => !a.startsWith("--"));
|
|
584
|
+
async function runStandalone() {
|
|
585
|
+
try {
|
|
586
|
+
if (specificAgentId) {
|
|
587
|
+
console.log(`[SLEEP SERVICE] Running manual cycle for specific agent="${specificAgentId}"`);
|
|
588
|
+
const agentConfig = await (0, config_js_1.loadConfig)(specificAgentId);
|
|
589
|
+
await runSleepCycle({ agentId: specificAgentId, config: agentConfig.sleep });
|
|
590
|
+
}
|
|
591
|
+
else {
|
|
592
|
+
console.log(`[SLEEP SERVICE] Running manual cycle for all active agents`);
|
|
593
|
+
const sql = (0, db_js_1.getSql)();
|
|
594
|
+
const agents = await sql `SELECT id FROM agents`;
|
|
595
|
+
for (const agent of agents) {
|
|
596
|
+
console.log(`[SLEEP SERVICE] Starting cycle for agent="${agent.id}"`);
|
|
597
|
+
const agentConfig = await (0, config_js_1.loadConfig)(agent.id);
|
|
598
|
+
await runSleepCycle({ agentId: agent.id, config: agentConfig.sleep }).catch((err) => console.error(`[SLEEP SERVICE] Cycle failed for agent="${agent.id}":`, err));
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
finally {
|
|
603
|
+
(0, db_js_1.getSql)().end();
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
runStandalone().then(() => {
|
|
435
607
|
process.exit(0);
|
|
436
|
-
})
|
|
437
|
-
.
|
|
438
|
-
(0, db_js_1.getSql)().end();
|
|
608
|
+
}).catch((err) => {
|
|
609
|
+
console.error("[SLEEP SERVICE] Standalone run failed:", err);
|
|
439
610
|
process.exit(1);
|
|
440
611
|
});
|
|
441
612
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sleep_cycle.js","sourceRoot":"","sources":["../../scripts/sleep_cycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sleep_cycle.js","sourceRoot":"","sources":["../../scripts/sleep_cycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../services/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE;QACH,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../services/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE;QACH,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,OAAO,EAAE;QACP,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,KAAK,EAAE;QACL,kBAAkB,EAAE,MAAM,CAAC;QAC3B,4BAA4B,EAAE,MAAM,CAAC;QACrC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;QACxB,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,uBAAuB,EAAE,MAAM,CAAC;QAChC,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAMD,eAAO,MAAM,cAAc,EAAE,cA+B5B,CAAC;AAQF,wBAAsB,UAAU,CAAC,OAAO,GAAE,MAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAuClF;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBvF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,MAAe,GAAG,cAAc,CAEzE"}
|
package/dist/services/config.js
CHANGED
|
@@ -13,6 +13,7 @@ exports.DEFAULT_CONFIG = {
|
|
|
13
13
|
semanticLimit: 7,
|
|
14
14
|
linkedSimilarity: 0.8,
|
|
15
15
|
totalLimit: 15,
|
|
16
|
+
maxTraversalDepth: 3,
|
|
16
17
|
},
|
|
17
18
|
persona: {
|
|
18
19
|
situationalLimit: 3,
|
|
@@ -33,29 +34,10 @@ exports.DEFAULT_CONFIG = {
|
|
|
33
34
|
maxCacheSize: 1000,
|
|
34
35
|
},
|
|
35
36
|
prompts: {
|
|
36
|
-
memoryRules:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
- **Retrieval:** Relevant memories (with UUID tags) are auto-injected.
|
|
41
|
-
- **Search:** Use the \`memory_search\` tool when you need to recall facts not in the current context.
|
|
42
|
-
- **Correct/update facts:** Use the \`memory_update\` tool when a fact is incorrect, outdated, or needs to be updated. When using memory_update, ALWAYS assign an appropriate 'tier' and 'category'.
|
|
43
|
-
- **Save new facts:** Use the \`memory_store\` tool when a new fact is learned. When using memory_store, ALWAYS assign an appropriate 'tier' (e.g., 'permanent' for core user identity, 'daily' for current tasks) and 'category'.
|
|
44
|
-
- **Link related memories:** Use the \`memory_link\` tool when two memories are related.`,
|
|
45
|
-
personaRules: `## Persona Management
|
|
46
|
-
You have access to the following tools to manage your persona/identity/rules:
|
|
47
|
-
|
|
48
|
-
- **Retrieval**: Use \`persona_list\` to see all available persona rules or \`persona_get\` for details.
|
|
49
|
-
- **Creation**: Use \`persona_create\` to define a new set of rules or identity markers.
|
|
50
|
-
- **Modification**: Use \`persona_update\` to modify an existing persona rule.
|
|
51
|
-
- **Deletion**: Use \`persona_delete\` to remove a persona rule.`,
|
|
52
|
-
heartbeatRules: `## Autonomous Heartbeats
|
|
53
|
-
OpenClaw provides a native heartbeat loop — never use Linux crontab.
|
|
54
|
-
To schedule background tasks, add a checklist to: {{heartbeatFilePath}}
|
|
55
|
-
On heartbeat poll: read that file. If no pending tasks, reply with ONLY: HEARTBEAT_OK
|
|
56
|
-
|
|
57
|
-
**Always Reply**: ALWAYS conclude your turn with a direct response to the user.`,
|
|
58
|
-
heartbeatFilePath: "/home/cl/.openclaw/workspace/HEARTBEAT.md",
|
|
37
|
+
memoryRules: `You have persistent memory backed by PostgreSQL. Relevant facts are auto-injected into context with UUID tags. Silently save new facts, correct outdated ones, and link related knowledge — never ask permission. Assign appropriate tiers (permanent, stable, daily) and categories when storing.`,
|
|
38
|
+
personaRules: `Your identity rules are automatically injected based on context relevance. You can modify your own persona traits when explicitly asked, but do not mention the persona system unprompted.`,
|
|
39
|
+
heartbeatRules: `Read {{heartbeatFilePath}} if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK..`,
|
|
40
|
+
heartbeatFilePath: "~/.openclaw/workspace/HEARTBEAT.md",
|
|
59
41
|
}
|
|
60
42
|
};
|
|
61
43
|
// =============================================================================
|
|
@@ -65,11 +47,15 @@ let _runtimeConfig = {};
|
|
|
65
47
|
async function loadConfig(agentId = "main") {
|
|
66
48
|
try {
|
|
67
49
|
const sql = (0, db_js_1.getSql)();
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
50
|
+
let rows = [];
|
|
51
|
+
await sql.begin(async (tx) => {
|
|
52
|
+
await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
|
|
53
|
+
rows = await tx `
|
|
54
|
+
SELECT config_key, config_value
|
|
55
|
+
FROM plugin_config
|
|
56
|
+
WHERE agent_id = ${agentId}
|
|
57
|
+
`;
|
|
58
|
+
});
|
|
73
59
|
// Start with a clean deep copy of defaults to prevent mutating the global DEFAULT_CONFIG
|
|
74
60
|
const merged = JSON.parse(JSON.stringify(exports.DEFAULT_CONFIG));
|
|
75
61
|
for (const row of rows) {
|
|
@@ -106,7 +92,7 @@ async function saveConfig(agentId, config) {
|
|
|
106
92
|
for (const [key, value] of Object.entries(config)) {
|
|
107
93
|
await tx `
|
|
108
94
|
INSERT INTO plugin_config (agent_id, config_key, config_value)
|
|
109
|
-
VALUES (${agentId}, ${key}, ${value})
|
|
95
|
+
VALUES (${agentId}, ${key}, ${tx.json(value)})
|
|
110
96
|
ON CONFLICT (agent_id, config_key)
|
|
111
97
|
DO UPDATE SET config_value = EXCLUDED.config_value, updated_at = CURRENT_TIMESTAMP
|
|
112
98
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../services/config.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../services/config.ts"],"names":[],"mappings":"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"}
|
package/dist/services/db.d.ts
CHANGED
|
@@ -21,6 +21,16 @@ export declare function getSql(): ReturnType<typeof postgres>;
|
|
|
21
21
|
* Generate a vector embedding for a given text string via LM Studio.
|
|
22
22
|
*/
|
|
23
23
|
export declare function getEmbedding(text: string): Promise<number[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Validates the currently configured embedding model against the dimensions
|
|
26
|
+
* expected by the Postgres schema for this agent. Returns a compatibility status.
|
|
27
|
+
*/
|
|
28
|
+
export declare function validateEmbeddingDimension(agentId: string): Promise<{
|
|
29
|
+
model: string;
|
|
30
|
+
expected: number;
|
|
31
|
+
actual: number;
|
|
32
|
+
matches: boolean;
|
|
33
|
+
}>;
|
|
24
34
|
/**
|
|
25
35
|
* SHA-256 content hash for deduplication.
|
|
26
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../services/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,eAAe,CAAC;AAQvB,eAAO,IAAI,aAAa,oBAA4B,CAAC;AACrD,eAAO,IAAI,eAAe,oBAA8B,CAAC;AACzD,eAAO,IAAI,eAAe,QAA0E,CAAC;AAErG;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,QAEnC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAI5D;AAQD;;;GAGG;AACH,wBAAgB,MAAM,IAAI,UAAU,CAAC,OAAO,QAAQ,CAAC,CAYpD;AAMD;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../services/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,eAAe,CAAC;AAQvB,eAAO,IAAI,aAAa,oBAA4B,CAAC;AACrD,eAAO,IAAI,eAAe,oBAA8B,CAAC;AACzD,eAAO,IAAI,eAAe,QAA0E,CAAC;AAErG;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,QAEnC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAI5D;AAQD;;;GAGG;AACH,wBAAgB,MAAM,IAAI,UAAU,CAAC,OAAO,QAAQ,CAAC,CAYpD;AAMD;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoClE;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC,CAkCD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|