@memtensor/memos-local-openclaw-plugin 1.0.6-beta.9 → 1.0.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.
Files changed (224) hide show
  1. package/openclaw.plugin.json +1 -1
  2. package/package.json +3 -5
  3. package/prebuilds/darwin-arm64/better_sqlite3.node +0 -0
  4. package/prebuilds/darwin-x64/better_sqlite3.node +0 -0
  5. package/prebuilds/linux-x64/better_sqlite3.node +0 -0
  6. package/prebuilds/win32-x64/better_sqlite3.node +0 -0
  7. package/scripts/postinstall.cjs +44 -44
  8. package/skill/memos-memory-guide/SKILL.md +20 -0
  9. package/src/update-check.ts +2 -7
  10. package/src/viewer/html.ts +4 -4
  11. package/src/viewer/server.ts +12 -2
  12. package/telemetry.credentials.json +5 -0
  13. package/dist/capture/index.d.ts +0 -26
  14. package/dist/capture/index.d.ts.map +0 -1
  15. package/dist/capture/index.js +0 -283
  16. package/dist/capture/index.js.map +0 -1
  17. package/dist/client/connector.d.ts +0 -34
  18. package/dist/client/connector.d.ts.map +0 -1
  19. package/dist/client/connector.js +0 -381
  20. package/dist/client/connector.js.map +0 -1
  21. package/dist/client/hub.d.ts +0 -61
  22. package/dist/client/hub.d.ts.map +0 -1
  23. package/dist/client/hub.js +0 -174
  24. package/dist/client/hub.js.map +0 -1
  25. package/dist/client/skill-sync.d.ts +0 -36
  26. package/dist/client/skill-sync.d.ts.map +0 -1
  27. package/dist/client/skill-sync.js +0 -226
  28. package/dist/client/skill-sync.js.map +0 -1
  29. package/dist/config.d.ts +0 -5
  30. package/dist/config.d.ts.map +0 -1
  31. package/dist/config.js +0 -171
  32. package/dist/config.js.map +0 -1
  33. package/dist/embedding/index.d.ts +0 -14
  34. package/dist/embedding/index.d.ts.map +0 -1
  35. package/dist/embedding/index.js +0 -105
  36. package/dist/embedding/index.js.map +0 -1
  37. package/dist/embedding/local.d.ts +0 -3
  38. package/dist/embedding/local.d.ts.map +0 -1
  39. package/dist/embedding/local.js +0 -66
  40. package/dist/embedding/local.js.map +0 -1
  41. package/dist/embedding/providers/cohere.d.ts +0 -4
  42. package/dist/embedding/providers/cohere.d.ts.map +0 -1
  43. package/dist/embedding/providers/cohere.js +0 -57
  44. package/dist/embedding/providers/cohere.js.map +0 -1
  45. package/dist/embedding/providers/gemini.d.ts +0 -3
  46. package/dist/embedding/providers/gemini.d.ts.map +0 -1
  47. package/dist/embedding/providers/gemini.js +0 -31
  48. package/dist/embedding/providers/gemini.js.map +0 -1
  49. package/dist/embedding/providers/mistral.d.ts +0 -3
  50. package/dist/embedding/providers/mistral.d.ts.map +0 -1
  51. package/dist/embedding/providers/mistral.js +0 -25
  52. package/dist/embedding/providers/mistral.js.map +0 -1
  53. package/dist/embedding/providers/openai.d.ts +0 -3
  54. package/dist/embedding/providers/openai.d.ts.map +0 -1
  55. package/dist/embedding/providers/openai.js +0 -35
  56. package/dist/embedding/providers/openai.js.map +0 -1
  57. package/dist/embedding/providers/voyage.d.ts +0 -3
  58. package/dist/embedding/providers/voyage.d.ts.map +0 -1
  59. package/dist/embedding/providers/voyage.js +0 -25
  60. package/dist/embedding/providers/voyage.js.map +0 -1
  61. package/dist/hub/auth.d.ts +0 -19
  62. package/dist/hub/auth.d.ts.map +0 -1
  63. package/dist/hub/auth.js +0 -70
  64. package/dist/hub/auth.js.map +0 -1
  65. package/dist/hub/server.d.ts +0 -52
  66. package/dist/hub/server.d.ts.map +0 -1
  67. package/dist/hub/server.js +0 -1197
  68. package/dist/hub/server.js.map +0 -1
  69. package/dist/hub/user-manager.d.ts +0 -40
  70. package/dist/hub/user-manager.d.ts.map +0 -1
  71. package/dist/hub/user-manager.js +0 -153
  72. package/dist/hub/user-manager.js.map +0 -1
  73. package/dist/index.d.ts +0 -46
  74. package/dist/index.d.ts.map +0 -1
  75. package/dist/index.js +0 -82
  76. package/dist/index.js.map +0 -1
  77. package/dist/ingest/chunker.d.ts +0 -15
  78. package/dist/ingest/chunker.d.ts.map +0 -1
  79. package/dist/ingest/chunker.js +0 -192
  80. package/dist/ingest/chunker.js.map +0 -1
  81. package/dist/ingest/dedup.d.ts +0 -19
  82. package/dist/ingest/dedup.d.ts.map +0 -1
  83. package/dist/ingest/dedup.js +0 -50
  84. package/dist/ingest/dedup.js.map +0 -1
  85. package/dist/ingest/providers/anthropic.d.ts +0 -21
  86. package/dist/ingest/providers/anthropic.d.ts.map +0 -1
  87. package/dist/ingest/providers/anthropic.js +0 -314
  88. package/dist/ingest/providers/anthropic.js.map +0 -1
  89. package/dist/ingest/providers/bedrock.d.ts +0 -21
  90. package/dist/ingest/providers/bedrock.d.ts.map +0 -1
  91. package/dist/ingest/providers/bedrock.js +0 -313
  92. package/dist/ingest/providers/bedrock.js.map +0 -1
  93. package/dist/ingest/providers/gemini.d.ts +0 -21
  94. package/dist/ingest/providers/gemini.d.ts.map +0 -1
  95. package/dist/ingest/providers/gemini.js +0 -298
  96. package/dist/ingest/providers/gemini.js.map +0 -1
  97. package/dist/ingest/providers/index.d.ts +0 -68
  98. package/dist/ingest/providers/index.d.ts.map +0 -1
  99. package/dist/ingest/providers/index.js +0 -611
  100. package/dist/ingest/providers/index.js.map +0 -1
  101. package/dist/ingest/providers/openai.d.ts +0 -30
  102. package/dist/ingest/providers/openai.d.ts.map +0 -1
  103. package/dist/ingest/providers/openai.js +0 -387
  104. package/dist/ingest/providers/openai.js.map +0 -1
  105. package/dist/ingest/task-processor.d.ts +0 -91
  106. package/dist/ingest/task-processor.d.ts.map +0 -1
  107. package/dist/ingest/task-processor.js +0 -478
  108. package/dist/ingest/task-processor.js.map +0 -1
  109. package/dist/ingest/worker.d.ts +0 -23
  110. package/dist/ingest/worker.d.ts.map +0 -1
  111. package/dist/ingest/worker.js +0 -255
  112. package/dist/ingest/worker.js.map +0 -1
  113. package/dist/openclaw-api.d.ts +0 -53
  114. package/dist/openclaw-api.d.ts.map +0 -1
  115. package/dist/openclaw-api.js +0 -189
  116. package/dist/openclaw-api.js.map +0 -1
  117. package/dist/recall/engine.d.ts +0 -28
  118. package/dist/recall/engine.d.ts.map +0 -1
  119. package/dist/recall/engine.js +0 -343
  120. package/dist/recall/engine.js.map +0 -1
  121. package/dist/recall/mmr.d.ts +0 -17
  122. package/dist/recall/mmr.d.ts.map +0 -1
  123. package/dist/recall/mmr.js +0 -53
  124. package/dist/recall/mmr.js.map +0 -1
  125. package/dist/recall/recency.d.ts +0 -20
  126. package/dist/recall/recency.d.ts.map +0 -1
  127. package/dist/recall/recency.js +0 -26
  128. package/dist/recall/recency.js.map +0 -1
  129. package/dist/recall/rrf.d.ts +0 -16
  130. package/dist/recall/rrf.d.ts.map +0 -1
  131. package/dist/recall/rrf.js +0 -15
  132. package/dist/recall/rrf.js.map +0 -1
  133. package/dist/shared/llm-call.d.ts +0 -30
  134. package/dist/shared/llm-call.d.ts.map +0 -1
  135. package/dist/shared/llm-call.js +0 -253
  136. package/dist/shared/llm-call.js.map +0 -1
  137. package/dist/sharing/types.contract.d.ts +0 -2
  138. package/dist/sharing/types.contract.d.ts.map +0 -1
  139. package/dist/sharing/types.contract.js +0 -3
  140. package/dist/sharing/types.contract.js.map +0 -1
  141. package/dist/sharing/types.d.ts +0 -80
  142. package/dist/sharing/types.d.ts.map +0 -1
  143. package/dist/sharing/types.js +0 -3
  144. package/dist/sharing/types.js.map +0 -1
  145. package/dist/skill/bundled-memory-guide.d.ts +0 -2
  146. package/dist/skill/bundled-memory-guide.d.ts.map +0 -1
  147. package/dist/skill/bundled-memory-guide.js +0 -45
  148. package/dist/skill/bundled-memory-guide.js.map +0 -1
  149. package/dist/skill/evaluator.d.ts +0 -28
  150. package/dist/skill/evaluator.d.ts.map +0 -1
  151. package/dist/skill/evaluator.js +0 -169
  152. package/dist/skill/evaluator.js.map +0 -1
  153. package/dist/skill/evolver.d.ts +0 -48
  154. package/dist/skill/evolver.d.ts.map +0 -1
  155. package/dist/skill/evolver.js +0 -406
  156. package/dist/skill/evolver.js.map +0 -1
  157. package/dist/skill/generator.d.ts +0 -26
  158. package/dist/skill/generator.d.ts.map +0 -1
  159. package/dist/skill/generator.js +0 -521
  160. package/dist/skill/generator.js.map +0 -1
  161. package/dist/skill/installer.d.ts +0 -42
  162. package/dist/skill/installer.d.ts.map +0 -1
  163. package/dist/skill/installer.js +0 -165
  164. package/dist/skill/installer.js.map +0 -1
  165. package/dist/skill/upgrader.d.ts +0 -19
  166. package/dist/skill/upgrader.d.ts.map +0 -1
  167. package/dist/skill/upgrader.js +0 -366
  168. package/dist/skill/upgrader.js.map +0 -1
  169. package/dist/skill/validator.d.ts +0 -30
  170. package/dist/skill/validator.d.ts.map +0 -1
  171. package/dist/skill/validator.js +0 -272
  172. package/dist/skill/validator.js.map +0 -1
  173. package/dist/storage/ensure-binding.d.ts +0 -12
  174. package/dist/storage/ensure-binding.d.ts.map +0 -1
  175. package/dist/storage/ensure-binding.js +0 -53
  176. package/dist/storage/ensure-binding.js.map +0 -1
  177. package/dist/storage/sqlite.d.ts +0 -649
  178. package/dist/storage/sqlite.d.ts.map +0 -1
  179. package/dist/storage/sqlite.js +0 -2657
  180. package/dist/storage/sqlite.js.map +0 -1
  181. package/dist/storage/vector.d.ts +0 -12
  182. package/dist/storage/vector.d.ts.map +0 -1
  183. package/dist/storage/vector.js +0 -34
  184. package/dist/storage/vector.js.map +0 -1
  185. package/dist/telemetry.d.ts +0 -47
  186. package/dist/telemetry.d.ts.map +0 -1
  187. package/dist/telemetry.js +0 -312
  188. package/dist/telemetry.js.map +0 -1
  189. package/dist/tools/index.d.ts +0 -5
  190. package/dist/tools/index.d.ts.map +0 -1
  191. package/dist/tools/index.js +0 -12
  192. package/dist/tools/index.js.map +0 -1
  193. package/dist/tools/memory-get.d.ts +0 -4
  194. package/dist/tools/memory-get.d.ts.map +0 -1
  195. package/dist/tools/memory-get.js +0 -64
  196. package/dist/tools/memory-get.js.map +0 -1
  197. package/dist/tools/memory-search.d.ts +0 -7
  198. package/dist/tools/memory-search.d.ts.map +0 -1
  199. package/dist/tools/memory-search.js +0 -84
  200. package/dist/tools/memory-search.js.map +0 -1
  201. package/dist/tools/memory-timeline.d.ts +0 -4
  202. package/dist/tools/memory-timeline.d.ts.map +0 -1
  203. package/dist/tools/memory-timeline.js +0 -73
  204. package/dist/tools/memory-timeline.js.map +0 -1
  205. package/dist/tools/network-memory-detail.d.ts +0 -4
  206. package/dist/tools/network-memory-detail.d.ts.map +0 -1
  207. package/dist/tools/network-memory-detail.js +0 -34
  208. package/dist/tools/network-memory-detail.js.map +0 -1
  209. package/dist/types.d.ts +0 -330
  210. package/dist/types.d.ts.map +0 -1
  211. package/dist/types.js +0 -38
  212. package/dist/types.js.map +0 -1
  213. package/dist/update-check.d.ts +0 -21
  214. package/dist/update-check.d.ts.map +0 -1
  215. package/dist/update-check.js +0 -110
  216. package/dist/update-check.js.map +0 -1
  217. package/dist/viewer/html.d.ts +0 -2
  218. package/dist/viewer/html.d.ts.map +0 -1
  219. package/dist/viewer/html.js +0 -9168
  220. package/dist/viewer/html.js.map +0 -1
  221. package/dist/viewer/server.d.ts +0 -205
  222. package/dist/viewer/server.d.ts.map +0 -1
  223. package/dist/viewer/server.js +0 -4876
  224. package/dist/viewer/server.js.map +0 -1
@@ -1,381 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.PendingApprovalError = void 0;
37
- exports.connectToHub = connectToHub;
38
- exports.getHubStatus = getHubStatus;
39
- exports.autoJoinHub = autoJoinHub;
40
- const hub_1 = require("./hub");
41
- async function connectToHub(store, config, log) {
42
- const hubAddress = config.sharing?.client?.hubAddress ?? "";
43
- let userToken = config.sharing?.client?.userToken ?? "";
44
- if (!userToken) {
45
- const persisted = store.getClientHubConnection();
46
- if (persisted?.userToken)
47
- userToken = persisted.userToken;
48
- }
49
- if (!userToken && config.sharing?.client?.teamToken) {
50
- if (!log)
51
- throw new Error("hub client connection is not configured (no userToken, has teamToken but no logger for auto-join)");
52
- // If DB has a pending connection (userId exists, no token), check registration-status first
53
- const persisted = store.getClientHubConnection();
54
- if (persisted?.userId && !persisted.userToken && hubAddress) {
55
- const hubUrl = (0, hub_1.normalizeHubUrl)(hubAddress);
56
- const teamToken = config.sharing.client.teamToken;
57
- try {
58
- const result = await (0, hub_1.hubRequestJson)(hubUrl, "", "/api/v1/hub/registration-status", {
59
- method: "POST",
60
- body: JSON.stringify({ teamToken, userId: persisted.userId }),
61
- });
62
- if (result.status === "active" && result.userToken) {
63
- log.info(`Pending user approved! Connecting with token. userId=${persisted.userId}`);
64
- let approvedHubInstanceId = persisted.hubInstanceId || "";
65
- if (!approvedHubInstanceId) {
66
- try {
67
- const info = await (0, hub_1.hubRequestJson)(hubUrl, "", "/api/v1/hub/info", { method: "GET" });
68
- approvedHubInstanceId = String(info?.hubInstanceId ?? "");
69
- }
70
- catch { /* best-effort */ }
71
- }
72
- store.setClientHubConnection({
73
- hubUrl,
74
- userId: persisted.userId,
75
- username: persisted.username || "",
76
- userToken: result.userToken,
77
- role: "member",
78
- connectedAt: Date.now(),
79
- identityKey: persisted.identityKey || "",
80
- lastKnownStatus: "active",
81
- hubInstanceId: approvedHubInstanceId,
82
- });
83
- return store.getClientHubConnection();
84
- }
85
- if (result.status === "pending") {
86
- throw new PendingApprovalError(persisted.userId);
87
- }
88
- if (result.status === "rejected") {
89
- throw new Error("Join request was rejected by the Hub admin.");
90
- }
91
- if (result.status === "blocked") {
92
- throw new Error("Your account has been blocked by the Hub admin.");
93
- }
94
- if (result.status === "left" || result.status === "removed") {
95
- log.info(`User status is "${result.status}", will try to rejoin.`);
96
- }
97
- }
98
- catch (err) {
99
- if (err instanceof PendingApprovalError)
100
- throw err;
101
- log.warn(`registration-status check failed, falling back to autoJoinHub: ${err}`);
102
- }
103
- }
104
- return autoJoinHub(store, config, log);
105
- }
106
- if (!hubAddress || !userToken) {
107
- throw new Error("hub client connection is not configured");
108
- }
109
- const hubUrl = (0, hub_1.normalizeHubUrl)(hubAddress);
110
- const [me, info] = await Promise.all([
111
- (0, hub_1.hubRequestJson)(hubUrl, userToken, "/api/v1/hub/me", { method: "GET" }),
112
- (0, hub_1.hubRequestJson)(hubUrl, "", "/api/v1/hub/info", { method: "GET" }).catch(() => null),
113
- ]);
114
- const persisted = store.getClientHubConnection();
115
- store.setClientHubConnection({
116
- hubUrl,
117
- userId: String(me.id),
118
- username: String(me.username ?? ""),
119
- userToken,
120
- role: String(me.role ?? "member"),
121
- connectedAt: Date.now(),
122
- identityKey: persisted?.identityKey || String(me.identityKey ?? ""),
123
- lastKnownStatus: "active",
124
- hubInstanceId: String(info?.hubInstanceId ?? persisted?.hubInstanceId ?? ""),
125
- });
126
- return store.getClientHubConnection();
127
- }
128
- async function getHubStatus(store, config) {
129
- const conn = store.getClientHubConnection();
130
- const configHubAddress = config.sharing?.client?.hubAddress || "";
131
- const hubAddress = conn?.hubUrl || (configHubAddress ? (0, hub_1.normalizeHubUrl)(configHubAddress) : "");
132
- const userToken = conn?.userToken || config.sharing?.client?.userToken || "";
133
- if (conn && configHubAddress && conn.hubUrl && (0, hub_1.normalizeHubUrl)(configHubAddress) !== conn.hubUrl) {
134
- store.setClientHubConnection({
135
- ...conn,
136
- hubUrl: (0, hub_1.normalizeHubUrl)(configHubAddress),
137
- userToken: "",
138
- lastKnownStatus: "hub_changed",
139
- });
140
- return { connected: false, user: null };
141
- }
142
- if (conn && conn.userId && (!userToken || userToken === "")) {
143
- const teamToken = config.sharing?.client?.teamToken ?? "";
144
- if (hubAddress && teamToken) {
145
- try {
146
- const result = await (0, hub_1.hubRequestJson)((0, hub_1.normalizeHubUrl)(hubAddress), "", "/api/v1/hub/registration-status", {
147
- method: "POST",
148
- body: JSON.stringify({ teamToken, userId: conn.userId }),
149
- });
150
- if (result.status === "pending") {
151
- return {
152
- connected: false,
153
- hubUrl: (0, hub_1.normalizeHubUrl)(hubAddress),
154
- user: {
155
- id: conn.userId,
156
- username: conn.username || "",
157
- role: "member",
158
- status: "pending",
159
- },
160
- };
161
- }
162
- if (result.status === "active" && result.userToken) {
163
- store.setClientHubConnection({
164
- hubUrl: (0, hub_1.normalizeHubUrl)(hubAddress),
165
- userId: conn.userId,
166
- username: conn.username || "",
167
- userToken: result.userToken,
168
- role: "member",
169
- connectedAt: Date.now(),
170
- identityKey: conn.identityKey || "",
171
- lastKnownStatus: "active",
172
- hubInstanceId: conn.hubInstanceId || "",
173
- });
174
- const me = await (0, hub_1.hubRequestJson)((0, hub_1.normalizeHubUrl)(hubAddress), result.userToken, "/api/v1/hub/me", { method: "GET" });
175
- return {
176
- connected: true,
177
- hubUrl: (0, hub_1.normalizeHubUrl)(hubAddress),
178
- user: {
179
- id: String(me.id),
180
- username: String(me.username ?? ""),
181
- role: String(me.role ?? "member"),
182
- status: String(me.status ?? "active"),
183
- },
184
- };
185
- }
186
- if (result.status === "rejected") {
187
- return {
188
- connected: false,
189
- hubUrl: (0, hub_1.normalizeHubUrl)(hubAddress),
190
- user: {
191
- id: conn.userId,
192
- username: conn.username || "",
193
- role: "member",
194
- status: "rejected",
195
- },
196
- };
197
- }
198
- }
199
- catch { /* fall through */ }
200
- }
201
- return { connected: false, user: null };
202
- }
203
- if (!hubAddress || !userToken) {
204
- return { connected: false, user: null };
205
- }
206
- try {
207
- const me = await (0, hub_1.hubRequestJson)((0, hub_1.normalizeHubUrl)(hubAddress), userToken, "/api/v1/hub/me", { method: "GET" });
208
- const latestUsername = String(me.username ?? "");
209
- const latestRole = String(me.role ?? "member");
210
- if (conn && (conn.username !== latestUsername || conn.role !== latestRole)) {
211
- store.setClientHubConnection({
212
- ...conn,
213
- username: latestUsername,
214
- role: latestRole,
215
- lastKnownStatus: "active",
216
- });
217
- }
218
- return {
219
- connected: true,
220
- hubUrl: (0, hub_1.normalizeHubUrl)(hubAddress),
221
- user: {
222
- id: String(me.id),
223
- username: latestUsername,
224
- role: latestRole,
225
- status: String(me.status ?? "active"),
226
- groups: Array.isArray(me.groups) ? me.groups : [],
227
- },
228
- };
229
- }
230
- catch (err) {
231
- const is401 = typeof err?.message === "string" && err.message.includes("(401)");
232
- if (is401 && conn) {
233
- const teamToken = config.sharing?.client?.teamToken ?? "";
234
- if (hubAddress && teamToken) {
235
- try {
236
- const regResult = await (0, hub_1.hubRequestJson)((0, hub_1.normalizeHubUrl)(hubAddress), "", "/api/v1/hub/registration-status", {
237
- method: "POST",
238
- body: JSON.stringify({ teamToken, userId: conn.userId }),
239
- });
240
- if (regResult.status === "active" && regResult.userToken) {
241
- const updatedConn = {
242
- ...conn,
243
- hubUrl: (0, hub_1.normalizeHubUrl)(hubAddress),
244
- userToken: regResult.userToken,
245
- connectedAt: Date.now(),
246
- lastKnownStatus: "active",
247
- };
248
- store.setClientHubConnection(updatedConn);
249
- try {
250
- const me = await (0, hub_1.hubRequestJson)((0, hub_1.normalizeHubUrl)(hubAddress), regResult.userToken, "/api/v1/hub/me", { method: "GET" });
251
- const latestUsername = String(me.username ?? "");
252
- const latestRole = String(me.role ?? "member");
253
- if (latestUsername !== conn.username || latestRole !== conn.role) {
254
- store.setClientHubConnection({ ...updatedConn, username: latestUsername, role: latestRole });
255
- }
256
- return {
257
- connected: true,
258
- hubUrl: (0, hub_1.normalizeHubUrl)(hubAddress),
259
- user: {
260
- id: String(me.id),
261
- username: latestUsername,
262
- role: latestRole,
263
- status: String(me.status ?? "active"),
264
- groups: Array.isArray(me.groups) ? me.groups : [],
265
- },
266
- };
267
- }
268
- catch { /* fall through to token-only return */ }
269
- return {
270
- connected: true,
271
- hubUrl: (0, hub_1.normalizeHubUrl)(hubAddress),
272
- user: { id: conn.userId, username: conn.username || "", role: conn.role || "member", status: "active" },
273
- };
274
- }
275
- const realStatus = regResult.status;
276
- store.setClientHubConnection({ ...conn, userToken: "", lastKnownStatus: realStatus });
277
- return {
278
- connected: false,
279
- hubUrl: (0, hub_1.normalizeHubUrl)(hubAddress),
280
- user: { id: conn.userId, username: conn.username || "", role: "member", status: realStatus },
281
- };
282
- }
283
- catch { /* registration-status also failed, fall through */ }
284
- }
285
- store.setClientHubConnection({ ...conn, userToken: "", lastKnownStatus: "token_expired" });
286
- return {
287
- connected: false,
288
- hubUrl: (0, hub_1.normalizeHubUrl)(hubAddress),
289
- user: { id: conn.userId, username: conn.username || "", role: "member", status: "token_expired" },
290
- };
291
- }
292
- return { connected: false, user: null };
293
- }
294
- }
295
- async function autoJoinHub(store, config, log) {
296
- const hubAddress = config.sharing?.client?.hubAddress ?? "";
297
- const teamToken = config.sharing?.client?.teamToken ?? "";
298
- if (!hubAddress || !teamToken) {
299
- throw new Error("hubAddress and teamToken are required for auto-join");
300
- }
301
- const hubUrl = (0, hub_1.normalizeHubUrl)(hubAddress);
302
- const osModule = typeof globalThis.process !== "undefined" ? await Promise.resolve().then(() => __importStar(require("os"))) : null;
303
- const hostname = osModule ? osModule.hostname() : "unknown";
304
- const nickname = config.sharing?.client?.nickname;
305
- const username = nickname || (osModule ? osModule.userInfo().username : "user");
306
- let clientIp = "";
307
- if (osModule) {
308
- const nets = osModule.networkInterfaces();
309
- for (const name of Object.keys(nets)) {
310
- for (const net of nets[name] ?? []) {
311
- if (net.family === "IPv4" && !net.internal) {
312
- clientIp = net.address;
313
- break;
314
- }
315
- }
316
- if (clientIp)
317
- break;
318
- }
319
- }
320
- const persisted = store.getClientHubConnection();
321
- const existingIdentityKey = persisted?.identityKey || "";
322
- log.info(`Joining Hub at ${hubUrl} as "${username}"...`);
323
- let hubInstanceId = "";
324
- try {
325
- const info = await (0, hub_1.hubRequestJson)(hubUrl, "", "/api/v1/hub/info", { method: "GET" });
326
- hubInstanceId = String(info?.hubInstanceId ?? "");
327
- }
328
- catch { /* best-effort */ }
329
- const result = await (0, hub_1.hubRequestJson)(hubUrl, "", "/api/v1/hub/join", {
330
- method: "POST",
331
- body: JSON.stringify({ teamToken, username, deviceName: hostname, clientIp, identityKey: existingIdentityKey }),
332
- });
333
- const returnedIdentityKey = String(result.identityKey || existingIdentityKey || "");
334
- if (result.status === "pending") {
335
- log.info(`Join request submitted, awaiting admin approval. userId=${result.userId}`);
336
- store.setClientHubConnection({
337
- hubUrl,
338
- userId: String(result.userId),
339
- username,
340
- userToken: "",
341
- role: "member",
342
- connectedAt: Date.now(),
343
- identityKey: returnedIdentityKey,
344
- lastKnownStatus: "pending",
345
- hubInstanceId,
346
- });
347
- throw new PendingApprovalError(result.userId);
348
- }
349
- if (result.status === "rejected") {
350
- throw new Error(`Join request was rejected by the Hub admin.`);
351
- }
352
- if (result.status === "blocked") {
353
- throw new Error(`Your account has been blocked by the Hub admin.`);
354
- }
355
- if (!result.userToken) {
356
- throw new Error(`Hub join failed: ${JSON.stringify(result)}`);
357
- }
358
- log.info(`Joined Hub successfully! userId=${result.userId}`);
359
- store.setClientHubConnection({
360
- hubUrl,
361
- userId: String(result.userId),
362
- username,
363
- userToken: result.userToken,
364
- role: "member",
365
- connectedAt: Date.now(),
366
- identityKey: returnedIdentityKey,
367
- lastKnownStatus: "active",
368
- hubInstanceId,
369
- });
370
- return store.getClientHubConnection();
371
- }
372
- class PendingApprovalError extends Error {
373
- userId;
374
- constructor(userId) {
375
- super("Awaiting admin approval");
376
- this.name = "PendingApprovalError";
377
- this.userId = userId;
378
- }
379
- }
380
- exports.PendingApprovalError = PendingApprovalError;
381
- //# sourceMappingURL=connector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connector.js","sourceRoot":"","sources":["../../src/client/connector.ts"],"names":[],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- import type { PluginContext } from "../types";
2
- import type { SqliteStore } from "../storage/sqlite";
3
- import type { HubMemoryDetail, HubScope, HubSearchResult, HubSkillSearchResult } from "../sharing/types";
4
- export interface ResolvedHubClient {
5
- hubUrl: string;
6
- userToken: string;
7
- userId: string;
8
- username: string;
9
- role: string;
10
- }
11
- export declare function resolveHubClient(store: SqliteStore, ctx: PluginContext, overrides?: {
12
- hubAddress?: string;
13
- userToken?: string;
14
- }): Promise<ResolvedHubClient>;
15
- export declare function hubListMemories(store: SqliteStore, ctx: PluginContext, input?: {
16
- limit?: number;
17
- hubAddress?: string;
18
- userToken?: string;
19
- }): Promise<{
20
- memories: Array<any>;
21
- }>;
22
- export declare function hubListTasks(store: SqliteStore, ctx: PluginContext, input?: {
23
- limit?: number;
24
- hubAddress?: string;
25
- userToken?: string;
26
- }): Promise<{
27
- tasks: Array<any>;
28
- }>;
29
- export declare function hubListSkills(store: SqliteStore, ctx: PluginContext, input?: {
30
- limit?: number;
31
- hubAddress?: string;
32
- userToken?: string;
33
- }): Promise<{
34
- skills: Array<any>;
35
- }>;
36
- export declare function hubSearchMemories(store: SqliteStore, ctx: PluginContext, input: {
37
- query: string;
38
- maxResults?: number;
39
- scope?: HubScope;
40
- hubAddress?: string;
41
- userToken?: string;
42
- }): Promise<HubSearchResult>;
43
- export declare function hubSearchSkills(store: SqliteStore, ctx: PluginContext, input: {
44
- query: string;
45
- maxResults?: number;
46
- hubAddress?: string;
47
- userToken?: string;
48
- }): Promise<HubSkillSearchResult>;
49
- export declare function hubGetMemoryDetail(store: SqliteStore, ctx: PluginContext, input: {
50
- remoteHitId: string;
51
- hubAddress?: string;
52
- userToken?: string;
53
- }): Promise<HubMemoryDetail>;
54
- export declare function hubUpdateUsername(store: SqliteStore, ctx: PluginContext, newUsername: string): Promise<{
55
- ok: boolean;
56
- username: string;
57
- userToken: string;
58
- }>;
59
- export declare function hubRequestJson(hubUrl: string, userToken: string, route: string, init?: RequestInit): Promise<unknown>;
60
- export declare function normalizeHubUrl(hubAddress: string): string;
61
- //# sourceMappingURL=hub.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../src/client/hub.ts"],"names":[],"mappings":"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"}
@@ -1,174 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveHubClient = resolveHubClient;
4
- exports.hubListMemories = hubListMemories;
5
- exports.hubListTasks = hubListTasks;
6
- exports.hubListSkills = hubListSkills;
7
- exports.hubSearchMemories = hubSearchMemories;
8
- exports.hubSearchSkills = hubSearchSkills;
9
- exports.hubGetMemoryDetail = hubGetMemoryDetail;
10
- exports.hubUpdateUsername = hubUpdateUsername;
11
- exports.hubRequestJson = hubRequestJson;
12
- exports.normalizeHubUrl = normalizeHubUrl;
13
- async function resolveHubClient(store, ctx, overrides) {
14
- const persisted = store.getClientHubConnection();
15
- if (persisted?.hubUrl && persisted?.userToken) {
16
- return {
17
- hubUrl: normalizeHubUrl(String(persisted.hubUrl)),
18
- userToken: String(persisted.userToken),
19
- userId: String(persisted.userId),
20
- username: String(persisted.username ?? ""),
21
- role: String(persisted.role ?? "member"),
22
- };
23
- }
24
- const hubAddress = overrides?.hubAddress ?? ctx.config.sharing?.client?.hubAddress ?? "";
25
- const userToken = overrides?.userToken ?? ctx.config.sharing?.client?.userToken ?? "";
26
- if (!hubAddress || !userToken) {
27
- throw new Error("hub client connection is not configured");
28
- }
29
- const hubUrl = normalizeHubUrl(hubAddress);
30
- const me = await hubRequestJson(hubUrl, userToken, "/api/v1/hub/me", { method: "GET" });
31
- return {
32
- hubUrl,
33
- userToken,
34
- userId: String(me.id),
35
- username: String(me.username ?? ""),
36
- role: String(me.role ?? "member"),
37
- };
38
- }
39
- async function hubListMemories(store, ctx, input) {
40
- const client = await resolveHubClient(store, ctx, { hubAddress: input?.hubAddress, userToken: input?.userToken });
41
- const url = new URL(`${client.hubUrl}/api/v1/hub/memories`);
42
- if (input?.limit != null)
43
- url.searchParams.set("limit", String(input.limit));
44
- return hubRequestJson(url.origin, client.userToken, `${url.pathname}${url.search}`, {
45
- method: "GET",
46
- });
47
- }
48
- async function hubListTasks(store, ctx, input) {
49
- const client = await resolveHubClient(store, ctx, { hubAddress: input?.hubAddress, userToken: input?.userToken });
50
- const url = new URL(`${client.hubUrl}/api/v1/hub/tasks`);
51
- if (input?.limit != null)
52
- url.searchParams.set("limit", String(input.limit));
53
- return hubRequestJson(url.origin, client.userToken, `${url.pathname}${url.search}`, {
54
- method: "GET",
55
- });
56
- }
57
- async function hubListSkills(store, ctx, input) {
58
- const client = await resolveHubClient(store, ctx, { hubAddress: input?.hubAddress, userToken: input?.userToken });
59
- const url = new URL(`${client.hubUrl}/api/v1/hub/skills/list`);
60
- if (input?.limit != null)
61
- url.searchParams.set("limit", String(input.limit));
62
- return hubRequestJson(url.origin, client.userToken, `${url.pathname}${url.search}`, {
63
- method: "GET",
64
- });
65
- }
66
- async function hubSearchMemories(store, ctx, input) {
67
- const client = await resolveHubClient(store, ctx, { hubAddress: input.hubAddress, userToken: input.userToken });
68
- return hubRequestJson(client.hubUrl, client.userToken, "/api/v1/hub/search", {
69
- method: "POST",
70
- body: JSON.stringify({
71
- query: input.query,
72
- maxResults: input.maxResults,
73
- scope: input.scope,
74
- }),
75
- });
76
- }
77
- async function hubSearchSkills(store, ctx, input) {
78
- const client = await resolveHubClient(store, ctx, { hubAddress: input.hubAddress, userToken: input.userToken });
79
- const url = new URL(`${client.hubUrl}/api/v1/hub/skills`);
80
- url.searchParams.set("query", input.query);
81
- if (input.maxResults != null)
82
- url.searchParams.set("maxResults", String(input.maxResults));
83
- return hubRequestJson(url.origin, client.userToken, `${url.pathname}${url.search}`, {
84
- method: "GET",
85
- });
86
- }
87
- async function hubGetMemoryDetail(store, ctx, input) {
88
- const client = await resolveHubClient(store, ctx, { hubAddress: input.hubAddress, userToken: input.userToken });
89
- const detail = await hubRequestJson(client.hubUrl, client.userToken, "/api/v1/hub/memory-detail", {
90
- method: "POST",
91
- body: JSON.stringify({
92
- remoteHitId: input.remoteHitId,
93
- }),
94
- });
95
- return {
96
- remoteHitId: input.remoteHitId,
97
- content: String(detail.content ?? ""),
98
- summary: String(detail.summary ?? ""),
99
- source: {
100
- ts: Number(detail.source?.ts ?? 0),
101
- role: String(detail.source?.role ?? "assistant"),
102
- },
103
- };
104
- }
105
- async function hubUpdateUsername(store, ctx, newUsername) {
106
- const client = await resolveHubClient(store, ctx);
107
- const persisted = store.getClientHubConnection();
108
- const result = await hubRequestJson(client.hubUrl, client.userToken, "/api/v1/hub/me/update-profile", {
109
- method: "POST",
110
- body: JSON.stringify({ username: newUsername }),
111
- });
112
- if (result.ok && result.userToken) {
113
- store.setClientHubConnection({
114
- hubUrl: client.hubUrl,
115
- userId: client.userId,
116
- username: result.username,
117
- userToken: result.userToken,
118
- role: client.role,
119
- connectedAt: Date.now(),
120
- identityKey: persisted?.identityKey || "",
121
- lastKnownStatus: "active",
122
- hubInstanceId: persisted?.hubInstanceId || "",
123
- });
124
- }
125
- return result;
126
- }
127
- let _cachedClientIp = null;
128
- function getClientIp() {
129
- if (_cachedClientIp !== null)
130
- return _cachedClientIp;
131
- try {
132
- const os = require("os");
133
- const nets = os.networkInterfaces();
134
- for (const name of Object.keys(nets)) {
135
- for (const net of nets[name] ?? []) {
136
- if (net.family === "IPv4" && !net.internal) {
137
- _cachedClientIp = net.address;
138
- return _cachedClientIp;
139
- }
140
- }
141
- }
142
- }
143
- catch { /* browser or no os module */ }
144
- _cachedClientIp = "";
145
- return "";
146
- }
147
- async function hubRequestJson(hubUrl, userToken, route, init = {}) {
148
- const clientIp = getClientIp();
149
- const res = await fetch(`${normalizeHubUrl(hubUrl)}${route}`, {
150
- ...init,
151
- headers: {
152
- authorization: `Bearer ${userToken}`,
153
- ...(clientIp ? { "x-client-ip": clientIp } : {}),
154
- ...(init.body ? { "content-type": "application/json" } : {}),
155
- ...(init.headers ?? {}),
156
- },
157
- });
158
- if (!res.ok) {
159
- const body = await res.text();
160
- throw new Error(`hub request failed (${res.status}): ${body || res.statusText}`);
161
- }
162
- if (res.status === 204)
163
- return null;
164
- return res.json();
165
- }
166
- function normalizeHubUrl(hubAddress) {
167
- const trimmed = hubAddress.trim().replace(/\/+$/, "");
168
- if (!trimmed)
169
- return "";
170
- if (/^https?:\/\//i.test(trimmed))
171
- return trimmed;
172
- return `http://${trimmed}`;
173
- }
174
- //# sourceMappingURL=hub.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/client/hub.ts"],"names":[],"mappings":"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"}