@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,611 +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.Summarizer = exports.modelHealth = void 0;
37
- const fs = __importStar(require("fs"));
38
- const path = __importStar(require("path"));
39
- const openai_1 = require("./openai");
40
- const anthropic_1 = require("./anthropic");
41
- const gemini_1 = require("./gemini");
42
- const bedrock_1 = require("./bedrock");
43
- /**
44
- * Detect provider type from provider key name or base URL.
45
- */
46
- function detectProvider(providerKey, baseUrl) {
47
- const key = providerKey?.toLowerCase() ?? "";
48
- const url = baseUrl.toLowerCase();
49
- if (key.includes("anthropic") || url.includes("anthropic"))
50
- return "anthropic";
51
- if (key.includes("gemini") || url.includes("generativelanguage.googleapis.com")) {
52
- return "gemini";
53
- }
54
- if (key.includes("bedrock") || url.includes("bedrock"))
55
- return "bedrock";
56
- return "openai_compatible";
57
- }
58
- /**
59
- * Return the correct endpoint for a given provider and base URL.
60
- */
61
- function normalizeEndpointForProvider(provider, baseUrl) {
62
- const stripped = baseUrl.replace(/\/+$/, "");
63
- if (provider === "anthropic") {
64
- if (stripped.endsWith("/v1/messages"))
65
- return stripped;
66
- return `${stripped}/v1/messages`;
67
- }
68
- if (stripped.endsWith("/chat/completions"))
69
- return stripped;
70
- if (stripped.endsWith("/completions"))
71
- return stripped;
72
- return `${stripped}/chat/completions`;
73
- }
74
- /**
75
- * Build a SummarizerConfig from OpenClaw's native model configuration (openclaw.json).
76
- * This serves as the final fallback when both strongCfg and plugin summarizer fail or are absent.
77
- */
78
- function loadOpenClawFallbackConfig(log) {
79
- try {
80
- const home = process.env.HOME ?? process.env.USERPROFILE ?? "";
81
- const cfgPath = process.env.OPENCLAW_CONFIG_PATH
82
- || path.join(process.env.OPENCLAW_STATE_DIR || path.join(home, ".openclaw"), "openclaw.json");
83
- if (!fs.existsSync(cfgPath))
84
- return undefined;
85
- const raw = JSON.parse(fs.readFileSync(cfgPath, "utf-8"));
86
- const agentModel = raw?.agents?.defaults?.model?.primary;
87
- if (!agentModel)
88
- return undefined;
89
- const [providerKey, modelId] = agentModel.includes("/")
90
- ? agentModel.split("/", 2)
91
- : [undefined, agentModel];
92
- const providerCfg = providerKey
93
- ? raw?.models?.providers?.[providerKey]
94
- : Object.values(raw?.models?.providers ?? {})[0];
95
- if (!providerCfg)
96
- return undefined;
97
- const baseUrl = providerCfg.baseUrl;
98
- const apiKey = providerCfg.apiKey;
99
- if (!baseUrl || !apiKey)
100
- return undefined;
101
- const provider = detectProvider(providerKey, baseUrl);
102
- const endpoint = normalizeEndpointForProvider(provider, baseUrl);
103
- log.debug(`OpenClaw fallback model: ${modelId} via ${baseUrl} (${provider})`);
104
- return {
105
- provider,
106
- endpoint,
107
- apiKey,
108
- model: modelId,
109
- };
110
- }
111
- catch (err) {
112
- log.debug(`Failed to load OpenClaw fallback config: ${err}`);
113
- return undefined;
114
- }
115
- }
116
- class ModelHealthTracker {
117
- state = new Map();
118
- pendingErrors = new Map();
119
- recordSuccess(role, model) {
120
- const entry = this.getOrCreate(role);
121
- const pending = this.pendingErrors.get(role);
122
- if (pending) {
123
- entry.status = "degraded";
124
- entry.lastError = Date.now();
125
- entry.lastErrorMessage = pending.error.length > 300 ? pending.error.slice(0, 300) + "..." : pending.error;
126
- entry.failedModel = pending.model;
127
- this.pendingErrors.delete(role);
128
- }
129
- else {
130
- entry.status = "ok";
131
- }
132
- entry.lastSuccess = Date.now();
133
- entry.consecutiveErrors = 0;
134
- entry.model = model;
135
- }
136
- recordError(role, model, error) {
137
- const entry = this.getOrCreate(role);
138
- entry.lastError = Date.now();
139
- entry.lastErrorMessage = error.length > 300 ? error.slice(0, 300) + "..." : error;
140
- entry.consecutiveErrors++;
141
- entry.failedModel = model;
142
- entry.status = "error";
143
- this.pendingErrors.set(role, { model, error: entry.lastErrorMessage });
144
- }
145
- getAll() {
146
- return [...this.state.values()];
147
- }
148
- getOrCreate(role) {
149
- let entry = this.state.get(role);
150
- if (!entry) {
151
- entry = { role, status: "unknown", lastSuccess: null, lastError: null, lastErrorMessage: null, consecutiveErrors: 0, model: null, failedModel: null };
152
- this.state.set(role, entry);
153
- }
154
- return entry;
155
- }
156
- }
157
- exports.modelHealth = new ModelHealthTracker();
158
- class Summarizer {
159
- cfg;
160
- log;
161
- openclawAPI;
162
- strongCfg;
163
- fallbackCfg;
164
- constructor(cfg, log, openclawAPI, strongCfg) {
165
- this.cfg = cfg;
166
- this.log = log;
167
- this.openclawAPI = openclawAPI;
168
- this.strongCfg = strongCfg;
169
- this.fallbackCfg = loadOpenClawFallbackConfig(log);
170
- }
171
- /**
172
- * Ordered config chain: strongCfg → cfg → fallbackCfg (OpenClaw native model).
173
- * Returns configs that are defined, in priority order.
174
- * Openclaw configs without hostCompletion capability or without openclawAPI are excluded.
175
- */
176
- getConfigChain() {
177
- const chain = [];
178
- if (this.strongCfg)
179
- chain.push(this.strongCfg);
180
- if (this.cfg) {
181
- if (this.cfg.provider === "openclaw") {
182
- if (this.cfg.capabilities?.hostCompletion === true && this.openclawAPI) {
183
- chain.push(this.cfg);
184
- }
185
- }
186
- else {
187
- chain.push(this.cfg);
188
- }
189
- }
190
- if (this.fallbackCfg)
191
- chain.push(this.fallbackCfg);
192
- return chain;
193
- }
194
- /**
195
- * Try calling fn with each config in the chain until one succeeds.
196
- * Returns undefined if all fail.
197
- */
198
- async tryChain(label, fn) {
199
- const chain = this.getConfigChain();
200
- for (let i = 0; i < chain.length; i++) {
201
- const modelInfo = `${chain[i].provider}/${chain[i].model ?? "?"}`;
202
- try {
203
- const result = await fn(chain[i]);
204
- exports.modelHealth.recordSuccess(label, modelInfo);
205
- return result;
206
- }
207
- catch (err) {
208
- const level = i < chain.length - 1 ? "warn" : "error";
209
- this.log[level](`${label} failed (${modelInfo}), ${i < chain.length - 1 ? "trying next" : "no more fallbacks"}: ${err}`);
210
- exports.modelHealth.recordError(label, modelInfo, String(err));
211
- }
212
- }
213
- return undefined;
214
- }
215
- async summarize(text) {
216
- const cleaned = stripMarkdown(text).trim();
217
- if (wordCount(cleaned) <= 10) {
218
- return cleaned;
219
- }
220
- if (!this.cfg && !this.fallbackCfg) {
221
- return ruleFallback(cleaned);
222
- }
223
- const accept = (s) => !!s && s.length > 0 && s.length < cleaned.length;
224
- let llmCalled = false;
225
- try {
226
- const result = await this.tryChain("summarize", (cfg) => callSummarize(cfg, text, this.log));
227
- llmCalled = true;
228
- const resultCleaned = result ? stripMarkdown(result).trim() : undefined;
229
- if (accept(resultCleaned)) {
230
- return resultCleaned;
231
- }
232
- if (resultCleaned !== undefined && resultCleaned !== null) {
233
- const len = resultCleaned.length;
234
- this.log.warn(`summarize: result (${len}) >= input (${cleaned.length}), retrying`);
235
- }
236
- }
237
- catch (err) {
238
- this.log.warn(`summarize primary failed: ${err}`);
239
- }
240
- const fallback = this.fallbackCfg ?? this.cfg;
241
- if (fallback) {
242
- try {
243
- const retry = await callSummarize(fallback, text, this.log);
244
- llmCalled = true;
245
- const retryCleaned = retry ? stripMarkdown(retry).trim() : undefined;
246
- if (accept(retryCleaned)) {
247
- exports.modelHealth.recordSuccess("summarize", `${fallback.provider}/${fallback.model ?? "?"}`);
248
- return retryCleaned;
249
- }
250
- }
251
- catch (err) {
252
- this.log.warn(`summarize fallback retry failed: ${err}`);
253
- }
254
- }
255
- return llmCalled ? cleaned : ruleFallback(cleaned);
256
- }
257
- async summarizeTask(text) {
258
- if (!this.cfg && !this.fallbackCfg) {
259
- return taskFallback(text);
260
- }
261
- const result = await this.tryChain("summarizeTask", (cfg) => cfg.provider === "openclaw" ? this.summarizeTaskOpenClaw(text) : callSummarizeTask(cfg, text, this.log));
262
- return result ?? taskFallback(text);
263
- }
264
- async generateTaskTitle(text) {
265
- if (!this.cfg && !this.fallbackCfg)
266
- return "";
267
- const result = await this.tryChain("generateTaskTitle", (cfg) => callGenerateTaskTitle(cfg, text, this.log));
268
- return result ?? "";
269
- }
270
- async judgeNewTopic(currentContext, newMessage) {
271
- const chain = [];
272
- if (this.strongCfg)
273
- chain.push(this.strongCfg);
274
- if (this.fallbackCfg)
275
- chain.push(this.fallbackCfg);
276
- if (chain.length === 0 && this.cfg)
277
- chain.push(this.cfg);
278
- if (chain.length === 0)
279
- return null;
280
- for (let i = 0; i < chain.length; i++) {
281
- const modelInfo = `${chain[i].provider}/${chain[i].model ?? "?"}`;
282
- try {
283
- const result = await callTopicJudge(chain[i], currentContext, newMessage, this.log);
284
- exports.modelHealth.recordSuccess("judgeNewTopic", modelInfo);
285
- return result;
286
- }
287
- catch (err) {
288
- const level = i < chain.length - 1 ? "warn" : "error";
289
- this.log[level](`judgeNewTopic failed (${modelInfo}), ${i < chain.length - 1 ? "trying next" : "no more fallbacks"}: ${err}`);
290
- exports.modelHealth.recordError("judgeNewTopic", modelInfo, String(err));
291
- }
292
- }
293
- return null;
294
- }
295
- async filterRelevant(query, candidates) {
296
- if (!this.cfg && !this.fallbackCfg)
297
- return null;
298
- if (candidates.length === 0)
299
- return { relevant: [], sufficient: true };
300
- const result = await this.tryChain("filterRelevant", (cfg) => cfg.provider === "openclaw"
301
- ? this.filterRelevantOpenClaw(query, candidates)
302
- : callFilterRelevant(cfg, query, candidates, this.log));
303
- return result ?? null;
304
- }
305
- async judgeDedup(newSummary, candidates) {
306
- if (!this.cfg && !this.fallbackCfg)
307
- return null;
308
- if (candidates.length === 0)
309
- return null;
310
- const result = await this.tryChain("judgeDedup", (cfg) => cfg.provider === "openclaw"
311
- ? this.judgeDedupOpenClaw(newSummary, candidates)
312
- : callJudgeDedup(cfg, newSummary, candidates, this.log));
313
- return result ?? { action: "NEW", reason: "all_models_failed" };
314
- }
315
- getStrongConfig() {
316
- return this.strongCfg;
317
- }
318
- // ─── OpenClaw Prompts ───
319
- static OPENCLAW_TOPIC_JUDGE_PROMPT = `You are a conversation topic change detector.
320
- Given a CURRENT CONVERSATION SUMMARY and a NEW USER MESSAGE, decide: has the user started a COMPLETELY NEW topic that is unrelated to the current conversation?
321
- Reply with a single word: "NEW" if topic changed, "SAME" if it continues.`;
322
- static OPENCLAW_FILTER_RELEVANT_PROMPT = `You are a memory relevance judge.
323
- Given a QUERY and CANDIDATE memories, decide: does each candidate help answer the query?
324
- RULES:
325
- 1. Include candidates whose content provides useful facts/context for the query.
326
- 2. Exclude candidates that merely share a topic but contain no useful information.
327
- 3. DEDUPLICATION: When multiple candidates convey the same or very similar information, keep ONLY the most complete one and exclude the rest.
328
- 4. If none help, return {"relevant":[],"sufficient":false}.
329
- OUTPUT — JSON only: {"relevant":[1,3],"sufficient":true}`;
330
- static OPENCLAW_DEDUP_JUDGE_PROMPT = `You are a memory deduplication system.
331
- Given a NEW memory summary and EXISTING candidates, decide if the new memory duplicates any existing one.
332
- Reply with JSON: {"action":"MERGE","mergeTarget":2,"reason":"..."} or {"action":"NEW","reason":"..."}`;
333
- static OPENCLAW_TASK_SUMMARY_PROMPT = `Summarize the following task conversation into a structured report. Preserve key decisions, code, commands, and outcomes. Use the same language as the input.`;
334
- // ─── OpenClaw API Implementation ───
335
- requireOpenClawAPI() {
336
- if (!this.openclawAPI) {
337
- throw new Error("OpenClaw API not available. Ensure sharing.capabilities.hostCompletion is enabled in config.");
338
- }
339
- }
340
- async summarizeOpenClaw(text) {
341
- this.requireOpenClawAPI();
342
- const prompt = [
343
- `Summarize the text in ONE concise sentence (max 120 characters). IMPORTANT: Use the SAME language as the input text — if the input is Chinese, write Chinese; if English, write English. Preserve exact names, commands, error codes. No bullet points, no preamble — output only the sentence.`,
344
- ``,
345
- text.slice(0, 2000),
346
- ].join("\n");
347
- const response = await this.openclawAPI.complete({
348
- prompt,
349
- maxTokens: 100,
350
- temperature: 0,
351
- model: this.cfg?.model,
352
- });
353
- return response.text.trim().slice(0, 200);
354
- }
355
- async summarizeTaskOpenClaw(text) {
356
- this.requireOpenClawAPI();
357
- const prompt = [
358
- Summarizer.OPENCLAW_TASK_SUMMARY_PROMPT,
359
- ``,
360
- text,
361
- ].join("\n");
362
- const response = await this.openclawAPI.complete({
363
- prompt,
364
- maxTokens: 4096,
365
- temperature: 0.1,
366
- model: this.cfg?.model,
367
- });
368
- return response.text.trim();
369
- }
370
- async judgeNewTopicOpenClaw(currentContext, newMessage) {
371
- this.requireOpenClawAPI();
372
- const prompt = [
373
- Summarizer.OPENCLAW_TOPIC_JUDGE_PROMPT,
374
- ``,
375
- `CURRENT CONVERSATION SUMMARY:`,
376
- currentContext,
377
- ``,
378
- `NEW USER MESSAGE:`,
379
- newMessage,
380
- ].join("\n");
381
- const response = await this.openclawAPI.complete({
382
- prompt,
383
- maxTokens: 10,
384
- temperature: 0,
385
- model: this.cfg?.model,
386
- });
387
- const answer = response.text.trim().toUpperCase();
388
- this.log.debug(`Topic judge result: "${answer}"`);
389
- return answer.startsWith("NEW");
390
- }
391
- async filterRelevantOpenClaw(query, candidates) {
392
- this.requireOpenClawAPI();
393
- const candidateText = candidates
394
- .map((c) => `${c.index}. [${c.role}] ${c.content}`)
395
- .join("\n");
396
- const prompt = [
397
- Summarizer.OPENCLAW_FILTER_RELEVANT_PROMPT,
398
- ``,
399
- `QUERY: ${query}`,
400
- ``,
401
- `CANDIDATES:`,
402
- candidateText,
403
- ].join("\n");
404
- const response = await this.openclawAPI.complete({
405
- prompt,
406
- maxTokens: 200,
407
- temperature: 0,
408
- model: this.cfg?.model,
409
- });
410
- return (0, openai_1.parseFilterResult)(response.text.trim(), this.log);
411
- }
412
- async judgeDedupOpenClaw(newSummary, candidates) {
413
- this.requireOpenClawAPI();
414
- const candidateText = candidates
415
- .map((c) => `${c.index}. ${c.summary}`)
416
- .join("\n");
417
- const prompt = [
418
- Summarizer.OPENCLAW_DEDUP_JUDGE_PROMPT,
419
- ``,
420
- `NEW MEMORY:`,
421
- newSummary,
422
- ``,
423
- `EXISTING MEMORIES:`,
424
- candidateText,
425
- ].join("\n");
426
- const response = await this.openclawAPI.complete({
427
- prompt,
428
- maxTokens: 300,
429
- temperature: 0,
430
- model: this.cfg?.model,
431
- });
432
- return (0, openai_1.parseDedupResult)(response.text.trim(), this.log);
433
- }
434
- }
435
- exports.Summarizer = Summarizer;
436
- // ─── Dispatch helpers ───
437
- function callSummarize(cfg, text, log) {
438
- switch (cfg.provider) {
439
- case "openai":
440
- case "openai_compatible":
441
- case "azure_openai":
442
- case "zhipu":
443
- case "siliconflow":
444
- case "deepseek":
445
- case "moonshot":
446
- case "bailian":
447
- case "cohere":
448
- case "mistral":
449
- case "voyage":
450
- return (0, openai_1.summarizeOpenAI)(text, cfg, log);
451
- case "anthropic":
452
- return (0, anthropic_1.summarizeAnthropic)(text, cfg, log);
453
- case "gemini":
454
- return (0, gemini_1.summarizeGemini)(text, cfg, log);
455
- case "bedrock":
456
- return (0, bedrock_1.summarizeBedrock)(text, cfg, log);
457
- default:
458
- throw new Error(`Unknown summarizer provider: ${cfg.provider}`);
459
- }
460
- }
461
- function callSummarizeTask(cfg, text, log) {
462
- switch (cfg.provider) {
463
- case "openai":
464
- case "openai_compatible":
465
- case "azure_openai":
466
- case "zhipu":
467
- case "siliconflow":
468
- case "deepseek":
469
- case "moonshot":
470
- case "bailian":
471
- case "cohere":
472
- case "mistral":
473
- case "voyage":
474
- return (0, openai_1.summarizeTaskOpenAI)(text, cfg, log);
475
- case "anthropic":
476
- return (0, anthropic_1.summarizeTaskAnthropic)(text, cfg, log);
477
- case "gemini":
478
- return (0, gemini_1.summarizeTaskGemini)(text, cfg, log);
479
- case "bedrock":
480
- return (0, bedrock_1.summarizeTaskBedrock)(text, cfg, log);
481
- default:
482
- throw new Error(`Unknown summarizer provider: ${cfg.provider}`);
483
- }
484
- }
485
- function callGenerateTaskTitle(cfg, text, log) {
486
- switch (cfg.provider) {
487
- case "openai":
488
- case "openai_compatible":
489
- case "azure_openai":
490
- case "zhipu":
491
- case "siliconflow":
492
- case "deepseek":
493
- case "moonshot":
494
- case "bailian":
495
- case "cohere":
496
- case "mistral":
497
- case "voyage":
498
- return (0, openai_1.generateTaskTitleOpenAI)(text, cfg, log);
499
- case "anthropic":
500
- return (0, anthropic_1.generateTaskTitleAnthropic)(text, cfg, log);
501
- case "gemini":
502
- return (0, gemini_1.generateTaskTitleGemini)(text, cfg, log);
503
- case "bedrock":
504
- return (0, bedrock_1.generateTaskTitleBedrock)(text, cfg, log);
505
- default:
506
- throw new Error(`Unknown summarizer provider: ${cfg.provider}`);
507
- }
508
- }
509
- function callTopicJudge(cfg, currentContext, newMessage, log) {
510
- switch (cfg.provider) {
511
- case "openai":
512
- case "openai_compatible":
513
- case "azure_openai":
514
- case "zhipu":
515
- case "siliconflow":
516
- case "deepseek":
517
- case "moonshot":
518
- case "bailian":
519
- case "cohere":
520
- case "mistral":
521
- case "voyage":
522
- return (0, openai_1.judgeNewTopicOpenAI)(currentContext, newMessage, cfg, log);
523
- case "anthropic":
524
- return (0, anthropic_1.judgeNewTopicAnthropic)(currentContext, newMessage, cfg, log);
525
- case "gemini":
526
- return (0, gemini_1.judgeNewTopicGemini)(currentContext, newMessage, cfg, log);
527
- case "bedrock":
528
- return (0, bedrock_1.judgeNewTopicBedrock)(currentContext, newMessage, cfg, log);
529
- default:
530
- throw new Error(`Unknown summarizer provider: ${cfg.provider}`);
531
- }
532
- }
533
- function callFilterRelevant(cfg, query, candidates, log) {
534
- switch (cfg.provider) {
535
- case "openai":
536
- case "openai_compatible":
537
- case "azure_openai":
538
- case "zhipu":
539
- case "siliconflow":
540
- case "deepseek":
541
- case "moonshot":
542
- case "bailian":
543
- case "cohere":
544
- case "mistral":
545
- case "voyage":
546
- return (0, openai_1.filterRelevantOpenAI)(query, candidates, cfg, log);
547
- case "anthropic":
548
- return (0, anthropic_1.filterRelevantAnthropic)(query, candidates, cfg, log);
549
- case "gemini":
550
- return (0, gemini_1.filterRelevantGemini)(query, candidates, cfg, log);
551
- case "bedrock":
552
- return (0, bedrock_1.filterRelevantBedrock)(query, candidates, cfg, log);
553
- default:
554
- throw new Error(`Unknown summarizer provider: ${cfg.provider}`);
555
- }
556
- }
557
- function callJudgeDedup(cfg, newSummary, candidates, log) {
558
- switch (cfg.provider) {
559
- case "openai":
560
- case "openai_compatible":
561
- case "azure_openai":
562
- case "zhipu":
563
- case "siliconflow":
564
- case "deepseek":
565
- case "moonshot":
566
- case "bailian":
567
- case "cohere":
568
- case "mistral":
569
- case "voyage":
570
- return (0, openai_1.judgeDedupOpenAI)(newSummary, candidates, cfg, log);
571
- case "anthropic":
572
- return (0, anthropic_1.judgeDedupAnthropic)(newSummary, candidates, cfg, log);
573
- case "gemini":
574
- return (0, gemini_1.judgeDedupGemini)(newSummary, candidates, cfg, log);
575
- case "bedrock":
576
- return (0, bedrock_1.judgeDedupBedrock)(newSummary, candidates, cfg, log);
577
- default:
578
- throw new Error(`Unknown summarizer provider: ${cfg.provider}`);
579
- }
580
- }
581
- // ─── Fallbacks ───
582
- function ruleFallback(text) {
583
- const lines = text.split("\n").filter((l) => l.trim().length > 5);
584
- return (lines[0] ?? text).trim();
585
- }
586
- function taskFallback(text) {
587
- const lines = text.split("\n").filter((l) => l.trim().length > 10);
588
- return lines.slice(0, 30).join("\n").slice(0, 2000);
589
- }
590
- function stripMarkdown(text) {
591
- return text
592
- .replace(/\*\*([^*]+)\*\*/g, "$1")
593
- .replace(/\*([^*]+)\*/g, "$1")
594
- .replace(/^#{1,6}\s+/gm, "")
595
- .replace(/`([^`]+)`/g, "$1")
596
- .replace(/\[([^\]]+)\]\([^)]+\)/g, "$1")
597
- .trim();
598
- }
599
- /** Count "words": CJK characters count as 1 word each, latin words separated by spaces. */
600
- function wordCount(text) {
601
- let count = 0;
602
- const cjk = /[\u4e00-\u9fff\u3400-\u4dbf\uf900-\ufaff]/g;
603
- const cjkMatches = text.match(cjk);
604
- if (cjkMatches)
605
- count += cjkMatches.length;
606
- const noCjk = text.replace(cjk, " ").trim();
607
- if (noCjk)
608
- count += noCjk.split(/\s+/).filter(Boolean).length;
609
- return count;
610
- }
611
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ingest/providers/index.ts"],"names":[],"mappings":"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"}