@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.
- package/README.md +1 -1
- package/dashboard/public/app.js +743 -0
- package/dashboard/public/index.html +350 -0
- package/dashboard/public/styles.css +571 -0
- package/dist/dashboard/helpers.d.ts +32 -0
- package/dist/dashboard/helpers.d.ts.map +1 -0
- package/dist/dashboard/helpers.js +122 -0
- package/dist/dashboard/helpers.js.map +1 -0
- package/dist/dashboard/router.d.ts +39 -0
- package/dist/dashboard/router.d.ts.map +1 -0
- package/dist/dashboard/router.js +94 -0
- package/dist/dashboard/router.js.map +1 -0
- package/dist/dashboard/routes/config.d.ts +3 -0
- package/dist/dashboard/routes/config.d.ts.map +1 -0
- package/dist/dashboard/routes/config.js +53 -0
- package/dist/dashboard/routes/config.js.map +1 -0
- package/dist/dashboard/routes/graph.d.ts +11 -0
- package/dist/dashboard/routes/graph.d.ts.map +1 -0
- package/dist/dashboard/routes/graph.js +131 -0
- package/dist/dashboard/routes/graph.js.map +1 -0
- package/dist/dashboard/routes/memories.d.ts +12 -0
- package/dist/dashboard/routes/memories.d.ts.map +1 -0
- package/dist/dashboard/routes/memories.js +199 -0
- package/dist/dashboard/routes/memories.js.map +1 -0
- package/dist/dashboard/routes/personas.d.ts +11 -0
- package/dist/dashboard/routes/personas.d.ts.map +1 -0
- package/dist/dashboard/routes/personas.js +71 -0
- package/dist/dashboard/routes/personas.js.map +1 -0
- package/dist/dashboard/routes/scripts.d.ts +9 -0
- package/dist/dashboard/routes/scripts.d.ts.map +1 -0
- package/dist/dashboard/routes/scripts.js +62 -0
- package/dist/dashboard/routes/scripts.js.map +1 -0
- package/dist/dashboard/routes/workspace.d.ts +10 -0
- package/dist/dashboard/routes/workspace.d.ts.map +1 -0
- package/dist/dashboard/routes/workspace.js +82 -0
- package/dist/dashboard/routes/workspace.js.map +1 -0
- package/dist/dashboard/server.d.ts +14 -0
- package/dist/dashboard/server.d.ts.map +1 -0
- package/dist/dashboard/server.js +97 -0
- package/dist/dashboard/server.js.map +1 -0
- package/dist/index.d.ts +3 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +142 -46
- package/dist/index.js.map +1 -1
- package/dist/schemas/validation.d.ts +406 -0
- package/dist/schemas/validation.d.ts.map +1 -1
- package/dist/schemas/validation.js +231 -4
- package/dist/schemas/validation.js.map +1 -1
- package/dist/scripts/bootstrap_persona.d.ts.map +1 -1
- package/dist/scripts/bootstrap_persona.js +9 -4
- package/dist/scripts/bootstrap_persona.js.map +1 -1
- package/dist/scripts/bootstrap_tools.js +16 -25
- package/dist/scripts/bootstrap_tools.js.map +1 -1
- package/dist/scripts/setup-db.d.ts.map +1 -1
- package/dist/scripts/setup-db.js +40 -33
- package/dist/scripts/setup-db.js.map +1 -1
- package/dist/scripts/sleep_cycle.d.ts +12 -0
- package/dist/scripts/sleep_cycle.d.ts.map +1 -1
- package/dist/scripts/sleep_cycle.js +57 -38
- package/dist/scripts/sleep_cycle.js.map +1 -1
- package/dist/services/config.d.ts +31 -0
- package/dist/services/config.d.ts.map +1 -0
- package/dist/services/config.js +125 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/db.d.ts.map +1 -1
- package/dist/services/db.js +6 -4
- package/dist/services/db.js.map +1 -1
- package/dist/services/llm.d.ts.map +1 -1
- package/dist/services/llm.js +13 -6
- package/dist/services/llm.js.map +1 -1
- package/dist/services/memoryService.d.ts +10 -38
- package/dist/services/memoryService.d.ts.map +1 -1
- package/dist/services/memoryService.js +27 -78
- package/dist/services/memoryService.js.map +1 -1
- package/dist/services/personaService.d.ts +22 -0
- package/dist/services/personaService.d.ts.map +1 -0
- package/dist/services/personaService.js +148 -0
- package/dist/services/personaService.js.map +1 -0
- package/dist/tests/dashboard-schemas.test.d.ts +6 -0
- package/dist/tests/dashboard-schemas.test.d.ts.map +1 -0
- package/dist/tests/dashboard-schemas.test.js +171 -0
- package/dist/tests/dashboard-schemas.test.js.map +1 -0
- package/dist/tests/helpers.test.d.ts +5 -0
- package/dist/tests/helpers.test.d.ts.map +1 -0
- package/dist/tests/helpers.test.js +66 -0
- package/dist/tests/helpers.test.js.map +1 -0
- package/dist/tests/router.test.d.ts +5 -0
- package/dist/tests/router.test.d.ts.map +1 -0
- package/dist/tests/router.test.js +125 -0
- package/dist/tests/router.test.js.map +1 -0
- package/openclaw.plugin.json +23 -0
- 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:
|
|
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:
|
|
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:
|
|
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;
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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":";AAAA;;;;;;;;;;;;GAYG;;
|
|
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
|
|
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
|
|
25
|
-
const promptJson = JSON.parse(
|
|
26
|
-
|
|
27
|
-
|
|
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 =
|
|
32
|
-
console.log(`[BOOTSTRAP]
|
|
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
|
|
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}: ${
|
|
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":"
|
|
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;
|
|
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"}
|
package/dist/scripts/setup-db.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
113
|
-
|
|
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
|
-
|
|
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
|
|
206
|
-
CREATE TRIGGER
|
|
207
|
-
BEFORE UPDATE ON
|
|
208
|
-
FOR EACH ROW EXECUTE FUNCTION
|
|
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
|
|
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
|
-
--
|
|
272
|
-
DROP POLICY IF EXISTS
|
|
273
|
-
CREATE POLICY
|
|
274
|
-
USING (agent_id = current_setting('app.current_agent_id', true)
|
|
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
|
|
277
|
-
CREATE POLICY
|
|
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
|
|
281
|
-
CREATE POLICY
|
|
282
|
-
USING (agent_id = current_setting('app.current_agent_id', true)
|
|
283
|
-
WITH CHECK (agent_id = current_setting('app.current_agent_id', true)
|
|
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
|
|
286
|
-
CREATE POLICY
|
|
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: ${
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
503
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
504
|
+
log("⚠️", `Could not update ${cfgPath}: ${msg}`);
|
|
498
505
|
}
|
|
499
506
|
break;
|
|
500
507
|
}
|