mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-06 08:18:39 +00:00
52 lines
1.3 KiB
TypeScript
52 lines
1.3 KiB
TypeScript
export const EXPERIMENT_IDS = {
|
|
DIFF_STRATEGY: "experimentalDiffStrategy",
|
|
SEARCH_AND_REPLACE: "search_and_replace",
|
|
INSERT_BLOCK: "insert_content",
|
|
POWER_STEERING: "powerSteering",
|
|
MULTI_SEARCH_AND_REPLACE: "multi_search_and_replace",
|
|
} as const
|
|
|
|
export type ExperimentKey = keyof typeof EXPERIMENT_IDS
|
|
export type ExperimentId = valueof<typeof EXPERIMENT_IDS>
|
|
|
|
export interface ExperimentConfig {
|
|
enabled: boolean
|
|
}
|
|
|
|
type valueof<X> = X[keyof X]
|
|
|
|
export const experimentConfigsMap: Record<ExperimentKey, ExperimentConfig> = {
|
|
DIFF_STRATEGY: {
|
|
enabled: false,
|
|
},
|
|
SEARCH_AND_REPLACE: {
|
|
enabled: false,
|
|
},
|
|
INSERT_BLOCK: {
|
|
enabled: false,
|
|
},
|
|
POWER_STEERING: {
|
|
enabled: false,
|
|
},
|
|
MULTI_SEARCH_AND_REPLACE: {
|
|
enabled: false,
|
|
},
|
|
}
|
|
|
|
export const experimentDefault = Object.fromEntries(
|
|
Object.entries(experimentConfigsMap).map(([_, config]) => [
|
|
EXPERIMENT_IDS[_ as keyof typeof EXPERIMENT_IDS] as ExperimentId,
|
|
config.enabled,
|
|
]),
|
|
) as Record<ExperimentId, boolean>
|
|
|
|
export const experiments = {
|
|
get: (id: ExperimentKey): ExperimentConfig | undefined => {
|
|
return experimentConfigsMap[id]
|
|
},
|
|
isEnabled: (experimentsConfig: Record<ExperimentId, boolean>, id: ExperimentId): boolean => {
|
|
return experimentsConfig[id] ?? experimentDefault[id]
|
|
},
|
|
} as const
|
|
|
|
// No longer needed as we use translation keys directly in the UI
|