feat: 全面清理类型错误 — tsc 零错误,any 标注全部消除

- 修复所有 33 个原始 tsc 编译错误(ink JSX 声明、类型不匹配、null check 等)
- 清理 176 处 `: any` 类型标注,全部替换为具体推断类型
- 修复清理过程中引入的 41 个回归错误
- 最终结果:0 tsc 错误,0 个非注释 any 标注
- Build 验证通过(25.75MB bundle)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
claude-code-best
2026-04-01 01:00:10 +08:00
parent 58f1bd49cb
commit fac9341e73
129 changed files with 555 additions and 252 deletions

View File

@@ -1,10 +1,66 @@
// Auto-generated stub — replace with real implementation
export {};
export const getStats: any = (() => {}) as any;
export const isContextCollapseEnabled: any = (() => {}) as any;
export const subscribe: any = (() => {}) as any;
export const applyCollapsesIfNeeded: any = (() => {}) as any;
export const isWithheldPromptTooLong: any = (() => {}) as any;
export const recoverFromOverflow: any = (() => {}) as any;
export const resetContextCollapse: any = (() => {}) as any;
export const initContextCollapse: any = (() => {}) as any;
import type { Message } from '../../types/message.js'
import type { ToolUseContext } from '../../Tool.js'
import type { QuerySource } from '../../constants/querySource.js'
export interface ContextCollapseHealth {
totalSpawns: number
totalErrors: number
lastError: string | null
emptySpawnWarningEmitted: boolean
totalEmptySpawns: number
}
export interface ContextCollapseStats {
collapsedSpans: number
collapsedMessages: number
stagedSpans: number
health: ContextCollapseHealth
}
export interface CollapseResult {
messages: Message[]
}
export interface DrainResult {
committed: number
messages: Message[]
}
export const getStats: () => ContextCollapseStats = (() => ({
collapsedSpans: 0,
collapsedMessages: 0,
stagedSpans: 0,
health: {
totalSpawns: 0,
totalErrors: 0,
lastError: null,
emptySpawnWarningEmitted: false,
totalEmptySpawns: 0,
},
}));
export const isContextCollapseEnabled: () => boolean = (() => false);
export const subscribe: (callback: () => void) => () => void = ((_callback: () => void) => () => {});
export const applyCollapsesIfNeeded: (
messages: Message[],
toolUseContext: ToolUseContext,
querySource: QuerySource,
) => Promise<CollapseResult> = (async (messages: Message[]) => ({ messages }));
export const isWithheldPromptTooLong: (
message: Message,
isPromptTooLongMessage: (msg: Message) => boolean,
querySource: QuerySource,
) => boolean = (() => false);
export const recoverFromOverflow: (
messages: Message[],
querySource: QuerySource,
) => DrainResult = ((messages: Message[]) => ({ committed: 0, messages }));
export const resetContextCollapse: () => void = (() => {});
export const initContextCollapse: () => void = (() => {});

View File

@@ -1,3 +1,4 @@
// Auto-generated stub — replace with real implementation
export {};
export const projectView: any = (() => {}) as any;
import type { Message } from 'src/types/message.js';
export const projectView: (messages: Message[]) => Message[] = (messages) => messages;

View File

@@ -1,3 +1,3 @@
// Auto-generated stub — replace with real implementation
export {};
export const restoreFromEntries: any = (() => {}) as any;
export const restoreFromEntries: (...args: unknown[]) => void = () => {};