@xdarkicex/openclaw-memory-libravdb 1.9.10-beta.3 → 1.9.10-beta.5

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.
@@ -1692,7 +1692,15 @@ export function buildContextEngineFactory(runtime, cfg, logger = console) {
1692
1692
  userIdOverride: args.userId,
1693
1693
  sessionKey: args.sessionKey,
1694
1694
  });
1695
- const messages = normalizeKernelMessages(args.messages);
1695
+ // Only normalize the recent tail: the daemon already stores every
1696
+ // turn and can pull older messages from its own session store.
1697
+ // Processing the full history on every turn is O(N²) and the
1698
+ // primary source of growing turn latency.
1699
+ const normalizeWindow = 50;
1700
+ const recentMessages = args.messages.length > normalizeWindow
1701
+ ? args.messages.slice(-normalizeWindow)
1702
+ : args.messages;
1703
+ const messages = normalizeKernelMessages(recentMessages);
1696
1704
  const strippedPrompt = args.prompt
1697
1705
  ? normalizeKernelContent(args.prompt, { retainOpenClawContext: false })
1698
1706
  : "";
@@ -1762,7 +1770,7 @@ export function buildContextEngineFactory(runtime, cfg, logger = console) {
1762
1770
  btLog(`BeforeTurnKernel skipped: non-interactive trigger sessionId=${sessionId}`);
1763
1771
  }
1764
1772
  else {
1765
- beforeTurnQueryHint = extractQueryHint(messages, (text) => typeof text === "string" ? text.replace(OPENCLAW_LEADING_TIMESTAMP_PREFIX_RE, "").trim() : text);
1773
+ beforeTurnQueryHint = extractQueryHint(messages, (text) => typeof text === "string" ? stripOpenClawUntrustedMetadataEnvelope(text).trim() : text);
1766
1774
  if (!beforeTurnQueryHint) {
1767
1775
  btLog(`BeforeTurnKernel skipped: no query hint extracted sessionId=${sessionId}`);
1768
1776
  }
package/dist/index.js CHANGED
@@ -36928,7 +36928,9 @@ function buildContextEngineFactory(runtime, cfg, logger = console) {
36928
36928
  userIdOverride: args.userId,
36929
36929
  sessionKey: args.sessionKey
36930
36930
  });
36931
- const messages = normalizeKernelMessages(args.messages);
36931
+ const normalizeWindow = 50;
36932
+ const recentMessages = args.messages.length > normalizeWindow ? args.messages.slice(-normalizeWindow) : args.messages;
36933
+ const messages = normalizeKernelMessages(recentMessages);
36932
36934
  const strippedPrompt = args.prompt ? normalizeKernelContent(args.prompt, { retainOpenClawContext: false }) : "";
36933
36935
  const lastUserIndex = findLastUserMessageIndex(messages);
36934
36936
  const isPostToolContinuation = lastUserIndex >= 0 && lastUserIndex < messages.length - 1 && hasLiveToolProtocolAfterLastUser(messages, lastUserIndex);
@@ -36995,7 +36997,7 @@ function buildContextEngineFactory(runtime, cfg, logger = console) {
36995
36997
  } else {
36996
36998
  beforeTurnQueryHint = extractQueryHint(
36997
36999
  messages,
36998
- (text) => typeof text === "string" ? text.replace(OPENCLAW_LEADING_TIMESTAMP_PREFIX_RE, "").trim() : text
37000
+ (text) => typeof text === "string" ? stripOpenClawUntrustedMetadataEnvelope(text).trim() : text
36999
37001
  );
37000
37002
  if (!beforeTurnQueryHint) {
37001
37003
  btLog(`BeforeTurnKernel skipped: no query hint extracted sessionId=${sessionId}`);
@@ -2,7 +2,7 @@
2
2
  "id": "libravdb-memory",
3
3
  "name": "LibraVDB Memory",
4
4
  "description": "Persistent vector memory with three-tier hybrid scoring",
5
- "version": "1.9.10-beta.3",
5
+ "version": "1.9.10-beta.5",
6
6
  "kind": [
7
7
  "memory",
8
8
  "context-engine"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xdarkicex/openclaw-memory-libravdb",
3
- "version": "1.9.10-beta.3",
3
+ "version": "1.9.10-beta.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",