feat(youtube): integrate YouTube video processing connector

- Added support for processing YouTube videos, including transcript extraction and document creation.
- Implemented a new background task for adding YouTube video documents.
- Enhanced the connector service to search for YouTube videos and return relevant results.
- Updated frontend components to include YouTube video options in the dashboard and connector sources.
- Added necessary dependencies for YouTube transcript API.
This commit is contained in:
DESKTOP-RTLN3BA\$punk 2025-04-11 15:05:17 -07:00
parent 753f40dfea
commit b43272a115
13 changed files with 608 additions and 18 deletions

View file

@ -4,15 +4,14 @@ import {
Plus,
Search,
Globe,
BookOpen,
Sparkles,
Microscope,
Telescope,
File,
Link,
Slack,
Webhook
Webhook,
} from 'lucide-react';
import { IconBrandNotion, IconBrandSlack, IconBrandYoutube } from "@tabler/icons-react";
import { Button } from '@/components/ui/button';
import { Connector, ResearchMode } from './types';
@ -21,6 +20,8 @@ export const getConnectorIcon = (connectorType: string) => {
const iconProps = { className: "h-4 w-4" };
switch(connectorType) {
case 'YOUTUBE_VIDEO':
return <IconBrandYoutube {...iconProps} />;
case 'CRAWLED_URL':
return <Globe {...iconProps} />;
case 'FILE':
@ -31,9 +32,9 @@ export const getConnectorIcon = (connectorType: string) => {
case 'TAVILY_API':
return <Link {...iconProps} />;
case 'SLACK_CONNECTOR':
return <Slack {...iconProps} />;
return <IconBrandSlack {...iconProps} />;
case 'NOTION_CONNECTOR':
return <BookOpen {...iconProps} />;
return <IconBrandNotion {...iconProps} />;
case 'DEEP':
return <Sparkles {...iconProps} />;
case 'DEEPER':