fix(memory): load unconfigured lancedb metadata · openclaw/openclaw@31e2276
vincentkoc
·
2026-05-03
·
via Recent Commits to openclaw:main
File tree
extensions/memory-lancedb
| Original file line number | Diff line number | Diff line change |
|---|
@@ -25,6 +25,7 @@ Docs: https://docs.openclaw.ai
|
25 | 25 | - Channels/onboarding: map third-party official WeCom and Yuanbao catalog entries to their published plugin ids so npm installs pass expected-plugin validation. Thanks @vincentkoc. |
26 | 26 | - Plugin SDK: restore the Mattermost and Matrix compatibility subpaths used by the pinned Yuanbao channel package so external installs can module-load after npm install. Thanks @vincentkoc. |
27 | 27 | - Plugins/install: keep managed npm-root security scans from treating earlier plugin `openclaw` peer links as failures, so one external plugin install cannot poison later official npm installs. Thanks @vincentkoc. |
| 28 | +- Memory LanceDB: allow installed-but-unconfigured plugin metadata to load so onboarding and setup flows can prompt for embedding config instead of failing the plugin registry first. Thanks @vincentkoc. |
28 | 29 | - CLI/plugins: keep `plugins enable` and `plugins disable` from creating unconfigured channel config sections, so channel plugins with required setup fields no longer fail validation during lifecycle probes. Thanks @vincentkoc. |
29 | 30 | - Agents/sessions: keep delayed `sessions_send` A2A replies alive after soft wait-window timeouts, while preserving terminal run timeouts and avoiding stale target replies in requester sessions. Fixes #76443. Thanks @ryswork1993 and @vincentkoc. |
30 | 31 | - CLI/sessions: keep intentional empty agent replies silent after tool-delivered channel output, instead of surfacing a misleading "No reply from agent." fallback. Thanks @vincentkoc. |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -84,6 +84,19 @@ describe("memory-lancedb config", () => {
|
84 | 84 | }).toThrow("embedding config must include at least one setting"); |
85 | 85 | }); |
86 | 86 | |
| 87 | +it("allows missing embedding config in the manifest so setup can discover fields", () => { |
| 88 | +const manifestResult = validateJsonSchemaValue({ |
| 89 | +schema: manifest.configSchema, |
| 90 | +cacheKey: "memory-lancedb.manifest.missing-embedding", |
| 91 | +value: {}, |
| 92 | +}); |
| 93 | + |
| 94 | +expect(manifestResult.ok).toBe(true); |
| 95 | +expect(() => { |
| 96 | +memoryConfigSchema.parse({}); |
| 97 | +}).toThrow("embedding config required"); |
| 98 | +}); |
| 99 | + |
87 | 100 | it("rejects empty embedding providers", () => { |
88 | 101 | expect(() => { |
89 | 102 | memoryConfigSchema.parse({ |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -126,7 +126,6 @@
|
126 | 126 | "type": "string" |
127 | 127 | } |
128 | 128 | } |
129 | | - }, |
130 | | -"required": ["embedding"] |
| 129 | + } |
131 | 130 | } |
132 | 131 | } |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。