From 5f58374ea10a44a4b58940c77734b61d8beb905d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 23 Sep 2025 23:39:57 +0000 Subject: [PATCH 1/3] Initial plan From 0286c46f1700c3fc6c54da1a60a4c29913474196 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 23 Sep 2025 23:43:32 +0000 Subject: [PATCH 2/3] Optimize getEffectivelyEnabledItems per Copilot review - use single loops instead of chained operations Co-authored-by: AstroSteveo <34114851+AstroSteveo@users.noreply.github.com> --- config-manager.js | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/config-manager.js b/config-manager.js index 8e8b258..2327978 100644 --- a/config-manager.js +++ b/config-manager.js @@ -287,23 +287,28 @@ function computeEffectiveItemStates(config) { function getEffectivelyEnabledItems(config) { const effectiveStates = computeEffectiveItemStates(config); - return { - prompts: new Set( - Object.entries(effectiveStates.prompts) - .filter(([, state]) => state.enabled) - .map(([itemName]) => itemName) - ), - instructions: new Set( - Object.entries(effectiveStates.instructions) - .filter(([, state]) => state.enabled) - .map(([itemName]) => itemName) - ), - chatmodes: new Set( - Object.entries(effectiveStates.chatmodes) - .filter(([, state]) => state.enabled) - .map(([itemName]) => itemName) - ) + const result = { + prompts: new Set(), + instructions: new Set(), + chatmodes: new Set() }; + + for (const itemName in effectiveStates.prompts) { + if (effectiveStates.prompts[itemName].enabled) { + result.prompts.add(itemName); + } + } + for (const itemName in effectiveStates.instructions) { + if (effectiveStates.instructions[itemName].enabled) { + result.instructions.add(itemName); + } + } + for (const itemName in effectiveStates.chatmodes) { + if (effectiveStates.chatmodes[itemName].enabled) { + result.chatmodes.add(itemName); + } + } + return result; } module.exports = { From c19eeeb0b01ee8c391db465bba21689c1a95c0f1 Mon Sep 17 00:00:00 2001 From: Steven Mosley <34114851+AstroSteveo@users.noreply.github.com> Date: Tue, 23 Sep 2025 18:48:38 -0500 Subject: [PATCH 3/3] Update config-manager.js Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- config-manager.js | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/config-manager.js b/config-manager.js index 2327978..d1b6a10 100644 --- a/config-manager.js +++ b/config-manager.js @@ -293,19 +293,11 @@ function getEffectivelyEnabledItems(config) { chatmodes: new Set() }; - for (const itemName in effectiveStates.prompts) { - if (effectiveStates.prompts[itemName].enabled) { - result.prompts.add(itemName); - } - } - for (const itemName in effectiveStates.instructions) { - if (effectiveStates.instructions[itemName].enabled) { - result.instructions.add(itemName); - } - } - for (const itemName in effectiveStates.chatmodes) { - if (effectiveStates.chatmodes[itemName].enabled) { - result.chatmodes.add(itemName); + for (const section of ["prompts", "instructions", "chatmodes"]) { + for (const itemName in effectiveStates[section]) { + if (effectiveStates[section][itemName].enabled) { + result[section].add(itemName); + } } } return result;