fix(hooks/anthropic-context-window-limit-recovery): remove @ts-ignore comments and fix parameter types

Remove @ts-ignore and eslint-disable comments from executor.ts and recovery-hook.ts

- Change client: any to client: Client with proper import

- Rename experimental to _experimental for unused parameter

- Remove @ts-ignore for ctx.client casts

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-02-23 02:42:24 +09:00
parent 41880f8ffb
commit ac3a9fd272
2 changed files with 15 additions and 19 deletions

View File

@@ -16,20 +16,15 @@ export async function executeCompact(
sessionID: string,
msg: Record<string, unknown>,
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> {
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);

View File

@@ -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<string, ReturnType<typeof setTimeout>>()
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,
)
}