@christopherlittle51/postclaw 1.1.0 → 1.2.0

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 (80) hide show
  1. package/dashboard/public/app.js +743 -0
  2. package/dashboard/public/index.html +350 -0
  3. package/dashboard/public/styles.css +571 -0
  4. package/dist/dashboard/helpers.d.ts +32 -0
  5. package/dist/dashboard/helpers.d.ts.map +1 -0
  6. package/dist/dashboard/helpers.js +122 -0
  7. package/dist/dashboard/helpers.js.map +1 -0
  8. package/dist/dashboard/router.d.ts +39 -0
  9. package/dist/dashboard/router.d.ts.map +1 -0
  10. package/dist/dashboard/router.js +94 -0
  11. package/dist/dashboard/router.js.map +1 -0
  12. package/dist/dashboard/routes/config.d.ts +3 -0
  13. package/dist/dashboard/routes/config.d.ts.map +1 -0
  14. package/dist/dashboard/routes/config.js +53 -0
  15. package/dist/dashboard/routes/config.js.map +1 -0
  16. package/dist/dashboard/routes/graph.d.ts +11 -0
  17. package/dist/dashboard/routes/graph.d.ts.map +1 -0
  18. package/dist/dashboard/routes/graph.js +131 -0
  19. package/dist/dashboard/routes/graph.js.map +1 -0
  20. package/dist/dashboard/routes/memories.d.ts +12 -0
  21. package/dist/dashboard/routes/memories.d.ts.map +1 -0
  22. package/dist/dashboard/routes/memories.js +199 -0
  23. package/dist/dashboard/routes/memories.js.map +1 -0
  24. package/dist/dashboard/routes/personas.d.ts +11 -0
  25. package/dist/dashboard/routes/personas.d.ts.map +1 -0
  26. package/dist/dashboard/routes/personas.js +71 -0
  27. package/dist/dashboard/routes/personas.js.map +1 -0
  28. package/dist/dashboard/routes/scripts.d.ts +9 -0
  29. package/dist/dashboard/routes/scripts.d.ts.map +1 -0
  30. package/dist/dashboard/routes/scripts.js +62 -0
  31. package/dist/dashboard/routes/scripts.js.map +1 -0
  32. package/dist/dashboard/routes/workspace.d.ts +10 -0
  33. package/dist/dashboard/routes/workspace.d.ts.map +1 -0
  34. package/dist/dashboard/routes/workspace.js +82 -0
  35. package/dist/dashboard/routes/workspace.js.map +1 -0
  36. package/dist/dashboard/server.d.ts +14 -0
  37. package/dist/dashboard/server.d.ts.map +1 -0
  38. package/dist/dashboard/server.js +97 -0
  39. package/dist/dashboard/server.js.map +1 -0
  40. package/dist/index.d.ts +2 -2
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +142 -46
  43. package/dist/index.js.map +1 -1
  44. package/dist/schemas/validation.d.ts +123 -0
  45. package/dist/schemas/validation.d.ts.map +1 -1
  46. package/dist/schemas/validation.js +70 -1
  47. package/dist/schemas/validation.js.map +1 -1
  48. package/dist/scripts/setup-db.d.ts.map +1 -1
  49. package/dist/scripts/setup-db.js +24 -25
  50. package/dist/scripts/setup-db.js.map +1 -1
  51. package/dist/scripts/sleep_cycle.d.ts +12 -0
  52. package/dist/scripts/sleep_cycle.d.ts.map +1 -1
  53. package/dist/scripts/sleep_cycle.js +45 -33
  54. package/dist/scripts/sleep_cycle.js.map +1 -1
  55. package/dist/services/config.d.ts +31 -0
  56. package/dist/services/config.d.ts.map +1 -0
  57. package/dist/services/config.js +125 -0
  58. package/dist/services/config.js.map +1 -0
  59. package/dist/services/memoryService.d.ts +10 -19
  60. package/dist/services/memoryService.d.ts.map +1 -1
  61. package/dist/services/memoryService.js +20 -76
  62. package/dist/services/memoryService.js.map +1 -1
  63. package/dist/services/personaService.d.ts +22 -0
  64. package/dist/services/personaService.d.ts.map +1 -0
  65. package/dist/services/personaService.js +148 -0
  66. package/dist/services/personaService.js.map +1 -0
  67. package/dist/tests/dashboard-schemas.test.d.ts +6 -0
  68. package/dist/tests/dashboard-schemas.test.d.ts.map +1 -0
  69. package/dist/tests/dashboard-schemas.test.js +171 -0
  70. package/dist/tests/dashboard-schemas.test.js.map +1 -0
  71. package/dist/tests/helpers.test.d.ts +5 -0
  72. package/dist/tests/helpers.test.d.ts.map +1 -0
  73. package/dist/tests/helpers.test.js +66 -0
  74. package/dist/tests/helpers.test.js.map +1 -0
  75. package/dist/tests/router.test.d.ts +5 -0
  76. package/dist/tests/router.test.d.ts.map +1 -0
  77. package/dist/tests/router.test.js +125 -0
  78. package/dist/tests/router.test.js.map +1 -0
  79. package/openclaw.plugin.json +23 -0
  80. package/package.json +7 -2
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_CONFIG = void 0;
4
+ exports.loadConfig = loadConfig;
5
+ exports.saveConfig = saveConfig;
6
+ exports.getCurrentConfig = getCurrentConfig;
7
+ const db_js_1 = require("./db.js");
8
+ // =============================================================================
9
+ // DEFAULTS
10
+ // =============================================================================
11
+ exports.DEFAULT_CONFIG = {
12
+ rag: {
13
+ semanticLimit: 7,
14
+ linkedSimilarity: 0.8,
15
+ totalLimit: 15,
16
+ },
17
+ persona: {
18
+ situationalLimit: 3,
19
+ },
20
+ sleep: {
21
+ episodicBatchLimit: 100,
22
+ duplicateSimilarityThreshold: 0.80,
23
+ duplicateScanLimit: 200,
24
+ lowValueAgeDays: 7,
25
+ lowValueProtectedTiers: ['permanent', 'stable'],
26
+ linkSimilarityMin: 0.65,
27
+ linkSimilarityMax: 0.92,
28
+ linkCandidatesPerMemory: 5,
29
+ linkBatchSize: 20,
30
+ linkScanLimit: 50,
31
+ },
32
+ dedup: {
33
+ maxCacheSize: 1000,
34
+ },
35
+ prompts: {
36
+ memoryRules: `## Memory & Knowledge Management
37
+ You are a stateful agent. Your context window is ephemeral but your PostgreSQL memory is permanent.
38
+ Silently manage your knowledge — never ask permission to save, link, or update facts.
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",
59
+ }
60
+ };
61
+ // =============================================================================
62
+ // PERSISTENCE
63
+ // =============================================================================
64
+ let _runtimeConfig = {};
65
+ async function loadConfig(agentId = "main") {
66
+ try {
67
+ const sql = (0, db_js_1.getSql)();
68
+ const rows = await sql `
69
+ SELECT config_key, config_value
70
+ FROM plugin_config
71
+ WHERE agent_id = ${agentId}
72
+ `;
73
+ // Start with a clean deep copy of defaults to prevent mutating the global DEFAULT_CONFIG
74
+ const merged = JSON.parse(JSON.stringify(exports.DEFAULT_CONFIG));
75
+ for (const row of rows) {
76
+ const key = row.config_key;
77
+ if (key in merged) {
78
+ if (key === "prompts") {
79
+ // completely overwrite prompts with what is in DB allows dynamically removing prompts
80
+ merged[key] = row.config_value;
81
+ }
82
+ else {
83
+ merged[key] = {
84
+ ...merged[key],
85
+ ...row.config_value
86
+ };
87
+ }
88
+ }
89
+ }
90
+ _runtimeConfig[agentId] = merged;
91
+ return merged;
92
+ }
93
+ catch (err) {
94
+ console.warn(`[PostClaw] Failed to load config from DB for agent ${agentId}:`, err);
95
+ // If DB fails (like during setup), fallback to defaults
96
+ _runtimeConfig[agentId] = JSON.parse(JSON.stringify(exports.DEFAULT_CONFIG));
97
+ return _runtimeConfig[agentId];
98
+ }
99
+ }
100
+ async function saveConfig(agentId, config) {
101
+ try {
102
+ const sql = (0, db_js_1.getSql)();
103
+ // Upsert each main section as a JSONB value
104
+ await sql.begin(async (tx) => {
105
+ for (const [key, value] of Object.entries(config)) {
106
+ await tx `
107
+ INSERT INTO plugin_config (agent_id, config_key, config_value)
108
+ VALUES (${agentId}, ${key}, ${value})
109
+ ON CONFLICT (agent_id, config_key)
110
+ DO UPDATE SET config_value = EXCLUDED.config_value, updated_at = CURRENT_TIMESTAMP
111
+ `;
112
+ }
113
+ });
114
+ _runtimeConfig[agentId] = { ...config };
115
+ console.log(`[PostClaw] Config saved to database for agent ${agentId}`);
116
+ }
117
+ catch (err) {
118
+ console.error(`[PostClaw] Failed to save config to database for agent ${agentId}:`, err);
119
+ throw err;
120
+ }
121
+ }
122
+ function getCurrentConfig(agentId = "main") {
123
+ return _runtimeConfig[agentId] || exports.DEFAULT_CONFIG;
124
+ }
125
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../services/config.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import { type MemoryOptions, type ChatCompletionTool } from "../schemas/validation.js";
2
- /**
3
- * Ensure the given agentId exists in the agents table.
4
- * Uses an in-memory cache so we only hit the DB once per agent per process lifetime.
5
- */
6
- export declare function ensureAgent(agentId: string): Promise<void>;
1
+ import { type MemoryOptions } from "../schemas/validation.js";
2
+ export declare function ensureAgent(agentId: string, workspaceDir?: string): Promise<void>;
7
3
  /**
8
4
  * Semantic search + graph traversal against memory_semantic + entity_edges.
9
5
  * Returns formatted context string or null if no results found.
10
6
  */
11
- export declare function searchPostgres(agentId: string, userText: string): Promise<string | null>;
7
+ export declare function searchPostgres(agentId: string, userText: string, options?: {
8
+ semanticLimit?: number;
9
+ linkedSimilarity?: number;
10
+ totalLimit?: number;
11
+ }): Promise<string | null>;
12
12
  /**
13
13
  * Log an episodic memory event to memory_episodic.
14
14
  */
@@ -20,12 +20,9 @@ export declare function logEpisodicToolCall(agentId: string, toolCallId: string,
20
20
  /**
21
21
  * Fetch persona rules (core + situational) from agent_persona.
22
22
  */
23
- export declare function fetchPersonaContext(agentId: string, embedding: number[] | null): Promise<string | null>;
24
- export type { ChatCompletionTool } from "../schemas/validation.js";
25
- /**
26
- * Fetch dynamic tools from context_environment based on embedding similarity.
27
- */
28
- export declare function fetchDynamicTools(agentId: string, embedding: number[]): Promise<ChatCompletionTool[]>;
23
+ export declare function fetchPersonaContext(agentId: string, embedding: number[] | null, options?: {
24
+ situationalLimit?: number;
25
+ }): Promise<string | null>;
29
26
  /**
30
27
  * Store a new semantic memory fact. Deduplicates via content_hash.
31
28
  */
@@ -47,10 +44,4 @@ export declare function updateMemory(agentId: string, oldMemoryId: string, newFa
47
44
  export declare function linkMemories(agentId: string, sourceId: string, targetId: string, relationship: string): Promise<{
48
45
  status: string;
49
46
  }>;
50
- /**
51
- * Store or update a tool definition in context_environment.
52
- */
53
- export declare function storeTool(agentId: string, toolName: string, toolJson: string, scope?: "private" | "shared" | "global"): Promise<{
54
- status: string;
55
- }>;
56
47
  //# sourceMappingURL=memoryService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoryService.d.ts","sourceRoot":"","sources":["../../services/memoryService.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,aAAa,EAGlB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAQlC;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAShE;AAMD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgE9F;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,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkD7G;AAOD,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAyB3G;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;AAMD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAC7C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,SAAS,GAAG,QAAQ,GAAG,QAAoB,GACjD,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B7B"}
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"}
@@ -5,11 +5,9 @@ exports.searchPostgres = searchPostgres;
5
5
  exports.logEpisodicMemory = logEpisodicMemory;
6
6
  exports.logEpisodicToolCall = logEpisodicToolCall;
7
7
  exports.fetchPersonaContext = fetchPersonaContext;
8
- exports.fetchDynamicTools = fetchDynamicTools;
9
8
  exports.storeMemory = storeMemory;
10
9
  exports.updateMemory = updateMemory;
11
10
  exports.linkMemories = linkMemories;
12
- exports.storeTool = storeTool;
13
11
  const db_js_1 = require("./db.js");
14
12
  const zod_1 = require("zod");
15
13
  const validation_js_1 = require("../schemas/validation.js");
@@ -17,17 +15,19 @@ const validation_js_1 = require("../schemas/validation.js");
17
15
  // LAZY AGENT AUTO-REGISTRATION
18
16
  // =============================================================================
19
17
  const registeredAgents = new Set();
20
- /**
21
- * Ensure the given agentId exists in the agents table.
22
- * Uses an in-memory cache so we only hit the DB once per agent per process lifetime.
23
- */
24
- async function ensureAgent(agentId) {
25
- if (!agentId || registeredAgents.has(agentId))
18
+ async function ensureAgent(agentId, workspaceDir) {
19
+ if (!agentId)
26
20
  return;
27
21
  try {
28
- await (0, db_js_1.getSql)() `INSERT INTO agents (id, name) VALUES (${agentId}, ${agentId}) ON CONFLICT DO NOTHING`;
22
+ const sql = (0, db_js_1.getSql)();
23
+ await sql `
24
+ INSERT INTO agents (id, name, workspace_dir)
25
+ VALUES (${agentId}, ${agentId}, ${workspaceDir || null})
26
+ ON CONFLICT (id) DO UPDATE SET
27
+ workspace_dir = EXCLUDED.workspace_dir
28
+ WHERE EXCLUDED.workspace_dir IS NOT NULL
29
+ `;
29
30
  registeredAgents.add(agentId);
30
- console.log(`[AGENTS] Registered agent: ${agentId}`);
31
31
  }
32
32
  catch (err) {
33
33
  console.error(`[AGENTS] Failed to register agent ${agentId}:`, err);
@@ -40,8 +40,11 @@ async function ensureAgent(agentId) {
40
40
  * Semantic search + graph traversal against memory_semantic + entity_edges.
41
41
  * Returns formatted context string or null if no results found.
42
42
  */
43
- async function searchPostgres(agentId, userText) {
43
+ async function searchPostgres(agentId, userText, options = {}) {
44
44
  let contextString = null;
45
+ const semanticLimit = options.semanticLimit ?? 7;
46
+ const linkedSimilarity = options.linkedSimilarity ?? 0.8;
47
+ const totalLimit = options.totalLimit ?? 15;
45
48
  try {
46
49
  const embedding = await (0, db_js_1.getEmbedding)(userText);
47
50
  // Note: postgres.js TransactionSql loses call signatures via Omit<Sql, ...>,
@@ -54,10 +57,10 @@ async function searchPostgres(agentId, userText) {
54
57
  FROM memory_semantic
55
58
  WHERE agent_id = ${agentId} AND is_archived = false
56
59
  ORDER BY similarity DESC
57
- LIMIT 7
60
+ LIMIT ${semanticLimit}
58
61
  ),
59
62
  linked_matches AS (
60
- SELECT m.id, m.content, 0.8 AS similarity, e.relationship_type, sm.id AS source_match_id
63
+ SELECT m.id, m.content, ${linkedSimilarity}::float8 AS similarity, e.relationship_type, sm.id AS source_match_id
61
64
  FROM entity_edges e
62
65
  JOIN memory_semantic m ON (e.target_memory_id = m.id OR e.source_memory_id = m.id)
63
66
  JOIN semantic_matches sm ON (e.source_memory_id = sm.id OR e.target_memory_id = sm.id)
@@ -68,7 +71,7 @@ async function searchPostgres(agentId, userText) {
68
71
  UNION ALL
69
72
  SELECT id, content, similarity, relationship_type FROM linked_matches
70
73
  ORDER BY similarity DESC
71
- LIMIT 15
74
+ LIMIT ${totalLimit}
72
75
  )
73
76
  SELECT * FROM final_matches;
74
77
  `;
@@ -165,8 +168,9 @@ async function logEpisodicToolCall(agentId, toolCallId, toolName, toolArgs, embe
165
168
  /**
166
169
  * Fetch persona rules (core + situational) from agent_persona.
167
170
  */
168
- async function fetchPersonaContext(agentId, embedding) {
171
+ async function fetchPersonaContext(agentId, embedding, options = {}) {
169
172
  let personaContext = null;
173
+ const situationalLimit = options.situationalLimit ?? 3;
170
174
  try {
171
175
  await (0, db_js_1.getSql)().begin(async (tx) => {
172
176
  await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
@@ -184,7 +188,7 @@ async function fetchPersonaContext(agentId, embedding) {
184
188
  FROM agent_persona
185
189
  WHERE is_always_active = false
186
190
  ORDER BY embedding <=> ${JSON.stringify(embedding)}
187
- LIMIT 3
191
+ LIMIT ${situationalLimit}
188
192
  )
189
193
  SELECT * FROM core_persona
190
194
  UNION ALL
@@ -213,32 +217,6 @@ async function fetchPersonaContext(agentId, embedding) {
213
217
  }
214
218
  return personaContext;
215
219
  }
216
- /**
217
- * Fetch dynamic tools from context_environment based on embedding similarity.
218
- */
219
- async function fetchDynamicTools(agentId, embedding) {
220
- let dynamicTools = [];
221
- try {
222
- await (0, db_js_1.getSql)().begin(async (tx) => {
223
- await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
224
- const results = await tx `
225
- SELECT tool_name, context_data, 1 - (embedding <=> ${JSON.stringify(embedding)}) AS similarity
226
- FROM context_environment
227
- WHERE 1 - (embedding <=> ${JSON.stringify(embedding)}) > 0.35
228
- ORDER BY similarity DESC
229
- LIMIT 3;
230
- `;
231
- if (results.length > 0) {
232
- dynamicTools = results.map((r) => JSON.parse(r.context_data));
233
- console.log(`[TOOLS] 🔧 Loaded ${dynamicTools.length} dynamic tool(s): ${dynamicTools.map(t => t.function.name).join(", ")}`);
234
- }
235
- });
236
- }
237
- catch (err) {
238
- console.error("[TOOLS] Failed to fetch dynamic tools:", err);
239
- }
240
- return dynamicTools;
241
- }
242
220
  // =============================================================================
243
221
  // MEMORY STORE (replaces db-memory-store skill)
244
222
  // MemoryOptions type is now imported from schemas/validation.ts
@@ -359,38 +337,4 @@ async function linkMemories(agentId, sourceId, targetId, relationship) {
359
337
  return { status: `error: ${err}` };
360
338
  }
361
339
  }
362
- // =============================================================================
363
- // TOOL STORE (replaces db-tool-store skill)
364
- // =============================================================================
365
- /**
366
- * Store or update a tool definition in context_environment.
367
- */
368
- async function storeTool(agentId, toolName, toolJson, scope = "private") {
369
- try {
370
- const toolObj = JSON.parse(toolJson);
371
- const description = toolObj.function?.description || toolObj.description || "";
372
- const embedText = `${toolName}: ${description}`;
373
- const embedding = await (0, db_js_1.getEmbedding)(embedText);
374
- await (0, db_js_1.getSql)().begin(async (tx) => {
375
- await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
376
- await tx `
377
- INSERT INTO context_environment (
378
- agent_id, access_scope, tool_name, context_data, embedding
379
- ) VALUES (
380
- ${agentId}, ${scope}, ${toolName}, ${toolJson}, ${JSON.stringify(embedding)}
381
- )
382
- ON CONFLICT (agent_id, tool_name) DO UPDATE SET
383
- context_data = EXCLUDED.context_data,
384
- embedding = EXCLUDED.embedding,
385
- access_scope = EXCLUDED.access_scope;
386
- `;
387
- });
388
- console.log(`[TOOLS] Stored/updated tool schema: ${toolName}`);
389
- return { status: "stored" };
390
- }
391
- catch (err) {
392
- console.error("[TOOLS] Failed to store tool:", err);
393
- return { status: `error: ${err}` };
394
- }
395
- }
396
340
  //# sourceMappingURL=memoryService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memoryService.js","sourceRoot":"","sources":["../../services/memoryService.ts"],"names":[],"mappings":";;AAqBA,kCASC;AAUD,wCAgEC;AASD,8CA6BC;AAKD,kDAgCC;AASD,kDAkDC;AAYD,8CAyBC;AASD,kCA8CC;AAUD,oCAkDC;AASD,oCAsBC;AASD,8BAiCC;AA/cD,mCAA6E;AAC7E,6BAAwB;AACxB,4DAOkC;AAElC,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE3C;;;GAGG;AACI,KAAK,UAAU,WAAW,CAAC,OAAe;IAC/C,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO;IACtD,IAAI,CAAC;QACH,MAAM,IAAA,cAAM,GAAE,CAAA,yCAAyC,OAAO,KAAK,OAAO,0BAA0B,CAAC;QACrG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;IACvD,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,CAAC,OAAe,EAAE,QAAgB;IACpE,IAAI,aAAa,GAAkB,IAAI,CAAC;IAExC,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,MAAM,OAAO,GAAG,MAAM,EAAE,CAAA;;mDAEqB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;6BAE/C,OAAO;;;;;;;;;+BASL,OAAO;;;;;;;;;;OAU/B,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,MAAM,qBAAqB,OAAO,EAAE,CAAC,CAAC;YAErF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,aAAa,GAAI,OAA6B;qBAC3C,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,WAAW,CAAC,CAAC,iBAAiB,KAAK,GAAG,EAAE;wBAC1C,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,CAAC,OAAe,EAAE,SAA0B;IACnF,IAAI,cAAc,GAAkB,IAAI,CAAC;IAEzC,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;;;;;;;SAOrD,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;AASD;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,SAAmB;IAC1E,IAAI,YAAY,GAAyB,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,IAAA,cAAM,GAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;YACrC,MAAM,EAAE,CAAA,6CAA6C,OAAO,SAAS,CAAC;YAEtE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAA;6DAC+B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;mCAEnD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;OAGrD,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAuB,CAAC,CAAC;gBAC9G,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,CAAC,MAAM,qBAAqB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChI,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,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,IAAA,cAAM,GAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;YACrC,MAAM,EAAE,CAAA,6CAA6C,OAAO,SAAS,CAAC;YAEtE,MAAM,EAAE,CAAA;;kBAEI,OAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK,YAAY;;OAE7D,CAAC;QACJ,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,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC;IACrC,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAEhF;;GAEG;AACI,KAAK,UAAU,SAAS,CAAC,OAAe,EAC7C,QAAgB,EAChB,QAAgB,EAChB,QAAyC,SAAS;IAElD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,WAAW,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/E,MAAM,SAAS,GAAG,GAAG,QAAQ,KAAK,WAAW,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAC;QAEhD,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,KAAK,KAAK,KAAK,QAAQ,KAAK,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;;;;OAM9E,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;QAC/D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;QACpD,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,CAAC;IACrC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"memoryService.js","sourceRoot":"","sources":["../../services/memoryService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * PostClaw Persona Service — CRUD for the agent_persona table.
3
+ *
4
+ * Mirrors the memoryService.ts pattern: uses getSql().begin() with
5
+ * set_config('app.current_agent_id', ...) for RLS compliance.
6
+ */
7
+ import { type PersonaCreate, type PersonaUpdate } from "../schemas/validation.js";
8
+ export interface PersonaEntry {
9
+ id: string;
10
+ agent_id: string;
11
+ access_scope: string;
12
+ category: string;
13
+ content: string;
14
+ is_always_active: boolean;
15
+ created_at: string;
16
+ }
17
+ export declare function listPersonas(agentId: string): Promise<PersonaEntry[]>;
18
+ export declare function getPersona(agentId: string, personaId: string): Promise<PersonaEntry | null>;
19
+ export declare function createPersona(agentId: string, data: PersonaCreate): Promise<PersonaEntry>;
20
+ export declare function updatePersona(agentId: string, personaId: string, data: PersonaUpdate): Promise<PersonaEntry | null>;
21
+ export declare function deletePersona(agentId: string, personaId: string): Promise<boolean>;
22
+ //# sourceMappingURL=personaService.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ /**
3
+ * PostClaw Persona Service — CRUD for the agent_persona table.
4
+ *
5
+ * Mirrors the memoryService.ts pattern: uses getSql().begin() with
6
+ * set_config('app.current_agent_id', ...) for RLS compliance.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.listPersonas = listPersonas;
10
+ exports.getPersona = getPersona;
11
+ exports.createPersona = createPersona;
12
+ exports.updatePersona = updatePersona;
13
+ exports.deletePersona = deletePersona;
14
+ const db_js_1 = require("./db.js");
15
+ const validation_js_1 = require("../schemas/validation.js");
16
+ // =============================================================================
17
+ // LIST
18
+ // =============================================================================
19
+ async function listPersonas(agentId) {
20
+ try {
21
+ const rows = await (0, db_js_1.getSql)().begin(async (tx) => {
22
+ await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
23
+ return await tx `
24
+ SELECT id, agent_id, access_scope, category, content, is_always_active, created_at
25
+ FROM agent_persona
26
+ WHERE agent_id = ${agentId}
27
+ ORDER BY category ASC
28
+ `;
29
+ });
30
+ return rows;
31
+ }
32
+ catch (err) {
33
+ console.error("[PERSONA] List failed:", err);
34
+ throw err;
35
+ }
36
+ }
37
+ // =============================================================================
38
+ // GET
39
+ // =============================================================================
40
+ async function getPersona(agentId, personaId) {
41
+ try {
42
+ const rows = await (0, db_js_1.getSql)().begin(async (tx) => {
43
+ await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
44
+ return await tx `
45
+ SELECT id, agent_id, access_scope, category, content, is_always_active, created_at
46
+ FROM agent_persona
47
+ WHERE id = ${personaId} AND agent_id = ${agentId}
48
+ `;
49
+ });
50
+ return rows.length > 0 ? rows[0] : null;
51
+ }
52
+ catch (err) {
53
+ console.error("[PERSONA] Get failed:", err);
54
+ throw err;
55
+ }
56
+ }
57
+ // =============================================================================
58
+ // CREATE
59
+ // =============================================================================
60
+ async function createPersona(agentId, data) {
61
+ const validated = validation_js_1.PersonaCreateSchema.parse(data);
62
+ const embedding = await (0, db_js_1.getEmbedding)(validated.content);
63
+ const rows = await (0, db_js_1.getSql)().begin(async (tx) => {
64
+ await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
65
+ return await tx `
66
+ INSERT INTO agent_persona (
67
+ agent_id, access_scope, category, content, is_always_active, embedding
68
+ ) VALUES (
69
+ ${agentId}, ${validated.access_scope}, ${validated.category},
70
+ ${validated.content}, ${validated.is_always_active},
71
+ ${JSON.stringify(embedding)}
72
+ )
73
+ ON CONFLICT (agent_id, category)
74
+ DO UPDATE SET
75
+ content = EXCLUDED.content,
76
+ embedding = EXCLUDED.embedding,
77
+ is_always_active = EXCLUDED.is_always_active,
78
+ access_scope = EXCLUDED.access_scope
79
+ RETURNING id, agent_id, access_scope, category, content, is_always_active, created_at
80
+ `;
81
+ });
82
+ console.log(`[PERSONA] Created/updated: "${validated.category}"`);
83
+ return rows[0];
84
+ }
85
+ // =============================================================================
86
+ // UPDATE
87
+ // =============================================================================
88
+ async function updatePersona(agentId, personaId, data) {
89
+ const validated = validation_js_1.PersonaUpdateSchema.parse(data);
90
+ // If content changed, regenerate embedding
91
+ let newEmbedding = null;
92
+ if (validated.content) {
93
+ newEmbedding = await (0, db_js_1.getEmbedding)(validated.content);
94
+ }
95
+ const rows = await (0, db_js_1.getSql)().begin(async (tx) => {
96
+ await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
97
+ // Build dynamic update
98
+ const current = await tx `
99
+ SELECT * FROM agent_persona WHERE id = ${personaId} AND agent_id = ${agentId}
100
+ `;
101
+ if (current.length === 0)
102
+ return [];
103
+ const category = validated.category ?? current[0].category;
104
+ const content = validated.content ?? current[0].content;
105
+ const isActive = validated.is_always_active ?? current[0].is_always_active;
106
+ const scope = validated.access_scope ?? current[0].access_scope;
107
+ const embedding = newEmbedding ? JSON.stringify(newEmbedding) : current[0].embedding;
108
+ return await tx `
109
+ UPDATE agent_persona
110
+ SET category = ${category},
111
+ content = ${content},
112
+ is_always_active = ${isActive},
113
+ access_scope = ${scope},
114
+ embedding = ${embedding}
115
+ WHERE id = ${personaId} AND agent_id = ${agentId}
116
+ RETURNING id, agent_id, access_scope, category, content, is_always_active, created_at
117
+ `;
118
+ });
119
+ if (rows.length === 0)
120
+ return null;
121
+ console.log(`[PERSONA] Updated: ${personaId.substring(0, 8)}`);
122
+ return rows[0];
123
+ }
124
+ // =============================================================================
125
+ // DELETE
126
+ // =============================================================================
127
+ async function deletePersona(agentId, personaId) {
128
+ try {
129
+ const result = await (0, db_js_1.getSql)().begin(async (tx) => {
130
+ await tx `SELECT set_config('app.current_agent_id', ${agentId}, true)`;
131
+ return await tx `
132
+ DELETE FROM agent_persona
133
+ WHERE id = ${personaId} AND agent_id = ${agentId}
134
+ RETURNING id
135
+ `;
136
+ });
137
+ if (result.length > 0) {
138
+ console.log(`[PERSONA] Deleted: ${personaId.substring(0, 8)}`);
139
+ return true;
140
+ }
141
+ return false;
142
+ }
143
+ catch (err) {
144
+ console.error("[PERSONA] Delete failed:", err);
145
+ throw err;
146
+ }
147
+ }
148
+ //# sourceMappingURL=personaService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personaService.js","sourceRoot":"","sources":["../../services/personaService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Tests for dashboard Zod schemas — validates all API input schemas
3
+ * with both valid and invalid inputs.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=dashboard-schemas.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-schemas.test.d.ts","sourceRoot":"","sources":["../../tests/dashboard-schemas.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}