@christopherlittle51/postclaw 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -24
- package/dist/index.js.map +1 -1
- package/dist/scripts/bootstrap_persona.d.ts +0 -2
- package/dist/scripts/bootstrap_persona.d.ts.map +1 -1
- package/dist/scripts/bootstrap_persona.js +7 -34
- package/dist/scripts/bootstrap_persona.js.map +1 -1
- package/dist/scripts/sleep_cycle.d.ts +0 -2
- package/dist/scripts/sleep_cycle.d.ts.map +1 -1
- package/dist/scripts/sleep_cycle.js +8 -37
- package/dist/scripts/sleep_cycle.js.map +1 -1
- package/dist/services/llm.d.ts +18 -0
- package/dist/services/llm.d.ts.map +1 -0
- package/dist/services/llm.js +78 -0
- package/dist/services/llm.js.map +1 -0
- package/package.json +1 -1
- package/schemas/db.sql +0 -371
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# PostClaw — PostgreSQL Memory Plugin for OpenClaw
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<img src="https://github.com/user-attachments/assets/2a7798c6-e711-40fa-bcf2-7416180651cc"
|
|
5
|
-
alt="PostClaw Logo - Postmodern Artwork of a giant lobster interspersed with technology and classical designs."
|
|
6
|
-
width="800"
|
|
7
|
-
height="600"
|
|
4
|
+
<img src="https://github.com/user-attachments/assets/2a7798c6-e711-40fa-bcf2-7416180651cc"
|
|
5
|
+
alt="PostClaw Logo - Postmodern Artwork of a giant lobster interspersed with technology and classical designs."
|
|
6
|
+
width="800"
|
|
7
|
+
height="600"
|
|
8
8
|
style="display: block; margin: 0 auto" />
|
|
9
9
|
</p>
|
|
10
10
|
|
|
@@ -50,28 +50,56 @@
|
|
|
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
56
|
|
|
57
|
+
```json
|
|
58
|
+
"memorySearch": {
|
|
59
|
+
"provider": "openai",
|
|
60
|
+
"remote": {
|
|
61
|
+
"baseUrl": "http://<IP-ADDRESS>:<PORT>/v1",
|
|
62
|
+
"apiKey": "<API-KEY>"
|
|
63
|
+
},
|
|
64
|
+
"model": "text-embedding-nomic-embed-text-v2-moe"
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
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:
|
|
69
|
+
|
|
70
|
+
```json
|
|
71
|
+
"tools": {
|
|
72
|
+
"profile": "messaging",
|
|
73
|
+
"alsoAllow": ["postclaw"] // OR group:plugins if you have other plugins installed.
|
|
74
|
+
},
|
|
75
|
+
```
|
|
76
|
+
|
|
57
77
|
---
|
|
58
78
|
|
|
59
79
|
## Quick Start
|
|
60
80
|
|
|
61
81
|
```bash
|
|
82
|
+
# PREREQUISITES
|
|
83
|
+
## You must have a password assigned to your postgres user if you are running openclaw from another user.
|
|
84
|
+
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'YOUR_PASSWORD';"
|
|
85
|
+
|
|
86
|
+
## Install pgvector plugin (change xx to your postgres version:
|
|
87
|
+
sudo apt install postgresql-xx-pgvector # Ubuntu/Debian example.
|
|
88
|
+
|
|
62
89
|
# 1. Install the plugin
|
|
63
90
|
openclaw plugins install @christopherlittle51/postclaw # from npm
|
|
64
91
|
# OR from a local path:
|
|
65
92
|
openclaw plugins install /path/to/PostClaw
|
|
66
93
|
|
|
67
94
|
# 2. Set up the database (creates DB, user, schema, everything)
|
|
68
|
-
openclaw postclaw setup
|
|
95
|
+
openclaw postclaw setup --admin-url postgres://<POSTGRES-USERNAME>:<PASSWORD>@[IP ADDRESS/localhost]/postgres
|
|
69
96
|
|
|
70
97
|
# 3. Restart the gateway
|
|
71
98
|
openclaw restart
|
|
72
99
|
```
|
|
73
100
|
|
|
74
101
|
Done. PostClaw will automatically:
|
|
102
|
+
|
|
75
103
|
- Connect to the database using the credential it just generated
|
|
76
104
|
- Start injecting RAG context and persona rules into every prompt
|
|
77
105
|
- Begin logging episodic memory after each agent turn
|
|
@@ -131,6 +159,7 @@ openclaw postclaw setup [options]
|
|
|
131
159
|
```
|
|
132
160
|
|
|
133
161
|
This command:
|
|
162
|
+
|
|
134
163
|
1. Connects to PostgreSQL as a superuser
|
|
135
164
|
2. Creates the `memorydb` database (if it doesn't exist)
|
|
136
165
|
3. Installs the `vector` and `pgcrypto` extensions
|
|
@@ -623,6 +652,7 @@ Scans semantic memories for near-duplicates using cosine similarity (threshold:
|
|
|
623
652
|
### Phase 3: Low-Value Cleanup
|
|
624
653
|
|
|
625
654
|
Archives semantic memories that:
|
|
655
|
+
|
|
626
656
|
- Have `access_count = 0` (never retrieved via RAG)
|
|
627
657
|
- Are older than 7 days
|
|
628
658
|
- Are **not** in protected tiers (`permanent` or `stable`)
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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;CAsflB,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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,53 +417,56 @@ 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")
|
|
421
426
|
.argument("<file>", "Path to a Markdown persona file (e.g. SOUL.md, AGENTS.md)")
|
|
422
427
|
.description("Bootstrap a Markdown persona file into the agent_persona table")
|
|
423
428
|
.option("--agent-id <id>", "Agent ID to store persona under (default: main)")
|
|
424
|
-
.option("--llm-model <model>", "Chat model to use for chunking (default: agent's primary model)")
|
|
425
429
|
.action(async (file, opts) => {
|
|
426
430
|
// Ensure embedding config is set from OpenClaw config before running
|
|
427
431
|
const memCfg = api.config?.agents?.defaults?.memorySearch;
|
|
428
432
|
const llmUrl = memCfg?.remote?.baseUrl || "http://127.0.0.1:1234/v1";
|
|
429
433
|
const embModel = memCfg?.remote?.model || memCfg?.model || "text-embedding-nomic-embed-text-v2-moe";
|
|
430
|
-
(0,
|
|
434
|
+
(0, db_js_3.setEmbeddingConfig)(llmUrl, embModel);
|
|
431
435
|
// Apply dbUrl from plugin config
|
|
432
436
|
const pluginCfg = api.config?.plugins?.entries?.postclaw?.config;
|
|
433
437
|
if (pluginCfg?.dbUrl) {
|
|
434
|
-
(0,
|
|
438
|
+
(0, db_js_3.setDbUrl)(pluginCfg.dbUrl);
|
|
435
439
|
}
|
|
436
440
|
const { bootstrapPersona } = await import("./scripts/bootstrap_persona.js");
|
|
437
441
|
await bootstrapPersona(file, {
|
|
438
442
|
agentId: opts.agentId,
|
|
439
|
-
llmUrl: llmUrl,
|
|
440
|
-
llmModel: opts.llmModel,
|
|
441
443
|
});
|
|
444
|
+
// Clean exit: Stop the timer and close the DB connection
|
|
445
|
+
(0, sleep_cycle_js_1.stopService)();
|
|
446
|
+
await (0, db_js_2.getSql)().end();
|
|
442
447
|
});
|
|
443
448
|
postclaw
|
|
444
449
|
.command("sleep")
|
|
445
450
|
.description("Run the sleep cycle (knowledge graph maintenance) manually")
|
|
446
451
|
.option("--agent-id <id>", "Agent ID to run maintenance for (default: main)")
|
|
447
|
-
.option("--llm-model <model>", "Chat model to use for consolidation/linking")
|
|
448
452
|
.action(async (opts) => {
|
|
449
453
|
// Ensure embedding config is set from OpenClaw config before running
|
|
450
454
|
const memCfg = api.config?.agents?.defaults?.memorySearch;
|
|
451
455
|
const llmUrl = memCfg?.remote?.baseUrl || "http://127.0.0.1:1234/v1";
|
|
452
456
|
const embModel = memCfg?.remote?.model || memCfg?.model || "text-embedding-nomic-embed-text-v2-moe";
|
|
453
|
-
(0,
|
|
457
|
+
(0, db_js_3.setEmbeddingConfig)(llmUrl, embModel);
|
|
454
458
|
// Apply dbUrl from plugin config
|
|
455
459
|
const pluginCfg = api.config?.plugins?.entries?.postclaw?.config;
|
|
456
460
|
if (pluginCfg?.dbUrl) {
|
|
457
|
-
(0,
|
|
461
|
+
(0, db_js_3.setDbUrl)(pluginCfg.dbUrl);
|
|
458
462
|
}
|
|
459
463
|
const { runSleepCycle } = await import("./scripts/sleep_cycle.js");
|
|
460
464
|
await runSleepCycle({
|
|
461
465
|
agentId: opts.agentId,
|
|
462
|
-
llmUrl: llmUrl,
|
|
463
|
-
llmModel: opts.llmModel,
|
|
464
466
|
});
|
|
467
|
+
// Clean exit: Stop the timer and close the DB connection
|
|
468
|
+
(0, sleep_cycle_js_1.stopService)();
|
|
469
|
+
await (0, db_js_2.getSql)().end();
|
|
465
470
|
});
|
|
466
471
|
}, { commands: ["postclaw"] });
|
|
467
472
|
// ─────────────────────────────────────────────────────────────────────────
|
|
@@ -471,11 +476,8 @@ const openclawPostgresPlugin = {
|
|
|
471
476
|
if (sleepIntervalHours !== 0) {
|
|
472
477
|
// Start the background sleep cycle service (0 = disabled)
|
|
473
478
|
import("./scripts/sleep_cycle.js").then(({ startService }) => {
|
|
474
|
-
const memCfg = api.config?.agents?.defaults?.memorySearch;
|
|
475
|
-
const llmUrl = memCfg?.remote?.baseUrl || "http://127.0.0.1:1234/v1";
|
|
476
479
|
startService({
|
|
477
480
|
agentId: "main",
|
|
478
|
-
llmUrl,
|
|
479
481
|
intervalHours: sleepIntervalHours || 6,
|
|
480
482
|
});
|
|
481
483
|
}).catch((err) => {
|
|
@@ -489,17 +491,17 @@ exports.default = openclawPostgresPlugin;
|
|
|
489
491
|
// =============================================================================
|
|
490
492
|
// STANDALONE ENTRY POINT (for testing)
|
|
491
493
|
// =============================================================================
|
|
492
|
-
const
|
|
494
|
+
const db_js_4 = require("./services/db.js");
|
|
493
495
|
if (require.main === module) {
|
|
494
496
|
console.log("=== PostClaw-swarm plugin loaded ===");
|
|
495
|
-
console.log(` DB: ${
|
|
496
|
-
console.log(` LM: ${
|
|
497
|
-
console.log(` Model: ${
|
|
497
|
+
console.log(` DB: ${db_js_4.POSTCLAW_DB_URL}`);
|
|
498
|
+
console.log(` LM: ${db_js_4.LM_STUDIO_URL}`);
|
|
499
|
+
console.log(` Model: ${db_js_4.EMBEDDING_MODEL}`);
|
|
498
500
|
console.log("Hooks: before_prompt_build, agent_end, message_received");
|
|
499
501
|
// Graceful shutdown
|
|
500
502
|
process.on("SIGINT", async () => {
|
|
501
503
|
console.log("\nShutting down...");
|
|
502
|
-
await (0,
|
|
504
|
+
await (0, db_js_2.getSql)().end();
|
|
503
505
|
process.exit(0);
|
|
504
506
|
});
|
|
505
507
|
}
|
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":";AAAA,gFAAgF;AAChF,2DAA2D;AAC3D,gFAAgF;;;AAEhF,0CAAoJ;AAA3I,+FAAA,MAAM,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,qGAAA,YAAY,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAAE,iGAAA,QAAQ,OAAA;AACzH,gEAA8M;AAArM,+GAAA,WAAW,OAAA;AAAE,kHAAA,cAAc,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AAAE,uHAAA,mBAAmB,OAAA;AAAE,uHAAA,mBAAmB,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AAAE,+GAAA,WAAW,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,6GAAA,SAAS,OAAA;AAGxK,4CAA0C;AAC1C,6DAAuD;AAgCvD,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;AAC1C,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B,mFAAmF;AACnF,IAAI,mBAAmB,GAAW,EAAE,CAAC;AAErC,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,eAAe,CAAC,IAAI,GAAG,cAAc;QAAE,eAAe,CAAC,KAAK,EAAE,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,4CAA8E;AAC9E,kEAA8M;AAC9M,+CAAyC;AAEzC;;GAEG;AACH,SAAS,eAAe,CAAC,QAAuB;IAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACvE,IAAI,aAAa,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;IAChD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC;aACnD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAK,CAAC;aACzB,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,gFAAgF;AAChF,qDAAqD;AACrD,gFAAgF;AAEhF,MAAM,sBAAsB,GAAG;IAC7B,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,uDAAuD;IAEpE,QAAQ,CAAC,GAAQ;QACf,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAEtD,gFAAgF;QAChF,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;QACpE,IAAI,YAAY,EAAE,KAAK,EAAE,CAAC;YACxB,IAAA,gBAAQ,EAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACtE,CAAC;QAED,iFAAiF;QACjF,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC;QAChE,MAAM,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,OAAO,IAAI,0BAA0B,CAAC;QAC3E,MAAM,QAAQ,GAAG,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,YAAY,EAAE,KAAK,IAAI,wCAAwC,CAAC;QAChH,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAErC,4EAA4E;QAC5E,0EAA0E;QAC1E,EAAE;QACF,kDAAkD;QAClD,wDAAwD;QACxD,6DAA6D;QAC7D,EAAE;QACF,kEAAkE;QAClE,0DAA0D;QAC1D,oEAAoE;QACpE,EAAE;QACF,oEAAoE;QACpE,6CAA6C;QAC7C,6CAA6C;QAC7C,kCAAkC;QAClC,0CAA0C;QAC1C,4EAA4E;QAC5E,GAAG,CAAC,EAAE,CACJ,qBAAqB,EACrB,KAAK,EAAE,KAAU,EAAE,GAAQ,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAkB,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACrD,MAAM,QAAQ,GAAG,mBAAmB,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAClE,mBAAmB,GAAG,EAAE,CAAC,CAAE,oDAAoD;gBAC/E,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAEtD,sEAAsE;gBACtE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC5B,MAAM,QAAQ,GAAG,GAAG,EAAE,eAAe,IAAI,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAAG,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,MAAM,CAAC;gBAEpE,mDAAmD;gBACnD,MAAM,IAAA,8BAAW,EAAC,OAAO,CAAC,CAAC;gBAE3B,OAAO,CAAC,GAAG,CAAC,oCAAoC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,WAAW,cAAc,QAAQ,GAAG,CAAC,CAAC;gBAEnI,qEAAqE;gBACrE,iEAAiE;gBACjE,qEAAqE;gBACrE,IAAI,SAAS,GAAW,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;gBAE3C,kDAAkD;gBAClD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;gBAEzE,6CAA6C;gBAC7C,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,iDAAiD,EAAE,EAAE,CAAC,CAAC;gBAErF,iEAAiE;gBACjE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,iDAAiD,EAAE,EAAE,CAAC,CAAC;gBAErF,0EAA0E;gBAC1E,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;gBAC5E,CAAC;gBAED,6BAA6B;gBAC7B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAEjD,qEAAqE;gBACrE,kDAAkD;gBAClD,qEAAqE;gBAErE,SAAS,IAAI;;;;;;;;;;;qIAW8G,OAAO;;aAE/H,CAAC;gBAEJ,SAAS,IAAI;;;;;aAKV,CAAC;gBAEJ,qEAAqE;gBACrE,kEAAkE;gBAClE,qEAAqE;gBACrE,MAAM,MAAM,GAAuD,EAAE,CAAC;gBAEtE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAErE,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACxD,qDAAqD;wBACrD,WAAW,CAAC,CAAC,CAAC,IAAA,iCAAc,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;wBACxE,4DAA4D;wBAC5D,IAAA,sCAAmB,EAAC,OAAO,EAAE,SAAS,CAAC;qBACxC,CAAC,CAAC;oBAEH,uDAAuD;oBACvD,IAAI,cAAc,EAAE,CAAC;wBACnB,SAAS,IAAI,0GAA0G,cAAc,IAAI,CAAC;wBAC1I,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;oBACxD,CAAC;oBAED,kEAAkE;oBAClE,IAAI,aAAa,EAAE,CAAC;wBAClB,MAAM,CAAC,cAAc;4BACnB,wBAAwB;gCACxB,sEAAsE;gCACtE,oEAAoE;gCACpE,GAAG,aAAa,MAAM;gCACtB,eAAe,CAAC;wBAClB,OAAO,CAAC,GAAG,CAAC,uCAAuC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC;oBAChG,CAAC;gBACH,CAAC;gBAED,0CAA0C;gBAC1C,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,wCAAwC,SAAS,CAAC,MAAM,SAAS,CAAC,CAAC;gBAE/E,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;gBAC5D,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,CAAC;QACH,CAAC,EACD;YACE,IAAI,EAAE,8BAA8B;YACpC,WAAW,EAAE,wFAAwF;SACtG,CACF,CAAC;QAEF,4EAA4E;QAC5E,mDAAmD;QACnD,EAAE;QACF,yEAAyE;QACzE,2EAA2E;QAC3E,4EAA4E;QAE5E,gEAAgE;QAChE,GAAG,CAAC,YAAY,CACd;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,8HAA8H;YAC3I,UAAU,EAAE,cAAI,CAAC,MAAM,CAAC;gBACtB,KAAK,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;aACrE,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAuB,EAAE,OAAY,EAAE,SAAc,EAAE,GAAQ;gBAChG,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC;gBACvC,MAAM,IAAA,8BAAW,EAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAc,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzD,OAAO,MAAM,IAAI,wCAAwC,CAAC;YAC5D,CAAC;SACF,EACD,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,CAC7B,CAAC;QAEF,gDAAgD;QAChD,GAAG,CAAC,YAAY,CACd;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,oFAAoF;YACjG,UAAU,EAAE,cAAI,CAAC,MAAM,CAAC;gBACtB,OAAO,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;gBACvE,KAAK,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,KAAK,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBACnI,QAAQ,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gEAAgE,EAAE,CAAC,CAAC;gBACvH,UAAU,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,KAAK,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9H,IAAI,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,KAAK,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpL,QAAQ,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC,CAAC;aAC7G,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAS,EAAE,OAAY,EAAE,SAAc,EAAE,GAAQ;gBAClF,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC;gBACvC,MAAM,IAAA,8BAAW,EAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;gBAC5C,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAW,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;SACF,EACD,EAAE,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE,CAC5B,CAAC;QAEF,oEAAoE;QACpE,GAAG,CAAC,YAAY,CACd;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,kKAAkK;YAC/K,UAAU,EAAE,cAAI,CAAC,MAAM,CAAC;gBACtB,aAAa,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE,CAAC;gBACvF,QAAQ,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;gBACvE,QAAQ,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gEAAgE,EAAE,CAAC,CAAC;gBACvH,UAAU,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,KAAK,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9H,IAAI,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,KAAK,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpL,QAAQ,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,wDAAwD,EAAE,CAAC,CAAC;aAC7G,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAS,EAAE,OAAY,EAAE,SAAc,EAAE,GAAQ;gBAClF,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC;gBACvC,MAAM,IAAA,8BAAW,EAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAY,EAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;SACF,EACD,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,CAC7B,CAAC;QAEF,0EAA0E;QAC1E,GAAG,CAAC,YAAY,CACd;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,kFAAkF;YAC/F,UAAU,EAAE,cAAI,CAAC,MAAM,CAAC;gBACtB,SAAS,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;gBACpE,SAAS,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;gBACpE,YAAY,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mFAAmF,EAAE,CAAC;aAChI,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAoE,EAAE,OAAY,EAAE,SAAc,EAAE,GAAQ;gBAC7I,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC;gBACvC,MAAM,IAAA,8BAAW,EAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAY,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9F,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;SACF,EACD,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,CAC3B,CAAC;QAEF,+DAA+D;QAC/D,GAAG,CAAC,YAAY,CACd;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,kIAAkI;YAC/I,UAAU,EAAE,cAAI,CAAC,MAAM,CAAC;gBACtB,SAAS,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;gBACnE,SAAS,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC;gBAClF,KAAK,EAAE,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,KAAK,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,oCAAoC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;aACvL,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAuF,EAAE,OAAY,EAAE,SAAc,EAAE,GAAQ;gBAChK,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC;gBACvC,MAAM,IAAA,8BAAW,EAAC,OAAO,CAAC,CAAC;gBAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAS,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;SACF,EACD,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE,CAC1B,CAAC;QAEF,4EAA4E;QAC5E,0DAA0D;QAC1D,EAAE;QACF,+DAA+D;QAC/D,8FAA8F;QAC9F,8EAA8E;QAC9E,4EAA4E;QAC5E,GAAG,CAAC,EAAE,CACJ,WAAW,EACX,KAAK,EAAE,KAAU,EAAE,GAAQ,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAkB,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACrD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC5B,MAAM,QAAQ,GAAG,GAAG,EAAE,eAAe,IAAI,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAAG,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,MAAM,CAAC;gBAEpE,mDAAmD;gBACnD,MAAM,IAAA,8BAAW,EAAC,OAAO,CAAC,CAAC;gBAE3B,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,CAAC,MAAM,sBAAsB,KAAK,CAAC,OAAO,cAAc,QAAQ,EAAE,CAAC,CAAC;gBAEjH,oDAAoD;gBACpD,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;oBACrE,OAAO;gBACT,CAAC;gBAED,gCAAgC;gBAChC,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACrF,MAAM,WAAW,GAAG,QAAQ;oBAC1B,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;wBACpC,CAAC,CAAC,QAAQ,CAAC,OAAO;wBAClB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;4BAC/B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;4BAC1G,CAAC,CAAC,EAAE;oBACR,CAAC,CAAC,EAAE,CAAC;gBAEP,MAAM,QAAQ,GAAoB,EAAE,CAAC;gBAErC,qCAAqC;gBACrC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;oBACvB,oEAAoE;oBACpE,MAAM,IAAI,GAAG,WAAW;yBACrB,OAAO,CAAC,mDAAmD,EAAE,EAAE,CAAC;yBAChE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;yBAC1B,IAAI,EAAE,CAAC;oBACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvB,QAAQ,CAAC,IAAI,CACX,CAAC,KAAK,IAAI,EAAE;4BACV,IAAI,CAAC;gCACH,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC;gCAC3C,MAAM,IAAA,oCAAiB,EAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;4BACnE,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;4BAClE,CAAC;wBACH,CAAC,CAAC,EAAE,CACL,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,oCAAoC;gBACpC,MAAM,SAAS,GAAqB,QAAQ;qBACzC,MAAM,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,CAAC;qBAClE,OAAO,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;gBAEnD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE;2BACzB,YAAY,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBAC1F,IAAI,WAAW,CAAC,UAAU,CAAC;wBAAE,SAAS;oBAEtC,QAAQ,CAAC,IAAI,CACX,CAAC,KAAK,IAAI,EAAE;wBACV,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,wBAAwB,QAAQ,CAAC,QAAQ,CAAC,IAAI,oBAAoB,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;4BAChH,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;4BAC9C,MAAM,IAAA,sCAAmB,EACvB,OAAO,EACP,UAAU,EACV,QAAQ,CAAC,QAAQ,CAAC,IAAI,EACtB,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC3B,SAAS,CACV,CAAC;wBACJ,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,OAAO,CAAC,KAAK,CAAC,uCAAuC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;wBACxF,CAAC;oBACH,CAAC,CAAC,EAAE,CACL,CAAC;gBACJ,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,CAAC,MAAM,YAAY,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,EACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,8EAA8E;SAC5F,CACF,CAAC;QAEF,4EAA4E;QAC5E,6DAA6D;QAC7D,EAAE;QACF,6CAA6C;QAC7C,0EAA0E;QAC1E,yCAAyC;QACzC,4EAA4E;QAC5E,GAAG,CAAC,EAAE,CACJ,kBAAkB,EAClB,KAAK,EAAE,KAAU,EAAE,IAAS,EAAE,EAAE;YAC9B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC9B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;oBAAE,OAAO;gBAEvE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBAErD,+DAA+D;gBAC/D,uEAAuE;gBACvE,mBAAmB,GAAG,SAAS,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,wCAAwC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC;YAChH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,EACD;YACE,IAAI,EAAE,2BAA2B;YACjC,WAAW,EAAE,+DAA+D;SAC7E,CACF,CAAC;QAEF,4EAA4E;QAC5E,mDAAmD;QACnD,4EAA4E;QAC5E,GAAG,CAAC,WAAW,CACb,CAAC,EAAE,OAAO,EAAO,EAAE,EAAE;YACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;YAEzF,QAAQ;iBACL,OAAO,CAAC,OAAO,CAAC;iBAChB,WAAW,CAAC,wDAAwD,CAAC;iBACrE,MAAM,CAAC,mBAAmB,EAAE,iFAAiF,CAAC;iBAC9G,MAAM,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;iBAC/D,MAAM,CAAC,kBAAkB,EAAE,mCAAmC,CAAC;iBAC/D,MAAM,CAAC,sBAAsB,EAAE,+CAA+C,CAAC;iBAC/E,MAAM,CAAC,eAAe,EAAE,oDAAoD,CAAC;iBAC7E,MAAM,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;gBAC1B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBAC3D,MAAM,QAAQ,CAAC;oBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBAEH,yDAAyD;gBACzD,IAAA,4BAAW,GAAE,CAAC;gBACd,MAAM,IAAA,cAAM,GAAE,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEL,QAAQ;iBACL,OAAO,CAAC,SAAS,CAAC;iBAClB,QAAQ,CAAC,QAAQ,EAAE,2DAA2D,CAAC;iBAC/E,WAAW,CAAC,gEAAgE,CAAC;iBAC7E,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,CAAC;iBAC5E,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,IAAS,EAAE,EAAE;gBACxC,qEAAqE;gBACrE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,IAAI,0BAA0B,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,IAAI,wCAAwC,CAAC;gBACpG,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAErC,iCAAiC;gBACjC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;gBACjE,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;oBACrB,IAAA,gBAAQ,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;gBAED,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;gBAC5E,MAAM,gBAAgB,CAAC,IAAI,EAAE;oBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC,CAAC;gBAEH,yDAAyD;gBACzD,IAAA,4BAAW,GAAE,CAAC;gBACd,MAAM,IAAA,cAAM,GAAE,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEL,QAAQ;iBACL,OAAO,CAAC,OAAO,CAAC;iBAChB,WAAW,CAAC,4DAA4D,CAAC;iBACzE,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,CAAC;iBAC5E,MAAM,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;gBAC1B,qEAAqE;gBACrE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,IAAI,0BAA0B,CAAC;gBACrE,MAAM,QAAQ,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,IAAI,wCAAwC,CAAC;gBACpG,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAErC,iCAAiC;gBACjC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;gBACjE,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;oBACrB,IAAA,gBAAQ,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;gBAED,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBACnE,MAAM,aAAa,CAAC;oBAClB,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC,CAAC;gBAEH,yDAAyD;gBACzD,IAAA,4BAAW,GAAE,CAAC;gBACd,MAAM,IAAA,cAAM,GAAE,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,EACD,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAC3B,CAAC;QAEF,4EAA4E;QAC5E,wDAAwD;QACxD,4EAA4E;QAC5E,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAC;QAC9F,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;YAC7B,0DAA0D;YAC1D,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;gBAC3D,YAAY,CAAC;oBACX,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,kBAAkB,IAAI,CAAC;iBACvC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;CACF,CAAC;AAEF,kBAAe,sBAAsB,CAAC;AAEtC,gFAAgF;AAChF,uCAAuC;AACvC,gFAAgF;AAEhF,4CAAmF;AAEnF,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,aAAa,uBAAe,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,qBAAa,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,uBAAe,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IAEvE,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,MAAM,IAAA,cAAM,GAAE,CAAC,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -13,8 +13,6 @@
|
|
|
13
13
|
*/
|
|
14
14
|
export interface PersonaBootstrapOptions {
|
|
15
15
|
agentId?: string;
|
|
16
|
-
llmUrl?: string;
|
|
17
|
-
llmModel?: string;
|
|
18
16
|
}
|
|
19
17
|
export declare function bootstrapPersona(filePath: string, opts?: PersonaBootstrapOptions): Promise<void>;
|
|
20
18
|
//# sourceMappingURL=bootstrap_persona.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap_persona.d.ts","sourceRoot":"","sources":["../../scripts/bootstrap_persona.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"bootstrap_persona.d.ts","sourceRoot":"","sources":["../../scripts/bootstrap_persona.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiDH,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,IAAI,CAAC,CA+Df"}
|
|
@@ -18,8 +18,9 @@ const promises_1 = require("fs/promises");
|
|
|
18
18
|
const path_1 = require("path");
|
|
19
19
|
const db_js_1 = require("../services/db.js");
|
|
20
20
|
const memoryService_js_1 = require("../services/memoryService.js");
|
|
21
|
+
const llm_js_1 = require("../services/llm.js");
|
|
21
22
|
// ─── LLM Chunking ───────────────────────────────────────────────────────────
|
|
22
|
-
async function chunkMarkdownWithLLM(markdownText, filename
|
|
23
|
+
async function chunkMarkdownWithLLM(markdownText, filename) {
|
|
23
24
|
const systemPrompt = `
|
|
24
25
|
You are an expert data architect. Your task is to take a raw Markdown configuration file and break it down into discrete, atomic semantic chunks.
|
|
25
26
|
Extract the core rules, behaviors, and instructions.
|
|
@@ -31,34 +32,9 @@ Each object must have:
|
|
|
31
32
|
- "is_always_active": Boolean. Set to true ONLY IF this is a core identity trait that must be injected into every single prompt. Set to false if it is situational.
|
|
32
33
|
`;
|
|
33
34
|
console.log(` 📄 Asking LLM to semantically chunk ${filename}...`);
|
|
34
|
-
//
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
method: "POST",
|
|
38
|
-
headers: { "Content-Type": "application/json" },
|
|
39
|
-
body: JSON.stringify({
|
|
40
|
-
model: llmModel || "qwen3.5-9b",
|
|
41
|
-
messages: [
|
|
42
|
-
{ role: "system", content: systemPrompt },
|
|
43
|
-
{ role: "user", content: `Here is the file to chunk:\n\n${markdownText}` },
|
|
44
|
-
],
|
|
45
|
-
temperature: 0.1,
|
|
46
|
-
}),
|
|
47
|
-
});
|
|
48
|
-
if (!res.ok) {
|
|
49
|
-
throw new Error(`LLM request failed: ${res.status} ${res.statusText}`);
|
|
50
|
-
}
|
|
51
|
-
const data = await res.json();
|
|
52
|
-
let jsonString = data.choices[0].message.content.trim();
|
|
53
|
-
// Strip <think>...</think> chain-of-thought blocks
|
|
54
|
-
jsonString = jsonString.replace(/<think>[\s\S]*?<\/think>/g, "").trim();
|
|
55
|
-
// Strip markdown code blocks
|
|
56
|
-
if (jsonString.startsWith("```json")) {
|
|
57
|
-
jsonString = jsonString.replace(/^```json\n/, "").replace(/\n```$/, "");
|
|
58
|
-
}
|
|
59
|
-
if (jsonString.startsWith("```")) {
|
|
60
|
-
jsonString = jsonString.replace(/^```\n/, "").replace(/\n```$/, "");
|
|
61
|
-
}
|
|
35
|
+
// Route through OpenClaw's configured primary model via the CLI
|
|
36
|
+
const combined = `${systemPrompt}\n\nHere is the file to chunk:\n\n${markdownText}`;
|
|
37
|
+
const jsonString = await (0, llm_js_1.callLLMviaAgent)(combined);
|
|
62
38
|
try {
|
|
63
39
|
return JSON.parse(jsonString);
|
|
64
40
|
}
|
|
@@ -69,7 +45,6 @@ Each object must have:
|
|
|
69
45
|
}
|
|
70
46
|
async function bootstrapPersona(filePath, opts = {}) {
|
|
71
47
|
const agentId = opts.agentId || "main";
|
|
72
|
-
const llmUrl = opts.llmUrl || db_js_1.LM_STUDIO_URL || "http://127.0.0.1:1234/v1";
|
|
73
48
|
const absPath = (0, path_1.resolve)(filePath);
|
|
74
49
|
const filename = absPath.split("/").pop() || "unknown.md";
|
|
75
50
|
console.log(`\n🦐 PostClaw Persona Bootstrap\n`);
|
|
@@ -86,8 +61,8 @@ async function bootstrapPersona(filePath, opts = {}) {
|
|
|
86
61
|
console.error(` ❌ Cannot read file: ${err.message}`);
|
|
87
62
|
throw err;
|
|
88
63
|
}
|
|
89
|
-
// 2. Chunk with LLM
|
|
90
|
-
const chunks = await chunkMarkdownWithLLM(markdownText, filename
|
|
64
|
+
// 2. Chunk with LLM (routed through OpenClaw's configured primary model)
|
|
65
|
+
const chunks = await chunkMarkdownWithLLM(markdownText, filename);
|
|
91
66
|
console.log(` ✅ LLM produced ${chunks.length} semantic chunks`);
|
|
92
67
|
// 3. Ensure agent exists
|
|
93
68
|
await (0, memoryService_js_1.ensureAgent)(agentId);
|
|
@@ -141,8 +116,6 @@ if (require.main === module) {
|
|
|
141
116
|
}
|
|
142
117
|
bootstrapPersona(file, {
|
|
143
118
|
agentId: getArg("--agent-id"),
|
|
144
|
-
llmUrl: getArg("--llm-url"),
|
|
145
|
-
llmModel: getArg("--llm-model"),
|
|
146
119
|
})
|
|
147
120
|
.then(() => process.exit(0))
|
|
148
121
|
.catch(() => process.exit(1));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap_persona.js","sourceRoot":"","sources":["../../scripts/bootstrap_persona.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;
|
|
1
|
+
{"version":3,"file":"bootstrap_persona.js","sourceRoot":"","sources":["../../scripts/bootstrap_persona.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sleep_cycle.d.ts","sourceRoot":"","sources":["../../scripts/sleep_cycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"sleep_cycle.d.ts","sourceRoot":"","sources":["../../scripts/sleep_cycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA8CH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAsXD,wBAAsB,aAAa,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAmC1F;AAQD,wBAAgB,YAAY,CAAC,IAAI,GAAE,iBAAiB,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAY5F;AAED,wBAAgB,WAAW,IAAI,IAAI,CAMlC"}
|
|
@@ -20,6 +20,7 @@ exports.startService = startService;
|
|
|
20
20
|
exports.stopService = stopService;
|
|
21
21
|
const db_js_1 = require("../services/db.js");
|
|
22
22
|
const memoryService_js_1 = require("../services/memoryService.js");
|
|
23
|
+
const llm_js_1 = require("../services/llm.js");
|
|
23
24
|
// =============================================================================
|
|
24
25
|
// CONFIGURATION — All thresholds are easily tunable here
|
|
25
26
|
// =============================================================================
|
|
@@ -42,37 +43,11 @@ const DEFAULT_INTERVAL_HOURS = 6;
|
|
|
42
43
|
// =============================================================================
|
|
43
44
|
// UTILITIES
|
|
44
45
|
// =============================================================================
|
|
45
|
-
|
|
46
|
-
const baseUrl = llmUrl.replace(/\/v1\/?$/, "");
|
|
47
|
-
const res = await fetch(`${baseUrl}/v1/chat/completions`, {
|
|
48
|
-
method: "POST",
|
|
49
|
-
headers: { "Content-Type": "application/json" },
|
|
50
|
-
body: JSON.stringify({
|
|
51
|
-
model: llmModel,
|
|
52
|
-
messages: [
|
|
53
|
-
{ role: "system", content: systemPrompt },
|
|
54
|
-
{ role: "user", content: userPrompt },
|
|
55
|
-
],
|
|
56
|
-
temperature,
|
|
57
|
-
}),
|
|
58
|
-
});
|
|
59
|
-
if (!res.ok) {
|
|
60
|
-
throw new Error(`LLM request failed: ${res.status} ${res.statusText}`);
|
|
61
|
-
}
|
|
62
|
-
const data = await res.json();
|
|
63
|
-
let jsonString = data.choices[0].message.content.trim();
|
|
64
|
-
// Strip reasoning blocks from qwen3.5 output
|
|
65
|
-
jsonString = jsonString.replace(/<think>[\s\S]*?<\/think>/g, "").trim();
|
|
66
|
-
if (jsonString.startsWith("```json"))
|
|
67
|
-
jsonString = jsonString.replace(/^```json\n/, "").replace(/\n```$/, "");
|
|
68
|
-
if (jsonString.startsWith("```"))
|
|
69
|
-
jsonString = jsonString.replace(/^```\n/, "").replace(/\n```$/, "");
|
|
70
|
-
return jsonString;
|
|
71
|
-
}
|
|
46
|
+
// LLM calls now routed through OpenClaw's configured primary model via callLLMviaAgent
|
|
72
47
|
// =============================================================================
|
|
73
48
|
// PHASE 1: EPISODIC CONSOLIDATION
|
|
74
49
|
// =============================================================================
|
|
75
|
-
async function phaseConsolidateEpisodic(agentId
|
|
50
|
+
async function phaseConsolidateEpisodic(agentId) {
|
|
76
51
|
console.log(`\n[PHASE 1] Episodic Memory Consolidation`);
|
|
77
52
|
console.log(`─────────────────────────────────────────`);
|
|
78
53
|
const sql = (0, db_js_1.getSql)();
|
|
@@ -109,7 +84,7 @@ Output your response EXCLUSIVELY as a JSON object matching this schema:
|
|
|
109
84
|
}
|
|
110
85
|
Do not use markdown formatting.
|
|
111
86
|
`;
|
|
112
|
-
const jsonString = await
|
|
87
|
+
const jsonString = await (0, llm_js_1.callLLMviaAgent)(`${systemPrompt}\n\nHere is the recent episodic transcript to analyze:\n\n${transcript}`);
|
|
113
88
|
const result = JSON.parse(jsonString);
|
|
114
89
|
console.log(`[PHASE 1] Extracted ${result.extracted_durable_facts.length} permanent facts.`);
|
|
115
90
|
console.log(`[PHASE 1] Session Summary: ${result.session_summary}`);
|
|
@@ -247,7 +222,7 @@ async function phaseLowValueCleanup(agentId) {
|
|
|
247
222
|
// =============================================================================
|
|
248
223
|
// PHASE 4: LINK CANDIDATE DISCOVERY & AUTO-LINKING
|
|
249
224
|
// =============================================================================
|
|
250
|
-
async function phaseLinkDiscovery(agentId
|
|
225
|
+
async function phaseLinkDiscovery(agentId) {
|
|
251
226
|
console.log(`\n[PHASE 4] Link Candidate Discovery & Auto-Linking`);
|
|
252
227
|
console.log(`─────────────────────────────────────────`);
|
|
253
228
|
console.log(`[PHASE 4] Similarity range: ${LINK_SIMILARITY_MIN}–${LINK_SIMILARITY_MAX}`);
|
|
@@ -334,7 +309,7 @@ Output EXCLUSIVELY a JSON array of objects:
|
|
|
334
309
|
Use "none" for pairs that don't have a meaningful relationship worth persisting.
|
|
335
310
|
Do not use markdown formatting.
|
|
336
311
|
`;
|
|
337
|
-
const jsonString = await
|
|
312
|
+
const jsonString = await (0, llm_js_1.callLLMviaAgent)(`${systemPrompt}\n\nClassify the relationships between these memory pairs:\n\n${pairsDescription}`);
|
|
338
313
|
let classifications;
|
|
339
314
|
try {
|
|
340
315
|
classifications = JSON.parse(jsonString);
|
|
@@ -371,8 +346,6 @@ Do not use markdown formatting.
|
|
|
371
346
|
// =============================================================================
|
|
372
347
|
async function runSleepCycle(opts = {}) {
|
|
373
348
|
const agentId = opts.agentId || "main";
|
|
374
|
-
const llmUrl = opts.llmUrl || db_js_1.LM_STUDIO_URL || "http://127.0.0.1:1234/v1";
|
|
375
|
-
const llmModel = opts.llmModel || "qwen3.5-9b";
|
|
376
349
|
console.log(`\n╔══════════════════════════════════════════════════════╗`);
|
|
377
350
|
console.log(`║ SLEEP CYCLE — Knowledge Graph Maintenance Agent ║`);
|
|
378
351
|
console.log(`║ Agent: ${agentId.padEnd(44)}║`);
|
|
@@ -385,10 +358,10 @@ async function runSleepCycle(opts = {}) {
|
|
|
385
358
|
linksCreated: 0,
|
|
386
359
|
};
|
|
387
360
|
try {
|
|
388
|
-
stats.factsExtracted = await phaseConsolidateEpisodic(agentId
|
|
361
|
+
stats.factsExtracted = await phaseConsolidateEpisodic(agentId);
|
|
389
362
|
stats.duplicatesMerged = await phaseDuplicateDetection(agentId);
|
|
390
363
|
stats.staleArchived = await phaseLowValueCleanup(agentId);
|
|
391
|
-
stats.linksCreated = await phaseLinkDiscovery(agentId
|
|
364
|
+
stats.linksCreated = await phaseLinkDiscovery(agentId);
|
|
392
365
|
console.log(`\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
|
|
393
366
|
console.log(` Sleep Cycle Complete 💤`);
|
|
394
367
|
console.log(` Facts extracted: ${stats.factsExtracted}`);
|
|
@@ -437,8 +410,6 @@ if (require.main === module) {
|
|
|
437
410
|
}
|
|
438
411
|
runSleepCycle({
|
|
439
412
|
agentId: getArg("--agent-id") || args.find((a) => !a.startsWith("--")),
|
|
440
|
-
llmUrl: getArg("--llm-url"),
|
|
441
|
-
llmModel: getArg("--llm-model"),
|
|
442
413
|
})
|
|
443
414
|
.then(() => {
|
|
444
415
|
(0, db_js_1.getSql)().end();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sleep_cycle.js","sourceRoot":"","sources":["../../scripts/sleep_cycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sleep_cycle.js","sourceRoot":"","sources":["../../scripts/sleep_cycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared LLM helper — routes chat completion requests through the OpenClaw
|
|
3
|
+
* agent CLI (`openclaw agent --agent main --message "..." --json`).
|
|
4
|
+
*
|
|
5
|
+
* This means all LLM calls automatically use whatever primary model is
|
|
6
|
+
* configured in openclaw.json (e.g. google/gemini-flash-lite-latest).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Send a prompt to the configured primary model by shelling out to the
|
|
10
|
+
* OpenClaw agent CLI. Returns the raw assistant response text with
|
|
11
|
+
* chain-of-thought and markdown fences stripped.
|
|
12
|
+
*
|
|
13
|
+
* @param prompt Combined system + user prompt (the CLI only takes a
|
|
14
|
+
* single --message, so the caller should merge them).
|
|
15
|
+
* @param agentId Agent to run as (default: "main").
|
|
16
|
+
*/
|
|
17
|
+
export declare function callLLMviaAgent(prompt: string, agentId?: string): Promise<string>;
|
|
18
|
+
//# sourceMappingURL=llm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../services/llm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,OAAO,SAAS,GACf,OAAO,CAAC,MAAM,CAAC,CA6DjB"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared LLM helper — routes chat completion requests through the OpenClaw
|
|
4
|
+
* agent CLI (`openclaw agent --agent main --message "..." --json`).
|
|
5
|
+
*
|
|
6
|
+
* This means all LLM calls automatically use whatever primary model is
|
|
7
|
+
* configured in openclaw.json (e.g. google/gemini-flash-lite-latest).
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.callLLMviaAgent = callLLMviaAgent;
|
|
11
|
+
const child_process_1 = require("child_process");
|
|
12
|
+
// ─── LLM via OpenClaw Agent CLI ─────────────────────────────────────────────
|
|
13
|
+
/**
|
|
14
|
+
* Send a prompt to the configured primary model by shelling out to the
|
|
15
|
+
* OpenClaw agent CLI. Returns the raw assistant response text with
|
|
16
|
+
* chain-of-thought and markdown fences stripped.
|
|
17
|
+
*
|
|
18
|
+
* @param prompt Combined system + user prompt (the CLI only takes a
|
|
19
|
+
* single --message, so the caller should merge them).
|
|
20
|
+
* @param agentId Agent to run as (default: "main").
|
|
21
|
+
*/
|
|
22
|
+
async function callLLMviaAgent(prompt, agentId = "main") {
|
|
23
|
+
const args = [
|
|
24
|
+
"agent",
|
|
25
|
+
"--agent", agentId,
|
|
26
|
+
"--message", prompt,
|
|
27
|
+
"--json",
|
|
28
|
+
];
|
|
29
|
+
const result = await new Promise((resolve, reject) => {
|
|
30
|
+
(0, child_process_1.execFile)("openclaw", args, { maxBuffer: 10 * 1024 * 1024 }, (err, stdout, stderr) => {
|
|
31
|
+
if (err) {
|
|
32
|
+
const msg = stderr?.trim() || err.message;
|
|
33
|
+
if (err.message.includes("ENOENT")) {
|
|
34
|
+
reject(new Error(`'openclaw' CLI not found on PATH. Make sure OpenClaw is installed.`));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
reject(new Error(`openclaw agent failed: ${msg}`));
|
|
38
|
+
}
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
resolve(stdout);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
// Parse the JSON output from `openclaw agent --json`
|
|
45
|
+
// Structure: { status, result: { payloads: [{ text }] } }
|
|
46
|
+
let text = "";
|
|
47
|
+
try {
|
|
48
|
+
const parsed = JSON.parse(result);
|
|
49
|
+
if (parsed.status !== "ok") {
|
|
50
|
+
throw new Error(`openclaw agent returned status "${parsed.status}": ${parsed.summary || ""}`);
|
|
51
|
+
}
|
|
52
|
+
text = parsed?.result?.payloads?.[0]?.text ?? "";
|
|
53
|
+
if (!text) {
|
|
54
|
+
throw new Error("openclaw agent returned no text in result.payloads[0].text");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
if (e.message?.startsWith("openclaw agent"))
|
|
59
|
+
throw e;
|
|
60
|
+
// Not JSON — use raw output, stripping ANSI codes and CLI chrome
|
|
61
|
+
text = result
|
|
62
|
+
.replace(/\x1b\[[0-9;]*m/g, "") // strip ANSI color codes
|
|
63
|
+
.replace(/^.*?◇\s*/s, "") // strip everything before ◇
|
|
64
|
+
.replace(/HEARTBEAT_OK\s*$/s, "") // strip trailing heartbeat
|
|
65
|
+
.trim();
|
|
66
|
+
}
|
|
67
|
+
// Strip <think>...</think> chain-of-thought blocks
|
|
68
|
+
text = text.replace(/<think>[\s\S]*?<\/think>/g, "").trim();
|
|
69
|
+
// Strip markdown code blocks
|
|
70
|
+
if (text.startsWith("```json")) {
|
|
71
|
+
text = text.replace(/^```json\n/, "").replace(/\n```$/, "");
|
|
72
|
+
}
|
|
73
|
+
if (text.startsWith("```")) {
|
|
74
|
+
text = text.replace(/^```\n/, "").replace(/\n```$/, "");
|
|
75
|
+
}
|
|
76
|
+
return text;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=llm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../services/llm.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
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;
|