feat: remove uimode/parallel from settings (#206)
This commit is contained in:
@@ -168,7 +168,7 @@ export async function handleHeadlessCommand(
|
||||
updateArgs,
|
||||
forceNew,
|
||||
skillsDirectory,
|
||||
settings.parallelToolCalls,
|
||||
true, // parallelToolCalls always enabled
|
||||
sleeptimeFlag ?? settings.enableSleeptime,
|
||||
specifiedSystem,
|
||||
initBlocks,
|
||||
@@ -213,7 +213,7 @@ export async function handleHeadlessCommand(
|
||||
updateArgs,
|
||||
false,
|
||||
skillsDirectory,
|
||||
settings.parallelToolCalls,
|
||||
true, // parallelToolCalls always enabled
|
||||
sleeptimeFlag ?? settings.enableSleeptime,
|
||||
specifiedSystem,
|
||||
undefined,
|
||||
|
||||
@@ -597,7 +597,7 @@ async function main() {
|
||||
updateArgs,
|
||||
freshBlocks, // Only create new blocks if --fresh-blocks passed
|
||||
skillsDirectory,
|
||||
settings.parallelToolCalls,
|
||||
true, // parallelToolCalls always enabled
|
||||
sleeptimeFlag ?? settings.enableSleeptime,
|
||||
system,
|
||||
initBlocks,
|
||||
@@ -648,7 +648,7 @@ async function main() {
|
||||
updateArgs,
|
||||
false, // Don't force new blocks when auto-creating (reuse shared blocks)
|
||||
skillsDirectory,
|
||||
settings.parallelToolCalls,
|
||||
true, // parallelToolCalls always enabled
|
||||
sleeptimeFlag ?? settings.enableSleeptime,
|
||||
system,
|
||||
undefined,
|
||||
|
||||
@@ -6,13 +6,9 @@ import { join } from "node:path";
|
||||
import type { PermissionRules } from "./permissions/types";
|
||||
import { exists, mkdir, readFile, writeFile } from "./utils/fs.js";
|
||||
|
||||
export type UIMode = "simple" | "rich";
|
||||
|
||||
export interface Settings {
|
||||
uiMode: UIMode;
|
||||
lastAgent: string | null;
|
||||
tokenStreaming: boolean;
|
||||
parallelToolCalls: boolean;
|
||||
enableSleeptime: boolean;
|
||||
globalSharedBlockIds: Record<string, string>;
|
||||
permissions?: PermissionRules;
|
||||
@@ -34,10 +30,8 @@ export interface LocalProjectSettings {
|
||||
}
|
||||
|
||||
const DEFAULT_SETTINGS: Settings = {
|
||||
uiMode: "simple",
|
||||
lastAgent: null,
|
||||
tokenStreaming: false,
|
||||
parallelToolCalls: true,
|
||||
enableSleeptime: false,
|
||||
globalSharedBlockIds: {},
|
||||
};
|
||||
|
||||
@@ -6,10 +6,7 @@ import { join } from "node:path";
|
||||
import type { PermissionRules } from "./permissions/types";
|
||||
import { exists, mkdir, readFile, writeFile } from "./utils/fs.js";
|
||||
|
||||
export type UIMode = "simple" | "rich";
|
||||
|
||||
export interface Settings {
|
||||
uiMode: UIMode;
|
||||
lastAgent: string | null;
|
||||
tokenStreaming: boolean;
|
||||
globalSharedBlockIds: Record<string, string>; // label -> blockId mapping (persona, human; style moved to project settings)
|
||||
@@ -23,7 +20,6 @@ export interface ProjectSettings {
|
||||
}
|
||||
|
||||
const DEFAULT_SETTINGS: Settings = {
|
||||
uiMode: "simple",
|
||||
lastAgent: null,
|
||||
tokenStreaming: false,
|
||||
globalSharedBlockIds: {},
|
||||
|
||||
@@ -255,7 +255,7 @@ test("Save permission preserves other settings fields", async () => {
|
||||
await Bun.write(
|
||||
settingsPath,
|
||||
JSON.stringify({
|
||||
uiMode: "rich",
|
||||
tokenStreaming: true,
|
||||
lastAgent: "agent-123",
|
||||
permissions: {
|
||||
allow: [],
|
||||
@@ -268,7 +268,7 @@ test("Save permission preserves other settings fields", async () => {
|
||||
const file = Bun.file(settingsPath);
|
||||
const settings = await file.json();
|
||||
|
||||
expect(settings.uiMode).toBe("rich");
|
||||
expect(settings.tokenStreaming).toBe(true);
|
||||
expect(settings.lastAgent).toBe("agent-123");
|
||||
expect(settings.permissions.allow).toContain("Bash(ls:*)");
|
||||
});
|
||||
@@ -298,7 +298,7 @@ test("Load permissions handles missing permissions field", async () => {
|
||||
await Bun.write(
|
||||
settingsPath,
|
||||
JSON.stringify({
|
||||
uiMode: "rich",
|
||||
tokenStreaming: true,
|
||||
// No permissions field
|
||||
}),
|
||||
);
|
||||
|
||||
@@ -45,7 +45,6 @@ describe("Settings Manager - Initialization", () => {
|
||||
// Settings should be accessible immediately after initialization
|
||||
const settings = settingsManager.getSettings();
|
||||
expect(settings).toBeDefined();
|
||||
expect(settings.uiMode).toBeDefined();
|
||||
expect(typeof settings.tokenStreaming).toBe("boolean");
|
||||
expect(settings.globalSharedBlockIds).toBeDefined();
|
||||
expect(typeof settings.globalSharedBlockIds).toBe("object");
|
||||
@@ -55,7 +54,6 @@ describe("Settings Manager - Initialization", () => {
|
||||
// First initialize and set some settings
|
||||
await settingsManager.initialize();
|
||||
settingsManager.updateSettings({
|
||||
uiMode: "rich",
|
||||
tokenStreaming: true,
|
||||
lastAgent: "agent-123",
|
||||
});
|
||||
@@ -68,7 +66,6 @@ describe("Settings Manager - Initialization", () => {
|
||||
await settingsManager.initialize();
|
||||
|
||||
const settings = settingsManager.getSettings();
|
||||
expect(settings.uiMode).toBe("rich");
|
||||
expect(settings.tokenStreaming).toBe(true);
|
||||
expect(settings.lastAgent).toBe("agent-123");
|
||||
});
|
||||
@@ -110,35 +107,35 @@ describe("Settings Manager - Global Settings", () => {
|
||||
});
|
||||
|
||||
test("Get specific setting", () => {
|
||||
settingsManager.updateSettings({ uiMode: "rich" });
|
||||
settingsManager.updateSettings({ tokenStreaming: true });
|
||||
|
||||
const uiMode = settingsManager.getSetting("uiMode");
|
||||
expect(uiMode).toBe("rich");
|
||||
const tokenStreaming = settingsManager.getSetting("tokenStreaming");
|
||||
expect(tokenStreaming).toBe(true);
|
||||
});
|
||||
|
||||
test("Update single setting", () => {
|
||||
// Verify initial state first
|
||||
const initialSettings = settingsManager.getSettings();
|
||||
const initialUiMode = initialSettings.uiMode;
|
||||
const initialLastAgent = initialSettings.lastAgent;
|
||||
|
||||
settingsManager.updateSettings({ tokenStreaming: true });
|
||||
|
||||
const settings = settingsManager.getSettings();
|
||||
expect(settings.tokenStreaming).toBe(true);
|
||||
expect(settings.uiMode).toBe(initialUiMode); // Other settings unchanged
|
||||
expect(settings.lastAgent).toBe(initialLastAgent); // Other settings unchanged
|
||||
});
|
||||
|
||||
test("Update multiple settings", () => {
|
||||
settingsManager.updateSettings({
|
||||
uiMode: "rich",
|
||||
tokenStreaming: true,
|
||||
lastAgent: "agent-456",
|
||||
enableSleeptime: true,
|
||||
});
|
||||
|
||||
const settings = settingsManager.getSettings();
|
||||
expect(settings.uiMode).toBe("rich");
|
||||
expect(settings.tokenStreaming).toBe(true);
|
||||
expect(settings.lastAgent).toBe("agent-456");
|
||||
expect(settings.enableSleeptime).toBe(true);
|
||||
});
|
||||
|
||||
test("Update global shared block IDs", () => {
|
||||
@@ -187,7 +184,7 @@ describe("Settings Manager - Global Settings", () => {
|
||||
|
||||
test("Settings persist to disk", async () => {
|
||||
settingsManager.updateSettings({
|
||||
uiMode: "rich",
|
||||
tokenStreaming: true,
|
||||
lastAgent: "agent-789",
|
||||
});
|
||||
|
||||
@@ -199,7 +196,7 @@ describe("Settings Manager - Global Settings", () => {
|
||||
await settingsManager.initialize();
|
||||
|
||||
const settings = settingsManager.getSettings();
|
||||
expect(settings.uiMode).toBe("rich");
|
||||
expect(settings.tokenStreaming).toBe(true);
|
||||
expect(settings.lastAgent).toBe("agent-789");
|
||||
});
|
||||
});
|
||||
@@ -452,7 +449,7 @@ describe("Settings Manager - Reset", () => {
|
||||
|
||||
test("Can reinitialize after reset", async () => {
|
||||
await settingsManager.initialize();
|
||||
settingsManager.updateSettings({ uiMode: "rich" });
|
||||
settingsManager.updateSettings({ tokenStreaming: true });
|
||||
|
||||
// Wait for persist
|
||||
await new Promise((resolve) => setTimeout(resolve, 100));
|
||||
@@ -461,7 +458,7 @@ describe("Settings Manager - Reset", () => {
|
||||
await settingsManager.initialize();
|
||||
|
||||
const settings = settingsManager.getSettings();
|
||||
expect(settings.uiMode).toBe("rich");
|
||||
expect(settings.tokenStreaming).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -483,7 +480,6 @@ describe("Settings Manager - Edge Cases", () => {
|
||||
|
||||
// Should have default values (not corrupt)
|
||||
expect(settings).toBeDefined();
|
||||
expect(settings.uiMode).toBeDefined();
|
||||
expect(settings.tokenStreaming).toBeDefined();
|
||||
expect(typeof settings.tokenStreaming).toBe("boolean");
|
||||
});
|
||||
@@ -509,9 +505,9 @@ describe("Settings Manager - Edge Cases", () => {
|
||||
await settingsManager.initialize();
|
||||
|
||||
settingsManager.updateSettings({
|
||||
uiMode: "rich",
|
||||
tokenStreaming: true,
|
||||
lastAgent: "agent-1",
|
||||
enableSleeptime: true,
|
||||
});
|
||||
|
||||
// Partial update
|
||||
@@ -520,8 +516,8 @@ describe("Settings Manager - Edge Cases", () => {
|
||||
});
|
||||
|
||||
const settings = settingsManager.getSettings();
|
||||
expect(settings.uiMode).toBe("rich"); // Preserved
|
||||
expect(settings.tokenStreaming).toBe(true); // Preserved
|
||||
expect(settings.enableSleeptime).toBe(true); // Preserved
|
||||
expect(settings.lastAgent).toBe("agent-2"); // Updated
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user