lfx-nightly 0.1.11.dev0__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.
- lfx/__init__.py +0 -0
- lfx/__main__.py +25 -0
- lfx/base/__init__.py +0 -0
- lfx/base/agents/__init__.py +0 -0
- lfx/base/agents/agent.py +268 -0
- lfx/base/agents/callback.py +130 -0
- lfx/base/agents/context.py +109 -0
- lfx/base/agents/crewai/__init__.py +0 -0
- lfx/base/agents/crewai/crew.py +231 -0
- lfx/base/agents/crewai/tasks.py +12 -0
- lfx/base/agents/default_prompts.py +23 -0
- lfx/base/agents/errors.py +15 -0
- lfx/base/agents/events.py +346 -0
- lfx/base/agents/utils.py +205 -0
- lfx/base/astra_assistants/__init__.py +0 -0
- lfx/base/astra_assistants/util.py +171 -0
- lfx/base/chains/__init__.py +0 -0
- lfx/base/chains/model.py +19 -0
- lfx/base/composio/__init__.py +0 -0
- lfx/base/composio/composio_base.py +1291 -0
- lfx/base/compressors/__init__.py +0 -0
- lfx/base/compressors/model.py +60 -0
- lfx/base/constants.py +46 -0
- lfx/base/curl/__init__.py +0 -0
- lfx/base/curl/parse.py +188 -0
- lfx/base/data/__init__.py +5 -0
- lfx/base/data/base_file.py +685 -0
- lfx/base/data/docling_utils.py +245 -0
- lfx/base/data/utils.py +198 -0
- lfx/base/document_transformers/__init__.py +0 -0
- lfx/base/document_transformers/model.py +43 -0
- lfx/base/embeddings/__init__.py +0 -0
- lfx/base/embeddings/aiml_embeddings.py +62 -0
- lfx/base/embeddings/model.py +26 -0
- lfx/base/flow_processing/__init__.py +0 -0
- lfx/base/flow_processing/utils.py +86 -0
- lfx/base/huggingface/__init__.py +0 -0
- lfx/base/huggingface/model_bridge.py +133 -0
- lfx/base/io/__init__.py +0 -0
- lfx/base/io/chat.py +20 -0
- lfx/base/io/text.py +22 -0
- lfx/base/langchain_utilities/__init__.py +0 -0
- lfx/base/langchain_utilities/model.py +35 -0
- lfx/base/langchain_utilities/spider_constants.py +1 -0
- lfx/base/langwatch/__init__.py +0 -0
- lfx/base/langwatch/utils.py +18 -0
- lfx/base/mcp/__init__.py +0 -0
- lfx/base/mcp/constants.py +2 -0
- lfx/base/mcp/util.py +1398 -0
- lfx/base/memory/__init__.py +0 -0
- lfx/base/memory/memory.py +49 -0
- lfx/base/memory/model.py +38 -0
- lfx/base/models/__init__.py +3 -0
- lfx/base/models/aiml_constants.py +51 -0
- lfx/base/models/anthropic_constants.py +47 -0
- lfx/base/models/aws_constants.py +151 -0
- lfx/base/models/chat_result.py +76 -0
- lfx/base/models/google_generative_ai_constants.py +70 -0
- lfx/base/models/groq_constants.py +134 -0
- lfx/base/models/model.py +375 -0
- lfx/base/models/model_input_constants.py +307 -0
- lfx/base/models/model_metadata.py +41 -0
- lfx/base/models/model_utils.py +8 -0
- lfx/base/models/novita_constants.py +35 -0
- lfx/base/models/ollama_constants.py +49 -0
- lfx/base/models/openai_constants.py +122 -0
- lfx/base/models/sambanova_constants.py +18 -0
- lfx/base/processing/__init__.py +0 -0
- lfx/base/prompts/__init__.py +0 -0
- lfx/base/prompts/api_utils.py +224 -0
- lfx/base/prompts/utils.py +61 -0
- lfx/base/textsplitters/__init__.py +0 -0
- lfx/base/textsplitters/model.py +28 -0
- lfx/base/tools/__init__.py +0 -0
- lfx/base/tools/base.py +26 -0
- lfx/base/tools/component_tool.py +325 -0
- lfx/base/tools/constants.py +49 -0
- lfx/base/tools/flow_tool.py +132 -0
- lfx/base/tools/run_flow.py +224 -0
- lfx/base/vectorstores/__init__.py +0 -0
- lfx/base/vectorstores/model.py +193 -0
- lfx/base/vectorstores/utils.py +22 -0
- lfx/base/vectorstores/vector_store_connection_decorator.py +52 -0
- lfx/cli/__init__.py +5 -0
- lfx/cli/commands.py +319 -0
- lfx/cli/common.py +650 -0
- lfx/cli/run.py +441 -0
- lfx/cli/script_loader.py +247 -0
- lfx/cli/serve_app.py +546 -0
- lfx/cli/validation.py +69 -0
- lfx/components/FAISS/__init__.py +34 -0
- lfx/components/FAISS/faiss.py +111 -0
- lfx/components/Notion/__init__.py +19 -0
- lfx/components/Notion/add_content_to_page.py +269 -0
- lfx/components/Notion/create_page.py +94 -0
- lfx/components/Notion/list_database_properties.py +68 -0
- lfx/components/Notion/list_pages.py +122 -0
- lfx/components/Notion/list_users.py +77 -0
- lfx/components/Notion/page_content_viewer.py +93 -0
- lfx/components/Notion/search.py +111 -0
- lfx/components/Notion/update_page_property.py +114 -0
- lfx/components/__init__.py +411 -0
- lfx/components/_importing.py +42 -0
- lfx/components/agentql/__init__.py +3 -0
- lfx/components/agentql/agentql_api.py +151 -0
- lfx/components/agents/__init__.py +34 -0
- lfx/components/agents/agent.py +558 -0
- lfx/components/agents/mcp_component.py +501 -0
- lfx/components/aiml/__init__.py +37 -0
- lfx/components/aiml/aiml.py +112 -0
- lfx/components/aiml/aiml_embeddings.py +37 -0
- lfx/components/amazon/__init__.py +36 -0
- lfx/components/amazon/amazon_bedrock_embedding.py +109 -0
- lfx/components/amazon/amazon_bedrock_model.py +124 -0
- lfx/components/amazon/s3_bucket_uploader.py +211 -0
- lfx/components/anthropic/__init__.py +34 -0
- lfx/components/anthropic/anthropic.py +187 -0
- lfx/components/apify/__init__.py +5 -0
- lfx/components/apify/apify_actor.py +325 -0
- lfx/components/arxiv/__init__.py +3 -0
- lfx/components/arxiv/arxiv.py +163 -0
- lfx/components/assemblyai/__init__.py +46 -0
- lfx/components/assemblyai/assemblyai_get_subtitles.py +83 -0
- lfx/components/assemblyai/assemblyai_lemur.py +183 -0
- lfx/components/assemblyai/assemblyai_list_transcripts.py +95 -0
- lfx/components/assemblyai/assemblyai_poll_transcript.py +72 -0
- lfx/components/assemblyai/assemblyai_start_transcript.py +188 -0
- lfx/components/azure/__init__.py +37 -0
- lfx/components/azure/azure_openai.py +95 -0
- lfx/components/azure/azure_openai_embeddings.py +83 -0
- lfx/components/baidu/__init__.py +32 -0
- lfx/components/baidu/baidu_qianfan_chat.py +113 -0
- lfx/components/bing/__init__.py +3 -0
- lfx/components/bing/bing_search_api.py +61 -0
- lfx/components/cassandra/__init__.py +40 -0
- lfx/components/cassandra/cassandra.py +264 -0
- lfx/components/cassandra/cassandra_chat.py +92 -0
- lfx/components/cassandra/cassandra_graph.py +238 -0
- lfx/components/chains/__init__.py +3 -0
- lfx/components/chroma/__init__.py +34 -0
- lfx/components/chroma/chroma.py +167 -0
- lfx/components/cleanlab/__init__.py +40 -0
- lfx/components/cleanlab/cleanlab_evaluator.py +155 -0
- lfx/components/cleanlab/cleanlab_rag_evaluator.py +254 -0
- lfx/components/cleanlab/cleanlab_remediator.py +131 -0
- lfx/components/clickhouse/__init__.py +34 -0
- lfx/components/clickhouse/clickhouse.py +135 -0
- lfx/components/cloudflare/__init__.py +32 -0
- lfx/components/cloudflare/cloudflare.py +81 -0
- lfx/components/cohere/__init__.py +40 -0
- lfx/components/cohere/cohere_embeddings.py +81 -0
- lfx/components/cohere/cohere_models.py +46 -0
- lfx/components/cohere/cohere_rerank.py +51 -0
- lfx/components/composio/__init__.py +74 -0
- lfx/components/composio/composio_api.py +268 -0
- lfx/components/composio/dropbox_compnent.py +11 -0
- lfx/components/composio/github_composio.py +11 -0
- lfx/components/composio/gmail_composio.py +38 -0
- lfx/components/composio/googlecalendar_composio.py +11 -0
- lfx/components/composio/googlemeet_composio.py +11 -0
- lfx/components/composio/googletasks_composio.py +8 -0
- lfx/components/composio/linear_composio.py +11 -0
- lfx/components/composio/outlook_composio.py +11 -0
- lfx/components/composio/reddit_composio.py +11 -0
- lfx/components/composio/slack_composio.py +582 -0
- lfx/components/composio/slackbot_composio.py +11 -0
- lfx/components/composio/supabase_composio.py +11 -0
- lfx/components/composio/todoist_composio.py +11 -0
- lfx/components/composio/youtube_composio.py +11 -0
- lfx/components/confluence/__init__.py +3 -0
- lfx/components/confluence/confluence.py +84 -0
- lfx/components/couchbase/__init__.py +34 -0
- lfx/components/couchbase/couchbase.py +102 -0
- lfx/components/crewai/__init__.py +49 -0
- lfx/components/crewai/crewai.py +107 -0
- lfx/components/crewai/hierarchical_crew.py +46 -0
- lfx/components/crewai/hierarchical_task.py +44 -0
- lfx/components/crewai/sequential_crew.py +52 -0
- lfx/components/crewai/sequential_task.py +73 -0
- lfx/components/crewai/sequential_task_agent.py +143 -0
- lfx/components/custom_component/__init__.py +34 -0
- lfx/components/custom_component/custom_component.py +31 -0
- lfx/components/data/__init__.py +64 -0
- lfx/components/data/api_request.py +544 -0
- lfx/components/data/csv_to_data.py +95 -0
- lfx/components/data/directory.py +113 -0
- lfx/components/data/file.py +577 -0
- lfx/components/data/json_to_data.py +98 -0
- lfx/components/data/news_search.py +164 -0
- lfx/components/data/rss.py +69 -0
- lfx/components/data/sql_executor.py +101 -0
- lfx/components/data/url.py +311 -0
- lfx/components/data/web_search.py +112 -0
- lfx/components/data/webhook.py +56 -0
- lfx/components/datastax/__init__.py +70 -0
- lfx/components/datastax/astra_assistant_manager.py +306 -0
- lfx/components/datastax/astra_db.py +75 -0
- lfx/components/datastax/astra_vectorize.py +124 -0
- lfx/components/datastax/astradb.py +1285 -0
- lfx/components/datastax/astradb_cql.py +314 -0
- lfx/components/datastax/astradb_graph.py +330 -0
- lfx/components/datastax/astradb_tool.py +414 -0
- lfx/components/datastax/astradb_vectorstore.py +1285 -0
- lfx/components/datastax/cassandra.py +92 -0
- lfx/components/datastax/create_assistant.py +58 -0
- lfx/components/datastax/create_thread.py +32 -0
- lfx/components/datastax/dotenv.py +35 -0
- lfx/components/datastax/get_assistant.py +37 -0
- lfx/components/datastax/getenvvar.py +30 -0
- lfx/components/datastax/graph_rag.py +141 -0
- lfx/components/datastax/hcd.py +314 -0
- lfx/components/datastax/list_assistants.py +25 -0
- lfx/components/datastax/run.py +89 -0
- lfx/components/deactivated/__init__.py +15 -0
- lfx/components/deactivated/amazon_kendra.py +66 -0
- lfx/components/deactivated/chat_litellm_model.py +158 -0
- lfx/components/deactivated/code_block_extractor.py +26 -0
- lfx/components/deactivated/documents_to_data.py +22 -0
- lfx/components/deactivated/embed.py +16 -0
- lfx/components/deactivated/extract_key_from_data.py +46 -0
- lfx/components/deactivated/json_document_builder.py +57 -0
- lfx/components/deactivated/list_flows.py +20 -0
- lfx/components/deactivated/mcp_sse.py +61 -0
- lfx/components/deactivated/mcp_stdio.py +62 -0
- lfx/components/deactivated/merge_data.py +93 -0
- lfx/components/deactivated/message.py +37 -0
- lfx/components/deactivated/metal.py +54 -0
- lfx/components/deactivated/multi_query.py +59 -0
- lfx/components/deactivated/retriever.py +43 -0
- lfx/components/deactivated/selective_passthrough.py +77 -0
- lfx/components/deactivated/should_run_next.py +40 -0
- lfx/components/deactivated/split_text.py +63 -0
- lfx/components/deactivated/store_message.py +24 -0
- lfx/components/deactivated/sub_flow.py +124 -0
- lfx/components/deactivated/vectara_self_query.py +76 -0
- lfx/components/deactivated/vector_store.py +24 -0
- lfx/components/deepseek/__init__.py +34 -0
- lfx/components/deepseek/deepseek.py +136 -0
- lfx/components/docling/__init__.py +43 -0
- lfx/components/docling/chunk_docling_document.py +186 -0
- lfx/components/docling/docling_inline.py +231 -0
- lfx/components/docling/docling_remote.py +193 -0
- lfx/components/docling/export_docling_document.py +117 -0
- lfx/components/documentloaders/__init__.py +3 -0
- lfx/components/duckduckgo/__init__.py +3 -0
- lfx/components/duckduckgo/duck_duck_go_search_run.py +92 -0
- lfx/components/elastic/__init__.py +37 -0
- lfx/components/elastic/elasticsearch.py +267 -0
- lfx/components/elastic/opensearch.py +243 -0
- lfx/components/embeddings/__init__.py +37 -0
- lfx/components/embeddings/similarity.py +76 -0
- lfx/components/embeddings/text_embedder.py +64 -0
- lfx/components/exa/__init__.py +3 -0
- lfx/components/exa/exa_search.py +68 -0
- lfx/components/firecrawl/__init__.py +43 -0
- lfx/components/firecrawl/firecrawl_crawl_api.py +88 -0
- lfx/components/firecrawl/firecrawl_extract_api.py +136 -0
- lfx/components/firecrawl/firecrawl_map_api.py +89 -0
- lfx/components/firecrawl/firecrawl_scrape_api.py +73 -0
- lfx/components/git/__init__.py +4 -0
- lfx/components/git/git.py +262 -0
- lfx/components/git/gitextractor.py +196 -0
- lfx/components/glean/__init__.py +3 -0
- lfx/components/glean/glean_search_api.py +173 -0
- lfx/components/google/__init__.py +17 -0
- lfx/components/google/gmail.py +192 -0
- lfx/components/google/google_bq_sql_executor.py +157 -0
- lfx/components/google/google_drive.py +92 -0
- lfx/components/google/google_drive_search.py +152 -0
- lfx/components/google/google_generative_ai.py +147 -0
- lfx/components/google/google_generative_ai_embeddings.py +141 -0
- lfx/components/google/google_oauth_token.py +89 -0
- lfx/components/google/google_search_api_core.py +68 -0
- lfx/components/google/google_serper_api_core.py +74 -0
- lfx/components/groq/__init__.py +34 -0
- lfx/components/groq/groq.py +136 -0
- lfx/components/helpers/__init__.py +52 -0
- lfx/components/helpers/calculator_core.py +89 -0
- lfx/components/helpers/create_list.py +40 -0
- lfx/components/helpers/current_date.py +42 -0
- lfx/components/helpers/id_generator.py +42 -0
- lfx/components/helpers/memory.py +251 -0
- lfx/components/helpers/output_parser.py +45 -0
- lfx/components/helpers/store_message.py +90 -0
- lfx/components/homeassistant/__init__.py +7 -0
- lfx/components/homeassistant/home_assistant_control.py +152 -0
- lfx/components/homeassistant/list_home_assistant_states.py +137 -0
- lfx/components/huggingface/__init__.py +37 -0
- lfx/components/huggingface/huggingface.py +197 -0
- lfx/components/huggingface/huggingface_inference_api.py +106 -0
- lfx/components/ibm/__init__.py +34 -0
- lfx/components/ibm/watsonx.py +203 -0
- lfx/components/ibm/watsonx_embeddings.py +135 -0
- lfx/components/icosacomputing/__init__.py +5 -0
- lfx/components/icosacomputing/combinatorial_reasoner.py +84 -0
- lfx/components/input_output/__init__.py +38 -0
- lfx/components/input_output/chat.py +120 -0
- lfx/components/input_output/chat_output.py +200 -0
- lfx/components/input_output/text.py +27 -0
- lfx/components/input_output/text_output.py +29 -0
- lfx/components/jigsawstack/__init__.py +23 -0
- lfx/components/jigsawstack/ai_scrape.py +126 -0
- lfx/components/jigsawstack/ai_web_search.py +136 -0
- lfx/components/jigsawstack/file_read.py +115 -0
- lfx/components/jigsawstack/file_upload.py +94 -0
- lfx/components/jigsawstack/image_generation.py +205 -0
- lfx/components/jigsawstack/nsfw.py +60 -0
- lfx/components/jigsawstack/object_detection.py +124 -0
- lfx/components/jigsawstack/sentiment.py +112 -0
- lfx/components/jigsawstack/text_to_sql.py +90 -0
- lfx/components/jigsawstack/text_translate.py +77 -0
- lfx/components/jigsawstack/vocr.py +107 -0
- lfx/components/langchain_utilities/__init__.py +109 -0
- lfx/components/langchain_utilities/character.py +53 -0
- lfx/components/langchain_utilities/conversation.py +59 -0
- lfx/components/langchain_utilities/csv_agent.py +107 -0
- lfx/components/langchain_utilities/fake_embeddings.py +26 -0
- lfx/components/langchain_utilities/html_link_extractor.py +35 -0
- lfx/components/langchain_utilities/json_agent.py +45 -0
- lfx/components/langchain_utilities/langchain_hub.py +126 -0
- lfx/components/langchain_utilities/language_recursive.py +49 -0
- lfx/components/langchain_utilities/language_semantic.py +138 -0
- lfx/components/langchain_utilities/llm_checker.py +39 -0
- lfx/components/langchain_utilities/llm_math.py +42 -0
- lfx/components/langchain_utilities/natural_language.py +61 -0
- lfx/components/langchain_utilities/openai_tools.py +53 -0
- lfx/components/langchain_utilities/openapi.py +48 -0
- lfx/components/langchain_utilities/recursive_character.py +60 -0
- lfx/components/langchain_utilities/retrieval_qa.py +83 -0
- lfx/components/langchain_utilities/runnable_executor.py +137 -0
- lfx/components/langchain_utilities/self_query.py +80 -0
- lfx/components/langchain_utilities/spider.py +142 -0
- lfx/components/langchain_utilities/sql.py +40 -0
- lfx/components/langchain_utilities/sql_database.py +35 -0
- lfx/components/langchain_utilities/sql_generator.py +78 -0
- lfx/components/langchain_utilities/tool_calling.py +59 -0
- lfx/components/langchain_utilities/vector_store_info.py +49 -0
- lfx/components/langchain_utilities/vector_store_router.py +33 -0
- lfx/components/langchain_utilities/xml_agent.py +71 -0
- lfx/components/langwatch/__init__.py +3 -0
- lfx/components/langwatch/langwatch.py +278 -0
- lfx/components/link_extractors/__init__.py +3 -0
- lfx/components/lmstudio/__init__.py +34 -0
- lfx/components/lmstudio/lmstudioembeddings.py +89 -0
- lfx/components/lmstudio/lmstudiomodel.py +129 -0
- lfx/components/logic/__init__.py +52 -0
- lfx/components/logic/conditional_router.py +171 -0
- lfx/components/logic/data_conditional_router.py +125 -0
- lfx/components/logic/flow_tool.py +110 -0
- lfx/components/logic/listen.py +29 -0
- lfx/components/logic/loop.py +125 -0
- lfx/components/logic/notify.py +88 -0
- lfx/components/logic/pass_message.py +35 -0
- lfx/components/logic/run_flow.py +71 -0
- lfx/components/logic/sub_flow.py +114 -0
- lfx/components/maritalk/__init__.py +32 -0
- lfx/components/maritalk/maritalk.py +52 -0
- lfx/components/mem0/__init__.py +3 -0
- lfx/components/mem0/mem0_chat_memory.py +136 -0
- lfx/components/milvus/__init__.py +34 -0
- lfx/components/milvus/milvus.py +115 -0
- lfx/components/mistral/__init__.py +37 -0
- lfx/components/mistral/mistral.py +114 -0
- lfx/components/mistral/mistral_embeddings.py +58 -0
- lfx/components/models/__init__.py +34 -0
- lfx/components/models/embedding_model.py +114 -0
- lfx/components/models/language_model.py +144 -0
- lfx/components/mongodb/__init__.py +34 -0
- lfx/components/mongodb/mongodb_atlas.py +213 -0
- lfx/components/needle/__init__.py +3 -0
- lfx/components/needle/needle.py +104 -0
- lfx/components/notdiamond/__init__.py +34 -0
- lfx/components/notdiamond/notdiamond.py +228 -0
- lfx/components/novita/__init__.py +32 -0
- lfx/components/novita/novita.py +130 -0
- lfx/components/nvidia/__init__.py +57 -0
- lfx/components/nvidia/nvidia.py +157 -0
- lfx/components/nvidia/nvidia_embedding.py +77 -0
- lfx/components/nvidia/nvidia_ingest.py +317 -0
- lfx/components/nvidia/nvidia_rerank.py +63 -0
- lfx/components/nvidia/system_assist.py +65 -0
- lfx/components/olivya/__init__.py +3 -0
- lfx/components/olivya/olivya.py +116 -0
- lfx/components/ollama/__init__.py +37 -0
- lfx/components/ollama/ollama.py +330 -0
- lfx/components/ollama/ollama_embeddings.py +106 -0
- lfx/components/openai/__init__.py +37 -0
- lfx/components/openai/openai.py +100 -0
- lfx/components/openai/openai_chat_model.py +176 -0
- lfx/components/openrouter/__init__.py +32 -0
- lfx/components/openrouter/openrouter.py +202 -0
- lfx/components/output_parsers/__init__.py +3 -0
- lfx/components/perplexity/__init__.py +34 -0
- lfx/components/perplexity/perplexity.py +75 -0
- lfx/components/pgvector/__init__.py +34 -0
- lfx/components/pgvector/pgvector.py +72 -0
- lfx/components/pinecone/__init__.py +34 -0
- lfx/components/pinecone/pinecone.py +134 -0
- lfx/components/processing/__init__.py +117 -0
- lfx/components/processing/alter_metadata.py +108 -0
- lfx/components/processing/batch_run.py +205 -0
- lfx/components/processing/combine_text.py +39 -0
- lfx/components/processing/converter.py +159 -0
- lfx/components/processing/create_data.py +110 -0
- lfx/components/processing/data_operations.py +438 -0
- lfx/components/processing/data_to_dataframe.py +70 -0
- lfx/components/processing/dataframe_operations.py +313 -0
- lfx/components/processing/extract_key.py +53 -0
- lfx/components/processing/filter_data.py +42 -0
- lfx/components/processing/filter_data_values.py +88 -0
- lfx/components/processing/json_cleaner.py +103 -0
- lfx/components/processing/lambda_filter.py +154 -0
- lfx/components/processing/llm_router.py +499 -0
- lfx/components/processing/merge_data.py +90 -0
- lfx/components/processing/message_to_data.py +36 -0
- lfx/components/processing/parse_data.py +70 -0
- lfx/components/processing/parse_dataframe.py +68 -0
- lfx/components/processing/parse_json_data.py +90 -0
- lfx/components/processing/parser.py +143 -0
- lfx/components/processing/prompt.py +67 -0
- lfx/components/processing/python_repl_core.py +98 -0
- lfx/components/processing/regex.py +82 -0
- lfx/components/processing/save_file.py +225 -0
- lfx/components/processing/select_data.py +48 -0
- lfx/components/processing/split_text.py +141 -0
- lfx/components/processing/structured_output.py +202 -0
- lfx/components/processing/update_data.py +160 -0
- lfx/components/prototypes/__init__.py +34 -0
- lfx/components/prototypes/python_function.py +73 -0
- lfx/components/qdrant/__init__.py +34 -0
- lfx/components/qdrant/qdrant.py +109 -0
- lfx/components/redis/__init__.py +37 -0
- lfx/components/redis/redis.py +89 -0
- lfx/components/redis/redis_chat.py +43 -0
- lfx/components/sambanova/__init__.py +32 -0
- lfx/components/sambanova/sambanova.py +84 -0
- lfx/components/scrapegraph/__init__.py +40 -0
- lfx/components/scrapegraph/scrapegraph_markdownify_api.py +64 -0
- lfx/components/scrapegraph/scrapegraph_search_api.py +64 -0
- lfx/components/scrapegraph/scrapegraph_smart_scraper_api.py +71 -0
- lfx/components/searchapi/__init__.py +34 -0
- lfx/components/searchapi/search.py +79 -0
- lfx/components/serpapi/__init__.py +3 -0
- lfx/components/serpapi/serp.py +115 -0
- lfx/components/supabase/__init__.py +34 -0
- lfx/components/supabase/supabase.py +76 -0
- lfx/components/tavily/__init__.py +4 -0
- lfx/components/tavily/tavily_extract.py +117 -0
- lfx/components/tavily/tavily_search.py +212 -0
- lfx/components/textsplitters/__init__.py +3 -0
- lfx/components/toolkits/__init__.py +3 -0
- lfx/components/tools/__init__.py +72 -0
- lfx/components/tools/calculator.py +108 -0
- lfx/components/tools/google_search_api.py +45 -0
- lfx/components/tools/google_serper_api.py +115 -0
- lfx/components/tools/python_code_structured_tool.py +327 -0
- lfx/components/tools/python_repl.py +97 -0
- lfx/components/tools/search_api.py +87 -0
- lfx/components/tools/searxng.py +145 -0
- lfx/components/tools/serp_api.py +119 -0
- lfx/components/tools/tavily_search_tool.py +344 -0
- lfx/components/tools/wikidata_api.py +102 -0
- lfx/components/tools/wikipedia_api.py +49 -0
- lfx/components/tools/yahoo_finance.py +129 -0
- lfx/components/twelvelabs/__init__.py +52 -0
- lfx/components/twelvelabs/convert_astra_results.py +84 -0
- lfx/components/twelvelabs/pegasus_index.py +311 -0
- lfx/components/twelvelabs/split_video.py +291 -0
- lfx/components/twelvelabs/text_embeddings.py +57 -0
- lfx/components/twelvelabs/twelvelabs_pegasus.py +408 -0
- lfx/components/twelvelabs/video_embeddings.py +100 -0
- lfx/components/twelvelabs/video_file.py +179 -0
- lfx/components/unstructured/__init__.py +3 -0
- lfx/components/unstructured/unstructured.py +121 -0
- lfx/components/upstash/__init__.py +34 -0
- lfx/components/upstash/upstash.py +124 -0
- lfx/components/vectara/__init__.py +37 -0
- lfx/components/vectara/vectara.py +97 -0
- lfx/components/vectara/vectara_rag.py +164 -0
- lfx/components/vectorstores/__init__.py +40 -0
- lfx/components/vectorstores/astradb.py +1285 -0
- lfx/components/vectorstores/astradb_graph.py +319 -0
- lfx/components/vectorstores/cassandra.py +264 -0
- lfx/components/vectorstores/cassandra_graph.py +238 -0
- lfx/components/vectorstores/chroma.py +167 -0
- lfx/components/vectorstores/clickhouse.py +135 -0
- lfx/components/vectorstores/couchbase.py +102 -0
- lfx/components/vectorstores/elasticsearch.py +267 -0
- lfx/components/vectorstores/faiss.py +111 -0
- lfx/components/vectorstores/graph_rag.py +141 -0
- lfx/components/vectorstores/hcd.py +314 -0
- lfx/components/vectorstores/local_db.py +261 -0
- lfx/components/vectorstores/milvus.py +115 -0
- lfx/components/vectorstores/mongodb_atlas.py +213 -0
- lfx/components/vectorstores/opensearch.py +243 -0
- lfx/components/vectorstores/pgvector.py +72 -0
- lfx/components/vectorstores/pinecone.py +134 -0
- lfx/components/vectorstores/qdrant.py +109 -0
- lfx/components/vectorstores/supabase.py +76 -0
- lfx/components/vectorstores/upstash.py +124 -0
- lfx/components/vectorstores/vectara.py +97 -0
- lfx/components/vectorstores/vectara_rag.py +164 -0
- lfx/components/vectorstores/weaviate.py +89 -0
- lfx/components/vertexai/__init__.py +37 -0
- lfx/components/vertexai/vertexai.py +71 -0
- lfx/components/vertexai/vertexai_embeddings.py +67 -0
- lfx/components/weaviate/__init__.py +34 -0
- lfx/components/weaviate/weaviate.py +89 -0
- lfx/components/wikipedia/__init__.py +4 -0
- lfx/components/wikipedia/wikidata.py +86 -0
- lfx/components/wikipedia/wikipedia.py +53 -0
- lfx/components/wolframalpha/__init__.py +3 -0
- lfx/components/wolframalpha/wolfram_alpha_api.py +54 -0
- lfx/components/xai/__init__.py +32 -0
- lfx/components/xai/xai.py +167 -0
- lfx/components/yahoosearch/__init__.py +3 -0
- lfx/components/yahoosearch/yahoo.py +137 -0
- lfx/components/youtube/__init__.py +52 -0
- lfx/components/youtube/channel.py +227 -0
- lfx/components/youtube/comments.py +231 -0
- lfx/components/youtube/playlist.py +33 -0
- lfx/components/youtube/search.py +120 -0
- lfx/components/youtube/trending.py +285 -0
- lfx/components/youtube/video_details.py +263 -0
- lfx/components/youtube/youtube_transcripts.py +118 -0
- lfx/components/zep/__init__.py +3 -0
- lfx/components/zep/zep.py +44 -0
- lfx/constants.py +6 -0
- lfx/custom/__init__.py +7 -0
- lfx/custom/attributes.py +86 -0
- lfx/custom/code_parser/__init__.py +3 -0
- lfx/custom/code_parser/code_parser.py +361 -0
- lfx/custom/custom_component/__init__.py +0 -0
- lfx/custom/custom_component/base_component.py +128 -0
- lfx/custom/custom_component/component.py +1808 -0
- lfx/custom/custom_component/component_with_cache.py +8 -0
- lfx/custom/custom_component/custom_component.py +588 -0
- lfx/custom/dependency_analyzer.py +165 -0
- lfx/custom/directory_reader/__init__.py +3 -0
- lfx/custom/directory_reader/directory_reader.py +359 -0
- lfx/custom/directory_reader/utils.py +171 -0
- lfx/custom/eval.py +12 -0
- lfx/custom/schema.py +32 -0
- lfx/custom/tree_visitor.py +21 -0
- lfx/custom/utils.py +877 -0
- lfx/custom/validate.py +488 -0
- lfx/events/__init__.py +1 -0
- lfx/events/event_manager.py +110 -0
- lfx/exceptions/__init__.py +0 -0
- lfx/exceptions/component.py +15 -0
- lfx/field_typing/__init__.py +91 -0
- lfx/field_typing/constants.py +215 -0
- lfx/field_typing/range_spec.py +35 -0
- lfx/graph/__init__.py +6 -0
- lfx/graph/edge/__init__.py +0 -0
- lfx/graph/edge/base.py +277 -0
- lfx/graph/edge/schema.py +119 -0
- lfx/graph/edge/utils.py +0 -0
- lfx/graph/graph/__init__.py +0 -0
- lfx/graph/graph/ascii.py +202 -0
- lfx/graph/graph/base.py +2238 -0
- lfx/graph/graph/constants.py +63 -0
- lfx/graph/graph/runnable_vertices_manager.py +133 -0
- lfx/graph/graph/schema.py +52 -0
- lfx/graph/graph/state_model.py +66 -0
- lfx/graph/graph/utils.py +1024 -0
- lfx/graph/schema.py +75 -0
- lfx/graph/state/__init__.py +0 -0
- lfx/graph/state/model.py +237 -0
- lfx/graph/utils.py +200 -0
- lfx/graph/vertex/__init__.py +0 -0
- lfx/graph/vertex/base.py +823 -0
- lfx/graph/vertex/constants.py +0 -0
- lfx/graph/vertex/exceptions.py +4 -0
- lfx/graph/vertex/param_handler.py +264 -0
- lfx/graph/vertex/schema.py +26 -0
- lfx/graph/vertex/utils.py +19 -0
- lfx/graph/vertex/vertex_types.py +489 -0
- lfx/helpers/__init__.py +1 -0
- lfx/helpers/base_model.py +71 -0
- lfx/helpers/custom.py +13 -0
- lfx/helpers/data.py +167 -0
- lfx/helpers/flow.py +194 -0
- lfx/inputs/__init__.py +68 -0
- lfx/inputs/constants.py +2 -0
- lfx/inputs/input_mixin.py +328 -0
- lfx/inputs/inputs.py +714 -0
- lfx/inputs/validators.py +19 -0
- lfx/interface/__init__.py +6 -0
- lfx/interface/components.py +489 -0
- lfx/interface/importing/__init__.py +5 -0
- lfx/interface/importing/utils.py +39 -0
- lfx/interface/initialize/__init__.py +3 -0
- lfx/interface/initialize/loading.py +224 -0
- lfx/interface/listing.py +26 -0
- lfx/interface/run.py +16 -0
- lfx/interface/utils.py +111 -0
- lfx/io/__init__.py +63 -0
- lfx/io/schema.py +289 -0
- lfx/load/__init__.py +8 -0
- lfx/load/load.py +256 -0
- lfx/load/utils.py +99 -0
- lfx/log/__init__.py +5 -0
- lfx/log/logger.py +385 -0
- lfx/memory/__init__.py +90 -0
- lfx/memory/stubs.py +283 -0
- lfx/processing/__init__.py +1 -0
- lfx/processing/process.py +238 -0
- lfx/processing/utils.py +25 -0
- lfx/py.typed +0 -0
- lfx/schema/__init__.py +66 -0
- lfx/schema/artifact.py +83 -0
- lfx/schema/content_block.py +62 -0
- lfx/schema/content_types.py +91 -0
- lfx/schema/data.py +308 -0
- lfx/schema/dataframe.py +210 -0
- lfx/schema/dotdict.py +74 -0
- lfx/schema/encoders.py +13 -0
- lfx/schema/graph.py +47 -0
- lfx/schema/image.py +131 -0
- lfx/schema/json_schema.py +141 -0
- lfx/schema/log.py +61 -0
- lfx/schema/message.py +473 -0
- lfx/schema/openai_responses_schemas.py +74 -0
- lfx/schema/properties.py +41 -0
- lfx/schema/schema.py +171 -0
- lfx/schema/serialize.py +13 -0
- lfx/schema/table.py +140 -0
- lfx/schema/validators.py +114 -0
- lfx/serialization/__init__.py +5 -0
- lfx/serialization/constants.py +2 -0
- lfx/serialization/serialization.py +314 -0
- lfx/services/__init__.py +23 -0
- lfx/services/base.py +28 -0
- lfx/services/cache/__init__.py +6 -0
- lfx/services/cache/base.py +183 -0
- lfx/services/cache/service.py +166 -0
- lfx/services/cache/utils.py +169 -0
- lfx/services/chat/__init__.py +1 -0
- lfx/services/chat/config.py +2 -0
- lfx/services/chat/schema.py +10 -0
- lfx/services/deps.py +129 -0
- lfx/services/factory.py +19 -0
- lfx/services/initialize.py +19 -0
- lfx/services/interfaces.py +103 -0
- lfx/services/manager.py +172 -0
- lfx/services/schema.py +20 -0
- lfx/services/session.py +82 -0
- lfx/services/settings/__init__.py +3 -0
- lfx/services/settings/auth.py +130 -0
- lfx/services/settings/base.py +539 -0
- lfx/services/settings/constants.py +31 -0
- lfx/services/settings/factory.py +23 -0
- lfx/services/settings/feature_flags.py +12 -0
- lfx/services/settings/service.py +35 -0
- lfx/services/settings/utils.py +40 -0
- lfx/services/shared_component_cache/__init__.py +1 -0
- lfx/services/shared_component_cache/factory.py +30 -0
- lfx/services/shared_component_cache/service.py +9 -0
- lfx/services/storage/__init__.py +5 -0
- lfx/services/storage/local.py +155 -0
- lfx/services/storage/service.py +54 -0
- lfx/services/tracing/__init__.py +1 -0
- lfx/services/tracing/service.py +21 -0
- lfx/settings.py +6 -0
- lfx/template/__init__.py +6 -0
- lfx/template/field/__init__.py +0 -0
- lfx/template/field/base.py +257 -0
- lfx/template/field/prompt.py +15 -0
- lfx/template/frontend_node/__init__.py +6 -0
- lfx/template/frontend_node/base.py +212 -0
- lfx/template/frontend_node/constants.py +65 -0
- lfx/template/frontend_node/custom_components.py +79 -0
- lfx/template/template/__init__.py +0 -0
- lfx/template/template/base.py +100 -0
- lfx/template/utils.py +217 -0
- lfx/type_extraction/__init__.py +19 -0
- lfx/type_extraction/type_extraction.py +75 -0
- lfx/type_extraction.py +80 -0
- lfx/utils/__init__.py +1 -0
- lfx/utils/async_helpers.py +42 -0
- lfx/utils/component_utils.py +154 -0
- lfx/utils/concurrency.py +60 -0
- lfx/utils/connection_string_parser.py +11 -0
- lfx/utils/constants.py +205 -0
- lfx/utils/data_structure.py +212 -0
- lfx/utils/exceptions.py +22 -0
- lfx/utils/helpers.py +28 -0
- lfx/utils/image.py +73 -0
- lfx/utils/lazy_load.py +15 -0
- lfx/utils/request_utils.py +18 -0
- lfx/utils/schemas.py +139 -0
- lfx/utils/util.py +481 -0
- lfx/utils/util_strings.py +56 -0
- lfx/utils/version.py +24 -0
- lfx_nightly-0.1.11.dev0.dist-info/METADATA +293 -0
- lfx_nightly-0.1.11.dev0.dist-info/RECORD +699 -0
- lfx_nightly-0.1.11.dev0.dist-info/WHEEL +4 -0
- lfx_nightly-0.1.11.dev0.dist-info/entry_points.txt +2 -0
@@ -0,0 +1,582 @@
|
|
1
|
+
from typing import Any
|
2
|
+
|
3
|
+
from lfx.base.composio.composio_base import ComposioBaseComponent
|
4
|
+
from lfx.inputs import BoolInput, IntInput, MessageTextInput
|
5
|
+
from lfx.log.logger import logger
|
6
|
+
|
7
|
+
|
8
|
+
class ComposioSlackAPIComponent(ComposioBaseComponent):
|
9
|
+
display_name: str = "Slack"
|
10
|
+
icon = "Slack"
|
11
|
+
documentation: str = "https://docs.composio.dev"
|
12
|
+
app_name = "slack"
|
13
|
+
|
14
|
+
_actions_data: dict = {
|
15
|
+
"SLACK_LIST_ALL_SLACK_TEAM_USERS_WITH_PAGINATION": {
|
16
|
+
"display_name": "List Users",
|
17
|
+
"action_fields": [
|
18
|
+
"SLACK_LIST_ALL_SLACK_TEAM_USERS_WITH_PAGINATION_limit",
|
19
|
+
"SLACK_LIST_ALL_SLACK_TEAM_USERS_WITH_PAGINATION_cursor",
|
20
|
+
"SLACK_LIST_ALL_SLACK_TEAM_USERS_WITH_PAGINATION_include_locale",
|
21
|
+
],
|
22
|
+
},
|
23
|
+
"SLACK_LIST_ALL_SLACK_TEAM_CHANNELS_WITH_VARIOUS_FILTERS": {
|
24
|
+
"display_name": "List Channels",
|
25
|
+
"action_fields": [
|
26
|
+
"SLACK_LIST_ALL_SLACK_TEAM_CHANNELS_WITH_VARIOUS_FILTERS_exclude_archived",
|
27
|
+
"SLACK_LIST_ALL_SLACK_TEAM_CHANNELS_WITH_VARIOUS_FILTERS_types",
|
28
|
+
"SLACK_LIST_ALL_SLACK_TEAM_CHANNELS_WITH_VARIOUS_FILTERS_limit",
|
29
|
+
"SLACK_LIST_ALL_SLACK_TEAM_CHANNELS_WITH_VARIOUS_FILTERS_cursor",
|
30
|
+
],
|
31
|
+
},
|
32
|
+
"SLACK_UPDATES_A_SLACK_MESSAGE": {
|
33
|
+
"display_name": "Update Slack Chat Message",
|
34
|
+
"action_fields": [
|
35
|
+
"SLACK_UPDATES_A_SLACK_MESSAGE_as_user",
|
36
|
+
"SLACK_UPDATES_A_SLACK_MESSAGE_attachments",
|
37
|
+
"SLACK_UPDATES_A_SLACK_MESSAGE_blocks",
|
38
|
+
"SLACK_UPDATES_A_SLACK_MESSAGE_channel",
|
39
|
+
"SLACK_UPDATES_A_SLACK_MESSAGE_link_names",
|
40
|
+
"SLACK_UPDATES_A_SLACK_MESSAGE_parse",
|
41
|
+
"SLACK_UPDATES_A_SLACK_MESSAGE_text",
|
42
|
+
"SLACK_UPDATES_A_SLACK_MESSAGE_ts",
|
43
|
+
],
|
44
|
+
},
|
45
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL": {
|
46
|
+
"display_name": "Post Message To Channel",
|
47
|
+
"action_fields": [
|
48
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_as_user",
|
49
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_attachments",
|
50
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_blocks",
|
51
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_channel",
|
52
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_icon_emoji",
|
53
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_icon_url",
|
54
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_link_names",
|
55
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_mrkdwn",
|
56
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_parse",
|
57
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_reply_broadcast",
|
58
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_text",
|
59
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_thread_ts",
|
60
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_unfurl_links",
|
61
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_unfurl_media",
|
62
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_username",
|
63
|
+
],
|
64
|
+
},
|
65
|
+
"SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY": {
|
66
|
+
"display_name": "Search Messages Endpoint",
|
67
|
+
"action_fields": [
|
68
|
+
"SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_count",
|
69
|
+
"SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_highlight",
|
70
|
+
"SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_page",
|
71
|
+
"SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_query",
|
72
|
+
"SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_sort",
|
73
|
+
"SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_sort_dir",
|
74
|
+
],
|
75
|
+
},
|
76
|
+
"SLACK_FETCH_CONVERSATION_HISTORY": {
|
77
|
+
"display_name": "Retrieve conversation history",
|
78
|
+
"action_fields": [
|
79
|
+
"SLACK_FETCH_CONVERSATION_HISTORY_channel",
|
80
|
+
"SLACK_FETCH_CONVERSATION_HISTORY_latest",
|
81
|
+
"SLACK_FETCH_CONVERSATION_HISTORY_oldest",
|
82
|
+
"SLACK_FETCH_CONVERSATION_HISTORY_inclusive",
|
83
|
+
"SLACK_FETCH_CONVERSATION_HISTORY_limit",
|
84
|
+
"SLACK_FETCH_CONVERSATION_HISTORY_cursor",
|
85
|
+
],
|
86
|
+
},
|
87
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME": {
|
88
|
+
"display_name": "Schedule Message In Chat",
|
89
|
+
"action_fields": [
|
90
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_as_user",
|
91
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_attachments",
|
92
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_blocks",
|
93
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_channel",
|
94
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_link_names",
|
95
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_parse",
|
96
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_post_at",
|
97
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_reply_broadcast",
|
98
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_text",
|
99
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_thread_ts",
|
100
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_unfurl_links",
|
101
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_unfurl_media",
|
102
|
+
],
|
103
|
+
},
|
104
|
+
"SLACK_CREATE_A_REMINDER": {
|
105
|
+
"display_name": "Add Reminder For User",
|
106
|
+
"action_fields": [
|
107
|
+
"SLACK_CREATE_A_REMINDER_text",
|
108
|
+
"SLACK_CREATE_A_REMINDER_time",
|
109
|
+
"SLACK_CREATE_A_REMINDER_user",
|
110
|
+
],
|
111
|
+
},
|
112
|
+
}
|
113
|
+
|
114
|
+
_all_fields = {field for action_data in _actions_data.values() for field in action_data["action_fields"]}
|
115
|
+
_bool_variables = {
|
116
|
+
"SLACK_LIST_ALL_SLACK_TEAM_USERS_WITH_PAGINATION_include_locale",
|
117
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_as_user",
|
118
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_link_names",
|
119
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_mrkdwn",
|
120
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_reply_broadcast",
|
121
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_unfurl_links",
|
122
|
+
"SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_unfurl_media",
|
123
|
+
"SLACK_FETCH_CONVERSATION_HISTORY_inclusive",
|
124
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_as_user",
|
125
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_link_names",
|
126
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_reply_broadcast",
|
127
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_unfurl_links",
|
128
|
+
"SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_unfurl_media",
|
129
|
+
"SLACK_LIST_ALL_SLACK_TEAM_CHANNELS_WITH_VARIOUS_FILTERS_exclude_archived",
|
130
|
+
"SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_highlight",
|
131
|
+
}
|
132
|
+
|
133
|
+
inputs = [
|
134
|
+
*ComposioBaseComponent.get_base_inputs(),
|
135
|
+
IntInput(
|
136
|
+
name="SLACK_LIST_ALL_SLACK_TEAM_USERS_WITH_PAGINATION_limit",
|
137
|
+
display_name="Limit",
|
138
|
+
info="The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached. Providing no `limit` value will result in Slack attempting to deliver you the entire result set. If the collection is too large you may experience `limit_required` or HTTP 500 errors. ", # noqa: E501
|
139
|
+
show=False,
|
140
|
+
value=1,
|
141
|
+
),
|
142
|
+
MessageTextInput(
|
143
|
+
name="SLACK_LIST_ALL_SLACK_TEAM_USERS_WITH_PAGINATION_cursor",
|
144
|
+
display_name="Cursor",
|
145
|
+
info="Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's `response_metadata`. Default value fetches the first `page` of the collection", # noqa: E501
|
146
|
+
show=False,
|
147
|
+
advanced=True,
|
148
|
+
),
|
149
|
+
BoolInput(
|
150
|
+
name="SLACK_LIST_ALL_SLACK_TEAM_USERS_WITH_PAGINATION_include_locale",
|
151
|
+
display_name="Include Locale",
|
152
|
+
info="Set this to `true` to receive the locale for users. Defaults to `false`",
|
153
|
+
show=False,
|
154
|
+
),
|
155
|
+
BoolInput(
|
156
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_as_user",
|
157
|
+
display_name="As User",
|
158
|
+
info="Pass true to post the message as the authed user, instead of as a bot. Defaults to false",
|
159
|
+
show=False,
|
160
|
+
advanced=True,
|
161
|
+
),
|
162
|
+
MessageTextInput(
|
163
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_attachments",
|
164
|
+
display_name="Attachments",
|
165
|
+
info="A JSON-based array of structured attachments, presented as a URL-encoded string. ",
|
166
|
+
show=False,
|
167
|
+
advanced=True,
|
168
|
+
),
|
169
|
+
MessageTextInput(
|
170
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_blocks",
|
171
|
+
display_name="Blocks",
|
172
|
+
info="A JSON-based array of structured blocks, presented as a URL-encoded string. ",
|
173
|
+
show=False,
|
174
|
+
advanced=True,
|
175
|
+
),
|
176
|
+
MessageTextInput(
|
177
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_channel",
|
178
|
+
display_name="Channel",
|
179
|
+
info="Channel, private group, or IM channel to send message to. Can be an encoded ID, or a name ",
|
180
|
+
show=False,
|
181
|
+
required=True,
|
182
|
+
),
|
183
|
+
MessageTextInput(
|
184
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_icon_emoji",
|
185
|
+
display_name="Icon Emoji",
|
186
|
+
info="Emoji to use as the icon for this message. Overrides `icon_url`. Must be used in conjunction with `as_user` set to `false`, otherwise ignored", # noqa: E501
|
187
|
+
show=False,
|
188
|
+
advanced=True,
|
189
|
+
),
|
190
|
+
MessageTextInput(
|
191
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_icon_url",
|
192
|
+
display_name="Icon Url",
|
193
|
+
info="URL to an image to use as the icon for this message. Must be used in conjunction with `as_user` set to false, otherwise ignored", # noqa: E501
|
194
|
+
show=False,
|
195
|
+
advanced=True,
|
196
|
+
),
|
197
|
+
BoolInput(
|
198
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_link_names",
|
199
|
+
display_name="Link Names",
|
200
|
+
info="Find and link channel names and usernames.",
|
201
|
+
show=False,
|
202
|
+
advanced=True,
|
203
|
+
),
|
204
|
+
BoolInput(
|
205
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_mrkdwn",
|
206
|
+
display_name="Mrkdwn",
|
207
|
+
info="Disable Slack markup parsing by setting to `false`. Enabled by default.",
|
208
|
+
show=False,
|
209
|
+
advanced=True,
|
210
|
+
),
|
211
|
+
MessageTextInput(
|
212
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_parse",
|
213
|
+
display_name="Parse",
|
214
|
+
info="Change how messages are treated. Defaults to `none` ",
|
215
|
+
show=False,
|
216
|
+
advanced=True,
|
217
|
+
),
|
218
|
+
BoolInput(
|
219
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_reply_broadcast",
|
220
|
+
display_name="Reply Broadcast",
|
221
|
+
info="Used in conjunction with `thread_ts` and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to `false`. ", # noqa: E501
|
222
|
+
show=False,
|
223
|
+
advanced=True,
|
224
|
+
),
|
225
|
+
MessageTextInput(
|
226
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_text",
|
227
|
+
display_name="Text",
|
228
|
+
info="How this field works and whether it is required depends on other fields you use in your API call",
|
229
|
+
show=False,
|
230
|
+
),
|
231
|
+
MessageTextInput(
|
232
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_thread_ts",
|
233
|
+
display_name="Thread Ts",
|
234
|
+
info="Provide another message's `ts` value to make this message a reply. Avoid using a reply's `ts` value; use its parent instead. ", # noqa: E501
|
235
|
+
show=False,
|
236
|
+
),
|
237
|
+
BoolInput(
|
238
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_unfurl_links",
|
239
|
+
display_name="Unfurl Links",
|
240
|
+
info="Pass true to enable unfurling of primarily text-based content.",
|
241
|
+
show=False,
|
242
|
+
advanced=True,
|
243
|
+
),
|
244
|
+
BoolInput(
|
245
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_unfurl_media",
|
246
|
+
display_name="Unfurl Media",
|
247
|
+
info="Pass false to disable unfurling of media content.",
|
248
|
+
show=False,
|
249
|
+
advanced=True,
|
250
|
+
),
|
251
|
+
MessageTextInput(
|
252
|
+
name="SLACK_SENDS_A_MESSAGE_TO_A_SLACK_CHANNEL_username",
|
253
|
+
display_name="Username",
|
254
|
+
info="Set your bot's user name. Must be used in conjunction with `as_user` set to false, otherwise ignored",
|
255
|
+
show=False,
|
256
|
+
advanced=True,
|
257
|
+
),
|
258
|
+
MessageTextInput(
|
259
|
+
name="SLACK_UPDATES_A_SLACK_MESSAGE_as_user",
|
260
|
+
display_name="As User",
|
261
|
+
info="Pass true to update the message as the authed user",
|
262
|
+
show=False,
|
263
|
+
advanced=True,
|
264
|
+
),
|
265
|
+
MessageTextInput(
|
266
|
+
name="SLACK_UPDATES_A_SLACK_MESSAGE_attachments",
|
267
|
+
display_name="Attachments",
|
268
|
+
info="A JSON-based array of structured attachments, presented as a URL-encoded string. This field is required when not presenting `text`. If you don't include this field, the message's previous `attachments` will be retained. To remove previous `attachments`, include an empty array for this field. ", # noqa: E501
|
269
|
+
show=False,
|
270
|
+
advanced=True,
|
271
|
+
),
|
272
|
+
MessageTextInput(
|
273
|
+
name="SLACK_UPDATES_A_SLACK_MESSAGE_blocks",
|
274
|
+
display_name="Blocks",
|
275
|
+
info="A JSON-based array of structured blocks, presented as a URL-encoded string. If you don't include this field, the message's previous `blocks` will be retained. To remove previous `blocks`, include an empty array for this field. ", # noqa: E501
|
276
|
+
show=False,
|
277
|
+
advanced=True,
|
278
|
+
),
|
279
|
+
MessageTextInput(
|
280
|
+
name="SLACK_UPDATES_A_SLACK_MESSAGE_channel",
|
281
|
+
display_name="Channel ID",
|
282
|
+
info="Channel ID containing the message to be updated.",
|
283
|
+
show=False,
|
284
|
+
required=True,
|
285
|
+
),
|
286
|
+
MessageTextInput(
|
287
|
+
name="SLACK_UPDATES_A_SLACK_MESSAGE_link_names",
|
288
|
+
display_name="Link Names",
|
289
|
+
info="Find and link channel names and usernames. Defaults to `none`. If you do not specify a value for this field, the original value set for the message will be overwritten with the default, `none`. ", # noqa: E501
|
290
|
+
show=False,
|
291
|
+
advanced=True,
|
292
|
+
),
|
293
|
+
MessageTextInput(
|
294
|
+
name="SLACK_UPDATES_A_SLACK_MESSAGE_parse",
|
295
|
+
display_name="Parse",
|
296
|
+
info="Change how messages are treated. Defaults to `client`, unlike `chat.postMessage`. Accepts either `none` or `full`. If you do not specify a value for this field, the original value set for the message will be overwritten with the default, `client`. ", # noqa: E501
|
297
|
+
show=False,
|
298
|
+
advanced=True,
|
299
|
+
),
|
300
|
+
MessageTextInput(
|
301
|
+
name="SLACK_UPDATES_A_SLACK_MESSAGE_text",
|
302
|
+
display_name="Text",
|
303
|
+
info="New text for the message, using the default formatting rules. It's not required when presenting `blocks` or `attachments`. ", # noqa: E501
|
304
|
+
show=False,
|
305
|
+
),
|
306
|
+
MessageTextInput(
|
307
|
+
name="SLACK_UPDATES_A_SLACK_MESSAGE_ts",
|
308
|
+
display_name="Ts",
|
309
|
+
info="Timestamp of the message to be updated.",
|
310
|
+
show=False,
|
311
|
+
required=True,
|
312
|
+
),
|
313
|
+
MessageTextInput(
|
314
|
+
name="SLACK_FETCH_CONVERSATION_HISTORY_channel",
|
315
|
+
display_name="Channel ID",
|
316
|
+
info="Channel ID to fetch history for.",
|
317
|
+
show=False,
|
318
|
+
),
|
319
|
+
IntInput(
|
320
|
+
name="SLACK_FETCH_CONVERSATION_HISTORY_latest",
|
321
|
+
display_name="Latest",
|
322
|
+
info="End of time range of messages to include in results.",
|
323
|
+
show=False,
|
324
|
+
advanced=True,
|
325
|
+
),
|
326
|
+
IntInput(
|
327
|
+
name="SLACK_FETCH_CONVERSATION_HISTORY_oldest",
|
328
|
+
display_name="Oldest",
|
329
|
+
info="Start of time range of messages to include in results.",
|
330
|
+
show=False,
|
331
|
+
advanced=True,
|
332
|
+
),
|
333
|
+
BoolInput(
|
334
|
+
name="SLACK_FETCH_CONVERSATION_HISTORY_inclusive",
|
335
|
+
display_name="Inclusive",
|
336
|
+
info="Include messages with latest or oldest timestamp in results only when either timestamp is specified. ", # noqa: E501
|
337
|
+
show=False,
|
338
|
+
advanced=True,
|
339
|
+
),
|
340
|
+
IntInput(
|
341
|
+
name="SLACK_FETCH_CONVERSATION_HISTORY_limit",
|
342
|
+
display_name="Limit",
|
343
|
+
info="The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached. ", # noqa: E501
|
344
|
+
show=False,
|
345
|
+
advanced=True,
|
346
|
+
),
|
347
|
+
MessageTextInput(
|
348
|
+
name="SLACK_FETCH_CONVERSATION_HISTORY_cursor",
|
349
|
+
display_name="Cursor",
|
350
|
+
info="Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's `response_metadata`. Default value fetches the first 'page' of the collection. ", # noqa: E501
|
351
|
+
show=False,
|
352
|
+
advanced=True,
|
353
|
+
),
|
354
|
+
BoolInput(
|
355
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_as_user",
|
356
|
+
display_name="As User",
|
357
|
+
info="Pass true to post the message as the authed user, instead of as a bot. Defaults to false",
|
358
|
+
show=False,
|
359
|
+
advanced=True,
|
360
|
+
),
|
361
|
+
MessageTextInput(
|
362
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_attachments",
|
363
|
+
display_name="Attachments",
|
364
|
+
info="A JSON-based array of structured attachments, presented as a URL-encoded string. ",
|
365
|
+
show=False,
|
366
|
+
advanced=True,
|
367
|
+
),
|
368
|
+
MessageTextInput(
|
369
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_blocks",
|
370
|
+
display_name="Blocks",
|
371
|
+
info="A JSON-based array of structured blocks, presented as a URL-encoded string. ",
|
372
|
+
show=False,
|
373
|
+
advanced=True,
|
374
|
+
),
|
375
|
+
MessageTextInput(
|
376
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_channel",
|
377
|
+
display_name="Channel",
|
378
|
+
info="Channel, private group, or DM channel to send message to. Can be an encoded ID, or a name",
|
379
|
+
show=False,
|
380
|
+
required=True,
|
381
|
+
),
|
382
|
+
BoolInput(
|
383
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_link_names",
|
384
|
+
display_name="Link Names",
|
385
|
+
info="Find and link channel names and usernames.",
|
386
|
+
show=False,
|
387
|
+
advanced=True,
|
388
|
+
),
|
389
|
+
MessageTextInput(
|
390
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_parse",
|
391
|
+
display_name="Parse",
|
392
|
+
info="Change how messages are treated. Defaults to `none`",
|
393
|
+
show=False,
|
394
|
+
advanced=True,
|
395
|
+
),
|
396
|
+
MessageTextInput(
|
397
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_post_at",
|
398
|
+
display_name="Post At",
|
399
|
+
info="Unix EPOCH timestamp of time in future to send the message.",
|
400
|
+
show=False,
|
401
|
+
),
|
402
|
+
BoolInput(
|
403
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_reply_broadcast",
|
404
|
+
display_name="Reply Broadcast",
|
405
|
+
info="Used in conjunction with `thread_ts` and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to `false`. ", # noqa: E501
|
406
|
+
show=False,
|
407
|
+
advanced=True,
|
408
|
+
),
|
409
|
+
MessageTextInput(
|
410
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_text",
|
411
|
+
display_name="Text",
|
412
|
+
info="How this field works and whether it is required depends on other fields you use in your API call",
|
413
|
+
show=False,
|
414
|
+
),
|
415
|
+
IntInput(
|
416
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_thread_ts",
|
417
|
+
display_name="Thread Ts",
|
418
|
+
info="Provide another message's `ts` value to make this message a reply. Avoid using a reply's `ts` value; use its parent instead. ", # noqa: E501
|
419
|
+
show=False,
|
420
|
+
advanced=True,
|
421
|
+
),
|
422
|
+
BoolInput(
|
423
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_unfurl_links",
|
424
|
+
display_name="Unfurl Links",
|
425
|
+
info="Pass true to enable unfurling of primarily text-based content.",
|
426
|
+
show=False,
|
427
|
+
advanced=True,
|
428
|
+
),
|
429
|
+
BoolInput(
|
430
|
+
name="SLACK_SCHEDULES_A_MESSAGE_TO_A_CHANNEL_AT_A_SPECIFIED_TIME_unfurl_media",
|
431
|
+
display_name="Unfurl Media",
|
432
|
+
info="Pass false to disable unfurling of media content.",
|
433
|
+
show=False,
|
434
|
+
advanced=True,
|
435
|
+
),
|
436
|
+
BoolInput(
|
437
|
+
name="SLACK_LIST_ALL_SLACK_TEAM_CHANNELS_WITH_VARIOUS_FILTERS_exclude_archived",
|
438
|
+
display_name="Exclude Archived",
|
439
|
+
info="Set to `true` to exclude archived channels from the list",
|
440
|
+
show=False,
|
441
|
+
),
|
442
|
+
MessageTextInput(
|
443
|
+
name="SLACK_LIST_ALL_SLACK_TEAM_CHANNELS_WITH_VARIOUS_FILTERS_types",
|
444
|
+
display_name="Types",
|
445
|
+
info="Mix and match channel types by providing a comma-separated list of any combination of `public_channel`, `private_channel`, `mpim`, `im` ", # noqa: E501
|
446
|
+
show=False,
|
447
|
+
),
|
448
|
+
IntInput(
|
449
|
+
name="SLACK_LIST_ALL_SLACK_TEAM_CHANNELS_WITH_VARIOUS_FILTERS_limit",
|
450
|
+
display_name="Limit",
|
451
|
+
info="The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached. Must be an integer no larger than 1000. ", # noqa: E501
|
452
|
+
show=False,
|
453
|
+
value=1,
|
454
|
+
),
|
455
|
+
MessageTextInput(
|
456
|
+
name="SLACK_LIST_ALL_SLACK_TEAM_CHANNELS_WITH_VARIOUS_FILTERS_cursor",
|
457
|
+
display_name="Cursor",
|
458
|
+
info="Paginate through collections of data by setting the `cursor` parameter to a `next_cursor` attribute returned by a previous request's `response_metadata`. Default value fetches the first 'page' of the collection", # noqa: E501
|
459
|
+
show=False,
|
460
|
+
advanced=True,
|
461
|
+
),
|
462
|
+
IntInput(
|
463
|
+
name="SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_count",
|
464
|
+
display_name="Count",
|
465
|
+
info="Pass the number of results you want per 'page'. Maximum of `100`.",
|
466
|
+
show=False,
|
467
|
+
value=1,
|
468
|
+
advanced=True,
|
469
|
+
),
|
470
|
+
BoolInput(
|
471
|
+
name="SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_highlight",
|
472
|
+
display_name="Highlight",
|
473
|
+
info="Pass a value of `true` to enable query highlight markers",
|
474
|
+
show=False,
|
475
|
+
advanced=True,
|
476
|
+
),
|
477
|
+
IntInput(
|
478
|
+
name="SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_page",
|
479
|
+
display_name="Page",
|
480
|
+
info="Page",
|
481
|
+
show=False,
|
482
|
+
advanced=True,
|
483
|
+
),
|
484
|
+
MessageTextInput(
|
485
|
+
name="SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_query",
|
486
|
+
display_name="Query",
|
487
|
+
info="Search query.",
|
488
|
+
show=False,
|
489
|
+
required=True,
|
490
|
+
),
|
491
|
+
MessageTextInput(
|
492
|
+
name="SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_sort",
|
493
|
+
display_name="Sort",
|
494
|
+
info="Return matches sorted by either `score` or `timestamp`.",
|
495
|
+
show=False,
|
496
|
+
advanced=True,
|
497
|
+
),
|
498
|
+
MessageTextInput(
|
499
|
+
name="SLACK_SEARCH_FOR_MESSAGES_WITH_QUERY_sort_dir",
|
500
|
+
display_name="Sort Dir",
|
501
|
+
info="Change sort direction to ascending (`asc`) or descending (`desc`).",
|
502
|
+
show=False,
|
503
|
+
advanced=True,
|
504
|
+
),
|
505
|
+
MessageTextInput(
|
506
|
+
name="SLACK_CREATE_A_REMINDER_text",
|
507
|
+
display_name="Text",
|
508
|
+
info="The content of the reminder",
|
509
|
+
show=False,
|
510
|
+
required=True,
|
511
|
+
),
|
512
|
+
MessageTextInput(
|
513
|
+
name="SLACK_CREATE_A_REMINDER_time",
|
514
|
+
display_name="Time",
|
515
|
+
info="When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. 'in 15 minutes,' or 'every Thursday') ", # noqa: E501
|
516
|
+
show=False,
|
517
|
+
required=True,
|
518
|
+
),
|
519
|
+
MessageTextInput(
|
520
|
+
name="SLACK_CREATE_A_REMINDER_user",
|
521
|
+
display_name="User",
|
522
|
+
info="The user who will receive the reminder. If no user is specified, the reminder will go to user who created it. ", # noqa: E501
|
523
|
+
show=False,
|
524
|
+
),
|
525
|
+
]
|
526
|
+
|
527
|
+
def execute_action(self):
|
528
|
+
"""Execute action and return response as Message."""
|
529
|
+
try:
|
530
|
+
from composio.client.enums import Action
|
531
|
+
except ImportError:
|
532
|
+
try:
|
533
|
+
from composio import Action
|
534
|
+
except ImportError:
|
535
|
+
msg = "Composio Action class is not available. Please install composio package with correct version."
|
536
|
+
raise RuntimeError(msg) from None
|
537
|
+
|
538
|
+
toolset = self._build_wrapper()
|
539
|
+
|
540
|
+
try:
|
541
|
+
self._build_action_maps()
|
542
|
+
display_name = self.action[0]["name"] if isinstance(self.action, list) and self.action else self.action
|
543
|
+
action_key = self._display_to_key_map.get(display_name)
|
544
|
+
if not action_key:
|
545
|
+
msg = f"Invalid action: {display_name}"
|
546
|
+
raise ValueError(msg)
|
547
|
+
|
548
|
+
enum_name = getattr(Action, action_key)
|
549
|
+
params = {}
|
550
|
+
if action_key in self._actions_data:
|
551
|
+
for field in self._actions_data[action_key]["action_fields"]:
|
552
|
+
value = getattr(self, field)
|
553
|
+
|
554
|
+
if value is None or value == "":
|
555
|
+
continue
|
556
|
+
|
557
|
+
if field in self._bool_variables:
|
558
|
+
value = bool(value)
|
559
|
+
|
560
|
+
param_name = field.replace(action_key + "_", "")
|
561
|
+
|
562
|
+
if param_name == "as_user":
|
563
|
+
value = True
|
564
|
+
|
565
|
+
params[param_name] = value
|
566
|
+
|
567
|
+
result = toolset.execute_action(
|
568
|
+
action=enum_name,
|
569
|
+
params=params,
|
570
|
+
)
|
571
|
+
if not result.get("successful"):
|
572
|
+
return {"error": result.get("error", "No response")}
|
573
|
+
|
574
|
+
return result.get("data", [])
|
575
|
+
except Exception as e:
|
576
|
+
logger.error(f"Error executing action: {e}")
|
577
|
+
display_name = self.action[0]["name"] if isinstance(self.action, list) and self.action else str(self.action)
|
578
|
+
msg = f"Failed to execute {display_name}: {e!s}"
|
579
|
+
raise ValueError(msg) from e
|
580
|
+
|
581
|
+
def update_build_config(self, build_config: dict, field_value: Any, field_name: str | None = None) -> dict:
|
582
|
+
return super().update_build_config(build_config, field_value, field_name)
|
@@ -0,0 +1,11 @@
|
|
1
|
+
from lfx.base.composio.composio_base import ComposioBaseComponent
|
2
|
+
|
3
|
+
|
4
|
+
class ComposioSlackbotAPIComponent(ComposioBaseComponent):
|
5
|
+
display_name: str = "Slackbot"
|
6
|
+
icon = "Slack"
|
7
|
+
documentation: str = "https://docs.composio.dev"
|
8
|
+
app_name = "slackbot"
|
9
|
+
|
10
|
+
def set_default_tools(self):
|
11
|
+
"""Set the default tools for Slackbot component."""
|
@@ -0,0 +1,11 @@
|
|
1
|
+
from lfx.base.composio.composio_base import ComposioBaseComponent
|
2
|
+
|
3
|
+
|
4
|
+
class ComposioSupabaseAPIComponent(ComposioBaseComponent):
|
5
|
+
display_name: str = "Supabase"
|
6
|
+
icon = "Supabase"
|
7
|
+
documentation: str = "https://docs.composio.dev"
|
8
|
+
app_name = "supabase"
|
9
|
+
|
10
|
+
def set_default_tools(self):
|
11
|
+
"""Set the default tools for Supabase component."""
|
@@ -0,0 +1,11 @@
|
|
1
|
+
from lfx.base.composio.composio_base import ComposioBaseComponent
|
2
|
+
|
3
|
+
|
4
|
+
class ComposioTodoistAPIComponent(ComposioBaseComponent):
|
5
|
+
display_name: str = "Todoist"
|
6
|
+
icon = "Todoist"
|
7
|
+
documentation: str = "https://docs.composio.dev"
|
8
|
+
app_name = "todoist"
|
9
|
+
|
10
|
+
def set_default_tools(self):
|
11
|
+
"""Set the default tools for Todoist component."""
|
@@ -0,0 +1,11 @@
|
|
1
|
+
from lfx.base.composio.composio_base import ComposioBaseComponent
|
2
|
+
|
3
|
+
|
4
|
+
class ComposioYoutubeAPIComponent(ComposioBaseComponent):
|
5
|
+
display_name: str = "Youtube"
|
6
|
+
icon = "Youtube"
|
7
|
+
documentation: str = "https://docs.composio.dev"
|
8
|
+
app_name = "youtube"
|
9
|
+
|
10
|
+
def set_default_tools(self):
|
11
|
+
"""Set the default tools for Youtube component."""
|