feat: expose autoMemoryDirectory setting in ConfigSidebar

This commit is contained in:
2026-03-13 00:14:19 -07:00
committed by Naomi Carrigan
parent d5a4324160
commit 186f28952b
13 changed files with 89 additions and 0 deletions
+1
View File
@@ -67,6 +67,7 @@ vi.mock("$lib/stores/config", () => ({
max_output_tokens: null,
include_git_instructions: true,
enable_claudeai_mcp_servers: true,
auto_memory_directory: null,
}),
},
}));
+2
View File
@@ -68,6 +68,7 @@ async function changeDirectory(path: string): Promise<void> {
max_output_tokens: config.max_output_tokens ?? null,
include_git_instructions: config.include_git_instructions ?? true,
enable_claudeai_mcp_servers: config.enable_claudeai_mcp_servers ?? true,
auto_memory_directory: config.auto_memory_directory || null,
},
});
@@ -147,6 +148,7 @@ async function startNewConversation(): Promise<void> {
max_output_tokens: config.max_output_tokens ?? null,
include_git_instructions: config.include_git_instructions ?? true,
enable_claudeai_mcp_servers: config.enable_claudeai_mcp_servers ?? true,
auto_memory_directory: config.auto_memory_directory || null,
},
});
+20
View File
@@ -61,6 +61,7 @@
disable_cron: false,
include_git_instructions: true,
enable_claudeai_mcp_servers: true,
auto_memory_directory: null,
max_output_tokens: null,
trusted_workspaces: [],
background_image_path: null,
@@ -602,6 +603,25 @@
being cut off mid-reply
</p>
</div>
<!-- Auto-memory Directory -->
<div class="mb-4">
<label for="auto-memory-dir" class="block text-sm text-[var(--text-primary)] mb-1">
Auto-memory directory <span class="text-[var(--text-tertiary)]">(optional)</span>
</label>
<input
id="auto-memory-dir"
type="text"
placeholder="Leave blank to use default"
bind:value={config.auto_memory_directory}
class="w-full px-3 py-2 text-sm bg-[var(--bg-primary)] border border-[var(--border-color)] rounded text-[var(--text-primary)] placeholder-[var(--text-tertiary)] focus:outline-none focus:border-[var(--accent-primary)]"
/>
<p class="text-xs text-[var(--text-tertiary)] mt-1">
Custom directory for auto-memory storage. Passed via
<code class="font-mono">--settings autoMemoryDirectory</code>. Leave blank to use the
default (working directory).
</p>
</div>
</section>
<!-- Greeting Section -->
+1
View File
@@ -404,6 +404,7 @@ User: ${formattedMessage}`;
disable_1m_context: config.disable_1m_context ?? false,
include_git_instructions: config.include_git_instructions ?? true,
enable_claudeai_mcp_servers: config.enable_claudeai_mcp_servers ?? true,
auto_memory_directory: config.auto_memory_directory || null,
},
});
@@ -91,6 +91,7 @@
disable_1m_context: config.disable_1m_context ?? false,
include_git_instructions: config.include_git_instructions ?? true,
enable_claudeai_mcp_servers: config.enable_claudeai_mcp_servers ?? true,
auto_memory_directory: config.auto_memory_directory || null,
},
});
+3
View File
@@ -91,6 +91,7 @@
disable_cron: false,
include_git_instructions: true,
enable_claudeai_mcp_servers: true,
auto_memory_directory: null,
});
let streamerModeActive = $state(false);
@@ -173,6 +174,7 @@
max_output_tokens: currentConfig.max_output_tokens ?? null,
include_git_instructions: currentConfig.include_git_instructions ?? true,
enable_claudeai_mcp_servers: currentConfig.enable_claudeai_mcp_servers ?? true,
auto_memory_directory: currentConfig.auto_memory_directory || null,
},
});
@@ -332,6 +334,7 @@
max_output_tokens: currentConfig.max_output_tokens ?? null,
include_git_instructions: currentConfig.include_git_instructions ?? true,
enable_claudeai_mcp_servers: currentConfig.enable_claudeai_mcp_servers ?? true,
auto_memory_directory: currentConfig.auto_memory_directory || null,
},
});
+1
View File
@@ -220,6 +220,7 @@
max_output_tokens: cfg.max_output_tokens ?? null,
include_git_instructions: cfg.include_git_instructions ?? true,
enable_claudeai_mcp_servers: cfg.enable_claudeai_mcp_servers ?? true,
auto_memory_directory: cfg.auto_memory_directory || null,
},
});
} catch (error) {
@@ -110,6 +110,7 @@
disable_1m_context: config.disable_1m_context ?? false,
include_git_instructions: config.include_git_instructions ?? true,
enable_claudeai_mcp_servers: config.enable_claudeai_mcp_servers ?? true,
auto_memory_directory: config.auto_memory_directory || null,
},
});
+3
View File
@@ -223,6 +223,7 @@ describe("config store", () => {
disable_cron: false,
include_git_instructions: true,
enable_claudeai_mcp_servers: true,
auto_memory_directory: null,
};
expect(config.model).toBe("claude-sonnet-4");
@@ -285,6 +286,7 @@ describe("config store", () => {
disable_cron: false,
include_git_instructions: true,
enable_claudeai_mcp_servers: true,
auto_memory_directory: null,
};
expect(config.model).toBeNull();
@@ -902,6 +904,7 @@ describe("config store", () => {
disable_cron: false,
include_git_instructions: true,
enable_claudeai_mcp_servers: true,
auto_memory_directory: null,
};
const mockInvokeImpl = vi.mocked(invoke);
+3
View File
@@ -87,6 +87,8 @@ export interface HikariConfig {
include_git_instructions: boolean;
// Claude.ai MCP servers setting
enable_claudeai_mcp_servers: boolean;
// Auto-memory directory
auto_memory_directory: string | null;
}
const defaultConfig: HikariConfig = {
@@ -143,6 +145,7 @@ const defaultConfig: HikariConfig = {
disable_cron: false,
include_git_instructions: true,
enable_claudeai_mcp_servers: true,
auto_memory_directory: null,
};
function createConfigStore() {