@memtensor/memos-local-openclaw-plugin 1.0.4-beta.6 → 1.0.4-beta.8

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 (143) hide show
  1. package/README.md +38 -21
  2. package/dist/capture/index.d.ts +1 -1
  3. package/dist/capture/index.d.ts.map +1 -1
  4. package/dist/capture/index.js +29 -3
  5. package/dist/capture/index.js.map +1 -1
  6. package/dist/client/connector.d.ts +29 -0
  7. package/dist/client/connector.d.ts.map +1 -0
  8. package/dist/client/connector.js +231 -0
  9. package/dist/client/connector.js.map +1 -0
  10. package/dist/client/hub.d.ts +61 -0
  11. package/dist/client/hub.d.ts.map +1 -0
  12. package/dist/client/hub.js +170 -0
  13. package/dist/client/hub.js.map +1 -0
  14. package/dist/client/skill-sync.d.ts +36 -0
  15. package/dist/client/skill-sync.d.ts.map +1 -0
  16. package/dist/client/skill-sync.js +226 -0
  17. package/dist/client/skill-sync.js.map +1 -0
  18. package/dist/config.d.ts +2 -1
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +70 -3
  21. package/dist/config.js.map +1 -1
  22. package/dist/embedding/index.d.ts +4 -2
  23. package/dist/embedding/index.d.ts.map +1 -1
  24. package/dist/embedding/index.js +17 -1
  25. package/dist/embedding/index.js.map +1 -1
  26. package/dist/hub/auth.d.ts +19 -0
  27. package/dist/hub/auth.d.ts.map +1 -0
  28. package/dist/hub/auth.js +70 -0
  29. package/dist/hub/auth.js.map +1 -0
  30. package/dist/hub/server.d.ts +48 -0
  31. package/dist/hub/server.d.ts.map +1 -0
  32. package/dist/hub/server.js +922 -0
  33. package/dist/hub/server.js.map +1 -0
  34. package/dist/hub/user-manager.d.ts +31 -0
  35. package/dist/hub/user-manager.d.ts.map +1 -0
  36. package/dist/hub/user-manager.js +129 -0
  37. package/dist/hub/user-manager.js.map +1 -0
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +8 -4
  41. package/dist/index.js.map +1 -1
  42. package/dist/ingest/providers/index.d.ts +10 -2
  43. package/dist/ingest/providers/index.d.ts.map +1 -1
  44. package/dist/ingest/providers/index.js +203 -6
  45. package/dist/ingest/providers/index.js.map +1 -1
  46. package/dist/ingest/providers/openai.d.ts +1 -0
  47. package/dist/ingest/providers/openai.d.ts.map +1 -1
  48. package/dist/ingest/providers/openai.js +1 -0
  49. package/dist/ingest/providers/openai.js.map +1 -1
  50. package/dist/ingest/task-processor.js +1 -1
  51. package/dist/ingest/task-processor.js.map +1 -1
  52. package/dist/openclaw-api.d.ts +53 -0
  53. package/dist/openclaw-api.d.ts.map +1 -0
  54. package/dist/openclaw-api.js +189 -0
  55. package/dist/openclaw-api.js.map +1 -0
  56. package/dist/recall/engine.js +1 -1
  57. package/dist/recall/engine.js.map +1 -1
  58. package/dist/shared/llm-call.d.ts +4 -1
  59. package/dist/shared/llm-call.d.ts.map +1 -1
  60. package/dist/shared/llm-call.js +14 -1
  61. package/dist/shared/llm-call.js.map +1 -1
  62. package/dist/sharing/types.contract.d.ts +2 -0
  63. package/dist/sharing/types.contract.d.ts.map +1 -0
  64. package/dist/sharing/types.contract.js +3 -0
  65. package/dist/sharing/types.contract.js.map +1 -0
  66. package/dist/sharing/types.d.ts +80 -0
  67. package/dist/sharing/types.d.ts.map +1 -0
  68. package/dist/sharing/types.js +3 -0
  69. package/dist/sharing/types.js.map +1 -0
  70. package/dist/skill/evaluator.d.ts.map +1 -1
  71. package/dist/skill/evaluator.js +2 -2
  72. package/dist/skill/evaluator.js.map +1 -1
  73. package/dist/skill/generator.d.ts.map +1 -1
  74. package/dist/skill/generator.js +4 -4
  75. package/dist/skill/generator.js.map +1 -1
  76. package/dist/skill/upgrader.js +1 -1
  77. package/dist/skill/upgrader.js.map +1 -1
  78. package/dist/skill/validator.js +1 -1
  79. package/dist/skill/validator.js.map +1 -1
  80. package/dist/storage/ensure-binding.d.ts.map +1 -1
  81. package/dist/storage/ensure-binding.js +3 -1
  82. package/dist/storage/ensure-binding.js.map +1 -1
  83. package/dist/storage/sqlite.d.ts +332 -1
  84. package/dist/storage/sqlite.d.ts.map +1 -1
  85. package/dist/storage/sqlite.js +913 -4
  86. package/dist/storage/sqlite.js.map +1 -1
  87. package/dist/tools/index.d.ts +1 -0
  88. package/dist/tools/index.d.ts.map +1 -1
  89. package/dist/tools/index.js +3 -1
  90. package/dist/tools/index.js.map +1 -1
  91. package/dist/tools/memory-search.d.ts +5 -2
  92. package/dist/tools/memory-search.d.ts.map +1 -1
  93. package/dist/tools/memory-search.js +50 -7
  94. package/dist/tools/memory-search.js.map +1 -1
  95. package/dist/tools/network-memory-detail.d.ts +4 -0
  96. package/dist/tools/network-memory-detail.d.ts.map +1 -0
  97. package/dist/tools/network-memory-detail.js +34 -0
  98. package/dist/tools/network-memory-detail.js.map +1 -0
  99. package/dist/types.d.ts +48 -2
  100. package/dist/types.d.ts.map +1 -1
  101. package/dist/types.js.map +1 -1
  102. package/dist/viewer/html.d.ts.map +1 -1
  103. package/dist/viewer/html.js +4299 -511
  104. package/dist/viewer/html.js.map +1 -1
  105. package/dist/viewer/server.d.ts +65 -0
  106. package/dist/viewer/server.d.ts.map +1 -1
  107. package/dist/viewer/server.js +1844 -90
  108. package/dist/viewer/server.js.map +1 -1
  109. package/index.ts +767 -41
  110. package/openclaw.plugin.json +3 -2
  111. package/package.json +3 -3
  112. package/scripts/postinstall.cjs +282 -45
  113. package/skill/memos-memory-guide/SKILL.md +82 -20
  114. package/src/capture/index.ts +30 -2
  115. package/src/client/connector.ts +225 -0
  116. package/src/client/hub.ts +207 -0
  117. package/src/client/skill-sync.ts +216 -0
  118. package/src/config.ts +92 -3
  119. package/src/embedding/index.ts +21 -1
  120. package/src/hub/auth.ts +78 -0
  121. package/src/hub/server.ts +906 -0
  122. package/src/hub/user-manager.ts +143 -0
  123. package/src/index.ts +13 -5
  124. package/src/ingest/providers/index.ts +240 -6
  125. package/src/ingest/providers/openai.ts +1 -1
  126. package/src/ingest/task-processor.ts +1 -1
  127. package/src/openclaw-api.ts +287 -0
  128. package/src/recall/engine.ts +1 -1
  129. package/src/shared/llm-call.ts +18 -2
  130. package/src/sharing/types.contract.ts +40 -0
  131. package/src/sharing/types.ts +102 -0
  132. package/src/skill/evaluator.ts +3 -2
  133. package/src/skill/generator.ts +6 -4
  134. package/src/skill/upgrader.ts +1 -1
  135. package/src/skill/validator.ts +1 -1
  136. package/src/storage/ensure-binding.ts +3 -1
  137. package/src/storage/sqlite.ts +1164 -4
  138. package/src/tools/index.ts +1 -0
  139. package/src/tools/memory-search.ts +58 -8
  140. package/src/tools/network-memory-detail.ts +34 -0
  141. package/src/types.ts +43 -2
  142. package/src/viewer/html.ts +4299 -511
  143. package/src/viewer/server.ts +1688 -73
@@ -11,11 +11,16 @@ const providers_1 = require("../ingest/providers");
11
11
  class Embedder {
12
12
  cfg;
13
13
  log;
14
- constructor(cfg, log) {
14
+ openclawAPI;
15
+ constructor(cfg, log, openclawAPI) {
15
16
  this.cfg = cfg;
16
17
  this.log = log;
18
+ this.openclawAPI = openclawAPI;
17
19
  }
18
20
  get provider() {
21
+ if (this.cfg?.provider === "openclaw" && this.cfg.capabilities?.hostEmbedding !== true) {
22
+ return "local";
23
+ }
19
24
  return this.cfg?.provider ?? "local";
20
25
  }
21
26
  get dimensions() {
@@ -84,6 +89,17 @@ class Embedder {
84
89
  throw err;
85
90
  }
86
91
  }
92
+ async embedOpenClaw(texts) {
93
+ if (!this.openclawAPI) {
94
+ throw new Error("OpenClaw API not available. Ensure sharing.capabilities.hostEmbedding is enabled in config.");
95
+ }
96
+ this.log.debug(`Calling OpenClaw embed API for ${texts.length} texts`);
97
+ const response = await this.openclawAPI.embed({
98
+ texts,
99
+ model: this.cfg?.model,
100
+ });
101
+ return response.embeddings;
102
+ }
87
103
  }
88
104
  exports.Embedder = Embedder;
89
105
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedding/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embedding/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { UserRole, UserStatus } from "../sharing/types";
2
+ type UserTokenPayload = {
3
+ userId: string;
4
+ username: string;
5
+ role: UserRole;
6
+ status: UserStatus;
7
+ exp: number;
8
+ };
9
+ export declare function createTeamToken(secret: string): string;
10
+ export declare function verifyTeamToken(token: string, secret: string): boolean;
11
+ export declare function issueUserToken(payload: {
12
+ userId: string;
13
+ username: string;
14
+ role: UserRole;
15
+ status: UserStatus;
16
+ }, secret: string, ttlMs?: number): string;
17
+ export declare function verifyUserToken(token: string, secret: string): Omit<UserTokenPayload, "exp"> | null;
18
+ export {};
19
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/hub/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE7D,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAmBF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAWtE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,EACjF,MAAM,EAAE,MAAM,EACd,KAAK,SAAsB,GAC1B,MAAM,CAIR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,GAAG,IAAI,CAoBnG"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTeamToken = createTeamToken;
4
+ exports.verifyTeamToken = verifyTeamToken;
5
+ exports.issueUserToken = issueUserToken;
6
+ exports.verifyUserToken = verifyUserToken;
7
+ const crypto_1 = require("crypto");
8
+ function base64url(input) {
9
+ return Buffer.from(input)
10
+ .toString("base64")
11
+ .replace(/\+/g, "-")
12
+ .replace(/\//g, "_")
13
+ .replace(/=+$/g, "");
14
+ }
15
+ function unbase64url(input) {
16
+ const padded = input.replace(/-/g, "+").replace(/_/g, "/") + "===".slice((input.length + 3) % 4);
17
+ return Buffer.from(padded, "base64");
18
+ }
19
+ function sign(value, secret) {
20
+ return base64url((0, crypto_1.createHmac)("sha256", secret).update(value).digest());
21
+ }
22
+ function createTeamToken(secret) {
23
+ const nonce = base64url((0, crypto_1.randomBytes)(12));
24
+ const body = `team.${nonce}`;
25
+ return `${body}.${sign(body, secret)}`;
26
+ }
27
+ function verifyTeamToken(token, secret) {
28
+ const idx = token.lastIndexOf(".");
29
+ if (idx <= 0)
30
+ return false;
31
+ const body = token.slice(0, idx);
32
+ const sig = token.slice(idx + 1);
33
+ const expected = sign(body, secret);
34
+ try {
35
+ return (0, crypto_1.timingSafeEqual)(Buffer.from(sig), Buffer.from(expected));
36
+ }
37
+ catch {
38
+ return false;
39
+ }
40
+ }
41
+ function issueUserToken(payload, secret, ttlMs = 24 * 60 * 60 * 1000) {
42
+ const full = { ...payload, exp: Date.now() + ttlMs };
43
+ const body = base64url(JSON.stringify(full));
44
+ return `${body}.${sign(body, secret)}`;
45
+ }
46
+ function verifyUserToken(token, secret) {
47
+ const idx = token.lastIndexOf(".");
48
+ if (idx <= 0)
49
+ return null;
50
+ const body = token.slice(0, idx);
51
+ const sig = token.slice(idx + 1);
52
+ const expected = sign(body, secret);
53
+ try {
54
+ if (!(0, crypto_1.timingSafeEqual)(Buffer.from(sig), Buffer.from(expected)))
55
+ return null;
56
+ const parsed = JSON.parse(unbase64url(body).toString("utf8"));
57
+ if (parsed.exp < Date.now())
58
+ return null;
59
+ return {
60
+ userId: parsed.userId,
61
+ username: parsed.username,
62
+ role: parsed.role,
63
+ status: parsed.status,
64
+ };
65
+ }
66
+ catch {
67
+ return null;
68
+ }
69
+ }
70
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/hub/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { SqliteStore } from "../storage/sqlite";
2
+ import type { Embedder } from "../embedding";
3
+ import type { Logger, MemosLocalConfig } from "../types";
4
+ type HubServerOptions = {
5
+ store: SqliteStore;
6
+ log: Logger;
7
+ config: MemosLocalConfig;
8
+ dataDir: string;
9
+ embedder?: Embedder;
10
+ };
11
+ export declare class HubServer {
12
+ private opts;
13
+ private server?;
14
+ private remoteHitMap;
15
+ private readonly userManager;
16
+ private readonly authStatePath;
17
+ private authState;
18
+ private static readonly RATE_WINDOW_MS;
19
+ private static readonly RATE_LIMIT_DEFAULT;
20
+ private static readonly RATE_LIMIT_SEARCH;
21
+ private rateBuckets;
22
+ private static readonly OFFLINE_THRESHOLD_MS;
23
+ private static readonly OFFLINE_CHECK_INTERVAL_MS;
24
+ private offlineCheckTimer?;
25
+ private knownOnlineUsers;
26
+ constructor(opts: HubServerOptions);
27
+ private checkRateLimit;
28
+ start(): Promise<string>;
29
+ stop(): Promise<void>;
30
+ private get port();
31
+ private get teamName();
32
+ private get teamToken();
33
+ private get authSecret();
34
+ private loadAuthState;
35
+ private saveAuthState;
36
+ private embedChunksAsync;
37
+ private embedMemoryAsync;
38
+ private handle;
39
+ private notifyAdmins;
40
+ private initOnlineTracking;
41
+ private checkOfflineUsers;
42
+ private authenticate;
43
+ private static readonly MAX_BODY_BYTES;
44
+ private readJson;
45
+ private json;
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/hub/server.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAIzD,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAQF,qBAAa,SAAS;IAiBR,OAAO,CAAC,IAAI;IAhBxB,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,YAAY,CAAgH;IACpI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAM;IAC/C,OAAO,CAAC,WAAW,CAA6D;IAEhF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAa;IAC9D,OAAO,CAAC,iBAAiB,CAAC,CAAiC;IAC3D,OAAO,CAAC,gBAAgB,CAAqB;gBAEzB,IAAI,EAAE,gBAAgB;IAM1C,OAAO,CAAC,cAAc;IAahB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAsDxB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,OAAO,KAAK,IAAI,GAEf;IAED,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,gBAAgB;YAcV,MAAM;IA2mBpB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAoB;YAE5C,QAAQ;IAgBtB,OAAO,CAAC,IAAI;CAKb"}