| 833 | } |
| 834 | |
| 835 | function mergeCompress( |
| 836 | base: PluginConfig["compress"], |
| 837 | override?: CompressOverride, |
| 838 | ): PluginConfig["compress"] { |
| 839 | if (!override) { |
| 840 | return base |
| 841 | } |
| 842 | |
| 843 | return { |
| 844 | mode: override.mode ?? base.mode, |
| 845 | permission: override.permission ?? base.permission, |
| 846 | showCompression: override.showCompression ?? base.showCompression, |
| 847 | summaryBuffer: override.summaryBuffer ?? base.summaryBuffer, |
| 848 | maxContextLimit: override.maxContextLimit ?? base.maxContextLimit, |
| 849 | minContextLimit: override.minContextLimit ?? base.minContextLimit, |
| 850 | modelMaxLimits: override.modelMaxLimits ?? base.modelMaxLimits, |
| 851 | modelMinLimits: override.modelMinLimits ?? base.modelMinLimits, |
| 852 | nudgeFrequency: override.nudgeFrequency ?? base.nudgeFrequency, |
| 853 | iterationNudgeThreshold: override.iterationNudgeThreshold ?? base.iterationNudgeThreshold, |
| 854 | nudgeForce: override.nudgeForce ?? base.nudgeForce, |
| 855 | protectedTools: [...new Set([...base.protectedTools, ...(override.protectedTools ?? [])])], |
| 856 | protectTags: override.protectTags ?? base.protectTags, |
| 857 | protectUserMessages: override.protectUserMessages ?? base.protectUserMessages, |
| 858 | } |
| 859 | } |
| 860 | |
| 861 | function mergeCommands( |
| 862 | base: PluginConfig["commands"], |