Skip to content

Commit 298d3eb

Browse files
committed
refactor: rename nudgeGap to nudgeFrequency and fix config inconsistencies
1 parent 12dc48c commit 298d3eb

File tree

5 files changed

+16
-24
lines changed

5 files changed

+16
-24
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ DCP uses its own config file:
120120
> // "openai/gpt-5": 120000,
121121
> // "anthropic/claude-3-7-sonnet": "80%"
122122
> // },
123+
> // How often the context-limit nudge fires (1 = every fetch, 5 = every 5th)
124+
> "nudgeFrequency": 5,
123125
> // Additional tools to protect from pruning
124126
> "protectedTools": [],
125127
> },

dcp.schema.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,9 @@
112112
"description": "General tool settings",
113113
"additionalProperties": false,
114114
"properties": {
115-
"nudgeGap": {
115+
"nudgeFrequency": {
116116
"type": "number",
117-
"default": 1,
117+
"default": 5,
118118
"minimum": 1,
119119
"description": "How often the context-limit nudge fires when above contextLimit (1 = every fetch, 5 = every 5th fetch)"
120120
},

lib/config.ts

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export interface CompressTool {
1717
}
1818

1919
export interface ToolSettings {
20-
nudgeGap: number
20+
nudgeFrequency: number
2121
protectedTools: string[]
2222
contextLimit: number | `${number}%`
2323
modelLimits?: Record<string, number | `${number}%`>
@@ -101,7 +101,7 @@ export const VALID_CONFIG_KEYS = new Set([
101101
"manualMode.automaticStrategies",
102102
"tools",
103103
"tools.settings",
104-
"tools.settings.nudgeGap",
104+
"tools.settings.nudgeFrequency",
105105
"tools.settings.protectedTools",
106106
"tools.settings.contextLimit",
107107
"tools.settings.modelLimits",
@@ -289,26 +289,16 @@ export function validateConfigTypes(config: Record<string, any>): ValidationErro
289289
if (tools) {
290290
if (tools.settings) {
291291
if (
292-
tools.settings.nudgeGap !== undefined &&
293-
typeof tools.settings.nudgeGap !== "number"
292+
tools.settings.nudgeFrequency !== undefined &&
293+
typeof tools.settings.nudgeFrequency !== "number"
294294
) {
295295
errors.push({
296-
key: "tools.settings.nudgeGap",
296+
key: "tools.settings.nudgeFrequency",
297297
expected: "number",
298-
actual: typeof tools.settings.nudgeGap,
298+
actual: typeof tools.settings.nudgeFrequency,
299299
})
300300
}
301301

302-
if (
303-
typeof tools.settings.nudgeFrequency === "number" &&
304-
tools.settings.nudgeFrequency < 1
305-
) {
306-
errors.push({
307-
key: "tools.settings.nudgeFrequency",
308-
expected: "positive number (>= 1)",
309-
actual: `${tools.settings.nudgeFrequency} (will be clamped to 1)`,
310-
})
311-
}
312302
if (
313303
typeof tools.settings.nudgeFrequency === "number" &&
314304
tools.settings.nudgeFrequency < 1
@@ -552,7 +542,7 @@ const defaultConfig: PluginConfig = {
552542
protectedFilePatterns: [],
553543
tools: {
554544
settings: {
555-
nudgeGap: 5,
545+
nudgeFrequency: 5,
556546
protectedTools: [...DEFAULT_PROTECTED_TOOLS],
557547
contextLimit: 100000,
558548
},
@@ -716,7 +706,7 @@ function mergeTools(base: PluginConfig["tools"], override?: ToolOverride): Plugi
716706

717707
return {
718708
settings: {
719-
nudgeGap: override.settings?.nudgeGap ?? base.settings.nudgeGap,
709+
nudgeFrequency: override.settings?.nudgeFrequency ?? base.settings.nudgeFrequency,
720710
protectedTools: [
721711
...new Set([
722712
...base.settings.protectedTools,

lib/messages/inject/inject.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
addAnchor,
88
applyAnchoredNudge,
99
findLastNonIgnoredMessage,
10-
getNudgeGap,
10+
getNudgeFrequency,
1111
getModelInfo,
1212
isContextOverLimit,
1313
messageHasCompress,
@@ -67,7 +67,7 @@ export const insertCompressToolContext = (
6767
if (isContextOverLimit(config, state, providerId, modelId, messages)) {
6868
const lastNonIgnoredMessage = findLastNonIgnoredMessage(messages)
6969
if (lastNonIgnoredMessage) {
70-
const interval = getNudgeGap(config)
70+
const interval = getNudgeFrequency(config)
7171
const added = addAnchor(
7272
state.contextLimitAnchors,
7373
lastNonIgnoredMessage.message.info.id,

lib/messages/inject/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ export interface LastNonIgnoredMessage {
1717
index: number
1818
}
1919

20-
export function getNudgeGap(config: PluginConfig): number {
21-
return Math.max(1, Math.floor(config.tools.settings.nudgeGap || 1))
20+
export function getNudgeFrequency(config: PluginConfig): number {
21+
return Math.max(1, Math.floor(config.tools.settings.nudgeFrequency || 1))
2222
}
2323

2424
export function persistAnchors(state: SessionState, logger: Logger): void {

0 commit comments

Comments
 (0)