mirror of
https://github.com/cline/cline.git
synced 2025-06-03 03:59:07 +00:00

* migrate refreshClineRules * changeset --------- Co-authored-by: Elephant Lumps <celestial_vault@Elephants-MacBook-Pro.local>
33 lines
1.5 KiB
TypeScript
33 lines
1.5 KiB
TypeScript
import { EmptyRequest } from "@shared/proto/common"
|
|
import { RefreshedRules } from "@shared/proto/file"
|
|
import type { Controller } from "../index"
|
|
import { refreshClineRulesToggles } from "@core/context/instructions/user-instructions/cline-rules"
|
|
import { refreshExternalRulesToggles } from "@core/context/instructions/user-instructions/external-rules"
|
|
import { refreshWorkflowToggles } from "@core/context/instructions/user-instructions/workflows"
|
|
import { cwd } from "@core/task"
|
|
|
|
/**
|
|
* Refreshes all rule toggles (Cline, External, and Workflows)
|
|
* @param controller The controller instance
|
|
* @param _request The empty request
|
|
* @returns RefreshedRules containing updated toggles for all rule types
|
|
*/
|
|
export async function refreshRules(controller: Controller, _request: EmptyRequest): Promise<RefreshedRules> {
|
|
try {
|
|
const { globalToggles, localToggles } = await refreshClineRulesToggles(controller.context, cwd)
|
|
const { cursorLocalToggles, windsurfLocalToggles } = await refreshExternalRulesToggles(controller.context, cwd)
|
|
const workflowToggles = await refreshWorkflowToggles(controller.context, cwd)
|
|
|
|
return {
|
|
globalClineRulesToggles: { toggles: globalToggles },
|
|
localClineRulesToggles: { toggles: localToggles },
|
|
localCursorRulesToggles: { toggles: cursorLocalToggles },
|
|
localWindsurfRulesToggles: { toggles: windsurfLocalToggles },
|
|
workflowToggles: { toggles: workflowToggles },
|
|
}
|
|
} catch (error) {
|
|
console.error("Failed to refresh rules:", error)
|
|
throw error
|
|
}
|
|
}
|