import * as plugins from './plugins.js'; import type { TControllerModelChoice, IControllerSettings, TControllerSessionHarnessId, } from './interfaces.js'; export interface IReq_ControllerSettingsGet extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_ControllerSettingsGet > { method: 'controller.settings.get'; request: Record; response: { settings: IControllerSettings; /** Default base directory: relative project paths and initial suggestions resolve here. */ projectsRoot: string; }; } export interface IReq_ControllerSettingsUpdate extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_ControllerSettingsUpdate > { method: 'controller.settings.update'; request: { browserVideoBackend?: 'chromium' | 'native'; /** Full replacement; an empty list clears all defaults. Absent leaves them unchanged. */ defaultModels?: TControllerModelChoice[]; /** Absent leaves the auto-accept behavior unchanged. */ autoAcceptPermissions?: boolean; /** * Full replacement with absolute existing directories; an empty list clears them. * Absent leaves them unchanged. */ standardProjectDirectories?: string[]; /** Remembers the harness a conversation was last started with. Absent leaves it unchanged. */ lastSessionHarnessId?: TControllerSessionHarnessId; }; response: { settings: IControllerSettings; }; }