@christopherlittle51/postclaw 1.3.0 → 1.3.2

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.
Files changed (48) hide show
  1. package/README.md +69 -695
  2. package/dashboard/README.md +89 -0
  3. package/dashboard/public/app.js +903 -542
  4. package/dashboard/public/index.html +184 -73
  5. package/dashboard/public/styles.css +583 -126
  6. package/dist/dashboard/routes/graph.d.ts +2 -2
  7. package/dist/dashboard/routes/graph.d.ts.map +1 -1
  8. package/dist/dashboard/routes/graph.js +61 -23
  9. package/dist/dashboard/routes/graph.js.map +1 -1
  10. package/dist/dashboard/routes/memories.d.ts.map +1 -1
  11. package/dist/dashboard/routes/memories.js +66 -0
  12. package/dist/dashboard/routes/memories.js.map +1 -1
  13. package/dist/dashboard/routes/workspace.d.ts +4 -3
  14. package/dist/dashboard/routes/workspace.d.ts.map +1 -1
  15. package/dist/dashboard/routes/workspace.js +119 -7
  16. package/dist/dashboard/routes/workspace.js.map +1 -1
  17. package/dist/dashboard/server.js +1 -1
  18. package/dist/dashboard/server.js.map +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +84 -27
  21. package/dist/index.js.map +1 -1
  22. package/dist/schemas/validation.d.ts +32 -3
  23. package/dist/schemas/validation.d.ts.map +1 -1
  24. package/dist/schemas/validation.js +22 -4
  25. package/dist/schemas/validation.js.map +1 -1
  26. package/dist/scripts/setup-db.d.ts.map +1 -1
  27. package/dist/scripts/setup-db.js +28 -30
  28. package/dist/scripts/setup-db.js.map +1 -1
  29. package/dist/scripts/sleep_cycle.d.ts +1 -0
  30. package/dist/scripts/sleep_cycle.d.ts.map +1 -1
  31. package/dist/scripts/sleep_cycle.js +114 -21
  32. package/dist/scripts/sleep_cycle.js.map +1 -1
  33. package/dist/services/config.d.ts +1 -0
  34. package/dist/services/config.d.ts.map +1 -1
  35. package/dist/services/config.js +5 -22
  36. package/dist/services/config.js.map +1 -1
  37. package/dist/services/memoryService.d.ts +2 -1
  38. package/dist/services/memoryService.d.ts.map +1 -1
  39. package/dist/services/memoryService.js +90 -24
  40. package/dist/services/memoryService.js.map +1 -1
  41. package/dist/services/personaService.d.ts +25 -0
  42. package/dist/services/personaService.d.ts.map +1 -1
  43. package/dist/services/personaService.js +79 -0
  44. package/dist/services/personaService.js.map +1 -1
  45. package/dist/tests/dashboard-schemas.test.js +71 -1
  46. package/dist/tests/dashboard-schemas.test.js.map +1 -1
  47. package/package.json +1 -1
  48. package/schemas/README.md +64 -0
@@ -43,45 +43,69 @@ async function ensureAgent(agentId, workspaceDir) {
43
43
  async function searchPostgres(agentId, userText, options = {}) {
44
44
  let contextString = null;
45
45
  const semanticLimit = options.semanticLimit ?? 7;
46
- const linkedSimilarity = options.linkedSimilarity ?? 0.8;
47
46
  const totalLimit = options.totalLimit ?? 15;
47
+ const maxDepth = options.maxTraversalDepth ?? 3;
48
48
  try {
49
49
  const embedding = await (0, db_js_1.getEmbedding)(userText);
50
50
  // Note: postgres.js TransactionSql loses call signatures via Omit<Sql, ...>,
51
51
  // so we must use `any` for the tx callback parameter.
52
52
  await (0, db_js_1.getSql)().begin(async (tx) => {
53
53
  await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
54
+ // Recursive CTE: multi-level graph traversal with cycle detection
54
55
  const results = await tx `
55
- WITH semantic_matches AS (
56
+ WITH RECURSIVE semantic_matches AS (
56
57
  SELECT id, content, 1 - (embedding <=> ${JSON.stringify(embedding)}) AS similarity
57
58
  FROM memory_semantic
58
59
  WHERE agent_id = ${agentId} AND is_archived = false
59
60
  ORDER BY similarity DESC
60
61
  LIMIT ${semanticLimit}
61
62
  ),
62
- linked_matches AS (
63
- SELECT m.id, m.content, ${linkedSimilarity}::float8 AS similarity, e.relationship_type, sm.id AS source_match_id
64
- FROM entity_edges e
65
- JOIN memory_semantic m ON (e.target_memory_id = m.id OR e.source_memory_id = m.id)
66
- JOIN semantic_matches sm ON (e.source_memory_id = sm.id OR e.target_memory_id = sm.id)
67
- WHERE e.agent_id = ${agentId} AND m.id != sm.id AND m.is_archived = false
68
- ),
69
- final_matches AS (
70
- SELECT id, content, similarity, NULL as relationship_type FROM semantic_matches
63
+ graph_walk AS (
64
+ -- Base case: direct semantic matches
65
+ SELECT id, content, similarity, NULL::varchar AS relationship_type,
66
+ 0 AS depth, ARRAY[id] AS visited
67
+ FROM semantic_matches
68
+
71
69
  UNION ALL
72
- SELECT id, content, similarity, relationship_type FROM linked_matches
73
- ORDER BY similarity DESC
74
- LIMIT ${totalLimit}
70
+
71
+ -- Recursive step: follow edges up to maxDepth hops
72
+ SELECT m.id, m.content,
73
+ gw.similarity * 0.85 AS similarity,
74
+ e.relationship_type,
75
+ gw.depth + 1 AS depth,
76
+ gw.visited || m.id
77
+ FROM graph_walk gw
78
+ JOIN entity_edges e ON (
79
+ (e.source_memory_id = gw.id OR e.target_memory_id = gw.id)
80
+ AND e.agent_id = ${agentId}
81
+ )
82
+ JOIN memory_semantic m ON (
83
+ m.id = CASE
84
+ WHEN e.source_memory_id = gw.id THEN e.target_memory_id
85
+ ELSE e.source_memory_id
86
+ END
87
+ )
88
+ WHERE gw.depth < ${maxDepth}
89
+ AND m.is_archived = false
90
+ AND m.id != ALL(gw.visited)
91
+ ),
92
+ deduped AS (
93
+ SELECT DISTINCT ON (id) id, content, similarity, relationship_type, depth
94
+ FROM graph_walk
95
+ ORDER BY id, similarity DESC
75
96
  )
76
- SELECT * FROM final_matches;
97
+ SELECT id, content, similarity, relationship_type, depth
98
+ FROM deduped
99
+ ORDER BY similarity DESC
100
+ LIMIT ${totalLimit};
77
101
  `;
78
- console.log(`[SEARCH] Query returned ${results.length} row(s) for agent=${agentId}`);
102
+ console.log(`[SEARCH] Query returned ${results.length} row(s) for agent=${agentId} (max depth ${maxDepth})`);
79
103
  if (results.length > 0) {
80
104
  contextString = results
81
105
  .map((r) => {
82
106
  const pct = (r.similarity * 100).toFixed(1) + "%";
83
107
  const label = r.relationship_type
84
- ? `Linked: ${r.relationship_type}, ${pct}`
108
+ ? `Linked[${r.depth}]: ${r.relationship_type}, ${pct}`
85
109
  : pct;
86
110
  return `[ID: ${r.id}] (${label}) - ${r.content}`;
87
111
  })
@@ -317,24 +341,66 @@ async function updateMemory(agentId, oldMemoryId, newFact, options = {}) {
317
341
  // MEMORY LINK (replaces db-memory-link skill)
318
342
  // =============================================================================
319
343
  /**
320
- * Create a directed edge between two memories in the knowledge graph.
344
+ * Create a directed edge between two memories or personas in the knowledge graph.
321
345
  */
322
346
  async function linkMemories(agentId, sourceId, targetId, relationship) {
323
347
  try {
348
+ const isUuid = (uuid) => /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(uuid);
349
+ if (!isUuid(sourceId) || !isUuid(targetId)) {
350
+ console.warn(`[GRAPH] Invalid UUID provided for link: ${sourceId} -> ${targetId}`);
351
+ return { status: "error: invalid UUID format" };
352
+ }
353
+ if (sourceId === targetId) {
354
+ return { status: "error: cannot link an entity to itself" };
355
+ }
324
356
  await (0, db_js_1.getSql)().begin(async (tx) => {
325
357
  await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
326
- await tx `
327
- INSERT INTO entity_edges (agent_id, source_memory_id, target_memory_id, relationship_type, weight)
328
- VALUES (${agentId}, ${sourceId}, ${targetId}, ${relationship}, 1.0)
329
- ON CONFLICT (source_memory_id, target_memory_id, relationship_type) DO NOTHING;
358
+ // Identify source type
359
+ const srcMem = await tx `SELECT id FROM memory_semantic WHERE id = ${sourceId}`;
360
+ const srcPer = await tx `SELECT id FROM agent_persona WHERE id = ${sourceId}`;
361
+ const sourceCol = srcMem.length > 0 ? 'source_memory_id' : (srcPer.length > 0 ? 'source_persona_id' : null);
362
+ // Identify target type
363
+ const tgtMem = await tx `SELECT id FROM memory_semantic WHERE id = ${targetId}`;
364
+ const tgtPer = await tx `SELECT id FROM agent_persona WHERE id = ${targetId}`;
365
+ const targetCol = tgtMem.length > 0 ? 'target_memory_id' : (tgtPer.length > 0 ? 'target_persona_id' : null);
366
+ if (!sourceCol) {
367
+ throw new Error(`Source ID ${sourceId} not found in memories or personas.`);
368
+ }
369
+ if (!targetCol) {
370
+ throw new Error(`Target ID ${targetId} not found in memories or personas.`);
371
+ }
372
+ // Check if edge already exists (since ON CONFLICT only fully covers source_memory_id + target_memory_id)
373
+ const existing = await tx `
374
+ SELECT id FROM entity_edges
375
+ WHERE agent_id = ${agentId}
376
+ AND (${sourceCol === 'source_memory_id' ? tx `source_memory_id = ${sourceId}` : tx `source_persona_id = ${sourceId}`})
377
+ AND (${targetCol === 'target_memory_id' ? tx `target_memory_id = ${targetId}` : tx `target_persona_id = ${targetId}`})
378
+ AND relationship_type = ${relationship}
379
+ LIMIT 1
330
380
  `;
381
+ if (existing.length === 0) {
382
+ // Insert it dynamically
383
+ if (sourceCol === 'source_memory_id' && targetCol === 'target_memory_id') {
384
+ await tx `INSERT INTO entity_edges (agent_id, source_memory_id, target_memory_id, relationship_type, weight) VALUES (${agentId}, ${sourceId}, ${targetId}, ${relationship}, 1.0) ON CONFLICT (source_memory_id, target_memory_id, relationship_type) DO NOTHING`;
385
+ }
386
+ else if (sourceCol === 'source_memory_id' && targetCol === 'target_persona_id') {
387
+ await tx `INSERT INTO entity_edges (agent_id, source_memory_id, target_persona_id, relationship_type, weight) VALUES (${agentId}, ${sourceId}, ${targetId}, ${relationship}, 1.0)`;
388
+ }
389
+ else if (sourceCol === 'source_persona_id' && targetCol === 'target_memory_id') {
390
+ await tx `INSERT INTO entity_edges (agent_id, source_persona_id, target_memory_id, relationship_type, weight) VALUES (${agentId}, ${sourceId}, ${targetId}, ${relationship}, 1.0)`;
391
+ }
392
+ else {
393
+ await tx `INSERT INTO entity_edges (agent_id, source_persona_id, target_persona_id, relationship_type, weight) VALUES (${agentId}, ${sourceId}, ${targetId}, ${relationship}, 1.0)`;
394
+ }
395
+ }
331
396
  });
332
397
  console.log(`[GRAPH] Linked ${sourceId.substring(0, 8)} → ${targetId.substring(0, 8)} as "${relationship}"`);
333
398
  return { status: "linked" };
334
399
  }
335
400
  catch (err) {
336
- console.error("[GRAPH] Failed to link:", err);
337
- return { status: `error: ${err}` };
401
+ const msg = err instanceof Error ? err.message : String(err);
402
+ console.error("[GRAPH] Failed to link:", msg);
403
+ return { status: `error: ${msg}` };
338
404
  }
339
405
  }
340
406
  //# sourceMappingURL=memoryService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoryService.js","sourceRoot":"","sources":["../../services/memoryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryService.js","sourceRoot":"","sources":["../../services/memoryService.ts"],"names":[],"mappings":";;AAiBA,kCAeC;AAUD,wCA+FC;AASD,8CA6BC;AAKD,kDAgCC;AASD,kDAuDC;AASD,kCA8CC;AAUD,oCAkDC;AASD,oCAoEC;AApdD,mCAA6E;AAC7E,6BAAwB;AACxB,4DAOkC;AAElC,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEpC,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,YAAqB;IACtE,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,cAAM,GAAE,CAAC;QACrB,MAAM,GAAG,CAAA;;gBAEG,OAAO,KAAK,OAAO,KAAK,YAAY,IAAI,IAAI;;;;KAIvD,CAAC;QACF,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,oCAAoC;AACpC,gFAAgF;AAEhF;;;GAGG;AACI,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,QAAgB,EAChB,UAAkH,EAAE;IAEpH,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;QAE/C,6EAA6E;QAC7E,sDAAsD;QACtD,MAAM,IAAA,cAAM,GAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;YACrC,MAAM,EAAE,CAAA,6CAA6C,OAAO,SAAS,CAAC;YAEtE,kEAAkE;YAClE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAA;;mDAEqB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;6BAE/C,OAAO;;kBAElB,aAAa;;;;;;;;;;;;;;;;;;;+BAmBA,OAAO;;;;;;;;6BAQT,QAAQ;;;;;;;;;;;;gBAYrB,UAAU;OACnB,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,MAAM,qBAAqB,OAAO,eAAe,QAAQ,GAAG,CAAC,CAAC;YAE7G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,aAAa,GAAI,OAAmD;qBACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBAClD,MAAM,KAAK,GAAG,CAAC,CAAC,iBAAiB;wBAC/B,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,iBAAiB,KAAK,GAAG,EAAE;wBACtD,CAAC,CAAC,GAAG,CAAC;oBACR,OAAO,QAAQ,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;gBACnD,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEd,0BAA0B;gBAC1B,MAAM,YAAY,GAAI,OAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrE,MAAM,EAAE,CAAA;;;;wBAIQ,IAAA,cAAM,GAAE,CAAC,YAAY,CAAC;SACrC,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,OAAe,EACrD,IAAY,EACZ,SAAmB,EACnB,YAAoB,aAAa;IAEjC,IAAI,CAAC;QACH,gEAAgE;QAChE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,uBAAe,IAAI,wCAAwC,CAAC;QAE9E,MAAM,IAAA,cAAM,GAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;YACrC,MAAM,EAAE,CAAA,6CAA6C,OAAO,SAAS,CAAC;YAEtE,MAAM,EAAE,CAAA;;;;YAIF,OAAO,uBAAuB,IAAI,KAAK,SAAS;YAChD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,SAAS;;OAE5C,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,4BAA4B,SAAS,GAAG,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CAAC,OAAe,EACvD,UAAkB,EAClB,QAAgB,EAChB,QAAgB,EAChB,SAAmB;IAEnB,MAAM,OAAO,GAAG,wBAAwB,QAAQ,oBAAoB,QAAQ,EAAE,CAAC;IAE/E,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iDAAiD,OAAO,EAAE,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,uBAAe,IAAI,wCAAwC,CAAC;QAE9E,MAAM,IAAA,cAAM,GAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;YACrC,MAAM,EAAE,CAAA,6CAA6C,OAAO,SAAS,CAAC;YAEtE,MAAM,EAAE,CAAA;;;;YAIF,OAAO,uBAAuB,OAAO;YACrC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,SAAS;YACvC,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;;OAEtE,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,0CAA0C,QAAQ,GAAG,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;GAEG;AACI,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,SAA0B,EAC1B,UAAyC,EAAE;IAE3C,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,IAAA,cAAM,GAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;YACrC,MAAM,EAAE,CAAA,6CAA6C,OAAO,SAAS,CAAC;YAEtE,IAAI,OAAO,CAAC;YAEZ,IAAI,SAAS,EAAE,CAAC;gBACd,qDAAqD;gBACrD,OAAO,GAAG,MAAM,EAAE,CAAA;;;;;;;2DAOiC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;qCAG/C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;oBAC1C,gBAAgB;;;;;;SAM3B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,OAAO,GAAG,MAAM,EAAE,CAAA;;;;;SAKjB,CAAC;YACJ,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,cAAc,GAAI,OAAwB;qBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;qBACjD,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,gFAAgF;AAChF,gDAAgD;AAChD,gEAAgE;AAEhE;;GAEG;AACI,KAAK,UAAU,WAAW,CAAC,OAAe,EAC/C,OAAe,EACf,QAAyC,SAAS,EAClD,UAAyB,EAAE;IAE3B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,sCAAsB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAEnI,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEnD,MAAM,MAAM,GAAG,MAAM,IAAA,cAAM,GAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;YACpD,MAAM,EAAE,CAAA,6CAA6C,OAAO,SAAS,CAAC;YAEtE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAA;;;;;YAKf,OAAO,KAAK,KAAK,KAAK,OAAO,KAAK,WAAW;YAC7C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,uBAAe;YAC7C,SAAS,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,KAAK,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK;YACnK,SAAS,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,GAAG,KAAK,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,OAAO,EAAE,gBAAgB,IAAI,GAAG;YAClK,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;;;;OAI9H,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;YAC1E,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YACzD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,GAAG,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACzD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;QAC1D,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,kDAAkD;AAClD,gFAAgF;AAEhF;;;GAGG;AACI,KAAK,UAAU,YAAY,CAAC,OAAe,EAChD,WAAmB,EACnB,OAAe,EACf,UAAyB,EAAE;IAE3B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,uCAAuB,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAE1I,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEnD,MAAM,MAAM,GAAG,MAAM,IAAA,cAAM,GAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;YACpD,MAAM,EAAE,CAAA,6CAA6C,OAAO,SAAS,CAAC;YAEtE,uBAAuB;YACvB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAA;;;;;YAKjB,OAAO,eAAe,SAAS,CAAC,OAAO,KAAK,WAAW;YACvD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,uBAAe;YAC7C,SAAS,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,KAAK,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK;YACnK,SAAS,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,GAAG,KAAK,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,OAAO,EAAE,gBAAgB,IAAI,GAAG;YAClK,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;;;OAG9H,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAE3B,2BAA2B;YAC3B,MAAM,EAAE,CAAA;;kDAEoC,KAAK;qBAClC,SAAS,CAAC,WAAW,mBAAmB,OAAO;OAC7D,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,0BAA0B,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,4BAA4B,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACvH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,GAAG,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YACzD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;QAC7D,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;QACjD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC;IAClD,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,8CAA8C;AAC9C,gFAAgF;AAEhF;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,OAAe,EAChD,QAAgB,EAChB,QAAgB,EAChB,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,iEAAiE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9G,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,2CAA2C,QAAQ,OAAO,QAAQ,EAAE,CAAC,CAAC;YACnF,OAAO,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;QAClD,CAAC;QAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;QAC9D,CAAC;QAED,MAAM,IAAA,cAAM,GAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;YACrC,MAAM,EAAE,CAAA,6CAA6C,OAAO,SAAS,CAAC;YAEtE,uBAAuB;YACvB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAA,6CAA6C,QAAQ,EAAE,CAAC;YAC/E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAA,2CAA2C,QAAQ,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE5G,uBAAuB;YACvB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAA,6CAA6C,QAAQ,EAAE,CAAC;YAC/E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAA,2CAA2C,QAAQ,EAAE,CAAC;YAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE5G,IAAI,CAAC,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,qCAAqC,CAAC,CAAC;YAC/E,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,qCAAqC,CAAC,CAAC;YAC/E,CAAC;YAED,yGAAyG;YACzG,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAA;;2BAEJ,OAAO;iBACjB,SAAS,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAA,sBAAsB,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA,uBAAuB,QAAQ,EAAE;iBAC3G,SAAS,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAA,sBAAsB,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA,uBAAuB,QAAQ,EAAE;oCACxF,YAAY;;OAEzC,CAAC;YAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,wBAAwB;gBACxB,IAAI,SAAS,KAAK,kBAAkB,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;oBACzE,MAAM,EAAE,CAAA,8GAA8G,OAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK,YAAY,uFAAuF,CAAC;gBAClQ,CAAC;qBAAM,IAAI,SAAS,KAAK,kBAAkB,IAAI,SAAS,KAAK,mBAAmB,EAAE,CAAC;oBACjF,MAAM,EAAE,CAAA,+GAA+G,OAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK,YAAY,QAAQ,CAAC;gBACpL,CAAC;qBAAM,IAAI,SAAS,KAAK,mBAAmB,IAAI,SAAS,KAAK,kBAAkB,EAAE,CAAC;oBACjF,MAAM,EAAE,CAAA,+GAA+G,OAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK,YAAY,QAAQ,CAAC;gBACpL,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,CAAA,gHAAgH,OAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK,YAAY,QAAQ,CAAC;gBACrL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,YAAY,GAAG,CAAC,CAAC;QAC7G,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC;IACrC,CAAC;AACH,CAAC"}
@@ -19,4 +19,29 @@ export declare function getPersona(agentId: string, personaId: string): Promise<
19
19
  export declare function createPersona(agentId: string, data: PersonaCreate): Promise<PersonaEntry>;
20
20
  export declare function updatePersona(agentId: string, personaId: string, data: PersonaUpdate): Promise<PersonaEntry | null>;
21
21
  export declare function deletePersona(agentId: string, personaId: string): Promise<boolean>;
22
+ export interface PersonaLink {
23
+ id: string;
24
+ persona_id: string;
25
+ memory_id: string;
26
+ persona_category: string;
27
+ memory_content: string;
28
+ relationship_type: string;
29
+ weight: number;
30
+ created_at: string;
31
+ }
32
+ /**
33
+ * Link a persona trait to a memory via entity_edges.
34
+ */
35
+ export declare function linkPersonaToMemory(agentId: string, personaId: string, memoryId: string, relationship: string, weight?: number): Promise<{
36
+ id: string | null;
37
+ status: string;
38
+ }>;
39
+ /**
40
+ * Remove a persona↔memory link.
41
+ */
42
+ export declare function unlinkPersonaFromMemory(agentId: string, edgeId: string): Promise<boolean>;
43
+ /**
44
+ * Get all edges connected to a persona trait.
45
+ */
46
+ export declare function getPersonaLinks(agentId: string, personaId: string): Promise<PersonaLink[]>;
22
47
  //# sourceMappingURL=personaService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"personaService.d.ts","sourceRoot":"","sources":["../../services/personaService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAMlC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgB3E;AAMD,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAejG;AAMD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,YAAY,CAAC,CA0BvB;AAMD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAuC9B;AAMD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBxF"}
1
+ {"version":3,"file":"personaService.d.ts","sourceRoot":"","sources":["../../services/personaService.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAMlC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgB3E;AAMD,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAejG;AAMD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,YAAY,CAAC,CA0BvB;AAMD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAuC9B;AAMD,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBxF;AAMD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,GAAE,MAAY,GACnB,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBhD;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,EAAE,CAAC,CAqBxB"}
@@ -11,6 +11,9 @@ exports.getPersona = getPersona;
11
11
  exports.createPersona = createPersona;
12
12
  exports.updatePersona = updatePersona;
13
13
  exports.deletePersona = deletePersona;
14
+ exports.linkPersonaToMemory = linkPersonaToMemory;
15
+ exports.unlinkPersonaFromMemory = unlinkPersonaFromMemory;
16
+ exports.getPersonaLinks = getPersonaLinks;
14
17
  const db_js_1 = require("./db.js");
15
18
  const validation_js_1 = require("../schemas/validation.js");
16
19
  // =============================================================================
@@ -145,4 +148,80 @@ async function deletePersona(agentId, personaId) {
145
148
  throw err;
146
149
  }
147
150
  }
151
+ /**
152
+ * Link a persona trait to a memory via entity_edges.
153
+ */
154
+ async function linkPersonaToMemory(agentId, personaId, memoryId, relationship, weight = 1.0) {
155
+ try {
156
+ const rows = await (0, db_js_1.getSql)().begin(async (tx) => {
157
+ await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
158
+ return await tx `
159
+ INSERT INTO entity_edges (
160
+ agent_id, source_persona_id, target_memory_id, relationship_type, weight
161
+ ) VALUES (
162
+ ${agentId}, ${personaId}, ${memoryId}, ${relationship}, ${weight}
163
+ )
164
+ ON CONFLICT DO NOTHING
165
+ RETURNING id
166
+ `;
167
+ });
168
+ if (rows.length === 0) {
169
+ return { id: null, status: "already_exists" };
170
+ }
171
+ console.log(`[PERSONA] Linked persona ${personaId.substring(0, 8)} → memory ${memoryId.substring(0, 8)}`);
172
+ return { id: rows[0].id, status: "linked" };
173
+ }
174
+ catch (err) {
175
+ console.error("[PERSONA] Link failed:", err);
176
+ return { id: null, status: `error: ${err}` };
177
+ }
178
+ }
179
+ /**
180
+ * Remove a persona↔memory link.
181
+ */
182
+ async function unlinkPersonaFromMemory(agentId, edgeId) {
183
+ try {
184
+ const rows = await (0, db_js_1.getSql)().begin(async (tx) => {
185
+ await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
186
+ return await tx `
187
+ DELETE FROM entity_edges
188
+ WHERE id = ${edgeId}
189
+ AND agent_id = ${agentId}
190
+ AND (source_persona_id IS NOT NULL OR target_persona_id IS NOT NULL)
191
+ RETURNING id
192
+ `;
193
+ });
194
+ return rows.length > 0;
195
+ }
196
+ catch (err) {
197
+ console.error("[PERSONA] Unlink failed:", err);
198
+ throw err;
199
+ }
200
+ }
201
+ /**
202
+ * Get all edges connected to a persona trait.
203
+ */
204
+ async function getPersonaLinks(agentId, personaId) {
205
+ try {
206
+ const rows = await (0, db_js_1.getSql)().begin(async (tx) => {
207
+ await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
208
+ return await tx `
209
+ SELECT e.id, e.source_persona_id AS persona_id, e.target_memory_id AS memory_id,
210
+ p.category AS persona_category, m.content AS memory_content,
211
+ e.relationship_type, e.weight, e.created_at
212
+ FROM entity_edges e
213
+ LEFT JOIN agent_persona p ON e.source_persona_id = p.id
214
+ LEFT JOIN memory_semantic m ON e.target_memory_id = m.id
215
+ WHERE e.agent_id = ${agentId}
216
+ AND (e.source_persona_id = ${personaId} OR e.target_persona_id = ${personaId})
217
+ ORDER BY e.created_at DESC
218
+ `;
219
+ });
220
+ return rows;
221
+ }
222
+ catch (err) {
223
+ console.error("[PERSONA] Get links failed:", err);
224
+ throw err;
225
+ }
226
+ }
148
227
  //# sourceMappingURL=personaService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"personaService.js","sourceRoot":"","sources":["../../services/personaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"personaService.js","sourceRoot":"","sources":["../../services/personaService.ts"],"names":[],"mappings":"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"}
@@ -115,7 +115,7 @@ const validation_js_1 = require("../schemas/validation.js");
115
115
  // GRAPH SCHEMA
116
116
  // =============================================================================
117
117
  (0, vitest_1.describe)("GraphEdgeCreateSchema", () => {
118
- (0, vitest_1.it)("accepts valid edge", () => {
118
+ (0, vitest_1.it)("accepts valid memory-to-memory edge", () => {
119
119
  const result = validation_js_1.GraphEdgeCreateSchema.parse({
120
120
  source_memory_id: "a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
121
121
  target_memory_id: "f1e2d3c4-b5a6-4a5b-8c9d-0e1f2a3b4c5d",
@@ -123,6 +123,19 @@ const validation_js_1 = require("../schemas/validation.js");
123
123
  });
124
124
  (0, vitest_1.expect)(result.weight).toBe(1.0);
125
125
  });
126
+ (0, vitest_1.it)("accepts persona-to-memory edge", () => {
127
+ const result = validation_js_1.GraphEdgeCreateSchema.parse({
128
+ source_persona_id: "a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
129
+ target_memory_id: "f1e2d3c4-b5a6-4a5b-8c9d-0e1f2a3b4c5d",
130
+ relationship_type: "defines",
131
+ });
132
+ (0, vitest_1.expect)(result.source_persona_id).toBe("a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d");
133
+ });
134
+ (0, vitest_1.it)("rejects edge with no source or target", () => {
135
+ (0, vitest_1.expect)(() => validation_js_1.GraphEdgeCreateSchema.parse({
136
+ relationship_type: "related_to",
137
+ })).toThrow();
138
+ });
126
139
  (0, vitest_1.it)("rejects invalid UUID", () => {
127
140
  (0, vitest_1.expect)(() => validation_js_1.GraphEdgeCreateSchema.parse({
128
141
  source_memory_id: "not-a-uuid",
@@ -168,4 +181,61 @@ const validation_js_1 = require("../schemas/validation.js");
168
181
  (0, vitest_1.expect)(() => validation_js_1.MemoryListQuerySchema.parse({ limit: "501" })).toThrow();
169
182
  });
170
183
  });
184
+ // =============================================================================
185
+ // NEW: PERSONA EDGE & WORKSPACE IMPORT SCHEMAS
186
+ // =============================================================================
187
+ (0, vitest_1.describe)("PersonaEdgeCreateSchema", () => {
188
+ (0, vitest_1.it)("accepts valid persona-memory link", () => {
189
+ const result = validation_js_1.PersonaEdgeCreateSchema.parse({
190
+ persona_id: "a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
191
+ memory_id: "f1e2d3c4-b5a6-4a5b-8c9d-0e1f2a3b4c5d",
192
+ relationship_type: "defines",
193
+ });
194
+ (0, vitest_1.expect)(result.weight).toBe(1.0);
195
+ (0, vitest_1.expect)(result.relationship_type).toBe("defines");
196
+ });
197
+ (0, vitest_1.it)("rejects invalid persona UUID", () => {
198
+ (0, vitest_1.expect)(() => validation_js_1.PersonaEdgeCreateSchema.parse({
199
+ persona_id: "not-valid",
200
+ memory_id: "f1e2d3c4-b5a6-4a5b-8c9d-0e1f2a3b4c5d",
201
+ relationship_type: "supports",
202
+ })).toThrow();
203
+ });
204
+ (0, vitest_1.it)("rejects missing relationship", () => {
205
+ (0, vitest_1.expect)(() => validation_js_1.PersonaEdgeCreateSchema.parse({
206
+ persona_id: "a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
207
+ memory_id: "f1e2d3c4-b5a6-4a5b-8c9d-0e1f2a3b4c5d",
208
+ })).toThrow();
209
+ });
210
+ });
211
+ (0, vitest_1.describe)("WorkspaceImportSchema", () => {
212
+ (0, vitest_1.it)("accepts valid persona import", () => {
213
+ const result = validation_js_1.WorkspaceImportSchema.parse({
214
+ filename: "SOUL.md",
215
+ target: "persona",
216
+ });
217
+ (0, vitest_1.expect)(result.tier).toBe("stable");
218
+ (0, vitest_1.expect)(result.target).toBe("persona");
219
+ });
220
+ (0, vitest_1.it)("accepts valid memory import with tier", () => {
221
+ const result = validation_js_1.WorkspaceImportSchema.parse({
222
+ filename: "notes.md",
223
+ target: "memory",
224
+ tier: "permanent",
225
+ });
226
+ (0, vitest_1.expect)(result.tier).toBe("permanent");
227
+ });
228
+ (0, vitest_1.it)("rejects invalid target", () => {
229
+ (0, vitest_1.expect)(() => validation_js_1.WorkspaceImportSchema.parse({
230
+ filename: "test.md",
231
+ target: "invalid",
232
+ })).toThrow();
233
+ });
234
+ (0, vitest_1.it)("rejects empty filename", () => {
235
+ (0, vitest_1.expect)(() => validation_js_1.WorkspaceImportSchema.parse({
236
+ filename: "",
237
+ target: "persona",
238
+ })).toThrow();
239
+ });
240
+ });
171
241
  //# sourceMappingURL=dashboard-schemas.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-schemas.test.js","sourceRoot":"","sources":["../../tests/dashboard-schemas.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-schemas.test.js","sourceRoot":"","sources":["../../tests/dashboard-schemas.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christopherlittle51/postclaw",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "OpenClaw native plugin for PostgreSQL-backed RAG, memory, and persona management",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,64 @@
1
+ # PostClaw Schemas Validation
2
+
3
+ ## Overview
4
+
5
+ The `schemas/` directory, centered around `validation.ts`, acts as the data bodyguard for the entire PostClaw architecture.
6
+
7
+ When dealing with artificial intelligence, outputs can be unpredictable. An LLM might hallucinate a new category of memory, or forget to include a required ID when trying to update a fact. To prevent these AI errors from crashing the database or corrupting your agent's memory, PostClaw uses **Zod**, a TypeScript-first schema validation library.
8
+
9
+ ---
10
+
11
+ ## 1. Database Row Validation
12
+
13
+ Before PostClaw trusts data coming from PostgreSQL, it runs it through a Zod schema to guarantee the shape and types.
14
+
15
+ * **`MemorySemanticRow` & `EpisodicRow`:** Ensures that every memory fetched from the database has a valid UUID (not just a random string), a proper JavaScript `Date` object for timestamps, and an authorized category (e.g., `core`, `concept`, `human`).
16
+ * **Why it matters:** This prevents runtime `undefined` errors if you manually alter the database outside of the plugin and accidentally create a malformed row.
17
+
18
+ ## 2. Agent Tool Guardrails
19
+
20
+ OpenClaw allows agents to call "Tools" (functions) to perform actions like saving or modifying a memory. The schemas in this file strictly govern what the agent is allowed to pass to those tools.
21
+
22
+ * **`MemoryStoreSchema`:** When the agent calls `memory_store`, Zod enforces that the `content` is a string, and that the `tier` parameter is explicitly either `"permanent"`, `"session"`, or `"temporary"`. If the AI tries to use a tier like `"forever"`, the schema rejects it and returns a clean error to the LLM, prompting it to try again with the correct format.
23
+ * **`MemoryUpdateSchema`:** Enforces that the agent provides a valid UUID when attempting to supersede an old memory.
24
+
25
+ ## 3. Sleep Cycle JSON Parsing
26
+
27
+ During the automated background maintenance (the sleep cycle), PostClaw asks the LLM to process thousands of words and return a compressed, structured JSON object outlining duplicate memories or new facts.
28
+
29
+ * **`EpisodicSummarySchema` & `ConsolidationEvaluationSchema`:** These schemas define the exact JSON format the LLM must return. If the LLM returns an array instead of an object, or forgets to include an `isDuplicate` boolean flag, Zod catches the error instantly.
30
+ * **Why it matters:** This is the most common point of failure for smaller LLMs. Without strict validation, bad JSON would break the parsing logic and silently fail to consolidate memories.
31
+
32
+ ---
33
+
34
+ ## Troubleshooting Guide
35
+
36
+ ### "Validation failed" or "ZodError" in Agent Logs
37
+
38
+ If you see a `ZodError` printed in your terminal while the agent is "thinking," it means the agent attempted to use a memory tool incorrectly.
39
+
40
+ * **Fix:** You generally don't need to do anything. OpenClaw automatically feeds the Zod error back to the LLM, which acts as a correction mechanism, teaching the AI how to fix its own formatting error on the next attempt. However, if the agent persistently fails over multiple turns, your primary LLM might be too weak to follow complex JSON instructions.
41
+
42
+ ### Sleep Cycle: "Failed to parse LLM response for batch"
43
+
44
+ The background sleep script (e.g., Phase I or Phase IV) skipped a batch of memories because the LLM failed to match the `EpisodicSummarySchema`.
45
+
46
+ * **Fix:** The LLM you are using (e.g., through Ollama or LM Studio) likely included conversational text (like "Here is the JSON you requested:") or markdown formatting (` ```json ` tags) that breaks raw JSON parsing before Zod can even validate it. Switch to a stronger model (like Llama 3 or Qwen) or ensure your LLM prompt template enforces strict JSON-only outputs.
47
+
48
+ ### UUID Validation Failures
49
+
50
+ If the dashboard or manual scripts throw an error about an invalid UUID, a function received a plain string instead of a true Database ID.
51
+
52
+ * **Fix:** Ensure any manual IDs you provide (such as when testing API routes or using the CLI) are formatted as standard 36-character `v4` UUIDs (e.g., `123e4567-e89b-12d3-a456-426614174000`). Zod intrinsically blocks unstructured strings.
53
+
54
+ ### "Invalid Enum Value" during Memory Storage
55
+
56
+ If the agent attempts to save a new memory and the terminal throws an error stating `Received: 'critical' - Expected: 'permanent' | 'session' | 'temporary'`.
57
+
58
+ * **Fix:** The LLM hallucinated a memory tier or category that doesn't strictly exist within the plugin's Zod definitions. The agent must stick strictly to the enumerated values defined in `MemoryStoreSchema`. OpenClaw automatically reflects this error back to the LLM so it can correct its mistake on a retry.
59
+
60
+ ### Date Object Parsing Errors
61
+
62
+ When the plugin pulls data from the PostgreSQL `memory_episodic` table using the `EpisodicRow` schema, Zod expects valid JavaScript Date objects for timestamps, not raw ISO strings.
63
+
64
+ * **Fix:** If you are building custom manual scripts interacting directly with the database rows, ensure you are utilizing `postgres.js`'s built-in date parsing or manually hydrating your JSON returns into Date objects before passing them into the Zod validator.