lfx-nightly 0.2.0.dev25__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of lfx-nightly might be problematic. Click here for more details.

Files changed (769) hide show
  1. lfx/__init__.py +0 -0
  2. lfx/__main__.py +25 -0
  3. lfx/_assets/component_index.json +1 -0
  4. lfx/base/__init__.py +0 -0
  5. lfx/base/agents/__init__.py +0 -0
  6. lfx/base/agents/agent.py +375 -0
  7. lfx/base/agents/altk_base_agent.py +380 -0
  8. lfx/base/agents/altk_tool_wrappers.py +565 -0
  9. lfx/base/agents/callback.py +130 -0
  10. lfx/base/agents/context.py +109 -0
  11. lfx/base/agents/crewai/__init__.py +0 -0
  12. lfx/base/agents/crewai/crew.py +231 -0
  13. lfx/base/agents/crewai/tasks.py +12 -0
  14. lfx/base/agents/default_prompts.py +23 -0
  15. lfx/base/agents/errors.py +15 -0
  16. lfx/base/agents/events.py +430 -0
  17. lfx/base/agents/utils.py +237 -0
  18. lfx/base/astra_assistants/__init__.py +0 -0
  19. lfx/base/astra_assistants/util.py +171 -0
  20. lfx/base/chains/__init__.py +0 -0
  21. lfx/base/chains/model.py +19 -0
  22. lfx/base/composio/__init__.py +0 -0
  23. lfx/base/composio/composio_base.py +2584 -0
  24. lfx/base/compressors/__init__.py +0 -0
  25. lfx/base/compressors/model.py +60 -0
  26. lfx/base/constants.py +46 -0
  27. lfx/base/curl/__init__.py +0 -0
  28. lfx/base/curl/parse.py +188 -0
  29. lfx/base/data/__init__.py +5 -0
  30. lfx/base/data/base_file.py +810 -0
  31. lfx/base/data/docling_utils.py +338 -0
  32. lfx/base/data/storage_utils.py +192 -0
  33. lfx/base/data/utils.py +362 -0
  34. lfx/base/datastax/__init__.py +5 -0
  35. lfx/base/datastax/astradb_base.py +896 -0
  36. lfx/base/document_transformers/__init__.py +0 -0
  37. lfx/base/document_transformers/model.py +43 -0
  38. lfx/base/embeddings/__init__.py +0 -0
  39. lfx/base/embeddings/aiml_embeddings.py +62 -0
  40. lfx/base/embeddings/embeddings_class.py +113 -0
  41. lfx/base/embeddings/model.py +26 -0
  42. lfx/base/flow_processing/__init__.py +0 -0
  43. lfx/base/flow_processing/utils.py +86 -0
  44. lfx/base/huggingface/__init__.py +0 -0
  45. lfx/base/huggingface/model_bridge.py +133 -0
  46. lfx/base/io/__init__.py +0 -0
  47. lfx/base/io/chat.py +21 -0
  48. lfx/base/io/text.py +22 -0
  49. lfx/base/knowledge_bases/__init__.py +3 -0
  50. lfx/base/knowledge_bases/knowledge_base_utils.py +137 -0
  51. lfx/base/langchain_utilities/__init__.py +0 -0
  52. lfx/base/langchain_utilities/model.py +35 -0
  53. lfx/base/langchain_utilities/spider_constants.py +1 -0
  54. lfx/base/langwatch/__init__.py +0 -0
  55. lfx/base/langwatch/utils.py +18 -0
  56. lfx/base/mcp/__init__.py +0 -0
  57. lfx/base/mcp/constants.py +2 -0
  58. lfx/base/mcp/util.py +1659 -0
  59. lfx/base/memory/__init__.py +0 -0
  60. lfx/base/memory/memory.py +49 -0
  61. lfx/base/memory/model.py +38 -0
  62. lfx/base/models/__init__.py +3 -0
  63. lfx/base/models/aiml_constants.py +51 -0
  64. lfx/base/models/anthropic_constants.py +51 -0
  65. lfx/base/models/aws_constants.py +151 -0
  66. lfx/base/models/chat_result.py +76 -0
  67. lfx/base/models/cometapi_constants.py +54 -0
  68. lfx/base/models/google_generative_ai_constants.py +70 -0
  69. lfx/base/models/google_generative_ai_model.py +38 -0
  70. lfx/base/models/groq_constants.py +150 -0
  71. lfx/base/models/groq_model_discovery.py +265 -0
  72. lfx/base/models/model.py +375 -0
  73. lfx/base/models/model_input_constants.py +378 -0
  74. lfx/base/models/model_metadata.py +41 -0
  75. lfx/base/models/model_utils.py +108 -0
  76. lfx/base/models/novita_constants.py +35 -0
  77. lfx/base/models/ollama_constants.py +52 -0
  78. lfx/base/models/openai_constants.py +129 -0
  79. lfx/base/models/sambanova_constants.py +18 -0
  80. lfx/base/models/watsonx_constants.py +36 -0
  81. lfx/base/processing/__init__.py +0 -0
  82. lfx/base/prompts/__init__.py +0 -0
  83. lfx/base/prompts/api_utils.py +224 -0
  84. lfx/base/prompts/utils.py +61 -0
  85. lfx/base/textsplitters/__init__.py +0 -0
  86. lfx/base/textsplitters/model.py +28 -0
  87. lfx/base/tools/__init__.py +0 -0
  88. lfx/base/tools/base.py +26 -0
  89. lfx/base/tools/component_tool.py +325 -0
  90. lfx/base/tools/constants.py +49 -0
  91. lfx/base/tools/flow_tool.py +132 -0
  92. lfx/base/tools/run_flow.py +698 -0
  93. lfx/base/vectorstores/__init__.py +0 -0
  94. lfx/base/vectorstores/model.py +193 -0
  95. lfx/base/vectorstores/utils.py +22 -0
  96. lfx/base/vectorstores/vector_store_connection_decorator.py +52 -0
  97. lfx/cli/__init__.py +5 -0
  98. lfx/cli/commands.py +327 -0
  99. lfx/cli/common.py +650 -0
  100. lfx/cli/run.py +506 -0
  101. lfx/cli/script_loader.py +289 -0
  102. lfx/cli/serve_app.py +546 -0
  103. lfx/cli/validation.py +69 -0
  104. lfx/components/FAISS/__init__.py +34 -0
  105. lfx/components/FAISS/faiss.py +111 -0
  106. lfx/components/Notion/__init__.py +19 -0
  107. lfx/components/Notion/add_content_to_page.py +269 -0
  108. lfx/components/Notion/create_page.py +94 -0
  109. lfx/components/Notion/list_database_properties.py +68 -0
  110. lfx/components/Notion/list_pages.py +122 -0
  111. lfx/components/Notion/list_users.py +77 -0
  112. lfx/components/Notion/page_content_viewer.py +93 -0
  113. lfx/components/Notion/search.py +111 -0
  114. lfx/components/Notion/update_page_property.py +114 -0
  115. lfx/components/__init__.py +428 -0
  116. lfx/components/_importing.py +42 -0
  117. lfx/components/agentql/__init__.py +3 -0
  118. lfx/components/agentql/agentql_api.py +151 -0
  119. lfx/components/aiml/__init__.py +37 -0
  120. lfx/components/aiml/aiml.py +115 -0
  121. lfx/components/aiml/aiml_embeddings.py +37 -0
  122. lfx/components/altk/__init__.py +34 -0
  123. lfx/components/altk/altk_agent.py +193 -0
  124. lfx/components/amazon/__init__.py +36 -0
  125. lfx/components/amazon/amazon_bedrock_converse.py +195 -0
  126. lfx/components/amazon/amazon_bedrock_embedding.py +109 -0
  127. lfx/components/amazon/amazon_bedrock_model.py +130 -0
  128. lfx/components/amazon/s3_bucket_uploader.py +211 -0
  129. lfx/components/anthropic/__init__.py +34 -0
  130. lfx/components/anthropic/anthropic.py +187 -0
  131. lfx/components/apify/__init__.py +5 -0
  132. lfx/components/apify/apify_actor.py +325 -0
  133. lfx/components/arxiv/__init__.py +3 -0
  134. lfx/components/arxiv/arxiv.py +169 -0
  135. lfx/components/assemblyai/__init__.py +46 -0
  136. lfx/components/assemblyai/assemblyai_get_subtitles.py +83 -0
  137. lfx/components/assemblyai/assemblyai_lemur.py +183 -0
  138. lfx/components/assemblyai/assemblyai_list_transcripts.py +95 -0
  139. lfx/components/assemblyai/assemblyai_poll_transcript.py +72 -0
  140. lfx/components/assemblyai/assemblyai_start_transcript.py +188 -0
  141. lfx/components/azure/__init__.py +37 -0
  142. lfx/components/azure/azure_openai.py +95 -0
  143. lfx/components/azure/azure_openai_embeddings.py +83 -0
  144. lfx/components/baidu/__init__.py +32 -0
  145. lfx/components/baidu/baidu_qianfan_chat.py +113 -0
  146. lfx/components/bing/__init__.py +3 -0
  147. lfx/components/bing/bing_search_api.py +61 -0
  148. lfx/components/cassandra/__init__.py +40 -0
  149. lfx/components/cassandra/cassandra.py +264 -0
  150. lfx/components/cassandra/cassandra_chat.py +92 -0
  151. lfx/components/cassandra/cassandra_graph.py +238 -0
  152. lfx/components/chains/__init__.py +3 -0
  153. lfx/components/chroma/__init__.py +34 -0
  154. lfx/components/chroma/chroma.py +169 -0
  155. lfx/components/cleanlab/__init__.py +40 -0
  156. lfx/components/cleanlab/cleanlab_evaluator.py +155 -0
  157. lfx/components/cleanlab/cleanlab_rag_evaluator.py +254 -0
  158. lfx/components/cleanlab/cleanlab_remediator.py +131 -0
  159. lfx/components/clickhouse/__init__.py +34 -0
  160. lfx/components/clickhouse/clickhouse.py +135 -0
  161. lfx/components/cloudflare/__init__.py +32 -0
  162. lfx/components/cloudflare/cloudflare.py +81 -0
  163. lfx/components/cohere/__init__.py +40 -0
  164. lfx/components/cohere/cohere_embeddings.py +81 -0
  165. lfx/components/cohere/cohere_models.py +46 -0
  166. lfx/components/cohere/cohere_rerank.py +51 -0
  167. lfx/components/cometapi/__init__.py +32 -0
  168. lfx/components/cometapi/cometapi.py +166 -0
  169. lfx/components/composio/__init__.py +222 -0
  170. lfx/components/composio/agentql_composio.py +11 -0
  171. lfx/components/composio/agiled_composio.py +11 -0
  172. lfx/components/composio/airtable_composio.py +11 -0
  173. lfx/components/composio/apollo_composio.py +11 -0
  174. lfx/components/composio/asana_composio.py +11 -0
  175. lfx/components/composio/attio_composio.py +11 -0
  176. lfx/components/composio/bitbucket_composio.py +11 -0
  177. lfx/components/composio/bolna_composio.py +11 -0
  178. lfx/components/composio/brightdata_composio.py +11 -0
  179. lfx/components/composio/calendly_composio.py +11 -0
  180. lfx/components/composio/canva_composio.py +11 -0
  181. lfx/components/composio/canvas_composio.py +11 -0
  182. lfx/components/composio/coda_composio.py +11 -0
  183. lfx/components/composio/composio_api.py +278 -0
  184. lfx/components/composio/contentful_composio.py +11 -0
  185. lfx/components/composio/digicert_composio.py +11 -0
  186. lfx/components/composio/discord_composio.py +11 -0
  187. lfx/components/composio/dropbox_compnent.py +11 -0
  188. lfx/components/composio/elevenlabs_composio.py +11 -0
  189. lfx/components/composio/exa_composio.py +11 -0
  190. lfx/components/composio/figma_composio.py +11 -0
  191. lfx/components/composio/finage_composio.py +11 -0
  192. lfx/components/composio/firecrawl_composio.py +11 -0
  193. lfx/components/composio/fireflies_composio.py +11 -0
  194. lfx/components/composio/fixer_composio.py +11 -0
  195. lfx/components/composio/flexisign_composio.py +11 -0
  196. lfx/components/composio/freshdesk_composio.py +11 -0
  197. lfx/components/composio/github_composio.py +11 -0
  198. lfx/components/composio/gmail_composio.py +38 -0
  199. lfx/components/composio/googlebigquery_composio.py +11 -0
  200. lfx/components/composio/googlecalendar_composio.py +11 -0
  201. lfx/components/composio/googleclassroom_composio.py +11 -0
  202. lfx/components/composio/googledocs_composio.py +11 -0
  203. lfx/components/composio/googlemeet_composio.py +11 -0
  204. lfx/components/composio/googlesheets_composio.py +11 -0
  205. lfx/components/composio/googletasks_composio.py +8 -0
  206. lfx/components/composio/heygen_composio.py +11 -0
  207. lfx/components/composio/instagram_composio.py +11 -0
  208. lfx/components/composio/jira_composio.py +11 -0
  209. lfx/components/composio/jotform_composio.py +11 -0
  210. lfx/components/composio/klaviyo_composio.py +11 -0
  211. lfx/components/composio/linear_composio.py +11 -0
  212. lfx/components/composio/listennotes_composio.py +11 -0
  213. lfx/components/composio/mem0_composio.py +11 -0
  214. lfx/components/composio/miro_composio.py +11 -0
  215. lfx/components/composio/missive_composio.py +11 -0
  216. lfx/components/composio/notion_composio.py +11 -0
  217. lfx/components/composio/onedrive_composio.py +11 -0
  218. lfx/components/composio/outlook_composio.py +11 -0
  219. lfx/components/composio/pandadoc_composio.py +11 -0
  220. lfx/components/composio/peopledatalabs_composio.py +11 -0
  221. lfx/components/composio/perplexityai_composio.py +11 -0
  222. lfx/components/composio/reddit_composio.py +11 -0
  223. lfx/components/composio/serpapi_composio.py +11 -0
  224. lfx/components/composio/slack_composio.py +11 -0
  225. lfx/components/composio/slackbot_composio.py +11 -0
  226. lfx/components/composio/snowflake_composio.py +11 -0
  227. lfx/components/composio/supabase_composio.py +11 -0
  228. lfx/components/composio/tavily_composio.py +11 -0
  229. lfx/components/composio/timelinesai_composio.py +11 -0
  230. lfx/components/composio/todoist_composio.py +11 -0
  231. lfx/components/composio/wrike_composio.py +11 -0
  232. lfx/components/composio/youtube_composio.py +11 -0
  233. lfx/components/confluence/__init__.py +3 -0
  234. lfx/components/confluence/confluence.py +84 -0
  235. lfx/components/couchbase/__init__.py +34 -0
  236. lfx/components/couchbase/couchbase.py +102 -0
  237. lfx/components/crewai/__init__.py +49 -0
  238. lfx/components/crewai/crewai.py +108 -0
  239. lfx/components/crewai/hierarchical_crew.py +47 -0
  240. lfx/components/crewai/hierarchical_task.py +45 -0
  241. lfx/components/crewai/sequential_crew.py +53 -0
  242. lfx/components/crewai/sequential_task.py +74 -0
  243. lfx/components/crewai/sequential_task_agent.py +144 -0
  244. lfx/components/cuga/__init__.py +34 -0
  245. lfx/components/cuga/cuga_agent.py +730 -0
  246. lfx/components/custom_component/__init__.py +34 -0
  247. lfx/components/custom_component/custom_component.py +31 -0
  248. lfx/components/data/__init__.py +114 -0
  249. lfx/components/data_source/__init__.py +58 -0
  250. lfx/components/data_source/api_request.py +577 -0
  251. lfx/components/data_source/csv_to_data.py +101 -0
  252. lfx/components/data_source/json_to_data.py +106 -0
  253. lfx/components/data_source/mock_data.py +398 -0
  254. lfx/components/data_source/news_search.py +166 -0
  255. lfx/components/data_source/rss.py +71 -0
  256. lfx/components/data_source/sql_executor.py +101 -0
  257. lfx/components/data_source/url.py +311 -0
  258. lfx/components/data_source/web_search.py +326 -0
  259. lfx/components/datastax/__init__.py +76 -0
  260. lfx/components/datastax/astradb_assistant_manager.py +307 -0
  261. lfx/components/datastax/astradb_chatmemory.py +40 -0
  262. lfx/components/datastax/astradb_cql.py +288 -0
  263. lfx/components/datastax/astradb_graph.py +217 -0
  264. lfx/components/datastax/astradb_tool.py +378 -0
  265. lfx/components/datastax/astradb_vectorize.py +122 -0
  266. lfx/components/datastax/astradb_vectorstore.py +449 -0
  267. lfx/components/datastax/create_assistant.py +59 -0
  268. lfx/components/datastax/create_thread.py +33 -0
  269. lfx/components/datastax/dotenv.py +36 -0
  270. lfx/components/datastax/get_assistant.py +38 -0
  271. lfx/components/datastax/getenvvar.py +31 -0
  272. lfx/components/datastax/graph_rag.py +141 -0
  273. lfx/components/datastax/hcd.py +315 -0
  274. lfx/components/datastax/list_assistants.py +26 -0
  275. lfx/components/datastax/run.py +90 -0
  276. lfx/components/deactivated/__init__.py +15 -0
  277. lfx/components/deactivated/amazon_kendra.py +66 -0
  278. lfx/components/deactivated/chat_litellm_model.py +158 -0
  279. lfx/components/deactivated/code_block_extractor.py +26 -0
  280. lfx/components/deactivated/documents_to_data.py +22 -0
  281. lfx/components/deactivated/embed.py +16 -0
  282. lfx/components/deactivated/extract_key_from_data.py +46 -0
  283. lfx/components/deactivated/json_document_builder.py +57 -0
  284. lfx/components/deactivated/list_flows.py +20 -0
  285. lfx/components/deactivated/mcp_sse.py +61 -0
  286. lfx/components/deactivated/mcp_stdio.py +62 -0
  287. lfx/components/deactivated/merge_data.py +93 -0
  288. lfx/components/deactivated/message.py +37 -0
  289. lfx/components/deactivated/metal.py +54 -0
  290. lfx/components/deactivated/multi_query.py +59 -0
  291. lfx/components/deactivated/retriever.py +43 -0
  292. lfx/components/deactivated/selective_passthrough.py +77 -0
  293. lfx/components/deactivated/should_run_next.py +40 -0
  294. lfx/components/deactivated/split_text.py +63 -0
  295. lfx/components/deactivated/store_message.py +24 -0
  296. lfx/components/deactivated/sub_flow.py +124 -0
  297. lfx/components/deactivated/vectara_self_query.py +76 -0
  298. lfx/components/deactivated/vector_store.py +24 -0
  299. lfx/components/deepseek/__init__.py +34 -0
  300. lfx/components/deepseek/deepseek.py +136 -0
  301. lfx/components/docling/__init__.py +43 -0
  302. lfx/components/docling/chunk_docling_document.py +186 -0
  303. lfx/components/docling/docling_inline.py +238 -0
  304. lfx/components/docling/docling_remote.py +195 -0
  305. lfx/components/docling/export_docling_document.py +117 -0
  306. lfx/components/documentloaders/__init__.py +3 -0
  307. lfx/components/duckduckgo/__init__.py +3 -0
  308. lfx/components/duckduckgo/duck_duck_go_search_run.py +92 -0
  309. lfx/components/elastic/__init__.py +37 -0
  310. lfx/components/elastic/elasticsearch.py +267 -0
  311. lfx/components/elastic/opensearch.py +789 -0
  312. lfx/components/elastic/opensearch_multimodal.py +1575 -0
  313. lfx/components/embeddings/__init__.py +37 -0
  314. lfx/components/embeddings/similarity.py +77 -0
  315. lfx/components/embeddings/text_embedder.py +65 -0
  316. lfx/components/exa/__init__.py +3 -0
  317. lfx/components/exa/exa_search.py +68 -0
  318. lfx/components/files_and_knowledge/__init__.py +47 -0
  319. lfx/components/files_and_knowledge/directory.py +113 -0
  320. lfx/components/files_and_knowledge/file.py +841 -0
  321. lfx/components/files_and_knowledge/ingestion.py +694 -0
  322. lfx/components/files_and_knowledge/retrieval.py +264 -0
  323. lfx/components/files_and_knowledge/save_file.py +746 -0
  324. lfx/components/firecrawl/__init__.py +43 -0
  325. lfx/components/firecrawl/firecrawl_crawl_api.py +88 -0
  326. lfx/components/firecrawl/firecrawl_extract_api.py +136 -0
  327. lfx/components/firecrawl/firecrawl_map_api.py +89 -0
  328. lfx/components/firecrawl/firecrawl_scrape_api.py +73 -0
  329. lfx/components/flow_controls/__init__.py +58 -0
  330. lfx/components/flow_controls/conditional_router.py +208 -0
  331. lfx/components/flow_controls/data_conditional_router.py +126 -0
  332. lfx/components/flow_controls/flow_tool.py +111 -0
  333. lfx/components/flow_controls/listen.py +29 -0
  334. lfx/components/flow_controls/loop.py +163 -0
  335. lfx/components/flow_controls/notify.py +88 -0
  336. lfx/components/flow_controls/pass_message.py +36 -0
  337. lfx/components/flow_controls/run_flow.py +108 -0
  338. lfx/components/flow_controls/sub_flow.py +115 -0
  339. lfx/components/git/__init__.py +4 -0
  340. lfx/components/git/git.py +262 -0
  341. lfx/components/git/gitextractor.py +196 -0
  342. lfx/components/glean/__init__.py +3 -0
  343. lfx/components/glean/glean_search_api.py +173 -0
  344. lfx/components/google/__init__.py +17 -0
  345. lfx/components/google/gmail.py +193 -0
  346. lfx/components/google/google_bq_sql_executor.py +157 -0
  347. lfx/components/google/google_drive.py +92 -0
  348. lfx/components/google/google_drive_search.py +152 -0
  349. lfx/components/google/google_generative_ai.py +144 -0
  350. lfx/components/google/google_generative_ai_embeddings.py +141 -0
  351. lfx/components/google/google_oauth_token.py +89 -0
  352. lfx/components/google/google_search_api_core.py +68 -0
  353. lfx/components/google/google_serper_api_core.py +74 -0
  354. lfx/components/groq/__init__.py +34 -0
  355. lfx/components/groq/groq.py +143 -0
  356. lfx/components/helpers/__init__.py +154 -0
  357. lfx/components/homeassistant/__init__.py +7 -0
  358. lfx/components/homeassistant/home_assistant_control.py +152 -0
  359. lfx/components/homeassistant/list_home_assistant_states.py +137 -0
  360. lfx/components/huggingface/__init__.py +37 -0
  361. lfx/components/huggingface/huggingface.py +199 -0
  362. lfx/components/huggingface/huggingface_inference_api.py +106 -0
  363. lfx/components/ibm/__init__.py +34 -0
  364. lfx/components/ibm/watsonx.py +207 -0
  365. lfx/components/ibm/watsonx_embeddings.py +135 -0
  366. lfx/components/icosacomputing/__init__.py +5 -0
  367. lfx/components/icosacomputing/combinatorial_reasoner.py +84 -0
  368. lfx/components/input_output/__init__.py +40 -0
  369. lfx/components/input_output/chat.py +109 -0
  370. lfx/components/input_output/chat_output.py +184 -0
  371. lfx/components/input_output/text.py +27 -0
  372. lfx/components/input_output/text_output.py +29 -0
  373. lfx/components/input_output/webhook.py +56 -0
  374. lfx/components/jigsawstack/__init__.py +23 -0
  375. lfx/components/jigsawstack/ai_scrape.py +126 -0
  376. lfx/components/jigsawstack/ai_web_search.py +136 -0
  377. lfx/components/jigsawstack/file_read.py +115 -0
  378. lfx/components/jigsawstack/file_upload.py +94 -0
  379. lfx/components/jigsawstack/image_generation.py +205 -0
  380. lfx/components/jigsawstack/nsfw.py +60 -0
  381. lfx/components/jigsawstack/object_detection.py +124 -0
  382. lfx/components/jigsawstack/sentiment.py +112 -0
  383. lfx/components/jigsawstack/text_to_sql.py +90 -0
  384. lfx/components/jigsawstack/text_translate.py +77 -0
  385. lfx/components/jigsawstack/vocr.py +107 -0
  386. lfx/components/knowledge_bases/__init__.py +89 -0
  387. lfx/components/langchain_utilities/__init__.py +109 -0
  388. lfx/components/langchain_utilities/character.py +53 -0
  389. lfx/components/langchain_utilities/conversation.py +59 -0
  390. lfx/components/langchain_utilities/csv_agent.py +175 -0
  391. lfx/components/langchain_utilities/fake_embeddings.py +26 -0
  392. lfx/components/langchain_utilities/html_link_extractor.py +35 -0
  393. lfx/components/langchain_utilities/json_agent.py +100 -0
  394. lfx/components/langchain_utilities/langchain_hub.py +126 -0
  395. lfx/components/langchain_utilities/language_recursive.py +49 -0
  396. lfx/components/langchain_utilities/language_semantic.py +138 -0
  397. lfx/components/langchain_utilities/llm_checker.py +39 -0
  398. lfx/components/langchain_utilities/llm_math.py +42 -0
  399. lfx/components/langchain_utilities/natural_language.py +61 -0
  400. lfx/components/langchain_utilities/openai_tools.py +53 -0
  401. lfx/components/langchain_utilities/openapi.py +48 -0
  402. lfx/components/langchain_utilities/recursive_character.py +60 -0
  403. lfx/components/langchain_utilities/retrieval_qa.py +83 -0
  404. lfx/components/langchain_utilities/runnable_executor.py +137 -0
  405. lfx/components/langchain_utilities/self_query.py +80 -0
  406. lfx/components/langchain_utilities/spider.py +142 -0
  407. lfx/components/langchain_utilities/sql.py +40 -0
  408. lfx/components/langchain_utilities/sql_database.py +35 -0
  409. lfx/components/langchain_utilities/sql_generator.py +78 -0
  410. lfx/components/langchain_utilities/tool_calling.py +59 -0
  411. lfx/components/langchain_utilities/vector_store_info.py +49 -0
  412. lfx/components/langchain_utilities/vector_store_router.py +33 -0
  413. lfx/components/langchain_utilities/xml_agent.py +71 -0
  414. lfx/components/langwatch/__init__.py +3 -0
  415. lfx/components/langwatch/langwatch.py +278 -0
  416. lfx/components/link_extractors/__init__.py +3 -0
  417. lfx/components/llm_operations/__init__.py +46 -0
  418. lfx/components/llm_operations/batch_run.py +205 -0
  419. lfx/components/llm_operations/lambda_filter.py +218 -0
  420. lfx/components/llm_operations/llm_conditional_router.py +421 -0
  421. lfx/components/llm_operations/llm_selector.py +499 -0
  422. lfx/components/llm_operations/structured_output.py +244 -0
  423. lfx/components/lmstudio/__init__.py +34 -0
  424. lfx/components/lmstudio/lmstudioembeddings.py +89 -0
  425. lfx/components/lmstudio/lmstudiomodel.py +133 -0
  426. lfx/components/logic/__init__.py +181 -0
  427. lfx/components/maritalk/__init__.py +32 -0
  428. lfx/components/maritalk/maritalk.py +52 -0
  429. lfx/components/mem0/__init__.py +3 -0
  430. lfx/components/mem0/mem0_chat_memory.py +147 -0
  431. lfx/components/milvus/__init__.py +34 -0
  432. lfx/components/milvus/milvus.py +115 -0
  433. lfx/components/mistral/__init__.py +37 -0
  434. lfx/components/mistral/mistral.py +114 -0
  435. lfx/components/mistral/mistral_embeddings.py +58 -0
  436. lfx/components/models/__init__.py +89 -0
  437. lfx/components/models_and_agents/__init__.py +49 -0
  438. lfx/components/models_and_agents/agent.py +644 -0
  439. lfx/components/models_and_agents/embedding_model.py +423 -0
  440. lfx/components/models_and_agents/language_model.py +398 -0
  441. lfx/components/models_and_agents/mcp_component.py +594 -0
  442. lfx/components/models_and_agents/memory.py +268 -0
  443. lfx/components/models_and_agents/prompt.py +67 -0
  444. lfx/components/mongodb/__init__.py +34 -0
  445. lfx/components/mongodb/mongodb_atlas.py +213 -0
  446. lfx/components/needle/__init__.py +3 -0
  447. lfx/components/needle/needle.py +104 -0
  448. lfx/components/notdiamond/__init__.py +34 -0
  449. lfx/components/notdiamond/notdiamond.py +228 -0
  450. lfx/components/novita/__init__.py +32 -0
  451. lfx/components/novita/novita.py +130 -0
  452. lfx/components/nvidia/__init__.py +57 -0
  453. lfx/components/nvidia/nvidia.py +151 -0
  454. lfx/components/nvidia/nvidia_embedding.py +77 -0
  455. lfx/components/nvidia/nvidia_ingest.py +317 -0
  456. lfx/components/nvidia/nvidia_rerank.py +63 -0
  457. lfx/components/nvidia/system_assist.py +65 -0
  458. lfx/components/olivya/__init__.py +3 -0
  459. lfx/components/olivya/olivya.py +116 -0
  460. lfx/components/ollama/__init__.py +37 -0
  461. lfx/components/ollama/ollama.py +548 -0
  462. lfx/components/ollama/ollama_embeddings.py +103 -0
  463. lfx/components/openai/__init__.py +37 -0
  464. lfx/components/openai/openai.py +100 -0
  465. lfx/components/openai/openai_chat_model.py +176 -0
  466. lfx/components/openrouter/__init__.py +32 -0
  467. lfx/components/openrouter/openrouter.py +104 -0
  468. lfx/components/output_parsers/__init__.py +3 -0
  469. lfx/components/perplexity/__init__.py +34 -0
  470. lfx/components/perplexity/perplexity.py +75 -0
  471. lfx/components/pgvector/__init__.py +34 -0
  472. lfx/components/pgvector/pgvector.py +72 -0
  473. lfx/components/pinecone/__init__.py +34 -0
  474. lfx/components/pinecone/pinecone.py +134 -0
  475. lfx/components/processing/__init__.py +72 -0
  476. lfx/components/processing/alter_metadata.py +109 -0
  477. lfx/components/processing/combine_text.py +40 -0
  478. lfx/components/processing/converter.py +248 -0
  479. lfx/components/processing/create_data.py +111 -0
  480. lfx/components/processing/create_list.py +40 -0
  481. lfx/components/processing/data_operations.py +528 -0
  482. lfx/components/processing/data_to_dataframe.py +71 -0
  483. lfx/components/processing/dataframe_operations.py +313 -0
  484. lfx/components/processing/dataframe_to_toolset.py +259 -0
  485. lfx/components/processing/dynamic_create_data.py +357 -0
  486. lfx/components/processing/extract_key.py +54 -0
  487. lfx/components/processing/filter_data.py +43 -0
  488. lfx/components/processing/filter_data_values.py +89 -0
  489. lfx/components/processing/json_cleaner.py +104 -0
  490. lfx/components/processing/merge_data.py +91 -0
  491. lfx/components/processing/message_to_data.py +37 -0
  492. lfx/components/processing/output_parser.py +46 -0
  493. lfx/components/processing/parse_data.py +71 -0
  494. lfx/components/processing/parse_dataframe.py +69 -0
  495. lfx/components/processing/parse_json_data.py +91 -0
  496. lfx/components/processing/parser.py +148 -0
  497. lfx/components/processing/regex.py +83 -0
  498. lfx/components/processing/select_data.py +49 -0
  499. lfx/components/processing/split_text.py +141 -0
  500. lfx/components/processing/store_message.py +91 -0
  501. lfx/components/processing/update_data.py +161 -0
  502. lfx/components/prototypes/__init__.py +35 -0
  503. lfx/components/prototypes/python_function.py +73 -0
  504. lfx/components/qdrant/__init__.py +34 -0
  505. lfx/components/qdrant/qdrant.py +109 -0
  506. lfx/components/redis/__init__.py +37 -0
  507. lfx/components/redis/redis.py +89 -0
  508. lfx/components/redis/redis_chat.py +43 -0
  509. lfx/components/sambanova/__init__.py +32 -0
  510. lfx/components/sambanova/sambanova.py +84 -0
  511. lfx/components/scrapegraph/__init__.py +40 -0
  512. lfx/components/scrapegraph/scrapegraph_markdownify_api.py +64 -0
  513. lfx/components/scrapegraph/scrapegraph_search_api.py +64 -0
  514. lfx/components/scrapegraph/scrapegraph_smart_scraper_api.py +71 -0
  515. lfx/components/searchapi/__init__.py +34 -0
  516. lfx/components/searchapi/search.py +79 -0
  517. lfx/components/serpapi/__init__.py +3 -0
  518. lfx/components/serpapi/serp.py +115 -0
  519. lfx/components/supabase/__init__.py +34 -0
  520. lfx/components/supabase/supabase.py +76 -0
  521. lfx/components/tavily/__init__.py +4 -0
  522. lfx/components/tavily/tavily_extract.py +117 -0
  523. lfx/components/tavily/tavily_search.py +212 -0
  524. lfx/components/textsplitters/__init__.py +3 -0
  525. lfx/components/toolkits/__init__.py +3 -0
  526. lfx/components/tools/__init__.py +66 -0
  527. lfx/components/tools/calculator.py +109 -0
  528. lfx/components/tools/google_search_api.py +45 -0
  529. lfx/components/tools/google_serper_api.py +115 -0
  530. lfx/components/tools/python_code_structured_tool.py +328 -0
  531. lfx/components/tools/python_repl.py +98 -0
  532. lfx/components/tools/search_api.py +88 -0
  533. lfx/components/tools/searxng.py +145 -0
  534. lfx/components/tools/serp_api.py +120 -0
  535. lfx/components/tools/tavily_search_tool.py +345 -0
  536. lfx/components/tools/wikidata_api.py +103 -0
  537. lfx/components/tools/wikipedia_api.py +50 -0
  538. lfx/components/tools/yahoo_finance.py +130 -0
  539. lfx/components/twelvelabs/__init__.py +52 -0
  540. lfx/components/twelvelabs/convert_astra_results.py +84 -0
  541. lfx/components/twelvelabs/pegasus_index.py +311 -0
  542. lfx/components/twelvelabs/split_video.py +301 -0
  543. lfx/components/twelvelabs/text_embeddings.py +57 -0
  544. lfx/components/twelvelabs/twelvelabs_pegasus.py +408 -0
  545. lfx/components/twelvelabs/video_embeddings.py +100 -0
  546. lfx/components/twelvelabs/video_file.py +191 -0
  547. lfx/components/unstructured/__init__.py +3 -0
  548. lfx/components/unstructured/unstructured.py +121 -0
  549. lfx/components/upstash/__init__.py +34 -0
  550. lfx/components/upstash/upstash.py +124 -0
  551. lfx/components/utilities/__init__.py +43 -0
  552. lfx/components/utilities/calculator_core.py +89 -0
  553. lfx/components/utilities/current_date.py +42 -0
  554. lfx/components/utilities/id_generator.py +42 -0
  555. lfx/components/utilities/python_repl_core.py +98 -0
  556. lfx/components/vectara/__init__.py +37 -0
  557. lfx/components/vectara/vectara.py +97 -0
  558. lfx/components/vectara/vectara_rag.py +164 -0
  559. lfx/components/vectorstores/__init__.py +34 -0
  560. lfx/components/vectorstores/local_db.py +270 -0
  561. lfx/components/vertexai/__init__.py +37 -0
  562. lfx/components/vertexai/vertexai.py +71 -0
  563. lfx/components/vertexai/vertexai_embeddings.py +67 -0
  564. lfx/components/vlmrun/__init__.py +34 -0
  565. lfx/components/vlmrun/vlmrun_transcription.py +224 -0
  566. lfx/components/weaviate/__init__.py +34 -0
  567. lfx/components/weaviate/weaviate.py +89 -0
  568. lfx/components/wikipedia/__init__.py +4 -0
  569. lfx/components/wikipedia/wikidata.py +86 -0
  570. lfx/components/wikipedia/wikipedia.py +53 -0
  571. lfx/components/wolframalpha/__init__.py +3 -0
  572. lfx/components/wolframalpha/wolfram_alpha_api.py +54 -0
  573. lfx/components/xai/__init__.py +32 -0
  574. lfx/components/xai/xai.py +167 -0
  575. lfx/components/yahoosearch/__init__.py +3 -0
  576. lfx/components/yahoosearch/yahoo.py +137 -0
  577. lfx/components/youtube/__init__.py +52 -0
  578. lfx/components/youtube/channel.py +227 -0
  579. lfx/components/youtube/comments.py +231 -0
  580. lfx/components/youtube/playlist.py +33 -0
  581. lfx/components/youtube/search.py +120 -0
  582. lfx/components/youtube/trending.py +285 -0
  583. lfx/components/youtube/video_details.py +263 -0
  584. lfx/components/youtube/youtube_transcripts.py +206 -0
  585. lfx/components/zep/__init__.py +3 -0
  586. lfx/components/zep/zep.py +45 -0
  587. lfx/constants.py +6 -0
  588. lfx/custom/__init__.py +7 -0
  589. lfx/custom/attributes.py +87 -0
  590. lfx/custom/code_parser/__init__.py +3 -0
  591. lfx/custom/code_parser/code_parser.py +361 -0
  592. lfx/custom/custom_component/__init__.py +0 -0
  593. lfx/custom/custom_component/base_component.py +128 -0
  594. lfx/custom/custom_component/component.py +1890 -0
  595. lfx/custom/custom_component/component_with_cache.py +8 -0
  596. lfx/custom/custom_component/custom_component.py +650 -0
  597. lfx/custom/dependency_analyzer.py +165 -0
  598. lfx/custom/directory_reader/__init__.py +3 -0
  599. lfx/custom/directory_reader/directory_reader.py +359 -0
  600. lfx/custom/directory_reader/utils.py +171 -0
  601. lfx/custom/eval.py +12 -0
  602. lfx/custom/schema.py +32 -0
  603. lfx/custom/tree_visitor.py +21 -0
  604. lfx/custom/utils.py +877 -0
  605. lfx/custom/validate.py +523 -0
  606. lfx/events/__init__.py +1 -0
  607. lfx/events/event_manager.py +110 -0
  608. lfx/exceptions/__init__.py +0 -0
  609. lfx/exceptions/component.py +15 -0
  610. lfx/field_typing/__init__.py +91 -0
  611. lfx/field_typing/constants.py +216 -0
  612. lfx/field_typing/range_spec.py +35 -0
  613. lfx/graph/__init__.py +6 -0
  614. lfx/graph/edge/__init__.py +0 -0
  615. lfx/graph/edge/base.py +300 -0
  616. lfx/graph/edge/schema.py +119 -0
  617. lfx/graph/edge/utils.py +0 -0
  618. lfx/graph/graph/__init__.py +0 -0
  619. lfx/graph/graph/ascii.py +202 -0
  620. lfx/graph/graph/base.py +2298 -0
  621. lfx/graph/graph/constants.py +63 -0
  622. lfx/graph/graph/runnable_vertices_manager.py +133 -0
  623. lfx/graph/graph/schema.py +53 -0
  624. lfx/graph/graph/state_model.py +66 -0
  625. lfx/graph/graph/utils.py +1024 -0
  626. lfx/graph/schema.py +75 -0
  627. lfx/graph/state/__init__.py +0 -0
  628. lfx/graph/state/model.py +250 -0
  629. lfx/graph/utils.py +206 -0
  630. lfx/graph/vertex/__init__.py +0 -0
  631. lfx/graph/vertex/base.py +826 -0
  632. lfx/graph/vertex/constants.py +0 -0
  633. lfx/graph/vertex/exceptions.py +4 -0
  634. lfx/graph/vertex/param_handler.py +316 -0
  635. lfx/graph/vertex/schema.py +26 -0
  636. lfx/graph/vertex/utils.py +19 -0
  637. lfx/graph/vertex/vertex_types.py +489 -0
  638. lfx/helpers/__init__.py +141 -0
  639. lfx/helpers/base_model.py +71 -0
  640. lfx/helpers/custom.py +13 -0
  641. lfx/helpers/data.py +167 -0
  642. lfx/helpers/flow.py +308 -0
  643. lfx/inputs/__init__.py +68 -0
  644. lfx/inputs/constants.py +2 -0
  645. lfx/inputs/input_mixin.py +352 -0
  646. lfx/inputs/inputs.py +718 -0
  647. lfx/inputs/validators.py +19 -0
  648. lfx/interface/__init__.py +6 -0
  649. lfx/interface/components.py +897 -0
  650. lfx/interface/importing/__init__.py +5 -0
  651. lfx/interface/importing/utils.py +39 -0
  652. lfx/interface/initialize/__init__.py +3 -0
  653. lfx/interface/initialize/loading.py +317 -0
  654. lfx/interface/listing.py +26 -0
  655. lfx/interface/run.py +16 -0
  656. lfx/interface/utils.py +111 -0
  657. lfx/io/__init__.py +63 -0
  658. lfx/io/schema.py +295 -0
  659. lfx/load/__init__.py +8 -0
  660. lfx/load/load.py +256 -0
  661. lfx/load/utils.py +99 -0
  662. lfx/log/__init__.py +5 -0
  663. lfx/log/logger.py +411 -0
  664. lfx/logging/__init__.py +11 -0
  665. lfx/logging/logger.py +24 -0
  666. lfx/memory/__init__.py +70 -0
  667. lfx/memory/stubs.py +302 -0
  668. lfx/processing/__init__.py +1 -0
  669. lfx/processing/process.py +238 -0
  670. lfx/processing/utils.py +25 -0
  671. lfx/py.typed +0 -0
  672. lfx/schema/__init__.py +66 -0
  673. lfx/schema/artifact.py +83 -0
  674. lfx/schema/content_block.py +62 -0
  675. lfx/schema/content_types.py +91 -0
  676. lfx/schema/cross_module.py +80 -0
  677. lfx/schema/data.py +309 -0
  678. lfx/schema/dataframe.py +210 -0
  679. lfx/schema/dotdict.py +74 -0
  680. lfx/schema/encoders.py +13 -0
  681. lfx/schema/graph.py +47 -0
  682. lfx/schema/image.py +184 -0
  683. lfx/schema/json_schema.py +186 -0
  684. lfx/schema/log.py +62 -0
  685. lfx/schema/message.py +493 -0
  686. lfx/schema/openai_responses_schemas.py +74 -0
  687. lfx/schema/properties.py +41 -0
  688. lfx/schema/schema.py +180 -0
  689. lfx/schema/serialize.py +13 -0
  690. lfx/schema/table.py +142 -0
  691. lfx/schema/validators.py +114 -0
  692. lfx/serialization/__init__.py +5 -0
  693. lfx/serialization/constants.py +2 -0
  694. lfx/serialization/serialization.py +314 -0
  695. lfx/services/__init__.py +26 -0
  696. lfx/services/base.py +28 -0
  697. lfx/services/cache/__init__.py +6 -0
  698. lfx/services/cache/base.py +183 -0
  699. lfx/services/cache/service.py +166 -0
  700. lfx/services/cache/utils.py +169 -0
  701. lfx/services/chat/__init__.py +1 -0
  702. lfx/services/chat/config.py +2 -0
  703. lfx/services/chat/schema.py +10 -0
  704. lfx/services/database/__init__.py +5 -0
  705. lfx/services/database/service.py +25 -0
  706. lfx/services/deps.py +194 -0
  707. lfx/services/factory.py +19 -0
  708. lfx/services/initialize.py +19 -0
  709. lfx/services/interfaces.py +103 -0
  710. lfx/services/manager.py +185 -0
  711. lfx/services/mcp_composer/__init__.py +6 -0
  712. lfx/services/mcp_composer/factory.py +16 -0
  713. lfx/services/mcp_composer/service.py +1441 -0
  714. lfx/services/schema.py +21 -0
  715. lfx/services/session.py +87 -0
  716. lfx/services/settings/__init__.py +3 -0
  717. lfx/services/settings/auth.py +133 -0
  718. lfx/services/settings/base.py +668 -0
  719. lfx/services/settings/constants.py +43 -0
  720. lfx/services/settings/factory.py +23 -0
  721. lfx/services/settings/feature_flags.py +11 -0
  722. lfx/services/settings/service.py +35 -0
  723. lfx/services/settings/utils.py +40 -0
  724. lfx/services/shared_component_cache/__init__.py +1 -0
  725. lfx/services/shared_component_cache/factory.py +30 -0
  726. lfx/services/shared_component_cache/service.py +9 -0
  727. lfx/services/storage/__init__.py +5 -0
  728. lfx/services/storage/local.py +185 -0
  729. lfx/services/storage/service.py +177 -0
  730. lfx/services/tracing/__init__.py +1 -0
  731. lfx/services/tracing/service.py +21 -0
  732. lfx/settings.py +6 -0
  733. lfx/template/__init__.py +6 -0
  734. lfx/template/field/__init__.py +0 -0
  735. lfx/template/field/base.py +260 -0
  736. lfx/template/field/prompt.py +15 -0
  737. lfx/template/frontend_node/__init__.py +6 -0
  738. lfx/template/frontend_node/base.py +214 -0
  739. lfx/template/frontend_node/constants.py +65 -0
  740. lfx/template/frontend_node/custom_components.py +79 -0
  741. lfx/template/template/__init__.py +0 -0
  742. lfx/template/template/base.py +100 -0
  743. lfx/template/utils.py +217 -0
  744. lfx/type_extraction/__init__.py +19 -0
  745. lfx/type_extraction/type_extraction.py +75 -0
  746. lfx/type_extraction.py +80 -0
  747. lfx/utils/__init__.py +1 -0
  748. lfx/utils/async_helpers.py +42 -0
  749. lfx/utils/component_utils.py +154 -0
  750. lfx/utils/concurrency.py +60 -0
  751. lfx/utils/connection_string_parser.py +11 -0
  752. lfx/utils/constants.py +233 -0
  753. lfx/utils/data_structure.py +212 -0
  754. lfx/utils/exceptions.py +22 -0
  755. lfx/utils/helpers.py +34 -0
  756. lfx/utils/image.py +79 -0
  757. lfx/utils/langflow_utils.py +52 -0
  758. lfx/utils/lazy_load.py +15 -0
  759. lfx/utils/request_utils.py +18 -0
  760. lfx/utils/schemas.py +139 -0
  761. lfx/utils/ssrf_protection.py +384 -0
  762. lfx/utils/util.py +626 -0
  763. lfx/utils/util_strings.py +56 -0
  764. lfx/utils/validate_cloud.py +26 -0
  765. lfx/utils/version.py +24 -0
  766. lfx_nightly-0.2.0.dev25.dist-info/METADATA +312 -0
  767. lfx_nightly-0.2.0.dev25.dist-info/RECORD +769 -0
  768. lfx_nightly-0.2.0.dev25.dist-info/WHEEL +4 -0
  769. lfx_nightly-0.2.0.dev25.dist-info/entry_points.txt +2 -0
@@ -0,0 +1,40 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Any
4
+
5
+ from lfx.components._importing import import_mod
6
+
7
+ if TYPE_CHECKING:
8
+ from .cohere_embeddings import CohereEmbeddingsComponent
9
+ from .cohere_models import CohereComponent
10
+ from .cohere_rerank import CohereRerankComponent
11
+
12
+ _dynamic_imports = {
13
+ "CohereComponent": "cohere_models",
14
+ "CohereEmbeddingsComponent": "cohere_embeddings",
15
+ "CohereRerankComponent": "cohere_rerank",
16
+ }
17
+
18
+ __all__ = [
19
+ "CohereComponent",
20
+ "CohereEmbeddingsComponent",
21
+ "CohereRerankComponent",
22
+ ]
23
+
24
+
25
+ def __getattr__(attr_name: str) -> Any:
26
+ """Lazily import cohere components on attribute access."""
27
+ if attr_name not in _dynamic_imports:
28
+ msg = f"module '{__name__}' has no attribute '{attr_name}'"
29
+ raise AttributeError(msg)
30
+ try:
31
+ result = import_mod(attr_name, _dynamic_imports[attr_name], __spec__.parent)
32
+ except (ModuleNotFoundError, ImportError, AttributeError) as e:
33
+ msg = f"Could not import '{attr_name}' from '{__name__}': {e}"
34
+ raise AttributeError(msg) from e
35
+ globals()[attr_name] = result
36
+ return result
37
+
38
+
39
+ def __dir__() -> list[str]:
40
+ return list(__all__)
@@ -0,0 +1,81 @@
1
+ from typing import Any
2
+
3
+ import cohere
4
+ from langchain_cohere import CohereEmbeddings
5
+
6
+ from lfx.base.models.model import LCModelComponent
7
+ from lfx.field_typing import Embeddings
8
+ from lfx.io import DropdownInput, FloatInput, IntInput, MessageTextInput, Output, SecretStrInput
9
+
10
+ HTTP_STATUS_OK = 200
11
+
12
+
13
+ class CohereEmbeddingsComponent(LCModelComponent):
14
+ display_name = "Cohere Embeddings"
15
+ description = "Generate embeddings using Cohere models."
16
+ icon = "Cohere"
17
+ name = "CohereEmbeddings"
18
+
19
+ inputs = [
20
+ SecretStrInput(name="api_key", display_name="Cohere API Key", required=True, real_time_refresh=True),
21
+ DropdownInput(
22
+ name="model_name",
23
+ display_name="Model",
24
+ advanced=False,
25
+ options=[
26
+ "embed-english-v2.0",
27
+ "embed-multilingual-v2.0",
28
+ "embed-english-light-v2.0",
29
+ "embed-multilingual-light-v2.0",
30
+ ],
31
+ value="embed-english-v2.0",
32
+ refresh_button=True,
33
+ combobox=True,
34
+ ),
35
+ MessageTextInput(name="truncate", display_name="Truncate", advanced=True),
36
+ IntInput(name="max_retries", display_name="Max Retries", value=3, advanced=True),
37
+ MessageTextInput(name="user_agent", display_name="User Agent", advanced=True, value="langchain"),
38
+ FloatInput(name="request_timeout", display_name="Request Timeout", advanced=True),
39
+ ]
40
+
41
+ outputs = [
42
+ Output(display_name="Embeddings", name="embeddings", method="build_embeddings"),
43
+ ]
44
+
45
+ def build_embeddings(self) -> Embeddings:
46
+ data = None
47
+ try:
48
+ data = CohereEmbeddings(
49
+ cohere_api_key=self.api_key,
50
+ model=self.model_name,
51
+ truncate=self.truncate,
52
+ max_retries=self.max_retries,
53
+ user_agent=self.user_agent,
54
+ request_timeout=self.request_timeout or None,
55
+ )
56
+ except Exception as e:
57
+ msg = (
58
+ "Unable to create Cohere Embeddings. ",
59
+ "Please verify the API key and model parameters, and try again.",
60
+ )
61
+ raise ValueError(msg) from e
62
+ # added status if not the return data would be serialised to create the status
63
+ return data
64
+
65
+ def get_model(self):
66
+ try:
67
+ co = cohere.ClientV2(self.api_key)
68
+ response = co.models.list(endpoint="embed")
69
+ models = response.models
70
+ return [model.name for model in models]
71
+ except Exception as e:
72
+ msg = f"Failed to fetch Cohere models. Error: {e}"
73
+ raise ValueError(msg) from e
74
+
75
+ async def update_build_config(self, build_config: dict, field_value: Any, field_name: str | None = None):
76
+ if field_name in {"model_name", "api_key"}:
77
+ if build_config.get("api_key", {}).get("value", None):
78
+ build_config["model_name"]["options"] = self.get_model()
79
+ else:
80
+ build_config["model_name"]["options"] = field_value
81
+ return build_config
@@ -0,0 +1,46 @@
1
+ from langchain_cohere import ChatCohere
2
+ from pydantic.v1 import SecretStr
3
+
4
+ from lfx.base.models.model import LCModelComponent
5
+ from lfx.field_typing import LanguageModel
6
+ from lfx.field_typing.range_spec import RangeSpec
7
+ from lfx.io import SecretStrInput, SliderInput
8
+
9
+
10
+ class CohereComponent(LCModelComponent):
11
+ display_name = "Cohere Language Models"
12
+ description = "Generate text using Cohere LLMs."
13
+ documentation = "https://python.langchain.com/docs/integrations/llms/cohere/"
14
+ icon = "Cohere"
15
+ name = "CohereModel"
16
+
17
+ inputs = [
18
+ *LCModelComponent.get_base_inputs(),
19
+ SecretStrInput(
20
+ name="cohere_api_key",
21
+ display_name="Cohere API Key",
22
+ info="The Cohere API Key to use for the Cohere model.",
23
+ advanced=False,
24
+ value="COHERE_API_KEY",
25
+ required=True,
26
+ ),
27
+ SliderInput(
28
+ name="temperature",
29
+ display_name="Temperature",
30
+ value=0.75,
31
+ range_spec=RangeSpec(min=0, max=2, step=0.01),
32
+ info="Controls randomness. Lower values are more deterministic, higher values are more creative.",
33
+ advanced=True,
34
+ ),
35
+ ]
36
+
37
+ def build_model(self) -> LanguageModel: # type: ignore[type-var]
38
+ cohere_api_key = self.cohere_api_key
39
+ temperature = self.temperature
40
+
41
+ api_key = SecretStr(cohere_api_key).get_secret_value() if cohere_api_key else None
42
+
43
+ return ChatCohere(
44
+ temperature=temperature or 0.75,
45
+ cohere_api_key=api_key,
46
+ )
@@ -0,0 +1,51 @@
1
+ from lfx.base.compressors.model import LCCompressorComponent
2
+ from lfx.field_typing import BaseDocumentCompressor
3
+ from lfx.inputs.inputs import SecretStrInput
4
+ from lfx.io import DropdownInput
5
+ from lfx.template.field.base import Output
6
+
7
+
8
+ class CohereRerankComponent(LCCompressorComponent):
9
+ display_name = "Cohere Rerank"
10
+ description = "Rerank documents using the Cohere API."
11
+ name = "CohereRerank"
12
+ icon = "Cohere"
13
+
14
+ inputs = [
15
+ *LCCompressorComponent.inputs,
16
+ SecretStrInput(
17
+ name="api_key",
18
+ display_name="Cohere API Key",
19
+ ),
20
+ DropdownInput(
21
+ name="model",
22
+ display_name="Model",
23
+ options=[
24
+ "rerank-english-v3.0",
25
+ "rerank-multilingual-v3.0",
26
+ "rerank-english-v2.0",
27
+ "rerank-multilingual-v2.0",
28
+ ],
29
+ value="rerank-english-v3.0",
30
+ ),
31
+ ]
32
+
33
+ outputs = [
34
+ Output(
35
+ display_name="Reranked Documents",
36
+ name="reranked_documents",
37
+ method="compress_documents",
38
+ ),
39
+ ]
40
+
41
+ def build_compressor(self) -> BaseDocumentCompressor: # type: ignore[type-var]
42
+ try:
43
+ from langchain_cohere import CohereRerank
44
+ except ImportError as e:
45
+ msg = "Please install langchain-cohere to use the Cohere model."
46
+ raise ImportError(msg) from e
47
+ return CohereRerank(
48
+ cohere_api_key=self.api_key,
49
+ model=self.model,
50
+ top_n=self.top_n,
51
+ )
@@ -0,0 +1,32 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Any
4
+
5
+ from lfx.components._importing import import_mod
6
+
7
+ if TYPE_CHECKING:
8
+ from lfx.components.cometapi.cometapi import CometAPIComponent
9
+
10
+ _dynamic_imports = {
11
+ "CometAPIComponent": "cometapi",
12
+ }
13
+
14
+ __all__ = ["CometAPIComponent"]
15
+
16
+
17
+ def __getattr__(attr_name: str) -> Any:
18
+ """Lazily import cometapi components on attribute access."""
19
+ if attr_name not in _dynamic_imports:
20
+ msg = f"module '{__name__}' has no attribute '{attr_name}'"
21
+ raise AttributeError(msg)
22
+ try:
23
+ result = import_mod(attr_name, _dynamic_imports[attr_name], __spec__.parent)
24
+ except (ModuleNotFoundError, ImportError, AttributeError) as e:
25
+ msg = f"Could not import '{attr_name}' from '{__name__}': {e}"
26
+ raise AttributeError(msg) from e
27
+ globals()[attr_name] = result
28
+ return result
29
+
30
+
31
+ def __dir__() -> list[str]:
32
+ return list(__all__)
@@ -0,0 +1,166 @@
1
+ import json
2
+
3
+ import requests
4
+ from langchain_openai import ChatOpenAI
5
+ from pydantic.v1 import SecretStr
6
+ from typing_extensions import override
7
+
8
+ from lfx.base.models.cometapi_constants import MODEL_NAMES
9
+ from lfx.base.models.model import LCModelComponent
10
+ from lfx.field_typing import LanguageModel
11
+ from lfx.field_typing.range_spec import RangeSpec
12
+ from lfx.inputs.inputs import (
13
+ BoolInput,
14
+ DictInput,
15
+ DropdownInput,
16
+ IntInput,
17
+ SecretStrInput,
18
+ SliderInput,
19
+ StrInput,
20
+ )
21
+
22
+
23
+ class CometAPIComponent(LCModelComponent):
24
+ """CometAPI component for language models."""
25
+
26
+ display_name = "CometAPI"
27
+ description = "All AI Models in One API 500+ AI Models"
28
+ icon = "CometAPI"
29
+ name = "CometAPIModel"
30
+
31
+ inputs = [
32
+ *LCModelComponent.get_base_inputs(),
33
+ SecretStrInput(
34
+ name="api_key",
35
+ display_name="CometAPI Key",
36
+ required=True,
37
+ info="Your CometAPI key",
38
+ real_time_refresh=True,
39
+ ),
40
+ StrInput(
41
+ name="app_name",
42
+ display_name="App Name",
43
+ info="Your app name for CometAPI rankings",
44
+ advanced=True,
45
+ ),
46
+ DropdownInput(
47
+ name="model_name",
48
+ display_name="Model",
49
+ info="The model to use for chat completion",
50
+ options=["Select a model"],
51
+ value="Select a model",
52
+ real_time_refresh=True,
53
+ required=True,
54
+ ),
55
+ DictInput(
56
+ name="model_kwargs",
57
+ display_name="Model Kwargs",
58
+ info="Additional keyword arguments to pass to the model.",
59
+ advanced=True,
60
+ ),
61
+ SliderInput(
62
+ name="temperature",
63
+ display_name="Temperature",
64
+ value=0.7,
65
+ range_spec=RangeSpec(min=0, max=2, step=0.01),
66
+ info="Controls randomness. Lower values are more deterministic, higher values are more creative.",
67
+ advanced=True,
68
+ ),
69
+ IntInput(
70
+ name="max_tokens",
71
+ display_name="Max Tokens",
72
+ info="Maximum number of tokens to generate",
73
+ advanced=True,
74
+ ),
75
+ IntInput(
76
+ name="seed",
77
+ display_name="Seed",
78
+ info="Seed for reproducible outputs.",
79
+ value=1,
80
+ advanced=True,
81
+ ),
82
+ BoolInput(
83
+ name="json_mode",
84
+ display_name="JSON Mode",
85
+ info="If enabled, the model will be asked to return a JSON object.",
86
+ advanced=True,
87
+ ),
88
+ ]
89
+
90
+ def get_models(self, token_override: str | None = None) -> list[str]:
91
+ base_url = "https://api.cometapi.com/v1"
92
+ url = f"{base_url}/models"
93
+
94
+ headers = {"Content-Type": "application/json"}
95
+ # Add Bearer Authorization when API key is available
96
+ api_key_source = token_override if token_override else getattr(self, "api_key", None)
97
+ if api_key_source:
98
+ token = api_key_source.get_secret_value() if isinstance(api_key_source, SecretStr) else str(api_key_source)
99
+ headers["Authorization"] = f"Bearer {token}"
100
+
101
+ try:
102
+ response = requests.get(url, headers=headers, timeout=10)
103
+ response.raise_for_status()
104
+ # Safely parse JSON; fallback to defaults on failure
105
+ try:
106
+ model_list = response.json()
107
+ except (json.JSONDecodeError, ValueError) as e:
108
+ self.status = f"Error decoding models response: {e}"
109
+ return MODEL_NAMES
110
+ return [model["id"] for model in model_list.get("data", [])]
111
+ except requests.RequestException as e:
112
+ self.status = f"Error fetching models: {e}"
113
+ return MODEL_NAMES
114
+
115
+ @override
116
+ def update_build_config(self, build_config: dict, field_value: str, field_name: str | None = None):
117
+ if field_name == "api_key":
118
+ models = self.get_models(field_value)
119
+ model_cfg = build_config.get("model_name", {})
120
+ # Preserve placeholder (fallback to existing value or a generic prompt)
121
+ placeholder = model_cfg.get("placeholder", model_cfg.get("value", "Select a model"))
122
+ current_value = model_cfg.get("value")
123
+
124
+ options = list(models) if models else []
125
+ # Ensure current value stays visible even if not present in fetched options
126
+ if current_value and current_value not in options:
127
+ options = [current_value, *options]
128
+
129
+ model_cfg["options"] = options
130
+ model_cfg["placeholder"] = placeholder
131
+ build_config["model_name"] = model_cfg
132
+ return build_config
133
+
134
+ def build_model(self) -> LanguageModel: # type: ignore[type-var]
135
+ api_key = self.api_key
136
+ temperature = self.temperature
137
+ model_name: str = self.model_name
138
+ max_tokens = self.max_tokens
139
+ model_kwargs = getattr(self, "model_kwargs", {}) or {}
140
+ json_mode = self.json_mode
141
+ seed = self.seed
142
+ # Ensure a valid model was selected
143
+ if not model_name or model_name == "Select a model":
144
+ msg = "Please select a valid CometAPI model."
145
+ raise ValueError(msg)
146
+ try:
147
+ # Extract raw API key safely
148
+ _api_key = api_key.get_secret_value() if isinstance(api_key, SecretStr) else api_key
149
+ output = ChatOpenAI(
150
+ model=model_name,
151
+ api_key=_api_key or None,
152
+ max_tokens=max_tokens or None,
153
+ temperature=temperature,
154
+ model_kwargs=model_kwargs,
155
+ streaming=bool(self.stream),
156
+ seed=seed,
157
+ base_url="https://api.cometapi.com/v1",
158
+ )
159
+ except (TypeError, ValueError) as e:
160
+ msg = "Could not connect to CometAPI."
161
+ raise ValueError(msg) from e
162
+
163
+ if json_mode:
164
+ output = output.bind(response_format={"type": "json_object"})
165
+
166
+ return output
@@ -0,0 +1,222 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING, Any
4
+
5
+ from lfx.components._importing import import_mod
6
+
7
+ if TYPE_CHECKING:
8
+ from .agentql_composio import ComposioAgentQLAPIComponent
9
+ from .agiled_composio import ComposioAgiledAPIComponent
10
+ from .airtable_composio import ComposioAirtableAPIComponent
11
+ from .apollo_composio import ComposioApolloAPIComponent
12
+ from .asana_composio import ComposioAsanaAPIComponent
13
+ from .attio_composio import ComposioAttioAPIComponent
14
+ from .bitbucket_composio import ComposioBitbucketAPIComponent
15
+ from .bolna_composio import ComposioBolnaAPIComponent
16
+ from .brightdata_composio import ComposioBrightdataAPIComponent
17
+ from .calendly_composio import ComposioCalendlyAPIComponent
18
+ from .canva_composio import ComposioCanvaAPIComponent
19
+ from .canvas_composio import ComposioCanvasAPIComponent
20
+ from .coda_composio import ComposioCodaAPIComponent
21
+ from .composio_api import ComposioAPIComponent
22
+ from .contentful_composio import ComposioContentfulAPIComponent
23
+ from .digicert_composio import ComposioDigicertAPIComponent
24
+ from .discord_composio import ComposioDiscordAPIComponent
25
+ from .elevenlabs_composio import ComposioElevenLabsAPIComponent
26
+ from .exa_composio import ComposioExaAPIComponent
27
+ from .figma_composio import ComposioFigmaAPIComponent
28
+ from .finage_composio import ComposioFinageAPIComponent
29
+ from .firecrawl_composio import ComposioFirecrawlAPIComponent
30
+ from .fireflies_composio import ComposioFirefliesAPIComponent
31
+ from .fixer_composio import ComposioFixerAPIComponent
32
+ from .flexisign_composio import ComposioFlexisignAPIComponent
33
+ from .freshdesk_composio import ComposioFreshdeskAPIComponent
34
+ from .github_composio import ComposioGitHubAPIComponent
35
+ from .gmail_composio import ComposioGmailAPIComponent
36
+ from .googlebigquery_composio import ComposioGoogleBigQueryAPIComponent
37
+ from .googlecalendar_composio import ComposioGoogleCalendarAPIComponent
38
+ from .googleclassroom_composio import ComposioGoogleclassroomAPIComponent
39
+ from .googledocs_composio import ComposioGoogleDocsAPIComponent
40
+ from .googlemeet_composio import ComposioGooglemeetAPIComponent
41
+ from .googlesheets_composio import ComposioGoogleSheetsAPIComponent
42
+ from .googletasks_composio import ComposioGoogleTasksAPIComponent
43
+ from .heygen_composio import ComposioHeygenAPIComponent
44
+ from .instagram_composio import ComposioInstagramAPIComponent
45
+ from .jira_composio import ComposioJiraAPIComponent
46
+ from .jotform_composio import ComposioJotformAPIComponent
47
+ from .klaviyo_composio import ComposioKlaviyoAPIComponent
48
+ from .linear_composio import ComposioLinearAPIComponent
49
+ from .listennotes_composio import ComposioListennotesAPIComponent
50
+ from .mem0_composio import ComposioMem0APIComponent
51
+ from .miro_composio import ComposioMiroAPIComponent
52
+ from .missive_composio import ComposioMissiveAPIComponent
53
+ from .notion_composio import ComposioNotionAPIComponent
54
+ from .onedrive_composio import ComposioOneDriveAPIComponent
55
+ from .outlook_composio import ComposioOutlookAPIComponent
56
+ from .pandadoc_composio import ComposioPandadocAPIComponent
57
+ from .peopledatalabs_composio import ComposioPeopleDataLabsAPIComponent
58
+ from .perplexityai_composio import ComposioPerplexityAIAPIComponent
59
+ from .reddit_composio import ComposioRedditAPIComponent
60
+ from .serpapi_composio import ComposioSerpAPIComponent
61
+ from .slack_composio import ComposioSlackAPIComponent
62
+ from .slackbot_composio import ComposioSlackbotAPIComponent
63
+ from .snowflake_composio import ComposioSnowflakeAPIComponent
64
+ from .supabase_composio import ComposioSupabaseAPIComponent
65
+ from .tavily_composio import ComposioTavilyAPIComponent
66
+ from .timelinesai_composio import ComposioTimelinesAIAPIComponent
67
+ from .todoist_composio import ComposioTodoistAPIComponent
68
+ from .wrike_composio import ComposioWrikeAPIComponent
69
+ from .youtube_composio import ComposioYoutubeAPIComponent
70
+
71
+
72
+ _dynamic_imports = {
73
+ "ComposioAPIComponent": "composio_api",
74
+ "ComposioCanvaAPIComponent": "canva_composio",
75
+ "ComposioCodaAPIComponent": "coda_composio",
76
+ "ComposioSlackAPIComponent": "slack_composio",
77
+ "ComposioRedditAPIComponent": "reddit_composio",
78
+ "ComposioSlackbotAPIComponent": "slackbot_composio",
79
+ "ComposioPeopleDataLabsAPIComponent": "peopledatalabs_composio",
80
+ "ComposioPerplexityAIAPIComponent": "perplexityai_composio",
81
+ "ComposioSupabaseAPIComponent": "supabase_composio",
82
+ "ComposioSerpAPIComponent": "serpapi_composio",
83
+ "ComposioSnowflakeAPIComponent": "snowflake_composio",
84
+ "ComposioTodoistAPIComponent": "todoist_composio",
85
+ "ComposioTavilyAPIComponent": "tavily_composio",
86
+ "ComposioYoutubeAPIComponent": "youtube_composio",
87
+ "ComposioAgentQLAPIComponent": "agentql_composio",
88
+ "ComposioAgiledAPIComponent": "agiled_composio",
89
+ "ComposioAirtableAPIComponent": "airtable_composio",
90
+ "ComposioApolloAPIComponent": "apollo_composio",
91
+ "ComposioAsanaAPIComponent": "asana_composio",
92
+ "ComposioAttioAPIComponent": "attio_composio",
93
+ "ComposioBitbucketAPIComponent": "bitbucket_composio",
94
+ "ComposioBolnaAPIComponent": "bolna_composio",
95
+ "ComposioBrightdataAPIComponent": "brightdata_composio",
96
+ "ComposioCalendlyAPIComponent": "calendly_composio",
97
+ "ComposioCanvasAPIComponent": "canvas_composio",
98
+ "ComposioContentfulAPIComponent": "contentful_composio",
99
+ "ComposioDigicertAPIComponent": "digicert_composio",
100
+ "ComposioDiscordAPIComponent": "discord_composio",
101
+ "ComposioElevenLabsAPIComponent": "elevenlabs_composio",
102
+ "ComposioExaAPIComponent": "exa_composio",
103
+ "ComposioFigmaAPIComponent": "figma_composio",
104
+ "ComposioFinageAPIComponent": "finage_composio",
105
+ "ComposioFirecrawlAPIComponent": "firecrawl_composio",
106
+ "ComposioFirefliesAPIComponent": "fireflies_composio",
107
+ "ComposioFixerAPIComponent": "fixer_composio",
108
+ "ComposioFlexisignAPIComponent": "flexisign_composio",
109
+ "ComposioFreshdeskAPIComponent": "freshdesk_composio",
110
+ "ComposioGitHubAPIComponent": "github_composio",
111
+ "ComposioGmailAPIComponent": "gmail_composio",
112
+ "ComposioGoogleBigQueryAPIComponent": "googlebigquery_composio",
113
+ "ComposioGoogleCalendarAPIComponent": "googlecalendar_composio",
114
+ "ComposioGoogleclassroomAPIComponent": "googleclassroom_composio",
115
+ "ComposioGoogleDocsAPIComponent": "googledocs_composio",
116
+ "ComposioGooglemeetAPIComponent": "googlemeet_composio",
117
+ "ComposioGoogleSheetsAPIComponent": "googlesheets_composio",
118
+ "ComposioGoogleTasksAPIComponent": "googletasks_composio",
119
+ "ComposioHeygenAPIComponent": "heygen_composio",
120
+ "ComposioInstagramAPIComponent": "instagram_composio",
121
+ "ComposioJiraAPIComponent": "jira_composio",
122
+ "ComposioJotformAPIComponent": "jotform_composio",
123
+ "ComposioKlaviyoAPIComponent": "klaviyo_composio",
124
+ "ComposioLinearAPIComponent": "linear_composio",
125
+ "ComposioListennotesAPIComponent": "listennotes_composio",
126
+ "ComposioMem0APIComponent": "mem0_composio",
127
+ "ComposioMiroAPIComponent": "miro_composio",
128
+ "ComposioMissiveAPIComponent": "missive_composio",
129
+ "ComposioNotionAPIComponent": "notion_composio",
130
+ "ComposioOneDriveAPIComponent": "onedrive_composio",
131
+ "ComposioOutlookAPIComponent": "outlook_composio",
132
+ "ComposioPandadocAPIComponent": "pandadoc_composio",
133
+ "ComposioTimelinesAIAPIComponent": "timelinesai_composio",
134
+ "ComposioWrikeAPIComponent": "wrike_composio",
135
+ }
136
+
137
+ # Always expose all components - individual failures will be handled on import
138
+ __all__ = [
139
+ "ComposioAPIComponent",
140
+ "ComposioAgentQLAPIComponent",
141
+ "ComposioAgiledAPIComponent",
142
+ "ComposioAirtableAPIComponent",
143
+ "ComposioApolloAPIComponent",
144
+ "ComposioAsanaAPIComponent",
145
+ "ComposioAttioAPIComponent",
146
+ "ComposioBitbucketAPIComponent",
147
+ "ComposioBolnaAPIComponent",
148
+ "ComposioBrightdataAPIComponent",
149
+ "ComposioCalendlyAPIComponent",
150
+ "ComposioCalendlyAPIComponent",
151
+ "ComposioCanvaAPIComponent",
152
+ "ComposioCanvasAPIComponent",
153
+ "ComposioCodaAPIComponent",
154
+ "ComposioContentfulAPIComponent",
155
+ "ComposioDigicertAPIComponent",
156
+ "ComposioDiscordAPIComponent",
157
+ "ComposioElevenLabsAPIComponent",
158
+ "ComposioExaAPIComponent",
159
+ "ComposioFigmaAPIComponent",
160
+ "ComposioFinageAPIComponent",
161
+ "ComposioFirecrawlAPIComponent",
162
+ "ComposioFirefliesAPIComponent",
163
+ "ComposioFixerAPIComponent",
164
+ "ComposioFlexisignAPIComponent",
165
+ "ComposioFreshdeskAPIComponent",
166
+ "ComposioGitHubAPIComponent",
167
+ "ComposioGmailAPIComponent",
168
+ "ComposioGoogleBigQueryAPIComponent",
169
+ "ComposioGoogleCalendarAPIComponent",
170
+ "ComposioGoogleDocsAPIComponent",
171
+ "ComposioGoogleSheetsAPIComponent",
172
+ "ComposioGoogleTasksAPIComponent",
173
+ "ComposioGoogleclassroomAPIComponent",
174
+ "ComposioGooglemeetAPIComponent",
175
+ "ComposioHeygenAPIComponent",
176
+ "ComposioInstagramAPIComponent",
177
+ "ComposioJiraAPIComponent",
178
+ "ComposioJotformAPIComponent",
179
+ "ComposioKlaviyoAPIComponent",
180
+ "ComposioKlaviyoAPIComponent",
181
+ "ComposioLinearAPIComponent",
182
+ "ComposioLinearAPIComponent",
183
+ "ComposioListennotesAPIComponent",
184
+ "ComposioMem0APIComponent",
185
+ "ComposioMiroAPIComponent",
186
+ "ComposioMissiveAPIComponent",
187
+ "ComposioNotionAPIComponent",
188
+ "ComposioOneDriveAPIComponent",
189
+ "ComposioOutlookAPIComponent",
190
+ "ComposioPandadocAPIComponent",
191
+ "ComposioPeopleDataLabsAPIComponent",
192
+ "ComposioPerplexityAIAPIComponent",
193
+ "ComposioRedditAPIComponent",
194
+ "ComposioSerpAPIComponent",
195
+ "ComposioSlackAPIComponent",
196
+ "ComposioSlackbotAPIComponent",
197
+ "ComposioSnowflakeAPIComponent",
198
+ "ComposioSupabaseAPIComponent",
199
+ "ComposioTavilyAPIComponent",
200
+ "ComposioTimelinesAIAPIComponent",
201
+ "ComposioTodoistAPIComponent",
202
+ "ComposioWrikeAPIComponent",
203
+ "ComposioYoutubeAPIComponent",
204
+ ]
205
+
206
+
207
+ def __getattr__(attr_name: str) -> Any:
208
+ """Lazily import composio components on attribute access."""
209
+ if attr_name not in _dynamic_imports:
210
+ msg = f"module '{__name__}' has no attribute '{attr_name}'"
211
+ raise AttributeError(msg)
212
+ try:
213
+ result = import_mod(attr_name, _dynamic_imports[attr_name], __spec__.parent)
214
+ except (ModuleNotFoundError, ImportError, AttributeError) as e:
215
+ msg = f"Could not import '{attr_name}' from '{__name__}': {e}"
216
+ raise AttributeError(msg) from e
217
+ globals()[attr_name] = result
218
+ return result
219
+
220
+
221
+ def __dir__() -> list[str]:
222
+ return list(__all__)
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioAgentQLAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "AgentQL"
6
+ icon = "AgentQL"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "agentql"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for AgentQL component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioAgiledAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "Agiled"
6
+ icon = "Agiled"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "agiled"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Agiled component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioAirtableAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "Airtable"
6
+ icon = "Airtable"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "airtable"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Airtable component."""