feat(ultrawork): implement per-message model override with deferred DB retry strategy

- Add per-message ultrawork mode detection via keyword matching
- Implement deferred DB override strategy using microtask retry loop
- Fall back to setTimeout after 10 microtask retries for robustness
- Update agent configuration schema with ultrawork model/variant fields
- Integrate with chat.message hook to apply overrides on detection
- Add comprehensive tests for all override scenarios
- Generated schema includes ultrawork configuration

🤖 Generated with assistance of OhMyOpenCode (https://github.com/code-yeongyu/oh-my-opencode)
This commit is contained in:
YeonGyu-Kim
2026-02-19 15:20:53 +09:00
parent 9a46843f4d
commit 0af912a87d
9 changed files with 1112 additions and 22 deletions
+3
View File
@@ -10,6 +10,7 @@ import { hasConnectedProvidersCache } from "../shared"
import {
setSessionAgent,
} from "../features/claude-code-session-state"
import { applyUltraworkModelOverrideOnMessage } from "./ultrawork-model-override"
import type { CreatedHooks } from "../create-hooks"
@@ -138,5 +139,7 @@ export function createChatMessageHandler(args: {
hooks.ralphLoop.cancelLoop(input.sessionID)
}
}
applyUltraworkModelOverrideOnMessage(pluginConfig, input.agent, output, ctx.client.tui)
}
}