@memtensor/memos-local-openclaw-plugin 1.0.6-beta.9 → 1.0.7-beta.1

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 (228) hide show
  1. package/index.ts +266 -273
  2. package/openclaw.plugin.json +1 -1
  3. package/package.json +3 -5
  4. package/prebuilds/darwin-arm64/better_sqlite3.node +0 -0
  5. package/prebuilds/darwin-x64/better_sqlite3.node +0 -0
  6. package/prebuilds/linux-x64/better_sqlite3.node +0 -0
  7. package/prebuilds/win32-x64/better_sqlite3.node +0 -0
  8. package/scripts/postinstall.cjs +44 -44
  9. package/skill/memos-memory-guide/SKILL.md +25 -2
  10. package/src/context-engine/index.ts +321 -0
  11. package/src/ingest/providers/index.ts +14 -1
  12. package/src/shared/llm-call.ts +14 -1
  13. package/src/update-check.ts +2 -7
  14. package/src/viewer/html.ts +4 -4
  15. package/src/viewer/server.ts +25 -3
  16. package/telemetry.credentials.json +5 -0
  17. package/dist/capture/index.d.ts +0 -26
  18. package/dist/capture/index.d.ts.map +0 -1
  19. package/dist/capture/index.js +0 -283
  20. package/dist/capture/index.js.map +0 -1
  21. package/dist/client/connector.d.ts +0 -34
  22. package/dist/client/connector.d.ts.map +0 -1
  23. package/dist/client/connector.js +0 -381
  24. package/dist/client/connector.js.map +0 -1
  25. package/dist/client/hub.d.ts +0 -61
  26. package/dist/client/hub.d.ts.map +0 -1
  27. package/dist/client/hub.js +0 -174
  28. package/dist/client/hub.js.map +0 -1
  29. package/dist/client/skill-sync.d.ts +0 -36
  30. package/dist/client/skill-sync.d.ts.map +0 -1
  31. package/dist/client/skill-sync.js +0 -226
  32. package/dist/client/skill-sync.js.map +0 -1
  33. package/dist/config.d.ts +0 -5
  34. package/dist/config.d.ts.map +0 -1
  35. package/dist/config.js +0 -171
  36. package/dist/config.js.map +0 -1
  37. package/dist/embedding/index.d.ts +0 -14
  38. package/dist/embedding/index.d.ts.map +0 -1
  39. package/dist/embedding/index.js +0 -105
  40. package/dist/embedding/index.js.map +0 -1
  41. package/dist/embedding/local.d.ts +0 -3
  42. package/dist/embedding/local.d.ts.map +0 -1
  43. package/dist/embedding/local.js +0 -66
  44. package/dist/embedding/local.js.map +0 -1
  45. package/dist/embedding/providers/cohere.d.ts +0 -4
  46. package/dist/embedding/providers/cohere.d.ts.map +0 -1
  47. package/dist/embedding/providers/cohere.js +0 -57
  48. package/dist/embedding/providers/cohere.js.map +0 -1
  49. package/dist/embedding/providers/gemini.d.ts +0 -3
  50. package/dist/embedding/providers/gemini.d.ts.map +0 -1
  51. package/dist/embedding/providers/gemini.js +0 -31
  52. package/dist/embedding/providers/gemini.js.map +0 -1
  53. package/dist/embedding/providers/mistral.d.ts +0 -3
  54. package/dist/embedding/providers/mistral.d.ts.map +0 -1
  55. package/dist/embedding/providers/mistral.js +0 -25
  56. package/dist/embedding/providers/mistral.js.map +0 -1
  57. package/dist/embedding/providers/openai.d.ts +0 -3
  58. package/dist/embedding/providers/openai.d.ts.map +0 -1
  59. package/dist/embedding/providers/openai.js +0 -35
  60. package/dist/embedding/providers/openai.js.map +0 -1
  61. package/dist/embedding/providers/voyage.d.ts +0 -3
  62. package/dist/embedding/providers/voyage.d.ts.map +0 -1
  63. package/dist/embedding/providers/voyage.js +0 -25
  64. package/dist/embedding/providers/voyage.js.map +0 -1
  65. package/dist/hub/auth.d.ts +0 -19
  66. package/dist/hub/auth.d.ts.map +0 -1
  67. package/dist/hub/auth.js +0 -70
  68. package/dist/hub/auth.js.map +0 -1
  69. package/dist/hub/server.d.ts +0 -52
  70. package/dist/hub/server.d.ts.map +0 -1
  71. package/dist/hub/server.js +0 -1197
  72. package/dist/hub/server.js.map +0 -1
  73. package/dist/hub/user-manager.d.ts +0 -40
  74. package/dist/hub/user-manager.d.ts.map +0 -1
  75. package/dist/hub/user-manager.js +0 -153
  76. package/dist/hub/user-manager.js.map +0 -1
  77. package/dist/index.d.ts +0 -46
  78. package/dist/index.d.ts.map +0 -1
  79. package/dist/index.js +0 -82
  80. package/dist/index.js.map +0 -1
  81. package/dist/ingest/chunker.d.ts +0 -15
  82. package/dist/ingest/chunker.d.ts.map +0 -1
  83. package/dist/ingest/chunker.js +0 -192
  84. package/dist/ingest/chunker.js.map +0 -1
  85. package/dist/ingest/dedup.d.ts +0 -19
  86. package/dist/ingest/dedup.d.ts.map +0 -1
  87. package/dist/ingest/dedup.js +0 -50
  88. package/dist/ingest/dedup.js.map +0 -1
  89. package/dist/ingest/providers/anthropic.d.ts +0 -21
  90. package/dist/ingest/providers/anthropic.d.ts.map +0 -1
  91. package/dist/ingest/providers/anthropic.js +0 -314
  92. package/dist/ingest/providers/anthropic.js.map +0 -1
  93. package/dist/ingest/providers/bedrock.d.ts +0 -21
  94. package/dist/ingest/providers/bedrock.d.ts.map +0 -1
  95. package/dist/ingest/providers/bedrock.js +0 -313
  96. package/dist/ingest/providers/bedrock.js.map +0 -1
  97. package/dist/ingest/providers/gemini.d.ts +0 -21
  98. package/dist/ingest/providers/gemini.d.ts.map +0 -1
  99. package/dist/ingest/providers/gemini.js +0 -298
  100. package/dist/ingest/providers/gemini.js.map +0 -1
  101. package/dist/ingest/providers/index.d.ts +0 -68
  102. package/dist/ingest/providers/index.d.ts.map +0 -1
  103. package/dist/ingest/providers/index.js +0 -611
  104. package/dist/ingest/providers/index.js.map +0 -1
  105. package/dist/ingest/providers/openai.d.ts +0 -30
  106. package/dist/ingest/providers/openai.d.ts.map +0 -1
  107. package/dist/ingest/providers/openai.js +0 -387
  108. package/dist/ingest/providers/openai.js.map +0 -1
  109. package/dist/ingest/task-processor.d.ts +0 -91
  110. package/dist/ingest/task-processor.d.ts.map +0 -1
  111. package/dist/ingest/task-processor.js +0 -478
  112. package/dist/ingest/task-processor.js.map +0 -1
  113. package/dist/ingest/worker.d.ts +0 -23
  114. package/dist/ingest/worker.d.ts.map +0 -1
  115. package/dist/ingest/worker.js +0 -255
  116. package/dist/ingest/worker.js.map +0 -1
  117. package/dist/openclaw-api.d.ts +0 -53
  118. package/dist/openclaw-api.d.ts.map +0 -1
  119. package/dist/openclaw-api.js +0 -189
  120. package/dist/openclaw-api.js.map +0 -1
  121. package/dist/recall/engine.d.ts +0 -28
  122. package/dist/recall/engine.d.ts.map +0 -1
  123. package/dist/recall/engine.js +0 -343
  124. package/dist/recall/engine.js.map +0 -1
  125. package/dist/recall/mmr.d.ts +0 -17
  126. package/dist/recall/mmr.d.ts.map +0 -1
  127. package/dist/recall/mmr.js +0 -53
  128. package/dist/recall/mmr.js.map +0 -1
  129. package/dist/recall/recency.d.ts +0 -20
  130. package/dist/recall/recency.d.ts.map +0 -1
  131. package/dist/recall/recency.js +0 -26
  132. package/dist/recall/recency.js.map +0 -1
  133. package/dist/recall/rrf.d.ts +0 -16
  134. package/dist/recall/rrf.d.ts.map +0 -1
  135. package/dist/recall/rrf.js +0 -15
  136. package/dist/recall/rrf.js.map +0 -1
  137. package/dist/shared/llm-call.d.ts +0 -30
  138. package/dist/shared/llm-call.d.ts.map +0 -1
  139. package/dist/shared/llm-call.js +0 -253
  140. package/dist/shared/llm-call.js.map +0 -1
  141. package/dist/sharing/types.contract.d.ts +0 -2
  142. package/dist/sharing/types.contract.d.ts.map +0 -1
  143. package/dist/sharing/types.contract.js +0 -3
  144. package/dist/sharing/types.contract.js.map +0 -1
  145. package/dist/sharing/types.d.ts +0 -80
  146. package/dist/sharing/types.d.ts.map +0 -1
  147. package/dist/sharing/types.js +0 -3
  148. package/dist/sharing/types.js.map +0 -1
  149. package/dist/skill/bundled-memory-guide.d.ts +0 -2
  150. package/dist/skill/bundled-memory-guide.d.ts.map +0 -1
  151. package/dist/skill/bundled-memory-guide.js +0 -45
  152. package/dist/skill/bundled-memory-guide.js.map +0 -1
  153. package/dist/skill/evaluator.d.ts +0 -28
  154. package/dist/skill/evaluator.d.ts.map +0 -1
  155. package/dist/skill/evaluator.js +0 -169
  156. package/dist/skill/evaluator.js.map +0 -1
  157. package/dist/skill/evolver.d.ts +0 -48
  158. package/dist/skill/evolver.d.ts.map +0 -1
  159. package/dist/skill/evolver.js +0 -406
  160. package/dist/skill/evolver.js.map +0 -1
  161. package/dist/skill/generator.d.ts +0 -26
  162. package/dist/skill/generator.d.ts.map +0 -1
  163. package/dist/skill/generator.js +0 -521
  164. package/dist/skill/generator.js.map +0 -1
  165. package/dist/skill/installer.d.ts +0 -42
  166. package/dist/skill/installer.d.ts.map +0 -1
  167. package/dist/skill/installer.js +0 -165
  168. package/dist/skill/installer.js.map +0 -1
  169. package/dist/skill/upgrader.d.ts +0 -19
  170. package/dist/skill/upgrader.d.ts.map +0 -1
  171. package/dist/skill/upgrader.js +0 -366
  172. package/dist/skill/upgrader.js.map +0 -1
  173. package/dist/skill/validator.d.ts +0 -30
  174. package/dist/skill/validator.d.ts.map +0 -1
  175. package/dist/skill/validator.js +0 -272
  176. package/dist/skill/validator.js.map +0 -1
  177. package/dist/storage/ensure-binding.d.ts +0 -12
  178. package/dist/storage/ensure-binding.d.ts.map +0 -1
  179. package/dist/storage/ensure-binding.js +0 -53
  180. package/dist/storage/ensure-binding.js.map +0 -1
  181. package/dist/storage/sqlite.d.ts +0 -649
  182. package/dist/storage/sqlite.d.ts.map +0 -1
  183. package/dist/storage/sqlite.js +0 -2657
  184. package/dist/storage/sqlite.js.map +0 -1
  185. package/dist/storage/vector.d.ts +0 -12
  186. package/dist/storage/vector.d.ts.map +0 -1
  187. package/dist/storage/vector.js +0 -34
  188. package/dist/storage/vector.js.map +0 -1
  189. package/dist/telemetry.d.ts +0 -47
  190. package/dist/telemetry.d.ts.map +0 -1
  191. package/dist/telemetry.js +0 -312
  192. package/dist/telemetry.js.map +0 -1
  193. package/dist/tools/index.d.ts +0 -5
  194. package/dist/tools/index.d.ts.map +0 -1
  195. package/dist/tools/index.js +0 -12
  196. package/dist/tools/index.js.map +0 -1
  197. package/dist/tools/memory-get.d.ts +0 -4
  198. package/dist/tools/memory-get.d.ts.map +0 -1
  199. package/dist/tools/memory-get.js +0 -64
  200. package/dist/tools/memory-get.js.map +0 -1
  201. package/dist/tools/memory-search.d.ts +0 -7
  202. package/dist/tools/memory-search.d.ts.map +0 -1
  203. package/dist/tools/memory-search.js +0 -84
  204. package/dist/tools/memory-search.js.map +0 -1
  205. package/dist/tools/memory-timeline.d.ts +0 -4
  206. package/dist/tools/memory-timeline.d.ts.map +0 -1
  207. package/dist/tools/memory-timeline.js +0 -73
  208. package/dist/tools/memory-timeline.js.map +0 -1
  209. package/dist/tools/network-memory-detail.d.ts +0 -4
  210. package/dist/tools/network-memory-detail.d.ts.map +0 -1
  211. package/dist/tools/network-memory-detail.js +0 -34
  212. package/dist/tools/network-memory-detail.js.map +0 -1
  213. package/dist/types.d.ts +0 -330
  214. package/dist/types.d.ts.map +0 -1
  215. package/dist/types.js +0 -38
  216. package/dist/types.js.map +0 -1
  217. package/dist/update-check.d.ts +0 -21
  218. package/dist/update-check.d.ts.map +0 -1
  219. package/dist/update-check.js +0 -110
  220. package/dist/update-check.js.map +0 -1
  221. package/dist/viewer/html.d.ts +0 -2
  222. package/dist/viewer/html.d.ts.map +0 -1
  223. package/dist/viewer/html.js +0 -9168
  224. package/dist/viewer/html.js.map +0 -1
  225. package/dist/viewer/server.d.ts +0 -205
  226. package/dist/viewer/server.d.ts.map +0 -1
  227. package/dist/viewer/server.js +0 -4876
  228. package/dist/viewer/server.js.map +0 -1
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createNetworkMemoryDetailTool = exports.createMemoryGetTool = exports.createMemoryTimelineTool = exports.createMemorySearchTool = void 0;
4
- var memory_search_1 = require("./memory-search");
5
- Object.defineProperty(exports, "createMemorySearchTool", { enumerable: true, get: function () { return memory_search_1.createMemorySearchTool; } });
6
- var memory_timeline_1 = require("./memory-timeline");
7
- Object.defineProperty(exports, "createMemoryTimelineTool", { enumerable: true, get: function () { return memory_timeline_1.createMemoryTimelineTool; } });
8
- var memory_get_1 = require("./memory-get");
9
- Object.defineProperty(exports, "createMemoryGetTool", { enumerable: true, get: function () { return memory_get_1.createMemoryGetTool; } });
10
- var network_memory_detail_1 = require("./network-memory-detail");
11
- Object.defineProperty(exports, "createNetworkMemoryDetailTool", { enumerable: true, get: function () { return network_memory_detail_1.createNetworkMemoryDetailTool; } });
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;AAAA,iDAAyD;AAAhD,uHAAA,sBAAsB,OAAA;AAC/B,qDAA6D;AAApD,2HAAA,wBAAwB,OAAA;AACjC,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA;AAC5B,iEAAwE;AAA/D,sIAAA,6BAA6B,OAAA"}
@@ -1,4 +0,0 @@
1
- import type { SqliteStore } from "../storage/sqlite";
2
- import type { ToolDefinition } from "../types";
3
- export declare function createMemoryGetTool(store: SqliteStore): ToolDefinition;
4
- //# sourceMappingURL=memory-get.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-get.d.ts","sourceRoot":"","sources":["../../src/tools/memory-get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,UAAU,CAAC;AAQpE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CA+DtE"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMemoryGetTool = createMemoryGetTool;
4
- const types_1 = require("../types");
5
- function resolveOwnerFilter(owner) {
6
- const resolvedOwner = typeof owner === "string" && owner.trim().length > 0 ? owner : "agent:main";
7
- return resolvedOwner === "public" ? ["public"] : [resolvedOwner, "public"];
8
- }
9
- function createMemoryGetTool(store) {
10
- return {
11
- name: "memory_get",
12
- description: "Retrieve the full original text of a specific memory chunk. Use after memory_search or memory_timeline " +
13
- "when you need to see the complete content (not just the excerpt). Useful for verifying exact details.",
14
- inputSchema: {
15
- type: "object",
16
- properties: {
17
- ref: {
18
- type: "object",
19
- description: "Reference object from a memory_search hit or memory_timeline entry.",
20
- properties: {
21
- sessionKey: { type: "string" },
22
- chunkId: { type: "string" },
23
- turnId: { type: "string" },
24
- seq: { type: "number" },
25
- },
26
- required: ["sessionKey", "chunkId", "turnId", "seq"],
27
- },
28
- maxChars: {
29
- type: "number",
30
- description: `Maximum characters to return (default ${types_1.DEFAULTS.getMaxCharsDefault}, max ${types_1.DEFAULTS.getMaxCharsMax}).`,
31
- },
32
- },
33
- required: ["ref"],
34
- },
35
- handler: async (input) => {
36
- const ref = input.ref;
37
- const maxChars = Math.min(input.maxChars ?? types_1.DEFAULTS.getMaxCharsDefault, types_1.DEFAULTS.getMaxCharsMax);
38
- const chunk = store.getChunksByRef(ref, resolveOwnerFilter(input.owner));
39
- if (!chunk) {
40
- return { error: `Chunk not found: ${ref.chunkId}` };
41
- }
42
- let content = chunk.content;
43
- if (content.length > maxChars) {
44
- content = content.slice(0, maxChars) + "…";
45
- }
46
- const result = {
47
- content,
48
- ref: {
49
- sessionKey: chunk.sessionKey,
50
- chunkId: chunk.id,
51
- turnId: chunk.turnId,
52
- seq: chunk.seq,
53
- },
54
- source: {
55
- ts: chunk.createdAt,
56
- role: chunk.role,
57
- sessionKey: chunk.sessionKey,
58
- },
59
- };
60
- return result;
61
- },
62
- };
63
- }
64
- //# sourceMappingURL=memory-get.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-get.js","sourceRoot":"","sources":["../../src/tools/memory-get.ts"],"names":[],"mappings":";;AASA,kDA+DC;AAtED,oCAAoC;AAEpC,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;IAClG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAkB;IACpD,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,yGAAyG;YACzG,uGAAuG;QACzG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qEAAqE;oBAClF,UAAU,EAAE;wBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC1B,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBACxB;oBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;iBACrD;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC,gBAAQ,CAAC,kBAAkB,SAAS,gBAAQ,CAAC,cAAc,IAAI;iBACtH;aACF;YACD,QAAQ,EAAE,CAAC,KAAK,CAAC;SAClB;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAe,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACtB,KAAK,CAAC,QAAmB,IAAI,gBAAQ,CAAC,kBAAkB,EACzD,gBAAQ,CAAC,cAAc,CACxB,CAAC;YAEF,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,KAAK,EAAE,oBAAoB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,CAAC;YAED,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC5B,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;gBAC9B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC;YAC7C,CAAC;YAED,MAAM,MAAM,GAAc;gBACxB,OAAO;gBACP,GAAG,EAAE;oBACH,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,GAAG,EAAE,KAAK,CAAC,GAAG;iBACf;gBACD,MAAM,EAAE;oBACN,EAAE,EAAE,KAAK,CAAC,SAAS;oBACnB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC7B;aACF,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { RecallEngine } from "../recall/engine";
2
- import type { PluginContext, ToolDefinition } from "../types";
3
- import type { SqliteStore } from "../storage/sqlite";
4
- export declare function createMemorySearchTool(engine: RecallEngine, store?: SqliteStore, ctx?: PluginContext, sharedState?: {
5
- lastSearchTime: number;
6
- }): ToolDefinition;
7
- //# sourceMappingURL=memory-search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-search.d.ts","sourceRoot":"","sources":["../../src/tools/memory-search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAsBrD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAiE/J"}
@@ -1,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMemorySearchTool = createMemorySearchTool;
4
- const hub_1 = require("../client/hub");
5
- function resolveOwnerFilter(owner) {
6
- const resolvedOwner = typeof owner === "string" && owner.trim().length > 0 ? owner : "agent:main";
7
- return resolvedOwner === "public" ? ["public"] : [resolvedOwner, "public"];
8
- }
9
- function resolveScope(scope) {
10
- return scope === "group" || scope === "all" ? scope : "local";
11
- }
12
- function emptyHubResult(scope) {
13
- return {
14
- hits: [],
15
- meta: {
16
- totalCandidates: 0,
17
- searchedGroups: [],
18
- includedPublic: scope === "all",
19
- },
20
- };
21
- }
22
- function createMemorySearchTool(engine, store, ctx, sharedState) {
23
- return {
24
- name: "memory_search",
25
- description: "Search stored conversation memories. Returns matching entries with summary, original_excerpt (evidence), score, and ref for follow-up with memory_timeline or memory_get. " +
26
- "Default: top 6 results, minScore 0.45. Increase maxResults to 12/20 or lower minScore to 0.35 if initial results are insufficient.",
27
- inputSchema: {
28
- type: "object",
29
- properties: {
30
- query: {
31
- type: "string",
32
- description: "Natural language search query. Include specific entities, commands, or error messages for better recall.",
33
- },
34
- maxResults: {
35
- type: "number",
36
- description: "Maximum number of results (default 6, max 20).",
37
- },
38
- minScore: {
39
- type: "number",
40
- description: "Minimum relevance score threshold 0-1 (default 0.45, floor 0.35).",
41
- },
42
- scope: {
43
- type: "string",
44
- description: "Search scope: local (default), group, or all. Group/all return split local and hub sections.",
45
- },
46
- hubAddress: {
47
- type: "string",
48
- description: "Optional hub address override for group/all search, integration tests, or manual routing.",
49
- },
50
- userToken: {
51
- type: "string",
52
- description: "Optional hub bearer token override for group/all search or integration tests.",
53
- },
54
- },
55
- },
56
- handler: async (input) => {
57
- if (sharedState)
58
- sharedState.lastSearchTime = Date.now();
59
- const query = input.query ?? "";
60
- const maxResults = input.maxResults;
61
- const minScore = input.minScore;
62
- const ownerFilter = resolveOwnerFilter(input.owner);
63
- const scope = resolveScope(input.scope);
64
- const localSearch = engine.search({
65
- query,
66
- maxResults,
67
- minScore,
68
- ownerFilter,
69
- });
70
- if (scope === "local" || !store || !ctx) {
71
- return localSearch;
72
- }
73
- const [local, hub] = await Promise.all([
74
- localSearch,
75
- (0, hub_1.hubSearchMemories)(store, ctx, { query, maxResults, scope, hubAddress: input.hubAddress, userToken: input.userToken }).catch((err) => {
76
- ctx.log.warn(`Hub search failed, using local-only results: ${err}`);
77
- return emptyHubResult(scope);
78
- }),
79
- ]);
80
- return { local, hub };
81
- },
82
- };
83
- }
84
- //# sourceMappingURL=memory-search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-search.js","sourceRoot":"","sources":["../../src/tools/memory-search.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { SqliteStore } from "../storage/sqlite";
2
- import type { ToolDefinition } from "../types";
3
- export declare function createMemoryTimelineTool(store: SqliteStore): ToolDefinition;
4
- //# sourceMappingURL=memory-timeline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-timeline.d.ts","sourceRoot":"","sources":["../../src/tools/memory-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,UAAU,CAAC;AAQxF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CA2E3E"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMemoryTimelineTool = createMemoryTimelineTool;
4
- const types_1 = require("../types");
5
- function resolveOwnerFilter(owner) {
6
- const resolvedOwner = typeof owner === "string" && owner.trim().length > 0 ? owner : "agent:main";
7
- return resolvedOwner === "public" ? ["public"] : [resolvedOwner, "public"];
8
- }
9
- function createMemoryTimelineTool(store) {
10
- return {
11
- name: "memory_timeline",
12
- description: "Retrieve neighboring context around a memory reference. Use after memory_search to expand context " +
13
- "around a specific hit. Provides adjacent conversation chunks marked as before/current/after.",
14
- inputSchema: {
15
- type: "object",
16
- properties: {
17
- ref: {
18
- type: "object",
19
- description: "Reference object from a memory_search hit (must contain sessionKey, chunkId, turnId, seq).",
20
- properties: {
21
- sessionKey: { type: "string" },
22
- chunkId: { type: "string" },
23
- turnId: { type: "string" },
24
- seq: { type: "number" },
25
- },
26
- required: ["sessionKey", "chunkId", "turnId", "seq"],
27
- },
28
- window: {
29
- type: "number",
30
- description: "Number of turns/chunks to include before and after (default ±2).",
31
- },
32
- },
33
- required: ["ref"],
34
- },
35
- handler: async (input) => {
36
- const ref = input.ref;
37
- const window = input.window ?? types_1.DEFAULTS.timelineWindowDefault;
38
- const ownerFilter = resolveOwnerFilter(input.owner);
39
- const anchorChunk = store.getChunksByRef(ref, ownerFilter);
40
- if (!anchorChunk) {
41
- return { entries: [], anchorRef: ref };
42
- }
43
- const neighbors = store.getNeighborChunks(ref.sessionKey, ref.turnId, ref.seq, window, ownerFilter);
44
- const entries = neighbors.map((chunk) => {
45
- let relation = "before";
46
- if (chunk.id === ref.chunkId) {
47
- relation = "current";
48
- }
49
- else if (chunk.createdAt > anchorChunk.createdAt) {
50
- relation = "after";
51
- }
52
- return {
53
- excerpt: chunk.content.slice(0, types_1.DEFAULTS.excerptMaxChars),
54
- ref: {
55
- sessionKey: chunk.sessionKey,
56
- chunkId: chunk.id,
57
- turnId: chunk.turnId,
58
- seq: chunk.seq,
59
- },
60
- role: chunk.role,
61
- ts: chunk.createdAt,
62
- relation,
63
- };
64
- });
65
- const result = {
66
- entries,
67
- anchorRef: ref,
68
- };
69
- return result;
70
- },
71
- };
72
- }
73
- //# sourceMappingURL=memory-timeline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-timeline.js","sourceRoot":"","sources":["../../src/tools/memory-timeline.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { PluginContext, ToolDefinition } from "../types";
2
- import type { SqliteStore } from "../storage/sqlite";
3
- export declare function createNetworkMemoryDetailTool(store: SqliteStore, ctx: PluginContext): ToolDefinition;
4
- //# sourceMappingURL=network-memory-detail.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network-memory-detail.d.ts","sourceRoot":"","sources":["../../src/tools/network-memory-detail.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,GAAG,cAAc,CA6BpG"}
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createNetworkMemoryDetailTool = createNetworkMemoryDetailTool;
4
- const hub_1 = require("../client/hub");
5
- function createNetworkMemoryDetailTool(store, ctx) {
6
- return {
7
- name: "network_memory_detail",
8
- description: "Fetch the full detail for one Hub search hit using its remoteHitId. Use this after memory_search(scope=group|all) when you need the full shared content.",
9
- inputSchema: {
10
- type: "object",
11
- properties: {
12
- remoteHitId: {
13
- type: "string",
14
- description: "The remoteHitId returned by memory_search hub results.",
15
- },
16
- hubAddress: {
17
- type: "string",
18
- description: "Optional hub address override for integration tests or manual routing.",
19
- },
20
- userToken: {
21
- type: "string",
22
- description: "Optional hub bearer token override for integration tests.",
23
- },
24
- },
25
- required: ["remoteHitId"],
26
- },
27
- handler: async (input) => (0, hub_1.hubGetMemoryDetail)(store, ctx, {
28
- remoteHitId: String(input.remoteHitId ?? ""),
29
- hubAddress: input.hubAddress,
30
- userToken: input.userToken,
31
- }),
32
- };
33
- }
34
- //# sourceMappingURL=network-memory-detail.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network-memory-detail.js","sourceRoot":"","sources":["../../src/tools/network-memory-detail.ts"],"names":[],"mappings":";;AAIA,sEA6BC;AAjCD,uCAAmD;AAInD,SAAgB,6BAA6B,CAAC,KAAkB,EAAE,GAAkB;IAClF,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,0JAA0J;QAC5J,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wDAAwD;iBACtE;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wEAAwE;iBACtF;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2DAA2D;iBACzE;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAA,wBAAkB,EAAC,KAAK,EAAE,GAAG,EAAE;YACvD,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;YAC5C,UAAU,EAAE,KAAK,CAAC,UAAgC;YAClD,SAAS,EAAE,KAAK,CAAC,SAA+B;SACjD,CAAC;KACH,CAAC;AACJ,CAAC"}
package/dist/types.d.ts DELETED
@@ -1,330 +0,0 @@
1
- export type Role = "user" | "assistant" | "system" | "tool";
2
- export interface ConversationMessage {
3
- role: Role;
4
- content: string;
5
- timestamp: number;
6
- turnId: string;
7
- sessionKey: string;
8
- toolName?: string;
9
- owner?: string;
10
- }
11
- export type DedupStatus = "active" | "duplicate" | "merged";
12
- export interface Chunk {
13
- id: string;
14
- sessionKey: string;
15
- turnId: string;
16
- seq: number;
17
- role: Role;
18
- content: string;
19
- kind: ChunkKind;
20
- summary: string;
21
- embedding: number[] | null;
22
- taskId: string | null;
23
- skillId: string | null;
24
- owner: string;
25
- dedupStatus: DedupStatus;
26
- dedupTarget: string | null;
27
- dedupReason: string | null;
28
- mergeCount: number;
29
- lastHitAt: number | null;
30
- mergeHistory: string;
31
- createdAt: number;
32
- updatedAt: number;
33
- }
34
- export type TaskStatus = "active" | "completed" | "skipped";
35
- export interface Task {
36
- id: string;
37
- sessionKey: string;
38
- title: string;
39
- summary: string;
40
- status: TaskStatus;
41
- owner: string;
42
- startedAt: number;
43
- endedAt: number | null;
44
- updatedAt: number;
45
- }
46
- export type ChunkKind = "paragraph";
47
- export interface ChunkRef {
48
- sessionKey: string;
49
- chunkId: string;
50
- turnId: string;
51
- seq: number;
52
- }
53
- export type SearchHitOrigin = "local" | "local-shared" | "hub-memory" | "hub-remote";
54
- export interface SearchHit {
55
- summary: string;
56
- original_excerpt: string;
57
- ref: ChunkRef;
58
- score: number;
59
- taskId: string | null;
60
- skillId: string | null;
61
- owner?: string;
62
- origin?: SearchHitOrigin;
63
- source: {
64
- ts: number;
65
- role: Role;
66
- sessionKey: string;
67
- };
68
- }
69
- export interface SkillSearchHit {
70
- skillId: string;
71
- name: string;
72
- description: string;
73
- owner: string;
74
- visibility: SkillVisibility;
75
- score: number;
76
- reason: string;
77
- }
78
- export interface SearchResult {
79
- hits: SearchHit[];
80
- meta: {
81
- usedMinScore: number;
82
- usedMaxResults: number;
83
- totalCandidates: number;
84
- note?: string;
85
- };
86
- }
87
- export interface TimelineEntry {
88
- excerpt: string;
89
- ref: ChunkRef;
90
- role: Role;
91
- ts: number;
92
- relation: "before" | "current" | "after";
93
- }
94
- export interface TimelineResult {
95
- entries: TimelineEntry[];
96
- anchorRef: ChunkRef;
97
- }
98
- export interface GetResult {
99
- content: string;
100
- ref: ChunkRef;
101
- source: {
102
- ts: number;
103
- role: Role;
104
- sessionKey: string;
105
- };
106
- }
107
- export interface RankedCandidate {
108
- chunkId: string;
109
- ftsScore: number | null;
110
- vecScore: number | null;
111
- rrfScore: number;
112
- mmrScore: number;
113
- recencyScore: number;
114
- finalScore: number;
115
- }
116
- export type SummaryProvider = "openai" | "openai_compatible" | "anthropic" | "gemini" | "azure_openai" | "bedrock" | "zhipu" | "siliconflow" | "deepseek" | "moonshot" | "bailian" | "cohere" | "mistral" | "voyage" | "openclaw";
117
- export type EmbeddingProvider = "openai" | "openai_compatible" | "gemini" | "azure_openai" | "cohere" | "mistral" | "voyage" | "local" | "openclaw";
118
- export interface ProviderConfig {
119
- provider: string;
120
- endpoint?: string;
121
- apiKey?: string;
122
- model?: string;
123
- headers?: Record<string, string>;
124
- timeoutMs?: number;
125
- temperature?: number;
126
- capabilities?: SharingCapabilities;
127
- }
128
- export interface SummarizerConfig extends ProviderConfig {
129
- provider: SummaryProvider;
130
- }
131
- export interface EmbeddingConfig extends ProviderConfig {
132
- provider: EmbeddingProvider;
133
- batchSize?: number;
134
- dimensions?: number;
135
- retry?: number;
136
- }
137
- export type SkillStatus = "active" | "archived" | "draft";
138
- export type SkillUpgradeType = "create" | "refine" | "extend" | "fix";
139
- export type TaskSkillRelation = "generated_from" | "evolved_from" | "applied_to";
140
- export type SkillVisibility = "private" | "public";
141
- export interface Skill {
142
- id: string;
143
- name: string;
144
- description: string;
145
- version: number;
146
- status: SkillStatus;
147
- tags: string;
148
- sourceType: "task" | "manual";
149
- dirPath: string;
150
- installed: number;
151
- owner: string;
152
- visibility: SkillVisibility;
153
- qualityScore: number | null;
154
- createdAt: number;
155
- updatedAt: number;
156
- }
157
- export interface SkillVersion {
158
- id: string;
159
- skillId: string;
160
- version: number;
161
- content: string;
162
- changelog: string;
163
- changeSummary: string;
164
- upgradeType: SkillUpgradeType;
165
- sourceTaskId: string | null;
166
- metrics: string;
167
- qualityScore: number | null;
168
- createdAt: number;
169
- }
170
- export interface SkillGenerateOutput {
171
- skill_md: string;
172
- scripts: Array<{
173
- filename: string;
174
- content: string;
175
- }>;
176
- references: Array<{
177
- filename: string;
178
- content: string;
179
- }>;
180
- evals: Array<{
181
- id: number;
182
- prompt: string;
183
- expectations: string[];
184
- }>;
185
- }
186
- export interface TaskSkillLink {
187
- taskId: string;
188
- skillId: string;
189
- relation: TaskSkillRelation;
190
- versionAt: number;
191
- createdAt: number;
192
- }
193
- export interface SkillEvolutionConfig {
194
- enabled?: boolean;
195
- autoEvaluate?: boolean;
196
- minChunksForEval?: number;
197
- minConfidence?: number;
198
- maxSkillLines?: number;
199
- autoInstall?: boolean;
200
- autoRecallSkills?: boolean;
201
- autoRecallSkillLimit?: number;
202
- preferUpgradeExisting?: boolean;
203
- redactSensitiveInSkill?: boolean;
204
- /** Optional independent LLM config for skill evaluation/validation. Falls back to main summarizer if not set. */
205
- summarizer?: SummarizerConfig;
206
- }
207
- export interface TelemetryConfig {
208
- enabled?: boolean;
209
- }
210
- export type SharingRole = "hub" | "client";
211
- export interface SharingCapabilities {
212
- hostEmbedding?: boolean;
213
- hostCompletion?: boolean;
214
- hostSkill?: boolean;
215
- }
216
- export interface HubModeConfig {
217
- port?: number;
218
- teamName?: string;
219
- teamToken?: string;
220
- }
221
- export interface ClientModeConfig {
222
- hubAddress?: string;
223
- userToken?: string;
224
- teamToken?: string;
225
- nickname?: string;
226
- pendingUserId?: string;
227
- }
228
- export interface SharingConfig {
229
- enabled?: boolean;
230
- role?: SharingRole;
231
- hub?: HubModeConfig;
232
- client?: ClientModeConfig;
233
- capabilities?: SharingCapabilities;
234
- }
235
- export interface MemosLocalConfig {
236
- summarizer?: SummarizerConfig;
237
- embedding?: EmbeddingConfig;
238
- storage?: {
239
- dbPath?: string;
240
- };
241
- recall?: {
242
- maxResultsDefault?: number;
243
- maxResultsMax?: number;
244
- minScoreDefault?: number;
245
- minScoreFloor?: number;
246
- rrfK?: number;
247
- mmrLambda?: number;
248
- recencyHalfLifeDays?: number;
249
- /** Cap vector search to this many most recent chunks. 0 = no cap (search all; may get slower with 200k+ chunks). If you set a cap for performance, use a large value (e.g. 200000–300000) so older memories are still in the window; FTS always searches all. */
250
- vectorSearchMaxChunks?: number;
251
- };
252
- dedup?: {
253
- similarityThreshold?: number;
254
- };
255
- capture?: {
256
- evidenceWrapperTag?: string;
257
- };
258
- skillEvolution?: SkillEvolutionConfig;
259
- telemetry?: TelemetryConfig;
260
- sharing?: SharingConfig;
261
- }
262
- export declare const DEFAULTS: {
263
- readonly maxResultsDefault: 6;
264
- readonly maxResultsMax: 20;
265
- readonly minScoreDefault: 0.45;
266
- readonly minScoreFloor: 0.35;
267
- readonly rrfK: 60;
268
- readonly mmrLambda: 0.7;
269
- readonly recencyHalfLifeDays: 14;
270
- readonly vectorSearchMaxChunks: 0;
271
- readonly dedupSimilarityThreshold: 0.8;
272
- readonly evidenceWrapperTag: "STORED_MEMORY";
273
- readonly excerptMinChars: 200;
274
- readonly excerptMaxChars: 500;
275
- readonly getMaxCharsDefault: 2000;
276
- readonly getMaxCharsMax: 8000;
277
- readonly timelineWindowDefault: 2;
278
- readonly localEmbeddingModel: "Xenova/all-MiniLM-L6-v2";
279
- readonly localEmbeddingDimensions: 384;
280
- readonly toolResultMaxChars: 2000;
281
- readonly taskIdleTimeoutMs: number;
282
- readonly taskSummaryMaxTokens: 2000;
283
- readonly skillEvolutionEnabled: true;
284
- readonly skillAutoEvaluate: true;
285
- readonly skillMinChunksForEval: 6;
286
- readonly skillMinConfidence: 0.7;
287
- readonly skillMaxLines: 400;
288
- readonly skillAutoInstall: false;
289
- readonly skillAutoRecall: true;
290
- readonly skillAutoRecallLimit: 2;
291
- readonly skillPreferUpgrade: true;
292
- readonly skillRedactSensitive: true;
293
- };
294
- export interface PluginContext {
295
- stateDir: string;
296
- workspaceDir: string;
297
- config: MemosLocalConfig;
298
- log: Logger;
299
- openclawAPI?: OpenClawAPI;
300
- }
301
- export interface OpenClawAPI {
302
- embed(request: {
303
- texts: string[];
304
- model?: string;
305
- }): Promise<{
306
- embeddings: number[][];
307
- dimensions: number;
308
- }>;
309
- complete(request: {
310
- prompt: string;
311
- maxTokens?: number;
312
- temperature?: number;
313
- model?: string;
314
- }): Promise<{
315
- text: string;
316
- }>;
317
- }
318
- export interface Logger {
319
- debug(msg: string, ...args: unknown[]): void;
320
- info(msg: string, ...args: unknown[]): void;
321
- warn(msg: string, ...args: unknown[]): void;
322
- error(msg: string, ...args: unknown[]): void;
323
- }
324
- export interface ToolDefinition {
325
- name: string;
326
- description: string;
327
- inputSchema: Record<string, unknown>;
328
- handler: (input: Record<string, unknown>) => Promise<unknown>;
329
- }
330
- //# sourceMappingURL=types.d.ts.map