beercan 0.5.2 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/providers/websocket.d.ts +7 -1
- package/dist/chat/providers/websocket.d.ts.map +1 -1
- package/dist/chat/providers/websocket.js +27 -3
- package/dist/chat/providers/websocket.js.map +1 -1
- package/dist/cli.js +134 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +21 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -0
- package/dist/config.js.map +1 -1
- package/dist/core/logger.d.ts +7 -0
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +57 -2
- package/dist/core/logger.js.map +1 -1
- package/dist/crypto/index.d.ts +66 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.js +142 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/crypto/key-manager.d.ts +62 -0
- package/dist/crypto/key-manager.d.ts.map +1 -0
- package/dist/crypto/key-manager.js +198 -0
- package/dist/crypto/key-manager.js.map +1 -0
- package/dist/crypto/migration.d.ts +23 -0
- package/dist/crypto/migration.d.ts.map +1 -0
- package/dist/crypto/migration.js +183 -0
- package/dist/crypto/migration.js.map +1 -0
- package/dist/crypto/primitives.d.ts +53 -0
- package/dist/crypto/primitives.d.ts.map +1 -0
- package/dist/crypto/primitives.js +99 -0
- package/dist/crypto/primitives.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -1
- package/dist/index.js.map +1 -1
- package/dist/storage/database.d.ts +15 -1
- package/dist/storage/database.d.ts.map +1 -1
- package/dist/storage/database.js +102 -34
- package/dist/storage/database.js.map +1 -1
- package/package.json +1 -1
package/dist/storage/database.js
CHANGED
|
@@ -8,17 +8,55 @@ import path from "path";
|
|
|
8
8
|
// Auto-persists to disk — no manual persist() calls needed.
|
|
9
9
|
export class BeerCanDB {
|
|
10
10
|
db;
|
|
11
|
-
|
|
11
|
+
crypto;
|
|
12
|
+
constructor(dbPath, crypto) {
|
|
12
13
|
const dir = path.dirname(dbPath);
|
|
13
14
|
if (!fs.existsSync(dir)) {
|
|
14
15
|
fs.mkdirSync(dir, { recursive: true });
|
|
15
16
|
}
|
|
16
17
|
this.db = new Database(dbPath);
|
|
18
|
+
this.crypto = crypto ?? null;
|
|
17
19
|
sqliteVec.load(this.db);
|
|
18
20
|
this.db.pragma("journal_mode = WAL");
|
|
19
21
|
this.db.pragma("foreign_keys = ON");
|
|
20
22
|
this.migrate();
|
|
21
23
|
}
|
|
24
|
+
// ── Encryption Helpers ─────────────────────────────────────
|
|
25
|
+
/** Encrypt a string field. No-op if crypto is disabled or value is null. */
|
|
26
|
+
enc(value, scope) {
|
|
27
|
+
if (value == null || !this.crypto)
|
|
28
|
+
return value;
|
|
29
|
+
return this.crypto.encrypt(value, scope);
|
|
30
|
+
}
|
|
31
|
+
/** Encrypt a JSON field (stringify then encrypt). No-op if crypto is disabled. */
|
|
32
|
+
encJSON(value, scope) {
|
|
33
|
+
const json = JSON.stringify(value);
|
|
34
|
+
if (!this.crypto)
|
|
35
|
+
return json;
|
|
36
|
+
return this.crypto.encrypt(json, scope);
|
|
37
|
+
}
|
|
38
|
+
/** Decrypt a string field. Handles mixed encrypted/plaintext data. */
|
|
39
|
+
dec(value, scope) {
|
|
40
|
+
if (value == null || !this.crypto)
|
|
41
|
+
return value;
|
|
42
|
+
return this.crypto.maybeDecrypt(value, scope);
|
|
43
|
+
}
|
|
44
|
+
/** Decrypt a JSON field (decrypt then parse). Handles mixed data. */
|
|
45
|
+
decJSON(value, scope) {
|
|
46
|
+
if (value == null)
|
|
47
|
+
return value;
|
|
48
|
+
if (!this.crypto)
|
|
49
|
+
return JSON.parse(value);
|
|
50
|
+
return this.crypto.maybeDecryptJSON(value, scope);
|
|
51
|
+
}
|
|
52
|
+
/** Build a project-scoped encryption scope from a project ID. */
|
|
53
|
+
projectScope(projectId) {
|
|
54
|
+
return { type: "project", projectId };
|
|
55
|
+
}
|
|
56
|
+
/** Build a global encryption scope. */
|
|
57
|
+
globalScope() {
|
|
58
|
+
return { type: "global" };
|
|
59
|
+
}
|
|
22
60
|
/** Returns the underlying better-sqlite3 Database instance */
|
|
23
61
|
getDb() {
|
|
24
62
|
return this.db;
|
|
@@ -46,8 +84,9 @@ export class BeerCanDB {
|
|
|
46
84
|
}
|
|
47
85
|
// ── Projects ─────────────────────────────────────────────
|
|
48
86
|
createProject(project) {
|
|
87
|
+
const scope = this.projectScope(project.id);
|
|
49
88
|
this.db.prepare(`INSERT INTO projects (id, name, slug, description, work_dir, context, allowed_tools, token_budget, created_at, updated_at)
|
|
50
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(project.id, project.name, project.slug, project.description ?? null, project.workDir ?? null,
|
|
89
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(project.id, project.name, project.slug, project.description ?? null, project.workDir ?? null, this.encJSON(project.context, scope), JSON.stringify(project.allowedTools), JSON.stringify(project.tokenBudget), project.createdAt, project.updatedAt);
|
|
51
90
|
}
|
|
52
91
|
getProject(id) {
|
|
53
92
|
const row = this.db.prepare("SELECT * FROM projects WHERE id = ?").get(id);
|
|
@@ -63,14 +102,16 @@ export class BeerCanDB {
|
|
|
63
102
|
}
|
|
64
103
|
// ── Bloops ───────────────────────────────────────────────
|
|
65
104
|
createBloop(bloop) {
|
|
105
|
+
const scope = this.projectScope(bloop.projectId);
|
|
66
106
|
this.db.prepare(`INSERT INTO loops (id, project_id, parent_loop_id, trigger, status, goal, system_prompt, messages, result, tool_calls, tokens_used, iterations, max_iterations, created_at, updated_at, completed_at)
|
|
67
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(bloop.id, bloop.projectId, bloop.parentBloopId, bloop.trigger, bloop.status, bloop.goal, bloop.systemPrompt ?? null,
|
|
107
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(bloop.id, bloop.projectId, bloop.parentBloopId, bloop.trigger, bloop.status, this.enc(bloop.goal, scope), this.enc(bloop.systemPrompt ?? null, scope), this.encJSON(bloop.messages, scope), this.encJSON(bloop.result, scope), this.encJSON(bloop.toolCalls, scope), bloop.tokensUsed, bloop.iterations, bloop.maxIterations, bloop.createdAt, bloop.updatedAt, bloop.completedAt);
|
|
68
108
|
}
|
|
69
109
|
updateBloop(bloop) {
|
|
110
|
+
const scope = this.projectScope(bloop.projectId);
|
|
70
111
|
this.db.prepare(`UPDATE loops SET
|
|
71
112
|
status = ?, messages = ?, result = ?, tool_calls = ?,
|
|
72
113
|
tokens_used = ?, iterations = ?, updated_at = ?, completed_at = ?
|
|
73
|
-
WHERE id = ?`).run(bloop.status,
|
|
114
|
+
WHERE id = ?`).run(bloop.status, this.encJSON(bloop.messages, scope), this.encJSON(bloop.result, scope), this.encJSON(bloop.toolCalls, scope), bloop.tokensUsed, bloop.iterations, bloop.updatedAt, bloop.completedAt, bloop.id);
|
|
74
115
|
}
|
|
75
116
|
getBloop(id) {
|
|
76
117
|
const row = this.db.prepare("SELECT * FROM loops WHERE id = ?").get(id);
|
|
@@ -88,7 +129,8 @@ export class BeerCanDB {
|
|
|
88
129
|
return rows.map((row) => this.rowToBloop(row));
|
|
89
130
|
}
|
|
90
131
|
updateProject(project) {
|
|
91
|
-
|
|
132
|
+
const scope = this.projectScope(project.id);
|
|
133
|
+
this.db.prepare(`UPDATE projects SET name = ?, description = ?, work_dir = ?, context = ?, allowed_tools = ?, token_budget = ?, updated_at = ? WHERE id = ?`).run(project.name, project.description ?? null, project.workDir ?? null, this.encJSON(project.context, scope), JSON.stringify(project.allowedTools), JSON.stringify(project.tokenBudget), project.updatedAt, project.id);
|
|
92
134
|
}
|
|
93
135
|
// ── Child Bloop Queries ────────────────────────────────
|
|
94
136
|
getChildBloops(parentBloopId) {
|
|
@@ -130,13 +172,14 @@ export class BeerCanDB {
|
|
|
130
172
|
}
|
|
131
173
|
// ── Row Mappers ──────────────────────────────────────────
|
|
132
174
|
rowToProject(row) {
|
|
175
|
+
const scope = this.projectScope(row.id);
|
|
133
176
|
return {
|
|
134
177
|
id: row.id,
|
|
135
178
|
name: row.name,
|
|
136
179
|
slug: row.slug,
|
|
137
180
|
description: row.description,
|
|
138
181
|
workDir: row.work_dir ?? undefined,
|
|
139
|
-
context:
|
|
182
|
+
context: this.decJSON(row.context, scope),
|
|
140
183
|
allowedTools: JSON.parse(row.allowed_tools),
|
|
141
184
|
tokenBudget: JSON.parse(row.token_budget),
|
|
142
185
|
createdAt: row.created_at,
|
|
@@ -144,17 +187,18 @@ export class BeerCanDB {
|
|
|
144
187
|
};
|
|
145
188
|
}
|
|
146
189
|
rowToBloop(row) {
|
|
190
|
+
const scope = this.projectScope(row.project_id);
|
|
147
191
|
return {
|
|
148
192
|
id: row.id,
|
|
149
193
|
projectId: row.project_id,
|
|
150
194
|
parentBloopId: row.parent_loop_id,
|
|
151
195
|
trigger: row.trigger,
|
|
152
196
|
status: row.status,
|
|
153
|
-
goal: row.goal,
|
|
154
|
-
systemPrompt: row.system_prompt,
|
|
155
|
-
messages:
|
|
156
|
-
result:
|
|
157
|
-
toolCalls:
|
|
197
|
+
goal: this.dec(row.goal, scope),
|
|
198
|
+
systemPrompt: this.dec(row.system_prompt, scope),
|
|
199
|
+
messages: this.decJSON(row.messages, scope),
|
|
200
|
+
result: this.decJSON(row.result, scope),
|
|
201
|
+
toolCalls: this.decJSON(row.tool_calls, scope),
|
|
158
202
|
tokensUsed: row.tokens_used,
|
|
159
203
|
iterations: row.iterations,
|
|
160
204
|
maxIterations: row.max_iterations,
|
|
@@ -165,8 +209,9 @@ export class BeerCanDB {
|
|
|
165
209
|
}
|
|
166
210
|
// ── Schedules ──────────────────────────────────────────────
|
|
167
211
|
createSchedule(schedule) {
|
|
212
|
+
const scope = this.projectScope(schedule.projectId);
|
|
168
213
|
this.db.prepare(`INSERT INTO schedules (id, project_id, project_slug, cron_expression, goal, team, description, enabled, last_run_at, next_run_at, created_at, updated_at)
|
|
169
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(schedule.id, schedule.projectId, schedule.projectSlug, schedule.cronExpression, schedule.goal, schedule.team, schedule.description ?? null, schedule.enabled ? 1 : 0, schedule.lastRunAt, schedule.nextRunAt, schedule.createdAt, schedule.updatedAt);
|
|
214
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(schedule.id, schedule.projectId, schedule.projectSlug, schedule.cronExpression, this.enc(schedule.goal, scope), schedule.team, schedule.description ?? null, schedule.enabled ? 1 : 0, schedule.lastRunAt, schedule.nextRunAt, schedule.createdAt, schedule.updatedAt);
|
|
170
215
|
}
|
|
171
216
|
getSchedule(id) {
|
|
172
217
|
const row = this.db.prepare("SELECT * FROM schedules WHERE id = ?").get(id);
|
|
@@ -191,8 +236,9 @@ export class BeerCanDB {
|
|
|
191
236
|
}
|
|
192
237
|
// ── Triggers ──────────────────────────────────────────────
|
|
193
238
|
createTrigger(trigger) {
|
|
239
|
+
const scope = this.projectScope(trigger.projectId);
|
|
194
240
|
this.db.prepare(`INSERT INTO triggers (id, project_id, project_slug, event_type, filter_pattern, filter_data, goal_template, team, enabled, created_at, updated_at)
|
|
195
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(trigger.id, trigger.projectId, trigger.projectSlug, trigger.eventType, trigger.filterPattern,
|
|
241
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(trigger.id, trigger.projectId, trigger.projectSlug, trigger.eventType, trigger.filterPattern, this.encJSON(trigger.filterData, scope), this.enc(trigger.goalTemplate, scope), trigger.team, trigger.enabled ? 1 : 0, trigger.createdAt, trigger.updatedAt);
|
|
196
242
|
}
|
|
197
243
|
listTriggers(projectSlug) {
|
|
198
244
|
let query = "SELECT * FROM triggers";
|
|
@@ -210,17 +256,19 @@ export class BeerCanDB {
|
|
|
210
256
|
}
|
|
211
257
|
// ── Events Log ────────────────────────────────────────────
|
|
212
258
|
logEvent(event) {
|
|
259
|
+
const scope = this.projectScope(event.projectId);
|
|
213
260
|
this.db.prepare(`INSERT INTO events_log (id, project_id, event_type, event_data, trigger_id, created_at)
|
|
214
|
-
VALUES (?, ?, ?, ?, ?, ?)`).run(event.id, event.projectId, event.eventType,
|
|
261
|
+
VALUES (?, ?, ?, ?, ?, ?)`).run(event.id, event.projectId, event.eventType, this.encJSON(event.eventData, scope), event.triggerId, event.createdAt);
|
|
215
262
|
}
|
|
216
263
|
// ── Row Mappers (new) ─────────────────────────────────────
|
|
217
264
|
rowToSchedule(row) {
|
|
265
|
+
const scope = this.projectScope(row.project_id);
|
|
218
266
|
return {
|
|
219
267
|
id: row.id,
|
|
220
268
|
projectId: row.project_id,
|
|
221
269
|
projectSlug: row.project_slug,
|
|
222
270
|
cronExpression: row.cron_expression,
|
|
223
|
-
goal: row.goal,
|
|
271
|
+
goal: this.dec(row.goal, scope),
|
|
224
272
|
team: row.team,
|
|
225
273
|
description: row.description,
|
|
226
274
|
enabled: !!row.enabled,
|
|
@@ -231,14 +279,15 @@ export class BeerCanDB {
|
|
|
231
279
|
};
|
|
232
280
|
}
|
|
233
281
|
rowToTrigger(row) {
|
|
282
|
+
const scope = this.projectScope(row.project_id);
|
|
234
283
|
return {
|
|
235
284
|
id: row.id,
|
|
236
285
|
projectId: row.project_id,
|
|
237
286
|
projectSlug: row.project_slug,
|
|
238
287
|
eventType: row.event_type,
|
|
239
288
|
filterPattern: row.filter_pattern,
|
|
240
|
-
filterData:
|
|
241
|
-
goalTemplate: row.goal_template,
|
|
289
|
+
filterData: this.decJSON(row.filter_data || "{}", scope),
|
|
290
|
+
goalTemplate: this.dec(row.goal_template, scope),
|
|
242
291
|
team: row.team,
|
|
243
292
|
enabled: !!row.enabled,
|
|
244
293
|
createdAt: row.created_at,
|
|
@@ -247,11 +296,12 @@ export class BeerCanDB {
|
|
|
247
296
|
}
|
|
248
297
|
// ── Memory Entries ────────────────────────────────────────
|
|
249
298
|
createMemoryEntry(entry) {
|
|
299
|
+
const scope = { type: "memory", projectId: entry.projectId };
|
|
250
300
|
this.db.prepare(`INSERT INTO memory_entries (id, project_id, memory_type, title, content, source_loop_id, superseded_by, confidence, tags, created_at, updated_at)
|
|
251
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(entry.id, entry.projectId, entry.memoryType, entry.title, entry.content, entry.sourceBloopId, entry.supersededBy, entry.confidence, JSON.stringify(entry.tags), entry.createdAt, entry.updatedAt);
|
|
252
|
-
// Mirror to FTS5
|
|
301
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(entry.id, entry.projectId, entry.memoryType, this.enc(entry.title, scope), this.enc(entry.content, scope), entry.sourceBloopId, entry.supersededBy, entry.confidence, JSON.stringify(entry.tags), entry.createdAt, entry.updatedAt);
|
|
302
|
+
// Mirror plaintext to FTS5 for keyword search (FTS5 stays unencrypted)
|
|
253
303
|
this.db.prepare(`INSERT INTO memory_entries_fts (rowid, title, content, memory_type, tags)
|
|
254
|
-
SELECT rowid
|
|
304
|
+
VALUES ((SELECT rowid FROM memory_entries WHERE id = ?), ?, ?, ?, ?)`).run(entry.id, entry.title, entry.content, entry.memoryType, JSON.stringify(entry.tags));
|
|
255
305
|
}
|
|
256
306
|
getMemoryEntry(id) {
|
|
257
307
|
const row = this.db.prepare("SELECT * FROM memory_entries WHERE id = ?").get(id);
|
|
@@ -298,12 +348,13 @@ export class BeerCanDB {
|
|
|
298
348
|
this.db.prepare("DELETE FROM memory_entries WHERE id = ?").run(id);
|
|
299
349
|
}
|
|
300
350
|
rowToMemoryEntry(row) {
|
|
351
|
+
const scope = { type: "memory", projectId: row.project_id };
|
|
301
352
|
return {
|
|
302
353
|
id: row.id,
|
|
303
354
|
projectId: row.project_id,
|
|
304
355
|
memoryType: row.memory_type,
|
|
305
|
-
title: row.title,
|
|
306
|
-
content: row.content,
|
|
356
|
+
title: this.dec(row.title, scope),
|
|
357
|
+
content: this.dec(row.content, scope),
|
|
307
358
|
sourceBloopId: row.source_loop_id,
|
|
308
359
|
supersededBy: row.superseded_by,
|
|
309
360
|
confidence: row.confidence,
|
|
@@ -314,8 +365,9 @@ export class BeerCanDB {
|
|
|
314
365
|
}
|
|
315
366
|
// ── Knowledge Graph ─────────────────────────────────────
|
|
316
367
|
createKGEntity(entity) {
|
|
368
|
+
const scope = this.projectScope(entity.projectId);
|
|
317
369
|
this.db.prepare(`INSERT INTO kg_entities (id, project_id, name, entity_type, description, properties, source_loop_id, source_memory_id, created_at, updated_at)
|
|
318
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(entity.id, entity.projectId, entity.name, entity.entityType, entity.description,
|
|
370
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(entity.id, entity.projectId, entity.name, entity.entityType, this.enc(entity.description, scope), this.encJSON(entity.properties, scope), entity.sourceBloopId, entity.sourceMemoryId, entity.createdAt, entity.updatedAt);
|
|
319
371
|
}
|
|
320
372
|
getKGEntity(id) {
|
|
321
373
|
const row = this.db.prepare("SELECT * FROM kg_entities WHERE id = ?").get(id);
|
|
@@ -346,11 +398,13 @@ export class BeerCanDB {
|
|
|
346
398
|
const entity = this.getKGEntity(id);
|
|
347
399
|
if (!entity)
|
|
348
400
|
return;
|
|
349
|
-
|
|
401
|
+
const scope = this.projectScope(entity.projectId);
|
|
402
|
+
this.db.prepare("UPDATE kg_entities SET description = ?, properties = ?, updated_at = ? WHERE id = ?").run(this.enc(updates.description ?? entity.description, scope), this.encJSON(updates.properties ?? entity.properties, scope), new Date().toISOString(), id);
|
|
350
403
|
}
|
|
351
404
|
createKGEdge(edge) {
|
|
405
|
+
const scope = this.projectScope(edge.projectId);
|
|
352
406
|
this.db.prepare(`INSERT INTO kg_edges (id, project_id, source_id, target_id, edge_type, weight, properties, source_loop_id, created_at)
|
|
353
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(edge.id, edge.projectId, edge.sourceId, edge.targetId, edge.edgeType, edge.weight,
|
|
407
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(edge.id, edge.projectId, edge.sourceId, edge.targetId, edge.edgeType, edge.weight, this.encJSON(edge.properties, scope), edge.sourceBloopId, edge.createdAt);
|
|
354
408
|
}
|
|
355
409
|
getKGEdgesFrom(entityId) {
|
|
356
410
|
const rows = this.db.prepare("SELECT * FROM kg_edges WHERE source_id = ?").all(entityId);
|
|
@@ -376,13 +430,14 @@ export class BeerCanDB {
|
|
|
376
430
|
return rows.map((r) => r.entity_id);
|
|
377
431
|
}
|
|
378
432
|
rowToKGEntity(row) {
|
|
433
|
+
const scope = this.projectScope(row.project_id);
|
|
379
434
|
return {
|
|
380
435
|
id: row.id,
|
|
381
436
|
projectId: row.project_id,
|
|
382
437
|
name: row.name,
|
|
383
438
|
entityType: row.entity_type,
|
|
384
|
-
description: row.description,
|
|
385
|
-
properties:
|
|
439
|
+
description: this.dec(row.description, scope),
|
|
440
|
+
properties: this.decJSON(row.properties || "{}", scope),
|
|
386
441
|
sourceBloopId: row.source_loop_id,
|
|
387
442
|
sourceMemoryId: row.source_memory_id,
|
|
388
443
|
createdAt: row.created_at,
|
|
@@ -390,6 +445,7 @@ export class BeerCanDB {
|
|
|
390
445
|
};
|
|
391
446
|
}
|
|
392
447
|
rowToKGEdge(row) {
|
|
448
|
+
const scope = this.projectScope(row.project_id);
|
|
393
449
|
return {
|
|
394
450
|
id: row.id,
|
|
395
451
|
projectId: row.project_id,
|
|
@@ -397,24 +453,28 @@ export class BeerCanDB {
|
|
|
397
453
|
targetId: row.target_id,
|
|
398
454
|
edgeType: row.edge_type,
|
|
399
455
|
weight: row.weight,
|
|
400
|
-
properties:
|
|
456
|
+
properties: this.decJSON(row.properties || "{}", scope),
|
|
401
457
|
sourceBloopId: row.source_loop_id,
|
|
402
458
|
createdAt: row.created_at,
|
|
403
459
|
};
|
|
404
460
|
}
|
|
405
461
|
// ── Working Memory ──────────────────────────────────────
|
|
406
462
|
setWorkingMemory(bloopId, key, value) {
|
|
463
|
+
const scope = this.globalScope();
|
|
407
464
|
this.db.prepare(`INSERT INTO working_memory (loop_id, key, value, updated_at)
|
|
408
465
|
VALUES (?, ?, ?, ?)
|
|
409
|
-
ON CONFLICT(loop_id, key) DO UPDATE SET value = excluded.value, updated_at = excluded.updated_at`).run(bloopId, key, value, new Date().toISOString());
|
|
466
|
+
ON CONFLICT(loop_id, key) DO UPDATE SET value = excluded.value, updated_at = excluded.updated_at`).run(bloopId, key, this.enc(value, scope), new Date().toISOString());
|
|
410
467
|
}
|
|
411
468
|
getWorkingMemory(bloopId, key) {
|
|
412
469
|
const row = this.db.prepare("SELECT value FROM working_memory WHERE loop_id = ? AND key = ?").get(bloopId, key);
|
|
413
|
-
|
|
470
|
+
if (!row)
|
|
471
|
+
return undefined;
|
|
472
|
+
return this.dec(row.value, this.globalScope());
|
|
414
473
|
}
|
|
415
474
|
listWorkingMemory(bloopId) {
|
|
475
|
+
const scope = this.globalScope();
|
|
416
476
|
const rows = this.db.prepare("SELECT key, value FROM working_memory WHERE loop_id = ? ORDER BY key").all(bloopId);
|
|
417
|
-
return rows;
|
|
477
|
+
return rows.map((r) => ({ key: r.key, value: this.dec(r.value, scope) }));
|
|
418
478
|
}
|
|
419
479
|
deleteWorkingMemory(bloopId, key) {
|
|
420
480
|
this.db.prepare("DELETE FROM working_memory WHERE loop_id = ? AND key = ?").run(bloopId, key);
|
|
@@ -495,8 +555,9 @@ export class BeerCanDB {
|
|
|
495
555
|
}
|
|
496
556
|
// ── Job Queue ────────────────────────────────────────────
|
|
497
557
|
createJob(job) {
|
|
558
|
+
const scope = this.globalScope();
|
|
498
559
|
this.db.prepare(`INSERT INTO job_queue (id, project_slug, goal, team, priority, status, source, source_id, extra_context, parent_loop_id, loop_id, error, created_at, started_at, completed_at)
|
|
499
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(job.id, job.projectSlug, job.goal, job.team, job.priority, job.status, job.source, job.sourceId, job.extraContext, job.parentBloopId, job.bloopId, job.error, job.createdAt, job.startedAt, job.completedAt);
|
|
560
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(job.id, job.projectSlug, this.enc(job.goal, scope), job.team, job.priority, job.status, job.source, job.sourceId, this.enc(job.extraContext, scope), job.parentBloopId, job.bloopId, job.error, job.createdAt, job.startedAt, job.completedAt);
|
|
500
561
|
}
|
|
501
562
|
/** Atomically claim the highest-priority pending job. */
|
|
502
563
|
claimNextJob() {
|
|
@@ -563,16 +624,17 @@ export class BeerCanDB {
|
|
|
563
624
|
return rows.map((r) => this.rowToJob(r));
|
|
564
625
|
}
|
|
565
626
|
rowToJob(row) {
|
|
627
|
+
const scope = this.globalScope();
|
|
566
628
|
return {
|
|
567
629
|
id: row.id,
|
|
568
630
|
projectSlug: row.project_slug,
|
|
569
|
-
goal: row.goal,
|
|
631
|
+
goal: this.dec(row.goal, scope),
|
|
570
632
|
team: row.team,
|
|
571
633
|
priority: row.priority,
|
|
572
634
|
status: row.status,
|
|
573
635
|
source: row.source,
|
|
574
636
|
sourceId: row.source_id,
|
|
575
|
-
extraContext: row.extra_context,
|
|
637
|
+
extraContext: this.dec(row.extra_context, scope) ?? null,
|
|
576
638
|
parentBloopId: row.parent_loop_id ?? null,
|
|
577
639
|
bloopId: row.loop_id,
|
|
578
640
|
error: row.error,
|
|
@@ -772,5 +834,11 @@ const MIGRATIONS = {
|
|
|
772
834
|
"011_job_queue_parent": `
|
|
773
835
|
ALTER TABLE job_queue ADD COLUMN parent_loop_id TEXT REFERENCES loops(id);
|
|
774
836
|
`,
|
|
837
|
+
"012_crypto_state": `
|
|
838
|
+
CREATE TABLE IF NOT EXISTS _crypto_state (
|
|
839
|
+
key TEXT PRIMARY KEY,
|
|
840
|
+
value TEXT NOT NULL
|
|
841
|
+
);
|
|
842
|
+
`,
|
|
775
843
|
};
|
|
776
844
|
//# sourceMappingURL=database.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/storage/database.ts"],"names":[],"mappings":"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"}
|