@t0ken.ai/memoryx-openclaw-plugin 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +51 -6
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAsCH,UAAU,YAAY;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAUD,UAAU,OAAO;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,YAAY;IAClB,QAAQ,EAAE,KAAK,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AA6ED,cAAM,kBAAkB;IACpB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAK;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;;IAO/C,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;IAInB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IA6BlD,WAAW,IAAI,OAAO;IAiBtB,KAAK,IAAI;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;IAkB/E,UAAU,IAAI;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAO3F,SAAS,IAAI;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE;CAOpF;AAED,cAAM,aAAa;IACf,OAAO,CAAC,MAAM,CAMZ;IAEF,OAAO,CAAC,MAAM,CAAgD;IAC9D,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,YAAY,CAA6B;gBAErC,YAAY,CAAC,EAAE,YAAY;IA0BvC,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,UAAU;YAIJ,YAAY;IAgC1B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,eAAe;YAQT,iBAAiB;IAqClB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyB1D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAoD/D,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtC,SAAS,IAAI;QAChB,WAAW,EAAE,OAAO,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAA;KAC7D;CAOJ;;;;;;kBAUiB,GAAG,iBAAiB,YAAY,GAAG,IAAI;;AANzD,wBA0EE;AAEF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,32 @@ import * as os from "os";
|
|
|
16
16
|
import * as crypto from "crypto";
|
|
17
17
|
import Database from "better-sqlite3";
|
|
18
18
|
const DEFAULT_API_BASE = "https://t0ken.ai/api";
|
|
19
|
+
let logPath = "";
|
|
20
|
+
let logStream = null;
|
|
21
|
+
function getLogPath() {
|
|
22
|
+
if (logPath)
|
|
23
|
+
return logPath;
|
|
24
|
+
logPath = path.join(os.homedir(), ".openclaw", "extensions", "memoryx-openclaw-plugin", "plugin.log");
|
|
25
|
+
const dir = path.dirname(logPath);
|
|
26
|
+
if (!fs.existsSync(dir)) {
|
|
27
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
28
|
+
}
|
|
29
|
+
return logPath;
|
|
30
|
+
}
|
|
31
|
+
function log(message) {
|
|
32
|
+
const timestamp = new Date().toISOString();
|
|
33
|
+
const line = `[${timestamp}] ${message}\n`;
|
|
34
|
+
try {
|
|
35
|
+
if (!logStream) {
|
|
36
|
+
logStream = fs.createWriteStream(getLogPath(), { flags: "a" });
|
|
37
|
+
}
|
|
38
|
+
logStream.write(line);
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
console.error("[MemoryX] Log write failed:", e);
|
|
42
|
+
}
|
|
43
|
+
console.log(`[MemoryX] ${message}`);
|
|
44
|
+
}
|
|
19
45
|
let db = null;
|
|
20
46
|
let dbPath = "";
|
|
21
47
|
function getDbPath() {
|
|
@@ -182,16 +208,30 @@ class MemoryXPlugin {
|
|
|
182
208
|
FLUSH_CHECK_INTERVAL = 30000;
|
|
183
209
|
pluginConfig = null;
|
|
184
210
|
constructor(pluginConfig) {
|
|
211
|
+
log("Constructor started");
|
|
185
212
|
this.pluginConfig = pluginConfig || null;
|
|
186
213
|
if (pluginConfig?.apiBaseUrl) {
|
|
187
214
|
this.config.apiBaseUrl = pluginConfig.apiBaseUrl;
|
|
215
|
+
log(`API Base URL set to: ${pluginConfig.apiBaseUrl}`);
|
|
188
216
|
}
|
|
189
|
-
this.loadConfig();
|
|
190
|
-
this.startFlushTimer();
|
|
191
217
|
this.config.initialized = true;
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
218
|
+
log("Constructor finished, scheduling async init");
|
|
219
|
+
setImmediate(() => {
|
|
220
|
+
log("Async init started");
|
|
221
|
+
try {
|
|
222
|
+
this.loadConfig();
|
|
223
|
+
log(`Config loaded, apiKey: ${this.config.apiKey ? 'present' : 'missing'}`);
|
|
224
|
+
this.startFlushTimer();
|
|
225
|
+
log("Flush timer started");
|
|
226
|
+
if (!this.config.apiKey) {
|
|
227
|
+
log("Starting auto-register");
|
|
228
|
+
this.autoRegister().catch(e => log(`Auto-register failed: ${e}`));
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
catch (e) {
|
|
232
|
+
log(`Async init error: ${e}`);
|
|
233
|
+
}
|
|
234
|
+
});
|
|
195
235
|
}
|
|
196
236
|
get apiBase() {
|
|
197
237
|
return this.config.apiBaseUrl || DEFAULT_API_BASE;
|
|
@@ -371,15 +411,20 @@ let plugin;
|
|
|
371
411
|
export default {
|
|
372
412
|
id: "memoryx-openclaw-plugin",
|
|
373
413
|
name: "MemoryX Real-time Plugin",
|
|
374
|
-
version: "1.1.
|
|
414
|
+
version: "1.1.4",
|
|
375
415
|
description: "Real-time memory capture and recall for OpenClaw",
|
|
376
416
|
register(api, pluginConfig) {
|
|
417
|
+
log("=== REGISTER CALLED ===");
|
|
377
418
|
api.logger.info("[MemoryX] Plugin registering...");
|
|
378
419
|
if (pluginConfig?.apiBaseUrl) {
|
|
379
420
|
api.logger.info(`[MemoryX] API Base: \`${pluginConfig.apiBaseUrl}\``);
|
|
380
421
|
}
|
|
381
422
|
api.logger.info(`[MemoryX] Database: ${getDbPath()}`);
|
|
423
|
+
log(`Database path: ${getDbPath()}`);
|
|
424
|
+
log(`Log file: ${getLogPath()}`);
|
|
425
|
+
log("Creating plugin instance");
|
|
382
426
|
plugin = new MemoryXPlugin(pluginConfig);
|
|
427
|
+
log("Plugin instance created");
|
|
383
428
|
api.on("message_received", async (event, ctx) => {
|
|
384
429
|
const { content, from, timestamp } = event;
|
|
385
430
|
if (content && plugin) {
|