refactor(types): consolidate video-related types into main types module

Move all video-related type definitions from '@renderer/types/video' to '@renderer/types' to centralize type definitions and reduce module fragmentation
This commit is contained in:
icarus 2025-10-14 01:45:49 +08:00
parent 999c077b3a
commit ffc3b43dc5
11 changed files with 21 additions and 29 deletions

View File

@ -14,21 +14,19 @@ import { addSpan, endSpan } from '@renderer/services/SpanManagerService'
import type { StartSpanParams } from '@renderer/trace/types/ModelSpanEntity'
import type {
Assistant,
CreateVideoParams,
CreateVideoResult,
DeleteVideoParams,
DeleteVideoResult,
GenerateImageParams,
Model,
Provider,
RetrieveVideoContentParams
} from '@renderer/types'
import type { AiSdkModel, StreamTextParams } from '@renderer/types/aiCoreTypes'
import type {
CreateVideoParams,
CreateVideoResult,
RetrieveVideoContentParams,
RetrieveVideoContentResult,
RetrieveVideoParams,
RetrieveVideoResult
} from '@renderer/types/video'
} from '@renderer/types'
import type { AiSdkModel, StreamTextParams } from '@renderer/types/aiCoreTypes'
import { buildClaudeCodeSystemModelMessage } from '@shared/anthropic'
import { type ImageModel, type LanguageModel, type Provider as AiSdkProvider, wrapLanguageModel } from 'ai'

View File

@ -15,6 +15,8 @@ import {
import { isSupportDeveloperRoleProvider } from '@renderer/config/providers'
import { estimateTextTokens } from '@renderer/services/TokenService'
import type {
CreateVideoParams,
DeleteVideoParams,
FileMetadata,
MCPCallToolResponse,
MCPTool,
@ -22,6 +24,8 @@ import type {
Model,
OpenAIServiceTier,
Provider,
RetrieveVideoContentParams,
RetrieveVideoParams,
ToolCallResponse
} from '@renderer/types'
import { FileTypes, WebSearchSource } from '@renderer/types'
@ -35,12 +39,6 @@ import type {
OpenAIResponseSdkTool,
OpenAIResponseSdkToolCall
} from '@renderer/types/sdk'
import type {
CreateVideoParams,
DeleteVideoParams,
RetrieveVideoContentParams,
RetrieveVideoParams
} from '@renderer/types/video'
import { addImageFileToContents } from '@renderer/utils/formats'
import {
isSupportedToolUse,

View File

@ -6,21 +6,19 @@ import { getProviderByModel } from '@renderer/services/AssistantService'
import { withSpanResult } from '@renderer/services/SpanManagerService'
import type { StartSpanParams } from '@renderer/trace/types/ModelSpanEntity'
import type {
CreateVideoParams,
CreateVideoResult,
DeleteVideoParams,
DeleteVideoResult,
GenerateImageParams,
Model,
Provider,
RetrieveVideoContentParams
} from '@renderer/types'
import type { RequestOptions, SdkModel } from '@renderer/types/sdk'
import type {
CreateVideoParams,
CreateVideoResult,
RetrieveVideoContentParams,
RetrieveVideoContentResult,
RetrieveVideoParams,
RetrieveVideoResult
} from '@renderer/types/video'
} from '@renderer/types'
import type { RequestOptions, SdkModel } from '@renderer/types/sdk'
import { isSupportedToolUse } from '@renderer/utils/mcp-tools'
import { AihubmixAPIClient } from './clients/aihubmix/AihubmixAPIClient'

View File

@ -3,7 +3,7 @@ import { retrieveVideo } from '@renderer/services/ApiService'
import { getProviderById } from '@renderer/services/ProviderService'
import { useAppDispatch, useAppSelector } from '@renderer/store'
import { addVideoAction, setVideoAction, setVideosAction, updateVideoAction } from '@renderer/store/video'
import type { Video } from '@renderer/types/video'
import type { Video } from '@renderer/types'
import { getErrorMessage } from '@renderer/utils'
import { useCallback, useEffect, useRef } from 'react'
import { useTranslation } from 'react-i18next'

View File

@ -1,6 +1,6 @@
import { cn, Progress, Spinner } from '@heroui/react'
import { DeleteIcon } from '@renderer/components/Icons'
import type { Video } from '@renderer/types/video'
import type { Video } from '@renderer/types'
import { ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuTrigger } from '@renderer/ui/context-menu'
import { CheckCircleIcon, CircleXIcon, ClockIcon, DownloadIcon, ImageDownIcon } from 'lucide-react'
import { useTranslation } from 'react-i18next'

View File

@ -7,8 +7,8 @@ import { useProvider } from '@renderer/hooks/useProvider'
import { useProviderVideos } from '@renderer/hooks/video/useProviderVideos'
import { useVideoThumbnail } from '@renderer/hooks/video/useVideoThumbnail'
import { deleteVideo } from '@renderer/services/ApiService'
import type { CreateVideoParams } from '@renderer/types'
import { SystemProviderIds } from '@renderer/types'
import type { CreateVideoParams } from '@renderer/types/video'
import { getErrorMessage } from '@renderer/utils'
import { deepUpdate } from '@renderer/utils/deepUpdate'
import { isVideoModel } from '@renderer/utils/model/video'

View File

@ -5,9 +5,8 @@ import { useAddOpenAIVideo } from '@renderer/hooks/video/useAddOpenAIVideo'
import { useProviderVideos } from '@renderer/hooks/video/useProviderVideos'
import { createVideo, retrieveVideoContent } from '@renderer/services/ApiService'
import FileManager from '@renderer/services/FileManager'
import type { Provider, VideoFileMetadata } from '@renderer/types'
import type { CreateVideoParams, Provider, Video, VideoFileMetadata } from '@renderer/types'
import { FileTypes } from '@renderer/types'
import type { CreateVideoParams, Video } from '@renderer/types/video'
import { getErrorMessage } from '@renderer/utils'
import { MB } from '@shared/config/constant'
import type { DeepPartial } from 'ai'

View File

@ -12,7 +12,7 @@ import {
} from '@heroui/react'
import { usePending } from '@renderer/hooks/usePending'
import FileManager from '@renderer/services/FileManager'
import type { Video, VideoDownloaded, VideoFailed } from '@renderer/types/video'
import type { Video, VideoDownloaded, VideoFailed } from '@renderer/types'
import dayjs from 'dayjs'
import { CheckCircleIcon, CircleXIcon, Clock9Icon } from 'lucide-react'
import { useEffect, useMemo, useRef, useState } from 'react'

View File

@ -1,6 +1,6 @@
import type { VideoSeconds, VideoSize } from '@cherrystudio/openai/resources'
import { Select, SelectItem } from '@heroui/react'
import type { OpenAICreateVideoParams } from '@renderer/types/video'
import type { OpenAICreateVideoParams } from '@renderer/types'
import type { DeepPartial } from 'ai'
import { useCallback } from 'react'
import { useTranslation } from 'react-i18next'

View File

@ -30,7 +30,6 @@ import type { StreamTextParams } from '@renderer/types/aiCoreTypes'
import { type Chunk, ChunkType } from '@renderer/types/chunk'
import type { Message } from '@renderer/types/newMessage'
import type { SdkModel } from '@renderer/types/sdk'
import {} from '@renderer/types/video'
import { removeSpecialCharactersForTopicName, uuid } from '@renderer/utils'
import { abortCompletion, readyToAbort } from '@renderer/utils/abortController'
import { isAbortError } from '@renderer/utils/error'

View File

@ -1,7 +1,7 @@
import { loggerService } from '@logger'
import type { PayloadAction } from '@reduxjs/toolkit'
import { createSlice } from '@reduxjs/toolkit'
import type { Video } from '@renderer/types/video'
import type { Video } from '@renderer/types'
const logger = loggerService.withContext('Store:video')