lfx-nightly 0.2.0.dev0__py3-none-any.whl → 0.2.0.dev41__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.
Files changed (196) hide show
  1. lfx/_assets/component_index.json +1 -1
  2. lfx/base/agents/agent.py +21 -4
  3. lfx/base/agents/altk_base_agent.py +393 -0
  4. lfx/base/agents/altk_tool_wrappers.py +565 -0
  5. lfx/base/agents/events.py +2 -1
  6. lfx/base/composio/composio_base.py +159 -224
  7. lfx/base/data/base_file.py +97 -20
  8. lfx/base/data/docling_utils.py +61 -10
  9. lfx/base/data/storage_utils.py +301 -0
  10. lfx/base/data/utils.py +178 -14
  11. lfx/base/mcp/util.py +2 -2
  12. lfx/base/models/anthropic_constants.py +21 -12
  13. lfx/base/models/groq_constants.py +74 -58
  14. lfx/base/models/groq_model_discovery.py +265 -0
  15. lfx/base/models/model.py +1 -1
  16. lfx/base/models/model_utils.py +100 -0
  17. lfx/base/models/openai_constants.py +7 -0
  18. lfx/base/models/watsonx_constants.py +32 -8
  19. lfx/base/tools/run_flow.py +601 -129
  20. lfx/cli/commands.py +9 -4
  21. lfx/cli/common.py +2 -2
  22. lfx/cli/run.py +1 -1
  23. lfx/cli/script_loader.py +53 -11
  24. lfx/components/Notion/create_page.py +1 -1
  25. lfx/components/Notion/list_database_properties.py +1 -1
  26. lfx/components/Notion/list_pages.py +1 -1
  27. lfx/components/Notion/list_users.py +1 -1
  28. lfx/components/Notion/page_content_viewer.py +1 -1
  29. lfx/components/Notion/search.py +1 -1
  30. lfx/components/Notion/update_page_property.py +1 -1
  31. lfx/components/__init__.py +19 -5
  32. lfx/components/{agents → altk}/__init__.py +5 -9
  33. lfx/components/altk/altk_agent.py +193 -0
  34. lfx/components/apify/apify_actor.py +1 -1
  35. lfx/components/composio/__init__.py +70 -18
  36. lfx/components/composio/apollo_composio.py +11 -0
  37. lfx/components/composio/bitbucket_composio.py +11 -0
  38. lfx/components/composio/canva_composio.py +11 -0
  39. lfx/components/composio/coda_composio.py +11 -0
  40. lfx/components/composio/composio_api.py +10 -0
  41. lfx/components/composio/discord_composio.py +1 -1
  42. lfx/components/composio/elevenlabs_composio.py +11 -0
  43. lfx/components/composio/exa_composio.py +11 -0
  44. lfx/components/composio/firecrawl_composio.py +11 -0
  45. lfx/components/composio/fireflies_composio.py +11 -0
  46. lfx/components/composio/gmail_composio.py +1 -1
  47. lfx/components/composio/googlebigquery_composio.py +11 -0
  48. lfx/components/composio/googlecalendar_composio.py +1 -1
  49. lfx/components/composio/googledocs_composio.py +1 -1
  50. lfx/components/composio/googlemeet_composio.py +1 -1
  51. lfx/components/composio/googlesheets_composio.py +1 -1
  52. lfx/components/composio/googletasks_composio.py +1 -1
  53. lfx/components/composio/heygen_composio.py +11 -0
  54. lfx/components/composio/mem0_composio.py +11 -0
  55. lfx/components/composio/peopledatalabs_composio.py +11 -0
  56. lfx/components/composio/perplexityai_composio.py +11 -0
  57. lfx/components/composio/serpapi_composio.py +11 -0
  58. lfx/components/composio/slack_composio.py +3 -574
  59. lfx/components/composio/slackbot_composio.py +1 -1
  60. lfx/components/composio/snowflake_composio.py +11 -0
  61. lfx/components/composio/tavily_composio.py +11 -0
  62. lfx/components/composio/youtube_composio.py +2 -2
  63. lfx/components/cuga/__init__.py +34 -0
  64. lfx/components/cuga/cuga_agent.py +730 -0
  65. lfx/components/data/__init__.py +78 -28
  66. lfx/components/data_source/__init__.py +58 -0
  67. lfx/components/{data → data_source}/api_request.py +26 -3
  68. lfx/components/{data → data_source}/csv_to_data.py +15 -10
  69. lfx/components/{data → data_source}/json_to_data.py +15 -8
  70. lfx/components/{data → data_source}/news_search.py +1 -1
  71. lfx/components/{data → data_source}/rss.py +1 -1
  72. lfx/components/{data → data_source}/sql_executor.py +1 -1
  73. lfx/components/{data → data_source}/url.py +1 -1
  74. lfx/components/{data → data_source}/web_search.py +1 -1
  75. lfx/components/datastax/astradb_cql.py +1 -1
  76. lfx/components/datastax/astradb_graph.py +1 -1
  77. lfx/components/datastax/astradb_tool.py +1 -1
  78. lfx/components/datastax/astradb_vectorstore.py +1 -1
  79. lfx/components/datastax/hcd.py +1 -1
  80. lfx/components/deactivated/json_document_builder.py +1 -1
  81. lfx/components/docling/__init__.py +0 -3
  82. lfx/components/docling/chunk_docling_document.py +3 -1
  83. lfx/components/docling/export_docling_document.py +3 -1
  84. lfx/components/elastic/elasticsearch.py +1 -1
  85. lfx/components/files_and_knowledge/__init__.py +47 -0
  86. lfx/components/{data → files_and_knowledge}/directory.py +1 -1
  87. lfx/components/{data → files_and_knowledge}/file.py +304 -24
  88. lfx/components/{knowledge_bases → files_and_knowledge}/retrieval.py +2 -2
  89. lfx/components/{data → files_and_knowledge}/save_file.py +218 -31
  90. lfx/components/flow_controls/__init__.py +58 -0
  91. lfx/components/{logic → flow_controls}/conditional_router.py +1 -1
  92. lfx/components/{logic → flow_controls}/loop.py +43 -9
  93. lfx/components/flow_controls/run_flow.py +108 -0
  94. lfx/components/glean/glean_search_api.py +1 -1
  95. lfx/components/groq/groq.py +35 -28
  96. lfx/components/helpers/__init__.py +102 -0
  97. lfx/components/ibm/watsonx.py +7 -1
  98. lfx/components/input_output/__init__.py +3 -1
  99. lfx/components/input_output/chat.py +4 -3
  100. lfx/components/input_output/chat_output.py +10 -4
  101. lfx/components/input_output/text.py +1 -1
  102. lfx/components/input_output/text_output.py +1 -1
  103. lfx/components/{data → input_output}/webhook.py +1 -1
  104. lfx/components/knowledge_bases/__init__.py +59 -4
  105. lfx/components/langchain_utilities/character.py +1 -1
  106. lfx/components/langchain_utilities/csv_agent.py +84 -16
  107. lfx/components/langchain_utilities/json_agent.py +67 -12
  108. lfx/components/langchain_utilities/language_recursive.py +1 -1
  109. lfx/components/llm_operations/__init__.py +46 -0
  110. lfx/components/{processing → llm_operations}/batch_run.py +17 -8
  111. lfx/components/{processing → llm_operations}/lambda_filter.py +1 -1
  112. lfx/components/{logic → llm_operations}/llm_conditional_router.py +1 -1
  113. lfx/components/{processing/llm_router.py → llm_operations/llm_selector.py} +3 -3
  114. lfx/components/{processing → llm_operations}/structured_output.py +1 -1
  115. lfx/components/logic/__init__.py +126 -0
  116. lfx/components/mem0/mem0_chat_memory.py +11 -0
  117. lfx/components/models/__init__.py +64 -9
  118. lfx/components/models_and_agents/__init__.py +49 -0
  119. lfx/components/{agents → models_and_agents}/agent.py +6 -4
  120. lfx/components/models_and_agents/embedding_model.py +353 -0
  121. lfx/components/models_and_agents/language_model.py +398 -0
  122. lfx/components/{agents → models_and_agents}/mcp_component.py +53 -44
  123. lfx/components/{helpers → models_and_agents}/memory.py +1 -1
  124. lfx/components/nvidia/system_assist.py +1 -1
  125. lfx/components/olivya/olivya.py +1 -1
  126. lfx/components/ollama/ollama.py +24 -5
  127. lfx/components/processing/__init__.py +9 -60
  128. lfx/components/processing/converter.py +1 -1
  129. lfx/components/processing/dataframe_operations.py +1 -1
  130. lfx/components/processing/parse_json_data.py +2 -2
  131. lfx/components/processing/parser.py +1 -1
  132. lfx/components/processing/split_text.py +1 -1
  133. lfx/components/qdrant/qdrant.py +1 -1
  134. lfx/components/redis/redis.py +1 -1
  135. lfx/components/twelvelabs/split_video.py +10 -0
  136. lfx/components/twelvelabs/video_file.py +12 -0
  137. lfx/components/utilities/__init__.py +43 -0
  138. lfx/components/{helpers → utilities}/calculator_core.py +1 -1
  139. lfx/components/{helpers → utilities}/current_date.py +1 -1
  140. lfx/components/{processing → utilities}/python_repl_core.py +1 -1
  141. lfx/components/vectorstores/local_db.py +9 -0
  142. lfx/components/youtube/youtube_transcripts.py +118 -30
  143. lfx/custom/custom_component/component.py +57 -1
  144. lfx/custom/custom_component/custom_component.py +68 -6
  145. lfx/custom/directory_reader/directory_reader.py +5 -2
  146. lfx/graph/edge/base.py +43 -20
  147. lfx/graph/state/model.py +15 -2
  148. lfx/graph/utils.py +6 -0
  149. lfx/graph/vertex/param_handler.py +10 -7
  150. lfx/helpers/__init__.py +12 -0
  151. lfx/helpers/flow.py +117 -0
  152. lfx/inputs/input_mixin.py +24 -1
  153. lfx/inputs/inputs.py +13 -1
  154. lfx/interface/components.py +161 -83
  155. lfx/log/logger.py +5 -3
  156. lfx/schema/image.py +2 -12
  157. lfx/services/database/__init__.py +5 -0
  158. lfx/services/database/service.py +25 -0
  159. lfx/services/deps.py +87 -22
  160. lfx/services/interfaces.py +5 -0
  161. lfx/services/manager.py +24 -10
  162. lfx/services/mcp_composer/service.py +1029 -162
  163. lfx/services/session.py +5 -0
  164. lfx/services/settings/auth.py +18 -11
  165. lfx/services/settings/base.py +56 -30
  166. lfx/services/settings/constants.py +8 -0
  167. lfx/services/storage/local.py +108 -46
  168. lfx/services/storage/service.py +171 -29
  169. lfx/template/field/base.py +3 -0
  170. lfx/utils/image.py +29 -11
  171. lfx/utils/ssrf_protection.py +384 -0
  172. lfx/utils/validate_cloud.py +26 -0
  173. {lfx_nightly-0.2.0.dev0.dist-info → lfx_nightly-0.2.0.dev41.dist-info}/METADATA +38 -22
  174. {lfx_nightly-0.2.0.dev0.dist-info → lfx_nightly-0.2.0.dev41.dist-info}/RECORD +189 -160
  175. {lfx_nightly-0.2.0.dev0.dist-info → lfx_nightly-0.2.0.dev41.dist-info}/WHEEL +1 -1
  176. lfx/components/agents/altk_agent.py +0 -366
  177. lfx/components/agents/cuga_agent.py +0 -1013
  178. lfx/components/docling/docling_remote_vlm.py +0 -284
  179. lfx/components/logic/run_flow.py +0 -71
  180. lfx/components/models/embedding_model.py +0 -195
  181. lfx/components/models/language_model.py +0 -144
  182. lfx/components/processing/dataframe_to_toolset.py +0 -259
  183. /lfx/components/{data → data_source}/mock_data.py +0 -0
  184. /lfx/components/{knowledge_bases → files_and_knowledge}/ingestion.py +0 -0
  185. /lfx/components/{logic → flow_controls}/data_conditional_router.py +0 -0
  186. /lfx/components/{logic → flow_controls}/flow_tool.py +0 -0
  187. /lfx/components/{logic → flow_controls}/listen.py +0 -0
  188. /lfx/components/{logic → flow_controls}/notify.py +0 -0
  189. /lfx/components/{logic → flow_controls}/pass_message.py +0 -0
  190. /lfx/components/{logic → flow_controls}/sub_flow.py +0 -0
  191. /lfx/components/{processing → models_and_agents}/prompt.py +0 -0
  192. /lfx/components/{helpers → processing}/create_list.py +0 -0
  193. /lfx/components/{helpers → processing}/output_parser.py +0 -0
  194. /lfx/components/{helpers → processing}/store_message.py +0 -0
  195. /lfx/components/{helpers → utilities}/id_generator.py +0 -0
  196. {lfx_nightly-0.2.0.dev0.dist-info → lfx_nightly-0.2.0.dev41.dist-info}/entry_points.txt +0 -0
@@ -8,97 +8,130 @@ if TYPE_CHECKING:
8
8
  from .agentql_composio import ComposioAgentQLAPIComponent
9
9
  from .agiled_composio import ComposioAgiledAPIComponent
10
10
  from .airtable_composio import ComposioAirtableAPIComponent
11
+ from .apollo_composio import ComposioApolloAPIComponent
11
12
  from .asana_composio import ComposioAsanaAPIComponent
12
13
  from .attio_composio import ComposioAttioAPIComponent
14
+ from .bitbucket_composio import ComposioBitbucketAPIComponent
13
15
  from .bolna_composio import ComposioBolnaAPIComponent
14
16
  from .brightdata_composio import ComposioBrightdataAPIComponent
15
17
  from .calendly_composio import ComposioCalendlyAPIComponent
18
+ from .canva_composio import ComposioCanvaAPIComponent
16
19
  from .canvas_composio import ComposioCanvasAPIComponent
20
+ from .coda_composio import ComposioCodaAPIComponent
17
21
  from .composio_api import ComposioAPIComponent
18
22
  from .contentful_composio import ComposioContentfulAPIComponent
19
23
  from .digicert_composio import ComposioDigicertAPIComponent
20
24
  from .discord_composio import ComposioDiscordAPIComponent
25
+ from .elevenlabs_composio import ComposioElevenLabsAPIComponent
26
+ from .exa_composio import ComposioExaAPIComponent
21
27
  from .figma_composio import ComposioFigmaAPIComponent
22
28
  from .finage_composio import ComposioFinageAPIComponent
29
+ from .firecrawl_composio import ComposioFirecrawlAPIComponent
30
+ from .fireflies_composio import ComposioFirefliesAPIComponent
23
31
  from .fixer_composio import ComposioFixerAPIComponent
24
32
  from .flexisign_composio import ComposioFlexisignAPIComponent
25
33
  from .freshdesk_composio import ComposioFreshdeskAPIComponent
26
34
  from .github_composio import ComposioGitHubAPIComponent
27
35
  from .gmail_composio import ComposioGmailAPIComponent
36
+ from .googlebigquery_composio import ComposioGoogleBigQueryAPIComponent
28
37
  from .googlecalendar_composio import ComposioGoogleCalendarAPIComponent
29
38
  from .googleclassroom_composio import ComposioGoogleclassroomAPIComponent
30
39
  from .googledocs_composio import ComposioGoogleDocsAPIComponent
31
40
  from .googlemeet_composio import ComposioGooglemeetAPIComponent
32
41
  from .googlesheets_composio import ComposioGoogleSheetsAPIComponent
33
42
  from .googletasks_composio import ComposioGoogleTasksAPIComponent
43
+ from .heygen_composio import ComposioHeygenAPIComponent
34
44
  from .instagram_composio import ComposioInstagramAPIComponent
35
45
  from .jira_composio import ComposioJiraAPIComponent
36
46
  from .jotform_composio import ComposioJotformAPIComponent
37
47
  from .klaviyo_composio import ComposioKlaviyoAPIComponent
38
48
  from .linear_composio import ComposioLinearAPIComponent
39
49
  from .listennotes_composio import ComposioListennotesAPIComponent
50
+ from .mem0_composio import ComposioMem0APIComponent
40
51
  from .miro_composio import ComposioMiroAPIComponent
41
52
  from .missive_composio import ComposioMissiveAPIComponent
42
53
  from .notion_composio import ComposioNotionAPIComponent
43
54
  from .onedrive_composio import ComposioOneDriveAPIComponent
44
55
  from .outlook_composio import ComposioOutlookAPIComponent
45
56
  from .pandadoc_composio import ComposioPandadocAPIComponent
57
+ from .peopledatalabs_composio import ComposioPeopleDataLabsAPIComponent
58
+ from .perplexityai_composio import ComposioPerplexityAIAPIComponent
46
59
  from .reddit_composio import ComposioRedditAPIComponent
60
+ from .serpapi_composio import ComposioSerpAPIComponent
47
61
  from .slack_composio import ComposioSlackAPIComponent
48
62
  from .slackbot_composio import ComposioSlackbotAPIComponent
63
+ from .snowflake_composio import ComposioSnowflakeAPIComponent
49
64
  from .supabase_composio import ComposioSupabaseAPIComponent
65
+ from .tavily_composio import ComposioTavilyAPIComponent
50
66
  from .timelinesai_composio import ComposioTimelinesAIAPIComponent
51
67
  from .todoist_composio import ComposioTodoistAPIComponent
52
68
  from .wrike_composio import ComposioWrikeAPIComponent
53
69
  from .youtube_composio import ComposioYoutubeAPIComponent
54
70
 
71
+
55
72
  _dynamic_imports = {
56
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",
57
87
  "ComposioAgentQLAPIComponent": "agentql_composio",
58
88
  "ComposioAgiledAPIComponent": "agiled_composio",
59
89
  "ComposioAirtableAPIComponent": "airtable_composio",
90
+ "ComposioApolloAPIComponent": "apollo_composio",
60
91
  "ComposioAsanaAPIComponent": "asana_composio",
61
92
  "ComposioAttioAPIComponent": "attio_composio",
93
+ "ComposioBitbucketAPIComponent": "bitbucket_composio",
62
94
  "ComposioBolnaAPIComponent": "bolna_composio",
63
95
  "ComposioBrightdataAPIComponent": "brightdata_composio",
64
96
  "ComposioCalendlyAPIComponent": "calendly_composio",
65
97
  "ComposioCanvasAPIComponent": "canvas_composio",
66
98
  "ComposioContentfulAPIComponent": "contentful_composio",
67
- "ComposioDiscordAPIComponent": "discord_composio",
68
99
  "ComposioDigicertAPIComponent": "digicert_composio",
100
+ "ComposioDiscordAPIComponent": "discord_composio",
101
+ "ComposioElevenLabsAPIComponent": "elevenlabs_composio",
102
+ "ComposioExaAPIComponent": "exa_composio",
69
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",
70
110
  "ComposioGitHubAPIComponent": "github_composio",
71
111
  "ComposioGmailAPIComponent": "gmail_composio",
112
+ "ComposioGoogleBigQueryAPIComponent": "googlebigquery_composio",
72
113
  "ComposioGoogleCalendarAPIComponent": "googlecalendar_composio",
114
+ "ComposioGoogleclassroomAPIComponent": "googleclassroom_composio",
73
115
  "ComposioGoogleDocsAPIComponent": "googledocs_composio",
116
+ "ComposioGooglemeetAPIComponent": "googlemeet_composio",
74
117
  "ComposioGoogleSheetsAPIComponent": "googlesheets_composio",
75
118
  "ComposioGoogleTasksAPIComponent": "googletasks_composio",
76
- "ComposioGooglemeetAPIComponent": "googlemeet_composio",
119
+ "ComposioHeygenAPIComponent": "heygen_composio",
120
+ "ComposioInstagramAPIComponent": "instagram_composio",
77
121
  "ComposioJiraAPIComponent": "jira_composio",
122
+ "ComposioJotformAPIComponent": "jotform_composio",
78
123
  "ComposioKlaviyoAPIComponent": "klaviyo_composio",
79
124
  "ComposioLinearAPIComponent": "linear_composio",
125
+ "ComposioListennotesAPIComponent": "listennotes_composio",
126
+ "ComposioMem0APIComponent": "mem0_composio",
80
127
  "ComposioMiroAPIComponent": "miro_composio",
128
+ "ComposioMissiveAPIComponent": "missive_composio",
81
129
  "ComposioNotionAPIComponent": "notion_composio",
82
130
  "ComposioOneDriveAPIComponent": "onedrive_composio",
83
131
  "ComposioOutlookAPIComponent": "outlook_composio",
84
- "ComposioRedditAPIComponent": "reddit_composio",
85
- "ComposioSlackAPIComponent": "slack_composio",
86
- "ComposioSlackbotAPIComponent": "slackbot_composio",
87
- "ComposioSupabaseAPIComponent": "supabase_composio",
132
+ "ComposioPandadocAPIComponent": "pandadoc_composio",
88
133
  "ComposioTimelinesAIAPIComponent": "timelinesai_composio",
89
- "ComposioTodoistAPIComponent": "todoist_composio",
90
134
  "ComposioWrikeAPIComponent": "wrike_composio",
91
- "ComposioYoutubeAPIComponent": "youtube_composio",
92
- "ComposioFinageAPIComponent": "finage_composio",
93
- "ComposioFixerAPIComponent": "fixer_composio",
94
- "ComposioFlexisignAPIComponent": "flexisign_composio",
95
- "ComposioFreshdeskAPIComponent": "freshdesk_composio",
96
- "ComposioGoogleclassroomAPIComponent": "googleclassroom_composio",
97
- "ComposioInstagramAPIComponent": "instagram_composio",
98
- "ComposioJotformAPIComponent": "jotform_composio",
99
- "ComposioListennotesAPIComponent": "listennotes_composio",
100
- "ComposioMissiveAPIComponent": "missive_composio",
101
- "ComposioPandadocAPIComponent": "pandadoc_composio",
102
135
  }
103
136
 
104
137
  # Always expose all components - individual failures will be handled on import
@@ -107,44 +140,63 @@ __all__ = [
107
140
  "ComposioAgentQLAPIComponent",
108
141
  "ComposioAgiledAPIComponent",
109
142
  "ComposioAirtableAPIComponent",
143
+ "ComposioApolloAPIComponent",
110
144
  "ComposioAsanaAPIComponent",
111
145
  "ComposioAttioAPIComponent",
146
+ "ComposioBitbucketAPIComponent",
112
147
  "ComposioBolnaAPIComponent",
113
148
  "ComposioBrightdataAPIComponent",
114
149
  "ComposioCalendlyAPIComponent",
150
+ "ComposioCalendlyAPIComponent",
151
+ "ComposioCanvaAPIComponent",
115
152
  "ComposioCanvasAPIComponent",
153
+ "ComposioCodaAPIComponent",
116
154
  "ComposioContentfulAPIComponent",
117
155
  "ComposioDigicertAPIComponent",
118
156
  "ComposioDiscordAPIComponent",
157
+ "ComposioElevenLabsAPIComponent",
158
+ "ComposioExaAPIComponent",
119
159
  "ComposioFigmaAPIComponent",
120
160
  "ComposioFinageAPIComponent",
161
+ "ComposioFirecrawlAPIComponent",
162
+ "ComposioFirefliesAPIComponent",
121
163
  "ComposioFixerAPIComponent",
122
164
  "ComposioFlexisignAPIComponent",
123
165
  "ComposioFreshdeskAPIComponent",
124
166
  "ComposioGitHubAPIComponent",
125
167
  "ComposioGmailAPIComponent",
168
+ "ComposioGoogleBigQueryAPIComponent",
126
169
  "ComposioGoogleCalendarAPIComponent",
127
170
  "ComposioGoogleDocsAPIComponent",
128
171
  "ComposioGoogleSheetsAPIComponent",
129
172
  "ComposioGoogleTasksAPIComponent",
130
173
  "ComposioGoogleclassroomAPIComponent",
131
174
  "ComposioGooglemeetAPIComponent",
175
+ "ComposioHeygenAPIComponent",
132
176
  "ComposioInstagramAPIComponent",
133
177
  "ComposioJiraAPIComponent",
134
178
  "ComposioJotformAPIComponent",
135
179
  "ComposioKlaviyoAPIComponent",
180
+ "ComposioKlaviyoAPIComponent",
181
+ "ComposioLinearAPIComponent",
136
182
  "ComposioLinearAPIComponent",
137
183
  "ComposioListennotesAPIComponent",
184
+ "ComposioMem0APIComponent",
138
185
  "ComposioMiroAPIComponent",
139
186
  "ComposioMissiveAPIComponent",
140
187
  "ComposioNotionAPIComponent",
141
188
  "ComposioOneDriveAPIComponent",
142
189
  "ComposioOutlookAPIComponent",
143
190
  "ComposioPandadocAPIComponent",
191
+ "ComposioPeopleDataLabsAPIComponent",
192
+ "ComposioPerplexityAIAPIComponent",
144
193
  "ComposioRedditAPIComponent",
194
+ "ComposioSerpAPIComponent",
145
195
  "ComposioSlackAPIComponent",
146
196
  "ComposioSlackbotAPIComponent",
197
+ "ComposioSnowflakeAPIComponent",
147
198
  "ComposioSupabaseAPIComponent",
199
+ "ComposioTavilyAPIComponent",
148
200
  "ComposioTimelinesAIAPIComponent",
149
201
  "ComposioTodoistAPIComponent",
150
202
  "ComposioWrikeAPIComponent",
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioApolloAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "Apollo"
6
+ icon = "Apollo"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "apollo"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Apollo component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioBitbucketAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "Bitbucket"
6
+ icon = "Bitbucket"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "bitbucket"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Bitbucket component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioCanvaAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "Canva"
6
+ icon = "Canva"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "canva"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Canva component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioCodaAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "Coda"
6
+ icon = "Coda"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "coda"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Coda component."""
@@ -17,10 +17,16 @@ from lfx.inputs.inputs import (
17
17
  SortableListInput,
18
18
  )
19
19
  from lfx.io import Output
20
+ from lfx.utils.validate_cloud import raise_error_if_astra_cloud_disable_component
20
21
 
21
22
  # TODO: We get the list from the API but we need to filter it
22
23
  enabled_tools = ["confluence", "discord", "dropbox", "github", "gmail", "linkedin", "notion", "slack", "youtube"]
23
24
 
25
+ disable_component_in_astra_cloud_msg = (
26
+ "Composio tools are not supported in Astra cloud environment. "
27
+ "Please use local storage mode or cloud-based versions of the tools."
28
+ )
29
+
24
30
 
25
31
  class ComposioAPIComponent(LCToolComponent):
26
32
  display_name: str = "Composio Tools"
@@ -229,6 +235,8 @@ class ComposioAPIComponent(LCToolComponent):
229
235
  Returns:
230
236
  Sequence[Tool]: List of configured Composio tools.
231
237
  """
238
+ # Check if we're in Astra cloud environment and raise an error if we are.
239
+ raise_error_if_astra_cloud_disable_component(disable_component_in_astra_cloud_msg)
232
240
  composio = self._build_wrapper()
233
241
  action_names = [action["name"] for action in self.actions]
234
242
 
@@ -257,6 +265,8 @@ class ComposioAPIComponent(LCToolComponent):
257
265
  Raises:
258
266
  ValueError: If the API key is not found or invalid.
259
267
  """
268
+ # Check if we're in Astra cloud environment and raise an error if we are.
269
+ raise_error_if_astra_cloud_disable_component(disable_component_in_astra_cloud_msg)
260
270
  try:
261
271
  if not self.api_key:
262
272
  msg = "Composio API Key is required"
@@ -3,7 +3,7 @@ from lfx.base.composio.composio_base import ComposioBaseComponent
3
3
 
4
4
  class ComposioDiscordAPIComponent(ComposioBaseComponent):
5
5
  display_name: str = "Discord"
6
- icon = "Discord"
6
+ icon = "discord"
7
7
  documentation: str = "https://docs.composio.dev"
8
8
  app_name = "discord"
9
9
 
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioElevenLabsAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "ElevenLabs"
6
+ icon = "Elevenlabs"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "elevenlabs"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for ElevenLabs component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioExaAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "Exa"
6
+ icon = "ExaComposio"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "exa"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Exa component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioFirecrawlAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "Firecrawl"
6
+ icon = "Firecrawl"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "firecrawl"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Firecrawl component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioFirefliesAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "Fireflies"
6
+ icon = "Fireflies"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "fireflies"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Fireflies component."""
@@ -3,7 +3,7 @@ from lfx.base.composio.composio_base import ComposioBaseComponent
3
3
 
4
4
  class ComposioGmailAPIComponent(ComposioBaseComponent):
5
5
  display_name: str = "Gmail"
6
- icon = "Google"
6
+ icon = "Gmail"
7
7
  documentation: str = "https://docs.composio.dev"
8
8
  app_name = "gmail"
9
9
 
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioGoogleBigQueryAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "GoogleBigQuery"
6
+ icon = "Googlebigquery"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "googlebigquery"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Google BigQuery component."""
@@ -2,7 +2,7 @@ from lfx.base.composio.composio_base import ComposioBaseComponent
2
2
 
3
3
 
4
4
  class ComposioGoogleCalendarAPIComponent(ComposioBaseComponent):
5
- display_name: str = "Google Calendar"
5
+ display_name: str = "GoogleCalendar"
6
6
  icon = "Googlecalendar"
7
7
  documentation: str = "https://docs.composio.dev"
8
8
  app_name = "googlecalendar"
@@ -2,7 +2,7 @@ from lfx.base.composio.composio_base import ComposioBaseComponent
2
2
 
3
3
 
4
4
  class ComposioGoogleDocsAPIComponent(ComposioBaseComponent):
5
- display_name: str = "Google Docs"
5
+ display_name: str = "GoogleDocs"
6
6
  icon = "Googledocs"
7
7
  documentation: str = "https://docs.composio.dev"
8
8
  app_name = "googledocs"
@@ -2,7 +2,7 @@ from lfx.base.composio.composio_base import ComposioBaseComponent
2
2
 
3
3
 
4
4
  class ComposioGooglemeetAPIComponent(ComposioBaseComponent):
5
- display_name: str = "Google Meet"
5
+ display_name: str = "GoogleMeet"
6
6
  icon = "Googlemeet"
7
7
  documentation: str = "https://docs.composio.dev"
8
8
  app_name = "googlemeet"
@@ -2,7 +2,7 @@ from lfx.base.composio.composio_base import ComposioBaseComponent
2
2
 
3
3
 
4
4
  class ComposioGoogleSheetsAPIComponent(ComposioBaseComponent):
5
- display_name: str = "Google Sheets"
5
+ display_name: str = "GoogleSheets"
6
6
  icon = "Googlesheets"
7
7
  documentation: str = "https://docs.composio.dev"
8
8
  app_name = "googlesheets"
@@ -2,7 +2,7 @@ from lfx.base.composio.composio_base import ComposioBaseComponent
2
2
 
3
3
 
4
4
  class ComposioGoogleTasksAPIComponent(ComposioBaseComponent):
5
- display_name: str = "Google Tasks"
5
+ display_name: str = "GoogleTasks"
6
6
  icon = "GoogleTasks"
7
7
  documentation: str = "https://docs.composio.dev"
8
8
  app_name = "googletasks"
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioHeygenAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "Heygen"
6
+ icon = "Heygen"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "heygen"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Heygen component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioMem0APIComponent(ComposioBaseComponent):
5
+ display_name: str = "Mem0"
6
+ icon = "Mem0Composio"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "mem0"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for Mem0 component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioPeopleDataLabsAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "PeopleDataLabs"
6
+ icon = "Peopledatalabs"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "peopledatalabs"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for PeopleDataLabs component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioPerplexityAIAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "PerplexityAI"
6
+ icon = "PerplexityComposio"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "perplexityai"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for PerplexityAI component."""
@@ -0,0 +1,11 @@
1
+ from lfx.base.composio.composio_base import ComposioBaseComponent
2
+
3
+
4
+ class ComposioSerpAPIComponent(ComposioBaseComponent):
5
+ display_name: str = "SerpAPI"
6
+ icon = "SerpSearchComposio"
7
+ documentation: str = "https://docs.composio.dev"
8
+ app_name = "serpapi"
9
+
10
+ def set_default_tools(self):
11
+ """Set the default tools for SerpAPI component."""