@memtensor/memos-local-openclaw-plugin 1.0.4-beta.5 → 1.0.4-beta.7
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 +23 -23
- package/dist/capture/index.d.ts +1 -1
- package/dist/capture/index.d.ts.map +1 -1
- package/dist/capture/index.js +28 -2
- package/dist/capture/index.js.map +1 -1
- package/dist/client/connector.d.ts +1 -2
- package/dist/client/connector.d.ts.map +1 -1
- package/dist/client/connector.js +18 -19
- package/dist/client/connector.js.map +1 -1
- package/dist/client/hub.d.ts.map +1 -1
- package/dist/client/hub.js +22 -0
- package/dist/client/hub.js.map +1 -1
- package/dist/client/skill-sync.d.ts +7 -0
- package/dist/client/skill-sync.d.ts.map +1 -1
- package/dist/client/skill-sync.js +10 -0
- package/dist/client/skill-sync.js.map +1 -1
- package/dist/hub/server.d.ts.map +1 -1
- package/dist/hub/server.js +101 -81
- package/dist/hub/server.js.map +1 -1
- package/dist/hub/user-manager.d.ts +2 -0
- package/dist/hub/user-manager.d.ts.map +1 -1
- package/dist/hub/user-manager.js +5 -1
- package/dist/hub/user-manager.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/storage/sqlite.d.ts +54 -20
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +185 -101
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/tools/memory-search.d.ts +3 -1
- package/dist/tools/memory-search.d.ts.map +1 -1
- package/dist/tools/memory-search.js +3 -1
- package/dist/tools/memory-search.js.map +1 -1
- package/dist/viewer/html.d.ts.map +1 -1
- package/dist/viewer/html.js +1619 -629
- package/dist/viewer/html.js.map +1 -1
- package/dist/viewer/server.d.ts +14 -8
- package/dist/viewer/server.d.ts.map +1 -1
- package/dist/viewer/server.js +545 -141
- package/dist/viewer/server.js.map +1 -1
- package/index.ts +355 -41
- package/package.json +1 -1
- package/skill/memos-memory-guide/SKILL.md +64 -26
- package/src/capture/index.ts +29 -1
- package/src/client/connector.ts +15 -21
- package/src/client/hub.ts +18 -0
- package/src/client/skill-sync.ts +14 -0
- package/src/hub/server.ts +88 -74
- package/src/hub/user-manager.ts +7 -3
- package/src/index.ts +7 -2
- package/src/storage/sqlite.ts +192 -122
- package/src/tools/memory-search.ts +2 -1
- package/src/viewer/html.ts +1619 -629
- package/src/viewer/server.ts +506 -128
package/dist/storage/sqlite.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { Chunk, ChunkRef, Task, TaskStatus, Skill, SkillStatus, SkillVisibility, SkillVersion, TaskSkillRelation, Logger } from "../types";
|
|
2
|
-
import type {
|
|
2
|
+
import type { SharedVisibility, UserInfo, UserRole, UserStatus } from "../sharing/types";
|
|
3
3
|
export declare class SqliteStore {
|
|
4
4
|
private log;
|
|
5
5
|
private db;
|
|
6
6
|
constructor(dbPath: string, log: Logger);
|
|
7
7
|
private migrate;
|
|
8
8
|
private migrateChunksIndexesForRecall;
|
|
9
|
+
private migrateLocalSharedTasksOwner;
|
|
9
10
|
private migrateOwnerFields;
|
|
10
11
|
private migrateSkillVisibility;
|
|
11
12
|
private migrateSkillEmbeddingsAndFts;
|
|
@@ -42,7 +43,7 @@ export declare class SqliteStore {
|
|
|
42
43
|
updateChunkSummaryAndContent(chunkId: string, newSummary: string, appendContent: string): void;
|
|
43
44
|
private migrateToolCalls;
|
|
44
45
|
recordToolCall(toolName: string, durationMs: number, success: boolean): void;
|
|
45
|
-
getToolMetrics(minutes: number): {
|
|
46
|
+
getToolMetrics(minutes: number, fromMs?: number, toMs?: number): {
|
|
46
47
|
tools: string[];
|
|
47
48
|
series: Array<{
|
|
48
49
|
minute: string;
|
|
@@ -240,23 +241,37 @@ export declare class SqliteStore {
|
|
|
240
241
|
groupId: string | null;
|
|
241
242
|
syncedChunks: number;
|
|
242
243
|
}>;
|
|
244
|
+
markMemorySharedLocally(chunkId: string): {
|
|
245
|
+
ok: boolean;
|
|
246
|
+
owner?: string;
|
|
247
|
+
originalOwner?: string;
|
|
248
|
+
sharedAt?: number;
|
|
249
|
+
reason?: string;
|
|
250
|
+
};
|
|
251
|
+
unmarkMemorySharedLocally(chunkId: string, fallbackOwner?: string): {
|
|
252
|
+
ok: boolean;
|
|
253
|
+
owner?: string;
|
|
254
|
+
originalOwner?: string;
|
|
255
|
+
reason?: string;
|
|
256
|
+
};
|
|
257
|
+
getLocalSharedMemory(chunkId: string): {
|
|
258
|
+
chunkId: string;
|
|
259
|
+
originalOwner: string;
|
|
260
|
+
sharedAt: number;
|
|
261
|
+
} | null;
|
|
243
262
|
upsertHubUser(user: HubUserRecord): void;
|
|
244
263
|
getHubUser(userId: string): HubUserRecord | null;
|
|
245
264
|
listHubUsers(status?: UserStatus): HubUserRecord[];
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
userId: string;
|
|
253
|
-
username: string;
|
|
254
|
-
joinedAt: number;
|
|
265
|
+
deleteHubUser(userId: string, cleanResources?: boolean): boolean;
|
|
266
|
+
updateHubUserActivity(userId: string, ip: string): void;
|
|
267
|
+
getHubUserContributions(): Record<string, {
|
|
268
|
+
memoryCount: number;
|
|
269
|
+
taskCount: number;
|
|
270
|
+
skillCount: number;
|
|
255
271
|
}>;
|
|
256
|
-
removeHubGroupMember(groupId: string, userId: string): void;
|
|
257
|
-
getGroupsForHubUser(userId: string): GroupInfo[];
|
|
258
272
|
upsertHubTask(task: HubTaskRecord): void;
|
|
259
273
|
getHubTaskBySource(sourceUserId: string, sourceTaskId: string): HubTaskRecord | null;
|
|
274
|
+
getHubTaskById(taskId: string): HubTaskRecord | null;
|
|
260
275
|
upsertHubChunk(chunk: HubChunkUpsertInput): void;
|
|
261
276
|
getHubChunkBySource(sourceUserId: string, sourceChunkId: string): HubChunkRecord | null;
|
|
262
277
|
deleteHubTaskBySource(sourceUserId: string, sourceTaskId: string): void;
|
|
@@ -353,6 +368,30 @@ export declare class SqliteStore {
|
|
|
353
368
|
getHubMemoryById(memoryId: string): HubMemoryRecord | null;
|
|
354
369
|
deleteHubMemoryBySource(sourceUserId: string, sourceChunkId: string): void;
|
|
355
370
|
deleteHubMemoryById(memoryId: string): boolean;
|
|
371
|
+
insertHubNotification(n: {
|
|
372
|
+
id: string;
|
|
373
|
+
userId: string;
|
|
374
|
+
type: string;
|
|
375
|
+
resource: string;
|
|
376
|
+
title: string;
|
|
377
|
+
message?: string;
|
|
378
|
+
}): void;
|
|
379
|
+
listHubNotifications(userId: string, opts?: {
|
|
380
|
+
unreadOnly?: boolean;
|
|
381
|
+
limit?: number;
|
|
382
|
+
}): Array<{
|
|
383
|
+
id: string;
|
|
384
|
+
userId: string;
|
|
385
|
+
type: string;
|
|
386
|
+
resource: string;
|
|
387
|
+
title: string;
|
|
388
|
+
message: string;
|
|
389
|
+
read: boolean;
|
|
390
|
+
createdAt: number;
|
|
391
|
+
}>;
|
|
392
|
+
countUnreadHubNotifications(userId: string): number;
|
|
393
|
+
markHubNotificationsRead(userId: string, ids?: string[]): void;
|
|
394
|
+
clearHubNotifications(userId: string): void;
|
|
356
395
|
upsertHubMemoryEmbedding(memoryId: string, vector: Float32Array): void;
|
|
357
396
|
getHubMemoryEmbedding(memoryId: string): Float32Array | null;
|
|
358
397
|
searchHubMemories(query: string, options?: {
|
|
@@ -397,7 +436,6 @@ export declare class SqliteStore {
|
|
|
397
436
|
}>;
|
|
398
437
|
private resolveCanonicalHubTaskId;
|
|
399
438
|
private resolveCanonicalHubSkillId;
|
|
400
|
-
private attachGroupsToHubUser;
|
|
401
439
|
getSessionOwnerMap(sessionKeys: string[]): Map<string, string>;
|
|
402
440
|
close(): void;
|
|
403
441
|
}
|
|
@@ -413,12 +451,8 @@ interface HubUserRecord extends UserInfo {
|
|
|
413
451
|
tokenHash: string;
|
|
414
452
|
createdAt: number;
|
|
415
453
|
approvedAt: number | null;
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
id: string;
|
|
419
|
-
name: string;
|
|
420
|
-
description: string;
|
|
421
|
-
createdAt: number;
|
|
454
|
+
lastIp: string;
|
|
455
|
+
lastActiveAt: number | null;
|
|
422
456
|
}
|
|
423
457
|
interface HubTaskRecord {
|
|
424
458
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/sqlite.js
CHANGED
|
@@ -146,11 +146,22 @@ class SqliteStore {
|
|
|
146
146
|
this.migrateSkillEmbeddingsAndFts();
|
|
147
147
|
this.migrateFtsToTrigram();
|
|
148
148
|
this.migrateHubTables();
|
|
149
|
+
this.migrateLocalSharedTasksOwner();
|
|
149
150
|
this.log.debug("Database schema initialized");
|
|
150
151
|
}
|
|
151
152
|
migrateChunksIndexesForRecall() {
|
|
152
153
|
this.db.exec("CREATE INDEX IF NOT EXISTS idx_chunks_dedup_created ON chunks(dedup_status, created_at DESC)");
|
|
153
154
|
}
|
|
155
|
+
migrateLocalSharedTasksOwner() {
|
|
156
|
+
try {
|
|
157
|
+
const cols = this.db.prepare("PRAGMA table_info(local_shared_tasks)").all();
|
|
158
|
+
if (cols.length > 0 && !cols.some((c) => c.name === "original_owner")) {
|
|
159
|
+
this.db.exec("ALTER TABLE local_shared_tasks ADD COLUMN original_owner TEXT NOT NULL DEFAULT 'agent:main'");
|
|
160
|
+
this.log.info("Migrated: added original_owner column to local_shared_tasks");
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
catch { /* table may not exist yet */ }
|
|
164
|
+
}
|
|
154
165
|
migrateOwnerFields() {
|
|
155
166
|
const chunkCols = this.db.prepare("PRAGMA table_info(chunks)").all();
|
|
156
167
|
if (!chunkCols.some((c) => c.name === "owner")) {
|
|
@@ -503,15 +514,16 @@ class SqliteStore {
|
|
|
503
514
|
recordToolCall(toolName, durationMs, success) {
|
|
504
515
|
this.db.prepare("INSERT INTO tool_calls (tool_name, duration_ms, success, called_at) VALUES (?, ?, ?, ?)").run(toolName, Math.round(durationMs), success ? 1 : 0, Date.now());
|
|
505
516
|
}
|
|
506
|
-
getToolMetrics(minutes) {
|
|
507
|
-
const since = Date.now() - minutes * 60 * 1000;
|
|
517
|
+
getToolMetrics(minutes, fromMs, toMs) {
|
|
518
|
+
const since = fromMs ?? (Date.now() - minutes * 60 * 1000);
|
|
519
|
+
const until = toMs ?? Date.now();
|
|
508
520
|
const rows = this.db.prepare(`SELECT tool_name,
|
|
509
521
|
duration_ms,
|
|
510
522
|
success,
|
|
511
523
|
strftime('%Y-%m-%d %H:%M', called_at/1000, 'unixepoch', 'localtime') as minute_key
|
|
512
524
|
FROM tool_calls
|
|
513
|
-
WHERE called_at >= ?
|
|
514
|
-
ORDER BY called_at`).all(since);
|
|
525
|
+
WHERE called_at >= ? AND called_at <= ?
|
|
526
|
+
ORDER BY called_at`).all(since, until);
|
|
515
527
|
const toolSet = new Set();
|
|
516
528
|
const minuteMap = new Map();
|
|
517
529
|
const aggMap = new Map();
|
|
@@ -644,34 +656,27 @@ class SqliteStore {
|
|
|
644
656
|
shared_at INTEGER NOT NULL
|
|
645
657
|
);
|
|
646
658
|
|
|
659
|
+
CREATE TABLE IF NOT EXISTS local_shared_memories (
|
|
660
|
+
chunk_id TEXT PRIMARY KEY REFERENCES chunks(id) ON DELETE CASCADE,
|
|
661
|
+
original_owner TEXT NOT NULL,
|
|
662
|
+
shared_at INTEGER NOT NULL
|
|
663
|
+
);
|
|
664
|
+
|
|
647
665
|
CREATE TABLE IF NOT EXISTS hub_users (
|
|
648
|
-
id
|
|
649
|
-
username
|
|
650
|
-
device_name
|
|
651
|
-
role
|
|
652
|
-
status
|
|
653
|
-
token_hash
|
|
654
|
-
created_at
|
|
655
|
-
approved_at
|
|
666
|
+
id TEXT PRIMARY KEY,
|
|
667
|
+
username TEXT NOT NULL UNIQUE,
|
|
668
|
+
device_name TEXT NOT NULL DEFAULT '',
|
|
669
|
+
role TEXT NOT NULL,
|
|
670
|
+
status TEXT NOT NULL,
|
|
671
|
+
token_hash TEXT NOT NULL DEFAULT '',
|
|
672
|
+
created_at INTEGER NOT NULL,
|
|
673
|
+
approved_at INTEGER,
|
|
674
|
+
last_ip TEXT NOT NULL DEFAULT '',
|
|
675
|
+
last_active_at INTEGER
|
|
656
676
|
);
|
|
657
677
|
CREATE INDEX IF NOT EXISTS idx_hub_users_status ON hub_users(status);
|
|
658
678
|
CREATE INDEX IF NOT EXISTS idx_hub_users_role ON hub_users(role);
|
|
659
679
|
|
|
660
|
-
CREATE TABLE IF NOT EXISTS hub_groups (
|
|
661
|
-
id TEXT PRIMARY KEY,
|
|
662
|
-
name TEXT NOT NULL UNIQUE,
|
|
663
|
-
description TEXT NOT NULL DEFAULT '',
|
|
664
|
-
created_at INTEGER NOT NULL
|
|
665
|
-
);
|
|
666
|
-
|
|
667
|
-
CREATE TABLE IF NOT EXISTS hub_group_members (
|
|
668
|
-
group_id TEXT NOT NULL REFERENCES hub_groups(id) ON DELETE CASCADE,
|
|
669
|
-
user_id TEXT NOT NULL REFERENCES hub_users(id) ON DELETE CASCADE,
|
|
670
|
-
joined_at INTEGER NOT NULL,
|
|
671
|
-
PRIMARY KEY (group_id, user_id)
|
|
672
|
-
);
|
|
673
|
-
CREATE INDEX IF NOT EXISTS idx_hub_group_members_user ON hub_group_members(user_id);
|
|
674
|
-
|
|
675
680
|
CREATE TABLE IF NOT EXISTS hub_tasks (
|
|
676
681
|
id TEXT PRIMARY KEY,
|
|
677
682
|
source_task_id TEXT NOT NULL,
|
|
@@ -833,6 +838,31 @@ class SqliteStore {
|
|
|
833
838
|
VALUES (new.rowid, new.summary, new.content);
|
|
834
839
|
END;
|
|
835
840
|
`);
|
|
841
|
+
this.db.exec(`
|
|
842
|
+
CREATE TABLE IF NOT EXISTS hub_notifications (
|
|
843
|
+
id TEXT PRIMARY KEY,
|
|
844
|
+
user_id TEXT NOT NULL,
|
|
845
|
+
type TEXT NOT NULL,
|
|
846
|
+
resource TEXT NOT NULL,
|
|
847
|
+
title TEXT NOT NULL,
|
|
848
|
+
message TEXT NOT NULL DEFAULT '',
|
|
849
|
+
read INTEGER NOT NULL DEFAULT 0,
|
|
850
|
+
created_at INTEGER NOT NULL
|
|
851
|
+
);
|
|
852
|
+
CREATE INDEX IF NOT EXISTS idx_hub_notif_user ON hub_notifications(user_id, read, created_at DESC);
|
|
853
|
+
`);
|
|
854
|
+
try {
|
|
855
|
+
const cols = this.db.prepare("PRAGMA table_info(hub_users)").all();
|
|
856
|
+
if (cols.length > 0 && !cols.some(c => c.name === "last_ip")) {
|
|
857
|
+
this.db.exec("ALTER TABLE hub_users ADD COLUMN last_ip TEXT NOT NULL DEFAULT ''");
|
|
858
|
+
this.log.info("Migrated: added last_ip column to hub_users");
|
|
859
|
+
}
|
|
860
|
+
if (cols.length > 0 && !cols.some(c => c.name === "last_active_at")) {
|
|
861
|
+
this.db.exec("ALTER TABLE hub_users ADD COLUMN last_active_at INTEGER");
|
|
862
|
+
this.log.info("Migrated: added last_active_at column to hub_users");
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
catch { /* table may not exist yet */ }
|
|
836
866
|
}
|
|
837
867
|
// ─── Write ───
|
|
838
868
|
insertChunk(chunk) {
|
|
@@ -1097,6 +1127,8 @@ class SqliteStore {
|
|
|
1097
1127
|
"skill_embeddings",
|
|
1098
1128
|
"skill_versions",
|
|
1099
1129
|
"skills",
|
|
1130
|
+
"local_shared_memories",
|
|
1131
|
+
"local_shared_tasks",
|
|
1100
1132
|
"embeddings",
|
|
1101
1133
|
"chunks",
|
|
1102
1134
|
"tasks",
|
|
@@ -1519,6 +1551,61 @@ class SqliteStore {
|
|
|
1519
1551
|
const rows = this.db.prepare('SELECT task_id, hub_task_id, visibility, group_id, synced_chunks FROM local_shared_tasks').all();
|
|
1520
1552
|
return rows.map(r => ({ taskId: r.task_id, hubTaskId: r.hub_task_id, visibility: r.visibility, groupId: r.group_id, syncedChunks: r.synced_chunks }));
|
|
1521
1553
|
}
|
|
1554
|
+
// ─── Local Shared Memories (client-side tracking) ───
|
|
1555
|
+
markMemorySharedLocally(chunkId) {
|
|
1556
|
+
const chunk = this.getChunk(chunkId);
|
|
1557
|
+
if (!chunk)
|
|
1558
|
+
return { ok: false, reason: "not_found" };
|
|
1559
|
+
if (chunk.owner === "public") {
|
|
1560
|
+
const existing = this.getLocalSharedMemory(chunkId);
|
|
1561
|
+
return {
|
|
1562
|
+
ok: true,
|
|
1563
|
+
owner: "public",
|
|
1564
|
+
originalOwner: existing?.originalOwner ?? undefined,
|
|
1565
|
+
sharedAt: existing?.sharedAt ?? undefined,
|
|
1566
|
+
};
|
|
1567
|
+
}
|
|
1568
|
+
const sharedAt = Date.now();
|
|
1569
|
+
this.db.transaction(() => {
|
|
1570
|
+
this.db.prepare(`
|
|
1571
|
+
INSERT INTO local_shared_memories (chunk_id, original_owner, shared_at)
|
|
1572
|
+
VALUES (?, ?, ?)
|
|
1573
|
+
ON CONFLICT(chunk_id) DO UPDATE SET
|
|
1574
|
+
original_owner = excluded.original_owner,
|
|
1575
|
+
shared_at = excluded.shared_at
|
|
1576
|
+
`).run(chunkId, chunk.owner, sharedAt);
|
|
1577
|
+
this.updateChunk(chunkId, { owner: "public" });
|
|
1578
|
+
})();
|
|
1579
|
+
return { ok: true, owner: "public", originalOwner: chunk.owner, sharedAt };
|
|
1580
|
+
}
|
|
1581
|
+
unmarkMemorySharedLocally(chunkId, fallbackOwner) {
|
|
1582
|
+
const chunk = this.getChunk(chunkId);
|
|
1583
|
+
if (!chunk)
|
|
1584
|
+
return { ok: false, reason: "not_found" };
|
|
1585
|
+
if (chunk.owner !== "public") {
|
|
1586
|
+
return { ok: true, owner: chunk.owner };
|
|
1587
|
+
}
|
|
1588
|
+
const existing = this.getLocalSharedMemory(chunkId);
|
|
1589
|
+
const restoreOwner = existing?.originalOwner ?? fallbackOwner;
|
|
1590
|
+
if (!restoreOwner || restoreOwner === "public") {
|
|
1591
|
+
return { ok: false, reason: "original_owner_missing" };
|
|
1592
|
+
}
|
|
1593
|
+
this.db.transaction(() => {
|
|
1594
|
+
this.updateChunk(chunkId, { owner: restoreOwner });
|
|
1595
|
+
this.db.prepare("DELETE FROM local_shared_memories WHERE chunk_id = ?").run(chunkId);
|
|
1596
|
+
})();
|
|
1597
|
+
return { ok: true, owner: restoreOwner, originalOwner: restoreOwner };
|
|
1598
|
+
}
|
|
1599
|
+
getLocalSharedMemory(chunkId) {
|
|
1600
|
+
const row = this.db.prepare("SELECT chunk_id, original_owner, shared_at FROM local_shared_memories WHERE chunk_id = ?").get(chunkId);
|
|
1601
|
+
if (!row)
|
|
1602
|
+
return null;
|
|
1603
|
+
return {
|
|
1604
|
+
chunkId: row.chunk_id,
|
|
1605
|
+
originalOwner: row.original_owner,
|
|
1606
|
+
sharedAt: row.shared_at,
|
|
1607
|
+
};
|
|
1608
|
+
}
|
|
1522
1609
|
// ─── Hub Users / Groups ───
|
|
1523
1610
|
upsertHubUser(user) {
|
|
1524
1611
|
this.db.prepare(`
|
|
@@ -1538,65 +1625,47 @@ class SqliteStore {
|
|
|
1538
1625
|
const row = this.db.prepare('SELECT * FROM hub_users WHERE id = ?').get(userId);
|
|
1539
1626
|
if (!row)
|
|
1540
1627
|
return null;
|
|
1541
|
-
return
|
|
1628
|
+
return rowToHubUser(row);
|
|
1542
1629
|
}
|
|
1543
1630
|
listHubUsers(status) {
|
|
1544
1631
|
const rows = status
|
|
1545
1632
|
? this.db.prepare('SELECT * FROM hub_users WHERE status = ? ORDER BY created_at').all(status)
|
|
1546
1633
|
: this.db.prepare('SELECT * FROM hub_users ORDER BY created_at').all();
|
|
1547
|
-
return rows.map(
|
|
1634
|
+
return rows.map(rowToHubUser);
|
|
1548
1635
|
}
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
created_at = excluded.created_at
|
|
1557
|
-
`).run(group.id, group.name, group.description, group.createdAt);
|
|
1558
|
-
}
|
|
1559
|
-
listHubGroups() {
|
|
1560
|
-
const rows = this.db.prepare('SELECT * FROM hub_groups ORDER BY name').all();
|
|
1561
|
-
return rows.map(rowToHubGroup);
|
|
1562
|
-
}
|
|
1563
|
-
addHubGroupMember(groupId, userId, joinedAt = Date.now()) {
|
|
1564
|
-
this.db.prepare(`
|
|
1565
|
-
INSERT INTO hub_group_members (group_id, user_id, joined_at)
|
|
1566
|
-
VALUES (?, ?, ?)
|
|
1567
|
-
ON CONFLICT(group_id, user_id) DO UPDATE SET joined_at = excluded.joined_at
|
|
1568
|
-
`).run(groupId, userId, joinedAt);
|
|
1569
|
-
}
|
|
1570
|
-
getHubGroupById(groupId) {
|
|
1571
|
-
const row = this.db.prepare('SELECT * FROM hub_groups WHERE id = ?').get(groupId);
|
|
1572
|
-
return row ? rowToHubGroup(row) : undefined;
|
|
1573
|
-
}
|
|
1574
|
-
deleteHubGroup(groupId) {
|
|
1575
|
-
const result = this.db.prepare('DELETE FROM hub_groups WHERE id = ?').run(groupId);
|
|
1636
|
+
deleteHubUser(userId, cleanResources = false) {
|
|
1637
|
+
if (cleanResources) {
|
|
1638
|
+
this.db.prepare('DELETE FROM hub_tasks WHERE source_user_id = ?').run(userId);
|
|
1639
|
+
this.db.prepare('DELETE FROM hub_skills WHERE source_user_id = ?').run(userId);
|
|
1640
|
+
this.db.prepare('DELETE FROM hub_memories WHERE source_user_id = ?').run(userId);
|
|
1641
|
+
}
|
|
1642
|
+
const result = this.db.prepare('DELETE FROM hub_users WHERE id = ?').run(userId);
|
|
1576
1643
|
return result.changes > 0;
|
|
1577
1644
|
}
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1645
|
+
updateHubUserActivity(userId, ip) {
|
|
1646
|
+
this.db.prepare('UPDATE hub_users SET last_ip = ?, last_active_at = ? WHERE id = ?').run(ip, Date.now(), userId);
|
|
1647
|
+
}
|
|
1648
|
+
getHubUserContributions() {
|
|
1649
|
+
const result = {};
|
|
1650
|
+
const memRows = this.db.prepare('SELECT source_user_id, COUNT(*) as cnt FROM hub_memories GROUP BY source_user_id').all();
|
|
1651
|
+
const taskRows = this.db.prepare('SELECT source_user_id, COUNT(*) as cnt FROM hub_tasks GROUP BY source_user_id').all();
|
|
1652
|
+
const skillRows = this.db.prepare('SELECT source_user_id, COUNT(*) as cnt FROM hub_skills GROUP BY source_user_id').all();
|
|
1653
|
+
for (const r of memRows) {
|
|
1654
|
+
if (!result[r.source_user_id])
|
|
1655
|
+
result[r.source_user_id] = { memoryCount: 0, taskCount: 0, skillCount: 0 };
|
|
1656
|
+
result[r.source_user_id].memoryCount = r.cnt;
|
|
1657
|
+
}
|
|
1658
|
+
for (const r of taskRows) {
|
|
1659
|
+
if (!result[r.source_user_id])
|
|
1660
|
+
result[r.source_user_id] = { memoryCount: 0, taskCount: 0, skillCount: 0 };
|
|
1661
|
+
result[r.source_user_id].taskCount = r.cnt;
|
|
1662
|
+
}
|
|
1663
|
+
for (const r of skillRows) {
|
|
1664
|
+
if (!result[r.source_user_id])
|
|
1665
|
+
result[r.source_user_id] = { memoryCount: 0, taskCount: 0, skillCount: 0 };
|
|
1666
|
+
result[r.source_user_id].skillCount = r.cnt;
|
|
1667
|
+
}
|
|
1668
|
+
return result;
|
|
1600
1669
|
}
|
|
1601
1670
|
// ─── Hub Shared Data ───
|
|
1602
1671
|
upsertHubTask(task) {
|
|
@@ -1616,6 +1685,10 @@ class SqliteStore {
|
|
|
1616
1685
|
const row = this.db.prepare('SELECT * FROM hub_tasks WHERE source_user_id = ? AND source_task_id = ?').get(sourceUserId, sourceTaskId);
|
|
1617
1686
|
return row ? rowToHubTask(row) : null;
|
|
1618
1687
|
}
|
|
1688
|
+
getHubTaskById(taskId) {
|
|
1689
|
+
const row = this.db.prepare('SELECT * FROM hub_tasks WHERE id = ?').get(taskId);
|
|
1690
|
+
return row ? rowToHubTask(row) : null;
|
|
1691
|
+
}
|
|
1619
1692
|
upsertHubChunk(chunk) {
|
|
1620
1693
|
if (!chunk.sourceTaskId)
|
|
1621
1694
|
throw new Error("sourceTaskId is required for hub chunk upserts");
|
|
@@ -1796,16 +1869,15 @@ class SqliteStore {
|
|
|
1796
1869
|
}
|
|
1797
1870
|
listAllHubTasks() {
|
|
1798
1871
|
const rows = this.db.prepare(`
|
|
1799
|
-
SELECT t.*, u.username AS owner_name,
|
|
1872
|
+
SELECT t.*, u.username AS owner_name,
|
|
1800
1873
|
(SELECT COUNT(*) FROM hub_chunks c WHERE c.hub_task_id = t.id) AS chunk_count
|
|
1801
1874
|
FROM hub_tasks t
|
|
1802
1875
|
LEFT JOIN hub_users u ON u.id = t.source_user_id
|
|
1803
|
-
LEFT JOIN hub_groups g ON g.id = t.group_id
|
|
1804
1876
|
ORDER BY t.updated_at DESC
|
|
1805
1877
|
`).all();
|
|
1806
1878
|
return rows.map(r => ({
|
|
1807
1879
|
id: r.id, sourceTaskId: r.source_task_id, sourceUserId: r.source_user_id,
|
|
1808
|
-
title: r.title, summary: r.summary, groupId: r.group_id, groupName:
|
|
1880
|
+
title: r.title, summary: r.summary, groupId: r.group_id, groupName: null,
|
|
1809
1881
|
visibility: r.visibility, ownerName: r.owner_name ?? "unknown", chunkCount: r.chunk_count ?? 0,
|
|
1810
1882
|
createdAt: r.created_at, updatedAt: r.updated_at,
|
|
1811
1883
|
}));
|
|
@@ -1832,16 +1904,15 @@ class SqliteStore {
|
|
|
1832
1904
|
}
|
|
1833
1905
|
listAllHubSkills() {
|
|
1834
1906
|
const rows = this.db.prepare(`
|
|
1835
|
-
SELECT s.*, u.username AS owner_name
|
|
1907
|
+
SELECT s.*, u.username AS owner_name
|
|
1836
1908
|
FROM hub_skills s
|
|
1837
1909
|
LEFT JOIN hub_users u ON u.id = s.source_user_id
|
|
1838
|
-
LEFT JOIN hub_groups g ON g.id = s.group_id
|
|
1839
1910
|
ORDER BY s.updated_at DESC
|
|
1840
1911
|
`).all();
|
|
1841
1912
|
return rows.map(r => ({
|
|
1842
1913
|
id: r.id, sourceSkillId: r.source_skill_id, sourceUserId: r.source_user_id,
|
|
1843
1914
|
name: r.name, description: r.description, version: r.version,
|
|
1844
|
-
groupId: r.group_id, groupName:
|
|
1915
|
+
groupId: r.group_id, groupName: null, visibility: r.visibility,
|
|
1845
1916
|
ownerName: r.owner_name ?? "unknown", qualityScore: r.quality_score,
|
|
1846
1917
|
createdAt: r.created_at, updatedAt: r.updated_at,
|
|
1847
1918
|
}));
|
|
@@ -1881,6 +1952,32 @@ class SqliteStore {
|
|
|
1881
1952
|
const info = this.db.prepare('DELETE FROM hub_memories WHERE id = ?').run(memoryId);
|
|
1882
1953
|
return info.changes > 0;
|
|
1883
1954
|
}
|
|
1955
|
+
// ─── Hub Notifications ───
|
|
1956
|
+
insertHubNotification(n) {
|
|
1957
|
+
this.db.prepare('INSERT INTO hub_notifications (id, user_id, type, resource, title, message, read, created_at) VALUES (?, ?, ?, ?, ?, ?, 0, ?)').run(n.id, n.userId, n.type, n.resource, n.title, n.message ?? '', Date.now());
|
|
1958
|
+
}
|
|
1959
|
+
listHubNotifications(userId, opts) {
|
|
1960
|
+
const where = opts?.unreadOnly ? 'WHERE user_id = ? AND read = 0' : 'WHERE user_id = ?';
|
|
1961
|
+
const limit = opts?.limit ?? 50;
|
|
1962
|
+
const rows = this.db.prepare(`SELECT * FROM hub_notifications ${where} ORDER BY created_at DESC LIMIT ?`).all(userId, limit);
|
|
1963
|
+
return rows.map(r => ({ id: r.id, userId: r.user_id, type: r.type, resource: r.resource, title: r.title, message: r.message, read: !!r.read, createdAt: r.created_at }));
|
|
1964
|
+
}
|
|
1965
|
+
countUnreadHubNotifications(userId) {
|
|
1966
|
+
const row = this.db.prepare('SELECT COUNT(*) AS cnt FROM hub_notifications WHERE user_id = ? AND read = 0').get(userId);
|
|
1967
|
+
return row.cnt;
|
|
1968
|
+
}
|
|
1969
|
+
markHubNotificationsRead(userId, ids) {
|
|
1970
|
+
if (ids && ids.length > 0) {
|
|
1971
|
+
const placeholders = ids.map(() => '?').join(',');
|
|
1972
|
+
this.db.prepare(`UPDATE hub_notifications SET read = 1 WHERE user_id = ? AND id IN (${placeholders})`).run(userId, ...ids);
|
|
1973
|
+
}
|
|
1974
|
+
else {
|
|
1975
|
+
this.db.prepare('UPDATE hub_notifications SET read = 1 WHERE user_id = ?').run(userId);
|
|
1976
|
+
}
|
|
1977
|
+
}
|
|
1978
|
+
clearHubNotifications(userId) {
|
|
1979
|
+
this.db.prepare('DELETE FROM hub_notifications WHERE user_id = ?').run(userId);
|
|
1980
|
+
}
|
|
1884
1981
|
upsertHubMemoryEmbedding(memoryId, vector) {
|
|
1885
1982
|
const buf = Buffer.from(vector.buffer, vector.byteOffset, vector.byteLength);
|
|
1886
1983
|
this.db.prepare(`
|
|
@@ -1952,16 +2049,15 @@ class SqliteStore {
|
|
|
1952
2049
|
}
|
|
1953
2050
|
listAllHubMemories() {
|
|
1954
2051
|
const rows = this.db.prepare(`
|
|
1955
|
-
SELECT m.*, u.username AS owner_name
|
|
2052
|
+
SELECT m.*, u.username AS owner_name
|
|
1956
2053
|
FROM hub_memories m
|
|
1957
2054
|
LEFT JOIN hub_users u ON u.id = m.source_user_id
|
|
1958
|
-
LEFT JOIN hub_groups g ON g.id = m.group_id
|
|
1959
2055
|
ORDER BY m.updated_at DESC
|
|
1960
2056
|
`).all();
|
|
1961
2057
|
return rows.map(r => ({
|
|
1962
2058
|
id: r.id, sourceChunkId: r.source_chunk_id, sourceUserId: r.source_user_id,
|
|
1963
2059
|
role: r.role, summary: r.summary, kind: r.kind,
|
|
1964
|
-
groupId: r.group_id, groupName:
|
|
2060
|
+
groupId: r.group_id, groupName: null, visibility: r.visibility,
|
|
1965
2061
|
ownerName: r.owner_name ?? "unknown", createdAt: r.created_at, updatedAt: r.updated_at,
|
|
1966
2062
|
}));
|
|
1967
2063
|
}
|
|
@@ -1987,12 +2083,6 @@ class SqliteStore {
|
|
|
1987
2083
|
}
|
|
1988
2084
|
throw new Error(`source skill not found for skillId=${skillId}`);
|
|
1989
2085
|
}
|
|
1990
|
-
attachGroupsToHubUser(user) {
|
|
1991
|
-
return {
|
|
1992
|
-
...user,
|
|
1993
|
-
groups: this.getGroupsForHubUser(user.id),
|
|
1994
|
-
};
|
|
1995
|
-
}
|
|
1996
2086
|
getSessionOwnerMap(sessionKeys) {
|
|
1997
2087
|
const result = new Map();
|
|
1998
2088
|
if (sessionKeys.length === 0)
|
|
@@ -2115,14 +2205,8 @@ function rowToHubUser(row) {
|
|
|
2115
2205
|
tokenHash: row.token_hash,
|
|
2116
2206
|
createdAt: row.created_at,
|
|
2117
2207
|
approvedAt: row.approved_at,
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
function rowToHubGroup(row) {
|
|
2121
|
-
return {
|
|
2122
|
-
id: row.id,
|
|
2123
|
-
name: row.name,
|
|
2124
|
-
description: row.description,
|
|
2125
|
-
createdAt: row.created_at,
|
|
2208
|
+
lastIp: row.last_ip || "",
|
|
2209
|
+
lastActiveAt: row.last_active_at ?? null,
|
|
2126
2210
|
};
|
|
2127
2211
|
}
|
|
2128
2212
|
function rowToHubTask(row) {
|