@christopherlittle51/postclaw 1.0.4 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +1 -1
  2. package/dashboard/public/app.js +743 -0
  3. package/dashboard/public/index.html +350 -0
  4. package/dashboard/public/styles.css +571 -0
  5. package/dist/dashboard/helpers.d.ts +32 -0
  6. package/dist/dashboard/helpers.d.ts.map +1 -0
  7. package/dist/dashboard/helpers.js +122 -0
  8. package/dist/dashboard/helpers.js.map +1 -0
  9. package/dist/dashboard/router.d.ts +39 -0
  10. package/dist/dashboard/router.d.ts.map +1 -0
  11. package/dist/dashboard/router.js +94 -0
  12. package/dist/dashboard/router.js.map +1 -0
  13. package/dist/dashboard/routes/config.d.ts +3 -0
  14. package/dist/dashboard/routes/config.d.ts.map +1 -0
  15. package/dist/dashboard/routes/config.js +53 -0
  16. package/dist/dashboard/routes/config.js.map +1 -0
  17. package/dist/dashboard/routes/graph.d.ts +11 -0
  18. package/dist/dashboard/routes/graph.d.ts.map +1 -0
  19. package/dist/dashboard/routes/graph.js +131 -0
  20. package/dist/dashboard/routes/graph.js.map +1 -0
  21. package/dist/dashboard/routes/memories.d.ts +12 -0
  22. package/dist/dashboard/routes/memories.d.ts.map +1 -0
  23. package/dist/dashboard/routes/memories.js +199 -0
  24. package/dist/dashboard/routes/memories.js.map +1 -0
  25. package/dist/dashboard/routes/personas.d.ts +11 -0
  26. package/dist/dashboard/routes/personas.d.ts.map +1 -0
  27. package/dist/dashboard/routes/personas.js +71 -0
  28. package/dist/dashboard/routes/personas.js.map +1 -0
  29. package/dist/dashboard/routes/scripts.d.ts +9 -0
  30. package/dist/dashboard/routes/scripts.d.ts.map +1 -0
  31. package/dist/dashboard/routes/scripts.js +62 -0
  32. package/dist/dashboard/routes/scripts.js.map +1 -0
  33. package/dist/dashboard/routes/workspace.d.ts +10 -0
  34. package/dist/dashboard/routes/workspace.d.ts.map +1 -0
  35. package/dist/dashboard/routes/workspace.js +82 -0
  36. package/dist/dashboard/routes/workspace.js.map +1 -0
  37. package/dist/dashboard/server.d.ts +14 -0
  38. package/dist/dashboard/server.d.ts.map +1 -0
  39. package/dist/dashboard/server.js +97 -0
  40. package/dist/dashboard/server.js.map +1 -0
  41. package/dist/index.d.ts +3 -27
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +142 -46
  44. package/dist/index.js.map +1 -1
  45. package/dist/schemas/validation.d.ts +406 -0
  46. package/dist/schemas/validation.d.ts.map +1 -1
  47. package/dist/schemas/validation.js +231 -4
  48. package/dist/schemas/validation.js.map +1 -1
  49. package/dist/scripts/bootstrap_persona.d.ts.map +1 -1
  50. package/dist/scripts/bootstrap_persona.js +9 -4
  51. package/dist/scripts/bootstrap_persona.js.map +1 -1
  52. package/dist/scripts/bootstrap_tools.js +16 -25
  53. package/dist/scripts/bootstrap_tools.js.map +1 -1
  54. package/dist/scripts/setup-db.d.ts.map +1 -1
  55. package/dist/scripts/setup-db.js +40 -33
  56. package/dist/scripts/setup-db.js.map +1 -1
  57. package/dist/scripts/sleep_cycle.d.ts +12 -0
  58. package/dist/scripts/sleep_cycle.d.ts.map +1 -1
  59. package/dist/scripts/sleep_cycle.js +57 -38
  60. package/dist/scripts/sleep_cycle.js.map +1 -1
  61. package/dist/services/config.d.ts +31 -0
  62. package/dist/services/config.d.ts.map +1 -0
  63. package/dist/services/config.js +125 -0
  64. package/dist/services/config.js.map +1 -0
  65. package/dist/services/db.d.ts.map +1 -1
  66. package/dist/services/db.js +6 -4
  67. package/dist/services/db.js.map +1 -1
  68. package/dist/services/llm.d.ts.map +1 -1
  69. package/dist/services/llm.js +13 -6
  70. package/dist/services/llm.js.map +1 -1
  71. package/dist/services/memoryService.d.ts +10 -38
  72. package/dist/services/memoryService.d.ts.map +1 -1
  73. package/dist/services/memoryService.js +27 -78
  74. package/dist/services/memoryService.js.map +1 -1
  75. package/dist/services/personaService.d.ts +22 -0
  76. package/dist/services/personaService.d.ts.map +1 -0
  77. package/dist/services/personaService.js +148 -0
  78. package/dist/services/personaService.js.map +1 -0
  79. package/dist/tests/dashboard-schemas.test.d.ts +6 -0
  80. package/dist/tests/dashboard-schemas.test.d.ts.map +1 -0
  81. package/dist/tests/dashboard-schemas.test.js +171 -0
  82. package/dist/tests/dashboard-schemas.test.js.map +1 -0
  83. package/dist/tests/helpers.test.d.ts +5 -0
  84. package/dist/tests/helpers.test.d.ts.map +1 -0
  85. package/dist/tests/helpers.test.js +66 -0
  86. package/dist/tests/helpers.test.js.map +1 -0
  87. package/dist/tests/router.test.d.ts +5 -0
  88. package/dist/tests/router.test.d.ts.map +1 -0
  89. package/dist/tests/router.test.js +125 -0
  90. package/dist/tests/router.test.js.map +1 -0
  91. package/openclaw.plugin.json +23 -0
  92. package/package.json +7 -2
@@ -1,14 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateMemoryInputSchema = exports.StoreMemoryInputSchema = exports.MemoryOptionsSchema = void 0;
3
+ exports.MemoryListQuerySchema = exports.ApiResponseSchema = exports.ScriptRunSchema = exports.GraphEdgeCreateSchema = exports.MemoryImportSchema = exports.DashboardMemoryUpdateSchema = exports.DashboardMemoryCreateSchema = exports.PersonaUpdateSchema = exports.PersonaCreateSchema = exports.PromptJsonSchema = exports.ToolDefinitionSchema = exports.ToolFunctionSchema = exports.ToolStoreArgsSchema = exports.MemoryLinkArgsSchema = exports.MemoryUpdateArgsSchema = exports.MemoryStoreArgsSchema = exports.ChatMessageSchema = exports.ToolCallRecordSchema = exports.ContentPartSchema = exports.PersonaChunkSchema = exports.LinkClassificationSchema = exports.SleepCycleResultSchema = exports.OpenClawAgentResponseSchema = exports.EmbeddingApiResponseSchema = exports.EmbeddingDataSchema = exports.LinkCandidateRowSchema = exports.StaleMemoryRowSchema = exports.DuplicateCandidateRowSchema = exports.MemorySemanticRowSchema = exports.PersonaRowSchema = exports.EpisodicRowSchema = exports.SearchResultRowSchema = exports.UpdateMemoryInputSchema = exports.StoreMemoryInputSchema = exports.MemoryOptionsSchema = exports.ChatRoleSchema = exports.MemoryTierSchema = exports.VolatilitySchema = exports.AccessScopeSchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ // =============================================================================
6
+ // SHARED ENUMS & PRIMITIVES
7
+ // =============================================================================
8
+ exports.AccessScopeSchema = zod_1.z.enum(["private", "shared", "global"]);
9
+ exports.VolatilitySchema = zod_1.z.enum(["low", "medium", "high"]);
10
+ exports.MemoryTierSchema = zod_1.z.enum(["volatile", "session", "daily", "stable", "permanent"]);
11
+ exports.ChatRoleSchema = zod_1.z.enum(["system", "user", "assistant", "tool"]);
12
+ // =============================================================================
13
+ // MEMORY OPTIONS (single source of truth — replaces the manual interface)
14
+ // =============================================================================
5
15
  exports.MemoryOptionsSchema = zod_1.z.object({
6
16
  category: zod_1.z.string().max(50).optional().nullable(),
7
17
  source_uri: zod_1.z.string().url().max(512).optional().nullable(),
8
- volatility: zod_1.z.enum(["low", "medium", "high"]).optional().nullable(),
18
+ volatility: exports.VolatilitySchema.optional().nullable(),
9
19
  is_pointer: zod_1.z.boolean().optional().nullable(),
10
20
  token_count: zod_1.z.number().int().optional().nullable(),
11
- tier: zod_1.z.enum(["volatile", "session", "daily", "stable", "permanent"]).optional().nullable(),
21
+ tier: exports.MemoryTierSchema.optional().nullable(),
12
22
  confidence: zod_1.z.number().min(0).max(1).optional().nullable(),
13
23
  usefulness_score: zod_1.z.number().optional().nullable(),
14
24
  expires_at: zod_1.z.date().optional().nullable(),
@@ -16,7 +26,7 @@ exports.MemoryOptionsSchema = zod_1.z.object({
16
26
  });
17
27
  exports.StoreMemoryInputSchema = zod_1.z.object({
18
28
  content: zod_1.z.string().min(1),
19
- scope: zod_1.z.enum(["private", "shared", "global"]).default("private"),
29
+ scope: exports.AccessScopeSchema.default("private"),
20
30
  options: exports.MemoryOptionsSchema.optional(),
21
31
  });
22
32
  exports.UpdateMemoryInputSchema = zod_1.z.object({
@@ -24,4 +34,221 @@ exports.UpdateMemoryInputSchema = zod_1.z.object({
24
34
  newFact: zod_1.z.string().min(1),
25
35
  options: exports.MemoryOptionsSchema.optional(),
26
36
  });
37
+ // =============================================================================
38
+ // DATABASE ROW SHAPES — typed results from postgres queries
39
+ // =============================================================================
40
+ exports.SearchResultRowSchema = zod_1.z.object({
41
+ id: zod_1.z.string().uuid(),
42
+ content: zod_1.z.string(),
43
+ similarity: zod_1.z.number(),
44
+ relationship_type: zod_1.z.string().nullable().optional(),
45
+ });
46
+ exports.EpisodicRowSchema = zod_1.z.object({
47
+ id: zod_1.z.string().uuid(),
48
+ event_type: zod_1.z.string(),
49
+ event_summary: zod_1.z.string(),
50
+ created_at: zod_1.z.coerce.date(),
51
+ });
52
+ exports.PersonaRowSchema = zod_1.z.object({
53
+ category: zod_1.z.string(),
54
+ content: zod_1.z.string(),
55
+ relevance_score: zod_1.z.number(),
56
+ });
57
+ exports.MemorySemanticRowSchema = zod_1.z.object({
58
+ id: zod_1.z.string().uuid(),
59
+ content: zod_1.z.string(),
60
+ embedding: zod_1.z.any(),
61
+ usefulness_score: zod_1.z.number().nullable().optional(),
62
+ access_count: zod_1.z.number().nullable().optional(),
63
+ created_at: zod_1.z.coerce.date().optional(),
64
+ });
65
+ exports.DuplicateCandidateRowSchema = zod_1.z.object({
66
+ id: zod_1.z.string().uuid(),
67
+ content: zod_1.z.string(),
68
+ usefulness_score: zod_1.z.number().nullable().optional(),
69
+ access_count: zod_1.z.number().nullable().optional(),
70
+ });
71
+ exports.StaleMemoryRowSchema = zod_1.z.object({
72
+ id: zod_1.z.string().uuid(),
73
+ content: zod_1.z.string(),
74
+ tier: zod_1.z.string(),
75
+ access_count: zod_1.z.number(),
76
+ created_at: zod_1.z.coerce.date(),
77
+ });
78
+ exports.LinkCandidateRowSchema = zod_1.z.object({
79
+ id: zod_1.z.string().uuid(),
80
+ content: zod_1.z.string(),
81
+ similarity: zod_1.z.number(),
82
+ });
83
+ // =============================================================================
84
+ // LLM / API RESPONSE SCHEMAS
85
+ // =============================================================================
86
+ exports.EmbeddingDataSchema = zod_1.z.object({
87
+ embedding: zod_1.z.array(zod_1.z.number()),
88
+ });
89
+ exports.EmbeddingApiResponseSchema = zod_1.z.object({
90
+ data: zod_1.z.array(exports.EmbeddingDataSchema).min(1),
91
+ });
92
+ exports.OpenClawAgentResponseSchema = zod_1.z.object({
93
+ status: zod_1.z.string(),
94
+ summary: zod_1.z.string().optional(),
95
+ result: zod_1.z.object({
96
+ payloads: zod_1.z.array(zod_1.z.object({
97
+ text: zod_1.z.string(),
98
+ })),
99
+ }).optional(),
100
+ });
101
+ /** LLM output from sleep_cycle Phase 1: episodic consolidation */
102
+ exports.SleepCycleResultSchema = zod_1.z.object({
103
+ session_summary: zod_1.z.string(),
104
+ extracted_durable_facts: zod_1.z.array(zod_1.z.string()),
105
+ });
106
+ /** LLM output from sleep_cycle Phase 4: link classification */
107
+ exports.LinkClassificationSchema = zod_1.z.object({
108
+ source_id: zod_1.z.string(),
109
+ target_id: zod_1.z.string(),
110
+ relationship: zod_1.z.string(),
111
+ });
112
+ /** LLM output from bootstrap_persona.ts */
113
+ exports.PersonaChunkSchema = zod_1.z.object({
114
+ category: zod_1.z.string(),
115
+ content: zod_1.z.string(),
116
+ is_always_active: zod_1.z.boolean(),
117
+ });
118
+ // =============================================================================
119
+ // OPENCLAW PLUGIN HOOK EVENT / CONTEXT TYPES
120
+ // =============================================================================
121
+ exports.ContentPartSchema = zod_1.z.object({
122
+ type: zod_1.z.string(),
123
+ text: zod_1.z.string().optional(),
124
+ image_url: zod_1.z.object({ url: zod_1.z.string() }).optional(),
125
+ });
126
+ exports.ToolCallRecordSchema = zod_1.z.object({
127
+ id: zod_1.z.string().optional(),
128
+ type: zod_1.z.literal("function").optional(),
129
+ function: zod_1.z.object({
130
+ name: zod_1.z.string(),
131
+ arguments: zod_1.z.string(),
132
+ }),
133
+ });
134
+ exports.ChatMessageSchema = zod_1.z.object({
135
+ role: exports.ChatRoleSchema,
136
+ content: zod_1.z.union([zod_1.z.string(), zod_1.z.array(exports.ContentPartSchema), zod_1.z.null()]),
137
+ tool_calls: zod_1.z.array(exports.ToolCallRecordSchema).optional(),
138
+ tool_call_id: zod_1.z.string().optional(),
139
+ name: zod_1.z.string().optional(),
140
+ });
141
+ // =============================================================================
142
+ // TOOL ARGUMENT SCHEMAS (for runtime validation in execute handlers)
143
+ // =============================================================================
144
+ exports.MemoryStoreArgsSchema = zod_1.z.object({
145
+ content: zod_1.z.string(),
146
+ scope: exports.AccessScopeSchema.optional().default("private"),
147
+ category: zod_1.z.string().optional(),
148
+ volatility: exports.VolatilitySchema.optional(),
149
+ tier: exports.MemoryTierSchema.optional(),
150
+ metadata: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
151
+ });
152
+ exports.MemoryUpdateArgsSchema = zod_1.z.object({
153
+ old_memory_id: zod_1.z.string(),
154
+ new_fact: zod_1.z.string(),
155
+ category: zod_1.z.string().optional(),
156
+ volatility: exports.VolatilitySchema.optional(),
157
+ tier: exports.MemoryTierSchema.optional(),
158
+ metadata: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
159
+ });
160
+ exports.MemoryLinkArgsSchema = zod_1.z.object({
161
+ source_id: zod_1.z.string(),
162
+ target_id: zod_1.z.string(),
163
+ relationship: zod_1.z.string(),
164
+ });
165
+ exports.ToolStoreArgsSchema = zod_1.z.object({
166
+ tool_name: zod_1.z.string(),
167
+ tool_json: zod_1.z.string(),
168
+ scope: exports.AccessScopeSchema.optional().default("private"),
169
+ });
170
+ // =============================================================================
171
+ // BOOTSTRAP TOOLS SCHEMA
172
+ // =============================================================================
173
+ exports.ToolFunctionSchema = zod_1.z.object({
174
+ name: zod_1.z.string(),
175
+ description: zod_1.z.string().optional(),
176
+ parameters: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
177
+ });
178
+ exports.ToolDefinitionSchema = zod_1.z.object({
179
+ type: zod_1.z.literal("function").optional(),
180
+ function: exports.ToolFunctionSchema,
181
+ });
182
+ exports.PromptJsonSchema = zod_1.z.object({
183
+ tools: zod_1.z.array(exports.ToolDefinitionSchema),
184
+ });
185
+ // =============================================================================
186
+ // DASHBOARD API SCHEMAS
187
+ // =============================================================================
188
+ /** Create a new persona entry */
189
+ exports.PersonaCreateSchema = zod_1.z.object({
190
+ category: zod_1.z.string().min(1).max(50),
191
+ content: zod_1.z.string().min(1),
192
+ is_always_active: zod_1.z.boolean().default(false),
193
+ access_scope: exports.AccessScopeSchema.default("private"),
194
+ });
195
+ /** Update an existing persona entry */
196
+ exports.PersonaUpdateSchema = zod_1.z.object({
197
+ category: zod_1.z.string().min(1).max(50).optional(),
198
+ content: zod_1.z.string().min(1).optional(),
199
+ is_always_active: zod_1.z.boolean().optional(),
200
+ access_scope: exports.AccessScopeSchema.optional(),
201
+ });
202
+ /** Create a new memory via dashboard */
203
+ exports.DashboardMemoryCreateSchema = zod_1.z.object({
204
+ content: zod_1.z.string().min(1),
205
+ scope: exports.AccessScopeSchema.default("private"),
206
+ category: zod_1.z.string().max(50).optional(),
207
+ tier: exports.MemoryTierSchema.default("daily"),
208
+ volatility: exports.VolatilitySchema.default("low"),
209
+ metadata: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
210
+ });
211
+ /** Update a memory via dashboard */
212
+ exports.DashboardMemoryUpdateSchema = zod_1.z.object({
213
+ content: zod_1.z.string().min(1).optional(),
214
+ category: zod_1.z.string().max(50).optional().nullable(),
215
+ tier: exports.MemoryTierSchema.optional(),
216
+ volatility: exports.VolatilitySchema.optional(),
217
+ is_archived: zod_1.z.boolean().optional(),
218
+ metadata: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
219
+ });
220
+ /** Import memories from markdown content */
221
+ exports.MemoryImportSchema = zod_1.z.object({
222
+ content: zod_1.z.string().min(1),
223
+ source_filename: zod_1.z.string().optional(),
224
+ tier: exports.MemoryTierSchema.default("stable"),
225
+ });
226
+ /** Create a knowledge graph edge */
227
+ exports.GraphEdgeCreateSchema = zod_1.z.object({
228
+ source_memory_id: zod_1.z.string().uuid(),
229
+ target_memory_id: zod_1.z.string().uuid(),
230
+ relationship_type: zod_1.z.string().min(1).max(100),
231
+ weight: zod_1.z.number().min(0).max(10).default(1.0),
232
+ });
233
+ /** Trigger a script run */
234
+ exports.ScriptRunSchema = zod_1.z.object({
235
+ agentId: zod_1.z.string().default("main"),
236
+ file: zod_1.z.string().optional(),
237
+ });
238
+ /** Standard API response wrapper */
239
+ exports.ApiResponseSchema = zod_1.z.object({
240
+ ok: zod_1.z.boolean(),
241
+ data: zod_1.z.any().optional(),
242
+ error: zod_1.z.string().optional(),
243
+ });
244
+ /** Memory list query params */
245
+ exports.MemoryListQuerySchema = zod_1.z.object({
246
+ agentId: zod_1.z.string().default("main"),
247
+ limit: zod_1.z.coerce.number().int().min(1).max(500).default(50),
248
+ offset: zod_1.z.coerce.number().int().min(0).default(0),
249
+ category: zod_1.z.string().optional(),
250
+ tier: exports.MemoryTierSchema.optional(),
251
+ archived: zod_1.z.enum(["true", "false", "all"]).default("false"),
252
+ search: zod_1.z.string().optional(),
253
+ });
27
254
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../schemas/validation.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3D,UAAU,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnE,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3F,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1D,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,UAAU,EAAE,OAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAChE,CAAC,CAAC;AAIU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,KAAK,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACjE,OAAO,EAAE,2BAAmB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC9B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,2BAAmB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../schemas/validation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"bootstrap_persona.d.ts","sourceRoot":"","sources":["../../scripts/bootstrap_persona.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA6CH,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,CAiEf"}
@@ -19,6 +19,9 @@ 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
21
  const llm_js_1 = require("../services/llm.js");
22
+ const zod_1 = require("zod");
23
+ const validation_js_1 = require("../schemas/validation.js");
24
+ // PersonaChunk type is now imported from schemas/validation.ts
22
25
  // ─── LLM Chunking ───────────────────────────────────────────────────────────
23
26
  async function chunkMarkdownWithLLM(markdownText, filename) {
24
27
  const systemPrompt = `
@@ -36,10 +39,10 @@ Each object must have:
36
39
  const combined = `${systemPrompt}\n\nHere is the file to chunk:\n\n${markdownText}`;
37
40
  const jsonString = await (0, llm_js_1.callLLMviaAgent)(combined);
38
41
  try {
39
- return JSON.parse(jsonString);
42
+ return zod_1.z.array(validation_js_1.PersonaChunkSchema).parse(JSON.parse(jsonString));
40
43
  }
41
44
  catch (e) {
42
- console.error(" ❌ Failed to parse LLM output as JSON:", jsonString.substring(0, 200));
45
+ console.error(" ❌ Failed to parse/validate LLM output:", jsonString.substring(0, 200));
43
46
  throw e;
44
47
  }
45
48
  }
@@ -58,7 +61,8 @@ async function bootstrapPersona(filePath, opts = {}) {
58
61
  console.log(` ✅ Read ${filename} (${markdownText.length} chars)`);
59
62
  }
60
63
  catch (err) {
61
- console.error(` ❌ Cannot read file: ${err.message}`);
64
+ const msg = err instanceof Error ? err.message : String(err);
65
+ console.error(` ❌ Cannot read file: ${msg}`);
62
66
  throw err;
63
67
  }
64
68
  // 2. Chunk with LLM (routed through OpenClaw's configured primary model)
@@ -92,7 +96,8 @@ async function bootstrapPersona(filePath, opts = {}) {
92
96
  stored++;
93
97
  }
94
98
  catch (err) {
95
- console.error(` ⚠️ Failed to store "${chunk.category}": ${err.message}`);
99
+ const msg = err instanceof Error ? err.message : String(err);
100
+ console.error(` ⚠️ Failed to store "${chunk.category}": ${msg}`);
96
101
  }
97
102
  }
98
103
  console.log(`\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap_persona.js","sourceRoot":"","sources":["../../scripts/bootstrap_persona.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap_persona.js","sourceRoot":"","sources":["../../scripts/bootstrap_persona.ts"],"names":[],"mappings":"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"}
@@ -1,41 +1,32 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const postgres_1 = __importDefault(require("postgres"));
7
3
  const promises_1 = require("fs/promises");
8
4
  const db_js_1 = require("../services/db.js");
9
- const sql = (0, postgres_1.default)(db_js_1.POSTCLAW_DB_URL);
5
+ const validation_js_1 = require("../schemas/validation.js");
6
+ const sql = (0, db_js_1.getSql)();
10
7
  const AGENT_ID = process.env.AGENT_ID || "default_agent";
11
8
  // The tools we ALWAYS want in the payload (handled by the pruner)
12
9
  const CORE_TOOLS = ["read", "write", "edit", "exec", "process", "session_status"];
13
- async function getEmbedding(text) {
14
- const res = await fetch(`${db_js_1.LM_STUDIO_URL}/v1/embeddings`, {
15
- method: "POST",
16
- headers: { "Content-Type": "application/json" },
17
- body: JSON.stringify({ input: text, model: "text-embedding-nomic-embed-text-v2-moe" }),
18
- });
19
- const data = await res.json();
20
- return data.data[0].embedding;
21
- }
22
10
  async function bootstrapTools(promptFilePath) {
23
11
  try {
24
- const rawData = await (0, promises_1.readFile)(promptFilePath, "utf-8");
25
- const promptJson = JSON.parse(rawData);
26
- if (!promptJson.tools || !Array.isArray(promptJson.tools)) {
27
- console.log("No tools array found in the provided JSON.");
28
- return;
29
- }
12
+ const promptRaw = await (0, promises_1.readFile)(promptFilePath, "utf-8");
13
+ const promptJson = validation_js_1.PromptJsonSchema.parse(JSON.parse(promptRaw));
14
+ const tools = promptJson.tools;
15
+ console.log(`[BOOTSTRAP] Found ${tools.length} tool(s) in prompt.json`);
30
16
  // Filter out the core tools, we only want to store the heavy/situational ones
31
- const situationalTools = promptJson.tools.filter((t) => !CORE_TOOLS.includes(t.function.name));
32
- console.log(`[BOOTSTRAP] Found ${situationalTools.length} situational tools to store.`);
17
+ const situationalTools = tools.filter((t) => !CORE_TOOLS.includes(t.function.name));
18
+ console.log(`[BOOTSTRAP] Storing ${situationalTools.length} situational tools.`);
33
19
  for (const tool of situationalTools) {
34
- const toolName = tool.function.name;
20
+ const fn = tool.function;
21
+ if (!fn || !fn.name) {
22
+ console.warn("[BOOTSTRAP] Skipping tool with no function.name");
23
+ continue;
24
+ }
25
+ const toolName = fn.name;
35
26
  // Embed the name + description so semantic search can find it based on user intent
36
- const embedText = `${toolName}: ${tool.function.description}`;
27
+ const embedText = `${toolName}: ${fn.description || ""}`;
37
28
  console.log(`[DB] Generating embedding for tool: ${toolName}...`);
38
- const embedding = await getEmbedding(embedText);
29
+ const embedding = await (0, db_js_1.getEmbedding)(embedText);
39
30
  await sql.begin(async (tx) => {
40
31
  await tx `SELECT set_config('app.current_agent_id', ${AGENT_ID}, true)`;
41
32
  await tx `
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap_tools.js","sourceRoot":"","sources":["../../scripts/bootstrap_tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap_tools.js","sourceRoot":"","sources":["../../scripts/bootstrap_tools.ts"],"names":[],"mappings":";;AAAA,0CAAuC;AACvC,6CAAyD;AACzD,4DAAiF;AAEjF,MAAM,GAAG,GAAG,IAAA,cAAM,GAAE,CAAC;AACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,eAAe,CAAC;AAEzD,kEAAkE;AAClE,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAElF,KAAK,UAAU,cAAc,CAAC,cAAsB;IAClD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,IAAA,mBAAQ,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,gCAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,MAAM,KAAK,GAAqB,UAAU,CAAC,KAAK,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,MAAM,yBAAyB,CAAC,CAAC;QAExE,8EAA8E;QAC9E,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,uBAAuB,gBAAgB,CAAC,MAAM,qBAAqB,CAAC,CAAC;QAEjF,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzB,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;gBAChE,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC;YACzB,mFAAmF;YACnF,MAAM,SAAS,GAAG,GAAG,QAAQ,KAAK,EAAE,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,uCAAuC,QAAQ,KAAK,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,SAAS,CAAC,CAAC;YAEhD,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAO,EAAE,EAAE;gBAChC,MAAM,EAAE,CAAA,6CAA6C,QAAQ,SAAS,CAAC;gBACvE,MAAM,EAAE,CAAA;;;;cAIF,QAAQ,eAAe,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;;;;SAK3F,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;YAAS,CAAC;QACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,UAAU;IAAE,cAAc,CAAC,UAAU,CAAC,CAAC;;IACtC,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-db.d.ts","sourceRoot":"","sources":["../../scripts/setup-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAqVH,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAsB,QAAQ,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiKrE"}
1
+ {"version":3,"file":"setup-db.d.ts","sourceRoot":"","sources":["../../scripts/setup-db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAoVH,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAsB,QAAQ,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyKrE"}
@@ -91,7 +91,8 @@ CREATE TABLE IF NOT EXISTS agents (
91
91
  default_embedding_model VARCHAR(100) DEFAULT 'nomic-embed-text-v2-moe',
92
92
  embedding_dimensions INT DEFAULT 768,
93
93
  created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
94
- is_active BOOLEAN DEFAULT true
94
+ is_active BOOLEAN DEFAULT true,
95
+ workspace_dir VARCHAR(512)
95
96
  );
96
97
 
97
98
  CREATE TABLE IF NOT EXISTS agent_persona (
@@ -106,15 +107,13 @@ CREATE TABLE IF NOT EXISTS agent_persona (
106
107
  UNIQUE(agent_id, category)
107
108
  );
108
109
 
109
- CREATE TABLE IF NOT EXISTS context_environment (
110
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
110
+ CREATE TABLE IF NOT EXISTS plugin_config (
111
111
  agent_id VARCHAR(100) NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
112
- access_scope access_scope_enum DEFAULT 'private',
113
- tool_name VARCHAR(100) NOT NULL,
114
- context_data TEXT NOT NULL,
115
- embedding vector,
112
+ config_key VARCHAR(100) NOT NULL,
113
+ config_value JSONB NOT NULL,
116
114
  created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
117
- UNIQUE(agent_id, tool_name)
115
+ updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
116
+ PRIMARY KEY (agent_id, config_key)
118
117
  );
119
118
 
120
119
  CREATE TABLE IF NOT EXISTS memory_semantic (
@@ -202,10 +201,10 @@ CREATE TRIGGER trg_immutable_persona_owner
202
201
  BEFORE UPDATE ON agent_persona
203
202
  FOR EACH ROW EXECUTE FUNCTION enforce_immutable_ownership();
204
203
 
205
- DROP TRIGGER IF EXISTS trg_immutable_context_owner ON context_environment;
206
- CREATE TRIGGER trg_immutable_context_owner
207
- BEFORE UPDATE ON context_environment
208
- FOR EACH ROW EXECUTE FUNCTION enforce_immutable_ownership();
204
+ DROP TRIGGER IF EXISTS trg_config_modtime ON plugin_config;
205
+ CREATE TRIGGER trg_config_modtime
206
+ BEFORE UPDATE ON plugin_config
207
+ FOR EACH ROW EXECUTE FUNCTION update_modified_column();
209
208
 
210
209
  -- 6. Indices
211
210
  CREATE INDEX IF NOT EXISTS idx_mem_sem_agent_tier ON memory_semantic(agent_id, tier, is_archived);
@@ -227,7 +226,7 @@ CREATE INDEX IF NOT EXISTS idx_mem_sem_superseded ON memory_semantic(superseded_
227
226
  ALTER TABLE memory_semantic ENABLE ROW LEVEL SECURITY;
228
227
  ALTER TABLE memory_episodic ENABLE ROW LEVEL SECURITY;
229
228
  ALTER TABLE agent_persona ENABLE ROW LEVEL SECURITY;
230
- ALTER TABLE context_environment ENABLE ROW LEVEL SECURITY;
229
+ ALTER TABLE plugin_config ENABLE ROW LEVEL SECURITY;
231
230
  ALTER TABLE entity_edges ENABLE ROW LEVEL SECURITY;
232
231
  ALTER TABLE conversation_checkpoints ENABLE ROW LEVEL SECURITY;
233
232
 
@@ -268,22 +267,22 @@ DROP POLICY IF EXISTS persona_delete ON agent_persona;
268
267
  CREATE POLICY persona_delete ON agent_persona FOR DELETE
269
268
  USING (agent_id = current_setting('app.current_agent_id', true));
270
269
 
271
- -- context_environment
272
- DROP POLICY IF EXISTS context_read ON context_environment;
273
- CREATE POLICY context_read ON context_environment FOR SELECT
274
- USING (agent_id = current_setting('app.current_agent_id', true) OR access_scope IN ('shared', 'global'));
270
+ -- plugin_config
271
+ DROP POLICY IF EXISTS config_read ON plugin_config;
272
+ CREATE POLICY config_read ON plugin_config FOR SELECT
273
+ USING (agent_id = current_setting('app.current_agent_id', true));
275
274
 
276
- DROP POLICY IF EXISTS context_insert ON context_environment;
277
- CREATE POLICY context_insert ON context_environment FOR INSERT
275
+ DROP POLICY IF EXISTS config_insert ON plugin_config;
276
+ CREATE POLICY config_insert ON plugin_config FOR INSERT
278
277
  WITH CHECK (agent_id = current_setting('app.current_agent_id', true));
279
278
 
280
- DROP POLICY IF EXISTS context_update ON context_environment;
281
- CREATE POLICY context_update ON context_environment FOR UPDATE
282
- USING (agent_id = current_setting('app.current_agent_id', true) OR access_scope = 'global')
283
- WITH CHECK (agent_id = current_setting('app.current_agent_id', true) OR access_scope = 'global');
279
+ DROP POLICY IF EXISTS config_update ON plugin_config;
280
+ CREATE POLICY config_update ON plugin_config FOR UPDATE
281
+ USING (agent_id = current_setting('app.current_agent_id', true))
282
+ WITH CHECK (agent_id = current_setting('app.current_agent_id', true));
284
283
 
285
- DROP POLICY IF EXISTS context_delete ON context_environment;
286
- CREATE POLICY context_delete ON context_environment FOR DELETE
284
+ DROP POLICY IF EXISTS config_delete ON plugin_config;
285
+ CREATE POLICY config_delete ON plugin_config FOR DELETE
287
286
  USING (agent_id = current_setting('app.current_agent_id', true));
288
287
 
289
288
  -- memory_episodic
@@ -369,8 +368,9 @@ async function runSetup(opts = {}) {
369
368
  log("✅", `Connected to Postgres as superuser`);
370
369
  }
371
370
  catch (err) {
371
+ const msg = err instanceof Error ? err.message : String(err);
372
372
  log("❌", `Cannot connect to ${adminUrl}`);
373
- log("", `Error: ${err.message}`);
373
+ log("", `Error: ${msg}`);
374
374
  log("", `Try: openclaw postclaw setup --admin-url postgres://postgres:PASSWORD@localhost/postgres`);
375
375
  throw new Error("Superuser connection failed");
376
376
  }
@@ -389,7 +389,8 @@ async function runSetup(opts = {}) {
389
389
  }
390
390
  }
391
391
  catch (err) {
392
- log("❌", `Failed to create database: ${err.message}`);
392
+ const msg = err instanceof Error ? err.message : String(err);
393
+ log("❌", `Failed to create database: ${msg}`);
393
394
  await adminSql.end();
394
395
  throw err;
395
396
  }
@@ -410,7 +411,8 @@ async function runSetup(opts = {}) {
410
411
  await adminSql.unsafe(`GRANT CONNECT ON DATABASE ${dbName} TO ${appUser}`);
411
412
  }
412
413
  catch (err) {
413
- log("❌", `Failed to create user: ${err.message}`);
414
+ const msg = err instanceof Error ? err.message : String(err);
415
+ log("❌", `Failed to create user: ${msg}`);
414
416
  await adminSql.end();
415
417
  throw err;
416
418
  }
@@ -430,7 +432,8 @@ async function runSetup(opts = {}) {
430
432
  await adminSql.unsafe(`ALTER ROLE system_admin BYPASSRLS`);
431
433
  }
432
434
  catch (err) {
433
- log("⚠️", `system_admin role setup warning: ${err.message}`);
435
+ const msg = err instanceof Error ? err.message : String(err);
436
+ log("⚠️", `system_admin role setup warning: ${msg}`);
434
437
  // Non-fatal — continue without it
435
438
  }
436
439
  await adminSql.end();
@@ -445,7 +448,8 @@ async function runSetup(opts = {}) {
445
448
  log("✅", `Connected to '${dbName}'`);
446
449
  }
447
450
  catch (err) {
448
- log("❌", `Cannot connect to database '${dbName}': ${err.message}`);
451
+ const msg = err instanceof Error ? err.message : String(err);
452
+ log("❌", `Cannot connect to database '${dbName}': ${msg}`);
449
453
  throw err;
450
454
  }
451
455
  try {
@@ -454,7 +458,8 @@ async function runSetup(opts = {}) {
454
458
  log("✅", `Schema created (6 tables, 14 indices, 18 RLS policies)`);
455
459
  }
456
460
  catch (err) {
457
- log("❌", `Schema creation failed: ${err.message}`);
461
+ const msg = err instanceof Error ? err.message : String(err);
462
+ log("❌", `Schema creation failed: ${msg}`);
458
463
  await dbSql.end();
459
464
  throw err;
460
465
  }
@@ -464,7 +469,8 @@ async function runSetup(opts = {}) {
464
469
  log("✅", `Granted permissions`);
465
470
  }
466
471
  catch (err) {
467
- log("⚠️", `system_admin grants warning: ${err.message}`);
472
+ const msg = err instanceof Error ? err.message : String(err);
473
+ log("⚠️", `system_admin grants warning: ${msg}`);
468
474
  }
469
475
  await dbSql.end();
470
476
  // ── Step 6: Build connection string ───────────────────────────────────────
@@ -494,7 +500,8 @@ async function runSetup(opts = {}) {
494
500
  log("✅", `Updated ${cfgPath} with dbUrl`);
495
501
  }
496
502
  catch (err) {
497
- log("⚠️", `Could not update ${cfgPath}: ${err.message}`);
503
+ const msg = err instanceof Error ? err.message : String(err);
504
+ log("⚠️", `Could not update ${cfgPath}: ${msg}`);
498
505
  }
499
506
  break;
500
507
  }