fix: invoke claude-code-hooks PreCompact in session compacting handler

The experimental.session.compacting handler was not delegating to
claudeCodeHooks, making PreCompact hooks from .claude/settings.json
dead code. Also fixed premature early-return when compactionContextInjector
was null which would skip any subsequent hooks.
This commit is contained in:
YeonGyu-Kim
2026-02-17 02:14:01 +09:00
parent d9f21da026
commit 5c13a63758
2 changed files with 122 additions and 4 deletions
+6 -3
View File
@@ -80,10 +80,13 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
output: { context: string[] },
): Promise<void> => {
await hooks.compactionTodoPreserver?.capture(_input.sessionID)
if (!hooks.compactionContextInjector) {
return
await hooks.claudeCodeHooks?.["experimental.session.compacting"]?.(
_input,
output,
)
if (hooks.compactionContextInjector) {
output.context.push(hooks.compactionContextInjector(_input.sessionID))
}
output.context.push(hooks.compactionContextInjector(_input.sessionID))
},
}
}