@openclaw/memory-lancedb 2026.7.1 → 2026.7.2-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.
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ import { Buffer } from "node:buffer";
5
5
  import { randomUUID } from "node:crypto";
6
6
  import { optionalFiniteNumberSchema, optionalPositiveIntegerSchema } from "openclaw/plugin-sdk/channel-actions";
7
7
  import { BUNDLED_CHAT_CHANNEL_ENVELOPE_PREFIXES } from "openclaw/plugin-sdk/chat-channel-ids";
8
+ import { expectDefined } from "openclaw/plugin-sdk/expect-runtime";
8
9
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
9
10
  import { MESSAGE_TOOL_DELIVERY_HINTS } from "openclaw/plugin-sdk/message-tool-delivery-hints";
10
11
  import { parseStrictPositiveInteger, resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime";
@@ -591,7 +592,7 @@ const LEADING_TIMESTAMP_PREFIX_RE = /^\[[A-Za-z]{3} \d{4}-\d{2}-\d{2} \d{2}:\d{2
591
592
  function stripEnvelopeBodySenderPrefix(body, headerInside) {
592
593
  const match = body.match(ENVELOPE_BODY_SENDER_PREFIX_RE);
593
594
  if (!match) return body;
594
- const label = match[1];
595
+ const label = expectDefined(match[1], "envelope body sender capture");
595
596
  if (label === ENVELOPE_BODY_SELF_PREFIX || label === ENVELOPE_BODY_DIRECT_PREFIX) return body.slice(match[0].length);
596
597
  if (SENDER_PREFIXED_ENVELOPE_CHANNEL_RE.test(headerInside) && NON_DIRECT_ENVELOPE_HEADER_RE.test(headerInside) && !USER_AUTHORED_BODY_LABEL_RE.test(label)) return body.slice(match[0].length);
597
598
  if (headerInside.split(/\s+/).includes(label) || headerInside.includes(label)) return body.slice(match[0].length);
@@ -724,7 +725,7 @@ function stripLeadingChronologicalContextBlocks(text) {
724
725
  function sanitizeForMemoryCapture(text) {
725
726
  if (!text) return "";
726
727
  const MAX_SANITIZE_CHARS = 1e4;
727
- let cleaned = text.length > MAX_SANITIZE_CHARS ? text.slice(0, MAX_SANITIZE_CHARS) : text;
728
+ let cleaned = text.length > MAX_SANITIZE_CHARS ? truncateUtf16Safe(text, MAX_SANITIZE_CHARS) : text;
728
729
  let strippedInjectedContext = false;
729
730
  cleaned = cleaned.replace(LEADING_TIMESTAMP_PREFIX_RE, "");
730
731
  const afterDeliveryHints = stripLeadingMessageToolDeliveryHints(cleaned);
@@ -988,10 +989,7 @@ var memory_lancedb_default = definePluginEntry({
988
989
  minimum: 0,
989
990
  maximum: 1
990
991
  }),
991
- category: Type.Optional(Type.Unsafe({
992
- type: "string",
993
- enum: [...MEMORY_CATEGORIES]
994
- }))
992
+ category: Type.Optional(Type.Enum(MEMORY_CATEGORIES, { type: "string" }))
995
993
  }),
996
994
  async execute(_toolCallId, params) {
997
995
  const { text, category = "other" } = params;
@@ -1074,16 +1072,17 @@ var memory_lancedb_default = definePluginEntry({
1074
1072
  }],
1075
1073
  details: { found: 0 }
1076
1074
  };
1077
- if (results.length === 1 && results[0].score > .9) {
1078
- await db.delete(results[0].entry.id);
1075
+ const singleResult = results.length === 1 ? results[0] : void 0;
1076
+ if (singleResult && singleResult.score > .9) {
1077
+ await db.delete(singleResult.entry.id);
1079
1078
  return {
1080
1079
  content: [{
1081
1080
  type: "text",
1082
- text: `Forgotten: "${results[0].entry.text}"`
1081
+ text: `Forgotten: "${singleResult.entry.text}"`
1083
1082
  }],
1084
1083
  details: {
1085
1084
  action: "deleted",
1086
- id: results[0].entry.id
1085
+ id: singleResult.entry.id
1087
1086
  }
1088
1087
  };
1089
1088
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@openclaw/memory-lancedb",
3
- "version": "2026.7.1",
3
+ "version": "2026.7.2-beta.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/memory-lancedb",
9
- "version": "2026.7.1",
9
+ "version": "2026.7.2-beta.1",
10
10
  "dependencies": {
11
11
  "@lancedb/lancedb": "0.30.0",
12
12
  "apache-arrow": "18.1.0",
@@ -2,6 +2,7 @@
2
2
  "id": "memory-lancedb",
3
3
  "name": "Memory LanceDB",
4
4
  "description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall, auto-capture, and vector search.",
5
+ "catalog": { "featured": true, "order": 70 },
5
6
  "commandAliases": [{ "name": "ltm" }],
6
7
  "activation": {
7
8
  "onStartup": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/memory-lancedb",
3
- "version": "2026.7.1",
3
+ "version": "2026.7.2-beta.1",
4
4
  "description": "OpenClaw LanceDB-backed long-term memory plugin with auto-recall, auto-capture, and vector search.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,10 +26,10 @@
26
26
  "minHostVersion": ">=2026.5.31"
27
27
  },
28
28
  "compat": {
29
- "pluginApi": ">=2026.7.1"
29
+ "pluginApi": ">=2026.7.2-beta.1"
30
30
  },
31
31
  "build": {
32
- "openclawVersion": "2026.7.1"
32
+ "openclawVersion": "2026.7.2-beta.1"
33
33
  },
34
34
  "release": {
35
35
  "bundleRuntimeDependencies": false,
@@ -47,7 +47,7 @@
47
47
  "README.md"
48
48
  ],
49
49
  "peerDependencies": {
50
- "openclaw": ">=2026.7.1"
50
+ "openclaw": ">=2026.7.2-beta.1"
51
51
  },
52
52
  "peerDependenciesMeta": {
53
53
  "openclaw": {