From df4e2ecb8765fcb79dd29a53fef68252f68f3490 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 28 Apr 2026 20:07:18 +0100 Subject: [PATCH] fix(plugin-sdk): expose concrete memory host types --- extensions/memory-core/src/cli.runtime.ts | 7 +-- .../memory-core-host-engine-embeddings.ts | 54 +++++++++++++++- .../memory-core-host-engine-storage.ts | 63 ++++++++++++++++++- 3 files changed, 118 insertions(+), 6 deletions(-) diff --git a/extensions/memory-core/src/cli.runtime.ts b/extensions/memory-core/src/cli.runtime.ts index 287707babee..ae05a7ddbe6 100644 --- a/extensions/memory-core/src/cli.runtime.ts +++ b/extensions/memory-core/src/cli.runtime.ts @@ -2,6 +2,7 @@ import fsSync from "node:fs"; import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; +import type { MemoryEmbeddingProbeResult } from "openclaw/plugin-sdk/memory-core-host-engine-storage"; import { resolveMemoryRemDreamingConfig } from "openclaw/plugin-sdk/memory-core-host-status"; import { buildAgentSessionKey } from "openclaw/plugin-sdk/routing"; import { resolvePreferredOpenClawTmpDir } from "openclaw/plugin-sdk/temp-path"; @@ -670,7 +671,7 @@ export async function runMemoryStatus(opts: MemoryCommandOptions) { const allResults: Array<{ agentId: string; status: ReturnType; - embeddingProbe?: Awaited>; + embeddingProbe?: MemoryEmbeddingProbeResult; indexError?: string; scan?: MemorySourceScan; audit?: ShortTermAuditSummary; @@ -687,9 +688,7 @@ export async function runMemoryStatus(opts: MemoryCommandOptions) { purpose: managerPurpose, run: async (manager) => { const deep = Boolean(opts.deep || opts.index); - let embeddingProbe: - | Awaited> - | undefined; + let embeddingProbe: MemoryEmbeddingProbeResult | undefined; let indexError: string | undefined; const syncFn = manager.sync ? manager.sync.bind(manager) : undefined; if (deep) { diff --git a/src/plugin-sdk/memory-core-host-engine-embeddings.ts b/src/plugin-sdk/memory-core-host-engine-embeddings.ts index 6de15e6cb7b..9e56013e28e 100644 --- a/src/plugin-sdk/memory-core-host-engine-embeddings.ts +++ b/src/plugin-sdk/memory-core-host-engine-embeddings.ts @@ -1,4 +1,56 @@ -export * from "../../packages/memory-host-sdk/src/engine-embeddings.js"; +export { + applyEmbeddingBatchOutputLine, + buildBatchHeaders, + buildCaseInsensitiveExtensionGlob, + buildEmbeddingBatchGroupOptions, + buildRemoteBaseUrlPolicy, + classifyMemoryMultimodalPath, + createLocalEmbeddingProvider, + createRemoteEmbeddingProvider, + debugEmbeddingsLog, + DEFAULT_LOCAL_MODEL, + EMBEDDING_BATCH_ENDPOINT, + enforceEmbeddingMaxInputTokens, + estimateStructuredEmbeddingInputBytes, + estimateUtf8Bytes, + extractBatchErrorMessage, + fetchRemoteEmbeddingVectors, + formatUnavailableBatchError, + getMemoryMultimodalExtensions, + hasNonTextEmbeddingParts, + isMissingEmbeddingApiKeyError, + mapBatchEmbeddingsByIndex, + normalizeBatchBaseUrl, + normalizeEmbeddingModelWithPrefixes, + postJsonWithRetry, + resolveBatchCompletionFromStatus, + resolveCompletedBatchResult, + resolveRemoteEmbeddingBearerClient, + resolveRemoteEmbeddingClient, + runEmbeddingBatchGroups, + sanitizeAndNormalizeEmbedding, + sanitizeEmbeddingCacheHeaders, + throwIfBatchTerminalFailure, + uploadBatchJsonlFile, + withRemoteHttpResponse, +} from "../../packages/memory-host-sdk/src/engine-embeddings.js"; + +export type EmbeddingBatchStatus = { + id?: string; + status?: string; + output_file_id?: string | null; + error_file_id?: string | null; +}; + +export type { + BatchCompletionResult, + BatchHttpClientConfig, + EmbeddingBatchExecutionParams, + EmbeddingInput, + ProviderBatchOutputLine, + RemoteEmbeddingClient, + RemoteEmbeddingProviderId, +} from "../../packages/memory-host-sdk/src/engine-embeddings.js"; export { getMemoryEmbeddingProvider, listMemoryEmbeddingProviders, diff --git a/src/plugin-sdk/memory-core-host-engine-storage.ts b/src/plugin-sdk/memory-core-host-engine-storage.ts index ee3f3a4e410..444965491a5 100644 --- a/src/plugin-sdk/memory-core-host-engine-storage.ts +++ b/src/plugin-sdk/memory-core-host-engine-storage.ts @@ -1 +1,62 @@ -export * from "../../packages/memory-host-sdk/src/engine-storage.js"; +export { + buildFileEntry, + buildMemoryReadResult, + buildMemoryReadResultFromSlice, + buildMultimodalChunkForIndexing, + chunkMarkdown, + closeMemorySqliteWalMaintenance, + configureMemorySqliteWalMaintenance, + cosineSimilarity, + DEFAULT_MEMORY_READ_LINES, + DEFAULT_MEMORY_READ_MAX_CHARS, + ensureDir, + ensureMemoryIndexSchema, + hashText, + isFileMissingError, + listMemoryFiles, + loadSqliteVecExtension, + normalizeExtraMemoryPaths, + parseEmbedding, + readMemoryFile, + remapChunkLines, + requireNodeSqlite, + resolveMemoryBackendConfig, + runWithConcurrency, + statRegularFile, +} from "../../packages/memory-host-sdk/src/engine-storage.js"; + +export type MemorySource = "memory" | "sessions"; + +export type MemorySearchResult = { + path: string; + startLine: number; + endLine: number; + score: number; + vectorScore?: number; + textScore?: number; + snippet: string; + source: MemorySource; + citation?: string; +}; + +export type MemoryEmbeddingProbeResult = { + ok: boolean; + error?: string; + checked?: boolean; + cached?: boolean; + checkedAtMs?: number; + cacheExpiresAtMs?: number; +}; + +export type { + MemoryChunk, + MemoryFileEntry, + MemoryProviderStatus, + MemoryReadResult, + MemorySearchManager, + MemorySearchRuntimeDebug, + MemorySyncProgressUpdate, + ResolvedMemoryBackendConfig, + ResolvedQmdConfig, + ResolvedQmdMcporterConfig, +} from "../../packages/memory-host-sdk/src/engine-storage.js";