fix(memory): report provider-none probes as FTS-only · openclaw/openclaw@0b61add
vincentkoc
·
2026-06-02
·
via Recent Commits to openclaw:main
File tree
extensions/memory-core/src/memory
| Original file line number | Diff line number | Diff line change |
|---|
@@ -139,6 +139,22 @@ describe("memory manager FTS-only reindex", () => {
|
139 | 139 | expect(memoryManager.status().custom?.indexIdentity).toEqual({ status: "valid" }); |
140 | 140 | }); |
141 | 141 | |
| 142 | +it("reports explicit provider-none probes as FTS-only without resolving providers", async () => { |
| 143 | +const memoryManager = await createManager({ provider: "none", vectorEnabled: false }); |
| 144 | + |
| 145 | +await expect(memoryManager.probeEmbeddingAvailability()).resolves.toEqual({ |
| 146 | +ok: false, |
| 147 | +error: "No embedding provider available (FTS-only mode)", |
| 148 | +}); |
| 149 | + |
| 150 | +expect(createEmbeddingProviderMock).not.toHaveBeenCalled(); |
| 151 | +expect(memoryManager.status().custom?.providerState).toEqual({ |
| 152 | +mode: "fts-only", |
| 153 | +reason: "No embedding provider available (FTS-only mode)", |
| 154 | +attemptedProviderId: "none", |
| 155 | +}); |
| 156 | +}); |
| 157 | + |
142 | 158 | it("still initializes configured providers when vector storage is disabled", async () => { |
143 | 159 | const memoryManager = await createManager({ provider: "auto", vectorEnabled: false }); |
144 | 160 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -313,6 +313,16 @@ export class MemoryIndexManager extends MemoryManagerEmbeddingOps implements Mem
|
313 | 313 | if (this.providerInitialized) { |
314 | 314 | return; |
315 | 315 | } |
| 316 | +if (this.settings.provider === "none") { |
| 317 | +this.applyProviderResult({ |
| 318 | +provider: null, |
| 319 | +requestedProvider: "none", |
| 320 | +providerUnavailableReason: "No embedding provider available (FTS-only mode)", |
| 321 | +}); |
| 322 | +this.providerKey = this.computeProviderKey(); |
| 323 | +this.batch = this.resolveBatchConfig(); |
| 324 | +return; |
| 325 | +} |
316 | 326 | if (!this.providerInitPromise) { |
317 | 327 | this.providerInitPromise = (async () => { |
318 | 328 | const providerResult = await MemoryIndexManager.loadProviderResult({ |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。