Files
openclaw-zero-token/plugins/contracts/memory-embedding-provider.contract.test.ts
sjhu 571e14a236 feat: upgrade to upstream v2026.3.28
Major upgrade from e26988a38 to upstream v2026.3.28 (f9b107928).
Key changes:
- Upstream src/, ui/, extensions/ (89 bundled extensions)
- Zero-token web providers preserved in src/zero-token/
- AskOnce plugin restored and registered as CLI command
- Added missing packages: @anthropic-ai/vertex-sdk, @modelcontextprotocol/sdk
- Fixed tsconfig rootDir, skipLibCheck for plugin-sdk DTS build
- Added askonce to bundled plugin metadata and package.json exports
- Fixed AskOnce CLI command registration (missing commands metadata)
- Restored AskOnce adapter imports (correct 5-level relative paths)
- Removed stale migration artifacts from root directory
2026-03-30 17:58:12 +08:00

56 lines
1.7 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { getRegisteredMemoryEmbeddingProvider } from "../memory-embedding-providers.js";
import { createPluginRegistryFixture, registerVirtualTestPlugin } from "./testkit.js";
describe("memory embedding provider registration", () => {
it("only allows memory plugins to register adapters", () => {
const { config, registry } = createPluginRegistryFixture();
registerVirtualTestPlugin({
registry,
config,
id: "not-memory",
name: "Not Memory",
register(api) {
api.registerMemoryEmbeddingProvider({
id: "forbidden",
create: async () => ({ provider: null }),
});
},
});
expect(getRegisteredMemoryEmbeddingProvider("forbidden")).toBeUndefined();
expect(registry.registry.diagnostics).toEqual(
expect.arrayContaining([
expect.objectContaining({
pluginId: "not-memory",
message: "only memory plugins can register memory embedding providers",
}),
]),
);
});
it("records the owning memory plugin id for registered adapters", () => {
const { config, registry } = createPluginRegistryFixture();
registerVirtualTestPlugin({
registry,
config,
id: "memory-core",
name: "Memory Core",
kind: "memory",
register(api) {
api.registerMemoryEmbeddingProvider({
id: "demo-embedding",
create: async () => ({ provider: null }),
});
},
});
expect(getRegisteredMemoryEmbeddingProvider("demo-embedding")).toEqual({
adapter: expect.objectContaining({ id: "demo-embedding" }),
ownerPluginId: "memory-core",
});
});
});