fix(plugins): enforce high-priority override precedence

Make before_agent_start override merging preserve the first defined
model/provider override so higher-priority hooks cannot be overwritten by
lower-priority handlers, and align the corresponding test title and
expectation with the intended precedence behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Nate Fikru
2026-02-16 16:16:37 -05:00
committed by Peter Steinberger
parent 2456b17587
commit 6d31d1ecc6
2 changed files with 5 additions and 11 deletions

View File

@@ -200,8 +200,9 @@ export function createHookRunner(registry: PluginRegistry, options: HookRunnerOp
acc?.prependContext && next.prependContext
? `${acc.prependContext}\n\n${next.prependContext}`
: (next.prependContext ?? acc?.prependContext),
modelOverride: next.modelOverride ?? acc?.modelOverride,
providerOverride: next.providerOverride ?? acc?.providerOverride,
// Keep the first defined override so higher-priority hooks win.
modelOverride: acc?.modelOverride ?? next.modelOverride,
providerOverride: acc?.providerOverride ?? next.providerOverride,
}),
);
}