feat(hooks): add ultrawork-model-override hook for per-agent model swap

This commit is contained in:
YeonGyu-Kim
2026-02-18 17:33:44 +09:00
parent aad938a21f
commit e863fe2013
9 changed files with 317 additions and 1 deletions

View File

@@ -25,6 +25,7 @@ import {
createPreemptiveCompactionHook,
} from "../../hooks"
import { createAnthropicEffortHook } from "../../hooks/anthropic-effort"
import { createUltraworkModelOverrideHook } from "../../hooks/ultrawork-model-override"
import {
detectExternalNotificationPlugin,
getNotificationConflictWarning,
@@ -55,6 +56,7 @@ export type SessionHooks = {
questionLabelTruncator: ReturnType<typeof createQuestionLabelTruncatorHook>
taskResumeInfo: ReturnType<typeof createTaskResumeInfoHook>
anthropicEffort: ReturnType<typeof createAnthropicEffortHook> | null
ultraworkModelOverride: ReturnType<typeof createUltraworkModelOverrideHook> | null
}
export function createSessionHooks(args: {
@@ -169,6 +171,10 @@ export function createSessionHooks(args: {
? safeHook("anthropic-effort", () => createAnthropicEffortHook())
: null
const ultraworkModelOverride = isHookEnabled("ultrawork-model-override")
? safeHook("ultrawork-model-override", () => createUltraworkModelOverrideHook({ agents: pluginConfig.agents }))
: null
return {
contextWindowMonitor,
preemptiveCompaction,
@@ -191,5 +197,6 @@ export function createSessionHooks(args: {
questionLabelTruncator,
taskResumeInfo,
anthropicEffort,
ultraworkModelOverride,
}
}