diff --git a/src/hooks/anthropic-context-window-limit-recovery/executor.ts b/src/hooks/anthropic-context-window-limit-recovery/executor.ts index 0806eedc2..02a2a06e4 100644 --- a/src/hooks/anthropic-context-window-limit-recovery/executor.ts +++ b/src/hooks/anthropic-context-window-limit-recovery/executor.ts @@ -16,20 +16,15 @@ export async function executeCompact( sessionID: string, msg: Record, autoCompactState: AutoCompactState, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - // @ts-ignore - pluginConfig: OhMyOpenCodeConfig, - // @ts-ignore - client: any, - // @ts-ignore + client: Client, directory: string, - // @ts-ignore - experimental?: ExperimentalConfig + pluginConfig: OhMyOpenCodeConfig, + _experimental?: ExperimentalConfig ): Promise { - void experimental + void _experimental if (autoCompactState.compactionInProgress.has(sessionID)) { - await (client as Client).tui + await client.tui .showToast({ body: { title: "Compact In Progress", @@ -61,7 +56,7 @@ export async function executeCompact( const result = await runAggressiveTruncationStrategy({ sessionID, autoCompactState, - client: client as Client, + client: client, directory, truncateAttempt: truncateState.truncateAttempt, currentTokens: errorData.currentTokens, @@ -76,13 +71,11 @@ export async function executeCompact( sessionID, msg, autoCompactState, - client: client as Client, + client: client, directory, - // @ts-ignore pluginConfig, errorType: errorData?.errorType, messageIndex: errorData?.messageIndex, - // @ts-ignore }) } finally { autoCompactState.compactionInProgress.delete(sessionID); diff --git a/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.ts b/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.ts index 381b88835..63a0f6fba 100644 --- a/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.ts +++ b/src/hooks/anthropic-context-window-limit-recovery/recovery-hook.ts @@ -1,6 +1,7 @@ import type { PluginInput } from "@opencode-ai/plugin" +import type { Client } from "./client" import type { AutoCompactState, ParsedTokenLimitError } from "./types" -import type { ExperimentalConfig } from "../../config" +import type { ExperimentalConfig, OhMyOpenCodeConfig } from "../../config" import { parseAnthropicTokenLimitError } from "./parser" import { executeCompact, getLastAssistant } from "./executor" import { attemptDeduplicationRecovery } from "./deduplication-recovery" @@ -8,6 +9,7 @@ import { log } from "../../shared/logger" export interface AnthropicContextWindowLimitRecoveryOptions { experimental?: ExperimentalConfig + pluginConfig: OhMyOpenCodeConfig } function createRecoveryState(): AutoCompactState { @@ -28,6 +30,7 @@ export function createAnthropicContextWindowLimitRecoveryHook( ) { const autoCompactState = createRecoveryState() const experimental = options?.experimental + const pluginConfig = options?.pluginConfig! const pendingCompactionTimeoutBySession = new Map>() const eventHandler = async ({ event }: { event: { type: string; properties?: unknown } }) => { @@ -89,9 +92,9 @@ export function createAnthropicContextWindowLimitRecoveryHook( sessionID, { providerID, modelID }, autoCompactState, - // @ts-ignore - ctx.client, + ctx.client as Client, ctx.directory, + pluginConfig, experimental, ) }, 300) @@ -157,9 +160,9 @@ export function createAnthropicContextWindowLimitRecoveryHook( sessionID, { providerID, modelID }, autoCompactState, - // @ts-ignore - ctx.client, + ctx.client as Client, ctx.directory, + pluginConfig, experimental, ) }