fix: integrate todo-codebase-compaction hook properly

- Import PreemptiveCompactionOptions type
- Export hook from hooks/index.ts
- Add todo-codebase-compaction to HookNameSchema
- Use todoCodebaseCompactionInjector when hook is enabled
This commit is contained in:
Oussama Douhou
2026-01-08 20:42:56 +01:00
parent 9bff359782
commit d5f75138dd
5 changed files with 9 additions and 3 deletions

View File

@@ -77,7 +77,8 @@
"edit-error-recovery", "edit-error-recovery",
"prometheus-md-only", "prometheus-md-only",
"start-work", "start-work",
"sisyphus-orchestrator" "sisyphus-orchestrator",
"todo-codebase-compaction"
] ]
} }
}, },

View File

@@ -82,6 +82,7 @@ export const HookNameSchema = z.enum([
"prometheus-md-only", "prometheus-md-only",
"start-work", "start-work",
"sisyphus-orchestrator", "sisyphus-orchestrator",
"todo-codebase-compaction",
]) ])
export const BuiltinCommandNameSchema = z.enum([ export const BuiltinCommandNameSchema = z.enum([

View File

@@ -29,3 +29,4 @@ export { createPrometheusMdOnlyHook } from "./prometheus-md-only";
export { createTaskResumeInfoHook } from "./task-resume-info"; export { createTaskResumeInfoHook } from "./task-resume-info";
export { createStartWorkHook } from "./start-work"; export { createStartWorkHook } from "./start-work";
export { createSisyphusOrchestratorHook } from "./sisyphus-orchestrator"; export { createSisyphusOrchestratorHook } from "./sisyphus-orchestrator";
export { createTodoCodebaseCompactionInjector, createCustomCompactionHook } from "./todo-codebase-compaction";

View File

@@ -1,4 +1,4 @@
import type { SummarizeContext } from "../preemptive-compaction" import type { SummarizeContext, PreemptiveCompactionOptions } from "../preemptive-compaction"
import { injectHookMessage } from "../../features/hook-message-injector" import { injectHookMessage } from "../../features/hook-message-injector"
import { log } from "../../shared/logger" import { log } from "../../shared/logger"
import { createPreemptiveCompactionHook } from "../preemptive-compaction" import { createPreemptiveCompactionHook } from "../preemptive-compaction"

View File

@@ -146,10 +146,13 @@ const OhMyOpenCodePlugin: Plugin = async (ctx) => {
const compactionContextInjector = isHookEnabled("compaction-context-injector") const compactionContextInjector = isHookEnabled("compaction-context-injector")
? createCompactionContextInjector() ? createCompactionContextInjector()
: undefined; : undefined;
const todoCodebaseCompactionInjector = isHookEnabled("todo-codebase-compaction")
? createTodoCodebaseCompactionInjector()
: undefined;
const preemptiveCompaction = isHookEnabled("preemptive-compaction") const preemptiveCompaction = isHookEnabled("preemptive-compaction")
? createPreemptiveCompactionHook(ctx, { ? createPreemptiveCompactionHook(ctx, {
experimental: pluginConfig.experimental, experimental: pluginConfig.experimental,
onBeforeSummarize: compactionContextInjector, onBeforeSummarize: todoCodebaseCompactionInjector ?? compactionContextInjector,
getModelLimit: (providerID, modelID) => getModelLimit: (providerID, modelID) =>
getModelLimit(modelCacheState, providerID, modelID), getModelLimit(modelCacheState, providerID, modelID),
}) })