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:
@@ -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"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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([
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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),
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user