update to a dialog for clearing context

This commit is contained in:
A.K.M. Adib
2026-03-05 16:42:55 -05:00
parent defc28e42d
commit ab23cdc6af
8 changed files with 264 additions and 126 deletions

View File

@@ -173,6 +173,7 @@ export interface SummarizeToolOutputSettings {
export interface PlanSettings {
directory?: string;
modelRouting?: boolean;
clearContextOnApproval?: boolean;
}
export interface TelemetrySettings {
@@ -796,6 +797,9 @@ export class Config implements McpContext {
private readonly planEnabled: boolean;
private readonly trackerEnabled: boolean;
private readonly planModeRoutingEnabled: boolean;
private readonly clearContextOnPlanApproval?: boolean;
private clearContextOnPlanApprovalSessionOverride: boolean | undefined =
undefined;
private readonly modelSteering: boolean;
private contextManager?: ContextManager;
private terminalBackground: string | undefined = undefined;
@@ -887,6 +891,8 @@ export class Config implements McpContext {
this.planEnabled = params.plan ?? false;
this.trackerEnabled = params.tracker ?? false;
this.planModeRoutingEnabled = params.planSettings?.modelRouting ?? true;
this.clearContextOnPlanApproval =
params.planSettings?.clearContextOnApproval;
this.enableEventDrivenScheduler = params.enableEventDrivenScheduler ?? true;
this.skillsSupport = params.skillsSupport ?? true;
this.disabledSkills = params.disabledSkills ?? [];
@@ -2467,6 +2473,21 @@ export class Config implements McpContext {
return this.planModeRoutingEnabled;
}
getClearContextOnPlanApproval(): boolean | undefined {
return (
this.clearContextOnPlanApprovalSessionOverride ??
this.clearContextOnPlanApproval
);
}
isClearContextOnPlanApprovalEnabled(): boolean {
return this.getClearContextOnPlanApproval() ?? true;
}
setClearContextOnPlanApprovalSessionOverride(value: boolean): void {
this.clearContextOnPlanApprovalSessionOverride = value;
}
async getNumericalRoutingEnabled(): Promise<boolean> {
await this.ensureExperimentsLoaded();

View File

@@ -160,6 +160,8 @@ export interface Question {
options?: QuestionOption[];
/** Allow multiple selections. Only applies when type='choice'. */
multiSelect?: boolean;
/** Whether to allow a custom 'Other' option for 'choice' types. Defaults to true. */
allowCustomOption?: boolean;
/** Placeholder hint text. For type='text', shown in the input field. For type='choice', shown in the "Other" custom input. */
placeholder?: string;
}