Skip to content

Commit ebcdb63

Browse files
committed
perf(memory-core): defer embedding engine startup imports
1 parent 592b6e2 commit ebcdb63

7 files changed

Lines changed: 21 additions & 22 deletions

File tree

docs/plugins/sdk-migration.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,7 @@ releases.
652652
| `plugin-sdk/zod` | Deprecated Zod compatibility re-export | Import `zod` from `zod` directly |
653653
| `plugin-sdk/memory-core` | Bundled memory-core helpers | Memory manager/config/file/CLI helper surface |
654654
| `plugin-sdk/memory-core-engine-runtime` | Memory engine runtime facade | Memory index/search runtime facade |
655+
| `plugin-sdk/memory-core-host-embedding-registry` | Memory embedding registry | Lightweight memory embedding provider registry helpers |
655656
| `plugin-sdk/memory-core-host-engine-foundation` | Memory host foundation engine | Memory host foundation engine exports |
656657
| `plugin-sdk/memory-core-host-engine-embeddings` | Memory host embedding engine | Memory embedding contracts, registry access, local provider, and generic batch/remote helpers; concrete remote providers live in their owning plugins |
657658
| `plugin-sdk/memory-core-host-engine-qmd` | Memory host QMD engine | Memory host QMD engine exports |

docs/plugins/sdk-subpaths.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ usage endpoint failed or returned no usable usage data.
355355
| --- | --- |
356356
| `plugin-sdk/memory-core` | Bundled memory-core helper surface for manager/config/file/CLI helpers |
357357
| `plugin-sdk/memory-core-engine-runtime` | Memory index/search runtime facade |
358+
| `plugin-sdk/memory-core-host-embedding-registry` | Lightweight memory embedding provider registry helpers |
358359
| `plugin-sdk/memory-core-host-engine-foundation` | Memory host foundation engine exports |
359360
| `plugin-sdk/memory-core-host-engine-embeddings` | Memory host embedding contracts, registry access, local provider, and generic batch/remote helpers. `registerMemoryEmbeddingProvider` on this surface is deprecated; use the generic embedding provider API for new providers. |
360361
| `plugin-sdk/memory-core-host-engine-qmd` | Memory host QMD engine exports |

extensions/memory-core/src/memory/provider-adapters.ts

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
1-
import fsSync from "node:fs";
21
import {
3-
createLocalEmbeddingProvider,
42
DEFAULT_LOCAL_MODEL,
53
listMemoryEmbeddingProviders,
64
listRegisteredMemoryEmbeddingProviderAdapters,
75
type MemoryEmbeddingProviderAdapter,
8-
} from "openclaw/plugin-sdk/memory-core-host-engine-embeddings";
9-
import { resolveUserPath } from "openclaw/plugin-sdk/memory-core-host-engine-foundation";
6+
} from "openclaw/plugin-sdk/memory-core-host-embedding-registry";
107
import { getProviderEnvVars } from "openclaw/plugin-sdk/provider-env-vars";
118
import { formatErrorMessage } from "../dreaming-shared.js";
129
import { filterUnregisteredMemoryEmbeddingProviderAdapters } from "./provider-adapter-registration.js";
@@ -66,22 +63,6 @@ function formatLocalSetupError(err: unknown): string {
6663
.join("\n");
6764
}
6865

69-
function canAutoSelectLocal(modelPath?: string): boolean {
70-
const trimmed = modelPath?.trim();
71-
if (!trimmed) {
72-
return false;
73-
}
74-
if (/^(hf:|https?:)/i.test(trimmed)) {
75-
return false;
76-
}
77-
const resolved = resolveUserPath(trimmed);
78-
try {
79-
return fsSync.statSync(resolved).isFile();
80-
} catch {
81-
return false;
82-
}
83-
}
84-
8566
const localAdapter: MemoryEmbeddingProviderAdapter = {
8667
id: "local",
8768
defaultModel: DEFAULT_LOCAL_MODEL,
@@ -90,6 +71,8 @@ const localAdapter: MemoryEmbeddingProviderAdapter = {
9071
formatSetupError: formatLocalSetupError,
9172
shouldContinueAutoSelection: () => true,
9273
create: async (options) => {
74+
const { createLocalEmbeddingProvider } =
75+
await import("openclaw/plugin-sdk/memory-core-host-engine-embeddings");
9376
const provider = await createLocalEmbeddingProvider({
9477
...options,
9578
provider: "local",
@@ -166,5 +149,3 @@ export function listBuiltinAutoSelectMemoryEmbeddingProviderDoctorMetadata(): Ar
166149
};
167150
});
168151
}
169-
170-
export { canAutoSelectLocal };

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1085,6 +1085,10 @@
10851085
"types": "./dist/plugin-sdk/memory-core-engine-runtime.d.ts",
10861086
"default": "./dist/plugin-sdk/memory-core-engine-runtime.js"
10871087
},
1088+
"./plugin-sdk/memory-core-host-embedding-registry": {
1089+
"types": "./dist/plugin-sdk/memory-core-host-embedding-registry.d.ts",
1090+
"default": "./dist/plugin-sdk/memory-core-host-embedding-registry.js"
1091+
},
10881092
"./plugin-sdk/memory-core-host-engine-embeddings": {
10891093
"types": "./dist/plugin-sdk/memory-core-host-engine-embeddings.d.ts",
10901094
"default": "./dist/plugin-sdk/memory-core-host-engine-embeddings.js"

scripts/lib/plugin-sdk-entrypoints.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@
250250
"qa-live-transport-scenarios",
251251
"memory-core",
252252
"memory-core-engine-runtime",
253+
"memory-core-host-embedding-registry",
253254
"memory-core-host-engine-embeddings",
254255
"memory-core-host-engine-foundation",
255256
"memory-core-host-engine-qmd",

src/plugin-sdk/entrypoints.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ export const publicPluginOwnedSdkEntrypoints = [
5858
"browser-config",
5959
"image-generation-core",
6060
"memory-core",
61+
"memory-core-host-embedding-registry",
6162
"memory-core-host-engine-embeddings",
6263
"memory-core-host-engine-foundation",
6364
"memory-core-host-engine-qmd",
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
export { DEFAULT_LOCAL_MODEL } from "../../packages/memory-host-sdk/src/host/embedding-defaults.js";
2+
export {
3+
listMemoryEmbeddingProviders,
4+
listRegisteredMemoryEmbeddingProviderAdapters,
5+
} from "../plugins/memory-embedding-provider-runtime.js";
6+
export type {
7+
MemoryEmbeddingProviderAdapter,
8+
MemoryEmbeddingProviderCreateOptions,
9+
MemoryEmbeddingProviderCreateResult,
10+
} from "../plugins/memory-embedding-providers.js";

0 commit comments

Comments
 (0)