@christopherlittle51/postclaw 1.3.1 → 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +76 -690
  2. package/dashboard/README.md +89 -0
  3. package/dashboard/public/app.js +1023 -543
  4. package/dashboard/public/index.html +283 -75
  5. package/dashboard/public/styles.css +583 -126
  6. package/dist/dashboard/routes/config.d.ts.map +1 -1
  7. package/dist/dashboard/routes/config.js +17 -1
  8. package/dist/dashboard/routes/config.js.map +1 -1
  9. package/dist/dashboard/routes/graph.d.ts +2 -2
  10. package/dist/dashboard/routes/graph.d.ts.map +1 -1
  11. package/dist/dashboard/routes/graph.js +61 -23
  12. package/dist/dashboard/routes/graph.js.map +1 -1
  13. package/dist/dashboard/routes/memories.d.ts.map +1 -1
  14. package/dist/dashboard/routes/memories.js +97 -11
  15. package/dist/dashboard/routes/memories.js.map +1 -1
  16. package/dist/dashboard/routes/scripts.d.ts.map +1 -1
  17. package/dist/dashboard/routes/scripts.js +3 -1
  18. package/dist/dashboard/routes/scripts.js.map +1 -1
  19. package/dist/dashboard/routes/workspace.d.ts +4 -3
  20. package/dist/dashboard/routes/workspace.d.ts.map +1 -1
  21. package/dist/dashboard/routes/workspace.js +119 -7
  22. package/dist/dashboard/routes/workspace.js.map +1 -1
  23. package/dist/dashboard/server.js +1 -1
  24. package/dist/dashboard/server.js.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +189 -43
  28. package/dist/index.js.map +1 -1
  29. package/dist/schemas/validation.d.ts +108 -12
  30. package/dist/schemas/validation.d.ts.map +1 -1
  31. package/dist/schemas/validation.js +66 -11
  32. package/dist/schemas/validation.js.map +1 -1
  33. package/dist/scripts/bootstrap_persona.d.ts.map +1 -1
  34. package/dist/scripts/bootstrap_persona.js +3 -3
  35. package/dist/scripts/bootstrap_persona.js.map +1 -1
  36. package/dist/scripts/setup-db.d.ts.map +1 -1
  37. package/dist/scripts/setup-db.js +74 -37
  38. package/dist/scripts/setup-db.js.map +1 -1
  39. package/dist/scripts/sleep_cycle.d.ts +1 -0
  40. package/dist/scripts/sleep_cycle.d.ts.map +1 -1
  41. package/dist/scripts/sleep_cycle.js +209 -38
  42. package/dist/scripts/sleep_cycle.js.map +1 -1
  43. package/dist/services/config.d.ts +1 -0
  44. package/dist/services/config.d.ts.map +1 -1
  45. package/dist/services/config.js +15 -29
  46. package/dist/services/config.js.map +1 -1
  47. package/dist/services/db.d.ts +10 -0
  48. package/dist/services/db.d.ts.map +1 -1
  49. package/dist/services/db.js +38 -1
  50. package/dist/services/db.js.map +1 -1
  51. package/dist/services/llm.d.ts.map +1 -1
  52. package/dist/services/llm.js +3 -1
  53. package/dist/services/llm.js.map +1 -1
  54. package/dist/services/memoryService.d.ts +4 -2
  55. package/dist/services/memoryService.d.ts.map +1 -1
  56. package/dist/services/memoryService.js +127 -43
  57. package/dist/services/memoryService.js.map +1 -1
  58. package/dist/services/personaService.d.ts +25 -0
  59. package/dist/services/personaService.d.ts.map +1 -1
  60. package/dist/services/personaService.js +79 -0
  61. package/dist/services/personaService.js.map +1 -1
  62. package/dist/tests/dashboard-schemas.test.js +71 -1
  63. package/dist/tests/dashboard-schemas.test.js.map +1 -1
  64. package/openclaw.plugin.json +5 -0
  65. package/package.json +2 -1
  66. package/schemas/README.md +64 -0
@@ -115,7 +115,7 @@ const validation_js_1 = require("../schemas/validation.js");
115
115
  // GRAPH SCHEMA
116
116
  // =============================================================================
117
117
  (0, vitest_1.describe)("GraphEdgeCreateSchema", () => {
118
- (0, vitest_1.it)("accepts valid edge", () => {
118
+ (0, vitest_1.it)("accepts valid memory-to-memory edge", () => {
119
119
  const result = validation_js_1.GraphEdgeCreateSchema.parse({
120
120
  source_memory_id: "a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
121
121
  target_memory_id: "f1e2d3c4-b5a6-4a5b-8c9d-0e1f2a3b4c5d",
@@ -123,6 +123,19 @@ const validation_js_1 = require("../schemas/validation.js");
123
123
  });
124
124
  (0, vitest_1.expect)(result.weight).toBe(1.0);
125
125
  });
126
+ (0, vitest_1.it)("accepts persona-to-memory edge", () => {
127
+ const result = validation_js_1.GraphEdgeCreateSchema.parse({
128
+ source_persona_id: "a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
129
+ target_memory_id: "f1e2d3c4-b5a6-4a5b-8c9d-0e1f2a3b4c5d",
130
+ relationship_type: "defines",
131
+ });
132
+ (0, vitest_1.expect)(result.source_persona_id).toBe("a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d");
133
+ });
134
+ (0, vitest_1.it)("rejects edge with no source or target", () => {
135
+ (0, vitest_1.expect)(() => validation_js_1.GraphEdgeCreateSchema.parse({
136
+ relationship_type: "related_to",
137
+ })).toThrow();
138
+ });
126
139
  (0, vitest_1.it)("rejects invalid UUID", () => {
127
140
  (0, vitest_1.expect)(() => validation_js_1.GraphEdgeCreateSchema.parse({
128
141
  source_memory_id: "not-a-uuid",
@@ -168,4 +181,61 @@ const validation_js_1 = require("../schemas/validation.js");
168
181
  (0, vitest_1.expect)(() => validation_js_1.MemoryListQuerySchema.parse({ limit: "501" })).toThrow();
169
182
  });
170
183
  });
184
+ // =============================================================================
185
+ // NEW: PERSONA EDGE & WORKSPACE IMPORT SCHEMAS
186
+ // =============================================================================
187
+ (0, vitest_1.describe)("PersonaEdgeCreateSchema", () => {
188
+ (0, vitest_1.it)("accepts valid persona-memory link", () => {
189
+ const result = validation_js_1.PersonaEdgeCreateSchema.parse({
190
+ persona_id: "a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
191
+ memory_id: "f1e2d3c4-b5a6-4a5b-8c9d-0e1f2a3b4c5d",
192
+ relationship_type: "defines",
193
+ });
194
+ (0, vitest_1.expect)(result.weight).toBe(1.0);
195
+ (0, vitest_1.expect)(result.relationship_type).toBe("defines");
196
+ });
197
+ (0, vitest_1.it)("rejects invalid persona UUID", () => {
198
+ (0, vitest_1.expect)(() => validation_js_1.PersonaEdgeCreateSchema.parse({
199
+ persona_id: "not-valid",
200
+ memory_id: "f1e2d3c4-b5a6-4a5b-8c9d-0e1f2a3b4c5d",
201
+ relationship_type: "supports",
202
+ })).toThrow();
203
+ });
204
+ (0, vitest_1.it)("rejects missing relationship", () => {
205
+ (0, vitest_1.expect)(() => validation_js_1.PersonaEdgeCreateSchema.parse({
206
+ persona_id: "a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
207
+ memory_id: "f1e2d3c4-b5a6-4a5b-8c9d-0e1f2a3b4c5d",
208
+ })).toThrow();
209
+ });
210
+ });
211
+ (0, vitest_1.describe)("WorkspaceImportSchema", () => {
212
+ (0, vitest_1.it)("accepts valid persona import", () => {
213
+ const result = validation_js_1.WorkspaceImportSchema.parse({
214
+ filename: "SOUL.md",
215
+ target: "persona",
216
+ });
217
+ (0, vitest_1.expect)(result.tier).toBe("stable");
218
+ (0, vitest_1.expect)(result.target).toBe("persona");
219
+ });
220
+ (0, vitest_1.it)("accepts valid memory import with tier", () => {
221
+ const result = validation_js_1.WorkspaceImportSchema.parse({
222
+ filename: "notes.md",
223
+ target: "memory",
224
+ tier: "permanent",
225
+ });
226
+ (0, vitest_1.expect)(result.tier).toBe("permanent");
227
+ });
228
+ (0, vitest_1.it)("rejects invalid target", () => {
229
+ (0, vitest_1.expect)(() => validation_js_1.WorkspaceImportSchema.parse({
230
+ filename: "test.md",
231
+ target: "invalid",
232
+ })).toThrow();
233
+ });
234
+ (0, vitest_1.it)("rejects empty filename", () => {
235
+ (0, vitest_1.expect)(() => validation_js_1.WorkspaceImportSchema.parse({
236
+ filename: "",
237
+ target: "persona",
238
+ })).toThrow();
239
+ });
240
+ });
171
241
  //# sourceMappingURL=dashboard-schemas.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-schemas.test.js","sourceRoot":"","sources":["../../tests/dashboard-schemas.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-schemas.test.js","sourceRoot":"","sources":["../../tests/dashboard-schemas.test.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,11 @@
42
42
  "type": "integer",
43
43
  "description": "Total number of memories (semantic + linked) to inject into prompt.",
44
44
  "default": 15
45
+ },
46
+ "debugLogging": {
47
+ "type": "boolean",
48
+ "description": "Enable verbose logging of hook events and contexts for debugging",
49
+ "default": false
45
50
  }
46
51
  }
47
52
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christopherlittle51/postclaw",
3
- "version": "1.3.1",
3
+ "version": "1.3.4",
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",
@@ -44,6 +44,7 @@
44
44
  "@sinclair/typebox": "^0.34.48",
45
45
  "dotenv": "^17.3.1",
46
46
  "postgres": "^3.4.8",
47
+ "ws": "^8.19.0",
47
48
  "zod": "^4.3.6"
48
49
  },
49
50
  "devDependencies": {
@@ -0,0 +1,64 @@
1
+ # PostClaw Schemas Validation
2
+
3
+ ## Overview
4
+
5
+ The `schemas/` directory, centered around `validation.ts`, acts as the data bodyguard for the entire PostClaw architecture.
6
+
7
+ When dealing with artificial intelligence, outputs can be unpredictable. An LLM might hallucinate a new category of memory, or forget to include a required ID when trying to update a fact. To prevent these AI errors from crashing the database or corrupting your agent's memory, PostClaw uses **Zod**, a TypeScript-first schema validation library.
8
+
9
+ ---
10
+
11
+ ## 1. Database Row Validation
12
+
13
+ Before PostClaw trusts data coming from PostgreSQL, it runs it through a Zod schema to guarantee the shape and types.
14
+
15
+ * **`MemorySemanticRow` & `EpisodicRow`:** Ensures that every memory fetched from the database has a valid UUID (not just a random string), a proper JavaScript `Date` object for timestamps, and an authorized category (e.g., `core`, `concept`, `human`).
16
+ * **Why it matters:** This prevents runtime `undefined` errors if you manually alter the database outside of the plugin and accidentally create a malformed row.
17
+
18
+ ## 2. Agent Tool Guardrails
19
+
20
+ OpenClaw allows agents to call "Tools" (functions) to perform actions like saving or modifying a memory. The schemas in this file strictly govern what the agent is allowed to pass to those tools.
21
+
22
+ * **`MemoryStoreSchema`:** When the agent calls `memory_store`, Zod enforces that the `content` is a string, and that the `tier` parameter is explicitly either `"permanent"`, `"session"`, or `"temporary"`. If the AI tries to use a tier like `"forever"`, the schema rejects it and returns a clean error to the LLM, prompting it to try again with the correct format.
23
+ * **`MemoryUpdateSchema`:** Enforces that the agent provides a valid UUID when attempting to supersede an old memory.
24
+
25
+ ## 3. Sleep Cycle JSON Parsing
26
+
27
+ During the automated background maintenance (the sleep cycle), PostClaw asks the LLM to process thousands of words and return a compressed, structured JSON object outlining duplicate memories or new facts.
28
+
29
+ * **`EpisodicSummarySchema` & `ConsolidationEvaluationSchema`:** These schemas define the exact JSON format the LLM must return. If the LLM returns an array instead of an object, or forgets to include an `isDuplicate` boolean flag, Zod catches the error instantly.
30
+ * **Why it matters:** This is the most common point of failure for smaller LLMs. Without strict validation, bad JSON would break the parsing logic and silently fail to consolidate memories.
31
+
32
+ ---
33
+
34
+ ## Troubleshooting Guide
35
+
36
+ ### "Validation failed" or "ZodError" in Agent Logs
37
+
38
+ If you see a `ZodError` printed in your terminal while the agent is "thinking," it means the agent attempted to use a memory tool incorrectly.
39
+
40
+ * **Fix:** You generally don't need to do anything. OpenClaw automatically feeds the Zod error back to the LLM, which acts as a correction mechanism, teaching the AI how to fix its own formatting error on the next attempt. However, if the agent persistently fails over multiple turns, your primary LLM might be too weak to follow complex JSON instructions.
41
+
42
+ ### Sleep Cycle: "Failed to parse LLM response for batch"
43
+
44
+ The background sleep script (e.g., Phase I or Phase IV) skipped a batch of memories because the LLM failed to match the `EpisodicSummarySchema`.
45
+
46
+ * **Fix:** The LLM you are using (e.g., through Ollama or LM Studio) likely included conversational text (like "Here is the JSON you requested:") or markdown formatting (` ```json ` tags) that breaks raw JSON parsing before Zod can even validate it. Switch to a stronger model (like Llama 3 or Qwen) or ensure your LLM prompt template enforces strict JSON-only outputs.
47
+
48
+ ### UUID Validation Failures
49
+
50
+ If the dashboard or manual scripts throw an error about an invalid UUID, a function received a plain string instead of a true Database ID.
51
+
52
+ * **Fix:** Ensure any manual IDs you provide (such as when testing API routes or using the CLI) are formatted as standard 36-character `v4` UUIDs (e.g., `123e4567-e89b-12d3-a456-426614174000`). Zod intrinsically blocks unstructured strings.
53
+
54
+ ### "Invalid Enum Value" during Memory Storage
55
+
56
+ If the agent attempts to save a new memory and the terminal throws an error stating `Received: 'critical' - Expected: 'permanent' | 'session' | 'temporary'`.
57
+
58
+ * **Fix:** The LLM hallucinated a memory tier or category that doesn't strictly exist within the plugin's Zod definitions. The agent must stick strictly to the enumerated values defined in `MemoryStoreSchema`. OpenClaw automatically reflects this error back to the LLM so it can correct its mistake on a retry.
59
+
60
+ ### Date Object Parsing Errors
61
+
62
+ When the plugin pulls data from the PostgreSQL `memory_episodic` table using the `EpisodicRow` schema, Zod expects valid JavaScript Date objects for timestamps, not raw ISO strings.
63
+
64
+ * **Fix:** If you are building custom manual scripts interacting directly with the database rows, ensure you are utilizing `postgres.js`'s built-in date parsing or manually hydrating your JSON returns into Date objects before passing them into the Zod validator.