feat: Twelve Labs Bundle (#7837)

* feat: add twelve labs components

* fix: fix uv.lock for twelve labs components
This commit is contained in:
Will 2025-05-13 11:56:29 -07:00 • committed by GitHub
commit 327c0fd791
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 4038 additions and 1715 deletions

View file

@ -1,12 +1,12 @@
{
"name": "langflow",
"version": "1.4.1",
"version": "1.3.4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "langflow",
"version": "1.4.1",
"version": "1.3.4",
"dependencies": {
"@chakra-ui/number-input": "^2.1.2",
"@headlessui/react": "^2.0.4",

View file

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 204 146.6">
<!-- Generator: Adobe Illustrator 29.2.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 116) -->
<defs>
<style>
.st0 {
fill: #1d1c1b;
}
</style>
</defs>
<rect class="st0" x="43.9" y="50.3" width="64.3" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" y="50.3" width="35.3" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="124.1" y="50.3" width="40.3" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="129.9" y="37.8" width="34.5" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="168.9" y="37.8" width="27.3" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="157.3" y="25" width="31.1" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="167.1" y="12.5" width="9.2" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="74.3" y="112.6" width="15.9" height="9" rx="2.6" ry="2.6"/>
<rect class="st0" x="101.8" y="112.6" width="10.4" height="9" rx="2.6" ry="2.6"/>
<rect class="st0" x="117" y="112.6" width="28" height="9" rx="2.6" ry="2.6"/>
<rect class="st0" x="131" y="100.1" width="11.6" height="9" rx="2.6" ry="2.6"/>
<rect class="st0" x="52.4" y="112.6" width="9.2" height="9" rx="2.6" ry="2.6"/>
<path class="st0" d="M94.7,127.7c0-1.4,1.1-2.6,2.6-2.6h4c1.4,0,2.6,1.1,2.6,2.6v3.9c0,1.4-1.1,2.6-2.6,2.6h-4c-1.4,0-2.6-1.1-2.6-2.6v-3.9Z"/>
<rect class="st0" x="85.8" y="137.6" width="8.7" height="9" rx="2.6" ry="2.6"/>
<rect class="st0" x="120.4" width="11.4" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="55.8" y="37.8" width="29" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="109.7" y="12.5" width="17.6" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="98.8" y="25" width="28.5" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="187.4" y="50.3" width="16.6" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="30.6" y="62.8" width="82.1" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="105.1" y="87.8" width="32.1" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="43.9" y="75.3" width="104.3" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="27.9" y="87.8" width="38.8" height="8.7" rx="2.6" ry="2.6"/>
<rect class="st0" x="63.3" y="100.1" width="12.7" height="9" rx="2.6" ry="2.6"/>
<rect class="st0" x="108.1" y="100.1" width="13.7" height="9" rx="2.6" ry="2.6"/>
<rect class="st0" x="39.8" y="100.1" width="12.9" height="9" rx="2.6" ry="2.6"/>
<rect class="st0" x="124.1" y="62.8" width="33.1" height="8.7" rx="2.6" ry="2.6"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -0,0 +1,249 @@
const SvgTwelveLogo = (props) => (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="0 0 204 146.6"
fill="none"
{...props}
>
<rect
fill="currentColor"
x="43.9"
y="50.3"
width="64.3"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
y="50.3"
width="35.3"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="124.1"
y="50.3"
width="40.3"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="129.9"
y="37.8"
width="34.5"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="168.9"
y="37.8"
width="27.3"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="157.3"
y="25"
width="31.1"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="167.1"
y="12.5"
width="9.2"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="74.3"
y="112.6"
width="15.9"
height="9"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="101.8"
y="112.6"
width="10.4"
height="9"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="117"
y="112.6"
width="28"
height="9"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="131"
y="100.1"
width="11.6"
height="9"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="52.4"
y="112.6"
width="9.2"
height="9"
rx="2.6"
ry="2.6"
/>
<path
fill="currentColor"
d="M94.7,127.7c0-1.4,1.1-2.6,2.6-2.6h4c1.4,0,2.6,1.1,2.6,2.6v3.9c0,1.4-1.1,2.6-2.6,2.6h-4c-1.4,0-2.6-1.1-2.6-2.6v-3.9Z"
/>
<rect
fill="currentColor"
x="85.8"
y="137.6"
width="8.7"
height="9"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="120.4"
width="11.4"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="55.8"
y="37.8"
width="29"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="109.7"
y="12.5"
width="17.6"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="98.8"
y="25"
width="28.5"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="187.4"
y="50.3"
width="16.6"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="30.6"
y="62.8"
width="82.1"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="105.1"
y="87.8"
width="32.1"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="43.9"
y="75.3"
width="104.3"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="27.9"
y="87.8"
width="38.8"
height="8.7"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="63.3"
y="100.1"
width="12.7"
height="9"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="108.1"
y="100.1"
width="13.7"
height="9"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="39.8"
y="100.1"
width="12.9"
height="9"
rx="2.6"
ry="2.6"
/>
<rect
fill="currentColor"
x="124.1"
y="62.8"
width="33.1"
height="8.7"
rx="2.6"
ry="2.6"
/>
</svg>
);
export default SvgTwelveLogo;

View file

@ -0,0 +1,9 @@
import React, { forwardRef } from "react";
import SvgTwelveLogo from "./TwelveLabsLogo";
export const TwelveLabsIcon = forwardRef<
SVGSVGElement,
React.PropsWithChildren<{}>
>((props, ref) => {
return <SvgTwelveLogo ref={ref} {...props} />;
});

View file

@ -0,0 +1,230 @@
import { AgentQLIcon } from "@/icons/AgentQL";
import { AIMLIcon } from "@/icons/AIML";
import { AirbyteIcon } from "@/icons/Airbyte";
import { AnthropicIcon } from "@/icons/Anthropic";
import { ApifyIcon, ApifyWhiteIcon } from "@/icons/Apify";
import { ArizeIcon } from "@/icons/Arize";
import { ArXivIcon } from "@/icons/ArXiv";
import { AssemblyAIIcon } from "@/icons/AssemblyAI";
import { AstraDBIcon } from "@/icons/AstraDB";
import { AthenaIcon } from "@/icons/athena/index";
import { AWSIcon } from "@/icons/AWS";
import { AWSInvertedIcon } from "@/icons/AWSInverted";
import { AzureIcon } from "@/icons/Azure";
import { BingIcon } from "@/icons/Bing";
import { BotMessageSquareIcon } from "@/icons/BotMessageSquare";
import { BWPythonIcon } from "@/icons/BW python";
import { CassandraIcon } from "@/icons/Cassandra";
import { ChromaIcon } from "@/icons/ChromaIcon";
import { ClickhouseIcon } from "@/icons/Clickhouse";
import { CloudflareIcon } from "@/icons/Cloudflare";
import { CohereIcon } from "@/icons/Cohere";
import { ComposioIcon } from "@/icons/Composio";
import { ConfluenceIcon } from "@/icons/Confluence";
import { CouchbaseIcon } from "@/icons/Couchbase";
import { CrewAiIcon } from "@/icons/CrewAI";
import { DeepSeekIcon } from "@/icons/DeepSeek";
import { DropboxIcon } from "@/icons/Dropbox";
import { DuckDuckGoIcon } from "@/icons/DuckDuckGo";
import { ElasticsearchIcon } from "@/icons/ElasticsearchStore";
import { EvernoteIcon } from "@/icons/Evernote";
import { ExaIcon } from "@/icons/Exa";
import { FBIcon } from "@/icons/FacebookMessenger";
import { FirecrawlIcon } from "@/icons/Firecrawl";
import { freezeAllIcon } from "@/icons/freezeAll";
import { GitBookIcon } from "@/icons/GitBook";
import { GitLoaderIcon } from "@/icons/GitLoader";
import { GleanIcon } from "@/icons/Glean";
import { GlobeOkIcon } from "@/icons/globe-ok";
import { GmailIcon } from "@/icons/gmail";
import { GoogleIcon } from "@/icons/Google";
import { GoogleDriveIcon } from "@/icons/GoogleDrive";
import { GoogleGenerativeAIIcon } from "@/icons/GoogleGenerativeAI";
import {
GradientInfinity,
GradientSave,
GradientUngroup,
} from "@/icons/GradientSparkles";
import { GridHorizontalIcon } from "@/icons/GridHorizontal";
import { GroqIcon } from "@/icons/Groq";
import { HackerNewsIcon } from "@/icons/hackerNews";
import { HCDIcon } from "@/icons/HCD";
import { HomeAssistantIcon } from "@/icons/HomeAssistant";
import { HuggingFaceIcon } from "@/icons/HuggingFace";
import { WatsonxAiIcon } from "@/icons/IBMWatsonx";
import { IcosaIcon } from "@/icons/Icosa";
import { IFixIcon } from "@/icons/IFixIt";
import { JSIcon } from "@/icons/JSicon";
import { LangChainIcon } from "@/icons/LangChain";
import { LangwatchIcon } from "@/icons/Langwatch";
import { LMStudioIcon } from "@/icons/LMStudio";
import { MaritalkIcon } from "@/icons/Maritalk";
import { Mem0 } from "@/icons/Mem0";
import { MetaIcon } from "@/icons/Meta";
import { MidjourneyIcon } from "@/icons/Midjorney";
import { MilvusIcon } from "@/icons/Milvus";
import { MistralIcon } from "@/icons/mistral";
import { MongoDBIcon } from "@/icons/MongoDB";
import { NeedleIcon } from "@/icons/Needle";
import { NotDiamondIcon } from "@/icons/NotDiamond";
import { NotionIcon } from "@/icons/Notion";
import { NovitaIcon } from "@/icons/Novita";
import { NvidiaIcon } from "@/icons/Nvidia";
import { OlivyaIcon } from "@/icons/Olivya";
import { OllamaIcon } from "@/icons/Ollama";
import { OneDriveIcon } from "@/icons/OneDrive";
import { OpenAiIcon } from "@/icons/OpenAi";
import { OpenRouterIcon } from "@/icons/OpenRouter";
import { OpenSearch } from "@/icons/OpenSearch";
import { PerplexityIcon } from "@/icons/Perplexity";
import { PineconeIcon } from "@/icons/Pinecone";
import { PostgresIcon } from "@/icons/Postgres";
import { PythonIcon } from "@/icons/Python";
import { QDrantIcon } from "@/icons/QDrant";
import { QianFanChatIcon } from "@/icons/QianFanChat";
import { RedisIcon } from "@/icons/Redis";
import { SambaNovaIcon } from "@/icons/SambaNova";
import { ScrapeGraph } from "@/icons/ScrapeGraphAI";
import { SearchAPIIcon } from "@/icons/SearchAPI";
import { SearchHybridIcon } from "@/icons/SearchHybrid";
import { SearchLexicalIcon } from "@/icons/SearchLexical";
import { SearchVectorIcon } from "@/icons/SearchVector";
import { SearxIcon } from "@/icons/Searx";
import { SerperIcon } from "@/icons/Serper";
import { SerpSearchIcon } from "@/icons/SerpSearch";
import { ShareIcon } from "@/icons/Share";
import { Share2Icon } from "@/icons/Share2";
import { SlackIcon } from "@/icons/Slack";
import { SpiderIcon } from "@/icons/Spider";
import { Streamlit } from "@/icons/Streamlit";
import { SupabaseIcon } from "@/icons/supabase";
import { TavilyIcon } from "@/icons/Tavily";
import { ThumbDownIconCustom, ThumbUpIconCustom } from "@/icons/thumbs";
import { TwelveLabsIcon } from "@/icons/TwelveLabs";
import { UnstructuredIcon } from "@/icons/Unstructured";
import { UpstashSvgIcon } from "@/icons/Upstash";
import { VectaraIcon } from "@/icons/VectaraIcon";
import { VertexAIIcon } from "@/icons/VertexAI";
import { WeaviateIcon } from "@/icons/Weaviate";
import { WikipediaIcon } from "@/icons/Wikipedia";
import { WolframIcon } from "@/icons/Wolfram";
import { XAIIcon } from "@/icons/xAI";
import { YouTubeSvgIcon as YouTubeIcon } from "@/icons/Youtube";
import { ZepMemoryIcon } from "@/icons/ZepMemory";
// Export the eagerly loaded icons map
export const eagerIconsMapping = {
"AI/ML": AIMLIcon,
AgentQL: AgentQLIcon,
Airbyte: AirbyteIcon,
Anthropic: AnthropicIcon,
Apify: ApifyIcon,
ApifyWhite: ApifyWhiteIcon,
ArXiv: ArXivIcon,
Arize: ArizeIcon,
AssemblyAI: AssemblyAIIcon,
AstraDB: AstraDBIcon,
Athena: AthenaIcon,
AWS: AWSIcon,
AWSInverted: AWSInvertedIcon,
Azure: AzureIcon,
Bing: BingIcon,
BotMessageSquare: BotMessageSquareIcon,
BWPython: BWPythonIcon,
Cassandra: CassandraIcon,
Chroma: ChromaIcon,
Clickhouse: ClickhouseIcon,
Cloudflare: CloudflareIcon,
Cohere: CohereIcon,
Composio: ComposioIcon,
Confluence: ConfluenceIcon,
Couchbase: CouchbaseIcon,
CrewAI: CrewAiIcon,
DeepSeek: DeepSeekIcon,
Dropbox: DropboxIcon,
DuckDuckGo: DuckDuckGoIcon,
ElasticsearchStore: ElasticsearchIcon,
Evernote: EvernoteIcon,
Exa: ExaIcon,
FacebookMessenger: FBIcon,
Firecrawl: FirecrawlIcon,
FreezeAll: freezeAllIcon,
GitBook: GitBookIcon,
GitLoader: GitLoaderIcon,
Glean: GleanIcon,
GlobeOk: GlobeOkIcon,
Google: GoogleIcon,
GoogleDrive: GoogleDriveIcon,
GoogleGenerativeAI: GoogleGenerativeAIIcon,
Gmail: GmailIcon,
GradientInfinity: GradientInfinity,
GradientSave: GradientSave,
GradientUngroup: GradientUngroup,
GridHorizontal: GridHorizontalIcon,
Groq: GroqIcon,
HackerNews: HackerNewsIcon,
HCD: HCDIcon,
HomeAssistant: HomeAssistantIcon,
HuggingFace: HuggingFaceIcon,
Icosa: IcosaIcon,
IFixIt: IFixIcon,
javascript: JSIcon,
LangChain: LangChainIcon,
Langwatch: LangwatchIcon,
LMStudio: LMStudioIcon,
Maritalk: MaritalkIcon,
Mem0: Mem0,
Meta: MetaIcon,
Midjourney: MidjourneyIcon,
Milvus: MilvusIcon,
Mistral: MistralIcon,
MongoDB: MongoDBIcon,
Needle: NeedleIcon,
NotDiamond: NotDiamondIcon,
Notion: NotionIcon,
Novita: NovitaIcon,
NVIDIA: NvidiaIcon,
Olivya: OlivyaIcon,
Ollama: OllamaIcon,
OneDrive: OneDriveIcon,
OpenAI: OpenAiIcon,
OpenRouter: OpenRouterIcon,
OpenSearch: OpenSearch,
Perplexity: PerplexityIcon,
Pinecone: PineconeIcon,
Postgres: PostgresIcon,
Python: PythonIcon,
QDrant: QDrantIcon,
QianFanChat: QianFanChatIcon,
Redis: RedisIcon,
SambaNova: SambaNovaIcon,
ScrapeGraph: ScrapeGraph,
SearchAPI: SearchAPIIcon,
SearchLexical: SearchLexicalIcon,
SearchHybrid: SearchHybridIcon,
SearchVector: SearchVectorIcon,
Searx: SearxIcon,
SerpSearch: SerpSearchIcon,
Serper: SerperIcon,
Share: ShareIcon,
Share2: Share2Icon,
Slack: SlackIcon,
Spider: SpiderIcon,
Streamlit: Streamlit,
Supabase: SupabaseIcon,
Tavily: TavilyIcon,
ThumbDownCustom: ThumbDownIconCustom,
ThumbUpCustom: ThumbUpIconCustom,
TwelveLabs: TwelveLabsIcon,
Unstructured: UnstructuredIcon,
Upstash: UpstashSvgIcon,
Vectara: VectaraIcon,
VertexAI: VertexAIIcon,
WatsonxAI: WatsonxAiIcon,
Weaviate: WeaviateIcon,
Wikipedia: WikipediaIcon,
Wolfram: WolframIcon,
xAI: XAIIcon,
YouTube: YouTubeIcon,
ZepMemory: ZepMemoryIcon,
};

View file

@ -1,3 +1,5 @@
import { TwelveLabsIcon } from "./TwelveLabs";
// Export the lazy loading mapping for icons
export const lazyIconsMapping = {
"AI/ML": () =>
@ -258,6 +260,10 @@ export const lazyIconsMapping = {
import("@/icons/thumbs").then((mod) => ({
default: mod.ThumbUpIconCustom,
})),
TwelveLabs: () =>
import("@/icons/TwelveLabs").then((mod) => ({
default: mod.TwelveLabsIcon,
})),
TwitterX: () =>
import("@/icons/Twitter X").then((mod) => ({
default: mod.TwitterXIcon,

View file

@ -265,6 +265,7 @@ export const SIDEBAR_BUNDLES = [
{ display_name: "Mem0", name: "mem0", icon: "Mem0" },
{ display_name: "Youtube", name: "youtube", icon: "YouTube" },
{ display_name: "ScrapeGraph AI", name: "scrapegraph", icon: "ScrapeGraph" },
{ display_name: "Twelve Labs", name: "twelvelabs", icon: "TwelveLabs" },
{
display_name: "Home Assistant",
name: "homeassistant",