fix: lint and type errors

This commit is contained in:
mingholy.lmh
2025-09-17 19:14:37 +08:00
parent b4ba23fd80
commit caedd8338f
13 changed files with 107 additions and 102 deletions

View File

@@ -56,12 +56,12 @@ import { RadioButtonSelect } from './components/shared/RadioButtonSelect.js';
import { ModelSelectionDialog } from './components/ModelSelectionDialog.js';
import {
ModelSwitchDialog,
VisionSwitchOutcome,
type VisionSwitchOutcome,
} from './components/ModelSwitchDialog.js';
import {
AVAILABLE_MODELS_QWEN,
getOpenAIAvailableModelFromEnv,
AvailableModel,
type AvailableModel,
} from './models/availableModels.js';
import { processVisionSwitchOutcome } from './hooks/useVisionAutoSwitch.js';
import {

View File

@@ -5,17 +5,17 @@
*/
import { AuthType } from '@qwen-code/qwen-code-core';
import {
import type {
SlashCommand,
CommandContext,
CommandKind,
OpenDialogActionReturn,
MessageActionReturn,
} from './types.js';
import { CommandKind } from './types.js';
import {
AVAILABLE_MODELS_QWEN,
getOpenAIAvailableModelFromEnv,
AvailableModel,
type AvailableModel,
} from '../models/availableModels.js';
function getAvailableModelsForAuthType(authType: AuthType): AvailableModel[] {

View File

@@ -8,8 +8,8 @@ import React from 'react';
import { render } from 'ink-testing-library';
import { describe, it, expect, vi, beforeEach } from 'vitest';
import { ModelSelectionDialog } from './ModelSelectionDialog.js';
import { AvailableModel } from '../models/availableModels.js';
import { RadioSelectItem } from './shared/RadioButtonSelect.js';
import type { AvailableModel } from '../models/availableModels.js';
import type { RadioSelectItem } from './shared/RadioButtonSelect.js';
// Mock the useKeypress hook
const mockUseKeypress = vi.hoisted(() => vi.fn());

View File

@@ -4,7 +4,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
import React from 'react';
import type React from 'react';
import { Box, Text } from 'ink';
import { Colors } from '../colors.js';
import {
@@ -12,7 +12,7 @@ import {
type RadioSelectItem,
} from './shared/RadioButtonSelect.js';
import { useKeypress } from '../hooks/useKeypress.js';
import { AvailableModel } from '../models/availableModels.js';
import type { AvailableModel } from '../models/availableModels.js';
export interface ModelSelectionDialogProps {
availableModels: AvailableModel[];

View File

@@ -4,7 +4,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
import React from 'react';
import type React from 'react';
import { Box, Text } from 'ink';
import { Colors } from '../colors.js';
import {

View File

@@ -7,8 +7,8 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { describe, it, expect, vi, beforeEach } from 'vitest';
import { renderHook, act } from '@testing-library/react';
import { Part, PartListUnion } from '@google/genai';
import { AuthType, Config } from '@qwen-code/qwen-code-core';
import type { Part, PartListUnion } from '@google/genai';
import { AuthType, type Config } from '@qwen-code/qwen-code-core';
import {
shouldOfferVisionSwitch,
processVisionSwitchOutcome,

View File

@@ -5,7 +5,7 @@
*/
import { type PartListUnion, type Part } from '@google/genai';
import { AuthType, Config } from '@qwen-code/qwen-code-core';
import { AuthType, type Config } from '@qwen-code/qwen-code-core';
import { useCallback, useRef } from 'react';
import { VisionSwitchOutcome } from '../components/ModelSwitchDialog.js';
import {
@@ -13,7 +13,7 @@ import {
isVisionModel,
} from '../models/availableModels.js';
import { MessageType } from '../types.js';
import { UseHistoryManagerReturn } from './useHistoryManager.js';
import type { UseHistoryManagerReturn } from './useHistoryManager.js';
/**
* Checks if a PartListUnion contains image parts

View File

@@ -9,10 +9,10 @@ import {
type GenerateContentParameters,
GenerateContentResponse,
} from '@google/genai';
import { Config } from '../../config/config.js';
import type { Config } from '../../config/config.js';
import type { ContentGeneratorConfig } from '../contentGenerator.js';
import type { OpenAICompatibleProvider } from './provider/index.js';
import { OpenAIContentConverter } from './converter.js';
import type { OpenAIContentConverter } from './converter.js';
import type { TelemetryService, RequestContext } from './telemetryService.js';
import type { ErrorHandler } from './errorHandler.js';

View File

@@ -4,7 +4,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
import { ImageMetadata } from './types.js';
import type { ImageMetadata } from './types.js';
/**
* Image tokenizer for calculating image tokens based on dimensions

View File

@@ -6,7 +6,7 @@
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
import { DefaultRequestTokenizer } from './requestTokenizer.js';
import { CountTokensParameters } from '@google/genai';
import type { CountTokensParameters } from '@google/genai';
describe('DefaultRequestTokenizer', () => {
let tokenizer: DefaultRequestTokenizer;

View File

@@ -4,8 +4,13 @@
* SPDX-License-Identifier: Apache-2.0
*/
import { CountTokensParameters, Content, Part, PartUnion } from '@google/genai';
import {
import type {
CountTokensParameters,
Content,
Part,
PartUnion,
} from '@google/genai';
import type {
RequestTokenizer,
TokenizerConfig,
TokenCalculationResult,

View File

@@ -4,7 +4,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
import { CountTokensParameters } from '@google/genai';
import type { CountTokensParameters } from '@google/genai';
/**
* Token calculation result for different content types