@memtensor/memos-local-openclaw-plugin 1.0.4-beta.0 → 1.0.4-beta.2
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/client/connector.d.ts +4 -0
- package/dist/client/connector.d.ts.map +1 -1
- package/dist/client/connector.js +92 -0
- package/dist/client/connector.js.map +1 -1
- package/dist/config.js +9 -9
- package/dist/config.js.map +1 -1
- package/dist/hub/server.d.ts.map +1 -1
- package/dist/hub/server.js +27 -22
- package/dist/hub/server.js.map +1 -1
- package/dist/hub/user-manager.d.ts +1 -0
- package/dist/hub/user-manager.d.ts.map +1 -1
- package/dist/hub/user-manager.js +13 -0
- package/dist/hub/user-manager.js.map +1 -1
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +20 -94
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/viewer/html.d.ts.map +1 -1
- package/dist/viewer/html.js +393 -211
- package/dist/viewer/html.js.map +1 -1
- package/dist/viewer/server.d.ts +2 -0
- package/dist/viewer/server.d.ts.map +1 -1
- package/dist/viewer/server.js +104 -15
- package/dist/viewer/server.js.map +1 -1
- package/package.json +1 -1
- package/src/client/connector.ts +94 -0
- package/src/config.ts +9 -9
- package/src/hub/server.ts +28 -22
- package/src/hub/user-manager.ts +13 -0
- package/src/storage/sqlite.ts +20 -94
- package/src/viewer/html.ts +393 -211
- package/src/viewer/server.ts +98 -15
package/dist/viewer/html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/viewer/html.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/viewer/html.ts"],"names":[],"mappings":";;AAAA,gCAy3NC;AAz3ND,SAAgB,UAAU,CAAC,aAAsB;IACjD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,gCAAgC,aAAa,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3F,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qKAu/B8J,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA+3LnK,CAAC;AACT,CAAC"}
|
package/dist/viewer/server.d.ts
CHANGED
|
@@ -79,6 +79,7 @@ export declare class ViewerServer {
|
|
|
79
79
|
private serveSharingPendingUsers;
|
|
80
80
|
private handleSharingApproveUser;
|
|
81
81
|
private handleSharingRejectUser;
|
|
82
|
+
private handleRetryJoin;
|
|
82
83
|
private serveSharingMemoryList;
|
|
83
84
|
private serveSharingTaskList;
|
|
84
85
|
private serveSharingSkillList;
|
|
@@ -111,6 +112,7 @@ export declare class ViewerServer {
|
|
|
111
112
|
private handleAdminDeleteSkill;
|
|
112
113
|
private serveAdminSharedMemories;
|
|
113
114
|
private handleAdminDeleteMemory;
|
|
115
|
+
private getLocalIPs;
|
|
114
116
|
private serveLocalIPs;
|
|
115
117
|
private serveConfig;
|
|
116
118
|
private handleSaveConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/viewer/server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAY7C,OAAO,KAAK,EAAE,MAAM,EAAS,aAAa,EAAoB,MAAM,UAAU,CAAC;AAS/E,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB;AAOD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAgB;IAErC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAOjC;IACL,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAW8G;IACpI,OAAO,CAAC,mBAAmB,CAA6B;IAExD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAC+I;IAC9J,OAAO,CAAC,YAAY,CAA6B;gBAErC,IAAI,EAAE,mBAAmB;IAarC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAoBxB,OAAO,CAAC,mBAAmB;IAgB3B,IAAI,IAAI,IAAI;IAKZ,aAAa,IAAI,MAAM;IAMvB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;IAUtB,OAAO,KAAK,UAAU,GAErB;IAID,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/viewer/server.ts"],"names":[],"mappings":"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"}
|
package/dist/viewer/server.js
CHANGED
|
@@ -282,6 +282,8 @@ class ViewerServer {
|
|
|
282
282
|
this.handleSharingApproveUser(req, res);
|
|
283
283
|
else if (p === "/api/sharing/reject-user" && req.method === "POST")
|
|
284
284
|
this.handleSharingRejectUser(req, res);
|
|
285
|
+
else if (p === "/api/sharing/retry-join" && req.method === "POST")
|
|
286
|
+
this.handleRetryJoin(req, res);
|
|
285
287
|
else if (p === "/api/sharing/search/memories" && req.method === "POST")
|
|
286
288
|
this.handleSharingMemorySearch(req, res);
|
|
287
289
|
else if (p === "/api/sharing/memories/list" && req.method === "GET")
|
|
@@ -1290,13 +1292,20 @@ class ViewerServer {
|
|
|
1290
1292
|
this.jsonResponse(res, base);
|
|
1291
1293
|
return;
|
|
1292
1294
|
}
|
|
1293
|
-
|
|
1295
|
+
const hasPendingConnection = Boolean(persisted?.hubUrl && persisted?.userId && !persisted?.userToken);
|
|
1296
|
+
if (!hasClientConfig && !hasPendingConnection) {
|
|
1294
1297
|
this.jsonResponse(res, base);
|
|
1295
1298
|
return;
|
|
1296
1299
|
}
|
|
1297
1300
|
try {
|
|
1298
1301
|
const status = await (0, connector_1.getHubStatus)(this.store, this.ctx.config);
|
|
1299
1302
|
const output = { ...base, connection: { ...base.connection, ...status } };
|
|
1303
|
+
if (status.user?.status === "pending") {
|
|
1304
|
+
output.connection.pendingApproval = true;
|
|
1305
|
+
}
|
|
1306
|
+
if (status.user?.status === "rejected") {
|
|
1307
|
+
output.connection.rejected = true;
|
|
1308
|
+
}
|
|
1300
1309
|
if (status.connected && status.hubUrl) {
|
|
1301
1310
|
try {
|
|
1302
1311
|
const info = await fetch(`${status.hubUrl}/api/v1/hub/info`).then((r) => (r.ok ? r.json() : null)).catch(() => null);
|
|
@@ -1305,6 +1314,13 @@ class ViewerServer {
|
|
|
1305
1314
|
}
|
|
1306
1315
|
catch { }
|
|
1307
1316
|
}
|
|
1317
|
+
else if (status.hubUrl) {
|
|
1318
|
+
try {
|
|
1319
|
+
const info = await fetch(`${status.hubUrl}/api/v1/hub/info`).then((r) => (r.ok ? r.json() : null)).catch(() => null);
|
|
1320
|
+
output.connection.teamName = info?.teamName ?? null;
|
|
1321
|
+
}
|
|
1322
|
+
catch { }
|
|
1323
|
+
}
|
|
1308
1324
|
output.admin.canManageUsers = status.connected && status.user?.role === "admin";
|
|
1309
1325
|
output.admin.rejectSupported = output.admin.canManageUsers;
|
|
1310
1326
|
this.jsonResponse(res, output);
|
|
@@ -1367,6 +1383,43 @@ class ViewerServer {
|
|
|
1367
1383
|
}
|
|
1368
1384
|
});
|
|
1369
1385
|
}
|
|
1386
|
+
handleRetryJoin(req, res) {
|
|
1387
|
+
this.readBody(req, async (_body) => {
|
|
1388
|
+
if (!this.ctx)
|
|
1389
|
+
return this.jsonResponse(res, { ok: false, error: "sharing_unavailable" });
|
|
1390
|
+
const sharing = this.ctx.config.sharing;
|
|
1391
|
+
if (!sharing?.enabled || sharing.role !== "client") {
|
|
1392
|
+
return this.jsonResponse(res, { ok: false, error: "not_in_client_mode" });
|
|
1393
|
+
}
|
|
1394
|
+
const hubAddress = sharing.client?.hubAddress ?? "";
|
|
1395
|
+
const teamToken = sharing.client?.teamToken ?? "";
|
|
1396
|
+
if (!hubAddress || !teamToken) {
|
|
1397
|
+
return this.jsonResponse(res, { ok: false, error: "missing_hub_address_or_team_token" });
|
|
1398
|
+
}
|
|
1399
|
+
try {
|
|
1400
|
+
const hubUrl = (0, hub_1.normalizeHubUrl)(hubAddress);
|
|
1401
|
+
const os = await Promise.resolve().then(() => __importStar(require("os")));
|
|
1402
|
+
const username = os.userInfo().username || "user";
|
|
1403
|
+
const hostname = os.hostname() || "unknown";
|
|
1404
|
+
const result = await (0, hub_1.hubRequestJson)(hubUrl, "", "/api/v1/hub/join", {
|
|
1405
|
+
method: "POST",
|
|
1406
|
+
body: JSON.stringify({ teamToken, username, deviceName: hostname }),
|
|
1407
|
+
});
|
|
1408
|
+
this.store.setClientHubConnection({
|
|
1409
|
+
hubUrl,
|
|
1410
|
+
userId: String(result.userId || ""),
|
|
1411
|
+
username,
|
|
1412
|
+
userToken: result.userToken || "",
|
|
1413
|
+
role: "member",
|
|
1414
|
+
connectedAt: Date.now(),
|
|
1415
|
+
});
|
|
1416
|
+
this.jsonResponse(res, { ok: true, status: result.status || "pending" });
|
|
1417
|
+
}
|
|
1418
|
+
catch (err) {
|
|
1419
|
+
this.jsonResponse(res, { ok: false, error: String(err) });
|
|
1420
|
+
}
|
|
1421
|
+
});
|
|
1422
|
+
}
|
|
1370
1423
|
async serveSharingMemoryList(res, url) {
|
|
1371
1424
|
if (!this.ctx)
|
|
1372
1425
|
return this.jsonResponse(res, { memories: [], error: "sharing_unavailable" });
|
|
@@ -1515,8 +1568,8 @@ class ViewerServer {
|
|
|
1515
1568
|
try {
|
|
1516
1569
|
const parsed = JSON.parse(body || "{}");
|
|
1517
1570
|
const taskId = String(parsed.taskId || "");
|
|
1518
|
-
const visibility =
|
|
1519
|
-
const groupId =
|
|
1571
|
+
const visibility = "public";
|
|
1572
|
+
const groupId = undefined;
|
|
1520
1573
|
const task = this.store.getTask(taskId);
|
|
1521
1574
|
if (!task)
|
|
1522
1575
|
return this.jsonResponse(res, { ok: false, error: "task_not_found" });
|
|
@@ -1532,7 +1585,7 @@ class ViewerServer {
|
|
|
1532
1585
|
sourceTaskId: task.id,
|
|
1533
1586
|
title: task.title,
|
|
1534
1587
|
summary: task.summary,
|
|
1535
|
-
groupId:
|
|
1588
|
+
groupId: null,
|
|
1536
1589
|
visibility,
|
|
1537
1590
|
createdAt: task.startedAt ?? Date.now(),
|
|
1538
1591
|
updatedAt: task.updatedAt ?? Date.now(),
|
|
@@ -1558,7 +1611,7 @@ class ViewerServer {
|
|
|
1558
1611
|
sourceUserId: hubUserId,
|
|
1559
1612
|
title: task.title,
|
|
1560
1613
|
summary: task.summary,
|
|
1561
|
-
groupId:
|
|
1614
|
+
groupId: null,
|
|
1562
1615
|
visibility,
|
|
1563
1616
|
createdAt: task.startedAt ?? Date.now(),
|
|
1564
1617
|
updatedAt: task.updatedAt ?? Date.now(),
|
|
@@ -1603,8 +1656,8 @@ class ViewerServer {
|
|
|
1603
1656
|
try {
|
|
1604
1657
|
const parsed = JSON.parse(body || "{}");
|
|
1605
1658
|
const chunkId = String(parsed.chunkId || "");
|
|
1606
|
-
const visibility =
|
|
1607
|
-
const groupId =
|
|
1659
|
+
const visibility = "public";
|
|
1660
|
+
const groupId = undefined;
|
|
1608
1661
|
const db = this.store.db;
|
|
1609
1662
|
const chunk = db.prepare("SELECT * FROM chunks WHERE id = ?").get(chunkId);
|
|
1610
1663
|
if (!chunk)
|
|
@@ -1619,7 +1672,7 @@ class ViewerServer {
|
|
|
1619
1672
|
content: chunk.content,
|
|
1620
1673
|
summary: chunk.summary,
|
|
1621
1674
|
kind: chunk.kind,
|
|
1622
|
-
groupId:
|
|
1675
|
+
groupId: null,
|
|
1623
1676
|
visibility,
|
|
1624
1677
|
},
|
|
1625
1678
|
}),
|
|
@@ -1636,7 +1689,7 @@ class ViewerServer {
|
|
|
1636
1689
|
content: chunk.content,
|
|
1637
1690
|
summary: chunk.summary ?? "",
|
|
1638
1691
|
kind: chunk.kind,
|
|
1639
|
-
groupId:
|
|
1692
|
+
groupId: null,
|
|
1640
1693
|
visibility,
|
|
1641
1694
|
createdAt: existing?.createdAt ?? now,
|
|
1642
1695
|
updatedAt: now,
|
|
@@ -1694,8 +1747,8 @@ class ViewerServer {
|
|
|
1694
1747
|
try {
|
|
1695
1748
|
const parsed = JSON.parse(body || "{}");
|
|
1696
1749
|
const skillId = String(parsed.skillId || "");
|
|
1697
|
-
const visibility =
|
|
1698
|
-
const groupId =
|
|
1750
|
+
const visibility = "public";
|
|
1751
|
+
const groupId = null;
|
|
1699
1752
|
const skill = this.store.getSkill(skillId);
|
|
1700
1753
|
if (!skill)
|
|
1701
1754
|
return this.jsonResponse(res, { ok: false, error: "skill_not_found" });
|
|
@@ -1705,7 +1758,7 @@ class ViewerServer {
|
|
|
1705
1758
|
method: "POST",
|
|
1706
1759
|
body: JSON.stringify({
|
|
1707
1760
|
visibility,
|
|
1708
|
-
groupId:
|
|
1761
|
+
groupId: null,
|
|
1709
1762
|
metadata: bundle.metadata,
|
|
1710
1763
|
bundle: bundle.bundle,
|
|
1711
1764
|
}),
|
|
@@ -1720,7 +1773,7 @@ class ViewerServer {
|
|
|
1720
1773
|
name: skill.name,
|
|
1721
1774
|
description: skill.description,
|
|
1722
1775
|
version: skill.version,
|
|
1723
|
-
groupId:
|
|
1776
|
+
groupId: null,
|
|
1724
1777
|
visibility,
|
|
1725
1778
|
bundle: JSON.stringify(bundle.bundle),
|
|
1726
1779
|
qualityScore: skill.qualityScore,
|
|
@@ -2012,7 +2065,7 @@ class ViewerServer {
|
|
|
2012
2065
|
this.jsonResponse(res, { ok: false, error: String(err) });
|
|
2013
2066
|
}
|
|
2014
2067
|
}
|
|
2015
|
-
|
|
2068
|
+
getLocalIPs() {
|
|
2016
2069
|
const nets = node_os_1.default.networkInterfaces();
|
|
2017
2070
|
const ips = [];
|
|
2018
2071
|
for (const name of Object.keys(nets)) {
|
|
@@ -2022,6 +2075,10 @@ class ViewerServer {
|
|
|
2022
2075
|
}
|
|
2023
2076
|
}
|
|
2024
2077
|
}
|
|
2078
|
+
return ips;
|
|
2079
|
+
}
|
|
2080
|
+
serveLocalIPs(res) {
|
|
2081
|
+
const ips = this.getLocalIPs();
|
|
2025
2082
|
res.writeHead(200, { "Content-Type": "application/json" });
|
|
2026
2083
|
res.end(JSON.stringify({ ips }));
|
|
2027
2084
|
}
|
|
@@ -2097,10 +2154,32 @@ class ViewerServer {
|
|
|
2097
2154
|
if (newCfg.sharing !== undefined) {
|
|
2098
2155
|
const existing = config.sharing || {};
|
|
2099
2156
|
const merged = { ...existing, ...newCfg.sharing };
|
|
2100
|
-
// Deep-merge capabilities so new keys don't wipe existing ones
|
|
2101
2157
|
if (newCfg.sharing.capabilities && existing.capabilities) {
|
|
2102
2158
|
merged.capabilities = { ...existing.capabilities, ...newCfg.sharing.capabilities };
|
|
2103
2159
|
}
|
|
2160
|
+
if (merged.role === "client" && merged.client) {
|
|
2161
|
+
const clientCfg = merged.client;
|
|
2162
|
+
const addr = String(clientCfg.hubAddress || "");
|
|
2163
|
+
if (addr) {
|
|
2164
|
+
const localIPs = this.getLocalIPs();
|
|
2165
|
+
localIPs.push("127.0.0.1", "localhost", "0.0.0.0");
|
|
2166
|
+
try {
|
|
2167
|
+
const u = new URL(addr.startsWith("http") ? addr : `http://${addr}`);
|
|
2168
|
+
if (localIPs.includes(u.hostname)) {
|
|
2169
|
+
res.writeHead(400, { "Content-Type": "application/json" });
|
|
2170
|
+
res.end(JSON.stringify({ error: "cannot_join_self" }));
|
|
2171
|
+
return;
|
|
2172
|
+
}
|
|
2173
|
+
}
|
|
2174
|
+
catch { }
|
|
2175
|
+
}
|
|
2176
|
+
}
|
|
2177
|
+
if (merged.role === "hub") {
|
|
2178
|
+
merged.client = { hubAddress: "", userToken: "", teamToken: "" };
|
|
2179
|
+
}
|
|
2180
|
+
else if (merged.role === "client") {
|
|
2181
|
+
merged.hub = { port: 18800, teamName: "", teamToken: "" };
|
|
2182
|
+
}
|
|
2104
2183
|
config.sharing = merged;
|
|
2105
2184
|
}
|
|
2106
2185
|
node_fs_1.default.mkdirSync(node_path_1.default.dirname(cfgPath), { recursive: true });
|
|
@@ -2174,6 +2253,16 @@ class ViewerServer {
|
|
|
2174
2253
|
this.jsonResponse(res, { ok: false, error: "hubUrl is required" });
|
|
2175
2254
|
return;
|
|
2176
2255
|
}
|
|
2256
|
+
try {
|
|
2257
|
+
const localIPs = this.getLocalIPs();
|
|
2258
|
+
localIPs.push("127.0.0.1", "localhost", "0.0.0.0");
|
|
2259
|
+
const parsed = new URL(hubUrl.startsWith("http") ? hubUrl : `http://${hubUrl}`);
|
|
2260
|
+
if (localIPs.includes(parsed.hostname)) {
|
|
2261
|
+
this.jsonResponse(res, { ok: false, error: "cannot_join_self" });
|
|
2262
|
+
return;
|
|
2263
|
+
}
|
|
2264
|
+
}
|
|
2265
|
+
catch { }
|
|
2177
2266
|
const url = hubUrl.replace(/\/+$/, "") + "/api/v1/hub/info";
|
|
2178
2267
|
const ctrl = new AbortController();
|
|
2179
2268
|
const timeout = setTimeout(() => ctrl.abort(), 8000);
|