@@ -22,6 +22,7 @@ import { Mode, PromptComponent, defaultModeSlug, ModeConfig } from "../../shared
2222import { checkExistKey } from "../../shared/checkExistApiConfig"
2323import { EXPERIMENT_IDS , experiments as Experiments , experimentDefault , ExperimentId } from "../../shared/experiments"
2424import { TERMINAL_OUTPUT_LIMIT } from "../../shared/terminal"
25+ import { TelemetrySetting } from "../../shared/TelemetrySetting"
2526import { downloadTask } from "../../integrations/misc/export-markdown"
2627import { openFile , openImage } from "../../integrations/misc/open-file"
2728import { selectImages } from "../../integrations/misc/process-images"
@@ -56,7 +57,7 @@ import { openMention } from "../mentions"
5657import { getNonce } from "./getNonce"
5758import { getUri } from "./getUri"
5859import { telemetryService } from "../../services/telemetry/TelemetryService"
59- import { TelemetrySetting } from "../../shared/TelemetrySetting "
60+ import { SchedulableRulesManager } from "../prompts/sections/schedulable-rules "
6061
6162/**
6263 * https://github.com/microsoft/vscode-webview-ui-toolkit-samples/blob/main/default/weather-webview/src/providers/WeatherViewProvider.ts
@@ -73,6 +74,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
7374 private clineStack : Cline [ ] = [ ]
7475 private workspaceTracker ?: WorkspaceTracker
7576 protected mcpHub ?: McpHub // Change from private to protected
77+ private schedulableRulesManager : SchedulableRulesManager
7678 private latestAnnouncementId = "mar-7-2025-3-8" // update to some unique identifier when we add a new announcement
7779 private contextProxy : ContextProxy
7880 configManager : ConfigManager
@@ -90,6 +92,10 @@ export class ClineProvider implements vscode.WebviewViewProvider {
9092 // Register this provider with the telemetry service to enable it to add properties like mode and provider
9193 telemetryService . setProvider ( this )
9294
95+ // Initialize SchedulableRulesManager
96+ this . schedulableRulesManager = new SchedulableRulesManager ( )
97+ this . outputChannel . appendLine ( "SchedulableRulesManager initialized" )
98+
9399 this . workspaceTracker = new WorkspaceTracker ( this )
94100 this . configManager = new ConfigManager ( this . context )
95101 this . customModesManager = new CustomModesManager ( this . context , async ( ) => {
@@ -1963,6 +1969,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
19631969 experiments ,
19641970 enableMcpServerCreation ,
19651971 rooIgnoreInstructions ,
1972+ this . schedulableRulesManager ,
19661973 )
19671974 return systemPrompt
19681975 }
@@ -2335,6 +2342,12 @@ export class ClineProvider implements vscode.WebviewViewProvider {
23352342 telemetrySetting,
23362343 showRooIgnoredFiles,
23372344 } = await this . getState ( )
2345+
2346+ // Get schedulable rules data
2347+ // Get schedulable rules data
2348+ let schedulableRules = await this . schedulableRulesManager . getAllRules (
2349+ vscode . workspace . workspaceFolders ?. map ( ( folder ) => folder . uri . fsPath ) . at ( 0 ) || "" ,
2350+ )
23382351 const telemetryKey = process . env . POSTHOG_API_KEY
23392352 const machineId = vscode . env . machineId
23402353
@@ -2353,6 +2366,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
23532366 alwaysAllowMcp : alwaysAllowMcp ?? false ,
23542367 alwaysAllowModeSwitch : alwaysAllowModeSwitch ?? false ,
23552368 alwaysAllowSubtasks : alwaysAllowSubtasks ?? false ,
2369+ schedulableRules,
23562370 uriScheme : vscode . env . uriScheme ,
23572371 currentTaskItem : this . getCurrentCline ( ) ?. taskId
23582372 ? ( taskHistory || [ ] ) . find ( ( item : HistoryItem ) => item . id === this . getCurrentCline ( ) ?. taskId )
0 commit comments