From 58b31938537866c49a4252955d4dab600e5d6eaf Mon Sep 17 00:00:00 2001 From: Junebugg1214 <82672745+Junebugg1214@users.noreply.github.com> Date: Fri, 13 Mar 2026 16:30:18 -0400 Subject: [PATCH] fix: restore help parity and targeted sync expectations --- src/config/schema.help.ts | 2 +- src/config/schema.labels.ts | 11 +++++++++++ src/memory/index.test.ts | 36 +++++++++++++++++++----------------- 3 files changed, 31 insertions(+), 18 deletions(-) diff --git a/src/config/schema.help.ts b/src/config/schema.help.ts index 6e3e5ee21b4..4e266eb2bd0 100644 --- a/src/config/schema.help.ts +++ b/src/config/schema.help.ts @@ -808,7 +808,7 @@ export const FIELD_HELP: Record = { "agents.defaults.memorySearch.multimodal.modalities": 'Chooses which non-markdown media kinds are indexed from extra paths: "image", "audio", or both via "all". Limit this to the media you actually want searchable so indexing stays focused and cheap.', "agents.defaults.memorySearch.multimodal.maxFileBytes": - "Maximum file size accepted for multimodal memory indexing before the file is skipped. Lower this when large media files would bloat embedding payloads or raise provider limits.", + "Maximum file size accepted for multimodal memory indexing before the file is skipped. Keep this lower when large media files would bloat embedding payloads or hit provider limits, and raise it only when you intentionally need bigger image or audio files searchable.", "agents.defaults.memorySearch.experimental.sessionMemory": "Indexes session transcripts into memory search so responses can reference prior chat turns. Keep this off unless transcript recall is needed, because indexing cost and storage usage both increase.", "agents.defaults.memorySearch.provider": diff --git a/src/config/schema.labels.ts b/src/config/schema.labels.ts index 013280586c6..4e0919cf975 100644 --- a/src/config/schema.labels.ts +++ b/src/config/schema.labels.ts @@ -329,6 +329,11 @@ export const FIELD_LABELS: Record = { "agents.defaults.memorySearch.enabled": "Enable Memory Search", "agents.defaults.memorySearch.sources": "Memory Search Sources", "agents.defaults.memorySearch.extraPaths": "Extra Memory Paths", + "agents.defaults.memorySearch.multimodal": "Multimodal Memory Search", + "agents.defaults.memorySearch.multimodal.enabled": "Enable Multimodal Memory Search", + "agents.defaults.memorySearch.multimodal.modalities": "Multimodal Memory Modalities", + "agents.defaults.memorySearch.multimodal.maxFileBytes": + "Multimodal Memory Max File Size (bytes)", "agents.defaults.memorySearch.experimental.sessionMemory": "Memory Search Session Index (Experimental)", "agents.defaults.memorySearch.provider": "Memory Search Provider", @@ -733,6 +738,12 @@ export const FIELD_LABELS: Record = { "channels.telegram.network.autoSelectFamily": "Telegram autoSelectFamily", "channels.telegram.timeoutSeconds": "Telegram API Timeout (seconds)", "channels.telegram.capabilities.inlineButtons": "Telegram Inline Buttons", + "channels.telegram.execApprovals": "Telegram Exec Approvals", + "channels.telegram.execApprovals.enabled": "Telegram Exec Approvals Enabled", + "channels.telegram.execApprovals.approvers": "Telegram Exec Approval Approvers", + "channels.telegram.execApprovals.agentFilter": "Telegram Exec Approval Agent Filter", + "channels.telegram.execApprovals.sessionFilter": "Telegram Exec Approval Session Filter", + "channels.telegram.execApprovals.target": "Telegram Exec Approval Target", "channels.telegram.threadBindings.enabled": "Telegram Thread Binding Enabled", "channels.telegram.threadBindings.idleHours": "Telegram Thread Binding Idle Timeout (hours)", "channels.telegram.threadBindings.maxAgeHours": "Telegram Thread Binding Max Age (hours)", diff --git a/src/memory/index.test.ts b/src/memory/index.test.ts index 2defe9b1b61..67a918f1231 100644 --- a/src/memory/index.test.ts +++ b/src/memory/index.test.ts @@ -837,24 +837,26 @@ describe("memory index", () => { internal.activateFallbackProvider = activateFallbackProvider; const runUnsafeReindex = vi.fn(async () => {}); internal.runUnsafeReindex = runUnsafeReindex; + try { + await manager.sync({ + reason: "post-compaction", + sessionFiles: [sessionPath], + }); - await manager.sync({ - reason: "post-compaction", - sessionFiles: [sessionPath], - }); - - expect(activateFallbackProvider).toHaveBeenCalledWith("embedding backend failed"); - expect(runUnsafeReindex).toHaveBeenCalledWith({ - reason: "post-compaction", - force: true, - progress: undefined, - }); - - internal.syncSessionFiles = originalSyncSessionFiles; - internal.shouldFallbackOnError = originalShouldFallbackOnError; - internal.activateFallbackProvider = originalActivateFallbackProvider; - internal.runUnsafeReindex = originalRunUnsafeReindex; - await manager.close?.(); + expect(activateFallbackProvider).toHaveBeenCalledWith("embedding backend failed"); + expect(runUnsafeReindex).toHaveBeenCalledWith({ + reason: "post-compaction", + force: true, + sessionFiles: [sessionPath], + progress: undefined, + }); + } finally { + internal.syncSessionFiles = originalSyncSessionFiles; + internal.shouldFallbackOnError = originalShouldFallbackOnError; + internal.activateFallbackProvider = originalActivateFallbackProvider; + internal.runUnsafeReindex = originalRunUnsafeReindex; + await manager.close?.(); + } } finally { if (previousStateDir === undefined) { delete process.env.OPENCLAW_STATE_DIR;