@christopherlittle51/postclaw 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,22 +50,46 @@
50
50
  ## Prerequisites
51
51
 
52
52
  1. **OpenClaw** — installed and configured
53
- 2. **PostgreSQL** (v14+) — installed and running. The `pgvector` extension is installed automatically by the setup command.
53
+ 2. **PostgreSQL** (v14+) — installed and running. Depending on your system, you may need the `postgresql-<version>-pgvector` package installed. The `pgvector` extension is installed automatically by the setup command.
54
54
  3. **Node.js** (v18+) and **npm**
55
55
  4. **Embedding Provider** — LM Studio, Ollama, or any OpenAI-compatible endpoint serving an embedding model (e.g. `nomic-embed-text-v2-moe`)
56
+ ```json
57
+ "memorySearch": {
58
+ "provider": "openai",
59
+ "remote": {
60
+ "baseUrl": "http://<IP-ADDRESS>:<PORT>/v1",
61
+ "apiKey": "<API-KEY>"
62
+ },
63
+ "model": "text-embedding-nomic-embed-text-v2-moe"
64
+ }
65
+ ```
66
+ 5. **Tools Enabled** - At the least, you need the following permissions setup in your `openclaw.json`. This is a **Breaking Change** introduced in 2026.3.2 of OpenClaw:
67
+ ```json
68
+ "tools": {
69
+ "profile": "messaging",
70
+ "alsoAllow": ["postclaw"] // OR group:plugins if you have other plugins installed.
71
+ },
72
+ ```
56
73
 
57
74
  ---
58
75
 
59
76
  ## Quick Start
60
77
 
61
78
  ```bash
79
+ # PREREQUISITES
80
+ ## You must have a password assigned to your postgres user if you are running openclaw from another user.
81
+ sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'YOUR_PASSWORD';"
82
+
83
+ ## Install pgvector plugin (change xx to your postgres version:
84
+ sudo apt install postgresql-xx-pgvector # Ubuntu/Debian example.
85
+
62
86
  # 1. Install the plugin
63
87
  openclaw plugins install @christopherlittle51/postclaw # from npm
64
88
  # OR from a local path:
65
89
  openclaw plugins install /path/to/PostClaw
66
90
 
67
91
  # 2. Set up the database (creates DB, user, schema, everything)
68
- openclaw postclaw setup
92
+ openclaw postclaw setup --admin-url postgres://<POSTGRES-USERNAME>:<PASSWORD>@[IP ADDRESS/localhost]/postgres
69
93
 
70
94
  # 3. Restart the gateway
71
95
  openclaw restart
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpJ,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC9M,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAMtE,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAiDD,QAAA,MAAM,sBAAsB;;;;kBAKZ,GAAG;CAoflB,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpJ,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC9M,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAStE,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kDAAkD;AAClD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAiDD,QAAA,MAAM,sBAAsB;;;;kBAKZ,GAAG;CAggBlB,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -24,6 +24,8 @@ Object.defineProperty(exports, "storeMemory", { enumerable: true, get: function
24
24
  Object.defineProperty(exports, "updateMemory", { enumerable: true, get: function () { return memoryService_js_1.updateMemory; } });
25
25
  Object.defineProperty(exports, "linkMemories", { enumerable: true, get: function () { return memoryService_js_1.linkMemories; } });
26
26
  Object.defineProperty(exports, "storeTool", { enumerable: true, get: function () { return memoryService_js_1.storeTool; } });
27
+ const db_js_2 = require("./services/db.js");
28
+ const sleep_cycle_js_1 = require("./scripts/sleep_cycle.js");
27
29
  // =============================================================================
28
30
  // IN-MEMORY DEDUPLICATION
29
31
  // =============================================================================
@@ -42,7 +44,7 @@ function isDuplicate(key) {
42
44
  // =============================================================================
43
45
  // HELPERS
44
46
  // =============================================================================
45
- const db_js_2 = require("./services/db.js");
47
+ const db_js_3 = require("./services/db.js");
46
48
  const memoryService_js_2 = require("./services/memoryService.js");
47
49
  const typebox_1 = require("@sinclair/typebox");
48
50
  /**
@@ -75,14 +77,14 @@ const openclawPostgresPlugin = {
75
77
  // Apply database URL from plugin config (plugins.entries.postclaw.config.dbUrl)
76
78
  const pluginConfig = api.config?.plugins?.entries?.postclaw?.config;
77
79
  if (pluginConfig?.dbUrl) {
78
- (0, db_js_2.setDbUrl)(pluginConfig.dbUrl);
80
+ (0, db_js_3.setDbUrl)(pluginConfig.dbUrl);
79
81
  console.log("[PostClaw] Database URL configured via plugin config");
80
82
  }
81
83
  // Extract LLM configuration from OpenClaw (defaulting to localhost if not found)
82
84
  const memoryConfig = api.config?.agents?.defaults?.memorySearch;
83
85
  const llmUrl = memoryConfig?.remote?.baseUrl || "http://127.0.0.1:1234/v1";
84
86
  const llmModel = memoryConfig?.remote?.model || memoryConfig?.model || "text-embedding-nomic-embed-text-v2-moe";
85
- (0, db_js_2.setEmbeddingConfig)(llmUrl, llmModel);
87
+ (0, db_js_3.setEmbeddingConfig)(llmUrl, llmModel);
86
88
  // -------------------------------------------------------------------------
87
89
  // before_prompt_build — Prune + replace system prompt, inject RAG context
88
90
  //
@@ -158,7 +160,7 @@ const openclawPostgresPlugin = {
158
160
  const result = {};
159
161
  if (!isHeartbeat) {
160
162
  const hasUserText = cleanText.trim().length > 0;
161
- const embedding = hasUserText ? await (0, db_js_2.getEmbedding)(cleanText) : null;
163
+ const embedding = hasUserText ? await (0, db_js_3.getEmbedding)(cleanText) : null;
162
164
  const [memoryContext, personaContext] = await Promise.all([
163
165
  // RAG: only when we have user text to search against
164
166
  hasUserText ? (0, memoryService_js_2.searchPostgres)(agentId, cleanText) : Promise.resolve(null),
@@ -327,7 +329,7 @@ const openclawPostgresPlugin = {
327
329
  if (!isDuplicate(text)) {
328
330
  promises.push((async () => {
329
331
  try {
330
- const embedding = await (0, db_js_2.getEmbedding)(text);
332
+ const embedding = await (0, db_js_3.getEmbedding)(text);
331
333
  await (0, memoryService_js_2.logEpisodicMemory)(agentId, text, embedding, "user_prompt");
332
334
  }
333
335
  catch (err) {
@@ -348,7 +350,7 @@ const openclawPostgresPlugin = {
348
350
  promises.push((async () => {
349
351
  try {
350
352
  const summary = `Agent executed tool: ${toolCall.function.name} with arguments: ${toolCall.function.arguments}`;
351
- const embedding = await (0, db_js_2.getEmbedding)(summary);
353
+ const embedding = await (0, db_js_3.getEmbedding)(summary);
352
354
  await (0, memoryService_js_2.logEpisodicToolCall)(agentId, toolCallId, toolCall.function.name, toolCall.function.arguments, embedding);
353
355
  }
354
356
  catch (err) {
@@ -415,6 +417,9 @@ const openclawPostgresPlugin = {
415
417
  dbPassword: opts.dbPassword,
416
418
  skipConfig: opts.skipConfig,
417
419
  });
420
+ // Clean exit: Stop the timer and close the DB connection
421
+ (0, sleep_cycle_js_1.stopService)();
422
+ await (0, db_js_2.getSql)().end();
418
423
  });
419
424
  postclaw
420
425
  .command("persona")
@@ -427,11 +432,11 @@ const openclawPostgresPlugin = {
427
432
  const memCfg = api.config?.agents?.defaults?.memorySearch;
428
433
  const llmUrl = memCfg?.remote?.baseUrl || "http://127.0.0.1:1234/v1";
429
434
  const embModel = memCfg?.remote?.model || memCfg?.model || "text-embedding-nomic-embed-text-v2-moe";
430
- (0, db_js_2.setEmbeddingConfig)(llmUrl, embModel);
435
+ (0, db_js_3.setEmbeddingConfig)(llmUrl, embModel);
431
436
  // Apply dbUrl from plugin config
432
437
  const pluginCfg = api.config?.plugins?.entries?.postclaw?.config;
433
438
  if (pluginCfg?.dbUrl) {
434
- (0, db_js_2.setDbUrl)(pluginCfg.dbUrl);
439
+ (0, db_js_3.setDbUrl)(pluginCfg.dbUrl);
435
440
  }
436
441
  const { bootstrapPersona } = await import("./scripts/bootstrap_persona.js");
437
442
  await bootstrapPersona(file, {
@@ -439,6 +444,9 @@ const openclawPostgresPlugin = {
439
444
  llmUrl: llmUrl,
440
445
  llmModel: opts.llmModel,
441
446
  });
447
+ // Clean exit: Stop the timer and close the DB connection
448
+ (0, sleep_cycle_js_1.stopService)();
449
+ await (0, db_js_2.getSql)().end();
442
450
  });
443
451
  postclaw
444
452
  .command("sleep")
@@ -450,11 +458,11 @@ const openclawPostgresPlugin = {
450
458
  const memCfg = api.config?.agents?.defaults?.memorySearch;
451
459
  const llmUrl = memCfg?.remote?.baseUrl || "http://127.0.0.1:1234/v1";
452
460
  const embModel = memCfg?.remote?.model || memCfg?.model || "text-embedding-nomic-embed-text-v2-moe";
453
- (0, db_js_2.setEmbeddingConfig)(llmUrl, embModel);
461
+ (0, db_js_3.setEmbeddingConfig)(llmUrl, embModel);
454
462
  // Apply dbUrl from plugin config
455
463
  const pluginCfg = api.config?.plugins?.entries?.postclaw?.config;
456
464
  if (pluginCfg?.dbUrl) {
457
- (0, db_js_2.setDbUrl)(pluginCfg.dbUrl);
465
+ (0, db_js_3.setDbUrl)(pluginCfg.dbUrl);
458
466
  }
459
467
  const { runSleepCycle } = await import("./scripts/sleep_cycle.js");
460
468
  await runSleepCycle({
@@ -462,6 +470,9 @@ const openclawPostgresPlugin = {
462
470
  llmUrl: llmUrl,
463
471
  llmModel: opts.llmModel,
464
472
  });
473
+ // Clean exit: Stop the timer and close the DB connection
474
+ (0, sleep_cycle_js_1.stopService)();
475
+ await (0, db_js_2.getSql)().end();
465
476
  });
466
477
  }, { commands: ["postclaw"] });
467
478
  // ─────────────────────────────────────────────────────────────────────────
@@ -489,17 +500,17 @@ exports.default = openclawPostgresPlugin;
489
500
  // =============================================================================
490
501
  // STANDALONE ENTRY POINT (for testing)
491
502
  // =============================================================================
492
- const db_js_3 = require("./services/db.js");
503
+ const db_js_4 = require("./services/db.js");
493
504
  if (require.main === module) {
494
505
  console.log("=== PostClaw-swarm plugin loaded ===");
495
- console.log(` DB: ${db_js_3.POSTCLAW_DB_URL}`);
496
- console.log(` LM: ${db_js_3.LM_STUDIO_URL}`);
497
- console.log(` Model: ${db_js_3.EMBEDDING_MODEL}`);
506
+ console.log(` DB: ${db_js_4.POSTCLAW_DB_URL}`);
507
+ console.log(` LM: ${db_js_4.LM_STUDIO_URL}`);
508
+ console.log(` Model: ${db_js_4.EMBEDDING_MODEL}`);
498
509
  console.log("Hooks: before_prompt_build, agent_end, message_received");
499
510
  // Graceful shutdown
500
511
  process.on("SIGINT", async () => {
501
512
  console.log("\nShutting down...");
502
- await (0, db_js_3.getSql)().end();
513
+ await (0, db_js_2.getSql)().end();
503
514
  process.exit(0);
504
515
  });
505
516
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.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.0.2",
3
+ "version": "1.0.3",
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",
package/schemas/db.sql DELETED
@@ -1,371 +0,0 @@
1
- CREATE USER openclaw WITH LOGIN PASSWORD '6599';
2
-
3
- GRANT CONNECT ON DATABASE memorydb TO openclaw;
4
-
5
- -- 1. Core Extensions
6
- CREATE EXTENSION IF NOT EXISTS vector;
7
- CREATE EXTENSION IF NOT EXISTS pgcrypto;
8
-
9
- -- 2. Enumerated Types
10
- CREATE TYPE access_scope_enum AS ENUM ('private', 'shared', 'global');
11
- CREATE TYPE memory_tier_enum AS ENUM ('volatile', 'session', 'daily', 'stable', 'permanent');
12
- CREATE TYPE volatility_enum AS ENUM ('low', 'medium', 'high');
13
-
14
- -- ==========================================
15
- -- LAYER 0: IDENTITY & TRIGGERS (NEW)
16
- -- ==========================================
17
-
18
- -- Trigger to automatically handle updated_at
19
- CREATE OR REPLACE FUNCTION update_modified_column()
20
- RETURNS TRIGGER AS $$
21
- BEGIN
22
- NEW.updated_at = CURRENT_TIMESTAMP;
23
- RETURN NEW;
24
- END;
25
- $$ language 'plpgsql';
26
-
27
- -- Function to enforce global record ownership while allowing superceding memories
28
- CREATE OR REPLACE FUNCTION enforce_immutable_ownership()
29
- RETURNS TRIGGER AS $$
30
- BEGIN
31
- -- Prevent identity spoofing or stealing global memories
32
- IF NEW.agent_id <> OLD.agent_id THEN
33
- RAISE EXCEPTION 'Epistemic violation: Cannot change the original author (agent_id) of a memory.';
34
- END IF;
35
- RETURN NEW;
36
- END;
37
- $$ LANGUAGE plpgsql;
38
-
39
- -- Core Agents Table (Prevents orphaned memories)
40
- CREATE TABLE agents (
41
- id VARCHAR(100) PRIMARY KEY,
42
- name VARCHAR(255) NOT NULL,
43
- default_embedding_model VARCHAR(100) DEFAULT 'nomic-embed-text-v2-moe',
44
- embedding_dimensions INT DEFAULT 768,
45
- created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
46
- is_active BOOLEAN DEFAULT true
47
- );
48
-
49
- -- ==========================================
50
- -- LAYER 1: THE CONSTITUTION & PROTOCOLS
51
- -- ==========================================
52
-
53
- CREATE TABLE agent_persona (
54
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
55
- agent_id VARCHAR(100) NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
56
- access_scope access_scope_enum DEFAULT 'private',
57
- category VARCHAR(50) NOT NULL,
58
- content TEXT NOT NULL,
59
- is_always_active BOOLEAN DEFAULT false,
60
-
61
- -- Removed hardcoded dimensions to support model swapping
62
- embedding vector,
63
- created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
64
- UNIQUE(agent_id, category)
65
- );
66
-
67
- CREATE TABLE context_environment (
68
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
69
- agent_id VARCHAR(100) NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
70
- access_scope access_scope_enum DEFAULT 'private',
71
- tool_name VARCHAR(100) NOT NULL,
72
- context_data TEXT NOT NULL,
73
- embedding vector,
74
- created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
75
- UNIQUE(agent_id, tool_name) -- NEW: Prevents duplicate tool definitions
76
- );
77
-
78
- -- ==========================================
79
- -- LAYER 2: THE ACTIVE BRAIN (With Drift Protection)
80
- -- ==========================================
81
-
82
- CREATE TABLE memory_semantic (
83
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
84
- agent_id VARCHAR(100) NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
85
- access_scope access_scope_enum DEFAULT 'private',
86
-
87
- content TEXT NOT NULL,
88
- content_hash VARCHAR(64) NOT NULL,
89
- category VARCHAR(50),
90
-
91
- source_uri VARCHAR(512),
92
- volatility volatility_enum DEFAULT 'low',
93
- is_pointer BOOLEAN DEFAULT false,
94
-
95
- -- AI Operations
96
- embedding vector,
97
- embedding_model VARCHAR(100) NOT NULL, -- Required to group vectors for HNSW
98
- token_count INT NOT NULL DEFAULT 0,
99
-
100
- -- FTS switched to 'simple' dictionary to preserve exact code/JSON tokens
101
- fts_vector tsvector GENERATED ALWAYS AS (to_tsvector('simple'::regconfig, content)) STORED,
102
-
103
- confidence REAL DEFAULT 0.5,
104
- tier memory_tier_enum DEFAULT 'daily',
105
- usefulness_score REAL DEFAULT 0.0,
106
-
107
- injection_count INT DEFAULT 0,
108
- access_count INT DEFAULT 0,
109
- last_injected_at TIMESTAMPTZ,
110
- last_accessed_at TIMESTAMPTZ,
111
-
112
- created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
113
- updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
114
- expires_at TIMESTAMPTZ,
115
- is_archived BOOLEAN DEFAULT false,
116
-
117
- -- AI Metadata & Reasoning Trace
118
- metadata JSONB DEFAULT '{}'::jsonb,
119
- superseded_by UUID REFERENCES memory_semantic(id) ON DELETE SET NULL,
120
-
121
- UNIQUE(agent_id, content_hash)
122
- );
123
-
124
- CREATE TRIGGER update_memory_semantic_modtime
125
- BEFORE UPDATE ON memory_semantic
126
- FOR EACH ROW EXECUTE FUNCTION update_modified_column();
127
-
128
- CREATE TRIGGER trg_immutable_memory_owner
129
- BEFORE UPDATE ON memory_semantic
130
- FOR EACH ROW EXECUTE FUNCTION enforce_immutable_ownership();
131
-
132
- CREATE TABLE memory_episodic (
133
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
134
- agent_id VARCHAR(100) NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
135
- session_id VARCHAR(100) NOT NULL,
136
-
137
- event_summary TEXT NOT NULL,
138
- event_type VARCHAR(50),
139
- source_uri VARCHAR(512),
140
-
141
- embedding vector,
142
- embedding_model VARCHAR(100) NOT NULL,
143
- token_count INT NOT NULL DEFAULT 0,
144
-
145
- fts_vector tsvector GENERATED ALWAYS AS (to_tsvector('simple'::regconfig, event_summary)) STORED,
146
-
147
- usefulness_score REAL DEFAULT 0.0,
148
- metadata JSONB DEFAULT '{}'::jsonb,
149
-
150
- created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
151
- is_archived BOOLEAN DEFAULT false
152
- );
153
-
154
- -- ==========================================
155
- -- LAYER 3: ADVANCED FACULTIES
156
- -- ==========================================
157
-
158
- CREATE TABLE conversation_checkpoints (
159
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
160
- agent_id VARCHAR(100) NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
161
- session_id VARCHAR(100) NOT NULL,
162
- summary TEXT NOT NULL,
163
- active_tasks JSONB,
164
- token_count INT,
165
- created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
166
- );
167
-
168
- CREATE TABLE entity_edges (
169
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
170
- agent_id VARCHAR(100) NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
171
-
172
- -- Removed ON DELETE CASCADE to prevent RAG amnesia.
173
- -- Relies on application-level soft deletion handling.
174
- source_memory_id UUID REFERENCES memory_semantic(id),
175
- target_memory_id UUID REFERENCES memory_semantic(id),
176
- relationship_type VARCHAR(100) NOT NULL,
177
- weight REAL DEFAULT 1.0,
178
- created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
179
-
180
- -- Prevent self-referential graph loops
181
- CHECK (source_memory_id != target_memory_id),
182
- UNIQUE(source_memory_id, target_memory_id, relationship_type)
183
- );
184
-
185
- -- ==========================================
186
- -- INDICES & PERFORMANCE
187
- -- ==========================================
188
-
189
- -- Standard and File Watcher Indices
190
- CREATE INDEX idx_mem_sem_agent_tier ON memory_semantic(agent_id, tier, is_archived);
191
- CREATE INDEX idx_mem_sem_hash ON memory_semantic(content_hash);
192
- CREATE INDEX idx_mem_epi_session ON memory_episodic(agent_id, session_id, is_archived);
193
- CREATE INDEX idx_mem_sem_source_uri ON memory_semantic(source_uri) WHERE source_uri IS NOT NULL;
194
- CREATE INDEX idx_mem_sem_metadata ON memory_semantic USING gin (metadata);
195
- CREATE INDEX idx_mem_epi_metadata ON memory_episodic USING gin (metadata);
196
- CREATE INDEX idx_mem_sem_expires ON memory_semantic(expires_at) WHERE expires_at IS NOT NULL;
197
-
198
- -- Search Indices
199
- CREATE INDEX ON memory_semantic USING gin (fts_vector);
200
- CREATE INDEX ON memory_episodic USING gin (fts_vector);
201
-
202
- -- Partial HNSW Vector Indices (Segmented by model and cast to specific dimensions)
203
- CREATE INDEX idx_mem_sem_vector_nomic ON memory_semantic USING hnsw ((embedding::vector(768)) vector_cosine_ops) WHERE embedding_model = 'nomic-embed-text-v2-moe';
204
- CREATE INDEX idx_mem_sem_vector_openai ON memory_semantic USING hnsw ((embedding::vector(1536)) vector_cosine_ops) WHERE embedding_model = 'text-embedding-3-small';
205
-
206
- -- GraphRAG Traversal Indices
207
- CREATE INDEX idx_edges_source ON entity_edges(source_memory_id);
208
- CREATE INDEX idx_edges_target ON entity_edges(target_memory_id);
209
-
210
- -- Causal Chain Index (Allows fast lookups of "Which memories were superseded by X?")
211
- CREATE INDEX idx_mem_sem_superseded ON memory_semantic(superseded_by) WHERE superseded_by IS NOT NULL;
212
-
213
- -- ==========================================
214
- -- ADMIN USER SETUP
215
- -- ==========================================
216
-
217
- -- Create a role for your backend admin/system jobs
218
- CREATE ROLE system_admin WITH LOGIN PASSWORD 'snack-trailing-gathering-effective-spiritual-balsamic';
219
-
220
- -- Grant this role the power to ignore RLS
221
- ALTER ROLE system_admin BYPASSRLS;
222
-
223
- -- (Give them standard read/write permissions as well)
224
- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO system_admin;
225
-
226
- -- ==========================================
227
- -- ROW-LEVEL SECURITY (RLS)
228
- -- ==========================================
229
-
230
- -- Enable RLS across ALL relevant tables
231
- ALTER TABLE memory_semantic ENABLE ROW LEVEL SECURITY;
232
- ALTER TABLE memory_episodic ENABLE ROW LEVEL SECURITY;
233
- ALTER TABLE agent_persona ENABLE ROW LEVEL SECURITY;
234
- ALTER TABLE context_environment ENABLE ROW LEVEL SECURITY;
235
- ALTER TABLE entity_edges ENABLE ROW LEVEL SECURITY;
236
-
237
- -- 1. Read Policy: Can read own memories + shared/global memories
238
- CREATE POLICY semantic_read ON memory_semantic FOR SELECT
239
- USING (agent_id = current_setting('app.current_agent_id', true) OR access_scope IN ('shared', 'global'));
240
-
241
- -- 2. Insert Policy: Can ONLY insert memories as yourself
242
- CREATE POLICY semantic_insert ON memory_semantic FOR INSERT
243
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true));
244
-
245
- -- 3. Update Policy: Can ONLY update YOUR memories. You cannot alter someone else's global memory.
246
- CREATE POLICY semantic_update ON memory_semantic FOR UPDATE
247
- USING (
248
- -- You can target the row if you own it, OR if it's a global fact
249
- agent_id = current_setting('app.current_agent_id', true)
250
- OR access_scope = 'global'
251
- )
252
- WITH CHECK (
253
- -- If you update a global memory, you CANNOT downgrade it to private.
254
- -- It must remain global for the rest of the hive mind.
255
- (agent_id = current_setting('app.current_agent_id', true))
256
- OR
257
- (access_scope = 'global')
258
- );
259
-
260
- -- 4. Delete Policy: Can ONLY delete YOUR memories.
261
- CREATE POLICY semantic_delete ON memory_semantic FOR DELETE
262
- USING (agent_id = current_setting('app.current_agent_id', true));
263
-
264
- -- ==========================================
265
- -- AGENT PERSONA POLICIES
266
- -- ==========================================
267
- CREATE POLICY persona_read ON agent_persona FOR SELECT
268
- USING (agent_id = current_setting('app.current_agent_id', true) OR access_scope IN ('shared', 'global'));
269
-
270
- CREATE POLICY persona_insert ON agent_persona FOR INSERT
271
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true));
272
-
273
- CREATE POLICY persona_update ON agent_persona FOR UPDATE
274
- USING (agent_id = current_setting('app.current_agent_id', true) OR access_scope = 'global')
275
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true) OR access_scope = 'global');
276
-
277
- CREATE POLICY persona_delete ON agent_persona FOR DELETE
278
- USING (agent_id = current_setting('app.current_agent_id', true));
279
-
280
- -- ==========================================
281
- -- CONTEXT ENVIRONMENT (TOOLS) POLICIES
282
- -- ==========================================
283
- CREATE POLICY context_read ON context_environment FOR SELECT
284
- USING (agent_id = current_setting('app.current_agent_id', true) OR access_scope IN ('shared', 'global'));
285
-
286
- CREATE POLICY context_insert ON context_environment FOR INSERT
287
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true));
288
-
289
- CREATE POLICY context_update ON context_environment FOR UPDATE
290
- USING (agent_id = current_setting('app.current_agent_id', true) OR access_scope = 'global')
291
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true) OR access_scope = 'global');
292
-
293
- CREATE POLICY context_delete ON context_environment FOR DELETE
294
- USING (agent_id = current_setting('app.current_agent_id', true));
295
-
296
- -- * CRITICAL SECURITY NOTE: Just like semantic_memory, you must apply the
297
- -- immutable ownership trigger here so agents can't steal global tools/personas during an UPDATE.
298
- CREATE TRIGGER trg_immutable_persona_owner BEFORE UPDATE ON agent_persona
299
- FOR EACH ROW EXECUTE FUNCTION enforce_immutable_ownership();
300
- CREATE TRIGGER trg_immutable_context_owner BEFORE UPDATE ON context_environment
301
- FOR EACH ROW EXECUTE FUNCTION enforce_immutable_ownership();
302
-
303
- -- Ensure RLS is active on Checkpoints (we missed this in the original ALTER TABLE block)
304
- ALTER TABLE conversation_checkpoints ENABLE ROW LEVEL SECURITY;
305
-
306
- -- ==========================================
307
- -- EPISODIC MEMORY POLICIES
308
- -- ==========================================
309
- CREATE POLICY episodic_read ON memory_episodic FOR SELECT
310
- USING (agent_id = current_setting('app.current_agent_id', true));
311
-
312
- CREATE POLICY episodic_insert ON memory_episodic FOR INSERT
313
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true));
314
-
315
- CREATE POLICY episodic_update ON memory_episodic FOR UPDATE
316
- USING (agent_id = current_setting('app.current_agent_id', true))
317
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true));
318
-
319
- CREATE POLICY episodic_delete ON memory_episodic FOR DELETE
320
- USING (agent_id = current_setting('app.current_agent_id', true));
321
-
322
- -- ==========================================
323
- -- CONVERSATION CHECKPOINTS POLICIES
324
- -- ==========================================
325
- CREATE POLICY checkpoint_read ON conversation_checkpoints FOR SELECT
326
- USING (agent_id = current_setting('app.current_agent_id', true));
327
-
328
- CREATE POLICY checkpoint_insert ON conversation_checkpoints FOR INSERT
329
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true));
330
-
331
- CREATE POLICY checkpoint_update ON conversation_checkpoints FOR UPDATE
332
- USING (agent_id = current_setting('app.current_agent_id', true))
333
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true));
334
-
335
- CREATE POLICY checkpoint_delete ON conversation_checkpoints FOR DELETE
336
- USING (agent_id = current_setting('app.current_agent_id', true));
337
-
338
- -- ==========================================
339
- -- KNOWLEDGE GRAPH EDGES POLICIES
340
- -- ==========================================
341
-
342
- -- READ: You can see an edge if you drew it yourself, OR if it connects
343
- -- to at least one memory node that is shared/global.
344
- CREATE POLICY edge_read ON entity_edges FOR SELECT
345
- USING (
346
- agent_id = current_setting('app.current_agent_id', true)
347
- OR EXISTS (
348
- SELECT 1 FROM memory_semantic ms
349
- WHERE ms.id IN (source_memory_id, target_memory_id)
350
- AND ms.access_scope IN ('shared', 'global')
351
- )
352
- );
353
-
354
- -- INSERT: You can only draw edges as yourself
355
- CREATE POLICY edge_insert ON entity_edges FOR INSERT
356
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true));
357
-
358
- -- UPDATE: Edges are simple metadata (weights, relationship type).
359
- -- Only the agent who mapped the relationship should be able to update its weight.
360
- CREATE POLICY edge_update ON entity_edges FOR UPDATE
361
- USING (agent_id = current_setting('app.current_agent_id', true))
362
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true));
363
-
364
- -- DELETE: You can only delete edges you authored
365
- CREATE POLICY edge_delete ON entity_edges FOR DELETE
366
- USING (agent_id = current_setting('app.current_agent_id', true));
367
-
368
- -- Move this to the BOTTOM of init.sql (after all tables are created)
369
- GRANT USAGE ON SCHEMA public TO openclaw;
370
- GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO openclaw;
371
- GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO openclaw;