@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.
Files changed (66) hide show
  1. package/README.md +76 -690
  2. package/dashboard/README.md +89 -0
  3. package/dashboard/public/app.js +1023 -543
  4. package/dashboard/public/index.html +283 -75
  5. package/dashboard/public/styles.css +583 -126
  6. package/dist/dashboard/routes/config.d.ts.map +1 -1
  7. package/dist/dashboard/routes/config.js +17 -1
  8. package/dist/dashboard/routes/config.js.map +1 -1
  9. package/dist/dashboard/routes/graph.d.ts +2 -2
  10. package/dist/dashboard/routes/graph.d.ts.map +1 -1
  11. package/dist/dashboard/routes/graph.js +61 -23
  12. package/dist/dashboard/routes/graph.js.map +1 -1
  13. package/dist/dashboard/routes/memories.d.ts.map +1 -1
  14. package/dist/dashboard/routes/memories.js +97 -11
  15. package/dist/dashboard/routes/memories.js.map +1 -1
  16. package/dist/dashboard/routes/scripts.d.ts.map +1 -1
  17. package/dist/dashboard/routes/scripts.js +3 -1
  18. package/dist/dashboard/routes/scripts.js.map +1 -1
  19. package/dist/dashboard/routes/workspace.d.ts +4 -3
  20. package/dist/dashboard/routes/workspace.d.ts.map +1 -1
  21. package/dist/dashboard/routes/workspace.js +119 -7
  22. package/dist/dashboard/routes/workspace.js.map +1 -1
  23. package/dist/dashboard/server.js +1 -1
  24. package/dist/dashboard/server.js.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +189 -43
  28. package/dist/index.js.map +1 -1
  29. package/dist/schemas/validation.d.ts +108 -12
  30. package/dist/schemas/validation.d.ts.map +1 -1
  31. package/dist/schemas/validation.js +66 -11
  32. package/dist/schemas/validation.js.map +1 -1
  33. package/dist/scripts/bootstrap_persona.d.ts.map +1 -1
  34. package/dist/scripts/bootstrap_persona.js +3 -3
  35. package/dist/scripts/bootstrap_persona.js.map +1 -1
  36. package/dist/scripts/setup-db.d.ts.map +1 -1
  37. package/dist/scripts/setup-db.js +74 -37
  38. package/dist/scripts/setup-db.js.map +1 -1
  39. package/dist/scripts/sleep_cycle.d.ts +1 -0
  40. package/dist/scripts/sleep_cycle.d.ts.map +1 -1
  41. package/dist/scripts/sleep_cycle.js +209 -38
  42. package/dist/scripts/sleep_cycle.js.map +1 -1
  43. package/dist/services/config.d.ts +1 -0
  44. package/dist/services/config.d.ts.map +1 -1
  45. package/dist/services/config.js +15 -29
  46. package/dist/services/config.js.map +1 -1
  47. package/dist/services/db.d.ts +10 -0
  48. package/dist/services/db.d.ts.map +1 -1
  49. package/dist/services/db.js +38 -1
  50. package/dist/services/db.js.map +1 -1
  51. package/dist/services/llm.d.ts.map +1 -1
  52. package/dist/services/llm.js +3 -1
  53. package/dist/services/llm.js.map +1 -1
  54. package/dist/services/memoryService.d.ts +4 -2
  55. package/dist/services/memoryService.d.ts.map +1 -1
  56. package/dist/services/memoryService.js +127 -43
  57. package/dist/services/memoryService.js.map +1 -1
  58. package/dist/services/personaService.d.ts +25 -0
  59. package/dist/services/personaService.d.ts.map +1 -1
  60. package/dist/services/personaService.js +79 -0
  61. package/dist/services/personaService.js.map +1 -1
  62. package/dist/tests/dashboard-schemas.test.js +71 -1
  63. package/dist/tests/dashboard-schemas.test.js.map +1 -1
  64. package/openclaw.plugin.json +5 -0
  65. package/package.json +2 -1
  66. package/schemas/README.md +64 -0
@@ -8,6 +8,7 @@ exports.setDbUrl = setDbUrl;
8
8
  exports.setEmbeddingConfig = setEmbeddingConfig;
9
9
  exports.getSql = getSql;
10
10
  exports.getEmbedding = getEmbedding;
11
+ exports.validateEmbeddingDimension = validateEmbeddingDimension;
11
12
  exports.hashContent = hashContent;
12
13
  const postgres_1 = __importDefault(require("postgres"));
13
14
  const node_crypto_1 = require("node:crypto");
@@ -68,7 +69,8 @@ async function getEmbedding(text) {
68
69
  const body = JSON.stringify({ input: text, model: exports.EMBEDDING_MODEL });
69
70
  console.log(`[EMBED] Request body preview: ${body.substring(0, 200)}`);
70
71
  // Strip any trailing /v1 or /v1/ from the base URL to avoid doubling
71
- const baseUrl = exports.LM_STUDIO_URL.replace(/\/v1\/?$/, "");
72
+ // Replace 'localhost' with '127.0.0.1' to prevent Node 18+ IPv6 fetch failures
73
+ const baseUrl = exports.LM_STUDIO_URL.replace(/\/v1\/?$/, "").replace("localhost", "127.0.0.1");
72
74
  const res = await fetch(`${baseUrl}/v1/embeddings`, {
73
75
  method: "POST",
74
76
  headers: { "Content-Type": "application/json" },
@@ -86,6 +88,41 @@ async function getEmbedding(text) {
86
88
  console.log(`[EMBED] Generated ${embedding.length}-dim vector for: "${text.substring(0, 50)}..."`);
87
89
  return embedding;
88
90
  }
91
+ /**
92
+ * Validates the currently configured embedding model against the dimensions
93
+ * expected by the Postgres schema for this agent. Returns a compatibility status.
94
+ */
95
+ async function validateEmbeddingDimension(agentId) {
96
+ try {
97
+ const sql = getSql();
98
+ // 1. Get expected dimensions from schema
99
+ const agents = await sql `
100
+ SELECT embedding_dimensions
101
+ FROM agents
102
+ WHERE id = ${agentId}
103
+ `;
104
+ // Default to 768 if entirely missing (e.g. older schema version before columns added)
105
+ const expected = agents.length > 0 && agents[0].embedding_dimensions
106
+ ? agents[0].embedding_dimensions
107
+ : 768;
108
+ // 2. Generate a tiny test embedding to find actual dimensions
109
+ const testEmbedding = await getEmbedding("test dimension check");
110
+ const actual = testEmbedding.length;
111
+ const matches = expected === actual;
112
+ const model = exports.EMBEDDING_MODEL;
113
+ if (!matches) {
114
+ console.error(`[EMBED] DIMENSION MISMATCH ERROR! Model '${model}' returned ${actual} dimensions, but database schema expects ${expected}. Semantic writes will fail.`);
115
+ }
116
+ else {
117
+ console.log(`[EMBED] Model '${model}' verified: ${actual} dimensions.`);
118
+ }
119
+ return { model, expected, actual, matches };
120
+ }
121
+ catch (err) {
122
+ console.error(`[EMBED] Failed to validate dimensions:`, err);
123
+ throw err;
124
+ }
125
+ }
89
126
  /**
90
127
  * SHA-256 content hash for deduplication.
91
128
  */
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../services/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../services/db.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../services/llm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,SAAS,GACf,OAAO,CAAC,MAAM,CAAC,CAoEjB"}
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../services/llm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,SAAS,GACf,OAAO,CAAC,MAAM,CAAC,CAsEjB"}
@@ -21,10 +21,12 @@ const validation_js_1 = require("../schemas/validation.js");
21
21
  * @param agentId Agent to run as (default: "main").
22
22
  */
23
23
  async function callLLMviaAgent(prompt, agentId = "main") {
24
+ const taggedPrompt = `[POSTCLAW_INTERNAL_LLM_CALL_DO_NOT_LOG]\n\n${prompt}`;
24
25
  const args = [
25
26
  "agent",
26
27
  "--agent", agentId,
27
- "--message", prompt,
28
+ "--session-id", `postclaw-internal-${agentId}`,
29
+ "--message", taggedPrompt,
28
30
  "--json",
29
31
  ];
30
32
  const result = await new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../services/llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../services/llm.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export declare function searchPostgres(agentId: string, userText: string, option
8
8
  semanticLimit?: number;
9
9
  linkedSimilarity?: number;
10
10
  totalLimit?: number;
11
+ maxTraversalDepth?: number;
12
+ trackAs?: "access" | "injection";
11
13
  }): Promise<string | null>;
12
14
  /**
13
15
  * Log an episodic memory event to memory_episodic.
@@ -34,12 +36,12 @@ export declare function storeMemory(agentId: string, content: string, scope?: "p
34
36
  * Supersede an old memory with a corrected/updated fact.
35
37
  * Archives the old memory and creates a new one with a causal link.
36
38
  */
37
- export declare function updateMemory(agentId: string, oldMemoryId: string, newFact: string, options?: MemoryOptions): Promise<{
39
+ export declare function updateMemory(agentId: string, oldMemoryId: string, newFact: string, scope?: "private" | "shared" | "global", options?: MemoryOptions): Promise<{
38
40
  newId: string | null;
39
41
  status: string;
40
42
  }>;
41
43
  /**
42
- * Create a directed edge between two memories in the knowledge graph.
44
+ * Create a directed edge between two memories or personas in the knowledge graph.
43
45
  */
44
46
  export declare function linkMemories(agentId: string, sourceId: string, targetId: string, relationship: string): Promise<{
45
47
  status: string;
@@ -1 +1 @@
1
- {"version":3,"file":"memoryService.d.ts","sourceRoot":"","sources":["../../services/memoryService.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,aAAa,EAInB,MAAM,0BAA0B,CAAC;AAQlC,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAevF;AAMD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACvF,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmExB;AAMD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EACrD,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,GAAE,MAAsB,GAChC,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EACvD,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAMD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAC1B,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmDxB;AAMD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAC/C,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,SAAS,GAAG,QAAQ,GAAG,QAAoB,EAClD,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA0ChD;AAMD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAChD,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA8CnD;AAMD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAChD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB7B"}
1
+ {"version":3,"file":"memoryService.d.ts","sourceRoot":"","sources":["../../services/memoryService.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,aAAa,EAInB,MAAM,0BAA0B,CAAC;AAQlC,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAevF;AAMD;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAA;CAAO,GACrJ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoGxB;AAMD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EACrD,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,GAAE,MAAsB,GAChC,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EACvD,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAMD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAC1B,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmDxB;AAMD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAC/C,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,SAAS,GAAG,QAAQ,GAAG,QAAoB,EAClD,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA8ChD;AAMD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAChD,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,SAAS,GAAG,QAAQ,GAAG,QAAoB,EAClD,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAkDnD;AAMD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAChD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgE7B"}
@@ -43,57 +43,91 @@ 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
  })
88
112
  .join("\n");
89
113
  // Update tracking columns
90
114
  const extractedIds = results.map((r) => r.id);
91
- await tx `
92
- UPDATE memory_semantic
93
- SET access_count = access_count + 1,
94
- last_accessed_at = CURRENT_TIMESTAMP
95
- WHERE id IN ${(0, db_js_1.getSql)()(extractedIds)}
96
- `;
115
+ if (options.trackAs === "injection") {
116
+ await tx `
117
+ UPDATE memory_semantic
118
+ SET injection_count = injection_count + 1,
119
+ last_injected_at = CURRENT_TIMESTAMP
120
+ WHERE id IN ${(0, db_js_1.getSql)()(extractedIds)}
121
+ `;
122
+ }
123
+ else {
124
+ await tx `
125
+ UPDATE memory_semantic
126
+ SET access_count = access_count + 1,
127
+ last_accessed_at = CURRENT_TIMESTAMP
128
+ WHERE id IN ${(0, db_js_1.getSql)()(extractedIds)}
129
+ `;
130
+ }
97
131
  }
98
132
  });
99
133
  }
@@ -228,18 +262,22 @@ async function storeMemory(agentId, content, scope = "private", options = {}) {
228
262
  const validated = validation_js_1.StoreMemoryInputSchema.parse({ content, scope, options: Object.keys(options).length > 0 ? options : undefined });
229
263
  const embedding = await (0, db_js_1.getEmbedding)(validated.content);
230
264
  const contentHash = (0, db_js_1.hashContent)(validated.content);
265
+ const tokenCountEstimate = Math.ceil(validated.content.length / 4);
231
266
  const result = await (0, db_js_1.getSql)().begin(async (tx) => {
232
267
  await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
233
268
  const rows = await tx `
234
269
  INSERT INTO memory_semantic (
235
270
  agent_id, access_scope, content, content_hash, embedding, embedding_model,
236
- category, source_uri, volatility, is_pointer, token_count, confidence, tier, usefulness_score, expires_at, metadata
271
+ category, source_uri, volatility, is_pointer, token_count, confidence, tier, usefulness_score,
272
+ injection_count, access_count, last_injected_at, last_accessed_at, expires_at, created_at, updated_at,
273
+ is_archived, metadata, superseded_by
237
274
  ) VALUES (
238
275
  ${agentId}, ${scope}, ${content}, ${contentHash},
239
- ${JSON.stringify(embedding)}, ${db_js_1.EMBEDDING_MODEL},
240
- ${validated.options?.category || null}, ${validated.options?.source_uri || null}, ${validated.options?.volatility || 'low'}, ${validated.options?.is_pointer || false},
241
- ${validated.options?.token_count || 0}, ${validated.options?.confidence || 0.5}, ${validated.options?.tier || 'daily'}, ${validated.options?.usefulness_score || 0.0},
242
- ${validated.options?.expires_at || null}, ${validated.options?.metadata ? JSON.stringify(validated.options.metadata) : '{}'}
276
+ ${JSON.stringify(embedding)}, ${validated.options?.embedding_model || db_js_1.EMBEDDING_MODEL},
277
+ ${validated.options?.category || null}, ${validated.options?.source_uri || null}, ${validated.options?.volatility || 'low'}, ${validated.options?.is_pointer ?? false},
278
+ ${tokenCountEstimate}, ${validated.options?.confidence ?? 0.5}, ${validated.options?.tier || 'daily'}, ${validated.options?.usefulness_score ?? 0.0},
279
+ ${validated.options?.injection_count ?? 0}, ${validated.options?.access_count ?? 0}, ${validated.options?.last_injected_at || null}, ${validated.options?.last_accessed_at || null}, ${validated.options?.expires_at || null}, ${validated.options?.created_at || new Date()}, ${validated.options?.updated_at || new Date()},
280
+ ${validated.options?.is_archived ?? false}, ${validated.options?.metadata ? JSON.stringify(validated.options.metadata) : '{}'}, ${validated.options?.superseded_by || null}
243
281
  )
244
282
  ON CONFLICT (agent_id, content_hash) DO NOTHING
245
283
  RETURNING id;
@@ -271,24 +309,28 @@ async function storeMemory(agentId, content, scope = "private", options = {}) {
271
309
  * Supersede an old memory with a corrected/updated fact.
272
310
  * Archives the old memory and creates a new one with a causal link.
273
311
  */
274
- async function updateMemory(agentId, oldMemoryId, newFact, options = {}) {
312
+ async function updateMemory(agentId, oldMemoryId, newFact, scope = "private", options = {}) {
275
313
  try {
276
- const validated = validation_js_1.UpdateMemoryInputSchema.parse({ oldMemoryId, newFact, options: Object.keys(options).length > 0 ? options : undefined });
314
+ const validated = validation_js_1.UpdateMemoryInputSchema.parse({ oldMemoryId, newFact, scope, options: Object.keys(options).length > 0 ? options : undefined });
277
315
  const embedding = await (0, db_js_1.getEmbedding)(validated.newFact);
278
316
  const contentHash = (0, db_js_1.hashContent)(validated.newFact);
317
+ const tokenCountEstimate = Math.ceil(validated.newFact.length / 4);
279
318
  const result = await (0, db_js_1.getSql)().begin(async (tx) => {
280
319
  await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
281
320
  // Insert the new truth
282
321
  const newMem = await tx `
283
322
  INSERT INTO memory_semantic (
284
323
  agent_id, access_scope, content, content_hash, embedding, embedding_model,
285
- category, source_uri, volatility, is_pointer, token_count, confidence, tier, usefulness_score, expires_at, metadata
324
+ category, source_uri, volatility, is_pointer, token_count, confidence, tier, usefulness_score,
325
+ injection_count, access_count, last_injected_at, last_accessed_at, expires_at, created_at, updated_at,
326
+ is_archived, metadata, superseded_by
286
327
  ) VALUES (
287
- ${agentId}, 'global', ${validated.newFact}, ${contentHash},
288
- ${JSON.stringify(embedding)}, ${db_js_1.EMBEDDING_MODEL},
289
- ${validated.options?.category || null}, ${validated.options?.source_uri || null}, ${validated.options?.volatility || 'low'}, ${validated.options?.is_pointer || false},
290
- ${validated.options?.token_count || 0}, ${validated.options?.confidence || 0.5}, ${validated.options?.tier || 'daily'}, ${validated.options?.usefulness_score || 0.0},
291
- ${validated.options?.expires_at || null}, ${validated.options?.metadata ? JSON.stringify(validated.options.metadata) : '{}'}
328
+ ${agentId}, ${scope}, ${validated.newFact}, ${contentHash},
329
+ ${JSON.stringify(embedding)}, ${validated.options?.embedding_model || db_js_1.EMBEDDING_MODEL},
330
+ ${validated.options?.category || null}, ${validated.options?.source_uri || null}, ${validated.options?.volatility || 'low'}, ${validated.options?.is_pointer ?? false},
331
+ ${tokenCountEstimate}, ${validated.options?.confidence ?? 0.5}, ${validated.options?.tier || 'daily'}, ${validated.options?.usefulness_score ?? 0.0},
332
+ ${validated.options?.injection_count ?? 0}, ${validated.options?.access_count ?? 0}, ${validated.options?.last_injected_at || null}, ${validated.options?.last_accessed_at || null}, ${validated.options?.expires_at || null}, ${validated.options?.created_at || new Date()}, ${validated.options?.updated_at || new Date()},
333
+ ${validated.options?.is_archived ?? false}, ${validated.options?.metadata ? JSON.stringify(validated.options.metadata) : '{}'}, ${validated.options?.superseded_by || null}
292
334
  )
293
335
  RETURNING id;
294
336
  `;
@@ -317,24 +359,66 @@ async function updateMemory(agentId, oldMemoryId, newFact, options = {}) {
317
359
  // MEMORY LINK (replaces db-memory-link skill)
318
360
  // =============================================================================
319
361
  /**
320
- * Create a directed edge between two memories in the knowledge graph.
362
+ * Create a directed edge between two memories or personas in the knowledge graph.
321
363
  */
322
364
  async function linkMemories(agentId, sourceId, targetId, relationship) {
323
365
  try {
366
+ 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);
367
+ if (!isUuid(sourceId) || !isUuid(targetId)) {
368
+ console.warn(`[GRAPH] Invalid UUID provided for link: ${sourceId} -> ${targetId}`);
369
+ return { status: "error: invalid UUID format" };
370
+ }
371
+ if (sourceId === targetId) {
372
+ return { status: "error: cannot link an entity to itself" };
373
+ }
324
374
  await (0, db_js_1.getSql)().begin(async (tx) => {
325
375
  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;
376
+ // Identify source type
377
+ const srcMem = await tx `SELECT id FROM memory_semantic WHERE id = ${sourceId}`;
378
+ const srcPer = await tx `SELECT id FROM agent_persona WHERE id = ${sourceId}`;
379
+ const sourceCol = srcMem.length > 0 ? 'source_memory_id' : (srcPer.length > 0 ? 'source_persona_id' : null);
380
+ // Identify target type
381
+ const tgtMem = await tx `SELECT id FROM memory_semantic WHERE id = ${targetId}`;
382
+ const tgtPer = await tx `SELECT id FROM agent_persona WHERE id = ${targetId}`;
383
+ const targetCol = tgtMem.length > 0 ? 'target_memory_id' : (tgtPer.length > 0 ? 'target_persona_id' : null);
384
+ if (!sourceCol) {
385
+ throw new Error(`Source ID ${sourceId} not found in memories or personas.`);
386
+ }
387
+ if (!targetCol) {
388
+ throw new Error(`Target ID ${targetId} not found in memories or personas.`);
389
+ }
390
+ // Check if edge already exists (since ON CONFLICT only fully covers source_memory_id + target_memory_id)
391
+ const existing = await tx `
392
+ SELECT id FROM entity_edges
393
+ WHERE agent_id = ${agentId}
394
+ AND (${sourceCol === 'source_memory_id' ? tx `source_memory_id = ${sourceId}` : tx `source_persona_id = ${sourceId}`})
395
+ AND (${targetCol === 'target_memory_id' ? tx `target_memory_id = ${targetId}` : tx `target_persona_id = ${targetId}`})
396
+ AND relationship_type = ${relationship}
397
+ LIMIT 1
330
398
  `;
399
+ if (existing.length === 0) {
400
+ // Insert it dynamically
401
+ if (sourceCol === 'source_memory_id' && targetCol === 'target_memory_id') {
402
+ 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`;
403
+ }
404
+ else if (sourceCol === 'source_memory_id' && targetCol === 'target_persona_id') {
405
+ await tx `INSERT INTO entity_edges (agent_id, source_memory_id, target_persona_id, relationship_type, weight) VALUES (${agentId}, ${sourceId}, ${targetId}, ${relationship}, 1.0)`;
406
+ }
407
+ else if (sourceCol === 'source_persona_id' && targetCol === 'target_memory_id') {
408
+ await tx `INSERT INTO entity_edges (agent_id, source_persona_id, target_memory_id, relationship_type, weight) VALUES (${agentId}, ${sourceId}, ${targetId}, ${relationship}, 1.0)`;
409
+ }
410
+ else {
411
+ await tx `INSERT INTO entity_edges (agent_id, source_persona_id, target_persona_id, relationship_type, weight) VALUES (${agentId}, ${sourceId}, ${targetId}, ${relationship}, 1.0)`;
412
+ }
413
+ }
331
414
  });
332
415
  console.log(`[GRAPH] Linked ${sourceId.substring(0, 8)} → ${targetId.substring(0, 8)} as "${relationship}"`);
333
416
  return { status: "linked" };
334
417
  }
335
418
  catch (err) {
336
- console.error("[GRAPH] Failed to link:", err);
337
- return { status: `error: ${err}` };
419
+ const msg = err instanceof Error ? err.message : String(err);
420
+ console.error("[GRAPH] Failed to link:", msg);
421
+ return { status: `error: ${msg}` };
338
422
  }
339
423
  }
340
424
  //# 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":"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"}
@@ -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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"}