diff --git a/src/renderer/src/aiCore/index_new.ts b/src/renderer/src/aiCore/index_new.ts index 2131eebaae..2a07d92045 100644 --- a/src/renderer/src/aiCore/index_new.ts +++ b/src/renderer/src/aiCore/index_new.ts @@ -12,7 +12,7 @@ import { loggerService } from '@logger' import { getEnableDeveloperMode } from '@renderer/hooks/useSettings' import { addSpan, endSpan } from '@renderer/services/SpanManagerService' import { StartSpanParams } from '@renderer/trace/types/ModelSpanEntity' -import type { Assistant, GenerateImageParams, Model, Provider } from '@renderer/types' +import type { Assistant, GenerateImageParams, Model, Provider, RetrieveVideoContentParams } from '@renderer/types' import type { AiSdkModel, StreamTextParams } from '@renderer/types/aiCoreTypes' import { CreateVideoParams, @@ -524,7 +524,7 @@ export default class ModernAiProvider { /** * We manually implement this method before aisdk supports it well */ - public async retrieveVideoContent(params: RetrieveVideoParams): Promise { + public async retrieveVideoContent(params: RetrieveVideoContentParams): Promise { return this.legacyProvider.retrieveVideoContent(params) } diff --git a/src/renderer/src/aiCore/legacy/index.ts b/src/renderer/src/aiCore/legacy/index.ts index 206027f7cd..bbb4c7af8b 100644 --- a/src/renderer/src/aiCore/legacy/index.ts +++ b/src/renderer/src/aiCore/legacy/index.ts @@ -5,7 +5,7 @@ import { isDedicatedImageGenerationModel, isFunctionCallingModel } from '@render import { getProviderByModel } from '@renderer/services/AssistantService' import { withSpanResult } from '@renderer/services/SpanManagerService' import { StartSpanParams } from '@renderer/trace/types/ModelSpanEntity' -import type { GenerateImageParams, Model, Provider } from '@renderer/types' +import type { GenerateImageParams, Model, Provider, RetrieveVideoContentParams } from '@renderer/types' import type { RequestOptions, SdkModel } from '@renderer/types/sdk' import { CreateVideoParams, @@ -210,7 +210,7 @@ export default class AiProvider { } } - public async retrieveVideoContent(params: RetrieveVideoParams): Promise { + public async retrieveVideoContent(params: RetrieveVideoContentParams): Promise { if (this.apiClient instanceof OpenAIResponseAPIClient && params.type === 'openai') { const response = await this.apiClient.retrieveVideoContent(params) return { diff --git a/src/renderer/src/hooks/video/useVideos.ts b/src/renderer/src/hooks/video/useVideos.ts index a816a9f091..4326272789 100644 --- a/src/renderer/src/hooks/video/useVideos.ts +++ b/src/renderer/src/hooks/video/useVideos.ts @@ -1,7 +1,21 @@ +import { loggerService } from '@logger' +import { retrieveVideo, retrieveVideoContent } from '@renderer/services/ApiService' +import { getProviderById } from '@renderer/services/ProviderService' import { useAppDispatch, useAppSelector } from '@renderer/store' -import { addVideoAction, removeVideoAction, setVideosAction, updateVideoAction } from '@renderer/store/video' +import { + addVideoAction, + removeVideoAction, + setVideoAction, + setVideosAction, + updateVideoAction +} from '@renderer/store/video' +import { SystemProviderIds } from '@renderer/types' import { Video } from '@renderer/types/video' +import { video } from 'notion-helper' import { useCallback, useEffect } from 'react' +import useSWR from 'swr' + +const logger = loggerService.withContext('useVideo') export const useVideos = (providerId: string) => { const videos = useAppSelector((state) => state.video.videoMap[providerId]) @@ -17,12 +31,19 @@ export const useVideos = (providerId: string) => { ) const updateVideo = useCallback( - (update: Partial