openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
136 lines • 4.93 kB
TypeScript
import { At as MemoryExtraPath, Ot as MemorySearchConfig, r as OpenClawConfig } from "../types.openclaw-BdCLfP4c.js";
import { n as SecretInput } from "../types.secrets-BrR1WS-r.js";
import "../config-OY7NIjWm.js";
import { i as resolveStateDir } from "../paths-Gk5D-jTK.js";
import { c as resolveUserPath } from "../home-dir-4pOw9r_P.js";
import { n as truncateUtf16Safe } from "../utf16-slice-C5Uh1nl-.js";
import { n as createSubsystemLogger } from "../subsystem-RmDRaRJV.js";
import { t as onInternalSessionTranscriptUpdate } from "../transcript-events-Dp8A8COY.js";
import { r as resolveSessionTranscriptsDirForAgent } from "../paths-ksWeUTdn.js";
import { a as resolveAgentWorkspaceDir, i as resolveAgentDir, r as resolveAgentContextLimits } from "../agent-scope-config-C1Nx0bsu.js";
import "../agent-scope-BnvcBZbj.js";
import { V as root } from "../fs-safe-CpD5NC5g.js";
import "@openclaw/fs-safe/advanced";
import "@openclaw/fs-safe/root";
import { isPathInside } from "@openclaw/fs-safe/path";
import "@openclaw/fs-safe/walk";
//#region packages/memory-host-sdk/src/host/multimodal.d.ts
declare const MEMORY_MULTIMODAL_SPECS: {
readonly image: {
readonly labelPrefix: "Image file";
readonly extensions: readonly [".jpg", ".jpeg", ".png", ".webp", ".gif", ".heic", ".heif"];
};
readonly audio: {
readonly labelPrefix: "Audio file";
readonly extensions: readonly [".mp3", ".wav", ".ogg", ".opus", ".m4a", ".m2a", ".aac", ".flac"];
};
};
/** Supported multimodal memory modality. */
type MemoryMultimodalModality = keyof typeof MEMORY_MULTIMODAL_SPECS;
/** Normalized multimodal memory ingestion settings. */
type MemoryMultimodalSettings = {
enabled: boolean;
modalities: MemoryMultimodalModality[];
maxFileBytes: number;
};
//#endregion
//#region src/agents/memory-search.d.ts
type ResolvedMemorySearchConfig = {
enabled: boolean;
rememberAcrossConversations: boolean;
/** Sources indexed by the manager. */
sources: Array<"memory" | "sessions">;
/** Sources searched when memory_search omits an explicit corpus. */
searchSources: Array<"memory" | "sessions">;
extraPaths: MemoryExtraPath[];
multimodal: MemoryMultimodalSettings;
provider: string;
remote?: {
baseUrl?: string;
apiKey?: SecretInput;
headers?: Record<string, string>;
nonBatchConcurrency?: number;
batch?: {
enabled: boolean;
wait: boolean;
concurrency: number;
pollIntervalMs: number;
timeoutMinutes: number;
};
};
experimental: {
sessionMemory: boolean;
};
fallback: string;
model: string;
inputType?: string;
queryInputType?: string;
documentInputType?: string;
outputDimensionality?: number;
local: {
modelPath?: string;
modelCacheDir?: string;
contextSize?: number | "auto";
};
store: {
driver: "sqlite";
databasePath: string;
fts: {
tokenizer: "unicode61" | "trigram";
};
vector: {
enabled: boolean;
extensionPath?: string;
};
};
chunking: {
tokens: number;
overlap: number;
};
sync: {
onSessionStart: boolean;
onSearch: boolean;
watch: boolean;
watchDebounceMs: number;
intervalMinutes: number;
embeddingBatchTimeoutSeconds: number | undefined;
sessions: {
deltaBytes: number;
deltaMessages: number;
postCompactionForce: boolean;
};
};
query: {
maxResults: number;
minScore: number;
hybrid: {
enabled: boolean;
vectorWeight: number;
textWeight: number;
candidateMultiplier: number;
mmr: {
enabled: boolean;
lambda: number;
};
temporalDecay: {
enabled: boolean;
halfLifeDays: number;
};
};
};
cache: {
enabled: boolean;
maxEntries?: number;
};
};
type ResolvedMemorySearchSyncConfig = ResolvedMemorySearchConfig["sync"];
export declare function resolveMemorySearchConfig(cfg: OpenClawConfig, agentId: string): ResolvedMemorySearchConfig | null;
export declare function resolveMemorySearchSyncConfig(cfg: OpenClawConfig, agentId: string): ResolvedMemorySearchSyncConfig | null;
//#endregion
//#region src/shared/global-singleton.d.ts
type GlobalSingletonLifecycle = "close-and-restart" | "close-only" | "plugin-registry";
type GlobalSingletonReset<T> = (value: T) => void | Promise<void>;
/** Resolves a process-local singleton for caches and registries that tolerate helper lookup. */
export declare function resolveGlobalSingleton<T>(key: symbol, create: () => T, reset?: GlobalSingletonReset<T>, lifecycle?: GlobalSingletonLifecycle): T;
//#endregion
export { type MemorySearchConfig, type OpenClawConfig, type ResolvedMemorySearchConfig, createSubsystemLogger, isPathInside, onInternalSessionTranscriptUpdate, resolveAgentContextLimits, resolveAgentDir, resolveAgentWorkspaceDir, resolveSessionTranscriptsDirForAgent, resolveStateDir, resolveUserPath, root, truncateUtf16Safe };