refactor(extensions): privatize small plugin internals (#107774)

* refactor(llama-cpp): privatize embedding internals

* refactor(parallel): privatize MCP response helpers

* refactor(logbook): privatize analysis parsers

* refactor(crabbox): narrow worker provider exports

* refactor(acpx): privatize process reaper internals

* chore(deadcode): refresh unused-export baseline
This commit is contained in:
Peter Steinberger
2026-07-14 14:15:44 -07:00
committed by GitHub
parent 534300beed
commit 2eb9c7ebd7
11 changed files with 200 additions and 307 deletions
+61 -68
View File
@@ -22,12 +22,23 @@ vi.mock("openclaw/plugin-sdk/memory-core-host-engine-embeddings", () => ({
}));
import llamaCppPlugin from "./index.js";
import {
DEFAULT_LLAMA_CPP_EMBEDDING_MODEL,
createLlamaCppMemoryEmbeddingProvider,
formatLlamaCppSetupError,
llamaCppEmbeddingProviderAdapter,
} from "./src/embedding-provider.js";
import { llamaCppEmbeddingProviderAdapter } from "./src/embedding-provider.js";
const DEFAULT_LLAMA_CPP_EMBEDDING_MODEL =
"hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf";
type AdapterCreateOptions = Parameters<typeof llamaCppEmbeddingProviderAdapter.create>[0];
type MemoryCreateTestOptions = AdapterCreateOptions & {
fallback?: "none";
outputDimensionality?: number;
};
async function createLlamaCppMemoryEmbeddingProvider(options: MemoryCreateTestOptions) {
const { fallback: _fallback, outputDimensionality, ...adapterOptions } = options;
return await llamaCppEmbeddingProviderAdapter.create({
...adapterOptions,
dimensions: outputDimensionality,
});
}
afterEach(() => {
clearEmbeddingProviders();
@@ -148,16 +159,13 @@ describe("llama.cpp provider plugin", () => {
embedBatch: vi.fn(),
});
const result = await createLlamaCppMemoryEmbeddingProvider(
{
config: {},
provider: "local",
fallback: "none",
model: DEFAULT_LLAMA_CPP_EMBEDDING_MODEL,
outputDimensionality: 512,
},
{ nodeLlamaCppImportUrl: "file:///plugin/node-llama-cpp.js" },
);
const result = await createLlamaCppMemoryEmbeddingProvider({
config: {},
provider: "local",
fallback: "none",
model: DEFAULT_LLAMA_CPP_EMBEDDING_MODEL,
outputDimensionality: 512,
});
const resolvedIdentity = llamaCppEmbeddingProviderAdapter.resolveIndexIdentity?.({
config: {},
provider: "local",
@@ -197,16 +205,13 @@ describe("llama.cpp provider plugin", () => {
embedBatch: vi.fn(),
});
const result = await createLlamaCppMemoryEmbeddingProvider(
{
config: {},
provider: "local",
fallback: "none",
model: modelPath,
local: { modelPath },
},
{ nodeLlamaCppImportUrl: "file:///plugin/node-llama-cpp.js" },
);
const result = await createLlamaCppMemoryEmbeddingProvider({
config: {},
provider: "local",
fallback: "none",
model: modelPath,
local: { modelPath },
});
expect(result.provider?.model).toBe(DEFAULT_LLAMA_CPP_EMBEDDING_MODEL);
expect(result.runtime?.cacheKeyData).toEqual({
@@ -265,7 +270,7 @@ describe("llama.cpp provider plugin", () => {
local: { modelPath },
}),
{
nodeLlamaCppImportUrl: "file:///plugin/node-llama-cpp.js",
nodeLlamaCppImportUrl: expect.stringContaining("node-llama-cpp"),
},
);
});
@@ -283,16 +288,13 @@ describe("llama.cpp provider plugin", () => {
embedBatch: vi.fn(),
});
const result = await createLlamaCppMemoryEmbeddingProvider(
{
config: {},
provider: "local",
fallback: "none",
model: modelPath,
local: { modelPath },
},
{ nodeLlamaCppImportUrl: "file:///plugin/node-llama-cpp.js" },
);
const result = await createLlamaCppMemoryEmbeddingProvider({
config: {},
provider: "local",
fallback: "none",
model: modelPath,
local: { modelPath },
});
expect(result.provider?.model).toBe(modelPath);
expect(result.runtime?.cacheKeyData).toEqual({
@@ -316,16 +318,13 @@ describe("llama.cpp provider plugin", () => {
embedBatch: vi.fn(),
});
const result = await createLlamaCppMemoryEmbeddingProvider(
{
config: {},
provider: "local",
fallback: "none",
model: modelPath,
local: { modelPath },
},
{ nodeLlamaCppImportUrl: "file:///plugin/node-llama-cpp.js" },
);
const result = await createLlamaCppMemoryEmbeddingProvider({
config: {},
provider: "local",
fallback: "none",
model: modelPath,
local: { modelPath },
});
expect(result.provider?.model).toBe(modelPath);
expect(result.runtime).not.toHaveProperty("indexIdentityAliases");
@@ -341,16 +340,13 @@ describe("llama.cpp provider plugin", () => {
embedBatch: vi.fn(),
});
const result = await createLlamaCppMemoryEmbeddingProvider(
{
config: {},
provider: "local",
fallback: "none",
model: DEFAULT_LLAMA_CPP_EMBEDDING_MODEL,
local: { modelPath: DEFAULT_LLAMA_CPP_EMBEDDING_MODEL, modelCacheDir },
},
{ nodeLlamaCppImportUrl: "file:///plugin/node-llama-cpp.js" },
);
const result = await createLlamaCppMemoryEmbeddingProvider({
config: {},
provider: "local",
fallback: "none",
model: DEFAULT_LLAMA_CPP_EMBEDDING_MODEL,
local: { modelPath: DEFAULT_LLAMA_CPP_EMBEDDING_MODEL, modelCacheDir },
});
expect(result.provider?.model).toBe(DEFAULT_LLAMA_CPP_EMBEDDING_MODEL);
expect(result.runtime?.cacheKeyData).toEqual({
@@ -432,16 +428,13 @@ describe("llama.cpp provider plugin", () => {
embedBatch: vi.fn(),
});
const result = await createLlamaCppMemoryEmbeddingProvider(
{
config: {},
provider: "local",
fallback: "none",
model: modelPath,
local: { modelPath, modelCacheDir },
},
{ nodeLlamaCppImportUrl: "file:///plugin/node-llama-cpp.js" },
);
const result = await createLlamaCppMemoryEmbeddingProvider({
config: {},
provider: "local",
fallback: "none",
model: modelPath,
local: { modelPath, modelCacheDir },
});
expect(result.provider?.model).toBe(DEFAULT_LLAMA_CPP_EMBEDDING_MODEL);
expect(result.runtime?.indexIdentityAliases).toEqual([
@@ -467,7 +460,7 @@ describe("llama.cpp provider plugin", () => {
code: "ERR_MODULE_NOT_FOUND",
});
expect(formatLlamaCppSetupError(err)).toContain(
expect(llamaCppEmbeddingProviderAdapter.formatSetupError?.(err)).toContain(
"openclaw plugins install @openclaw/llama-cpp-provider",
);
});
@@ -29,7 +29,7 @@ type LlamaCppEmbeddingProviderRuntimeOptions = {
const LLAMA_CPP_EMBEDDING_PROVIDER_ID = "local";
const LOCAL_EMBEDDING_RUNTIME_FACTS = Symbol.for("openclaw.localEmbeddingRuntimeFacts");
export const DEFAULT_LLAMA_CPP_EMBEDDING_MODEL =
const DEFAULT_LLAMA_CPP_EMBEDDING_MODEL =
"hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf";
const DEFAULT_LLAMA_CPP_EMBEDDING_MODEL_CACHE_FILE_NAME =
"hf_ggml-org_embeddinggemma-300m-qat-Q8_0.gguf";
@@ -133,7 +133,7 @@ function formatErrorMessage(err: unknown): string {
return String(err);
}
export function formatLlamaCppSetupError(err: unknown): string {
function formatLlamaCppSetupError(err: unknown): string {
const detail = formatErrorMessage(err);
const missing = isNodeLlamaCppMissing(err);
return [
@@ -195,7 +195,7 @@ function adaptMemoryEmbeddingProvider(provider: MemoryEmbeddingProvider): Embedd
return adapted;
}
export async function createLlamaCppMemoryEmbeddingProvider(
async function createLlamaCppMemoryEmbeddingProvider(
options: MemoryEmbeddingProviderCreateOptions,
runtimeOptions: LlamaCppEmbeddingProviderRuntimeOptions = {},
): Promise<MemoryEmbeddingProviderCreateResult> {