style: 完成所有文件的lint

This commit is contained in:
claude-code-best
2026-05-01 21:39:30 +08:00
parent d136872cc9
commit 6182015005
1333 changed files with 68255 additions and 77882 deletions

View File

@@ -1,23 +1,16 @@
import * as React from 'react'
import { useState } from 'react'
import type {
CommandResultDisplay,
LocalJSXCommandContext,
} from '../../commands.js'
import { Dialog } from '@anthropic/ink'
import { FastIcon, getFastIconString } from '../../components/FastIcon.js'
import { Box, Link, Text } from '@anthropic/ink'
import { useKeybindings } from '../../keybindings/useKeybinding.js'
import * as React from 'react';
import { useState } from 'react';
import type { CommandResultDisplay, LocalJSXCommandContext } from '../../commands.js';
import { Dialog } from '@anthropic/ink';
import { FastIcon, getFastIconString } from '../../components/FastIcon.js';
import { Box, Link, Text } from '@anthropic/ink';
import { useKeybindings } from '../../keybindings/useKeybinding.js';
import {
type AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
logEvent,
} from '../../services/analytics/index.js'
import {
type AppState,
useAppState,
useSetAppState,
} from '../../state/AppState.js'
import type { LocalJSXCommandOnDone } from '../../types/command.js'
} from '../../services/analytics/index.js';
import { type AppState, useAppState, useSetAppState } from '../../state/AppState.js';
import type { LocalJSXCommandOnDone } from '../../types/command.js';
import {
clearFastModeCooldown,
FAST_MODE_MODEL_DISPLAY,
@@ -27,33 +20,28 @@ import {
isFastModeEnabled,
isFastModeSupportedByModel,
prefetchFastModeStatus,
} from '../../utils/fastMode.js'
import { formatDuration } from '../../utils/format.js'
import { formatModelPricing, getOpus46CostTier } from '../../utils/modelCost.js'
import { updateSettingsForSource } from '../../utils/settings/settings.js'
} from '../../utils/fastMode.js';
import { formatDuration } from '../../utils/format.js';
import { formatModelPricing, getOpus46CostTier } from '../../utils/modelCost.js';
import { updateSettingsForSource } from '../../utils/settings/settings.js';
function applyFastMode(
enable: boolean,
setAppState: (f: (prev: AppState) => AppState) => void,
): void {
clearFastModeCooldown()
function applyFastMode(enable: boolean, setAppState: (f: (prev: AppState) => AppState) => void): void {
clearFastModeCooldown();
updateSettingsForSource('userSettings', {
fastMode: enable ? true : undefined,
})
});
if (enable) {
setAppState(prev => {
// Only switch model if current model doesn't support fast mode
const needsModelSwitch = !isFastModeSupportedByModel(prev.mainLoopModel)
const needsModelSwitch = !isFastModeSupportedByModel(prev.mainLoopModel);
return {
...prev,
...(needsModelSwitch
? { mainLoopModel: getFastModeModel(), mainLoopModelForSession: null }
: {}),
...(needsModelSwitch ? { mainLoopModel: getFastModeModel(), mainLoopModelForSession: null } : {}),
fastMode: true,
}
})
};
});
} else {
setAppState(prev => ({ ...prev, fastMode: false }))
setAppState(prev => ({ ...prev, fastMode: false }));
}
}
@@ -61,38 +49,32 @@ export function FastModePicker({
onDone,
unavailableReason,
}: {
onDone: (
result?: string,
options?: { display?: CommandResultDisplay },
) => void
unavailableReason: string | null
onDone: (result?: string, options?: { display?: CommandResultDisplay }) => void;
unavailableReason: string | null;
}): React.ReactNode {
const model = useAppState(s => s.mainLoopModel)
const initialFastMode = useAppState(s => s.fastMode)
const setAppState = useSetAppState()
const [enableFastMode, setEnableFastMode] = useState(initialFastMode ?? false)
const runtimeState = getFastModeRuntimeState()
const isCooldown = runtimeState.status === 'cooldown'
const isUnavailable = unavailableReason !== null
const pricing = formatModelPricing(getOpus46CostTier(true))
const model = useAppState(s => s.mainLoopModel);
const initialFastMode = useAppState(s => s.fastMode);
const setAppState = useSetAppState();
const [enableFastMode, setEnableFastMode] = useState(initialFastMode ?? false);
const runtimeState = getFastModeRuntimeState();
const isCooldown = runtimeState.status === 'cooldown';
const isUnavailable = unavailableReason !== null;
const pricing = formatModelPricing(getOpus46CostTier(true));
function handleConfirm(): void {
if (isUnavailable) return
applyFastMode(enableFastMode, setAppState)
if (isUnavailable) return;
applyFastMode(enableFastMode, setAppState);
logEvent('tengu_fast_mode_toggled', {
enabled: enableFastMode,
source:
'picker' as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
})
source: 'picker' as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
});
if (enableFastMode) {
const fastIcon = getFastIconString(enableFastMode)
const modelUpdated = !isFastModeSupportedByModel(model)
? ` · model set to ${FAST_MODE_MODEL_DISPLAY}`
: ''
onDone(`${fastIcon} Fast mode ON${modelUpdated} · ${pricing}`)
const fastIcon = getFastIconString(enableFastMode);
const modelUpdated = !isFastModeSupportedByModel(model) ? ` · model set to ${FAST_MODE_MODEL_DISPLAY}` : '';
onDone(`${fastIcon} Fast mode ON${modelUpdated} · ${pricing}`);
} else {
setAppState(prev => ({ ...prev, fastMode: false }))
onDone(`Fast mode OFF`)
setAppState(prev => ({ ...prev, fastMode: false }));
onDone(`Fast mode OFF`);
}
}
@@ -100,20 +82,18 @@ export function FastModePicker({
if (isUnavailable) {
// Ensure fast mode is off if the org has disabled it
if (initialFastMode) {
applyFastMode(false, setAppState)
applyFastMode(false, setAppState);
}
onDone('Fast mode OFF', { display: 'system' })
return
onDone('Fast mode OFF', { display: 'system' });
return;
}
const message = initialFastMode
? `${getFastIconString()} Kept Fast mode ON`
: `Kept Fast mode OFF`
onDone(message, { display: 'system' })
const message = initialFastMode ? `${getFastIconString()} Kept Fast mode ON` : `Kept Fast mode OFF`;
onDone(message, { display: 'system' });
}
function handleToggle(): void {
if (isUnavailable) return
setEnableFastMode(prev => !prev)
if (isUnavailable) return;
setEnableFastMode(prev => !prev);
}
useKeybindings(
@@ -126,13 +106,13 @@ export function FastModePicker({
'confirm:toggle': handleToggle,
},
{ context: 'Confirmation' },
)
);
const title = (
<Text>
<FastIcon cooldown={isCooldown} /> Fast mode (research preview)
</Text>
)
);
return (
<Dialog
@@ -159,10 +139,7 @@ export function FastModePicker({
<Box flexDirection="column" gap={0} marginLeft={2}>
<Box flexDirection="row" gap={2}>
<Text bold>Fast mode</Text>
<Text
color={enableFastMode ? 'fastMode' : undefined}
bold={enableFastMode}
>
<Text color={enableFastMode ? 'fastMode' : undefined} bold={enableFastMode}>
{enableFastMode ? 'ON ' : 'OFF'}
</Text>
<Text dimColor>{pricing}</Text>
@@ -186,12 +163,10 @@ export function FastModePicker({
)}
<Text dimColor>
Learn more:{' '}
<Link url="https://code.claude.com/docs/en/fast-mode">
https://code.claude.com/docs/en/fast-mode
</Link>
<Link url="https://code.claude.com/docs/en/fast-mode">https://code.claude.com/docs/en/fast-mode</Link>
</Text>
</Dialog>
)
);
}
async function handleFastModeShortcut(
@@ -199,28 +174,25 @@ async function handleFastModeShortcut(
getAppState: () => AppState,
setAppState: (f: (prev: AppState) => AppState) => void,
): Promise<string> {
const unavailableReason = getFastModeUnavailableReason()
const unavailableReason = getFastModeUnavailableReason();
if (unavailableReason) {
return `Fast mode unavailable: ${unavailableReason}`
return `Fast mode unavailable: ${unavailableReason}`;
}
const { mainLoopModel } = getAppState()
applyFastMode(enable, setAppState)
const { mainLoopModel } = getAppState();
applyFastMode(enable, setAppState);
logEvent('tengu_fast_mode_toggled', {
enabled: enable,
source:
'shortcut' as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
})
source: 'shortcut' as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
});
if (enable) {
const fastIcon = getFastIconString(true)
const modelUpdated = !isFastModeSupportedByModel(mainLoopModel)
? ` · model set to ${FAST_MODE_MODEL_DISPLAY}`
: ''
const pricing = formatModelPricing(getOpus46CostTier(true))
return `${fastIcon} Fast mode ON${modelUpdated} · ${pricing}`
const fastIcon = getFastIconString(true);
const modelUpdated = !isFastModeSupportedByModel(mainLoopModel) ? ` · model set to ${FAST_MODE_MODEL_DISPLAY}` : '';
const pricing = formatModelPricing(getOpus46CostTier(true));
return `${fastIcon} Fast mode ON${modelUpdated} · ${pricing}`;
} else {
return `Fast mode OFF`
return `Fast mode OFF`;
}
}
@@ -230,31 +202,24 @@ export async function call(
args?: string,
): Promise<React.ReactNode | null> {
if (!isFastModeEnabled()) {
return null
return null;
}
// Fetch org fast mode status before showing the picker. We must know
// whether the org has disabled fast mode before allowing any toggle.
// If a startup prefetch is already in flight, this awaits it.
await prefetchFastModeStatus()
await prefetchFastModeStatus();
const arg = args?.trim().toLowerCase()
const arg = args?.trim().toLowerCase();
if (arg === 'on' || arg === 'off') {
const result = await handleFastModeShortcut(
arg === 'on',
context.getAppState,
context.setAppState,
)
onDone(result)
return null
const result = await handleFastModeShortcut(arg === 'on', context.getAppState, context.setAppState);
onDone(result);
return null;
}
const unavailableReason = getFastModeUnavailableReason()
const unavailableReason = getFastModeUnavailableReason();
logEvent('tengu_fast_mode_picker_shown', {
unavailable_reason: (unavailableReason ??
'') as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
})
return (
<FastModePicker onDone={onDone} unavailableReason={unavailableReason} />
)
unavailable_reason: (unavailableReason ?? '') as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS,
});
return <FastModePicker onDone={onDone} unavailableReason={unavailableReason} />;
}